Change Threads Prefix Inline, Need Code

Transformer

New Member
I want to view the codes posted by Princeton, Alfa1, and bjhuang:
http://www.vbulletin.org/forum/printthread.php?t=144982&pp=100

Could you get those codes:
Princeton 21 May 2007 22:16
not forward compatible - if a prefix is similar to one of the default admin dropdown values it will not work..

for example, if you or the staff creates a prefix called "close", "open", etc .. it will conflict with existing values

hence, this modification may have a negative affect on new options that jelsoft may add (in the future) to the admin moderation dropdown menu

a fix would be to prepend 'p_' to each prefix value (forumdisplay_start)

Codedisplayerror: (Update license status)

You cannot view code until you prove your license status


and remove 'p_' in inlinemod_action_switch before any action is taken

I changed inlinemod_action_switch to:

Codedisplayerror: (Update license status)

You cannot view code until you prove your license status




Alfa1 05 Sep 2007 14:17
Yes, but you changed the code in order to be able to do so.
Quote:
Originally Posted by Adam21
Here's what i use.In your FORUMDISPLAY template:
Add this code:

Codedisplayerror: (Update license status)

You cannot view code until you prove your license status


AFTER this code:

Codedisplayerror: (Update license status)

You cannot view code until you prove your license status


and BEFORE this code


Codedisplayerror: (Update license status)

You cannot view code until you prove your license status


Good luck!
I tried to do this, but the code Adam says I should place it after does not exist in my FORUMDISPLAY.

Any idea's on this?



bjhuang 09 Sep 2007 10:51
to support global prefixes:


Codedisplayerror: (Update license status)

You cannot view code until you prove your license status
 
not forward compatible - if a prefix is similar to one of the default admin dropdown values it will not work..

for example, if you or the staff creates a prefix called "close", "open", etc .. it will conflict with existing values

hence, this modification may have a negative affect on new options that jelsoft may add (in the future) to the admin moderation dropdown menu

a fix would be to prepend 'p_' to each prefix value (forumdisplay_start)
PHP Code:
Code:
if ($foruminfo['allowprefix'])
{
    if (!function_exists(insert_to_template))
    {
        function insert_to_template($templatename, $remark, $location, $position = 'after')
        {
            global $vbulletin;
            
            if ($position == 'after')
            {
                $location = $remark . $location;
            }
            else if ($position == 'before')
            {
                $location = $location . $remark;
            }
            
            $vbulletin->templatecache[$templatename] = str_replace($remark, $location, $vbulletin->templatecache[$templatename]);
        }
    }
    
    insert_to_template('FORUMDISPLAY', '<optgroup label=\"____________________\">', $vbulletin->templatecache['forumdisplay_inlineprefix'], 'before');
    
    $prefix_array = explode("\r\n", trim($foruminfo['threadprefix']));
    
    foreach ($prefix_array as $key => $value)
    {
        $inlineprefix .= "\t\t\t\t\t<option value=\"p_" . urlencode($value) . "\">$value</option>\r\n";
        //DEVDEBUG("prefix = ". $value);
    }
    unset($prefix_array);
}
and remove 'p_' in inlinemod_action_switch before any action is taken

I changed inlinemod_action_switch to:
PHP Code:
Code:
if  ($foruminfo['allowprefix'])
{    
    $prefix_array = explode("\r\n", trim($foruminfo['threadprefix']));
    
    $newprefix = urldecode($_POST['do']);
    // remove 'p_' 
    $newprefix = str_replace('p_', '', $newprefix);
    
    if (in_array($newprefix, $prefix_array))
    {
        /**
        * $newprefix exists in database so let's go ahead and use it
        * $newprefix exists so let's change $_POST action
        * Check threadids exist
        */
        
        $handled_do = true;
        $_POST['do'] = 'changeprefix';
        
        if (empty($vbulletin->GPC['tlist']))
        {
            eval(standard_error(fetch_error('you_did_not_select_any_valid_threads')));
        }
        
        if (count($vbulletin->GPC['tlist']) > $threadlimit)
        {
            eval(standard_error(fetch_error('you_are_limited_to_working_with_x_threads', $threadlimit)));
        }
        
        $threadids = implode(',', $vbulletin->GPC['tlist']);
    }
    // we're finished with $prefix_array
    unset($prefix_array);
}
 
Two are missing.
1.
Alfa1 05 Sep 2007 14:17
Yes, but you changed the code in order to be able to do so.
Quote:
Originally Posted by Adam21
Here's what i use.In your FORUMDISPLAY template:
Add this code:

Codedisplayerror: (Update license status)

You cannot view code until you prove your license status


AFTER this code:

Codedisplayerror: (Update license status)

You cannot view code until you prove your license status


and BEFORE this code


Codedisplayerror: (Update license status)

You cannot view code until you prove your license status


Good luck!
I tried to do this, but the code Adam says I should place it after does not exist in my FORUMDISPLAY.

Any idea's on this?



2.
bjhuang 09 Sep 2007 10:51
to support global prefixes:


Codedisplayerror: (Update license status)

You cannot view code until you prove your license status
 
Yes, thank you very much.
240px-Optimusprime-originaltoy.jpg
 
Back
Top