vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   vb.org site map (https://vborg.vbsupport.ru/showthread.php?t=170898)

Boofo 02-19-2008 02:39 AM

vb.org site map
 
Is there a site map hack like the one used here on the org?

Kirk Y 02-19-2008 03:02 AM

Here's what I use Boof; sort of a frankensteined version of vB's archive:
Code:

function print_archive_forum_list($parentid = -1, $indent = '')
{
    global $vbulletin;

    $output = '';

    if (empty($vbulletin->iforumcache))
    {
        $forums = $vbulletin->db->query_read_slave("
            SELECT forumid, title, link, parentid, displayorder, title_clean, description, description_clean,
            (options & " . $vbulletin->bf_misc_forumoptions['cancontainthreads'] . ") AS cancontainthreads
            FROM " . TABLE_PREFIX . "forum AS forum
            WHERE displayorder <> 0 AND
            password = '' AND
            (options & " . $vbulletin->bf_misc_forumoptions['active'] . ")
            ORDER BY displayorder
        ");
        $vbulletin->iforumcache = array();
        while ($forum = $vbulletin->db->fetch_array($forums))
        {
            $vbulletin->iforumcache["$forum[parentid]"]["$forum[displayorder]"]["$forum[forumid]"] = $forum;
        }
        unset($forum);
        $vbulletin->db->free_result($forums);
    }
    if (is_array($vbulletin->iforumcache["$parentid"]))
    {
        foreach($vbulletin->iforumcache["$parentid"] AS $x)
        {
            foreach($x AS $forumid => $forum)
            {
                                $forum['title_clean'] = trim($forum['title_clean'], '* ');


                if (!($vbulletin->userinfo['forumpermissions']["$forumid"] & $vbulletin->bf_ugp_forumpermissions['canview']) AND ($vbulletin->forumcache["$forumid"]['showprivate'] == 1 OR (!$vbulletin->forumcache["$forumid"]['showprivate'] AND !$vbulletin->options['showprivateforums'])))
                {
                    continue;
                }
                else
                {
                    if ($forum['link'] !== '')
                    {
                        $output .= "$indent  <li> <a href=\"./external.php?forumids=$forumid\"><img src=\"./images/misc/icon_rss.gif\" border=\"0\"/></a> <a href=\"./forumdisplay.php?f=$forumid\">$forum[title_clean]</a></li>\n";
                    }
                    else if ($forum['cancontainthreads'])
                    {
                        $output .= "$indent  <li> <a href=\"./external.php?forumids=$forumid\"><img src=\"./images/misc/icon_rss.gif\" border=\"0\"/></a> <a href=\"./forumdisplay.php?f=$forumid\">$forum[title_clean]</a></li>\n";
                    }
                    else
                    {
                        $output .= "$indent  <a href=\"./forumdisplay.php?f=$forumid\" style=\"font-weight:bold;text-decoration:underline;font-size:12px;\">$forum[title_clean]</a></li>\n";
                    }
                    $output .= print_archive_forum_list($forumid, "$indent  ");
                }
            }
        }

        if (!empty($output))
        {
            if ($parentid != -1)
            {
                $output = "$indent\n$indent  <ul>\n$output$indent  </ul>\n$indent\n";
            }
            else
            {
                $output = "$indent<ul>\n$output$indent</ul>\n";
            }
        }
    }

    return $output;
}

$output .= "<div id=\"content\">\n";
$output .= print_archive_forum_list();
$output .= "</div>\n";


Boofo 02-19-2008 03:36 AM

Great! Thank you. ;)

Where do we put that? They use an info file here. I'd like to do it something like that.

Kirk Y 02-19-2008 03:38 AM

Yeah that's what I use. Just wrap an IF statement around it, ie:

Code:

if ($_REQUEST['do'] == "sitemap"){
// code above
}

Then use $output in the template.

Boofo 02-20-2008 02:42 PM

Got it working. Thank you, sir, for all the help. ;)


All times are GMT. The time now is 05:00 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.01899 seconds
  • Memory Usage 1,724KB
  • 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
  • (2)bbcode_code_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