mirror of
https://github.com/Froxlor/Froxlor.git
synced 2024-09-21 10:27:29 +00:00
- added admin_cronjobs.php to change cronjob intervals and possibility to enable/disable them, refs #75
This commit is contained in:
parent
0ec2238e4b
commit
fc5d14d223
@ -75,12 +75,6 @@ if($page == 'cronjobs'
|
||||
|
||||
$description = $lng['crondesc'][$row['desc_lng_key']];
|
||||
|
||||
/*
|
||||
* don't allow deletion of 'froxlor' cronjobs
|
||||
*/
|
||||
$vendor_a = explode('/', $row['module']);
|
||||
$vendor = $vendor_a[0];
|
||||
|
||||
eval("\$crons.=\"" . getTemplate("cronjobs/cronjobs_cronjob") . "\";");
|
||||
$count++;
|
||||
}
|
||||
@ -94,21 +88,68 @@ if($page == 'cronjobs'
|
||||
elseif($action == 'new')
|
||||
{
|
||||
/*
|
||||
* @TODO Finish me
|
||||
* @TODO later
|
||||
*/
|
||||
}
|
||||
elseif($action == 'edit'
|
||||
&& $id != 0)
|
||||
{
|
||||
/*
|
||||
* @TODO Finish me
|
||||
*/
|
||||
$result = $db->query_first("SELECT * FROM `" . TABLE_PANEL_CRONRUNS . "` WHERE `id`='" . (int)$id . "'");
|
||||
|
||||
if ($result['cronfile'] != '')
|
||||
{
|
||||
if(isset($_POST['send'])
|
||||
&& $_POST['send'] == 'send')
|
||||
{
|
||||
$isactive = intval($_POST['isactive']);
|
||||
$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);
|
||||
|
||||
$db->query("UPDATE `" . TABLE_PANEL_CRONRUNS . "`
|
||||
SET `isactive` = '".(int)$isactive."',
|
||||
`interval` = '".$interval."'
|
||||
WHERE `id` = '" . (int)$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;
|
||||
}
|
||||
|
||||
eval("echo \"" . getTemplate("cronjobs/cronjob_edit") . "\";");
|
||||
}
|
||||
}
|
||||
}
|
||||
elseif($action == 'delete'
|
||||
&& $id != 0)
|
||||
{
|
||||
/*
|
||||
* @TODO Finish me
|
||||
* @TODO later
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
@ -200,15 +200,11 @@ return array (
|
||||
'label' => $lng['admin']['ipsandports']['ipsandports'],
|
||||
'required_resources' => 'change_serversettings',
|
||||
),
|
||||
/*
|
||||
* @TODO this is for Froxlor-1.0
|
||||
*
|
||||
array (
|
||||
'url' => 'admin_cronjobs.php?page=overview',
|
||||
'label' => $lng['admin']['cron']['cronsettings'],
|
||||
'required_resources' => 'change_serversettings',
|
||||
),
|
||||
*/
|
||||
array (
|
||||
'url' => 'admin_settings.php?page=rebuildconfigs',
|
||||
'label' => $lng['admin']['rebuildconf'],
|
||||
|
@ -1262,22 +1262,6 @@ $lng['update']['update'] = 'Froxlor Update';
|
||||
$lng['update']['proceed'] = 'Proceed';
|
||||
$lng['update']['update_information'] = 'The Froxlor files have been updated to version <strong>%newversion</strong>. The installed version is <strong>%curversion</strong>.<br /><br />Customers will not be able to log in until the update has been finished.<br /><strong>Proceed?</strong>';
|
||||
$lng['update']['noupdatesavail'] = '<strong>You already have the latest Froxlor version.</strong>';
|
||||
$lng['admin']['cron']['cronsettings'] = 'Cronjob settings';
|
||||
$lng['cron']['cronname'] = 'cronjob-name';
|
||||
$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';
|
||||
$lng['admin']['specialsettingsforsubdomains'] = 'Apply specialsettings to all subdomains (*.example.com)';
|
||||
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'If yes these custom vhost-settings will be added to all subdomains; if no subdomain-specialsettings are being removed.';
|
||||
$lng['tasks']['outstanding_tasks'] = 'Outstanding cron-tasks';
|
||||
@ -1331,4 +1315,32 @@ $lng['dkim']['dkim_add_adsp']['description'] = 'If you don\'t know what this is,
|
||||
$lng['dkim']['dkim_add_adsppolicy']['title'] = 'ADSP policy';
|
||||
$lng['dkim']['dkim_add_adsppolicy']['description'] = 'For more information about this setting see <a href="http://wiki.froxlor.org/contrib/dkim-adsp-policies">http://wiki.froxlor.org/contrib/dkim-adsp-policies</a>';
|
||||
|
||||
$lng['admin']['cron']['cronsettings'] = 'Cronjob settings';
|
||||
$lng['cron']['cronname'] = 'cronjob-name';
|
||||
$lng['cron']['lastrun'] = 'last run';
|
||||
$lng['cron']['interval'] = 'interval';
|
||||
$lng['cron']['isactive'] = 'enabled';
|
||||
$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';
|
||||
$lng['cronmgmt']['seconds'] = 'seconds';
|
||||
$lng['cronmgmt']['minutes'] = 'minutes';
|
||||
$lng['cronmgmt']['hours'] = 'hours';
|
||||
$lng['cronmgmt']['days'] = 'days';
|
||||
$lng['cronmgmt']['weeks'] = 'weeks';
|
||||
$lng['cronmgmt']['months'] = 'months';
|
||||
$lng['admin']['cronjob_edit'] = 'Edit cronjob';
|
||||
$lng['cronjob']['cronjobsettings'] = 'Cronjob settings';
|
||||
$lng['cronjob']['cronjobinterval'] = 'Runtime interval';
|
||||
$lng['panel']['options'] = 'options';
|
||||
$lng['admin']['warning'] = 'WARNING - Please note!';
|
||||
$lng['cron']['changewarning'] = 'Changing these values can have a negative cause to the behavior of Froxlor and its automated tasks.<br /><br />Please, only change values here if you are *damn sure* you know what you are doing.';
|
||||
|
||||
?>
|
||||
|
@ -1242,22 +1242,6 @@ $lng['update']['update'] = 'Froxlor Aktualisierung';
|
||||
$lng['update']['proceed'] = 'Ausführen';
|
||||
$lng['update']['update_information'] = 'Die Froxlor Dateien wurden aktualisiert. Neue Version ist <strong>%newversion</strong>. Die bisher installierte Version ist <strong>%curversion</strong><br /><br />Ein Kunden-Login ist vor Abschluss des Aktualisierungsvorganges nicht m&oouml;glich.<br /><strong>Aktualisierung ausführen?</strong>';
|
||||
$lng['update']['noupdatesavail'] = '<strong>Ihre Froxlor-Version ist aktuell.</strong>';
|
||||
$lng['admin']['cron']['cronsettings'] = 'Cronjob Einstellungen';
|
||||
$lng['cron']['cronname'] = 'Cronjob-Name';
|
||||
$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';
|
||||
$lng['admin']['specialsettingsforsubdomains'] = 'Übernehme Einstellungen für alle Subdomains (*.beispiel.de)';
|
||||
$lng['serversettings']['specialsettingsforsubdomains']['description'] = 'Wenn ja, werden die individuellen Einstellungen für alle Subdomains übernommen; wenn nein, werden Subdomain-Specialsettings entfernt.';
|
||||
$lng['tasks']['outstanding_tasks'] = 'Ausstehende Cron-Aufgaben';
|
||||
@ -1299,4 +1283,33 @@ $lng['serversettings']['adminmail_return']['title'] = 'Antwort-Adresse';
|
||||
$lng['serversettings']['adminmail_return']['description'] = 'Standard-Antwort-Adresse für E-Mails aus dem Panel.';
|
||||
$lng['serversettings']['adminmail_defname'] = 'Panel Absender Name';
|
||||
|
||||
$lng['admin']['cron']['cronsettings'] = 'Cronjob Einstellungen';
|
||||
$lng['cron']['cronname'] = 'Cronjob-Name';
|
||||
$lng['cron']['lastrun'] = 'zuletzt gestartet';
|
||||
$lng['cron']['interval'] = 'Intervall';
|
||||
$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';
|
||||
$lng['cronmgmt']['seconds'] = 'Sekunden';
|
||||
$lng['cronmgmt']['minutes'] = 'Minuten';
|
||||
$lng['cronmgmt']['hours'] = 'Stunden';
|
||||
$lng['cronmgmt']['days'] = 'Tage';
|
||||
$lng['cronmgmt']['weeks'] = 'Wochen';
|
||||
$lng['cronmgmt']['months'] = 'Monate';
|
||||
$lng['admin']['cronjob_edit'] = 'Cronjob bearbeiten';
|
||||
$lng['cronjob']['cronjobsettings'] = 'Cronjob Einstellungen';
|
||||
$lng['cronjob']['cronjobinterval'] = 'Laufzeit-Intervall';
|
||||
$lng['panel']['options'] = 'Optionen';
|
||||
$lng['admin']['warning'] = 'ACHTUNG - Wichtiger Hinweis!';
|
||||
$lng['cron']['changewarning'] = 'Änderungen an diesen Werten kann einen negativen Effekt auf das Verhalten von Froxlor und seinen automatisierten Aufgaben haben.<br /><br />Also bitte nur etwas ändern, wenn du dir *verdammt sicher* bist das du weisst was du tust.';
|
||||
|
||||
?>
|
||||
|
48
templates/admin/cronjobs/cronjob_edit.tpl
Normal file
48
templates/admin/cronjobs/cronjob_edit.tpl
Normal file
@ -0,0 +1,48 @@
|
||||
$header
|
||||
<form method="post" action="$filename">
|
||||
<input type="hidden" name="s" value="$s" />
|
||||
<input type="hidden" name="page" value="$page" />
|
||||
<input type="hidden" name="action" value="$action" />
|
||||
<input type="hidden" name="id" value="$id" />
|
||||
<input type="hidden" name="send" value="send" />
|
||||
<table cellpadding="5" cellspacing="4" border="0" align="center" class="maintable">
|
||||
<tr>
|
||||
<td class="maintitle" colspan="2"><b><img src="images/title.gif" alt="" /> {$lng['admin']['cronjob_edit']}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="maintitle_apply_left">
|
||||
<b><img src="images/title.gif" alt="" /> {$lng['cronjob']['cronjobsettings']}</b>
|
||||
</td>
|
||||
<td class="maintitle_apply_right" nowrap="nowrap">
|
||||
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">Cronjob:</td>
|
||||
<if $change_cronfile == 1 >
|
||||
<td class="main_field_display" nowrap="nowrap">"><input type="text" name="cronfile" value="{$result['cronfile']}" /></td>
|
||||
<else>
|
||||
<td class="main_field_display" nowrap="nowrap">{$result['cronfile']}</td>
|
||||
<if>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">{$lng['admin']['activated']}:</td>
|
||||
<td class="main_field_display" nowrap="nowrap">{$isactive}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="main_field_name">{$lng['cronjob']['cronjobinterval']}:</td>
|
||||
<td class="main_field_display" nowrap="nowrap">
|
||||
<input type="text" name="interval_value" value="{$interval_value}" />
|
||||
<select class="dropdown_noborder" name="interval_interval">$interval_interval</select>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="maintitle_apply_right" nowrap="nowrap" colspan="2">
|
||||
<input class="bottom" type="reset" value="{$lng['panel']['reset']}" /><input class="bottom" type="submit" value="{$lng['panel']['save']}" />
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br />
|
||||
<br />
|
||||
$footer
|
@ -1,30 +1,35 @@
|
||||
$header
|
||||
<form action="$filename" method="post">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
|
||||
<tr>
|
||||
<td class="maintitle_search_left" colspan="4"><b><img src="images/title.gif" alt="" /> {$lng['admin']['cron']['cronsettings']}</b></td>
|
||||
<td class="maintitle_search_right" colspan="2">{$searchcode}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="field_display_border_left">{$lng['cron']['description']}</td>
|
||||
<td class="field_display">{$lng['cron']['lastrun']} {$arrowcode['c.lastrun']}</td>
|
||||
<td class="field_display">{$lng['cron']['interval']} {$arrowcode['c.interval']}</td>
|
||||
<td class="field_display">{$lng['cron']['isactive']} {$arrowcode['c.isactive']}</td>
|
||||
<td class="field_display_search" colspan="2">{$sortcode}</td>
|
||||
</tr>
|
||||
$crons
|
||||
<if $pagingcode != ''>
|
||||
<tr>
|
||||
<td class="field_display_border_left" colspan="6" style=" text-align: center; ">{$pagingcode}</td>
|
||||
</tr>
|
||||
</if>
|
||||
<tr>
|
||||
<td class="field_display_border_left" colspan="6"><a href="$filename?page=$page&action=add&s=$s">{$lng['admin']['cron']['add']}</a></td>
|
||||
</tr>
|
||||
</table>
|
||||
</form>
|
||||
<br />
|
||||
<br />
|
||||
$footer
|
||||
$header
|
||||
<form action="$filename" method="post">
|
||||
<input type="hidden" name="s" value="$s"/>
|
||||
<input type="hidden" name="page" value="$page"/>
|
||||
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
|
||||
<tr>
|
||||
<td class="maintitle"><b><img src="images/title.gif" alt="" /> {$lng['admin']['warning']}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="field_name_border_left">
|
||||
<span style="font-weight: bold; color: #ff0000;">
|
||||
{$lng['cron']['changewarning']}
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<br />
|
||||
<table cellpadding="5" cellspacing="0" border="0" align="center" class="maintable">
|
||||
<tr>
|
||||
<td class="maintitle" colspan="5"><b><img src="images/title.gif" alt="" /> {$lng['admin']['cron']['cronsettings']}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="field_display_border_left">{$lng['cron']['description']}</td>
|
||||
<td class="field_display">{$lng['cron']['lastrun']}</td>
|
||||
<td class="field_display">{$lng['cron']['interval']}</td>
|
||||
<td class="field_display">{$lng['cron']['isactive']}</td>
|
||||
<td class="field_display">{$lng['panel']['options']}</td>
|
||||
</tr>
|
||||
$crons
|
||||
</table>
|
||||
</form>
|
||||
<br />
|
||||
<br />
|
||||
$footer
|
||||
|
@ -1,8 +1,7 @@
|
||||
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
|
||||
<td class="field_name_border_left">{$description}</td>
|
||||
<td class="field_name">{$row['lastrun']}</td>
|
||||
<td class="field_name">{$row['interval']}</td>
|
||||
<td class="field_name">{$row['isactive']}</td>
|
||||
<td class="field_name"><a href="$filename?s=$s&page=$page&action=edit&id={$row['id']}">{$lng['panel']['edit']}</a></td>
|
||||
<td class="field_name"><if $vendor != 'froxlor'><a href="$filename?s=$s&page=$page&action=delete&id={$row['id']}">{$lng['panel']['delete']}</a></if></td>
|
||||
</tr>
|
||||
<tr class="" onmouseover="this.className='RowOverSelected';" onmouseout="this.className='';">
|
||||
<td class="field_name_border_left">{$description}</td>
|
||||
<td class="field_name">{$row['lastrun']}</td>
|
||||
<td class="field_name">{$row['interval']}</td>
|
||||
<td class="field_name">{$row['isactive']}</td>
|
||||
<td class="field_name"><a href="$filename?s=$s&page=$page&action=edit&id={$row['id']}">{$lng['panel']['edit']}</a></td>
|
||||
</tr>
|
||||
|
Loading…
Reference in New Issue
Block a user