diff --git a/actions/admin/settings/150.mail.php b/actions/admin/settings/150.mail.php index 70186169..b8e9b904 100644 --- a/actions/admin/settings/150.mail.php +++ b/actions/admin/settings/150.mail.php @@ -81,6 +81,7 @@ return array( 'varname' => 'autoresponder_active', 'type' => 'bool', 'default' => false, + 'cronmodule' => 'froxlor/autoresponder', 'save_method' => 'storeSettingField', ), 'systen_last_autoresponder_run' => array( diff --git a/actions/admin/settings/190.ticket.php b/actions/admin/settings/190.ticket.php index 581d4520..9a50d452 100644 --- a/actions/admin/settings/190.ticket.php +++ b/actions/admin/settings/190.ticket.php @@ -28,6 +28,7 @@ return array( 'varname' => 'enabled', 'type' => 'bool', 'default' => false, + 'cronmodule' => 'froxlor/ticket', 'save_method' => 'storeSettingField', ), 'ticket_noreply_email' => array( diff --git a/actions/admin/settings/200.aps.php b/actions/admin/settings/200.aps.php index 5b71ca52..7961f324 100644 --- a/actions/admin/settings/200.aps.php +++ b/actions/admin/settings/200.aps.php @@ -28,6 +28,7 @@ return array( 'varname' => 'aps_active', 'type' => 'bool', 'default' => false, + 'cronmodule' => 'froxlor/aps', 'save_method' => 'storeSettingField', ), 'aps_items_per_page' => array( diff --git a/admin_cronjobs.php b/admin_cronjobs.php index 5da2cd92..00225e7e 100644 --- a/admin_cronjobs.php +++ b/admin_cronjobs.php @@ -47,7 +47,7 @@ if($page == 'cronjobs' * @TODO Fix sorting */ $crons = ''; - $result = $db->query("SELECT `c`.* FROM `" . TABLE_PANEL_CRONRUNS . "` `c` ORDER BY `cronfile` ASC " . $paging->getSqlOrderBy() . " " . $paging->getSqlLimit()); + $result = $db->query("SELECT `c`.* FROM `" . TABLE_PANEL_CRONRUNS . "` `c` ORDER BY `cronfile` ASC"); $paging->setEntries($db->num_rows($result)); $sortcode = $paging->getHtmlSortCode($lng); $arrowcode = $paging->getHtmlArrowCode($filename . '?page=' . $page . '&s=' . $s); @@ -73,6 +73,8 @@ if($page == 'cronjobs' { $row['isactive'] = $lng['panel']['no']; } + + $description = $lng['crondesc'][$row['desc_lng_key']]; eval("\$crons.=\"" . getTemplate("cronjobs/cronjobs_cronjob") . "\";"); $count++; diff --git a/admin_index.php b/admin_index.php index fe141f97..acfd11b6 100644 --- a/admin_index.php +++ b/admin_index.php @@ -129,32 +129,7 @@ if($page == 'overview') $userinfo['traffic_used'] = round($userinfo['traffic_used'] / (1024 * 1024), $settings['panel']['decimal_places']); $userinfo = str_replace_array('-1', $lng['customer']['unlimited'], $userinfo, 'customers domains diskspace traffic mysqls emails email_accounts email_forwarders email_quota ftps tickets subdomains aps_packages'); - if($settings['system']['last_tasks_run'] == 0) - { - $cronlastrun = $lng['cronjobs']['notyetrun']; - } - else - { - $cronlastrun = date("d.m.Y H:i:s", $settings['system']['last_tasks_run']); - } - - if($settings['system']['last_traffic_run'] == 0) - { - $trafficlastrun = $lng['cronjobs']['notyetrun']; - } - else - { - $trafficlastrun = date("d.m.Y H:i:s", $settings['system']['last_traffic_run']); - } - - if($settings['system']['last_archive_run'] == 0) - { - $archivelastrun = $lng['cronjobs']['notyetrun']; - } - else - { - $archivelastrun = date("d.m.Y H:i:s", $settings['system']['last_archive_run']); - } + $cron_last_runs = getCronjobsLastRun(); $opentickets = 0; $opentickets = $db->query_first('SELECT COUNT(`id`) as `count` FROM `' . TABLE_PANEL_TICKETS . '` diff --git a/install/froxlor.sql b/install/froxlor.sql index d3e1521c..f329b287 100644 --- a/install/froxlor.sql +++ b/install/froxlor.sql @@ -971,10 +971,12 @@ CREATE TABLE IF NOT EXISTS `aps_temp_settings` ( CREATE TABLE IF NOT EXISTS `cronjobs_run` ( `id` bigint(20) NOT NULL auto_increment, + `module` varchar(250) NOT NULL, `cronfile` varchar(250) NOT NULL, `lastrun` int(15) NOT NULL DEFAULT '0', - `interval` varchar(100) DEFAULT '5 MINUTE', + `interval` varchar(100) NOT NULL DEFAULT '5 MINUTE', `isactive` tinyint(1) DEFAULT '1', + `desc_lng_key` varchar(100) NOT NULL DEFAULT 'cron_unknown_desc', PRIMARY KEY (`id`) ) ENGINE=MyISAM; @@ -982,11 +984,11 @@ CREATE TABLE IF NOT EXISTS `cronjobs_run` ( # Dumping data for table `panel_phpconfigs` # -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (1, 'cron_tasks.php', '5 MINUTE'); -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (2, 'cron_legacy.php', '5 MINUTE'); -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (3, 'cron_apsinstaller.php', '5 MINUTE'); -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (4, 'cron_autoresponder.php', '5 MINUTE'); -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (5, 'cron_apsupdater.php', '1 HOUR'); -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (6, 'cron_traffic.php', '1 DAY'); -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (7, 'cron_used_tickets_reset.php', '1 MONTH'); -INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (8, 'cron_ticketarchive.php', '1 MONTH'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (1, 'froxlor/core', 'cron_tasks.php', '5 MINUTE', 'cron_tasks'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (2, 'froxlor/core', 'cron_legacy.php', '5 MINUTE', 'cron_legacy'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (3, 'froxlor/aps', 'cron_apsinstaller.php', '5 MINUTE', 'cron_apsinstaller'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (4, 'froxlor/autoresponder', 'cron_autoresponder.php', '5 MINUTE', 'cron_autoresponder'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (5, 'froxlor/aps', 'cron_apsupdater.php', '1 HOUR', 'cron_apsupdater'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (6, 'froxlor/core', 'cron_traffic.php', '1 DAY', 'cron_traffic'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (7, 'froxlor/ticket', 'cron_used_tickets_reset.php', '1 MONTH', 'cron_ticketsreset'); +INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (8, 'froxlor/ticket', 'cron_ticketarchive.php', '1 MONTH', 'cron_ticketarchive'); diff --git a/install/updates/froxlor/0.9/update_0.9.inc.php b/install/updates/froxlor/0.9/update_0.9.inc.php index b9c3827b..4ab05fd4 100644 --- a/install/updates/froxlor/0.9/update_0.9.inc.php +++ b/install/updates/froxlor/0.9/update_0.9.inc.php @@ -269,24 +269,26 @@ if(isFroxlorVersion('0.9-r3')) $db->query("CREATE TABLE IF NOT EXISTS `cronjobs_run` ( `id` bigint(20) NOT NULL auto_increment, + `module` varchar(250) NOT NULL, `cronfile` varchar(250) NOT NULL, `lastrun` int(15) NOT NULL DEFAULT '0', - `interval` varchar(100) DEFAULT '5 MINUTE', + `interval` varchar(100) NOT NULL DEFAULT '5 MINUTE', `isactive` tinyint(1) DEFAULT '1', + `desc_lng_key` varchar(100) NOT NULL DEFAULT 'cron_unknown_desc', PRIMARY KEY (`id`) ) ENGINE=MyISAM;"); lastStepStatus(0); showUpdateStep("Inserting new values into table"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (1, 'cron_tasks.php', '5 MINUTE');"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (2, 'cron_legacy.php', '5 MINUTE');"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (3, 'cron_apsinstaller.php', '5 MINUTE');"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (4, 'cron_autoresponder.php', '5 MINUTE');"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (5, 'cron_apsupdater.php', '1 HOUR');"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (6, 'cron_traffic.php', '1 DAY');"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (7, 'cron_used_tickets_reset.php', '1 MONTH');"); - $db->query("INSERT INTO `cronjobs_run` (`id`, `cronfile`, `interval`) VALUES (8, 'cron_ticketarchive.php', '1 MONTH');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (1, 'froxlor/core', 'cron_tasks.php', '5 MINUTE', 'cron_tasks');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (2, 'froxlor/core', 'cron_legacy.php', '5 MINUTE', 'cron_legacy');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (3, 'froxlor/aps', 'cron_apsinstaller.php', '5 MINUTE', 'cron_apsinstaller');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (4, 'froxlor/autoresponder', 'cron_autoresponder.php', '5 MINUTE', 'cron_autoresponder');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (5, 'froxlor/aps', 'cron_apsupdater.php', '1 HOUR', 'cron_apsupdater');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (6, 'froxlor/core', 'cron_traffic.php', '1 DAY', 'cron_traffic');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (7, 'froxlor/ticket', 'cron_used_tickets_reset.php', '1 MONTH', 'cron_ticketsreset');"); + $db->query("INSERT INTO `cronjobs_run` (`id`, `module`, `cronfile`, `interval`, `desc_lng_key`) VALUES (8, 'froxlor/ticket', 'cron_ticketarchive.php', '1 MONTH', 'cron_ticketarchive');"); lastStepStatus(0); showUpdateStep("Updating old settings values"); diff --git a/lib/functions/froxlor/function.CronjobFunctions.php b/lib/functions/froxlor/function.CronjobFunctions.php new file mode 100644 index 00000000..0549aa9c --- /dev/null +++ b/lib/functions/froxlor/function.CronjobFunctions.php @@ -0,0 +1,146 @@ + (2010-) + * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt + * @package Functions + * @version $Id: function.includeCronjobs.php 138 2010-01-27 08:54:31Z Dessa $ + */ + +/* + * Function getNextCronjobs + * + * checks which cronjobs have to be executed + * + * @return array array of cron-files which are to be executed + */ +function getNextCronjobs() +{ + global $db; + + $query = "SELECT `id`, `cronfile` FROM `".TABLE_PANEL_CRONRUNS."` WHERE `interval` <> '0' AND `isactive` = '1' AND ("; + + $intervals = getIntervalOptions(); + + $x = 0; + foreach($intervals as $name => $ival) + { + if($name == '0') continue; + + if($x == 0) { + $query.= 'UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(`lastrun`), INTERVAL '.$ival.')) <= UNIX_TIMESTAMP()'; + } else { + $query.= ' OR UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(`lastrun`), INTERVAL '.$ival.')) <= UNIX_TIMESTAMP()'; + } + $x++; + } + + $query.= ');'; + + $result = $db->query($query); + + $cron_files = array(); + while($row = $db->fetch_array($result)) + { + $cron_files[] = $row['cronfile']; + $db->query("UPDATE `".TABLE_PANEL_CRONRUNS."` SET `lastrun` = UNIX_TIMESTAMP() WHERE `id` ='".(int)$row['id']."';"); + } + + return $cron_files; +} + + +function includeCronjobs($debugHandler, $pathtophpfiles) +{ + $cronjobs = getNextCronjobs(); + + $jobs_to_run = array(); + + if($cronjobs !== false + && is_array($cronjobs) + && isset($cronjobs[0])) + { + $cron_path = makeCorrectDir($pathtophpfiles.'/scripts/jobs/'); + + foreach($cronjobs as $cronjob) + { + $cron_file = makeCorrectFile($cron_path.$cronjob); + $jobs_to_run[] = $cron_file; + } + } + + return $jobs_to_run; +} + + +function getIntervalOptions() +{ + global $db, $lng, $cronlog; + + $query = "SELECT DISTINCT `interval` FROM `" . TABLE_PANEL_CRONRUNS . "` ORDER BY `interval` ASC;"; + $result = $db->query($query); + $cron_intervals = array(); + + $cron_intervals['0'] = $lng['panel']['off']; + + while($row = $db->fetch_array($result)) + { + if(validateSqlInterval($row['interval'])) + { + $cron_intervals[$row['interval']] = $row['interval']; + } + else + { + $cronlog->logAction(CRON_ACTION, LOG_ERROR, "Invalid SQL-Interval ".$row['interval']." detected. Please fix this in the database."); + } + } + + return $cron_intervals; +} + + +function getCronjobsLastRun() +{ + global $db, $lng; + + $query = "SELECT `lastrun`, `desc_lng_key` FROM `".TABLE_PANEL_CRONRUNS."` WHERE `isactive` = '1' ORDER BY `cronfile` ASC"; + $result = $db->query($query); + + $cronjobs_last_run = ''; + + while($row = $db->fetch_array($result)) + { + $lastrun = $lng['cronjobs']['notyetrun']; + if($row['lastrun'] > 0) { + $lastrun = date('d.m.Y H:i:s', $row['lastrun']); + } + + $cronjobs_last_run .= ' + '.$lng['crondesc'][$row['desc_lng_key']].': + '.$lastrun.' + '; + } + + return $cronjobs_last_run; +} + +function toggleCronStatus($module = null, $isactive = 0) +{ + global $db; + + if($isactive != 1) { + $isactive = 0; + } + + $query = "UPDATE `".TABLE_PANEL_CRONRUNS."` SET `isactive` = '".(int)$isactive."' WHERE `module` = '".$module."'"; + $db->query($query); + +} \ No newline at end of file diff --git a/lib/functions/froxlor/function.getIntervalOptions.php b/lib/functions/froxlor/function.getIntervalOptions.php deleted file mode 100644 index 06c61739..00000000 --- a/lib/functions/froxlor/function.getIntervalOptions.php +++ /dev/null @@ -1,41 +0,0 @@ - (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * @version $Id$ - */ - -function getIntervalOptions() -{ - global $db, $lng, $cronlog; - - $query = "SELECT DISTINCT `interval` FROM `" . TABLE_PANEL_CRONRUNS . "` ORDER BY `interval` ASC;"; - $result = $db->query($query); - $cron_intervals = array(); - - $cron_intervals['0'] = $lng['panel']['off']; - - while($row = $db->fetch_array($result)) - { - if(validateSqlInterval($row['interval'])) - { - $cron_intervals[$row['interval']] = $row['interval']; - } - else - { - $cronlog->logAction(CRON_ACTION, LOG_ERROR, "Invalid SQL-Interval ".$row['interval']." detected. Please fix this in the database."); - } - } - - return $cron_intervals; -} diff --git a/lib/functions/froxlor/function.getNextCronjobs.php b/lib/functions/froxlor/function.getNextCronjobs.php deleted file mode 100644 index 18a8ee9e..00000000 --- a/lib/functions/froxlor/function.getNextCronjobs.php +++ /dev/null @@ -1,58 +0,0 @@ - (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * @version $Id$ - */ - -/* - * Function getNextCronjobs - * - * checks which cronjobs have to be executed - * - * @return array array of cron-files which are to be executed - */ -function getNextCronjobs() -{ - global $db; - - $query = "SELECT `id`, `cronfile` FROM `".TABLE_PANEL_CRONRUNS."` WHERE `interval` <> '0' AND `isactive` = '1' AND ("; - - $intervals = getIntervalOptions(); - - $x = 0; - foreach($intervals as $name => $ival) - { - if($name == '0') continue; - - if($x == 0) { - $query.= 'UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(`lastrun`), INTERVAL '.$ival.')) <= UNIX_TIMESTAMP()'; - } else { - $query.= ' OR UNIX_TIMESTAMP(DATE_ADD(FROM_UNIXTIME(`lastrun`), INTERVAL '.$ival.')) <= UNIX_TIMESTAMP()'; - } - $x++; - } - - $query.= ');'; - - $result = $db->query($query); - - $cron_files = array(); - while($row = $db->fetch_array($result)) - { - $cron_files[] = $row['cronfile']; - $db->query("UPDATE `".TABLE_PANEL_CRONRUNS."` SET `lastrun` = UNIX_TIMESTAMP() WHERE `id` ='".(int)$row['id']."';"); - } - - return $cron_files; -} diff --git a/lib/functions/froxlor/function.includeCronjobs.php b/lib/functions/froxlor/function.includeCronjobs.php deleted file mode 100644 index cdd74e99..00000000 --- a/lib/functions/froxlor/function.includeCronjobs.php +++ /dev/null @@ -1,38 +0,0 @@ - (2010-) - * @license GPLv2 http://files.froxlor.org/misc/COPYING.txt - * @package Functions - * @version $Id$ - */ - -function includeCronjobs($debugHandler, $pathtophpfiles) -{ - $cronjobs = getNextCronjobs(); - - $jobs_to_run = array(); - - if($cronjobs !== false - && is_array($cronjobs) - && isset($cronjobs[0])) - { - $cron_path = makeCorrectDir($pathtophpfiles.'/scripts/jobs/'); - - foreach($cronjobs as $cronjob) - { - $cron_file = makeCorrectFile($cron_path.$cronjob); - $jobs_to_run[] = $cron_file; - } - } - - return $jobs_to_run; -} diff --git a/lib/functions/settings/function.storeSettingField.php b/lib/functions/settings/function.storeSettingField.php index 1b1ba590..5955d7f3 100644 --- a/lib/functions/settings/function.storeSettingField.php +++ b/lib/functions/settings/function.storeSettingField.php @@ -23,6 +23,14 @@ function storeSettingField($fieldname, $fielddata, $newfieldvalue) { if(saveSetting($fielddata['settinggroup'], $fielddata['varname'], $newfieldvalue) != false) { + /* + * when fielddata[cronmodule] is set, this means enable/disable a cronjob + */ + if(isset($fielddata['cronmodule']) && $fielddata['cronmodule'] != '') + { + toggleCronStatus($fielddata['cronmodule'], $newfieldvalue); + } + return array($fielddata['settinggroup'] . '.' . $fielddata['varname'] => $newfieldvalue); } else diff --git a/lng/english.lng.php b/lng/english.lng.php index ed74dec4..ca2301ec 100644 --- a/lng/english.lng.php +++ b/lng/english.lng.php @@ -389,7 +389,6 @@ $lng['mysql']['description'] = 'Here you can create and change your MySQL-Databa * ADDED BETWEEN 1.2.12 and 1.2.13 */ -$lng['admin']['cronlastrun'] = 'Last generating of configfiles'; $lng['serversettings']['paging']['title'] = 'Entries per page'; $lng['serversettings']['paging']['description'] = 'How many entries shall be shown on one page? (0 = disable paging)'; $lng['error']['ipstillhasdomains'] = 'The IP/Port combination you want to delete still has domains assigned to it, please reassign those to other IP/Port combinations before deleting this IP/Port combination.'; @@ -532,7 +531,6 @@ $lng['admin']['configfiles']['etc'] = 'Others (System)'; $lng['admin']['configfiles']['choosedistribution'] = '-- Choose a distribution --'; $lng['admin']['configfiles']['chooseservice'] = '-- Choose a service --'; $lng['admin']['configfiles']['choosedaemon'] = '-- Choose a daemon --'; -$lng['admin']['trafficlastrun'] = 'Last traffic calculation'; // ADDED IN 1.2.16-svn10 @@ -1271,5 +1269,15 @@ $lng['cron']['lastrun'] = 'last run'; $lng['cron']['interval'] = 'interval'; $lng['cron']['isactive'] = 'enabled'; $lng['admin']['cron']['add'] = 'Add a new cronjob'; +$lng['cron']['description'] = 'description'; +$lng['crondesc']['cron_unknown_desc'] = 'no description given'; +$lng['crondesc']['cron_tasks'] = 'generating of configfiles'; +$lng['crondesc']['cron_legacy'] = 'legacy (old) cronjob'; +$lng['crondesc']['cron_apsinstaller'] = 'APS-installer'; +$lng['crondesc']['cron_autoresponder'] = 'e-mail autoresponder'; +$lng['crondesc']['cron_apsupdater'] = 'updating APS packages'; +$lng['crondesc']['cron_traffic'] = 'traffic calculation'; +$lng['crondesc']['cron_ticketsreset'] = 'resetting ticket-counters'; +$lng['crondesc']['cron_ticketarchive'] = 'archiving old tickets'; ?> diff --git a/lng/german.lng.php b/lng/german.lng.php index 5016ec6b..8d760c26 100644 --- a/lng/german.lng.php +++ b/lng/german.lng.php @@ -389,7 +389,6 @@ $lng['mysql']['description'] = 'Hier können Sie MySQL-Datenbanken anlegen u * ADDED BETWEEN 1.2.12 and 1.2.13 */ -$lng['admin']['cronlastrun'] = 'Letzter Cronjob'; $lng['serversettings']['paging']['title'] = 'Einträge pro Seite'; $lng['serversettings']['paging']['description'] = 'Wieviele Einträge sollen auf einer Seite gezeigt werden? (0 = Paging deaktivieren)'; $lng['error']['ipstillhasdomains'] = 'Die IP/Port Kombination, die Sie löschen wollen ist noch bei einer oder mehreren Domains eingetragen. Bitte ändern sie die Domains vorher auf eine andere IP/Port Kombination um diese löschen zu können.'; @@ -531,7 +530,6 @@ $lng['admin']['configfiles']['etc'] = 'Sonstige (System)'; $lng['admin']['configfiles']['choosedistribution'] = '-- Distribution wählen --'; $lng['admin']['configfiles']['chooseservice'] = '-- Service wählen --'; $lng['admin']['configfiles']['choosedaemon'] = '-- Daemon wählen --'; -$lng['admin']['trafficlastrun'] = 'Letzte Trafficberechnung'; // ADDED IN 1.2.16-svn10 @@ -1251,5 +1249,15 @@ $lng['cron']['lastrun'] = 'zuletzt gestartet'; $lng['cron']['interval'] = 'Interval'; $lng['cron']['isactive'] = 'Aktiv'; $lng['admin']['cron']['add'] = 'Cronjob hinzufügen'; +$lng['cron']['description'] = 'Beschreibung'; +$lng['crondesc']['cron_unknown_desc'] = 'Keine Beschreibung angegeben'; +$lng['crondesc']['cron_tasks'] = 'Erstellen von Konfigurationsdateien'; +$lng['crondesc']['cron_legacy'] = 'Legacy (alter) Cronjob'; +$lng['crondesc']['cron_apsinstaller'] = 'APS-Installer'; +$lng['crondesc']['cron_autoresponder'] = 'E-Mail Autoresponder'; +$lng['crondesc']['cron_apsupdater'] = 'Aktualisieren der APS Pakete'; +$lng['crondesc']['cron_traffic'] = 'Traffic-Berechnung'; +$lng['crondesc']['cron_ticketsreset'] = 'Zurücksetzen der Ticket-Zähler'; +$lng['crondesc']['cron_ticketarchive'] = 'Archivieren alter Tickets'; ?> diff --git a/templates/admin/cronjobs/cronjobs.tpl b/templates/admin/cronjobs/cronjobs.tpl index 26f390a5..cdc38efc 100644 --- a/templates/admin/cronjobs/cronjobs.tpl +++ b/templates/admin/cronjobs/cronjobs.tpl @@ -4,7 +4,7 @@ $header - + @@ -12,16 +12,17 @@ $header + $crons - + - +
 {$lng['admin']['cron']['cronsettings']} {$lng['admin']['cron']['cronsettings']} {$searchcode}
{$lng['cron']['lastrun']}  {$arrowcode['c.lastrun']} {$lng['cron']['interval']}  {$arrowcode['c.interval']} {$lng['cron']['isactive']}  {$arrowcode['c.isactive']}{$lng['cron']['description']}
{$pagingcode}{$pagingcode}
{$lng['admin']['cron']['add']}{$lng['admin']['cron']['add']}
diff --git a/templates/admin/cronjobs/cronjobs_cronjob.tpl b/templates/admin/cronjobs/cronjobs_cronjob.tpl index 1c21ef76..0a30d9f7 100644 --- a/templates/admin/cronjobs/cronjobs_cronjob.tpl +++ b/templates/admin/cronjobs/cronjobs_cronjob.tpl @@ -3,6 +3,7 @@ {$row['lastrun']} {$row['interval']} {$row['isactive']} + {$description} {$lng['panel']['edit']} {$lng['panel']['delete']} diff --git a/templates/admin/index/index.tpl b/templates/admin/index/index.tpl index 2bf55a2d..bac96ac7 100644 --- a/templates/admin/index/index.tpl +++ b/templates/admin/index/index.tpl @@ -115,20 +115,7 @@ $header  {$lng['admin']['froxlordetails']} - - {$lng['admin']['cronlastrun']}: - $cronlastrun - - - {$lng['admin']['trafficlastrun']}: - $trafficlastrun - - - - {$lng['admin']['archivelastrun']}: - $archivelastrun - - + {$cron_last_runs} {$lng['admin']['installedversion']}: {$version}