Dynamic Announcements: Programmable Forum Home Announcement/Message with conditionals
This modification is in the archives.
(This hacks works with both 3.5.x and 3.6.x)
This hack allows you to post powerful dynamic announcements (changing according to different conditions) on forum home page. It differs from vbulletin's default announcements in 2 ways:
This version of the hack is for vbulletin 3.5.x and 3.6.x (vb 3.0.x version is http://www.vbulletin.org/forum/showthread.php?s=&threadid=64189 and vb 2.x version is http://www.vbulletin.org/forum/showthread.php?s=&threadid=43194. 3.5 version is coded as a plugin so you can install it WITHOUT modifying vb PHP files. It is easily installed in 2 steps through your admin cp. Basic Usage of This Hack: You can set a text in your Admin CP and it's displayed in forum home to all users. Alternatively if you want, you can set another text as a popup announcement and it is displayed to all as a pop up announcement (it can't be killed with popup killers software!) Advanced Usage : With conditionals you can set different texts/notifications/messages/announcements and they will be displayed if your pre-configured condition applies. This allows you to create powerful announcements/private messages/texts which address their receipt only if a certain condition is met. Some examples: You can set to show an announcement in forum home IF:
from a popup announcement. Some Features:
* For CMPS Integration see here Spoiler (click to open)
For all you VBA CMPS users I have this working on the CMPS home Page. Here is what I did. I am no coder but it works on my site. I also add step 2 to forum display and showthread.
1. in the Plugin System -> Plugin Manager move Dynamic Forum Home Announcement Hack by Logician from forumhome_complete to Global_start hook location 2. edit adv_portal template just the same as in the forumhome template. Replace Code:
</head> <body> $header $navbar Code:
$dfh_announcement_headercode </head> <body> $dfh_announcement_popup $header $navbar $dfh_announcement Add the following dfh_announcement dfh_announcement_popup dfh_announcement_headercode and Save Close
* French Translation by Allan : Spoiler (click to open)
The French Language
Close
* Nested Conditionals by dc3dreamer : Spoiler (click to open)
Update #2 (final!): All is well now. Here is the code for dynamic_a() which implements nested conditionals:
Code:
function dynamic_a($logician_dfa_incoming1) { extract ($GLOBALS); // Prevent successive conditionals on separate lines from generating // spurious <br /> after running thru BbCode parser. You might not // like this, it's optional. $logician_dfa_incoming1 = ereg_replace("\]\][\r\n\f \t]*\[\[", "]][[", $logician_dfa_incoming1); // Recursively process nested conditionals $logician_dfa_incoming1 = trim(dynamic_b($logician_dfa_incoming1)); // Finish up by running result through BbCode parser if (trim($logician_dfa_incoming1)) { $parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list()); $logician_dfa_incoming1 = $parser->do_parse($logician_dfa_incoming1, 1, 1, 1, 1, 1, 1); } return $logician_dfa_incoming1; } function dynamic_b($dc3dreamer_dfa_incoming1) { extract ($GLOBALS); while (preg_match("/\[\[(.*)\]\](.*)\[\[(\/\\1)\]\]/siU", $dc3dreamer_dfa_incoming1, $matches14)) { @eval ('if ('.stripslashes($matches14[1]).') { $eval_deger= "1"; } else { $eval_deger= "0"; }'); if ($eval_deger == 1) //if conditional applied, replace with inner text { $dc3dreamer_dfa_incoming1 = dynamic_b(str_replace($matches14[0], $matches14[2], $dc3dreamer_dfa_incoming1)); } else // Conditional not applied, delete the whole chunk { $dc3dreamer_dfa_incoming1 = dynamic_b(str_replace($matches14[0], '', $dc3dreamer_dfa_incoming1)); } } return $dc3dreamer_dfa_incoming1; } I'm slowly coming up to speed on PHP :nervous: I was killed by the $bbuserinfo[membergroupids] variable testing against values, till my ancient Perl tablets fell out on the ground. Yumba! It can be an array and it may not even exist! Well, rookie me! I got it now. This is so nice! Nested conditionals open up a whole new world of possibilities, but ... Thank you Logician Thank you Logician Thank you Logician ... Close
* Hack Annoucement appears in all vb pages: Spoiler (click to open)
Hack of hack to make it appear in all vb pages.
IMPORTANT NOTE:This hack is originally designed to display the hack announcement in FORUMHOME PAGE ONLY! And I'm only supporting the hack when it is used in the way it is designed. However many users asked how they can make the hack announcement appear in other vb pages too so I'm sharing how to do this. BUT : this is not tested good enough by me, nor do I have time to test it so if you are changing how the original hack works by applying the instructions below, you are on your on if a problem comes up. I dont support the hack anymore when the instructions below are applied. If it does not work as expected, use the original hack. Close
IMPORTANT FOR 3.x USERS: If you were already using this hack in 3.0.x, remember to do 2 things: BEFORE YOU INSTALL THIS HACK : Follow this Spoiler (click to open)
Quote by Avalon111
Nothing.. Please follow these step:
* admin cp/manage products/uninstall Dynamic Forum Home Announcement Hack by Logician * edit includes/config.php, find: PHP Code:
?>
PHP Code:
// Debug
* login to admin cp, go to vb options/dynamic forum home announcements * delete all settings and settings group in that page to remove 3.0 settings. (by clicking "delete" next to 2 settings and 1 setting group title) * Revert your config.php (and upload the server) * Now install 3.5 version. Close
AFTER YOU INSTALL THIS HACK : Go to your admin cp / styles, find these 3 styles: dfh_announcement dfh_announcement_headercode dfh_announcement_popup and REVERT THEM so that your new templates that comes with 3.5 version will apply. About vb4.x version: I didn't consider porting this hack to vb4 because vbulletin has now a VERY SIMILAR feature in vb4 called "NOTICES". You can find it under your admin cp/Notices submenu/Notice Manager. It is not as powerful as this hack as this hack allows you to use any kind of conditional to produce your announcement but it is more user friendly because you don't need to deal with conditional syntax, you simply build your announcement (notice) with menus If you install the hack, , thank you.. Logician \\=^)) Download This modification is archived and cannot be downloaded. Screenshots
|
Similar Mods
Dynamic Announcements: Programmable Forum Home Announcement/Message with conditionals | vBulletin 3.0 Full Releases |
Dynamic Announcements: Programmable Forum Home Announcement/Message with conditionals | vBulletin 2.x Full Releases |
Dynamic Forum Home Announcement - vBaCMPS Integration | vBulletin 3.0 Full Releases |