Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Display Modes
  #1  
Old 01-16-2010, 08:37 PM
JamesGunner JamesGunner is offline
 
Join Date: Sep 2008
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Setting prefix on newthread_post_start

Hey,

Im trying to build a new product where you can set default prefixes to threads. Im a abit puzzled how to set the prefixid when a user posts. So far I have this:

PHP Code:
<installcode><![CDATA[$db->hide_errors();
$db->query_write("ALTER TABLE " TABLE_PREFIX "forum ADD default_forum_thread_prefix VARCHAR(300) NOT NULL");
$db->show_errors();]]></installcode
This adds my new field in the forum table.I already have the whole frame but I still need the basic function.

PHP Code:
<plugin active="1">
      <
title>Default Forum Thread Prefix</title>
      <
hookname>forumadmin_edit_form</hookname>
      <
phpcode>
        <![
CDATA[print_table_header($vbphrase['default_forum_thread_prefix']);
print_input_row($vbphrase['default_forum_thread_prefix_desc'], 'forum[default_forum_thread_prefix]'$forum['default_forum_thread_prefix']);]]>
      </
phpcode>
    </
plugin
The admin area seems to work fine also.

PHP Code:
<plugin active="1">
      <
title>Default Forum Thread Prefix</title>
      <
hookname>newthread_post_start</hookname>
      <
phpcode>
        <![
CDATA[
$vbulletin->GPC['prefixid'] = $forum['default_forum_thread_prefix']; 
      
$newpost['prefixid'] =& $vbulletin->GPC['prefixid'];
]]>
</
phpcode>
</
plugin
Now this is the part where Im puzzled and I originally wanted to do an query each time but then I thought it might be easier to retrieve the info.

I must say that Im fairly new to php and vbulletin. I only wrote programs with C# and C++ yet so Im still learning the syntax and whatnot.

Thanks for the help ahead.
Reply With Quote
  #2  
Old 01-16-2010, 10:48 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Why are you creating a new field for the database when vbulletin has thread prefixes for you to use - it's a default feature under Thread Prefixes in the Admin CP.
Reply With Quote
  #3  
Old 01-17-2010, 06:41 AM
JamesGunner JamesGunner is offline
 
Join Date: Sep 2008
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
Why are you creating a new field for the database when vbulletin has thread prefixes for you to use - it's a default feature under Thread Prefixes in the Admin CP.
well from what I know vbulletin doesnt have default forum thread prefixes. I need this for my own forum. If a member posts a new thread on my board(he cant choose prefixes due to permissions), the new posted Thread automatically gets the "Pending" prefix without him having to choose one.

The thing I want is like this, just that I want to create a product so everyone can use it:
https://vborg.vbsupport.ru/showthread.php?t=224211
Reply With Quote
  #4  
Old 01-17-2010, 03:34 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

So why not use what is in that thread to do what you want?
Reply With Quote
  #5  
Old 01-17-2010, 03:41 PM
JamesGunner JamesGunner is offline
 
Join Date: Sep 2008
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Lynne View Post
So why not use what is in that thread to do what you want?
Since I cant get it to work the way you guys described, thats why Im seeking help...
Thanks for the help so far Lynne
Reply With Quote
  #6  
Old 01-17-2010, 03:45 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

To be honest, I really think you are better off using the default prefixes in vb. I think you should try to get it to work like in the other thread rather than trying to redo the whole system. You will end up with a lot of plugins if you go about it by using a whole new field.

What is it in the other thread that you are stuck on?
Reply With Quote
  #7  
Old 01-17-2010, 03:46 PM
James Birkett James Birkett is offline
 
Join Date: Jun 2009
Posts: 633
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

AdminCP -> Thread Prefixes

I did create a plugin to auto-assign a prefix to a thread, it was 2 lines of code.

Let me know if you want it.
Reply With Quote
  #8  
Old 01-17-2010, 03:53 PM
Lynne's Avatar
Lynne Lynne is offline
 
Join Date: Sep 2004
Location: California/Idaho
Posts: 41,180
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Did you create the prefix first? And did you modify the code in the other thread to use the prefixid that you assigned to the prefix? And did you assign the prefixgroup to that particular forum?
Reply With Quote
  #9  
Old 01-17-2010, 03:57 PM
JamesGunner JamesGunner is offline
 
Join Date: Sep 2008
Posts: 44
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by James Birkett View Post
AdminCP -> Thread Prefixes

I did create a plugin to auto-assign a prefix to a thread, it was 2 lines of code.

Let me know if you want it.
Well thanks, please pm it to me.

@Lynne: In the other thread he posted about 3 lines of code which dont really help me alot, Im not sure how he deals with it but I dont want to edit the core files if I can do something like this with a simple plugin. The only part Im missing is the part where the prefix is applied to the thread when a user is posting. So basically I need to check if the admin made an entry in the that admin field, then apply the prefix to the thread when the user is posting.

This is my complete product:

PHP Code:
<?xml version="1.0" encoding="ISO-8859-1"?>

<product productid="default_thread_prefixes" active="1">
    <title>Default Thread Prefixes</title>
    <description>Add default Thread Prefixes to a thread</description>
    <version>0.1</version>
    <url />
    <versioncheckurl />
    <dependencies>
        <dependency dependencytype="vbulletin" minversion="4.0" maxversion="" />
    </dependencies>
    <codes>
        <code version="0.1">
            <installcode><![CDATA[$db->hide_errors();
$db->query_write("ALTER TABLE " . TABLE_PREFIX . "forum ADD default_forum_thread_prefix VARCHAR(300) NOT NULL");
$db->show_errors();]]></installcode>
            <uninstallcode>
        <![CDATA[$db->hide_errors();
$db->query_write("ALTER TABLE " . TABLE_PREFIX . "forum DROP default_forum_thread_prefix");
$db->show_errors();]]></uninstallcode>
        </code>
    </codes>
    <templates>
    </templates>
    <stylevardfns>
    </stylevardfns>
    <stylevars>
    </stylevars>
    <plugins>
    <plugin active="1">
      <title>Default Forum Thread Prefix</title>
      <hookname>forumadmin_add_default</hookname>
      <phpcode><![CDATA[$forum['default_forum_thread_prefix'] = '';]]></phpcode>
    </plugin>
    <plugin active="1">
      <title>Default Forum Thread Prefix</title>
      <hookname>forumadmin_edit_form</hookname>
      <phpcode>
        <![CDATA[print_table_header($vbphrase['default_forum_thread_prefix']);
print_input_row($vbphrase['default_forum_thread_prefix_desc'], 'forum[default_forum_thread_prefix]', $forum['default_forum_thread_prefix']);]]>
      </phpcode>
    </plugin>
    
    
    <plugin active="1">
      <title>Default Forum Thread Prefix</title>
      <hookname>newthread_post_start</hookname>
      <phpcode>
        <![CDATA[
        if($forum['default_forum_thread_prefix']){
          $newpost['prefixid'] = $forum['default_forum_thread_prefix'];
          }
      ]]></phpcode>
    </plugin>
  </plugins>
    <phrases>
    <phrasetype name="Forum-Related" fieldname="forum">
      <phrase name="default_forum_thread_prefix"><![CDATA[Default Forum Thread Prefix]]></phrase>
      <phrase name="default_forum_thread_prefix_desc"><![CDATA[Default Forum Thread Prefix <dfn>Insert the default Thread prefix you want to set for this forum here!</dfn>]]></phrase>
    </phrasetype>
    </phrases>
    <options>
    </options>
    <helptopics>
    </helptopics>
    <cronentries>
    </cronentries>
    <faqentries>
    </faqentries>
</product>
I know that this needs improvement:

PHP Code:
<plugin active="1">
      <
title>Default Forum Thread Prefix</title>
      <
hookname>newthread_post_start</hookname>
      <
phpcode>
        <![
CDATA[
        if(
$forum['default_forum_thread_prefix']){
          
$newpost['prefixid'] = $forum['default_forum_thread_prefix'];
          }
      ]]></
phpcode>
    </
plugin
Since Im getting some weird error whenever I input an prefixid in the specific forum.
Reply With Quote
  #10  
Old 01-17-2010, 04:11 PM
James Birkett James Birkett is offline
 
Join Date: Jun 2009
Posts: 633
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

The way I did it was to just assign both prefix values to the prefix ID:
PHP Code:
$vbulletin->GPC['prefixid'] = 'prefixid';
$newpost['prefixid'] = 'prefixid'
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 05:42 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.04507 seconds
  • Memory Usage 2,284KB
  • Queries Executed 11 (?)
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)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (6)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (10)post_thanks_box
  • (10)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (10)post_thanks_postbit_info
  • (10)postbit
  • (10)postbit_onlinestatus
  • (10)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