PDA

View Full Version : Noob to modding 3.5 need help please


99SIVTEC
10-21-2005, 09:03 PM
This should be simple for someone who knows what they are doing. Basically i'm trying to show "active topics" from several vbulletin sites on a single page. I decided to use the sites rss feeds instead of making a search query on each database (7 sites, so server load would be high). I'm using magpie and have setup a file called scractivetopics.php. It contains everything necessary to show the rss feeds on screen. It's after this step that I am having problems. I've never created a mod for vbulletin much less 3.5 so I don't know the best way to proceed. I tried creating another php file (netactive.php) with all of the necessary vbulletin files included so I could just call a template, but i'm having issues there. Let me show you some of these files so you have an idea.

netactive.php - Vbulletin file used to call the templates

<?php

// ######################## SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// ##################### DEFINE IMPORTANT CONSTANTS #######################
// change the line below to the actual filename without ".php" extention.
// the reason for using actual filename without extention as a value of this constant is to ensure uniqueness of the value throughout every PHP file of any given vBulletin installation.

define('THIS_SCRIPT', 'netactive');

// #################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array(
// change the lines below to the list of actual templates used in the script
'netactive',

);

// pre-cache templates used by specific actions
$actiontemplates = array();

// ########################## REQUIRE BACK-END ############################
require_once('./global.php');

// #################### HARD CODE JAVASCRIPT PATHS ########################
$headinclude = str_replace('"clientscript', '"' . $vbulletin->options['bburl'] . '/clientscript', $headinclude);

// ################################################## ######################
// ######################### START MAIN SCRIPT ############################
// ################################################## ######################

$navbits = array();
// change the line below to contain whatever you want to show in the navbar (title of your custom page)
$navbits[$parent] = 'SCR Network Active Topics';

$navbits = construct_navbits($navbits);
eval('$navbar = "' . fetch_template('navbar') . '";');

// change the line below to contain the name of the actual main output template used in your script
eval('print_output("' . fetch_template('netactive') . '");');
?>



scractivetopics.php - magpie file used to read the rss feeds - I have html in here and would rather have it in a vbulletin template, but have no idea how to go about that

<?php
define("MAGPIE_CACHE_AGE", "300");
define('MAGPIE_DIR', 'magpierss/');
require_once(MAGPIE_DIR.'rss_fetch.inc');

?>

<?php

$rss = fetch_rss('http://www.xxx.net/vbulletin/external.php?type=RSS2&items=active');


echo '<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><tr><td class="thead">' . $rss->channel['title'] . '</td></tr>';



foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];

echo '<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><td width="16" class="alt1"><img src="http://www.xxx.net/vbulletin/images/statusicon/thread_new.gif"></td><td width="15" class="alt2"></td><td class="alt1"><a href="'.$item['link'].'">'.$item['title'].'</a></td></table></table>';


}
?>
<?php

$rss = fetch_rss('http://www.xxx.com/external.php?type=RSS2&items=active');


echo '<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><tr><td class="thead">' . $rss->channel['title'] . '</td></tr>';



foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];

echo '<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><td width="16" class="alt1"><img src="http://www.xxx.net/vbulletin/images/statusicon/thread_new.gif"></td><td width="15" class="alt2"></td><td class="alt1"><a href="'.$item['link'].'">'.$item['title'].'</a></td></table></table>';


}
?>

<?php

$rss = fetch_rss('http://www.xxx.com/forums/external.php?type=RSS2&items=active');


echo '<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><tr><td class="thead">' . $rss->channel['title'] . '</td></tr>';



foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];

echo '<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><td width="16" class="alt1"><img src="http://www.xxx.net/vbulletin/images/statusicon/thread_new.gif"></td><td width="15" class="alt2"></td><td class="alt1"><a href="'.$item['link'].'">'.$item['title'].'</a></td></table></table>';


}
?>

<?php

$rss = fetch_rss('http://www.xxx.com/forums/external.php?type=RSS2&items=active');


echo '<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><tr><td class="thead">' . $rss->channel['title'] . '</td></tr>';



foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];

echo '<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><td width="16" class="alt1"><img src="http://www.xxx.net/vbulletin/images/statusicon/thread_new.gif"></td><td width="15" class="alt2"></td><td class="alt1"><a href="'.$item['link'].'">'.$item['title'].'</a></td></table></table>';


}
?>

<?php

$rss = fetch_rss('http://www.xxx.com/forums/external.php?type=RSS2&items=active');


echo '<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><tr><td class="thead">' . $rss->channel['title'] . '</td></tr>';



foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];

echo '<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><td width="16" class="alt1"><img src="http://www.xxx.net/vbulletin/images/statusicon/thread_new.gif"></td><td width="15" class="alt2"></td><td class="alt1"><a href="'.$item['link'].'">'.$item['title'].'</a></td></table></table>';


}
?>

<?php

$rss = fetch_rss('http://www.xxx.com/forums/external.php?type=RSS2&items=active');


echo '<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><tr><td class="thead">' . $rss->channel['title'] . '</td></tr>';



foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];

echo '<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><td width="16" class="alt1"><img src="http://www.xxx.net/vbulletin/images/statusicon/thread_new.gif"></td><td width="15" class="alt2"></td><td class="alt1"><a href="'.$item['link'].'">'.$item['title'].'</a></td></table></table>';


}
?>

<?php

$rss = fetch_rss('http://www.xxx.com/forums/external.php?type=RSS2&items=active');


echo '<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><tr><td class="thead">' . $rss->channel['title'] . '</td></tr>';



foreach ($rss->items as $item) {
$href = $item['link'];
$title = $item['title'];

echo '<table cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center"><td width="16" class="alt1"><img src="http://www.xxx.net/vbulletin/images/statusicon/thread_new.gif"></td><td width="15" class="alt2"></td><td class="alt1"><a href="'.$item['link'].'">'.$item['title'].'</a></td></table></table>';


}
?>


netactive template from vbulletin itself

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude
<title>$vboptions[bbtitle]</title>
</head>
<body>

$header
$navbar
<table class="tborder" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" border="0" width="100%" align="center" id="threadslist">
<tr>
<td class="tcat" colspan="$threadcolspan" style="font-weight:normal">

<span class="smallfont">Network Active Topics
</span>
</td>

$scrnetactive

</tr>
</table>

$footer
</body>
</html>


I had this setup so scractivetopics.php was a plugin and could be called in a template using $scrnetactive (an include in vbulletin). I setup a custom template called netactive and inside called $scrnetactive. This worked, but my server load went through the roof because of the way I used the plugin. I had the plugin set to "global_start" so it was being called with every page. I can't think of another way to do this.

Someone please help. I'm sure it is a simple mistake, but I can't find the answers I am looking for.

Marco van Herwaarden
10-22-2005, 05:19 AM
99SIVTEC,


You are currently showing up as unlicensed. To be able to download hacks and/or receive support here at vBulletin.org, we ask you to please click here (http://members.vbulletin.com/membersupport_priority.php) (vB-germany users click here (http://members.vbulletin-germany.com/membersupport_priority.php)) and enter your email address, to show us that you are licensed.

You will need to use your customer number and password (which will be in the email you got when you paid for your license) to access that page. Please note that your email is case sensitive. The update of your account may take up to one hour.

Thank you.

99SIVTEC
10-22-2005, 11:40 AM
It expired yesterday what timing. Anyway can anyone help me on this?

Marco van Herwaarden
10-22-2005, 01:58 PM
Yup showing up nice as licensed again.

Sorry don't have the time right now to look into this, but if not solved by next week i will try to have a look.

99SIVTEC
10-22-2005, 02:59 PM
Ok, I was able to include scractivetopics.php inside of netactive.php using the regular

ob_start();
include('http://www.xxx.net/scractivetopics.php');
$scrnetactive = ob_get_contents();
ob_end_clean();

Once again, the script works BUT I would still like to get my html out of the scractivetopics.php file and into a template. If anyone could help with that and how to package it as a product, extension, whatever the heck it is.