vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Rebuilding forum permissions automatically.. (https://vborg.vbsupport.ru/showthread.php?t=242820)

cday 05-18-2010 06:40 PM

Rebuilding forum permissions automatically..
 
I need to be able to call the rebuilding forum permissions method outside of vbulletin as part of a signup script.. basically, when a user signs up, I need to create his own private forum for his group.

I got all the SQL done right .. it's inserting the proper new usergroup, permissions, forum, etc.. the problem is, the forum won't show up until I go and run the 'Rebuild Forum Permissions' on the admin end. I need it to happen automatically.

I tried chunking out the needed code in misc.php into a new file and have that be called by my script, but it's not working:

PHP Code:

<?
chdir('vb_forums');
require_once('vb_forums/global.php');
require_once('vb_forums/includes/functions_databuild.php');

    if (empty($vbulletin->GPC['perpage']))
    {
        $vbulletin->GPC['perpage'] = 100;
        $vbulletin->GPC['startat'] = 1;
    }

    $forums = $db->query_read("
        SELECT forumid
        FROM " . TABLE_PREFIX . "forum
        WHERE forumid >= " . $vbulletin->GPC['startat'] . "
        ORDER BY forumid
        LIMIT " . $vbulletin->GPC['perpage']
    );

    $finishat = $vbulletin->GPC['startat'];

    while($forum = $db->fetch_array($forums))
    {
        build_forum_counters($forum['forumid'], true);
        vbflush();

        $finishat = ($forum['forumid'] > $finishat ? $forum['forumid'] : $finishat);
    }

    $finishat++;

    if ($checkmore = $db->query_first("SELECT forumid FROM " . TABLE_PREFIX . "forum WHERE forumid >= $finishat LIMIT 1"))
    {
        // print_cp_redirect("misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=updateforum&startat=$finishat&pp=" . $vbulletin->GPC['perpage']);
        //echo "<p><a href=\"misc.php?" . $vbulletin->session->vars['sessionurl'] . "do=updateforum&amp;startat=$finishat&amp;pp=" . $vbulletin->GPC['perpage'] . "\">" . $vbphrase['click_here_to_continue_processing'] . "</a></p>";
    }
    else
    {
        unset($forumarraycache, $vbulletin->forumcache);
        build_forum_permissions();
    }
?>

Can anyone assist?

Thanks,
Chad

--------------- Added [DATE]1274212254[/DATE] at [TIME]1274212254[/TIME] ---------------

Nevermind .. after some more extensive searching here on different terms, I found I was missing an include, but it wasn't erroring out right. Leaving this thread here in case it helps anyone else in the future.

The code I used to rebuild the forum permissions automatically:

PHP Code:

chdir('vb_forums');
require_once(
'/vb_forums/global.php');
require_once(
'/vb_forums/includes/functions_databuild.php');
require_once(
'/vb_forums/includes/init.php'); // includes class_core.php
require_once('/vb_forums/includes/class_dm.php'); // for class_dm_user.php
require_once('/vb_forums/includes/class_dm_user.php'); // for user functions
require_once('/vb_forums/includes/functions.php'); // vbsetcookie etc.
require_once('/vb_forums/includes/functions_login.php'); // process login/logout
require_once('/vb_forums/includes/adminfunctions.php');      
build_forum_permissions();
?> 

Some of those includes are probably unneeded.. the adminfunctions.php one is the one I was missing and why it was breaking. It's not going to hurt to include the other ones, but if you want to experiment one by one on taking them out, (shrug) ..


All times are GMT. The time now is 06: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.01099 seconds
  • Memory Usage 1,721KB
  • 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_php_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (1)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