Last topic on index.

Hulp nodig bij een modificaties of op zoek naar een MOD? Bekijk ons archief. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Nymphy
Berichten: 1504
Lid geworden op: 28 mar 2003, 18:00
Locatie: Grevenbicht

Last topic on index.

Bericht door Nymphy » 05 mar 2005, 19:37

Tja vrijwel DE simpelste hack die er is..

maar hij laat de laatste topics dus niet zien op de index :? :roll:

enige wat je schijnbaar maar hoeft te doen is dit :

Code: Selecteer alles

##############################################################
## Mod Title:   Last post topic on index
## Original Mod Title: shows topic of last made post on index
## Mod Version: 1.0.0
## Author:		MandersOnline <mods@mandersonline.nl>
##			http://www.mandersonline.nl/mods
## Author Original:	e-sven <sven@e-sven.net> 
##			http://www.e-sven.net
## Description: -adds lasts post topic to each forum on
##               the index page (based on read-access)
##		-word censorship is used
##		-topic title with more then 27 chars are cut off
##		-mouseover info displays the full title
##
## Installation Level:  easy
## Installation Time:   2-5 Minutes
## Files To Edit:       index.php
## Included Files:      index.php (pre-modded)
##############################################################
## History:
##         1.0 Release for phpBB 2.0.10
############################################################## 
## Before Adding This MOD To Your Forum, 
## You Should Back Up All Files Related To This MOD
##############################################################

#
#-----[ OPEN ]------------------------------------------------
#
index.php

#
#-----[ ACTION Find ]-----------------------------------------
#
			$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id
				FROM (( " . FORUMS_TABLE . " f
				LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )
				LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id )
				ORDER BY f.cat_id, f.forum_order";
			break;
	}
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
	}

	$forum_data = array();
	while( $row = $db->sql_fetchrow($result) )
	{
		$forum_data[] = $row;
	}
	$db->sql_freeresult($result);

	if ( !($total_forums = count($forum_data)) )
	{
		message_die(GENERAL_MESSAGE, $lang['No_forums']);
	}

	//
	// Obtain a list of topic ids which contain

#
#-----[ REPLACE WITH ]----------------------------------------
#
 		$sql = "SELECT f.*, p.post_time, p.post_username, u.username, u.user_id, t.topic_title, t.topic_last_post_id " .
			" FROM ((( " . FORUMS_TABLE . " f " .
			" LEFT JOIN " . POSTS_TABLE . " p ON p.post_id = f.forum_last_post_id )" .
			" LEFT JOIN " . USERS_TABLE . " u ON u.user_id = p.poster_id ) " .
			" LEFT JOIN " . TOPICS_TABLE . " t ON t.topic_last_post_id = p.post_id ) " .
			" ORDER BY f.cat_id, f.forum_order";
		break;
	}
	if ( !($result = $db->sql_query($sql)) )
	{
		message_die(GENERAL_ERROR, 'Could not query forums information', '', __LINE__, __FILE__, $sql);
	}

	$forum_data = array();
	$topic_last_ary = array();
	$i=0;
	while( $row = $db->sql_fetchrow($result) )
	{
		if (!in_array($row['topic_last_post_id'], $topic_last_ary) || $row['topic_last_post_id']==0) {
			$topic_last_ary[i]=$row['topic_last_post_id'];
			$i++;
			$forum_data[] = $row;
		}
	}
	unset($topic_last_ary);
	if ( !($total_forums = count($forum_data)) )
	{
		message_die(GENERAL_MESSAGE, $lang['No_forums']);
	}
	
	//
	// Filter topic_title not allowed to read
	// 
	if ( !($userdata['user_level'] == ADMIN && $userdata['session_logged_in']) ) {
		$auth_read_all = array();
		$auth_read_all=auth(AUTH_READ, AUTH_LIST_ALL, $userdata, $forum_data);
		$auth_data = '';
		for($i=0; $i<count($forum_data); $i++)
		{
			if (!$auth_read_all[$forum_data[$i]['forum_id']]['auth_read']) {
				$forum_data[$i]['topic_title']='';
			}
		}
	}

	//
	// Define censored word matches
	//
	$orig_word = array();
	$replacement_word = array();
	obtain_word_list($orig_word, $replacement_word);

	//
	// Obtain a list of topic ids which contain


#
#-----[ ACTION Find ]-----------------------------------------
#
	if ( $forum_data[$j]['forum_last_post_id'] )
	{
	...
	}


#
#-----[ ACTION Replace With ]---------------------------------
#
	if ( $forum_data[$j]['forum_last_post_id'] )
	{
		$topic_title = $forum_data[$j]['topic_title'];
		$topic_title2 = $forum_data[$j]['topic_title'];
		
		//
		// Censor topic title
		//
		if ( count($orig_word) )
		{
			$topic_title = preg_replace($orig_word, $replacement_word, $topic_title);
			$topic_title2 = preg_replace($orig_word, $replacement_word, $topic_title2);
		}
										
		if (strlen($topic_title)>27) {
			$topic_title = substr($topic_title,0,24) . '...';
		}

		$last_post_time = create_date($board_config['default_dateformat'], $forum_data[$j]['post_time'], $board_config['board_timezone']);
		$last_post = '<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '" title="' . $topic_title2 . '">' . $topic_title . '</a><br>';
		$last_post .= $last_post_time . '&nbsp;<a href="' . append_sid("viewtopic.$phpEx?"  . POST_POST_URL . '=' . $forum_data[$j]['forum_last_post_id']) . '#' . $forum_data[$j]['forum_last_post_id'] . '"><img src="' . $images['icon_latest_reply'] . '" border="0" alt="' . $lang['View_latest_post'] . '" title="' . $lang['View_latest_post'] . '"></a><br>' . $lang['by'] . '&nbsp;';
		$last_post .= ( $forum_data[$j]['user_id'] == ANONYMOUS ) ? ( ($forum_data[$j]['post_username'] != '' ) ? $forum_data[$j]['post_username'] . ' ' : $lang['Guest'] . ' ' ) : '<a href="' . append_sid("profile.$phpEx?mode=viewprofile&" . POST_USERS_URL . '='  . $forum_data[$j]['user_id']) . '">' . $forum_data[$j]['username'] . '</a> ';
	}

#
#-----[ SAVE/CLOSE ALL FILES ]----------------------------------
#
waarom lukt het dan gewoon niet :?

Coen
Berichten: 5387
Lid geworden op: 03 aug 2004, 10:25

Bericht door Coen » 05 mar 2005, 19:47

Begin eens met te vertellen wat er niet lukt? Kun je bepaalde zoek-opdrachten niet vinden in index.php of is er een ander probleem? Als je sommige dingen niet kunt vinden, zoek dan eens op een deel van de zoek-opdracht! :)

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 05 mar 2005, 19:54

Prophecy schreef:Begin eens met te vertellen wat er niet lukt? Kun je bepaalde zoek-opdrachten niet vinden in index.php of is er een ander probleem? Als je sommige dingen niet kunt vinden, zoek dan eens op een deel van de zoek-opdracht! :)
of geeft ie een foutmelding, en vul de support template even in ;)

Nymphy
Berichten: 1504
Lid geworden op: 28 mar 2003, 18:00
Locatie: Grevenbicht

Bericht door Nymphy » 05 mar 2005, 20:29

Mja zoals ik dus al had gezegd :lol: hij laat de topics gewoon niet zien op de index.. geen errors.. niet dat ik niet kan vinden wat ik moet doen.. maar hij zet gewoon de topics niet op de index..

maar goed de support template dan maar :)

hmm ok als ik die dus invul krijg ik een internal server error ofzo :s en kan ik niet posten :s

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 05 mar 2005, 20:32

Heb je alle dingen die erin staat uitgevoerd? ook de template wijzigingen, lang wijzigen (voor alle templates en talen)?

Nymphy
Berichten: 1504
Lid geworden op: 28 mar 2003, 18:00
Locatie: Grevenbicht

Bericht door Nymphy » 05 mar 2005, 20:34

het enige wat ik hoefde te doen waren 2 dingen vervangen in index.php

dat heb ik gewoon gedaan maar hij laat gewoonweg niets zien op de index ?

er bestaan 2 last topic on index mods.. beide heb ik ze geprobeerd (beide geven trouwens ook dezelde dingen wat je moet doen) en beiden werken gewoon niet...

Gesloten