Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #17  
Old 02-04-2007, 04:34 PM
Kirk Y's Avatar
Kirk Y Kirk Y is offline
 
Join Date: Apr 2005
Location: Tallahassee, Florida
Posts: 2,604
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I butchered something together for just such a task a few weeks back - it's not perfect, but it does work.

Go here and download vBExternal, it says it's for 3.5.0 Beta 1 - but don't worry, it doesn't make any modifications to your forum, it doesn't even have any Plugins. Upload those files to your server. https://vborg.vbsupport.ru/showthread.php?t=83005

Open up the vBExternal.php file and follow on...

Find:
Code:
// ---------------------------------------------------
	// FUNCTION: output_UsersOnline
	// DETAIL:   Outputs All Users Online In The Forum
	// ---------------------------------------------------
Add before:
Code:
	// ---------------------------------------------------
	// FUNCTION: output_Thread
	// DETAIL:   Outputs the first post from the specified thread
	// ---------------------------------------------------

	function output_Thread($t = "",$a=""){
	global $db, $Data, $vbulletin;

	// Define Forum To Pull From
	$Thread = ($t)? intval($t): '';

		if(!$Thread){
		RunError("No specified thread to pull from.");
		}

	// Load Template
	$Template = LoadTemplate("_thread.html");
	
	// Collect Data
	$NewestNews = $db->query("
			select t.*,p.pagetext
			from ".TABLE_PREFIX."thread t
			left join ".TABLE_PREFIX."post p on(p.postid=t.firstpostid)
			where t.threadid = $Thread
			");


	$parser =& new vB_BbCodeParser($vbulletin, fetch_tag_list());

		while($News = $db->fetch_array($NewestNews)){
		$Data .= ParseTemplate($Template,
							array(
								'threadid'     => $News['threadid'],
								'threadname'   => $News['title'],
								'postuserid'   => $News['postuserid'],
								'postusername' => $News['postusername'],
								'post'         => $parser->do_parse(substr($News['pagetext'], 0, strrpos(substr($News['pagetext'], 0, $a), ' ')) . construct_phrase($vbphrase['read_more_news'], $vbulletin->options['bburl'], $sql['threadid'], $session['sessionurl'])),
								'comments'     => vb_number_format($News['replycount']),
							)	
			);
		}
	doOutput();
	}
Then you need to create a new HTML document in the vBExternal folder, name it _thread.html and fill it with the following contents:
Code:
{post}...
<br /><span class="readmore" style="float:right;"><a href='{url}/showthread.php?t={threadid}' class="readmore" style='text-decoration:none;'><strong>[Read More]</strong></a></span>
Then wherever you want to display the first post of a thread, use this:
Code:
<?php
output_Thread(2504,1500);
?>
2504 is the ThreadID and 1500 is the Amount of Characters to Display.
Don't forget to CHDIR the file you're placing the code in.
Reply With Quote
 


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 05:39 PM.


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.06622 seconds
  • Memory Usage 2,813KB
  • Queries Executed 12 (?)
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
  • (6)bbcode_code
  • (11)bbcode_php
  • (4)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (19)post_thanks_box
  • (19)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (19)post_thanks_postbit_info
  • (19)postbit
  • (19)postbit_onlinestatus
  • (19)postbit_wrapper
  • (1)showthread_list
  • (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_threadedmode.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_threaded
  • showthread_threaded_construct_link
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete