Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.0 > vBulletin 3.0 Full Releases
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
vBadvanced CMPS - News Digest Module 1.02 Details »»
vBadvanced CMPS - News Digest Module 1.02
Version: 1.0.2, by Michael Morris Michael Morris is offline
Developer Last Online: Jun 2009 Show Printable Version Email this Page

Version: 3.0.3 Rating:
Released: 10-02-2004 Last Update: 10-31-2004 Installs: 15
 
No support by the author.

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:
SELECT thread.threadidpostusernamepostuseridthread.dateline AS postdatelinethread.forumidforum.title as titleforum.fhbanner as iconpost.postidpagetextallowsmilie 
Replace With:
PHP Code:
SELECT thread.threadidpostusernamepostuseridthread.dateline AS postdatelinethread.forumidforum.title as titlepost.postidpagetextallowsmilie 
Advanced Users Note: the only difference between these two blocks is the 2nd lacks the "forum.fhbanner as icon," entry. If you have already installed a hack that creates forum images for use with categories you can change this line to refer to the column you've set. For instance, on enworld the line is "forum.icon as icon,"

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>
Create a new template called adv_portal_newsdigest_category and insert the following into it.

HTML Code:
<b>$news[title]</b><if condition="$news['icon']"><img src="./images/forumicons/$news[icon]" align="right" height="60" weight="60"></if>
If you don't want category images insert this code instead:

HTML Code:
<b>$news[title]</b>
Create a new template called adv_portal_newsdigest_item and insert the following into it:

HTML Code:
<div align="justify">$news[message] - scoop submitted by $news[postusername]</div>
Step 3: Set up your News Forums
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

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

Comments
  #22  
Old 10-28-2004, 08:35 AM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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...
Reply With Quote
  #23  
Old 10-28-2004, 08:48 AM
Jaxx Jaxx is offline
 
Join Date: Mar 2003
Location: Seattle, Wa
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #24  
Old 10-28-2004, 09:23 AM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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.
Reply With Quote
  #25  
Old 11-01-2004, 01:38 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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).
Reply With Quote
  #26  
Old 11-01-2004, 02:15 PM
WAR WAR is offline
 
Join Date: Jan 2004
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Michael Morris
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).
How difficult would it be to turn this into a weekly news digest?

I tried this:

PHP Code:
    $timespan strtotime('12:00 AM 2 weeks ago');
    
construct_newsdays(); 
And also changed the new query to:
PHP Code:
            WHERE thread.dateline>$timespan AND thread.forumid IN($vba_options[portal_news_forumid]) 
            AND 
thread.visible AND thread.open != 10 $notdeleted 
But it doesn't work it is still showing digests from yesterday and today (I installed it yesterday)
**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?
Reply With Quote
  #27  
Old 11-01-2004, 02:40 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by WAR
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?
Not until I rework the code. What I need to do to figure out how to load all the posts in the specified timespan into a single array that the code can then manipulate. The flowchart would be

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.
Reply With Quote
  #28  
Old 11-01-2004, 02:42 PM
Michael Morris's Avatar
Michael Morris Michael Morris is offline
 
Join Date: Nov 2003
Location: Knoxville TN
Posts: 774
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

BTW, to be honest, this should be a default feature of vba_cmps IMO
Reply With Quote
  #29  
Old 11-01-2004, 10:22 PM
Jaxx Jaxx is offline
 
Join Date: Mar 2003
Location: Seattle, Wa
Posts: 102
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Great Michael! It worked.

I just had to change my forum.icon to forum.fhbanner. That was different from the pervious version also.
Reply With Quote
  #30  
Old 11-17-2004, 09:29 PM
WAR WAR is offline
 
Join Date: Jan 2004
Posts: 61
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by Michael Morris
BTW, to be honest, this should be a default feature of vba_cmps IMO
Were you planning on reworking this? Or should I start trying to slog my way through it?

That isn't intended to sound demanding at all, merely inquisitive.
Reply With Quote
  #31  
Old 11-17-2004, 09:59 PM
KTBleeding's Avatar
KTBleeding KTBleeding is offline
 
Join Date: Feb 2004
Location: Tooele, UT
Posts: 756
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

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?
Reply With Quote
Reply


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 10:34 AM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04554 seconds
  • Memory Usage 2,345KB
  • Queries Executed 28 (?)
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
  • (1)bbcode_code
  • (4)bbcode_html
  • (4)bbcode_php
  • (3)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
  • (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_postinfo_query
  • fetch_postinfo
  • 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