* @license http://www.contenido.org/license/LIZENZ.txt * @link http://www.4fb.de * @link http://www.contenido.org * @since file available since contenido release <= 4.6 * * {@internal * created 2003-08-05 * modified 2008-06-27, Frederic Schneider, add security fix * * $Id$: * }} * */ if(!defined('CON_FRAMEWORK')) { die('Illegal call'); } cInclude("includes", "functions.con.php"); $debug = false; $sql = "SELECT logtimestamp FROM ".$cfg["tab"]["actionlog"]." WHERE user_id = '".Contenido_Security::escapeDB($auth->auth["uid"], $db). "' ORDER BY logtimestamp DESC LIMIT 2"; $db->query($sql); $db->next_record(); $lastlogin = $db->f("logtimestamp"); $idaction = $perm->getIDForAction("con_editart"); if ($cfg["is_start_compatible"] == true) { $sql = "SELECT a.idart AS idart, a.idartlang AS idartlang, a.title AS title, c.idcat AS idcat, a.idlang AS idlang, c.is_start AS is_start, c.idcatart AS idcatart, a.idtplcfg AS idtplcfg, a.online AS online, a.created AS created, a.lastmodified AS lastmodified FROM ".$cfg["tab"]["art_lang"]." AS a, ".$cfg["tab"]["art"]." AS b, ".$cfg["tab"]["cat_art"]." AS c, ".$cfg["tab"]["actionlog"]." AS d WHERE a.idlang = '".Contenido_Security::toInteger($lang)."' AND a.idart = b.idart AND b.idclient = '".Contenido_Security::toInteger($client)."' AND b.idart = c.idart AND d.idaction = '".Contenido_Security::toInteger($idaction)."' AND d.user_id = '".Contenido_Security::escapeDB($auth->auth["uid"], $db)."' AND d.idcatart = c.idcatart GROUP BY c.idcatart ORDER BY logtimestamp DESC LIMIT 5"; } else { $sql = "SELECT a.idart AS idart, a.idartlang AS idartlang, a.title AS title, c.idcat AS idcat, a.idlang AS idlang, c.idcatart AS idcatart, a.idtplcfg AS idtplcfg, a.online AS online, a.created AS created, a.lastmodified AS lastmodified FROM ".$cfg["tab"]["art_lang"]." AS a, ".$cfg["tab"]["art"]." AS b, ".$cfg["tab"]["cat_art"]." AS c, ".$cfg["tab"]["actionlog"]." AS d WHERE a.idlang = '".Contenido_Security::toInteger($lang)."' AND a.idart = b.idart AND b.idclient = '".Contenido_Security::toInteger($client)."' AND b.idart = c.idart AND d.idaction = '".Contenido_Security::toInteger($idaction)."' AND d.user_id = '".Contenido_Security::escapeDB($auth->auth["uid"], $db)."' AND d.idcatart = c.idcatart GROUP BY c.idcatart ORDER BY logtimestamp DESC LIMIT 5"; } # Debug info if ( $debug ) { echo "
";
            echo $sql;
            echo "
"; } $db->query($sql); # Reset Template $tpl->reset(); # No article $no_article = true; $tpl->set('s', 'LASTARTICLES', i18n("Recently edited articles").":".markSubMenuItem(1)); while ( $db->next_record() ) { $idtplcfg = $db->f("idtplcfg"); $idartlang = $db->f("idartlang"); $idlang = $db->f("idlang"); $idcat = $db->f("idcat"); $idart = $db->f("idart"); $online = $db->f("online"); if ($cfg["is_start_compatible"] == true) { $is_start = $db->f("is_start"); } else { $is_start = isStartArticle($idartlang, $idcat, $idlang); } $idcatart = $db->f("idcatart"); $created = $db->f("created"); $modified = $db->f("lastmodified"); $category = ""; conCreateLocationString($idcat, " / ", $category); if ($category == "") { $category = " "; } $bgcolor = ( is_int($tpl->dyn_cnt / 2) ) ? $cfg["color"]["table_light"] : $cfg["color"]["table_dark"]; # Backgroundcolor of the table row $tpl->set('d', 'BGCOLOR', $bgcolor); # Article Title $tmp_alink = $sess->url("frameset.php?area=con&override_area4=con_editcontent&override_area3=con&action=con_editart&idartlang=$idartlang&idart=$idart&idcat=$idcat&idartlang=$idartlang"); $tpl->set('d', 'ARTICLE', $db->f('title')); # Created $tpl->set('d', 'CREATED', $created); # Lastmodified $tpl->set('d', 'LASTMODIFIED', $modified); # Category $tpl->set('d', 'CATEGORY', $category); # Article Template if ( 0 == $idtplcfg ) { # Uses Category Template $a_tplname = "--- ".i18n("None")." ---"; $a_idtpl = 0; } else { # Has own Template if ( !isset($db2) || !is_object($db2) ) { $db2 = new DB_ConLite; } $sql2 = "SELECT b.name AS tplname, b.idtpl AS idtpl FROM ".$cfg["tab"]["tpl_conf"]." AS a, ".$cfg["tab"]["tpl"]." AS b WHERE a.idtplcfg = '".Contenido_Security::toInteger($idtplcfg)."' AND a.idtpl = b.idtpl"; $db2->query($sql2); $db2->next_record(); $a_tplname = $db2->f("tplname"); $a_idtpl = $db2->f("idtpl"); } if ($a_tplname == "") { $a_tplname = " "; } $tpl->set('d', 'TPLNAME', $a_tplname); # Make Startarticle button $tmp_img = (1 == $is_start) ? '' : ''; $tpl->set('d', 'START', $tmp_img); if ( $online ) { $tmp_online = ''.i18n('; } else { $tmp_online = ''.i18n('; } $tpl->set('d', 'ONLINE', $tmp_online); # Next iteration $tpl->next(); # Articles found $no_article = false; } # Sortierungs select $s_types = array(1 => "Alphabetisch", 2 => "Letze �nderung", 3 => "Erstellungsdatum"); $tpl2 = new Template; $tpl2->set('s', 'NAME', 'sort'); $tpl2->set('s', 'CLASS', 'text_medium'); $tpl2->set('s', 'OPTIONS', 'onchange="artSort(this)"'); foreach ($s_types as $key => $value) { $selected = ( isset($_GET['sort']) && $_GET['sort'] == $key ) ? 'selected="selected"' : ''; $tpl2->set('d', 'VALUE', $key); $tpl2->set('d', 'CAPTION', $value); $tpl2->set('d', 'SELECTED', $selected); $tpl2->next(); } $select = ( !$no_article ) ? $tpl2->generate($cfg["path"]["templates"] . $cfg['templates']['generic_select'], true) : ''; $caption = ( !$no_article ) ? 'Artikel sortieren' : ''; $tpl->set('s', 'ARTSORTCAPTION', $caption); $tpl->set('s', 'ARTSORT', $select); # Extract Category and Catcfg $sql = "SELECT b.name AS name, d.idtpl AS idtpl FROM (".$cfg["tab"]["cat"]." AS a, ".$cfg["tab"]["cat_lang"]." AS b, ".$cfg["tab"]["tpl_conf"]." AS c) LEFT JOIN ".$cfg["tab"]["tpl"]." AS d ON d.idtpl = c.idtpl WHERE a.idclient = '".Contenido_Security::toInteger($client)."' AND a.idcat = '".Contenido_Security::toInteger($idcat)."' AND b.idlang = '".Contenido_Security::toInteger($lang)."' AND b.idcat = a.idcat AND c.idtplcfg = b.idtplcfg"; $db->query($sql); $db->next_record(); $cat_idtpl = $db->f("idtpl"); # Hinweis wenn kein Artikel gefunden wurde if ( $no_article ) { $tpl->set("d", "START", " "); $tpl->set("d", "ARTICLE", i18n("No article found")); $tpl->set("d", "CREATED", " "); $tpl->set("d", "LASTMODIFIED", " "); $tpl->set("d", "ARTCONF", " "); $tpl->set("d", "TPLNAME", " "); $tpl->set("d", "TPLCONF", " "); $tpl->set("d", "ONLINE", " "); $tpl->set('d', 'CATEGORY', ' '); $tpl->set("d", "DELETE", " "); $tpl->next(); } $cat_name = ""; # SELF_URL (Variable f�r das javascript); $tpl->set('s', 'SELF_URL', $sess->url("main.php?area=con&frame=4&idcat=$idcat")); # Neuer Artikel link $tpl->set('s', 'NEWARTICLE', 'Neuen Artikel erstellen'); $tpl->set('s', 'HELP', ""); # Generate template $tpl->generate($cfg['path']['templates'] . $cfg['templates']['mycontenido_lastarticles']); ?>