Seite 1 von 1

Latest Topics Mod//Sebastian R. //Private Foren Ausschließen

Verfasst: 23.05.2006 20:53
von spritzpistole
Ich habe diesen Mod:

Code: Alles auswählen

Name: Latest Topics Mod
Autor: Sebastian R.
Beschreibung: Der Latest-Topics Mod blendet eine Laufschrift im Header des Forums ein, in der die 10 neusten Beiträge (mit Link) zu finden sind.
Installationsgrad: leicht
Installationszeit: 3 min 
eingebaut, jetzt wollte ich fragen, wie ich es hinbekommen, dass Threads aus Privaten bzw. versteckten Foren aus diesem Teil bleiben?

Code: Alles auswählen

#
#-----[ OPEN ]------------------------------------------
#
includes/page_header.php

#
#-----[ FIND ]------------------------------------------
#
//
// Get basic (usernames + totals) online
// situation
//
$logged_visible_online = 0;
$logged_hidden_online = 0;
$guests_online = 0;
$online_userlist = '';
$l_online_users = '';

#
#-----[ AFTER, ADD ]------------------------------------------
#
// Latest Mod
// by Sebastian R.
$sql = "SELECT * FROM ".TOPICS_TABLE." ORDER BY topic_id DESC LIMIT 10";
if( !($result = $db->sql_query($sql)) )
{
	message_die(GENERAL_ERROR, 'Could not connect to database!');
}

$row = $db->sql_fetchrow($result);
$latest = "» <a href=\"viewtopic.php?t=".$row['topic_id']."\">".$row['topic_title']."</a>";

while( $row = $db->sql_fetchrow($result) )
{
	$latest = $latest.", <a href=\"viewtopic.php?t=".$row['topic_id']."\">".$row['topic_title']."</a>";
}
$latest = $latest." «";
$template->assign_vars(array('LATEST' => "$latest"));
// Latest Mod End

#
#-----[ OPEN ]------------------------------------------
#
templates/your_template/overall_header.tpl

#
#-----[ FIND ]------------------------------------------
#
				</table></td>
			</tr>
		</table>
		
#
#-----[ AFTER, ADD ]------------------------------------------
#
		<marquee onMouseOver="this.stop();" onMouseOut="this.start();" scrolldelay="100" direction="right"><font size="2">{LATEST}</font></marquee>

}
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------

Verfasst: 24.05.2006 14:14
von spritzpistole
Hat keiner eine Idee parat? :cry:

Verfasst: 24.05.2006 14:29
von Sebastian R.
Ja, da denke ich hab ich was für dich! ;)

Folgenden Code einbauen:

Code: Alles auswählen

// Latest Mod
// by Sebastian R.
$sql = "SELECT * FROM ".TOPICS_TABLE." ORDER BY topic_id DESC LIMIT 10";
if( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not connect to database!');
}

$row = $db->sql_fetchrow($result);
$latest = "» <a href=\"viewtopic.php?t=".$row['topic_id']."\">".$row['topic_title']."</a>";

while( $row = $db->sql_fetchrow($result) )
{
   if($row['forum_id'] == 1)
      continue;

   $latest = $latest.", <a href=\"viewtopic.php?t=".$row['topic_id']."\">".$row['topic_title']."</a>";
}
$latest = $latest." «";
$template->assign_vars(array('LATEST' => "$latest"));
// Latest Mod End 
Halt immer für jede Forum-ID, die ausgeschlossen werden soll, folgenden Code in die While-Schleife einbauen:

Code: Alles auswählen

   if($row['forum_id'] == xxx)
      continue;

Verfasst: 24.05.2006 14:55
von spritzpistole
Stehe momentan auf dem Schlauch, wie muss es denn aussehen, wenn ich die Foren mit der ID:
26,27,28,29 und 37 verbergen möchte?

Danke im Vorraus.

Verfasst: 24.05.2006 15:15
von Sebastian R.

Code: Alles auswählen

// Latest Mod
// by Sebastian R.
$sql = "SELECT * FROM ".TOPICS_TABLE." ORDER BY topic_id DESC LIMIT 10";
if( !($result = $db->sql_query($sql)) )
{
   message_die(GENERAL_ERROR, 'Could not connect to database!');
}

$row = $db->sql_fetchrow($result);
$latest = "» <a href=\"viewtopic.php?t=".$row['topic_id']."\">".$row['topic_title']."</a>";

while( $row = $db->sql_fetchrow($result) )
{
   if(($row['forum_id'] == 26) || ($row['forum_id'] == 27) || ($row['forum_id'] == 28) || ($row['forum_id'] == 29) || ($row['forum_id'] == 37))
      continue;

   $latest = $latest.", <a href=\"viewtopic.php?t=".$row['topic_id']."\">".$row['topic_title']."</a>";
}
$latest = $latest." «";
$template->assign_vars(array('LATEST' => "$latest"));
// Latest Mod End 
Dementsprechend den Teil in der page_header.php ersetzen!

Verfasst: 24.05.2006 16:20
von FatFreddy
Sehr fehleranfällig, wenn die Foren geändert werden.

Wie wäre es denn mit dieser Lösung?
suche:

Code: Alles auswählen

$sql = "SELECT * FROM ".TOPICS_TABLE." ORDER BY topic_id DESC LIMIT 10";
ersetze durch:

Code: Alles auswählen

$dont_show= "()"; //auszuschließende Foren kommagetrennt in die Klammer setzen. Z.B.: (1,2,5)

$sql = "SELECT * FROM ".TOPICS_TABLE.";
if( isset($dont_show) || $dont_show != "()" ) {
   $sql .= " WHERE  forum_id NOT IN ". $dont_show;
   }
$sql .= " ORDER BY topic_id DESC LIMIT 10";
 
Ist einfacher zu pflegen.

FatFreddy

Verfasst: 03.06.2006 01:11
von nwpartner
Hallo Sebastian,
vielen Dank für diesen MOD - der Einbau hat auf Anhieb geklappt!

Doch eine Bitte hätt' ich noch:
In welcher Datei muß ich welchen Parameter wie ändern, um die Schriftfarbe nur der Laufschriftzeile z.B. auf blau zu ändern?

alles nette + weiterhin viele gute Ideen (nicht ganz uneigennützig) wünscht...
nwpartner

Verfasst: 05.06.2006 15:00
von Luuke
und wo finde ich den mod!

wo ich genau das hier! einbauen kann in meine Homepage!

das es so aussieht:

Datum - Zeit - Name - threadname!

und 5 Topics

würde den mod/ das script gerne auf meine HP einbauen!