Sitewide Announcement.
This modification is in the archives.
This was one of my first hacks, but I've learned so much since then so as to completely invalidate the old code. Not that it didn't work, but it's clumsy.
This template mod (there is no code to hack) generates an announcement in the variable of $announcement that you can then put in you're header or you're navbar if you're so inclined. The announcement changes based on the usergroup but also on whether or not registered users have posted or posted recently. The key to the code goes in the PHPINCLUDE_START template. You can put this at the very start or the very end of you're template so long as you don't drop it into the middle of something else. PHP Code:
// #####################################################
announcement_all announcement_guest announcement_pending announcement_staff announcement_noposts announcement_noposts14days announcement_registered Ok, that's it and ready to run. You can plug $announcement into your header or the like, though you might want to frame it in a table or layer. You can turn that framing table or layer off when the $announcement is empty like so... <if condition="!empty($announcement)"> <table><tr><td>$announcement</td></tr></table> </if> Now, you can of course do all of the above with raw template conditionals HOWEVER, this approach has the advantage that the $announcement templates are easier to read and modify by someone with very little HTML experience. So, this approach comes in handy for making modification easy for someone else. However, for the curious, here is the SAME system, entirely as a template conditional done in HTML. HTML Code:
<if condition="is_member_of($bbuserinfo, 1)"> TEXT OF THE GUEST MESSAGE <else /><if condition="is_member_of($bbuserinfo, 3)"> TEXT OF THE PENDING USER'S MESSAGE <else /><if condition="is_member_of($bbuserinfo, 5) OR is_member_of($bbuserinfo, 6) OR is_member_of($bbuserinfo, 7)"> TEXT OF THE STAFF MESSAGE <else /><if condition="$bbuserinfo['posts'] == 0"> TEXT OF THE MESSAGE TO USERS WITH 0 POSTS <else /><if condition="(TIMENOW - $bbuserinfo['lastpost'] > 1209600)"> TEXT OF THE MESSAGE TO USERS WITHOUT A POST IN THE LAST 14 DAYS <else /> TEXT OF THE MESSAGE TO ALL REMAINING USERS. </if></if></if></if></if> Anyway, if you absolutely must do some hacking, you can perform the following hack to optimize this template modification. In your global.php file look for this code PHP Code:
// identify where we are
PHP Code:
$globaltemplates = array_merge($globaltemplates,
I'll leave you with EN World's contents of each of these messages to give you some ideas on what to put in each one in order to encourage folks to post and join you're community. ANNOUNCMENT_GUEST HTML Code:
<b>Welcome to EN World, one of the busiest <i>Dungeons & Dragons</i> and d20 System fan sites on the internet. You will need to <a href="register.php">join EN World</a> for free before you can post messages or use many of the site's features, but you are welcome to read the boards and news without joining. Please feel free to join and participate in the friendly discussions of all things D&D and d20!</b> HTML Code:
Welcome!! You're seeing this message because you have successfully completed your registration but you've never posted. We'd love to hear from you. <a href="newreply.php?do=newreply&noquote=1&p=1828845">Click here</a> to say Hello and maybe even post a few details about yourself<br /> <br /> Oh, and welcome to EN World. HTML Code:
Hello. You're seeing this message because you haven't posted in the last 14 days. While participation in the forums isn't required, it is encouraged. We'd love to hear your comments and opinions on all things gaming related. HTML Code:
Welcome to EN World! You have registered a new account, but you still need to verify your email address. Please check your email for details on how to do this, or <a href="register.php?$session[sessionurl]do=requestemail">click here</a> to be sent a new verification email. If you did not receive the email then it's possible it was blocked by your email client. In this case you can either disable your blocker software or enter a new email address in <a href="profile.php?$session[sessionurl]do=editpassword">your profile</a> HTML Code:
<b>Welcome to EN World! Please consider becoming a <a href="http://www.enworld.org/forums/subscriptions.php?">community supporter</a>. A community supporter is somebody who has donated to EN World in order to help cover the costs of very server-intensive, and thus expensive features (in particular, the search feature). The features available only to community supporters are Search, Private Messaging, Custom User Titles, Who's Online and EN World's in-built RPG. Note that you can also get these features separately.</b> Download No files for download. Supporters / CoAuthors
|