vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   usercp data on a custom page? (https://vborg.vbsupport.ru/showthread.php?t=319373)

khininger 07-06-2015 03:12 PM

usercp data on a custom page?
 
hi :)

i created a custom template like this, and im trying to put subscribed forums on it. once thats done i'd want to create such templates to display other usercp data as well.

i found the subscribed forums piece in usercp template:

Code:

<vb:if condition="$show['forums']">
<!-- ############## SUBSCRIBED FORUMS ##############  -->
<div class="block" id="new_subscribed_forums">
        <h2 class="blockhead">{vb:rawphrase subscribed_forums}</h2>
        <ol class="blockbody settings_form_border" id="forumlist">
                {vb:raw forumbits}
        </ol>
</div>
<!-- ############## END SUBSCRIBED FORUMS ##############  -->
</vb:if>

am putting it in my custom template, it shows a page with header/footer but no content. if i remove the first/last line - the page shows blockhead (without h2 text on it) and nothing further.

i assume i need to find that show forums conditional and adjust it, but i don't know how to do it. :confused:

any input very genuinely appreciated :)

kh99 07-06-2015 04:13 PM

You need to set $forumbits and register it to your template. You can see what's done for the usercp by looking at usercp.php, specifically the part that starts with the comment "start subscribed forums".

khininger 07-06-2015 06:18 PM

thank you very much!
trying to figure it out :)

khininger 07-19-2015 03:31 AM

thank you very much for your help, i created the custom page this way instead, all works wonderfully except for one silly thing:

the subscribed forums block is missing some css: no spacing, no padding, no borders between rows, and theres a link saying "Unsubscribe from this forum" instead of the unsubscribe image that shows on forumhome. forum icons, background, and font family/size/color are fine.

im so close yet not quite there - very much hope for your kindness in spotting the piece im missing :o

this is my template, custom_subscribed_forums:
PHP Code:

{vb:stylevar htmldoctype}
<
html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
  <
head>
    <
title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title>
    {
vb:raw headinclude}
    {
vb:raw headinclude_bottom}
  </
head>
  <
body>
    
    {
vb:raw header}
    
    {
vb:raw navbar}
    
    <
div id="pagetitle">
      <
h1>{vb:raw pagetitle}</h1>
    </
div>
    
    

<
vb:if condition="$show['forums']">
<!-- 
############## SUBSCRIBED FORUMS ##############  -->
<div class="block" id="new_subscribed_forums">
    <
h2 class="blockhead">{vb:rawphrase subscribed_forums}</h2>
    <
ol class="blockbody settings_form_border" id="forumlist">
        {
vb:raw forumbits}
    </
ol>
</
div>
<!-- 
############## END SUBSCRIBED FORUMS ##############  -->
</vb:if>

    
    {
vb:raw footer}
  </
body>
</
html

this is my page, custom-subscribed-forums.php:
PHP Code:

<?php

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

// #################### DEFINE IMPORTANT CONSTANTS #######################

define('THIS_SCRIPT''custom-subscribed-forums');
define('CSRF_PROTECTION'true);  
// change this depending on your filename

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

// get special data templates from the datastore
$specialtemplates = array(
    
'iconcache',
    
'noavatarperms',
    
'smiliecache',
    
'bbcodecache',);

// pre-cache templates used by all actions
$globaltemplates = array('custom_subscribed_forums''forumhome_subforums',
    
'forumhome_forumbit_level1_post',
    
'forumhome_forumbit_level1_nopost',
    
'forumhome_forumbit_level2_post',
    
'forumhome_forumbit_level2_nopost',
    
'forumhome_lastpostby',
    );

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

// ######################### REQUIRE BACK-END ############################
// if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line
// chdir ('/path/to/your/forums');
require_once('./global.php');
require_once(
DIR '/includes/functions_forumlist.php');
require_once(
DIR '/includes/functions_user.php');

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

if (!$vbulletin->userinfo['userid'] OR !($permissions['forumpermissions'] & $vbulletin->bf_ugp_forumpermissions['canview']))
{
    
print_no_permission();
}

$navbits construct_navbits(array('' => 'My Subscribed Forums'));
$navbar render_navbar_template($navbits);

// ###### YOUR CUSTOM CODE GOES HERE #####
$pagetitle 'My Subscribed Forums';

// ############################### start subscribed forums ###############################

// get only subscribed forums
cache_ordered_forums(10$vbulletin->userinfo['userid']);
$show['forums'] = false;
foreach (
$vbulletin->forumcache AS $forumid => $forum)
{
    if (
$forum['subscribeforumid'] != '')
    {
        
$show['forums'] = true;
    }
}
if (
$show['forums'])
{
    if (
$vbulletin->options['showmoderatorcolumn'])
    {
        
cache_moderators();
    }
    else
    {
        
cache_moderators($vbulletin->userinfo['userid']);
    }
    
fetch_last_post_array();

    
$show['collapsable_forums'] = true;
    
$forumbits construct_forum_bit(-101);

    if (
$forumshown == 1)
    {
        
$show['forums'] = true;
    }
    else
    {
        
$show['forums'] = false;
    }
}


// ###### NOW YOUR TEMPLATE IS BEING RENDERED ######

$templater vB_Template::create('custom_subscribed_forums');
$templater->register_page_templates();
$templater->register('navbar'$navbar);
$templater->register('pagetitle'$pagetitle);
$templater->register('forumbits'$forumbits);
$templater->register('forumjump'$forumjump);
print_output($templater->render());

?>


khininger 07-21-2015 06:18 PM

found it, here:

PHP Code:

<vb:if condition="$vboptions['storecssasfile']">
    {
vb:cssfile forumhome-rollup.css}
    <
vb:else />
    {
vb:cssfile forumbits.css,forumhome.css,options.css}
        </
vb:if>
    <!--[if 
lt IE 8]>{vb:cssfile forumbits-ie.css,options-ie.css}<![endif]-->
        <
vb:if condition="$show['sidebar']">
        {
vb:cssfile sidebar.css,widgets.css,tagcloud.css}
        <!--[if 
lt IE 8]>{vb:cssfile sidebar-ie.css}</vb:if><![endif]--> 



All times are GMT. The time now is 01:30 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01297 seconds
  • Memory Usage 1,777KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (3)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete