* @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-05-09 * modified 2008-06-16, Holger Librenz, Hotfix: added check for invalid calls * modified 2008-06-27, Frederic Schneider, add security fix * modified 2009-10-15, Dominik Ziegler, fetching areaname from actions array to save a lot of database queries * modified 2009-11-06, Murat Purc, replaced deprecated functions (PHP 5.3 ready) * modified 2010-05-20, Murat Purc, removed request check during processing ticket [#CON-307] * * $Id$: * }} * */ if (!defined('CON_FRAMEWORK')) { die('Illegal call'); } $clientclass = new Client; $db2 = new DB_ConLite; if(!$perm->have_perm_area_action($area)) { $notification->displayNotification("error", i18n("Permission denied")); } else { $tpl->reset(); $form = '
'.$sess->hidden_session(true).' '; $tpl->set('s', 'FORM', $form); $tpl->set('s', 'BORDERCOLOR', $cfg["color"]["table_border"]); $tpl->set('s', 'SELECTBGCOLOR', $cfg["color"]["table_dark"]); $tpl->set('s', 'SELECTBBGCOLOR', $cfg["color"]["table_light"]); $tpl->set('s', 'HEADERBGCOLOR', $cfg["color"]["table_header"]); $tpl->set('s', 'RHEADERBGCOLOR', $cfg["color"]["table_header"]); $tpl->set('s', 'SUBMITTEXT', i18n("Submit query")); $tpl->set('s', 'CANCELLINK', $sess->url("main.php?area=$area&frame=4")); $userclass = new Users(); $structureclass = new Structure(); $artclass = new Art(); $actionclass = new Action(); $clients = $clientclass->getAccessibleClients(); $users = $userclass->getAccessibleUsers(explode(',', $auth->auth['perm'])); $userselect = ""; $actions = $actionclass->getAvailableActions(); $actionselect = ""; $clientList = $clientclass->getAccessibleClients(); foreach ($clientList as $key=>$value) { if (strcmp($idqclient,$key) == 0) { $selected = "SELECTED"; } else { $selected = ""; } $clientselect .= ""; } foreach ($users as $key=>$value) { if (strcmp($idquser,$key) == 0) { $selected = "SELECTED"; } else { $selected = ""; } $userselect .= ""; } foreach ($actions as $key=>$value) { if (strcmp($idqaction,$key) == 0) { $selected = "SELECTED"; } else { $selected = ""; } // $areaname = $classarea->getAreaName($actionclass->getAreaForAction($value["name"])); $areaname = $value["areaname"]; $actionDescription = $lngAct[$areaname][$value["name"]]; if ($actionDescription == "") { $actionDescription = $value["name"]; } $actionselect .= ""; } $days = array(); for ($i = 1; $i < 32; $i ++) { $days[$i] = $i; } $months = array(); for ($i = 1; $i < 13; $i++) { $months[$i] = $i; } $years = array(); for ($i = 2000; $i < 2030; $i++) { $years[$i] = $i; } $fromday = new cHTMLSelectElement("fromday"); $fromday->autoFill($days); if ($_REQUEST["fromday"] > 0) { $fromday->setDefault($_REQUEST["fromday"]); } else { $fromday->setDefault(date("j")); } $today = new cHTMLSelectElement("today"); $today->autoFill($days); if ($_REQUEST["today"] > 0) { $today->setDefault($_REQUEST["today"]); } else { $today->setDefault(date("j")); } $frommonth = new cHTMLSelectElement("frommonth"); $frommonth->autoFill($months); if ($_REQUEST["frommonth"] > 0) { $frommonth->setDefault($_REQUEST["frommonth"]); } else { $frommonth->setDefault(date("n")); } $tomonth = new cHTMLSelectElement("tomonth"); $tomonth->autoFill($months); if ($_REQUEST["tomonth"] > 0) { $tomonth->setDefault($_REQUEST["tomonth"]); } else { $tomonth->setDefault(date("n")); } $fromyear = new cHTMLSelectElement("fromyear"); $fromyear->autoFill($years); if ($_REQUEST["fromyear"] > 0) { $fromyear->setDefault($_REQUEST["fromyear"]); } else { $fromyear->setDefault(date("Y")); } $toyear = new cHTMLSelectElement("toyear"); $toyear->autoFill($years); if ($_REQUEST["toyear"] > 0) { $toyear->setDefault($_REQUEST["toyear"]); } else { $toyear->setDefault(date("Y")); } $entries = array(); $entries[0] = i18n("Unlimited"); $entries[10] = "10 ". i18n("Entries"); $entries[20] = "20 ". i18n("Entries"); $entries[30] = "30 ". i18n("Entries"); $entries[50] = "50 ". i18n("Entries"); $entries[100] = "100 ". i18n("Entries"); $olimit = new cHTMLSelectElement("limit"); $olimit->autoFill($entries); if (isset($_REQUEST["limit"])) { $olimit->setDefault($_REQUEST["limit"]); } else { $olimit->setDefault(10); } $tpl->set('s', 'USERS', $userselect); $tpl->set('s', 'CLIENTS', $clientselect); $tpl->set('s', 'ACTION', $actionselect); $tpl->set('s', 'FROMDAY', $fromday->render()); $tpl->set('s', 'FROMMONTH', $frommonth->render()); $tpl->set('s', 'FROMYEAR', $fromyear->render()); $tpl->set('s', 'TODAY', $today->render()); $tpl->set('s', 'TOMONTH', $tomonth->render()); $tpl->set('s', 'TOYEAR', $toyear->render()); $tpl->set('s', 'LIMIT', $olimit->render()); $fromdate = $fromyear->getDefault()."-".$frommonth->getDefault()."-".$fromday->getDefault()." 00:00:00"; $todate = $toyear->getDefault()."-".$tomonth->getDefault()."-".$today->getDefault()." 23:59:59"; if ($limit == 0) { $limitsql = ""; } else { $limitsql = "LIMIT ".Contenido_Security::escapeDB($limit, $db); } if ($idquser == "%") { $users = $userclass->getAccessibleUsers(explode(',', $auth->auth['perm'])); foreach ($users as $key=>$value) { $userarray[] = $key; } $uservalues = implode('", "',$userarray); $userquery = 'IN ("'.$uservalues.'")'; } else { $userquery = "LIKE '".$idquser."'"; } $sql = 'SELECT idlog, user_id, idaction, idlang, idclient, idcatart, logtimestamp FROM '. $cfg["tab"]["actionlog"] . ' WHERE user_id '.$userquery.' AND idaction LIKE "'.Contenido_Security::escapeDB($idqaction, $db).'" AND logtimestamp > "'.Contenido_Security::escapeDB($fromdate, $db).'" AND logtimestamp < "'.Contenido_Security::escapeDB($todate, $db).'" AND idclient LIKE "'.Contenido_Security::escapeDB($idqclient, $db).'" ORDER BY logtimestamp DESC ' . $limitsql; $db->query($sql); if ($db->affected_rows() == 0) { $noresults = ''. ''.i18n("No results").''; } else { $noresults = ""; } $tpl->set('s', 'NORESULTS', $noresults); while ($db->next_record()) { $darkrow = !$darkrow; if ($darkrow) { $bgcolor = $cfg["color"]["table_dark"]; } else { $bgcolor = $cfg["color"]["table_light"]; } $structureName = $structureclass->getStructureName($structureclass->getStructureIDForCatArt($db->f("idcatart")),$db->f("idlang")); $artName = $artclass->getArtName($artclass->getArtIDForCatArt($db->f("idcatart")),$db->f("idlang")); if ($structureName == "") { $structureName = "-"; } if ($artName == "") { $artName = "-"; } $tpl->set('d', 'BORDERCOLOR', $cfg["color"]["table_border"]); $tpl->set('d', 'RBGCOLOR', $bgcolor); $tpl->set('d', 'RCLIENT', $clientList[$db->f("idclient")]["name"]); $tpl->set('d', 'RDATETIME', $db->f("logtimestamp")); $tpl->set('d', 'RUSER' , $users[$db->f("user_id")]["username"]); $areaname = $classarea->getAreaName($actionclass->getAreaForAction($db->f("idaction"))); $actionDescription = $lngAct[$areaname][$actionclass->getActionName($db->f("idaction"))]; if ($actionDescription == "") { $actionDescription = $actionclass->getActionName($db->f("idaction")); } $tpl->set('d', 'RACTION', $actionDescription ); $tpl->set('d', 'RSTR', $structureName); $tpl->set('d', 'RPAGE', $artName); $tpl->next(); } # Generate template $tpl->generate($cfg['path']['templates'] . $cfg['templates']['log_main']); } ?>