PDA

View Full Version : Buddy & Ignore List Add/Remove in Postbit


zetetic
06-15-2005, 10:00 PM
Buddy & Ignore List Add/Remove in Postbit

What is it?

Just a little add-on to replace the static "Add (user) to your Buddy List" menu option on the username drop-down menu with "Add (user) to your Buddy List" and "Add (user) to your Ignore List" (if the user isn't already on the list) and "Remove (user) from your Buddy List" and "Remove (user) from your Ignore List" if they are. :)

It's just three steps: A few new phrases, a plugin and a template edit.

1. Create these phrases (How to add a phrase (http://www.vbulletin.com/docs/html/main/language_add_phrase)):

Phrase Type: Postbit
Varname: remove_x_from_buddylist
Text: Remove {1} from Your Buddy List

Phrase Type: Postbit
Varname: add_x_to_ignorelist
Text: Add {1} to Your Ignore List

Phrase Type: Postbit
Varname: remove_x_from_ignorelist
Text: Remove {1} from Your Ignore List

2. Upload the attached .xml plugin.

3. In postbit (and/or postbit_legacy) template, FIND:

<tr><td class="vbmenu_option"><a href="profile.php?$session[sessionurl]do=addlist&amp;userlist=buddy&amp;u=$post[userid]"><phrase 1="$post[username]">$vbphrase[add_x_to_buddy_list]</phrase></a></td></tr>

REPLACE with:

<if condition="!in_array($post['userid'], $GLOBALS['buddyarray'])">
<tr><td class="vbmenu_option"><a href="$vboptions[bburl]/profile.php?$session[sessionurl]do=addlist&amp;userlist=buddy&amp;u=$post[userid]"><phrase 1="$post[username]">$vbphrase[add_x_to_buddy_list]</phrase></a></td></tr>
<else />
<tr><td class="vbmenu_option"><a href="$vboptions[bburl]/profile.php?$session[sessionurl]do=removelist&amp;userlist=buddy&amp;u=$post[userid]"><phrase 1="$post[username]">$vbphrase[remove_x_from_buddylist]</phrase></a></td></tr>
</if>
<if condition="!in_array($post['userid'], $GLOBALS['ignorearray'])">
<tr><td class="vbmenu_option"><a href="$vboptions[bburl]/profile.php?$session[sessionurl]do=addlist&amp;userlist=ignore&amp;u=$post[userid]"><phrase 1="$post[username]">$vbphrase[add_x_to_ignorelist]</phrase></a></td></tr>
<else />
<tr><td class="vbmenu_option"><a href="$vboptions[bburl]/profile.php?$session[sessionurl]do=removelist&amp;userlist=ignore&amp;u=$post[userid]"><phrase 1="$post[username]">$vbphrase[remove_x_from_ignorelist]</phrase></a></td></tr>
</if>

That's it!

fraghappy
06-17-2005, 11:05 AM
It's a very simple but very useful hack. Believe it or not, I had a member on a forum that I go to (but I don't admin, sadly) who commented that something like this would be quite useful.

*Hits Install*

EDIT - You might want to note that, if a user is using the `postbit_legacy` template, they should edit that instead. I know it is pretty obvious, but, in my years of software development, I've met some pretty idiotic users, and it is better to be safe than sorry. :D

zetetic
06-17-2005, 04:38 PM
It's a very simple but very useful hack.
Thanks. :)
EDIT - You might want to note that, if a user is using the `postbit_legacy` template, they should edit that instead. I know it is pretty obvious, but, in my years of software development, I've met some pretty idiotic users, and it is better to be safe than sorry.
Ironically, I'm one such idiot. I offer my forum members the choice between postbit and postbit_legacy, but I almost invariably forget to modify the postbit_legacy when I make a change. That's why I forgot to mention it here. :D

Martin
06-18-2005, 09:06 PM
when I added this hack, it would cause an error when using Quick Reply.

This post is a duplicate of a post you have made within the past 5 minutes. You are now being redirected to the thread.

zetetic
06-18-2005, 09:30 PM
when I added this hack, it would cause an error when using Quick Reply.
Did you apply Freddie Bingham's flashing postbit hack? Because I was getting that error too when I tried that hack, but I'm not sure why they would conflict.

Martin
06-18-2005, 09:31 PM
Nope. And once I removed this hack and reverted my templates, the problem disappeared. I got the same thing in both IE and in FF

Martin
06-18-2005, 09:35 PM
oh, and the problem existed in both Beta 1 and 2

zetetic
06-18-2005, 09:46 PM
Hm. Well for reasons I can't explain it seems to work okay if you move the plugin to global_start.

Martin
06-18-2005, 09:52 PM
ok. thanks :)

zetetic
06-18-2005, 09:54 PM
ok. thanks :)
Thank you! I had that problem yesterday and thought it was Freddie's hack. :D

Martin
06-18-2005, 10:59 PM
better not let Freddie here you saying that...

Martin
06-18-2005, 11:10 PM
readded. works beautifully now :)

zetetic
06-19-2005, 12:09 AM
better not let Freddie here you saying that...
:D
readded. works beautifully now
Excellent. :)

Martin
06-27-2005, 07:38 PM
There are major changes in the postbit/legacy templates for Beta 3, so this will need updated

zetetic
06-27-2005, 09:34 PM
There are major changes in the postbit/legacy templates for Beta 3, so this will need updated
I kinda figured as much, which is why I've stopped working on plugins and template mods until the gold release. I'll update this one as soon as I get a chance though, thanks. :)

fraghappy
07-15-2005, 03:56 PM
In Beta 4, the template modification no longer works because of a change to the function in_array(), apparently.

I get this error:
Warning: in_array(): Wrong datatype for second argument in /includes/adminfunctions_template.php(3504) : eval()'d code on line 210

Warning: in_array(): Wrong datatype for second argument in /includes/adminfunctions_template.php(3504) : eval()'d code on line 215

Discrepancies in line numbers may be due to the fact that I have made several other postbit modifications.

Martin
07-15-2005, 07:46 PM
Works fine for me in Beta 4

dirtycrow
11-08-2005, 09:21 PM
does this work in gold?

Christine
11-08-2005, 09:47 PM
I have been using this from Beta 1 straight through 3.5.1 without any problem.

:)

dirtycrow
11-08-2005, 09:51 PM
I have been using this from Beta 1 straight through 3.5.1 without any problem.

:)


very nice! thank you!

darksoulz
01-06-2006, 03:07 AM
this appears to break in 3.5.3. Tracked the error down to this mod.

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /includes/class_postbit.php(283) : eval()'d code on line 230

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /includes/class_postbit.php(283) : eval()'d code on line 235

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /includes/class_postbit.php(283) : eval()'d code on line 230

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /includes/class_postbit.php(283) : eval()'d code on line 235

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /includes/class_postbit.php(283) : eval()'d code on line 230

Warning: in_array() [function.in-array]: Wrong datatype for second argument in /includes/class_postbit.php(283) : eval()'d code on line 235