Go Back   vb.org Archive > vBulletin Modifications > vBulletin 4.x Modifications > vBulletin 4.x Add-ons

Reply
 
Thread Tools
AMP Quick Auto Tagger Details »»
AMP Quick Auto Tagger
Version: 2.0.1, by testbot testbot is offline
Developer Last Online: Nov 2018 Show Printable Version Email this Page

Category: New Posting Features - Version: 4.1.0 Rating:
Released: 02-09-2010 Last Update: 02-18-2011 Installs: 325
Uses Plugins Auto-Templates
Additional Files Translations Is in Beta Stage  
No support by the author.

*Please mark installed, rate, and nominate!*

AMP Quick Auto Tagger
(Online tested on 4.01 and 4.1.2)

New in version 2.0.1!
The ability to remove all numbers
The ability to add other languages (this has not been tested very well because I am not bi-lingual)
CRON JOB TO ADD TAGS TO ALL THREADS OR PAST THREADS!
Automatically removes the default VB Badword tags and bad search tags (Remember to remove the default example keywords after installation).
Added Goodwods - These words are added to every tag during post and cron.

Description
After a user types a title this modification will automatically take keywords from the thread title and add them as tags with no database queries or modifications

This is designed to be faster due to it's simplicity. It takes the title, runs it against the badword filter, cleans it up using regex and then adds it to the tag field instantly. The user has the option to add or remove tags before they submit the thread.

Installation / Upgrade
IF UPDATING REMOVE PREVIOUS VERSION FIRST. If you have a large number of "Bad Words" save them before uninstalling.
Download and extract AMP Auto Tagger_2.0.1.zip
Upload all files in UPLOAD folder to the root of the forum
Import the product product-amp_tagger_2.0.1.xml
Enable and configure AdminCP>Options>AMP Auto Tagger

To Do (Future Releases)
[S]Make better regex. (DONE!)
Create Cron Job. (DONE!)[/S]
Add better support for multi-language.

Tip
Don't add two letter words to the badword filter. The auto tagger already limits the tags to three characters or more. Not only is it pointless but I also get strange results when having only two letter words.
If you enable 'CRON: Purge ALL Tags' only enable it once, run the scheduled task/cron and then disable it. Otherwise, it will delete and readd all tags every time the cron runs and your forum will take a performance hit.

Demo
You can create threads in the following forum to test it out. Sorry but you have to create an account to post on our board.
http://forum.ampprod.com/forumdispla...To-and-Support

Version History
1.0.0 (02/09/2010) - First Release
1.0.1 (02/10/2010) - Fix IE Bug
2.0.0 (02/17/2011) - Added Cron to tag old threads, updated regex, added goodwords, updated option settings to remove numbers and add languages.
2.0.1 (02/18/2010) - Fixed vbflush in cron and admincp badwords

Download Now

File Type: zip AMP Auto Tagger_2.0.1.zip (6.7 KB, 1433 views)

Screenshots

File Type: jpg NewThreadTaggs.jpg (146.8 KB, 0 views)
File Type: png amp_autotagger_cp.png (120.0 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
Благодарность от:
nacaruncr

Comments
  #142  
Old 01-16-2011, 05:01 PM
testbot testbot is offline
 
Join Date: Feb 2009
Posts: 373
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So I took two weeks vacation/holiday so I'll have plenty of time to get everything upgraded.

After reading this thread and looking over that other auto tag mod I decided that I'll be upgrading some of my forums to the latest vb version and doing some tests on both mods. If that other mod works better, I will discontinue development on this mod. There's no sense in having two mods do the same thing. The other one looks more advance so it might be better to use that one. If not I will continue development on this one.

Once I do the upgrades I will report back here and post my findings. Hopefully we find a single solution that works best for everyone.

Thank you all!
Reply With Quote
  #143  
Old 01-16-2011, 07:09 PM
ShackMaster ShackMaster is offline
 
Join Date: Apr 2006
Posts: 252
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I was unable to get the other one working for me.

This one works, but it has a few issues... such as trying to add single letters as tags. It also does not add tags to old threads.
Reply With Quote
  #144  
Old 01-16-2011, 11:32 PM
SEW810's Avatar
SEW810 SEW810 is offline
 
Join Date: Mar 2008
Location: M?xico City
Posts: 274
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Installed
Working on vBulletin 4.1.1
Translated into Spanish
Attached Files
File Type: zip product-amp_tagger101_spanish.zip (1.6 KB, 19 views)
Reply With Quote
  #145  
Old 02-06-2011, 03:59 AM
zacs2k zacs2k is offline
 
Join Date: Dec 2010
Posts: 17
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

installed on 4.1.1, works great
Reply With Quote
  #146  
Old 02-09-2011, 09:37 PM
testbot testbot is offline
 
Join Date: Feb 2009
Posts: 373
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quick update... I'm working on this right now.

I hope to have the following issues resolved:
1. Partial words such as "sniper" turning to "sni"
2. Conflicts with other mods (i think i have this sorted already - i just have to test it now)
3. Cron jobs to tag past threads
4. Good words (tags that can be added to every thread)
5. Integration with the current vbulletin stop words
6. Filter numbers option (this will be a check box to disable numbers in tags)

The one thing I can't do is make other languages work. There's just too many languages and special characters. I only know english. I'm sorry for that. One solution that I'm debating is a field in the options to allow the addition of alphabets but I'm not sure how that will work. More research is needed before I can add that. Until then, people are welcome to continue porting it over to other languages.
Reply With Quote
  #147  
Old 02-09-2011, 11:00 PM
ShackMaster ShackMaster is offline
 
Join Date: Apr 2006
Posts: 252
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Thanks for the update and I look forward to its release.
Reply With Quote
  #148  
Old 02-11-2011, 09:58 AM
Budget101 Budget101 is offline
 
Join Date: Jul 2008
Posts: 331
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

unable to get it to do anything after enabling on a clean install test board, uninstalled.
Reply With Quote
  #149  
Old 02-11-2011, 04:28 PM
testbot testbot is offline
 
Join Date: Feb 2009
Posts: 373
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

All of the above is fixed. Just working on the cron jobs now.
Reply With Quote
  #150  
Old 02-12-2011, 10:14 AM
jeleven jeleven is offline
 
Join Date: Jun 2010
Posts: 2
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

english version is worked on VB4.0.8 fine
I twice tried to configure script to recognize the Russian language but both of my attempts were unsuccessful
1 attempt ( not working ) on importing write me eror on 23 string ( I can not understand where the error )
PHP Code:
<?xml version="1.0" encoding="UTF-8"?>

<product productid="amp_tagger" active="1">
    <title>AMP Auto Tagger</title>
    <description>Automaticly Tags Threads with Titles</description>
    <version>1.0.1</version>
    <url>https://vborg.vbsupport.ru/showthread.php?t=235469</url>
    <versioncheckurl><![CDATA[https://vborg.vbsupport.ru/misc.php?do=productcheck&pid=amp_autotag]]></versioncheckurl>
    <dependencies>
    </dependencies>
    <codes>
    </codes>
    <templates>
    </templates>
    <stylevardfns>
    </stylevardfns>
    <stylevars>
    </stylevars>
    <plugins>
        <plugin active="1" executionorder="5">
            <title>AMP Auto Tagger</title>
            <hookname>parse_templates</hookname>
            <phpcode><![CDATA[if ($vbulletin->options['amp_auto_tagger_enabled'] && THIS_SCRIPT == 'newthread'){    
    $taggerbadwords = str_replace(" ","",$vbulletin->options["amptaggerbadwords"]);
    $taggerbadwords = str_replace(",","\b|",$vbulletin->options["amptaggerbadwords"]);
    //$taggerbadwords = str_replace(" ","\b|",$vbulletin->options["badwords"]);
    
    $tagscript = '<script type="text/javascript">

function removeAccents(strAccents){ 
    strAccents = strAccents.split(""); 
    strAccentsOut = new Array(); 
    strAccentsLen = strAccents.length; 
    var accents = 

"АаБбВвГгДдЕеЁёЖжЗзИиЙиКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЭэЮюЯя"; 
    var accentsOut = 

["A","A","A","A","A","A","a","a","a","a","a","a","O","O","O","O","O","O","O"

,"o","o","o","o","o","o","E","E","E","E","e","e","e","e","e","C","c","D","I"

,"I","I","I","i","i","i","i","U","U","U","U","u","u","u","u","N","n","S","s"

,"Y","y","y","Z","z"]; 
    for (var y = 0; y < strAccentsLen; y++) { 
        if (accents.indexOf(strAccents[y]) != -1) { 
            strAccentsOut[y] = accentsOut[accents.indexOf(strAccents[y])]; 
        } 
        else 
            strAccentsOut[y] = strAccents[y]; 
    } 
    strAccentsOut = strAccentsOut.join(""); 
    return strAccentsOut; 


            function filterText(sText) {
                var reBadWords = /'.$taggerbadwords.'\b/gi;
                return sText.replace(reBadWords, "");
            }
            function ltrim(str){ 
                return str.replace(/^[ ]+/, ""); 
            } 
            function rtrim(str){ 
                return str.replace(/[ ]+$/, ""); 
            }             
            function trim(str){ 
                return ltrim(rtrim(str)); 
            } 

                        
            function updateTagger(){
                var subject = document.vbform.subject.value.replace(/[^a-zA-Z 0-9АаБбВвГгДдЕеЁёЖжЗзИиЙиКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЬьЭэЮюЯя]+/gi,"");
                subject = removeAccents(subject);
                                subject = subject.replace(/(\b(\w{1,3})\b(\s|$))|(\b(\w{19,})\b(\s|$));,./g," ");
                


                var newtaglist = filterText(subject);
                newtaglist = trim(newtaglist);
                newtaglist = newtaglist.replace(/\s+/g," ");
                
                document.vbform.taglist.value = newtaglist.replace(/ /gi,",");
            }
            </script>';

    $tagscript2 = 'onBlur="updateTagger()"';
    $search = 'name="subject" id="subject"';
    $replace = 'name="subject" id="subject" '.$tagscript2;
    $vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']);
    $search = '<form class="vbform block"';
    $replace = $tagscript.'<form class="vbform block"';
    $vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']); 
}]]></phpcode>
        </plugin>
    </plugins>
    <phrases>
        <phrasetype name="vBulletin Settings" fieldname="vbsettings">
            <phrase name="setting_amp_auto_tagger_enabled_desc" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enable AMP Auto Tagger]]></phrase>
            <phrase name="setting_amp_auto_tagger_enabled_title" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enabled]]></phrase>
            <phrase name="setting_amptaggerbadwords_desc" date="1265776198" username="Brock Strongo" version="1"><![CDATA[Enter a list of bad words separated by comas.

For best results, leave out spaces and words shorter than three characters long.  It already filters words shorter than three words anyway.]]></phrase>
            <phrase name="setting_amptaggerbadwords_title" date="1265776198" username="Brock Strongo" version="1"><![CDATA[AMP Tagger Bad Words]]></phrase>
            <phrase name="settinggroup_amp_tagger" date="1265763113" username="Brock Strongo" version="1"><![CDATA[AMP Auto Tagger]]></phrase>
        </phrasetype>
    </phrases>
    <options>
        <settinggroup name="amp_tagger" displayorder="65535">
            <setting varname="amp_auto_tagger_enabled" displayorder="10">
                <datatype>free</datatype>
                <optioncode>yesno</optioncode>
            </setting>
            <setting varname="amptaggerbadwords" displayorder="20">
                <datatype>free</datatype>
                <optioncode>textarea</optioncode>
                <defaultvalue>all,and,any,are,but,can,con,cry,due,etc,few,for,get,had,has,her,him,his,how,inc,its,ltd,may,nor,not,now,off,one,our,out,own,per,put,see,she,six,ten,the,too,top,two,via,was,who,why,yet,you,also,back,been,bill,both,call,cant,done,down,each,else,even,ever,fify,fill,find,fire,five,four,from,full,give,have,here,hers,into,keep,last,less,made,many,mill,mine,more,most,move,much,must,name,next,nine,none,once,only,onto,ours,over,part,same,seem,show,side,some,such,take,than,that,them,then,they,thin,this,thru,thus,upon,very,well,were,what,when,whom,will,with,your,about,above,after,again,alone,along,among,being,below,could,eight,empty,every,first,forty,found,front,hasnt,hence,least,might,never,noone,often,other,seems,since,sixty,still,their,there,these,thick,third,those,three,under,until,where,which,while,whole,whose,would,yours,across,almost,always,amount,anyhow,anyone,anyway,around,became,become,before,behind,beside,beyond,bottom,cannot,detail,during,either,eleven,enough,except,former,hereby,herein,indeed,itself,latter,mostly,myself,namely,nobody,others,please,rather,seemed,should,system,thence,though,toward,twelve,twenty,whence,within,against,already,amongst,another,because,becomes,besides,between,couldnt,fifteen,further,herself,himself,however,hundred,neither,nothing,nowhere,perhaps,seeming,serious,several,sincere,somehow,someone,thereby,therein,through,towards,whereas,whereby,wherein,whether,whither,whoever,without,although,amoungst,anything,anywhere,becoming,computer,describe,everyone,formerly,hereupon,interest,latterly,moreover,sometime,together,whatever,whenever,wherever,yourself,elsewhere,hereafter,meanwhile,otherwise,ourselves,something,sometimes,somewhere,therefore,thereupon,whereupon,afterwards,beforehand,everything,everywhere,themselves,thereafter,throughout,whereafter,yourselves,nevertheless,dont</defaultvalue>
            </setting>
        </settinggroup>
    </options>
    <helptopics>
    </helptopics>
    <cronentries>
    </cronentries>
    <faqentries>
    </faqentries>
</product>
2 second attempt
PHP Code:
<?xml version="1.0" encoding="UTF-8"?>

<product productid="amp_tagger" active="1">
    <title>AMP Auto Tagger</title>
    <description>Automaticly Tags Threads with Titles</description>
    <version>1.0.1</version>
    <url>https://vborg.vbsupport.ru/showthread.php?t=235469</url>
    <versioncheckurl><![CDATA[https://vborg.vbsupport.ru/misc.php?do=productcheck&pid=amp_autotag]]></versioncheckurl>
    <dependencies>
    </dependencies>
    <codes>
    </codes>
    <templates>
    </templates>
    <stylevardfns>
    </stylevardfns>
    <stylevars>
    </stylevars>
    <plugins>
        <plugin active="1" executionorder="5">
            <title>AMP Auto Tagger</title>
            <hookname>parse_templates</hookname>
            <phpcode><![CDATA[if ($vbulletin->options['amp_auto_tagger_enabled'] && THIS_SCRIPT == 'newthread'){    
    $taggerbadwords = str_replace(" ","",$vbulletin->options["amptaggerbadwords"]);
    $taggerbadwords = str_replace(",","\b|",$vbulletin->options["amptaggerbadwords"]);
    //$taggerbadwords = str_replace(" ","\b|",$vbulletin->options["badwords"]);
    
    $tagscript = '<script type="text/javascript">
            function filterText(sText) {
                var reBadWords = /'.$taggerbadwords.'\b/gi;
                return sText.replace(reBadWords, "");
            }
            function ltrim(str){ 
                return str.replace(/^[ ]+/, ""); 
            } 
            function rtrim(str){ 
                return str.replace(/[ ]+$/, ""); 
            }             
            function trim(str){ 
                return ltrim(rtrim(str)); 
            } 
            function updateTagger(){
                var subject = document.vbform.subject.value.replace(/[^[a-zA-Z0-9_\\u0430-\\u042F]+/gi,"");
                subject = subject.replace(/(\b(\w{1,2})\b(\s|$))|(\b(\w{19,})\b(\s|$))/g,"");
                var newtaglist = filterText(subject);
                newtaglist = trim(newtaglist);
                newtaglist = newtaglist.replace(/\s+/g," ");
                document.vbform.taglist.value = newtaglist.replace(/ /gi,",");
            }
            </script>';

    $tagscript2 = 'onBlur="updateTagger()"';
    $search = 'name="subject" id="subject"';
    $replace = 'name="subject" id="subject" '.$tagscript2;
    $vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']);
    $search = '<form class="vbform block"';
    $replace = $tagscript.'<form class="vbform block"';
    $vbulletin->templatecache['newthread'] = str_replace($search, $replace, $vbulletin->templatecache['newthread']); 
}]]></phpcode>
        </plugin>
    </plugins>
    <phrases>
        <phrasetype name="vBulletin Settings" fieldname="vbsettings">
            <phrase name="setting_amp_auto_tagger_enabled_desc" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enable AMP Auto Tagger]]></phrase>
            <phrase name="setting_amp_auto_tagger_enabled_title" date="1265763401" username="Brock Strongo" version="1"><![CDATA[Enabled]]></phrase>
            <phrase name="setting_amptaggerbadwords_desc" date="1265776198" username="Brock Strongo" version="1"><![CDATA[Enter a list of bad words separated by comas.

For best results, leave out spaces and words shorter than three characters long.  It already filters words shorter than three words anyway.]]></phrase>
            <phrase name="setting_amptaggerbadwords_title" date="1265776198" username="Brock Strongo" version="1"><![CDATA[AMP Tagger Bad Words]]></phrase>
            <phrase name="settinggroup_amp_tagger" date="1265763113" username="Brock Strongo" version="1"><![CDATA[AMP Auto Tagger]]></phrase>
        </phrasetype>
    </phrases>
    <options>
        <settinggroup name="amp_tagger" displayorder="65535">
            <setting varname="amp_auto_tagger_enabled" displayorder="10">
                <datatype>free</datatype>
                <optioncode>yesno</optioncode>
            </setting>
            <setting varname="amptaggerbadwords" displayorder="20">
                <datatype>free</datatype>
                <optioncode>textarea</optioncode>
                <defaultvalue>all,and,any,are,but,can,con,cry,due,etc,few,for,get,had,has,her,him,his,how,inc,its,ltd,may,nor,not,now,off,one,our,out,own,per,put,see,she,six,ten,the,too,top,two,via,was,who,why,yet,you,also,back,been,bill,both,call,cant,done,down,each,else,even,ever,fify,fill,find,fire,five,four,from,full,give,have,here,hers,into,keep,last,less,made,many,mill,mine,more,most,move,much,must,name,next,nine,none,once,only,onto,ours,over,part,same,seem,show,side,some,such,take,than,that,them,then,they,thin,this,thru,thus,upon,very,well,were,what,when,whom,will,with,your,about,above,after,again,alone,along,among,being,below,could,eight,empty,every,first,forty,found,front,hasnt,hence,least,might,never,noone,often,other,seems,since,sixty,still,their,there,these,thick,third,those,three,under,until,where,which,while,whole,whose,would,yours,across,almost,always,amount,anyhow,anyone,anyway,around,became,become,before,behind,beside,beyond,bottom,cannot,detail,during,either,eleven,enough,except,former,hereby,herein,indeed,itself,latter,mostly,myself,namely,nobody,others,please,rather,seemed,should,system,thence,though,toward,twelve,twenty,whence,within,against,already,amongst,another,because,becomes,besides,between,couldnt,fifteen,further,herself,himself,however,hundred,neither,nothing,nowhere,perhaps,seeming,serious,several,sincere,somehow,someone,thereby,therein,through,towards,whereas,whereby,wherein,whether,whither,whoever,without,although,amoungst,anything,anywhere,becoming,computer,describe,everyone,formerly,hereupon,interest,latterly,moreover,sometime,together,whatever,whenever,wherever,yourself,elsewhere,hereafter,meanwhile,otherwise,ourselves,something,sometimes,somewhere,therefore,thereupon,whereupon,afterwards,beforehand,everything,everywhere,themselves,thereafter,throughout,whereafter,yourselves,nevertheless,dont</defaultvalue>
            </setting>
        </settinggroup>
    </options>
    <helptopics>
    </helptopics>
    <cronentries>
    </cronentries>
    <faqentries>
    </faqentries>
</product>
importing ok, but no working to


author - have you tried to analyze not only the name of the topic but what is written in, can be used in the script comparison occurring words and substitute tags according to them?
Reply With Quote
  #151  
Old 02-12-2011, 11:46 AM
testbot testbot is offline
 
Join Date: Feb 2009
Posts: 373
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

^
jeleven, the problem is that it strips special chars out because those are not allowed in tags. It uses somewhat of a white list. In the next release that I'll be uploading soon you'll be able to add the alphabet of your choice and it will whitelist those letters too. The only problem is that I don't know any languages besides English so I don't know if it's working.

Can you give me a Russian word and the first and last letter of the Russian alphabet so I can test it? I tried it in Arabic and I think it worked but again, I don't know Arabic so I'm not sure

It would be like 'A-Za-z' but in Russian. I also need a Russian word to make sure it works.
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:50 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06813 seconds
  • Memory Usage 2,396KB
  • Queries Executed 26 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_php
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (1)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (1)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (4)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.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
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete