Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.5 > vBulletin 3.5 Add-ons

Reply
 
Thread Tools
Dynamic Announcements: Programmable Forum Home Announcement/Message with conditionals Details »»
Dynamic Announcements: Programmable Forum Home Announcement/Message with conditionals
Version: 1.01, by Logician Logician is offline
Developer Last Online: Nov 2023 Show Printable Version Email this Page

Version: 3.5.5 Rating:
Released: 09-27-2005 Last Update: 01-10-2007 Installs: 721
Uses Plugins Template Edits
 
No support by the author.

(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:
  • The announcement is displayed in forum home page, not inside thread view. So visitors will read them on home page without clicking any links.
  • The Hack's announcements are not static: ie. they can be powerfully programmed to display different texts according to different conditions.
For instance you can tell "why they should register" if visitor is a guest, but if he is a member with 0 posts, you can tell him why he should start posting etc.! All in one announcement! Everybody will see the relevant text according to his status. (This is the hack everybody keeps asking in the TheAdminZone.com whose using the hack for members with 0 and 1 posts.)


This version of the hack is for vbulletin 3.5.x and 3.6.x (vb 3.0.x version is here and vb 2.x version is here. 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:
  1. user is X
  2. user's usergroup is Y
  3. user has X posts or has more than Y posts but less than Z posts
  4. his last visit time was X days ago
  5. today is X, hour is between Y and Z, day is wednesday, month is Y, week is month's 2nd week, today is user's birthday
  6. etc.
Here is a Screenshot from a general table announcement.
Here is a Screenshot from a popup announcement.

Some Features:
  • Coded as a vbulletin pluggin. Can be installed easily without hacking PHP files.
  • It's Admin CP integrated
  • Smiley, BBCode, HTML, IMG tags are supported in announcements.
  • You can address your users with their usernames inside announcements (Use $bbuserinfo[username] variable)
  • Announcements are displayed directly in Forum Home so users are forced to read them.
  • The Conditionals help you to design powerful and ever changing announcements/private messages/forum home notifications.
  • Poupup announcement can not be killed by popup killer software
Hacks of Hack:
* For CMPS Integration see here
* French Translation by Allan : https://vborg.vbsupport.ru/showpost....&postcount=143
* Nested Conditionals by dc3dreamer : https://vborg.vbsupport.ru/showpost....&postcount=175
* Hack Annoucement appears in all vb pages:
https://vborg.vbsupport.ru/showthrea...498#post911498



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 instructions to remove the remnants of 3.0.x hack.
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, click INSTALL, thank you..

Logician \\=^))

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #342  
Old 01-29-2007, 01:58 PM
lazydesis lazydesis is offline
 
Join Date: Sep 2006
Posts: 234
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

hello could someone help me with the conditionals ..so that the message pops up only for users who have not voted on a poll? for eg. say pollid=10

thanx
Reply With Quote
  #343  
Old 01-29-2007, 07:07 PM
Logician's Avatar
Logician Logician is offline
 
Join Date: Nov 2001
Location: inside vb code
Posts: 4,449
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by lazyindian View Post
hello could someone help me with the conditionals ..so that the message pops up only for users who have not voted on a poll? for eg. say pollid=10

thanx
this wouldn't be possible with this hack, sorry..
Reply With Quote
  #344  
Old 02-05-2007, 02:12 AM
taydu taydu is offline
 
Join Date: Oct 2006
Posts: 103
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

For those who wanted to have the pop up static try the following (I just copy & paste some code from dynamic drive. I'm not really good with coding so if anyone can please clean up the code.)

1. Find dhf_announcement_popup

2. Add to top
Code:
<div id="topbar">
3. Add to bottom
Code:
</div>
4. Open the header include template

5. Add to bottom
Code:
<style type="text/css">

#topbar{
position:absolute;
width: 620px;
visibility: hidden;
z-index: 100;
}

</style>

<script type="text/javascript">

/***********************************************
* Floating Top Bar script- ? Dynamic Drive (www.dynamicdrive.com)
* Sliding routine by Roy Whittle (http://www.javascript-fx.com/)
* This notice must stay intact for legal use.
* Visit http://www.dynamicdrive.com/ for full source code
***********************************************/

var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 30 //set x offset of bar in pixels
var startY = 5 //set y offset of bar in pixels
var verticalpos="fromtop" //enter "fromtop" or "frombottom"

function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}

function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}

function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}

function staticbar(){
	barheight=document.getElementById("topbar").offsetHeight
	var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
	var d = document;
	function ml(id){
		var el=d.getElementById(id);
		if (!persistclose || persistclose && get_cookie("remainclosed")=="")
		el.style.visibility="visible"
		if(d.layers)el.style=el;
		el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
		el.x = startX;
		if (verticalpos=="fromtop")
		el.y = startY;
		else{
		el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
		el.y -= startY;
		}
		return el;
	}
	window.stayTopLeft=function(){
		if (verticalpos=="fromtop"){
		var pY = ns ? pageYOffset : iecompattest().scrollTop;
		ftlObj.y += (pY + startY - ftlObj.y)/8;
		}
		else{
		var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
		ftlObj.y += (pY - startY - ftlObj.y)/8;
		}
		ftlObj.sP(ftlObj.x, ftlObj.y);
		setTimeout("stayTopLeft()", 10);
	}
	ftlObj = ml("topbar");
	stayTopLeft();
}

if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
Reply With Quote
  #345  
Old 02-14-2007, 03:22 PM
bts420 bts420 is offline
 
Join Date: Jan 2007
Posts: 14
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I've installed the script unfortunately when I use the popup announcement, pressing the close button does not close the popup. Anyone else having this problem?
Reply With Quote
  #346  
Old 02-14-2007, 08:11 PM
voteforbird's Avatar
voteforbird voteforbird is offline
 
Join Date: Jul 2006
Posts: 121
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Would this be the correct code for a member who visited within the last 7 days, joined at least 2 weeks ago and is not a member of group 27? This is to combined with "do not display for 720 hours" as a donate reminder every month.:
PHP Code:
[[!($bbuserinfo[lastvisit]
AND 
$bbuserinfo[lastvisit]<strtotime(-7 days))
AND 
is_member_of($bbuserdata['usergroupid'],27)
AND 
$bbuserinfo[joindate]>strtotime("-2 weeks")]]
Text
[[/($bbuserinfo[lastvisit]
AND 
$bbuserinfo[lastvisit]<strtotime(-7 days))
AND 
is_member_of($bbuserdata['usergroupid'],27)
AND 
$bbuserinfo[joindate]>strtotime("-2 weeks")]] 
Reply With Quote
  #347  
Old 02-14-2007, 08:25 PM
voteforbird's Avatar
voteforbird voteforbird is offline
 
Join Date: Jul 2006
Posts: 121
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Also, is the hours timer cookie or db-based?
Reply With Quote
  #348  
Old 02-19-2007, 11:34 PM
voteforbird's Avatar
voteforbird voteforbird is offline
 
Join Date: Jul 2006
Posts: 121
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Anyone?
Reply With Quote
  #349  
Old 03-16-2007, 08:51 PM
voteforbird's Avatar
voteforbird voteforbird is offline
 
Join Date: Jul 2006
Posts: 121
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there no support for this add-on?

It seems that whenever I use the timer setting, it simply doesn't show at all.
Reply With Quote
  #350  
Old 04-03-2007, 06:36 PM
monasa monasa is offline
 
Join Date: Mar 2007
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Im beginner user of VB 3.6.5 and interested to integrate DFHA to my forum. However still cant figure out what does this mean in installation instructions,

2- Edit forumhome/forumhome template and find:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
</head>
<body>
$header
$navbar
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Please guide me on these :-
Where does this forumhome/forumhome template located?
What files should I modify?

Your help much appreciated.
Reply With Quote
  #351  
Old 04-03-2007, 08:38 PM
monasa monasa is offline
 
Join Date: Mar 2007
Posts: 5
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by monasa View Post
Im beginner user of VB 3.6.5 and interested to integrate DFHA to my forum. However still cant figure out what does this mean in installation instructions,

2- Edit forumhome/forumhome template and find:
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
</head>
<body>
$header
$navbar
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

Please guide me on these :-
Where does this forumhome/forumhome template located?
What files should I modify?

Your help much appreciated.
found it myself
Reply With Quote
Reply

Thread Tools

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 06:50 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.05202 seconds
  • Memory Usage 2,326KB
  • Queries Executed 25 (?)
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
  • (3)bbcode_code
  • (1)bbcode_php
  • (2)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (4)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (11)postbit_onlinestatus
  • (11)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