PDA

View Full Version : Help Fetching Latest Social Groups!


MarkFoster
10-17-2009, 11:35 PM
On the social groups page there's a block called "New Groups". I would like to know how I can copy the script that shows the latest social groups to use elsewhere on my site.

I alredy tried turning on debug mode and finding the template, but by copying that template notihng happens.

Is there any way to achieve what I want to do?

Lynne
10-18-2009, 03:19 PM
templates only spit out results. You can't just copy a template and get the results. You need to copy the code also. I believe the code is in the groups.php page.

MarkFoster
10-18-2009, 09:19 PM
templates only spit out results. You can't just copy a template and get the results. You need to copy the code also. I believe the code is in the groups.php page.

// Get newest groups
$newgroups = fetch_socialgroup_newest_groups(false, false, !$vbulletin->options['sg_enablesocialgroupicons']);

$newgroupbits = '';
foreach ($newgroups AS $group)
{
$group = prepare_socialgroup($group);
($hook = vBulletinHook::fetch_hook('group_newgroup_bit')) ? eval($hook) : false;
eval('$newgroupbits .= "' . fetch_template('socialgroups_newgroup_' . ($vbulletin->options['sg_enablesocialgroupicons'] ? '' : 'listview_') . 'bit') . '";');
}

// Display groups that the current user created
if ($owngroup = fetch_owner_socialgroup($vbulletin->userinfo['userid'], $vbulletin->GPC['owngrouppage']))
{
$owngroup = prepare_socialgroup($owngroup);
($hook = vBulletinHook::fetch_hook('group_newgroup_bit')) ? eval($hook) : false;
eval('$owngroup = "' . fetch_template('socialgroups_owngroup_bit') . '";');
}

What Now? :S

Lynne
10-18-2009, 10:51 PM
Copy it into the page you are making? Make sure the functions called in that code are also available for use (through a require_once statement - they may already be available, but you should check to be sure). Also make sure to cache the templates.

MarkFoster
10-19-2009, 04:02 PM
Copy it into the page you are making? Make sure the functions called in that code are also available for use (through a require_once statement - they may already be available, but you should check to be sure). Also make sure to cache the templates.

I've tried puttting it into this file several times:
<?php

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

// #################### DEFINE IMPORTANT CONSTANTS #######################
define('NO_REGISTER_GLOBALS', 1);
define('THIS_SCRIPT', 'test'); // change this depending on your filename

// ################### 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(
'TEST',
);

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

);

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

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

$navbits = array();
$navbits[$parent] = 'Zorz';

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

?>
But instead the entire page is blank. I have no knewledge when it comes to PHP. Any way somebody could help me with placing the code?

Lynne
10-19-2009, 04:48 PM
That is your page? Do you have a template named "testfornewgroups"? The template you have listed to be cached is called "TEST" - where are you using that?