Skip to content

Instantly share code, notes, and snippets.

@01-Scripts
Created September 25, 2012 19:10
Show Gist options
  • Save 01-Scripts/3783829 to your computer and use it in GitHub Desktop.
Save 01-Scripts/3783829 to your computer and use it in GitHub Desktop.
Unterschiedliche Ziel-Adressen in Abhängigkeit der Kategorie
<?PHP
/*
01-Artikelsystem V3 - Copyright 2006-2012 by Michael Lorer - 01-Scripts.de
Lizenz: Creative-Commons: Namensnennung-Keine kommerzielle Nutzung-Weitergabe unter gleichen Bedingungen 3.0 Deutschland
Weitere Lizenzinformationen unter: http://www.01-scripts.de/lizenz.php
Modul: 01article
Dateiinfo: Teaser-Ausgabe
*/
// MySQL-Zugangsdaten
$user = "user"; // MySQL-Username
$passw = ""; // MySQL-Passwort
$host = "localhost"; // MySQL-Host
$database = ""; // MySQL-Datenbank
$instnr = "1"; // Installationsnummer des 01ACP
// Modul
$modul = "01article"; // IDname des Moduls, dessen aktuellster Eintrag geteasert ausgegeben werden soll
// Einstellungen
$cats = ""; // Ausgabe auf bestimmte Kategorien beschränken (Kommasepariert)
$limit = "1"; // Wie viele Einträge sollen ausgegegben werden?
$text_len = 100; // Wie viele Zeichen des Eintrags sollen ausgegeben werden?
$use_zusam = FALSE; // Soll ein ggf. hinterlegter Einleitungstext verwendet werden (TRUE) oder der Teaser immer direkt aus dem eigentlichen Artikeltext generiert werden (FALSE)?
// Ziel-URL in Abhängigkeit der Kategorie-ID
// Sie haben die Möglichkeit abhängig von der Kategorie, der ein Artikel zugeordnet ist, auf unterschiedliche Zielseiten zu verlinken
// Tragen Sie dazu in folgendem Format ein:
// $ziel_url['Kategorie-ID'] = "http://www.ziel-domain.de";
$ziel_url['1'] = "http://www.domain.de";
// Weitere Variablen (müssen nicht geändert werden)
$mysql_tables['module'] = "01_".$instnr."_module";
/* Verbindung zur MySQL-Datenbank aufbauen */
$db = @mysql_connect($host, $user, $passw)
or die ("Verbindungsaufnahme mit der MySQL-Server war <b>nicht</b> erfolgreich!<br />Bitte gehen Sie nochmals zurück.<br />Sollte weiterhin keine Verbindung zum MySQL-Server zu Stande kommen wenden Sie sich an den technischen Ansprechparnter");
@mysql_select_db($database, $db)
or die ("Verbindungsaufnahme mit Datenbank war <b>nicht</b> erfolgreich!<br />Bitte gehen Sie nochmals zurück.<br />Sollte weiterhin keine Verbindung zur MySQL-Datenbank zu Stande kommen wenden Sie sich an den technischen Ansprechparnter");
$list = mysql_query("SELECT nr FROM ".$mysql_tables['module']." WHERE idname = '".mysql_real_escape_string($modul)."' LIMIT 1");
while($row = mysql_fetch_array($list))
{
$mysql_tables['artikel'] = "01_".$instnr."_".$row['nr']."_article";
}
if(isset($mysql_tables['artikel'])){
// MySQL-Query (Kategorien berücksichtigen)
if(isset($cats) && !empty($cats))
{
$cids = explode(",",$cats);
$add2query_cat = " 1=2 ";
foreach($cids as $value){
$add2query_cat .= " OR newscatid LIKE '%,".mysql_real_escape_string($value).",%' ";
}
}
else{ $cids = ""; $add2query_cat = "1=1"; }
$query = "SELECT id,timestamp,titel,newscatid,text,autozusammen,zusammenfassung FROM ".$mysql_tables['artikel']." WHERE frei='1' AND hide='0' AND timestamp<='".time()."' AND (endtime>='".time()."' OR endtime='0') AND (".$add2query_cat.") ORDER BY timestamp DESC LIMIT ".mysql_real_escape_string($limit)."";
$list = mysql_query($query);
while($row = mysql_fetch_array($list))
{
$datum = date("d.m.y",$row['timestamp']);
$uhrzeit = date("G:i",$row['timestamp']);
if($use_zusam && $row['autozusammen'] == 0 && !empty($row['zusammenfassung']))
$text = $row['zusammenfassung'];
else
$text = $row['text'];
// Ausgabe beginnt:
echo "<div class=\"teaser\">";
echo "<a href=\"".$ziel_url[substr($row['newscatid'],1,1)]."?artid=".$row['id']."#01id".$row['id']."\">".stripslashes($row['titel'])."</a><br />\n";
echo $datum.", ".$uhrzeit." Uhr<br /><br />";
echo substr(strip_tags(stripslashes($text)), 0, $text_len);
echo "</div>";
}
}
else
echo "<b>Fehler:</b> Modul-Tabelle konnte nicht geladen werden.
Bitte überprüfen Sie die Konfiguration";
?>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment