Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Thread Prefixes Details »»
Thread Prefixes
Version: 1.6.2, by Mystics Mystics is offline
Developer Last Online: Jun 2015 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 3.6.x Rating:
Released: 08-03-2006 Last Update: 05-24-2008 Installs: 459
DB Changes Uses Plugins Template Edits
Re-useable Code Code Changes Additional Files Translations  
No support by the author.

Thread Prefixes

Version: 1.6.2
vBulletin Version: 3.6.10
Developer: Michael (Mystics) Koenig (www.vbulletin-germany.com)
Modification-Language: English & German & French (thanks to ReadWrite - Note: Readme has not yet been translated to french.)
Install-difficulty: Medium
File-edits: 5
Template-edits: 10


Brief Description of the Modification

This modification allows your users to choose a thread prefix for each thread. To do this you are able to select an appropriate prefix from a list beside the title while posting a new thread - for example 'Help', 'Problem', 'Search' etc.

This prefix will be displayed in front of the thread title. The result will be for example:
Problem - I can't find this setting

Problem is the thread prefix, I can't find this setting is the title of the thread.

The prefixes displayed in this list may be defined by a moderator for each of his moderated forums (Forum Tools -> Manage Thread Prefixes); of course an administrator and a super moderator is allowed to do this for every forum.


Features
  • Moderators are able to create own prefixes for each of their moderated forums.
    (Forum -> Forum Tools -> Manage Thread Prefixes -> threadprefix.php)
  • Display of the prefixes on forum display, search results, subscribed threads and within the thread itself.
  • It is possible to change the prefix with editing the first post of a thread or with the thread tools available for moderators at any time.
Settings in Admin CP
  • Maximum prefixes per forum
  • Thread Prefix required: Users have to select a thread prefix for their threads. You can select this globally for all forums or on a per forum basis.
  • Default Thread Prefixes: You may set default prefixes which will either be shown only in forums without own prefixes or be shown in addition to existing prefixes
  • Show Thread Prefixes in extra column or in front of the thread title in the same column
  • Alignment of the prefixes (if 'Show in extra column' is enabled): Align left, align right, center
  • Show Prefix in 'Last Post' column
  • Prefix HTML Markup: Specify an HTML tag with which to display the prefixes (bold, italic, red etc.)
  • Allow Thread Prefix search: If enabled, the prefixes of all forums the user has access to will be grouped in a list and displayed in the search engine.
  • Per Forum:
    • Allow Thread Prefixes in this Forum
    • Thread Prefix Required in this Forum.
Screenshots

See attachments.


Version-History

1.6.2 (2008-05-24 - 9:30 pm CET)
  • Fixed XSS security issue:
    Import the updated xml file (product-threadprefix_*.xml) to fix the security issue!
  • Changes for vBulletin 3.6.10 (Updated Template modifications)
  • Bugfix: It's possible again to search for prefixes
  • Installation script prefixinstall.php now works with IE7 too.
1.6.1 (2006-08-29 - 11:30 pm CET)
  • Bugfix: It's possible again to change the prefix by editing the first post of a thread.
  • Bugfix: The prefix will be forwarded correctly and without an error to the advanced editor while editing the first post via AJAX.
  • New: Thread Prefixes for discussion threads for user infractions and reported posts.
    You can enter those thread prefixes within your vBulletin settings.
  • New: Ability to sort the thread prefixes in descending order.
    (Forum Tools -> Manage Thread Prefixes)
  • New: Version check for the Thread Prefix Product within the AdminCP.
  • Import the updated xml file (product-threadprefix_*.xml) and upload the updated file /upload/threadprefix.php to your server.
1.6.0 (2006-08-04 - 07:00 pm CET)
  • Changes for vBulletin 3.6.0
  • Because you have to upload all files of vBulletin 3.6, there are no instructions for the update. Just follow the standard instructions for the file and template changes.
  • Fixed error within the search engine.
  • New: Prefixes are displayed within Content Syndication (external.php)
  • Do not forget to import the updated xml file (product-threadprefix_*.xml)!
1.5.5 (2006-04-09 - 03:00 pm CET)
  • Fixed database error within the search engine.
    (if prefix was selected and results were shown as posts)
  • Just import the updated xml file.
1.5.4 (2006-03-20 - 01:30 am CET)
  • Fixed small error within the search engine.
  • Just import the updated xml file.
1.5.3 (2006-03-19 - 03:30 pm CET)
  • Changes in includes/class_dm_threadpost.php for vB 3.5.4
  • Changes in includes/functions_threadprefix.php for vB 3.5.4
  • New: Search for prefixes only is now possible (without keywords)
  • New: Prefixes are displayed in "Similar Threads"
  • New: Separator between prefix and thread title within threads/emails may now be defined in your Admin Control Panel (used to be always " - ").
  • New: Save Thread Prefix in Search Preferences
1.5.2 (2005-11-03 - 07:30 pm CET)
  • Missing phrase: updateprefixes
  • Fixed small error in /threadprefix.php
1.5.1 (2005-11-02 - 09:30 pm CET)
  • First version for vBulletin 3.5.1
1.5.0 (2005-11-02 - 09:30 pm CET)
  • First version for vBulletin 3.5.0 (only one file edit more because of a missing hook)
Installation
  1. Upload all files from the upload directory to your vBulletin directory on your server.

    Overview of the files and corresponding directories:
    • /threadprefix.php
    • /admincp/prefixinstall.php
    • /admincp/prefixinstall_text.php
    • /includes/functions_threadprefix.php
  2. Import the file "product-threadprefix_english.xml" with 'Manage Products':
    Admin Control Panel -> Plugin System -> Manage Products ->
    [Add/Import Product] -> Select file -> Import
  3. Open this file with your browser:
    http://www.yourdomain.com/forum/admincp/prefixinstall.php
  4. Log in as administrator and follow the instructions
Time needed for installation: approx. 30 min.
Tested for version: 3.5.0 (and above).

Note: If you have used the Thread Category / Prefix Hack in vBulletin 3.0.x, don't worry: all existing prefixes will be imported during the installation. You just have to re-do your thread prefix settings in your vBulletin Options.

Update Product
  1. Upload all files from the upload directory to your vBulletin directory on your server.

    Overview of the files and corresponding directories:
    • /threadprefix.php
    • /admincp/prefixinstall.php
    • /admincp/prefixinstall_text.php
    • /includes/functions_threadprefix.php
  2. Import the file "product-threadprefix_english.xml" with 'Manage Products':
    Admin Control Panel -> Plugin System -> Manage Products ->
    [Add/Import Product] -> Select file -> Import

    You have to select 'Allow Overwrite' -> 'Yes' before clicking on Import!
  3. Open this file with your browser:
    http://www.yourdomain.com/forum/admincp/prefixinstall.php
  4. Log in, select the version you want to update from (at Step 2 -> 'Update Modification') and follow the instructions.
Short overview of the needed modifications

1. Files that need to be edited:
  • /showthread.php (Display prefix in 'Similar Threads')
  • /clientscript/vbulletin_textedit.js (JavaScript error message if no prefix was selected)
  • /includes/class_dm_threadpost.php (Prefix within emails to moderators)
  • /includes/functions_databuild.php (Update prefix in column 'Last Post' for mod functions)
  • /includes/functions_online.php (Display prefix in 'Who's online')

    It is your decision if you need the above functions or if you decide do use the product without file modifications!
    You don't have to do the file modifications as the product will work even though without them!
2. New files:
  • /threadprefix.php
  • /includes/functions_threadprefix.php
3. Templates that need to be edited:
  • editpost
  • FORUMDISPLAY
  • newthread
  • search_forums
  • search_results
  • SUBSCRIBE
  • threadadmin_editthread
  • threadbit
  • threadbit_announcement
  • threadbit_deleted
4. New templates:
  • threadprefix_listbit
  • threadprefix_modify
5. New phrases:
  • Too many to list them all - they will be created automatically while importing the xml file
Final words

If the modification doesn't work correct after installation, please verify all modifications you have made within the files and the templates. Be sure you have uploaded all edited and new files.

The modification was tested extensive and will function properly if installed correct.

Thanks to ReadWrite for his french translation.

Special Thanks to Andreas for his help with the hooks.

Have fun with the modification!

Please click Install if you have installed it

Mike

Supporters / CoAuthors

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #412  
Old 12-18-2007, 02:28 PM
paulmjno paulmjno is offline
 
Join Date: Sep 2004
Posts: 114
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

^ Moment of stupidity. It's all in the "thread" table. Will see what I can whip up.
Reply With Quote
  #413  
Old 12-18-2007, 02:46 PM
paulmjno paulmjno is offline
 
Join Date: Sep 2004
Posts: 114
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Mwahaha! I've done it. Easy peasy. I'll post some code here - I'm not really one for writing scripts for other people (with the random problems people run into), but this should assist someone else (I've used the ezSQL class here):

PHP Code:
<?php

include_once("db.php");

$threads $db->get_results("SELECT threadid, threadprefix FROM thread");

foreach (
$threads as $thread) {
    if (
$thread->threadprefix) {
        
$db->query("UPDATE thread SET prefixid = '" strtolower($thread->threadprefix) . "' WHERE threadid = $thread->threadid");
    }
    print 
"Done threadid: {$thread->threadid}<br />";
}

?>
What I've done is pre-created the native thread prefixes matching the ones I currently use.
Reply With Quote
  #414  
Old 12-19-2007, 06:14 PM
Pottsy Pottsy is offline
 
Join Date: Sep 2006
Location: UK
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by paulmjno View Post

What I've done is pre-created the native thread prefixes matching the ones I currently use.

If only it were that easy (it doesn't work!!).


For each old forum that had prefixes, you need a new prefixset.

Table: prefixset
prefixsetid, varchar(25), for example if we are reading forumid 14, import14
displayorder, int(10)


The prefixset title needs to be inserted into the phrase table:

Table: phrase

languageid: 0
fieldname: prefix
product= vbulletin
text = prefix set title (eg "imported from forum 14, Off topic")
varname: prefixset_xx_title

where xx = prefixsetid eg prefixset_import14_title


This prefixsetid has to be assigned to the forum number:

Table: forumprefixset

forumid, int(10), eg 14
prefixsetid, varchar(25)


In each prefixset, the individual prefix ids are inserted:

Table: prefix

prefixid, varchar(25), no spaces! so maybe forumid like 14_001 then 14_002 etc. If you had 10 prefixes in forum 14, then we need 10 prefixids.
prefixsetid, varchar(25), from above
displayorder, int(10)

Each prefixid needs the prefix text read from the original thread prefix list for the forum inserted into 2 fields (title plain text and rich text). These are stored in the phrase table:


languageid: 0
fieldname: global
product= vbulletin
text = the old thread prefix text
varname: prefix_xx_yy

where

xx = prefixid
yy = title_rich or title_plain

eg prefix_import14_title_plain


Then each thread in the forum with a prefix from the old system has the corresponding new prefixid inserted into it:

Table: thread

prefixid, varchar(25)


The only bit I'm not sure about is:


Table: forum

lastprefixid, varchar(25)


Repeat for all forums.
Optionally transfer forum settings from old to new (mandatory thread prefix etc, but this can easily be done manually).
Finally, you have to rebuild languages.


Right, there's the challenge!
Reply With Quote
  #415  
Old 12-20-2007, 01:01 AM
paulmjno paulmjno is offline
 
Join Date: Sep 2004
Posts: 114
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Dude, it was real easy for me. All of my thread prefixes have been transfered over. All I did was create my old prefixes in 3.7 admincp, the prefixids matched my old prefixes.
Reply With Quote
  #416  
Old 12-20-2007, 04:17 AM
Pottsy Pottsy is offline
 
Join Date: Sep 2006
Location: UK
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I see what you've done. It works, so long as your existing prefixes have no spaces in, and you only have one "set" of prefixes. My different forum id's all have different sets, and I have spaces in my old prefixes.
Reply With Quote
  #417  
Old 12-20-2007, 09:49 AM
Hoffi's Avatar
Hoffi Hoffi is offline
 
Join Date: Nov 2001
Location: Germany
Posts: 342
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The Spaces can not be a big Problem. With only one Query you can turn all Spaces to Underscore that can be used in the native Prefix Mod.

It's just the Problem to create hundreds of Prefix-Sets by Hand.
Reply With Quote
  #418  
Old 12-20-2007, 02:08 PM
Pottsy Pottsy is offline
 
Join Date: Sep 2006
Location: UK
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am half way there....
Reply With Quote
  #419  
Old 12-21-2007, 06:35 AM
Pottsy Pottsy is offline
 
Join Date: Sep 2006
Location: UK
Posts: 130
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

OK, I have written a script that does the whole job of converting to 3.7.

To keep things separate, I've posted it here:

https://vborg.vbsupport.ru/showthread.php?t=165761
Reply With Quote
  #420  
Old 01-06-2008, 05:34 PM
hyppa's Avatar
hyppa hyppa is offline
 
Join Date: Dec 2007
Location: Sandnes, Norway
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I hvae to reinstall all of it because it f...t up my forum, i can not see new threads or anything.

This is the message i get.

Parse error: syntax error, unexpected $end in /home/3/h/hjornet/www/hjornet/includes/functions_databuild.php on line 1841

what is the easiest way to get by this??
Reply With Quote
  #421  
Old 01-06-2008, 07:57 PM
hyppa's Avatar
hyppa hyppa is offline
 
Join Date: Dec 2007
Location: Sandnes, Norway
Posts: 64
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Had to upload and revert the templates to fix it.
Reply With Quote
Reply


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 02:15 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.04904 seconds
  • Memory Usage 2,337KB
  • 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
  • (1)bbcode_php
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (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
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete