vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vBulletin 3.8 Add-ons (https://vborg.vbsupport.ru/forumdisplay.php?f=235)
-   -   Administrative and Maintenance Tools - Yet Another Mass Private Message System 1.0.1 (https://vborg.vbsupport.ru/showthread.php?t=141622)

mgurain 05-04-2008 10:31 AM

very helpful hack, any update for 3.7 Gold ?

Droptop 05-04-2008 12:16 PM

Works on 3.7 Gold :up:

dutchbb 05-11-2008 10:23 AM

Quote:

Originally Posted by sybakaos (Post 1294506)
Can you add a feature to mass pm via your UserCP with:
- forced e-mail notification
- forced PM notifications popup


If not, are you perhaps considering adding a message (bb/font etc) editor in your send pm page in admincp?

Hello mtha

Can these option be added please? Would really add value to this mod imo,

Thanks

Big_Ern 05-14-2008 01:07 AM

Quote:

Originally Posted by Boofo (Post 1468268)
Then you have something else messing with this when it is installed. I just checked and mine are all still set to 0.

I tried installing it again today after upgrading to 3.7.0 and am having the same problems. I checked the users permissions and it is still set to 0 (unlimited), but when a user (admin or regular user) tries to upload an attachment (jpg or any other type) they get a message that they're over their attachment limit


edit: after disabling and re-enabling this mod via the Product manager a few time trying to figure out what's wrong it has magically started working. And I didn't even change anything:confused: Glad it works now though:up:

koxito 05-15-2008 02:13 AM

Yey! Works on 3.7 GOLD!!! must update first post! :P Proved and working xD

jdebler 05-15-2008 10:24 AM

Quote:

Originally Posted by koxito (Post 1520069)
Yey! Works on 3.7 GOLD!!! must update first post! :P Proved and working xD

That's great! But does anyone know if the problem I mentioned in post #109 of this thread has been resolved with 3.7?

GPTB 06-04-2008 02:32 PM

Are there any versions of this released for vb3.7?

Rob

Ava-Kyrillos 06-06-2008 04:19 AM

hello

tell me how to solve the pressing next page problem,
my forum is over 50.000 users
and I send the PMs for 500 users each time, so I have to click over 500 on mouse to finish all users.
I think you have the auto re-direct page to this hack

Thanks a lot
George

djbaxter 06-06-2008 11:51 AM

Quote:

Originally Posted by Ava-Kyrillos (Post 1542046)
hello

tell me how to solve the pressing next page problem,
my forum is over 50.000 users
and I send the PMs for 500 users each time, so I have to click over 500 on mouse to finish all users.
I think you have the auto re-direct page to this hack

Thanks a lot
George

Why on earth would anyone want to be sending out 50,000 PMs? Yikes! :eek:

GPTB 06-06-2008 03:51 PM

I have this installed on vB 3.7.1 but even when I ask it not to, the script appears to be sending this to all members (including those that have declined to receive Admin e-mails) - this is a serious problem.

jdebler 06-06-2008 04:21 PM

Quote:

Originally Posted by GPTB (Post 1542413)
I have this installed on vB 3.7.1 but even when I ask it not to, the script appears to be sending this to all members (including those that have declined to receive Admin e-mails) - this is a serious problem.

I agree, it is a rather serious problem. It got me in trouble with a lot of my members who specified that they didn't want to be contacted by admins that way but did anyway. I explained this problem in post #109 nearly a year ago. I offered to pay someone to fix it in post #111, gave results of my testing in post #116, reminded folks that it doesn't work in post #206. I eventually had to start looking for an alternate way to mass PM my members, or at least only the ones who want them.

I appreciate any effort by programmers here because they can do what I cannot, but if it isn't going to be supported by the author then it shouldn't say that it will be in the product information. That way, there won't be any misunderstandings.

GPTB 06-10-2008 03:46 PM

Quote:

Originally Posted by jdebler (Post 1542428)
I agree, it is a rather serious problem. It got me in trouble with a lot of my members who specified that they didn't want to be contacted by admins that way but did anyway. I explained this problem in post #109 nearly a year ago. I offered to pay someone to fix it in post #111, gave results of my testing in post #116, reminded folks that it doesn't work in post #206. I eventually had to start looking for an alternate way to mass PM my members, or at least only the ones who want them.

I appreciate any effort by programmers here because they can do what I cannot, but if it isn't going to be supported by the author then it shouldn't say that it will be in the product information. That way, there won't be any misunderstandings.

I agree.

If someone is able and willing to update this and fix this huge bug I know I would really appreciate it.

toonysnn 06-15-2008 05:25 PM

I've applied a fix and sent it to GPTB in PM. If he would like to place it here, it's fine with me.

The fix has been tested and proved working on vBulletin 3.7.1 Patch Level 1.

Boofo 06-15-2008 11:57 PM

I would also be interested in that fix.

GPTB 06-16-2008 04:06 PM

I'm happy to place it here for the benefit of the community... I did pay for this fix so if anyone feels an urge to contribute to the cost of it feel free to send me a PM.

I've tested it and it seems to work :)

Simply replace hn_masspm.php with:

Code:

<?php

/*======================================================================*\
|| #################################################################### ||
|| # Yet Another Mass Private Message System v1.0.1 by mtha          # ||
|| # ---------------------------------------------------------------- # ||
|| # For use with vBulletin Version 3.6.x                            # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| # Discussion and support available at                              # ||
|| # https://vborg.vbsupport.ru/showthread.php?t=141622          # ||
|| #################################################################### ||
\*======================================================================*/

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

// ##################### DEFINE IMPORTANT CONSTANTS #######################
define('CVS_REVISION', '$RCSfile: hn_masspm.php,v 1.0.1 by mtha - $Revision: 070310 $');

// #################### PRE-CACHE TEMPLATES AND DATA ######################
$phrasegroups = array('user', 'cpuser', 'messaging', 'cprofilefield','pm');
$specialtemplates = array();

// ########################## REQUIRE BACK-END ############################
require_once('./global.php');
require_once(DIR . '/includes/adminfunctions_profilefield.php');
require_once(DIR . '/includes/adminfunctions_user.php');

// ############################# LOG ACTION ###############################
log_admin_action();

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

print_cp_header($vbphrase['hn_masspm_pm_manager']);

 // ##################### Start ##########################
if (empty($_REQUEST['do']))
{
    $_REQUEST['do'] = 'start';
}

// ###################### Send Mass PM ########################
if ($_REQUEST['do'] == 'dosendpm')
{
    $vbulletin->input->clean_array_gpc('p', array(
        'user'              => TYPE_ARRAY,
        'profile'          => TYPE_ARRAY,
        'serializeduser'    => TYPE_STR,
        'serializedprofile' => TYPE_STR,
        'septext'          => TYPE_NOTRIM,
        'perpage'          => TYPE_UINT,
        'startat'          => TYPE_UINT,
        'test'              => TYPE_BOOL,
        'receipt'                        => TYPE_BOOL,
        'savecopy'                    => TYPE_BOOL,
        'allowsmilie'                => TYPE_BOOL,
        'from'              => TYPE_STR,
        'fromuserid'                => TYPE_UINT,
        'subject'          => TYPE_STR,
        'message'          => TYPE_STR,
        'overridereceivepm'    => TYPE_BOOL,
    ));

//    require_once(DIR . '/includes/functions_misc.php');

    $message = $vbulletin->GPC['message'];
    $subject = $vbulletin->GPC['subject'];

    if (trim($subject) == '' || trim($message) == '')
    {
        print_stop_message('nosubject');
    }

    if ($vbulletin->GPC['fromuserid'])
    {
        $fromuser = $db->query_first("
                    SELECT userid,username
                    FROM " . TABLE_PREFIX . "user AS user
                    WHERE user.userid = " . $vbulletin->GPC['fromuserid']
                    );
    }

    if (!$fromuser)
    {
        $fromuser['userid'] = $vbulletin->userinfo['userid'];
        $fromuser['username'] = $vbulletin->userinfo['username'];
    }

    if (!empty($vbulletin->GPC['serializeduser']))
    {
        $vbulletin->GPC['user'] = @unserialize($vbulletin->GPC['serializeduser']);
        $vbulletin->GPC['profile'] = @unserialize($vbulletin->GPC['serializedprofile']);
    }

    $condition = fetch_user_search_sql($vbulletin->GPC['user'], $vbulletin->GPC['profile']);
    if (!$condition)
    {
        $condition = ' 1=1 ';
    }

    $finalcondition = "
        $condition "
        . iif($vbulletin->GPC['overridereceivepm'], "", " AND (options & " . $vbulletin->bf_misc_useroptions['receivepm'] . ")") . "
        AND user.email <> ''
        " . iif(!$vbulletin->GPC['user']['adminemail'], " AND (options & " . $vbulletin->bf_misc_useroptions['adminemail'] . ")");

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

    @set_time_limit(0);

    $counter = $db->query_first("
            SELECT COUNT(*) AS total
            FROM " . TABLE_PREFIX . "user AS user
            LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON (userfield.userid = user.userid)
            LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON (usertextfield.userid = user.userid)
            WHERE $finalcondition
            ");

    if ($counter['total'] == 0)
    {
        print_stop_message('no_users_matched_your_query');
    }
    else
    {
        $users = $db->query_read("
                SELECT user.userid, user.usergroupid, user.username, user.email, user.joindate,
                    useractivation.activationid
                FROM " . TABLE_PREFIX . "user AS user
                LEFT JOIN " . TABLE_PREFIX . "userfield AS userfield ON (userfield.userid = user.userid)
                LEFT JOIN " . TABLE_PREFIX . "usertextfield AS usertextfield ON (usertextfield.userid = user.userid)
                LEFT JOIN " . TABLE_PREFIX . "useractivation AS useractivation ON (useractivation.userid = user.userid AND useractivation.type = 0)
                WHERE $finalcondition
                ORDER BY userid
                LIMIT " . $vbulletin->GPC['startat'] . ", " . $vbulletin->GPC['perpage'] . "
                ");
        if ($db->num_rows($users))
        {
            $page = $vbulletin->GPC['startat'] / $vbulletin->GPC['perpage'] + 1;
            $totalpages = ceil($counter['total'] / $vbulletin->GPC['perpage']);
            echo '<p><b>' . $vbphrase['hn_masspm_PMing'] . ' <br />' . construct_phrase($vbphrase['showing_users_x_to_y_of_z'], vb_number_format($vbulletin->GPC['startat'] + 1), iif ($vbulletin->GPC['startat'] + $vbulletin->GPC['perpage'] > $counter['total'], vb_number_format($counter['total']), vb_number_format($vbulletin->GPC['startat'] + $vbulletin->GPC['perpage'])), vb_number_format($counter['total'])) . '</b></p>';
            vbflush();
   
            $recipients = array();
            while ($user = $db->fetch_array($users))
            {
                    $recipients[] = unhtmlspecialchars($user['username']);
//                    $recipients[] = html_entity_decode($user['username']);
            }
   
            if (empty($recipients))
            {
                $pmusers = '';
            }
            else
            {
                $pmusers = implode(' ; ', $recipients);
            }

            echo "\n $pmusers \n";
   
            // create the DM to do error checking and insert the new PM
            $botpermissions['adminpermissions'] = 2;

            $pmdm =& datamanager_init('PM', $vbulletin, ERRTYPE_SILENT);
            $pmdm->overridequota = true;
            $pmdm->set('fromuserid', $fromuser['userid']);
            $pmdm->set('fromusername', $fromuser['username']);
            $pmdm->set_info('receipt', $vbulletin->GPC['receipt']);            //false   
            $pmdm->set_info('savecopy', $vbulletin->GPC['savecopy']);    //false
            $pmdm->set('allowsmilie', $vbulletin->GPC['allowsmilie']);    //true
            $pmdm->set('title', $subject);
            $pmdm->set('message', $message);
            $pmdm->set_recipients($pmusers, $botpermissions);
            $pmdm->set('dateline', TIMENOW);
   
            $pmdm->pre_save();
            if (empty($pmdm->errors))
            {
                if (!$vbulletin->GPC['test'])
                {
                    $pmdm->save();
                    echo "<hr><b>$vbphrase[hn_masspm_noerror_sent]</b><hr>";
                }
                else
                {
                    echo "<hr><b>$vbphrase[hn_masspm_noerror_test]</b><hr>";
                }
            }
            else
            {
                echo "<hr><b><font color=red>$vbphrase[hn_masspm_error_nopmsent]:</font></b><pre>";
                print_r($pmdm->errors);
                echo "</pre><hr> ";
            }
            unset($pmdm);
            vbflush();
   
            $_REQUEST['do'] = 'donext';
        }
        else
        {
            define('CP_REDIRECT', 'hn_masspm.php?' . $vbulletin->session->vars['sessionurl']);
            print_stop_message('hn_masspm_sent_successfully');
        }
    }
}


// *************************** Link to next page of PMs to send **********************
if ($_REQUEST['do'] == 'donext')
{
    $vbulletin->GPC['startat'] += $vbulletin->GPC['perpage'];

    print_form_header('hn_masspm', 'dosendpm');
    construct_hidden_code('test', $vbulletin->GPC['test']);
//    construct_hidden_code( 'receipt', $vbulletin->GPC['receipt']);
//    construct_hidden_code( 'savecopy', $vbulletin->GPC['savecopy']);
    construct_hidden_code('allowsmilie', $vbulletin->GPC['allowsmilie']);

    construct_hidden_code('serializeduser', serialize($vbulletin->GPC['user']));
    construct_hidden_code('serializedprofile', serialize($vbulletin->GPC['profile']));
    construct_hidden_code('fromuserid', $vbulletin->GPC['fromuserid']);
    construct_hidden_code('subject', $vbulletin->GPC['subject']);
    construct_hidden_code('message', $vbulletin->GPC['message']);
    construct_hidden_code('startat', $vbulletin->GPC['startat']);
    construct_hidden_code('perpage', $vbulletin->GPC['perpage']);
    construct_hidden_code('overridereceivepm', $vbulletin->GPC['overridereceivepm']);
    print_submit_row($vbphrase['next_page'], 0);
//    print_cp_redirect('',2);
}

// ###################### Send PM ########################
if ($_REQUEST['do'] == 'start')
{   
?>
<script type="text/javascript">
function check_all_usergroups(formobj, toggle_status)
{
    for (var i = 0; i < formobj.elements.length; i++)
    {
        var elm = formobj.elements[i];
        if (elm.type == "checkbox" && elm.name == 'user[usergroupid][]')
        {
            elm.checked = toggle_status;
        }
    }
}
</script>
<?php
    print_form_header('hn_masspm', 'dosendpm');
    print_table_header($vbphrase['hn_masspm_pm_manager']);
    print_yes_no_row($vbphrase['hn_masspm_test_pm_only'], 'test', 0);

//    print_yes_no_row($vbphrase['request_receipt_for_message'], 'receipt', 0);                // Doesnt work for BCC
//    print_yes_no_row($vbphrase['save_copy_in_sent_items_folder'], 'savecopy', 0);        // NOT RECOMMENDED
    print_yes_no_row($vbphrase['allow_smilies'], 'allowsmilie', 1);

    print_yes_no_row($vbphrase['hn_masspm_overridereceivepm'],'overridereceivepm', 0);
    print_input_row($vbphrase['hn_masspm_pm_to_send_at_once'], 'perpage', 500);
    print_input_row($vbphrase['from'] . " " . $vbphrase['userid'], 'fromuserid', $vbulletin->userinfo['userid']);
    print_input_row($vbphrase['subject'], 'subject');
    print_textarea_row($vbphrase['hn_masspm_message'], 'message', '', 10, 50);

    print_table_break();
    print_table_header($vbphrase['search_criteria']);
    print_user_search_rows(true);

    print_table_break();
    print_submit_row($vbphrase['send']);
}
print_cp_footer();
?>


Boofo 06-16-2008 08:18 PM

Cam you give us an idea of what portion of the code was changed?

GPTB 06-16-2008 08:27 PM

You'd have to ask toonysnn - I don't know. Would be interested to know though.

toonysnn 06-18-2008 09:58 PM

This section was changed:
PHP Code:

    $finalcondition "
        
$condition "
         
iif($vbulletin->GPC['overridereceivepm'], """ AND (options & " $vbulletin->bf_misc_useroptions['receivepm'] . ")") . "
        AND user.email <> ''
        " 
iif(!$vbulletin->GPC['user']['adminemail'], " AND (options & " $vbulletin->bf_misc_useroptions['adminemail'] . ")"); 


KURTZ 06-21-2008 09:23 AM

Billy, why you don't release this for the 3.7.x version?

logicuk 06-21-2008 09:34 AM

Quote:

Originally Posted by KURTZ (Post 1555286)
Billy, why you don't release this for the 3.7.x version?


i 2nd that :D

tekram 06-28-2008 07:01 AM

Great Thx for the Fix

dutchbb 06-28-2008 08:33 AM

@mtha : Can you add email notification for every member, so they know they have a PM?

Some older mass PM hack had this and it really helped getting traffic to the forum.

I can donate for this to be added to the public release, thank you for the consideration.

jkcerda 07-24-2008 03:27 PM

be nice if it would work for3.7.0

EagleNick 08-07-2008 03:39 PM

Quote:

Originally Posted by jkcerda (Post 1583184)
be nice if it would work for3.7.0

It does. Read post #215

redbrad0 08-07-2008 06:11 PM

mtha, I see your home page is ou.edu are you here in Oklahoma? I live in Oklahoma City.

redbrad0 08-07-2008 06:13 PM

This forum has 15 pages, so sorry if this has been talked about before.

mytha, I beleive that a great addition to your mass pm's is to have a check box if the user should be emailed about the PM or not. If you have a very large forum, you might not want to email all members saying they have a PM but if you have a small list you might want to email all members.

Just something to think about.

Goomzee 09-04-2008 05:48 AM

Is this Mod work for 3.7.

Flying Girl 09-04-2008 06:43 AM

Hello,

I install it . but when I click " Send PM to All "

it shows :

Sorry, missing.
The page /vb/quoing/hn_masspm.php?do=start could not be located on this server.
Please contact the domain owner below if you feel you have gotten this page in error.

Please help

yotsume 09-06-2008 09:10 AM

again the same question does this work with vb 3.7

Please a reply. THANKS!

thebassman 09-09-2008 08:52 PM

Just installed on 3.7.2 and it works fine. Email notifications works as well (in the sense that people that want email notifications of PMs receive them).

yotsume 09-09-2008 10:06 PM

Installed on vb3.7.3 and no problems so far!

yotsume 09-09-2008 10:25 PM

Is there a way we can add the vb editor to the interface of sending out the PMs to users?

Also, if you put the full url in the PM message body it will not be a clickable link when user receives it in the PM. However it seems to be a link in the email that is sent to the user. Can this be fixed so that urls that we type are converted to clickable links when they view the PM on the web?

I really need that!

thebassman 09-09-2008 11:12 PM

Quote:

Originally Posted by yotsume (Post 1618553)
Is there a way we can add the vb editor to the interface of sending out the PMs to users?

Also, if you put the full url in the PM message body it will not be a clickable link when user receives it in the PM. However it seems to be a link in the email that is sent to the user. Can this be fixed so that urls that we type are converted to clickable links when they view the PM on the web?

I really need that!

Just use the BBCode
[url=http://www.url.com]www.url.com[/url].
;)

yotsume 09-10-2008 04:48 AM

Yea I get how to use a BB code but this is called ugly code. I want to make a link just like in th reply here such as click here: Nice Non Ugly Link

The PM interface is nice for filtering who you want to receive messages but this mod just lacks in the editor department. So my request to bring this hack to the next level is to pull in an editor please.

I have added a direct link to this in my admin only quick moderation block to save time reaching this function. On my board I use the PM User System often to reach out to our thousands and growing members.

So any chance you can add in an editor that is standard in VB already? Just doing it all code way to style the PMs is a severe waste of time. I have been opening my normal PM editor in VB typing a styled message then switching to code view, copying into your hacks message window. This looks great in the receivers PM but in the emails sent to them some of the code shows though.

Lets all chant together...

ADD AN EDITOR
ADD AN EDITOR!
PLEASE!!! :D

You can start a new website then called: www.PimpMyPMBaby.com

DOH! :up:

Luis Larios 09-16-2008 12:08 AM

Hey Yotsume, just use the editor at any part of the forum and copy-paste the code!

yotsume 09-16-2008 02:12 AM

I did but the urls dont work nice that way in emails. The BB code that was posted is by far the best! But really this needs a editor just like in normal PMs. ;)

thebassman 09-16-2008 02:21 AM

If it's a long PM, you could always just compose it, but not actually post it, on your forums, then copy and paste into the AdminCP.

Digital Jedi 09-17-2008 07:14 PM

Quote:

Originally Posted by yotsume (Post 1618735)
Yea I get how to use a BB code but this is called ugly code. I want to make a link just like in th reply here such as click here: Nice Non Ugly Link

You can still do that with BBCode:

[URL=http://www.nowherereal.com]Nice Non Ugly Link[/URL]

yotsume 09-18-2008 01:12 AM

Title of PM Here
Tag Line Here

Quote:

Some PM message would go here that means something to other people. Just random text here from now on. Biu With a read editor it takes me two seconds to center, bold, font size etc. BB code for style sucks and this mod is missing one thing in its interface.... AN EDITOR!
How ya going to do even these simple style modifications with no editor intergrated with this mod. SUPER WASTE OF TIME TO JUST USE CODE!

I can make PMs that have style. With your mod here there is no nice way to style the PMs. So once again ill try and make ya understand I know how to use BB code. Its still the ugly way to do things. Someone take this mod to the next level and add in the editor that is already in place for PMs in the first place.

MY SUGGESTION REMAINS UNCHANGED!
Anyway having an editor integrated with this mod remains my suggestion for the people who just aren't following along. Right now there is no editor interface so you have to do everything the longer way to style your PMs here.



Digital Jedi 09-18-2008 01:26 AM

Quote:

Originally Posted by yotsume (Post 1624481)
Title of PM Here
Tag Line Here



How ya going to do even these simple style modifications with no editor intergrated with this mod. SUPER WASTE OF TIME TO JUST USE CODE!

I can make PMs that have style. With your mod here there is no nice way to style the PMs. So once again ill try and make ya understand I know how to use BB code. Its still the ugly way to do things. Someone take this mod to the next level and add in the editor that is already in place for PMs in the first place.

MY SUGGESTION REMAINS UNCHANGED!
Anyway having an editor integrated with this mod remains my suggestion for the people who just aren't following along. Right now there is no editor interface so you have to do everything the longer way to style your PMs here.



You know, you could have just said you wanted an Advanced Editor in the first place.


All times are GMT. The time now is 11:01 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.02020 seconds
  • Memory Usage 1,899KB
  • 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
  • (1)bbcode_php_printable
  • (12)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (40)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