The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Active Topics - (replaces New Posts) Sorted By [x] Amount Of Time Details »» | |||||||||||||||||||||||||||
Active Topics - (replaces New Posts) Sorted By [x] Amount Of Time
Developer Last Online: Nov 2023
This is something I never saw on any vbulletin sites before, and loved it when I used to be a member of a snitz forum. It is the 'Active Topics' feature...
What does it do? It replaces your 'New Posts' link in your navbar with a drop down list of times to view posts, from all forums(depending on user permissions, which they can and cannot see). What will it look like? View live version, here. How many templates do i have to edit? You only have to edit your 'navbar' template. Very easy to do. How many phrases do I have to add? It depends on how specific you want your Active Topics bar to be. How many .php files will I have to edit? You only have to edit your search.php in one little area. Very simple. Good luck with this hack, and I hope you enjoy it as much as I do. ================================================== ======= ================================================== ======= ================================================== ======= ================================================== ======= Active Topics - compiled from multiple hacks(credit given at bottom) and tweaked by Trevelyn1015 This small template mod is for the vB 3.0.3 navbar template. This mod replaces the Today's Posts/New Posts links with an 'Active Topics' dropdown menu. It only works when vB dropdowns are allowed, otherwise the default vB link is displayed. 1) Go to the vB Phrase Manager and add the following Global phrases (see vB help for further directions). If you want different times, adjust accordingly: Code:
$vbphrase[active_topics_nav] = "Active Topics"; $vbphrase[get_fifteen_minutes] = "Last 15 Minutes"; $vbphrase[get_thirty_minutes] = "Last 30 Minutes"; $vbphrase[get_fortyfive_minutes] = "Last 45 Minutes"; $vbphrase[get_one_hour] = "Last Hour"; $vbphrase[get_three_hours] = "Last 3 Hours"; $vbphrase[get_six_hours] = "Last 6 Hours"; $vbphrase[get_twelve_hours] = "Last 12 Hours"; $vbphrase[get_one_day] = "Last Day"; $vbphrase[get_three_days] = "Last 3 Days"; $vbphrase[get_one_week] = "Last Week"; $vbphrase[get_three_weeks] = "Last 3 Weeks"; $vbphrase[get_one_month] = "Last Month"; 2) Go to the vB Phrase Manager and edit the following phrase: 'new_posts_nav' - edit the translation to be "Since Last Visit" 3) Make the following TWO edits to the vB 3.0.3 navbar template: EDIT ONE: Find the following: <if condition="$show['popups']"> <if condition="$show['searchbuttons']"> <if condition="$show['member']"> <td class="vbmenu_control"><a href="search.php?$session[sessionurl]do=getnew" accesskey="2">$vbphrase[new_posts_nav]</a></td> <else /> <td class="vbmenu_control"><a href="search.php?$session[sessionurl]do=getdaily" accesskey="2">$vbphrase[todays_posts]</a></td> </if> And REPLACE with the following: <if condition="$show['popups']"> <if condition="$show['searchbuttons']"> <td id="navbar_posts" class="vbmenu_control"><a href="search.php?$session[sessionurl]" accesskey="2">$vbphrase[active_topics_nav]</a> <script type="text/javascript"> vbmenu_register("navbar_posts"); </script></td> EDIT TWO: Find the following: Code:
<if condition="$show['popups']"> <!-- NAVBAR POPUP MENUS --> Code:
<if condition="$show['searchbuttons']"> <div class="vbmenu_popup" id="navbar_posts_menu" style="display:none"> <table cellpadding="4" cellspacing="1" border="0"> <tr><td class="thead">$vbphrase[active_topics_nav]</td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getnew" accesskey="2">$vbphrase[new_posts_nav]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&minutes=15" accesskey="2">$vbphrase[get_fifteen_minutes]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&minutes=30" accesskey="2">$vbphrase[get_thirty_minutes]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&minutes=45" accesskey="2">$vbphrase[get_fortyfive_minutes]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&hours=1" accesskey="2">$vbphrase[get_one_hour]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&hours=3" accesskey="2">$vbphrase[get_three_hours]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&hours=6" accesskey="2">$vbphrase[get_six_hours]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&hours=12" accesskey="2">$vbphrase[get_twelve_hours]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&days=1" accesskey="2">$vbphrase[get_one_day]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&days=3" accesskey="2">$vbphrase[get_three_days]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&days=7" accesskey="2">$vbphrase[get_one_week]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&days=21" accesskey="2">$vbphrase[get_three_weeks]</a></td></tr> <tr><td class="vbmenu_option"><a href="search.php?$session[sessionurl]do=getdaily&days=31=" accesskey="2">$vbphrase[get_one_month]</a></td></tr> </table> </div> </if> 4) In your search.php: Find: Code:
'days' => INT, Code:
'hours' => INT, 'minutes' => INT, 'seconds' => INT, Then, find: Code:
// get date: if ($_REQUEST['do'] == 'getnew' AND $bbuserinfo['lastvisit'] != 0) { // if action = getnew and last visit date is set $datecut = $bbuserinfo['lastvisit']; } else { $_REQUEST['do'] = 'getdaily'; if ($days < 1) { $days = 1; } $datecut = TIMENOW - (24 * 60 * 60 * $days); } Code:
// get date: if ($_REQUEST['do'] == 'getnew' AND $bbuserinfo['lastvisit'] != 0) { // if action = getnew and last visit date is set $datecut = $bbuserinfo['lastvisit']; } else { $_REQUEST['do'] = 'getdaily'; if (($days < 1)AND(!$hours)AND(!$minutes)AND(!$seconds)) { $days = 1; $hours = 0; $minutes = 0; $seconds = 0; } elseif($days < 1) { $days = 0; } $datecut = TIMENOW - (($days*24*60*60) + ($hours*60*60) + ($minutes*60) + $seconds); } If you have installed this hack, please click ==> ================================================== ======= ================================================== ======= ================================================== ======= ================================================== ======= Thanks to: amykhar and sabret00the for helping me with the search.php editing. waxed, from vbulletintemplates, for a hack released to create a "since [x] amount of days", which was the foundation of how i put this together. Show Your Support
|
Comments |
#32
|
||||
|
||||
Okay guys and girls, you're getting me involved now.
First of all, trevelyn1015 did give credit to amykhar, sabret00the and waxed for helping him put the hack together. Secondly, he should have probably made the font thanking them a bit bigger (it's tiny font right at the bottom of the first post) but that's his prerogative. None of us should judge him - the choice on how he gives credit is up to him. If it was me, I would have put their names in bold and right at the top, but hey, that's me. Thirdly, although none of the code may have originally come from him, this is how most coders start out - by taking bits of code from other places and putting them together. The more you do this, the more you learn, and after a while, you start to write your own code. So we shouldn't be too hard on trevelyn1015. Fourthly, vBulletin.org does not condone the copy of other people's code without permission - that would be illegal and a breach of copyright. However, in this case, I gather that he did have permission, or at least, permission was implied as the code he used was given to him to be used. Fifthly, we are not all 5-year olds here. Let's all apologize to each other, and move on. There are more important things in life than to bicker over a few lines of code that is in the end free and not costing anyone any money. I darn sure hope this is the LAST post on this issue. Let's talk about the hack instead, which is, btw, a good idea. |
#33
|
||||
|
||||
good post, and just so everyone knows, i figured out where to put the code w00t to me lmao, oh and i can't say i care that he released it, my input turned out to be a finger sticking out at the end of an extended arm saying do something like that. i must say though in good taste travelyn should pm amy and set things right with an apology for not notifying her that he was gonna release the code. all in all it's a handy hack and it does differ from the vBT version as it does so much more, it's kinda like saying no one can run with a concept just check out the world we live in, it's built on people taking a basic thing and building it up into a more useable product, alas the nature of the world we live in. lets all have fun and hope that we get many more hacks from everyone in the future.
|
#34
|
|||
|
|||
<apology pm sent to amy>
and to set other things straight... Quote:
|
#35
|
|||
|
|||
Cool. Been wanting this for a while. Thanks.
Has anyone figured how to adjust the "Posts From Last Day" that is always displayed at the top of the search results to "Posts In Last Hour" or whatever is appropriate? TIA |
#36
|
||||
|
||||
it's easy modify the phrase like <$phrase time phrase="1"> or however vB does it and then in the search .php has $timephrase = "time" ofcouse you'd use a confidtional for that, then in the phrase just change it to add {1} where the timeframe was
|
#37
|
|||
|
|||
Quote:
Any help would be appreciated. Rgds |
#38
|
|||
|
|||
which phrase do you want to change?
|
#39
|
|||
|
|||
Quote:
Here is what I posted before, just for the records. When you do a search for post since 6 hours or 3 days or whatever, when it shows the results, at the header of the table, it always says "Search : Posts From Last Day". I would like that to show the search that you performed actually, like if you searched for posts in the last 3 hours, to say "Search : Posts from the last 3 hours". I tried adding some switch in the getdaily routine, which sets the value of a string to the proper contents, but the string value is lost somewhere between the getdaily and the template which shows the results. Any help would be appreciated. Thanks and regards |
#40
|
|||
|
|||
Is it possible to modify so that the active topics-page reloads after 2 mins?
I also wonder if there are some way to get the topics sorted by forum (like the way active topics works for Snitz) /Fredrik |
#41
|
|||
|
|||
does it works for Vb 3.0.7??
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|