The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
![]() |
|||||||||||||||||||||||||||
vBadvanced CMPS - News Digest Module 1.02
![]() Developer Last Online: Jun 2009 ![]() ![]()
This header message last editted October 10th.
News Digest for vBadvanced CMPS vers. 1.0.2 This hack allows your vBadvanced hompage to display news in a digest format. Instead of having each article appear in a box, it will appear as an item in a bulleted list. These lists are sorted by date and then by category. If you're site has more than a couple of news items per day you should find this hack useful, especially if those news items are particularly small by themselves (only a line or two of text). Live examples: http://www.enworld.org/forums/index.php (starting below the ad for Dundjinni). This hack requires that you have vBadvanced CMPS of course. Image support for the categories (as seen on the enworld site) can be accomplished by installing BeerMonster's banner images on forumhome hack. If you don't want to install this other hack, or if you're boards has a different hack that associates images with forums, you'll need to modify the provided newsdigest.php file. BeerMonster's hack is found here... https://vborg.vbsupport.ru/showthread.php?t=63994 During the installation of this hack you will create 3 templates. This hack requires no file modifications in and of itself, but some supplemental hacks do require such modifications, and they'll be dealt with in detail shortly. First, the primary hack: Step 1: Prepare the newsdigest.php file. Download the attached file and put it in [yourforum]/modules/ Step 1A: If you don't want to have any forum images for your categories, or don't wish to install the forum banners hack above then open the newsdigest.php file and search for the following code. Find: PHP Code:
PHP Code:
Step 2: Create the Templates Create a new template called adv_portal_newsdigest_date and insert the following into it: HTML Code:
<if condition="$prevdate"><br /><hr></if> <table align="center" border="0" cellpadding="0" cellspacing="0" width="100%"> <tr> <td align="center" valign="top" class="tborder"> <table align="center" border="1" cellpadding="$stylevar[cellpadding]" cellspacing="$stylevar[cellspacing]" width="100%"> <tr> <td align="center" valign="top" class="tcat"> $datelongform </td> </tr> </table> </td> </tr> </table> <br> HTML Code:
<b>$news[title]</b><if condition="$news['icon']"><img src="./images/forumicons/$news[icon]" align="right" height="60" weight="60"></if> HTML Code:
<b>$news[title]</b> HTML Code:
<div align="justify">$news[message] - scoop submitted by $news[postusername]</div> Go to your forum manager and create one news forum for each news category you desire to have on your news page. Also choose their display order at this step by modifying the display orders of the forums themselves. Note their forum #'s Step 4: Prepare the News Page Open your vBadvanced CMPS control panel and select "Add Module" Module Title: News Digest File to Include: newsdigest.php Templates to Include: adv_portal_newsdigest_date, adv_portal_newsdigest_category, adv_portal_newsdigest_item Step 5: Activate the Module Go to your page settings and turn the original news module off (It's redundant). Enter the forum #'s of each forum you want in any order (the display order of the categories is the same as the forums. Turn the newsdigest module on. --------------------------------------------------------- FINISHED. Version History Version 1.0.0 had several little glitches due to me rushing it out the door in my excitement from creating my first big hack. I'll demonstrate a bit more patience in the future. Version 1.0.1 (and prior) has a serious month wrap bug. Version 1.0.2 is current. If you like this hack please click install - thx. --------------------------------------------------------- Supplemental Hack: Bump and Debump News The date of the news is important with this hack. If you find an item displaying on the wrong day then you can use the following tools to scoot it around. Note - this "supplemental" hack is almost exactly like Rigel Kentaurus' "Bump Thread and Make Thread Older" hack, so I'm not going to take any credit for originality. Here is the modified version of his hack for bumping news items around for the digester. Code:
Code Modifications: 2 in 1 file Template Modifications: 2 in 1 template New phrases: 4 ################################################################### # Code modifications in file "postings.php" ################################################################### ------------------------------------------------------------------- search for this code: ------------------------------------------------------------------- case 'removeredirect': ------------------------------------------------------------------- change it to: ------------------------------------------------------------------- case 'removeredirect': // Hack: bump and debump case 'bumpnews': case 'debumpnews': ------------------------------------------------------------------- search for this code: ------------------------------------------------------------------- // ############################### start do open / close thread ############################### ------------------------------------------------------------------- change it to: ------------------------------------------------------------------- // ############################### start news bump and de-bump ########################### if ($_REQUEST['do'] == 'bumpnews') { // only mods with the correct permissions should be able to access this if (!can_moderate($threadinfo['forumid'], 'caneditthreads')) { print_no_permission(); } // Bump $DB_site->query("UPDATE ".TABLE_PREFIX."thread SET dateline=".TIMENOW." WHERE threadid='".$threadinfo['threadid']."'"); $url = "forumdisplay.php?$session[sessionurl]f=$threadinfo[forumid]"; eval(print_standard_redirect('redirect_bumpnews')); } if ($_REQUEST['do'] == 'debumpnews') { // only mods with the correct permissions should be able to access this if (!can_moderate($threadinfo['forumid'], 'caneditthreads')) { print_no_permission(); } // De-Bump $DB_site->query("UPDATE ".TABLE_PREFIX."thread SET dateline=dateline-86400 WHERE threadid='".$threadinfo['threadid']."'"); $url = "forumdisplay.php?$session[sessionurl]f=$threadinfo[forumid]"; eval(print_standard_redirect('redirect_debumpnews')); } ################################################################### # Template modifications in SHOWTHREAD ################################################################### ------------------------------------------------------------------- search for this: ------------------------------------------------------------------- <option value="removeredirect">$vbphrase[remove_redirects]</option> ------------------------------------------------------------------- change it to: ------------------------------------------------------------------- <option value="removeredirect">$vbphrase[remove_redirects]</option> <option value="bumpnews">$vbphrase[bumpnews]</option> <option value="debumpnews">$vbphrase[debumpnews]</option> ------------------------------------------------------------------- search for this: ------------------------------------------------------------------- <div><label for="ao_rrd"><input type="radio" name="do" id="ao_rrd" value="removeredirect" />$vbphrase[remove_redirects]</label></div> ------------------------------------------------------------------- change it to: ------------------------------------------------------------------- <div><label for="ao_rrd"><input type="radio" name="do" id="ao_rrd" value="removeredirect" />$vbphrase[remove_redirects]</label></div> <div><label for="ao_bump"><input type="radio" name="do" id="ao_bump" value="bumpnews" />$vbphrase[bumpnews]</label></div> <div><label for="ao_dbump"><input type="radio" name="do" id="ao_dbump" value="debumpnews" />$vbphrase[debumpnews]</label></div> ################################################################### # New phrases ################################################################### Add these four phrases in the admin control panel (Phrase Manager -> Add new Phrase) Type: Show thread Name: bumpnews Text: Bump News Type: Show thread Name: debumpnews Text: Make News older Type: Front-End Redirect Messages Name: bumpnews Text: The News item is now set to today Type: Front-End Redirect Messages Name: debumpnews Text: The News Item is now one day older Supporters / CoAuthors Show Your Support
|
Comments |
#22
|
||||
|
||||
![]()
Hmm.. Try thread.replycount instead of just replycount
EDIT: That will work, though you'll need to make it alias to something else so that you can read the resultant variable. Try thread.replycount AS comments Then in the template the variable will be $news[comments] EDIT2: To clarify the query will read as follows when you're done. SELECT thread.threadid, thread.replycount AS comments, postusername, postuserid, ...and so on... |
#23
|
|||
|
|||
![]()
Yuppers. That work.
And i'm just about done with the other part now too. Just need to finish linking it somewhere. ![]() Edit 1: Ok, found the syndication needed to be turned on was the external javascript. I wasn't getting anythign with the xml on. http://ahazi.org/index.php?page=pastnews <--- But link at bottom is not working and i'm not seeing the link you talked about showing up either in the forums. |
#24
|
||||
|
||||
![]()
Oops, sorry.
We've got so many hacks running around on EN World it's hard to remember what the default features are.. The external javascript is kicked out by the hack in this thread https://vborg.vbsupport.ru/showthread.php?t=59776 If you want to encourage people to syndicate your news I'd recommend it. |
#25
|
||||
|
||||
![]()
Just when you think everything's fine the file goes haywire when the month wraps over. New version uploaded. This one doesn't rely on the MySQL Unix Timestamp function but instead uses strtotime(); to find the UNIX timestamp for the start of each of the last 8 days (including today).
|
#26
|
|||
|
|||
![]() Quote:
I tried this: PHP Code:
PHP Code:
**It also seems to be showing them in the wrong order (yesterday's first followed by today's underneath*** I would like it to only display one digest at a time, updated daily, which includes all news posts from the last X number of days (instead of one digest a day displaying just items from that day) is that easily possible? |
#27
|
||||
|
||||
![]() Quote:
1. Get the range of days (possibly using $_REQUEST or $_POST so that users can look stuff up). 2. Use strtotime() to convert the range to Unix timestamps. 3. Run the query, putting the posts into an array sorted by time. 4. Divide the array up by days within the range. 5. Further divide by categories 6. Assemble it. Doing it this way would save a LOT of queries. |
#28
|
||||
|
||||
![]()
BTW, to be honest, this should be a default feature of vba_cmps IMO
|
#29
|
|||
|
|||
![]()
Great Michael! It worked.
I just had to change my forum.icon to forum.fhbanner. That was different from the pervious version also. ![]() |
#30
|
|||
|
|||
![]() Quote:
That isn't intended to sound demanding at all, merely inquisitive. |
#31
|
||||
|
||||
![]()
Hmm. Is there an easy way to have it just display the title of the thread in the news forum and have that title link to the article?
|
![]() |
Thread Tools | |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
![]() |
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|