vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Setting prefix on newthread_post_start (https://vborg.vbsupport.ru/showthread.php?t=233300)

JamesGunner 01-16-2010 08:37 PM

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.

Lynne 01-16-2010 10:48 PM

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.

JamesGunner 01-17-2010 06:41 AM

Quote:

Originally Posted by Lynne (Post 1957762)
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

Lynne 01-17-2010 03:34 PM

So why not use what is in that thread to do what you want?

JamesGunner 01-17-2010 03:41 PM

Quote:

Originally Posted by Lynne (Post 1958268)
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

Lynne 01-17-2010 03:45 PM

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?

James Birkett 01-17-2010 03:46 PM

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.

Lynne 01-17-2010 03:53 PM

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?

JamesGunner 01-17-2010 03:57 PM

Quote:

Originally Posted by James Birkett (Post 1958285)
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.

James Birkett 01-17-2010 04:11 PM

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'



All times are GMT. The time now is 02:24 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.01169 seconds
  • Memory Usage 1,775KB
  • 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
  • (6)bbcode_php_printable
  • (3)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (1)pagenav_pagelink
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)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