vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.0 Full Releases (https://vborg.vbsupport.ru/forumdisplay.php?f=33)
-   -   vBa CMPS: Dynamic Navigation menu - all your Custom CMPS Pages (https://vborg.vbsupport.ru/showthread.php?t=67953)

Natch 08-02-2004 10:00 PM

vBa CMPS: Dynamic Navigation menu - all your Custom CMPS Pages
 
What this does: creates a Navigation menu (best as a left or right side block) which is populates automagically by the custom pages you have inserted into your CMPS. It should only show the user the pages that they have permissions to view.

Step 1: create and upload a new module modules/navmenu.php with the contents
PHP Code:

<?
// edit this var if you wish a custom name for your homepage link
$homepage_name = $vboptions[hometitle];
// end var editing
$nav_menus = $DB_site->query("SELECT pageid,name,title,userperms FROM " . TABLE_PREFIX . "adv_pages");
while($nav_menu = $DB_site->fetch_array($nav_menus))
{
    $title = ($nav_menu['pageid']==1) ? $homepage_name : $nav_menu['title'];
    $groupperms = explode(",",$nav_menu['userperms']);
    $membrperms = fetch_membergroupids_array($bbuserinfo);
    foreach($membrperms as $usergroup)
    {
        if(in_array($usergroup,$groupperms) && ($pagename != $nav_menu['name']))
        {
            $bgclass = exec_switch_bg(1);
            $pagename = $nav_menu['name'];
            eval('$pages_menubits .= "' . fetch_template('adv_portal_pagesmenubits') . '";');
        }
    }
}
eval('$home[$mods[\'modid\']][\'content\'] = "' . fetch_template('adv_portal_pagesmenu') . '";');
?>

Step 2: Create a new template adv_portal_pagesmenu with the contents:
Code:

<table align="center" border="0" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" class="tborder" width="100%">
<thead>
 <tr>
  <td class="tcat">
    <a style="float:$stylevar[right]" href="#top" onclick="return toggle_collapse('cmps_pagesmenu')"><img id="collapseimg_cmps_pagesmenu" src="$stylevar[imgdir_button]/collapse_thead$vbcollapse[collapseimg_cmps_pagesmenu].gif" alt="" border="0" /></a>
    <span class="smallfont"><strong>$vba_options[portal_blockbullet] Navigation</strong></span>
  </td>
 </tr>
</thead>
<tbody id="collapseobj_cmps_pagesmenu" style="$vbcollapse[collapseobj_cmps_pagesmenu];text-align:$stylevar[left]">
$pages_menubits
</tbody>
</table>
<br />

Step 3: Create a new template adv_portal_pagesmenubits with the contents:
Code:

<tr>
        <td class="$bgclass" style="text-align:right">
                <span class="smallfont">
                <!-- edit this entry to alter the index.php if your cmps portal has a different filename -->
                <a href="$vboptions[homeurl]/index.php?$session[sessionurl]<if condition="$pagename!=home">$vba_options[portal_pagevar]=$pagename</if>" title="link to $title page">$title</a>
                </span>
        </td>
</tr>

Step 4: Create a new CMPS module, with the following settings (other than the defaults):
Module Title: Page Navigation
File To Include: navmenu.php
Templates used: adv_portal_pagesmenu, adv_portal_pagesmenubits

HTH y'all :) I like it ;)

Demo <= this shows only one link available due to Guest permissions
Login with test/testicular to see the menu populate with extra pages

EDIT:// Altered the module; if you have installed this prior to now, please update the contents of your module with the edited one above.

Andreas 08-03-2004 01:24 PM

Doesn't belong to the hack but: Which journal script are you using? Looks nice :)

Natch 08-03-2004 01:37 PM

Found on www.bearfacts2.com - Boofo's site - they are working on it over there :)

OblivionKnight, sabert00the, Bane and Boofo (hope I didn't leave anyone out)

Silverdawn222 08-03-2004 01:52 PM

Loving this hack! Also, regarding the Journal hack on the site you mentioned: don't see it. Can you tell me where to look?

Natch 08-03-2004 02:41 PM

Upfdated to get rid of a small bug: if you are getting multiple instances of each item for users who are in more than one usergroup, please update your module with the module code in the first post.

Polo 08-03-2004 03:07 PM

yup, nice hack and nice journal too....

weirdpixels 08-03-2004 03:56 PM

nice hack!
*clicks install

Silverdawn222 08-03-2004 04:53 PM

Fix works, thanks. Also, I still don't see the journal. :) I know that's not what this thread is for, but I'm really wondering.

Andreas 08-03-2004 04:54 PM

@Silverdawn222
http://www.bearfacts2.com/forums/showthread.php?t=804

NuclioN 08-03-2004 05:15 PM

woow this is one step further to get a function i once mentioned...links that open content in the centerblock and in that content a respond/comment field on newsitems from external cms progs. :)


All times are GMT. The time now is 12:40 AM.

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.01016 seconds
  • Memory Usage 1,740KB
  • 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)bbcode_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (2)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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
  • pagenav_page
  • pagenav_complete
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete