(2010-) * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt * @package Panel * */ define('AREA', 'admin'); require './lib/init.php'; if (isset($_POST['id'])) { $id = intval($_POST['id']); } elseif(isset($_GET['id'])) { $id = intval($_GET['id']); } if ($page == 'cronjobs' || $page == 'overview') { if ($action == '') { $log->logAction(ADM_ACTION, LOG_NOTICE, 'viewed admin_cronjobs'); $fields = array( 'c.lastrun' => $lng['cron']['lastrun'], 'c.interval' => $lng['cron']['interval'], 'c.isactive' => $lng['cron']['isactive'] ); $paging = new paging($userinfo, TABLE_PANEL_CRONRUNS, $fields); $crons = ''; $result_stmt = Database::prepare("SELECT `c`.* FROM `" . TABLE_PANEL_CRONRUNS . "` `c` ORDER BY `module` ASC, `cronfile` ASC"); Database::pexecute($result_stmt); $paging->setEntries(Database::num_rows()); $sortcode = $paging->getHtmlSortCode($lng); $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s); $searchcode = $paging->getHtmlSearchCode($lng); $pagingcode = $paging->getHtmlPagingCode($filename . '?page=' . $page . '&s=' . $s); $i = 0; $count = 0; $cmod = ''; while ($row = $result_stmt->fetch(PDO::FETCH_ASSOC)) { if ($cmod != $row['module']) { $_mod = explode("/", $row['module']); $module = ucfirst($_mod[1]); eval("\$crons.=\"" . getTemplate('cronjobs/cronjobs_cronjobmodule') . "\";"); $cmod = $row['module']; } if ($paging->checkDisplay($i)) { $row = htmlentities_array($row); $row['lastrun'] = date('d.m.Y H:i', $row['lastrun']); $row['isactive'] = ((int)$row['isactive'] == 1) ? $lng['panel']['yes'] : $lng['panel']['no']; $description = $lng['crondesc'][$row['desc_lng_key']]; eval("\$crons.=\"" . getTemplate('cronjobs/cronjobs_cronjob') . "\";"); $count++; } $i++; } eval("echo \"" . getTemplate('cronjobs/cronjobs') . "\";"); } elseif ($action == 'new') { /* * @TODO later */ } elseif ($action == 'edit' && $id != 0) { $result_stmt = Database::prepare("SELECT * FROM `" . TABLE_PANEL_CRONRUNS . "` WHERE `id`= :id"); Database::pexecute($result_stmt, array('id' => $id)); $result = $result_stmt->fetch(PDO::FETCH_ASSOC); if ($result['cronfile'] != '') { if (isset($_POST['send']) && $_POST['send'] == 'send') { $isactive = isset($_POST['isactive']) ? 1 : 0; $interval_value = validate($_POST['interval_value'], 'interval_value', '/^([0-9]+)$/Di', 'stringisempty'); $interval_interval = validate($_POST['interval_interval'], 'interval_interval'); if ($isactive != 1) { $isactive = 0; } $interval = $interval_value . ' ' . strtoupper($interval_interval); $upd = Database::prepare(" UPDATE `" . TABLE_PANEL_CRONRUNS . "` SET `isactive` = :isactive, `interval` = :int WHERE `id` = :id" ); Database::pexecute($upd, array('isactive' => $isactive, 'int' => $interval, 'id' => $id)); redirectTo($filename, Array('page' => $page, 's' => $s)); } else { //$isactive = makeyesno('isactive', '1', '0', $result['isactive']); // interval $interval_nfo = explode(' ', $result['interval']); $interval_value = $interval_nfo[0]; $interval_interval = ''; $interval_interval .= makeoption($lng['cronmgmt']['seconds'], 'SECOND', $interval_nfo[1]); $interval_interval .= makeoption($lng['cronmgmt']['minutes'], 'MINUTE', $interval_nfo[1]); $interval_interval .= makeoption($lng['cronmgmt']['hours'], 'HOUR', $interval_nfo[1]); $interval_interval .= makeoption($lng['cronmgmt']['days'], 'DAY', $interval_nfo[1]); $interval_interval .= makeoption($lng['cronmgmt']['weeks'], 'WEEK', $interval_nfo[1]); $interval_interval .= makeoption($lng['cronmgmt']['months'], 'MONTH', $interval_nfo[1]); // end of interval $change_cronfile = false; if (substr($result['module'], 0, strpos($result['module'], '/')) != 'froxlor') { $change_cronfile = true; } $cronjobs_edit_data = include_once dirname(__FILE__).'/lib/formfields/admin/cronjobs/formfield.cronjobs_edit.php'; $cronjobs_edit_form = htmlform::genHTMLForm($cronjobs_edit_data); $title = $cronjobs_edit_data['cronjobs_edit']['title']; $image = $cronjobs_edit_data['cronjobs_edit']['image']; eval("echo \"" . getTemplate('cronjobs/cronjob_edit') . "\";"); } } } elseif ($action == 'delete' && $id != 0) { /* * @TODO later */ } }