Issue #212 Setting Defaults for Pushover
- installation and change the updater - table structure servers - edit language CZ + EN - modification methods for modifying and adding serverspull/304/head
parent
e03625902a
commit
7f76d7f5a8
|
@ -129,6 +129,15 @@ $sm_lang = array(
|
|||
'website_password_description' => 'Heslo pro přístup na stránku. Heslo je v databázi šifrované a NENÍ uloženo v čistém textu.',
|
||||
'fieldset_monitoring' => 'Monitoring',
|
||||
'fieldset_permissions' => 'Oprávnění',
|
||||
'fieldset_pushover' => 'Nastavení Pushover upozornění (volitelné)',
|
||||
'pushover_priority_online' => 'Priorita pro Online',
|
||||
'pushover_priority_offline' => 'Priorita pro Offline',
|
||||
'pushover_sound' => 'Zvuk',
|
||||
'pushover_retry' => 'Opakování',
|
||||
'pushover_retry_description' => 'Pokud chcete vypnout toto nastavení vymažte hodnoty z pole. Pokud je nastavena Nouzová priorita (2), toto nastavení je vyžadováno, pokud není nastaveno uplatní se hodnota 300 sekund.',
|
||||
'pushover_expire' => 'Expirace',
|
||||
'pushover_expire_description' => 'Pokud chcete vypnout toto nastavení vymažte hodnoty z pole. Pokud je nastavena Nouzová priorita (2), toto nastavení je vyžadováno, pokud není nastaveno uplatní se hodnota 3600 sekund.',
|
||||
'pushover_default' => 'Výchozí nastavení (%s)',
|
||||
'port' => 'Port',
|
||||
'custom_port' => 'Uživatelský Port',
|
||||
'popular_ports' => 'Populární Porty',
|
||||
|
@ -207,7 +216,7 @@ $sm_lang = array(
|
|||
'sms_gateway_spryng' => 'Spryng',
|
||||
'sms_gateway_inetworx' => 'Inetworx',
|
||||
'sms_gateway_clickatell' => 'Clickatell',
|
||||
'sms_gateway_textmarketer' => 'Textmarketer',
|
||||
'sms_gateway_textmarketer' => 'Textmarketer',
|
||||
'sms_gateway_smsglobal' => 'SMSGlobal',
|
||||
'sms_gateway_nexmo' => 'Nexmo',
|
||||
'sms_gateway_octopush' => 'Octopush',
|
||||
|
@ -226,9 +235,9 @@ $sm_lang = array(
|
|||
'pushover_default_sound' => 'Výchozí zvuk',
|
||||
'pushover_default_sound_device' => 'Výchozí zvuk zařízení',
|
||||
'pushover_default_retry' => 'Výchozí opakování',
|
||||
'pushover_default_retry_description' => 'Toto nastavení se uplatní v oznámení pouze pokud je zvolena Nouzová priorita (2)',
|
||||
'pushover_default_retry_description' => 'Pokud chcete vypnout toto nastavení vymažte hodnoty z pole. Pokud je nastavena Nouzová priorita (2), toto nastavení je vyžadováno, pokud není nastaveno uplatní se hodnota 300 sekund.',
|
||||
'pushover_default_expire' => 'Výchozí expirace',
|
||||
'pushover_default_expire_description' => 'Toto nastavení se uplatní v oznámení pouze pokud je zvolena Nouzová priorita (2)',
|
||||
'pushover_default_expire_description' => 'Pokud chcete vypnout toto nastavení vymažte hodnoty z pole. Pokud je nastavena Nouzová priorita (2), toto nastavení je vyžadováno, pokud není nastaveno uplatní se hodnota 3600 sekund.',
|
||||
'pushover_priority_-2' => 'Nejnižší priorita (-2)',
|
||||
'pushover_priority_-1' => 'Nízká priorita (-1)',
|
||||
'pushover_priority_0' => 'Normální priorita (0)',
|
||||
|
|
|
@ -128,6 +128,15 @@ $sm_lang = array(
|
|||
'website_password_description' => 'Password to access the site. The password is encrypted in the database and is not stored in plain text.',
|
||||
'fieldset_monitoring' => 'Monitoring',
|
||||
'fieldset_permissions' => 'Permissions',
|
||||
'fieldset_pushover' => 'Pushover notice Settings (Optional)',
|
||||
'pushover_priority_online' => 'Priority for Online',
|
||||
'pushover_priority_offline' => 'Priority for Offline',
|
||||
'pushover_sound' => 'Sound',
|
||||
'pushover_retry' => 'Retry',
|
||||
'pushover_retry_description' => 'If you want to disable this setting clears the value of the field. When set Emergency priority (2), this setting is required when no applicable value is 300 seconds.',
|
||||
'pushover_expire' => 'Expirace',
|
||||
'pushover_expire_description' => 'If you want to disable this setting clears the value of the field. When set Emergency priority (2), this setting is required when no applicable value is 3600 seconds.',
|
||||
'pushover_default' => 'Default settings (%s)',
|
||||
'port' => 'Port',
|
||||
'custom_port' => 'Custom Port',
|
||||
'popular_ports' => 'Popular Ports',
|
||||
|
@ -225,9 +234,9 @@ $sm_lang = array(
|
|||
'pushover_default_sound' => 'Default Sound',
|
||||
'pushover_default_sound_device' => 'Device default sound',
|
||||
'pushover_default_retry' => 'Default Retry',
|
||||
'pushover_default_retry_description' => 'This setting will apply to notification only if the selected Emergency Priority (2).',
|
||||
'pushover_default_retry_description' => 'If you want to disable this setting erases the value of the field. When set Emergency priority (2), this setting is required When no applicable value is 300 seconds.',
|
||||
'pushover_default_expire' => 'Default Expire',
|
||||
'pushover_default_expire_description' => 'This setting will apply to notification only if the selected Emergency Priority (2).',
|
||||
'pushover_default_expire_description' => 'If you want to disable this setting erases the value of the field. When set Emergency priority (2), this setting is required When no applicable value is 3600 seconds.',
|
||||
'pushover_priority_-2' => 'Lowest Priority (-2)',
|
||||
'pushover_priority_-1' => 'Low Priority (-1)',
|
||||
'pushover_priority_0' => 'Normal Priority (0)',
|
||||
|
|
|
@ -77,7 +77,12 @@ abstract class AbstractServerController extends AbstractController {
|
|||
`s`.`warning_threshold_counter`,
|
||||
`s`.`timeout`,
|
||||
`s`.`website_username`,
|
||||
`s`.`website_password`
|
||||
`s`.`website_password`,
|
||||
`s`.`pushover_priority_online`,
|
||||
`s`.`pushover_priority_offline`,
|
||||
`s`.`pushover_sound`,
|
||||
`s`.`pushover_retry`,
|
||||
`s`.`pushover_expire`
|
||||
FROM `".PSM_DB_PREFIX."servers` AS `s`
|
||||
{$sql_join}
|
||||
{$sql_where}
|
||||
|
|
|
@ -157,6 +157,9 @@ class ServerController extends AbstractServerController {
|
|||
|
||||
$tpl_data['users'] = $this->db->select(PSM_DB_PREFIX.'users', null, array('user_id', 'name'), '', 'name');
|
||||
|
||||
$tpl_data['default_pushover_retry'] = psm_get_conf('pushover_default_retry');
|
||||
$tpl_data['default_pushover_expire'] = psm_get_conf('pushover_default_expire');
|
||||
|
||||
switch($this->server_id) {
|
||||
case 0:
|
||||
// insert mode
|
||||
|
@ -206,6 +209,8 @@ class ServerController extends AbstractServerController {
|
|||
'edit_email_selected_' . $edit_server['email'] => 'selected="selected"',
|
||||
'edit_sms_selected_' . $edit_server['sms'] => 'selected="selected"',
|
||||
'edit_pushover_selected_' . $edit_server['pushover'] => 'selected="selected"',
|
||||
'edit_pushover_retry' => $edit_server['pushover_retry'],
|
||||
'edit_pushover_expire' => $edit_server['pushover_expire'],
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -222,6 +227,84 @@ class ServerController extends AbstractServerController {
|
|||
}
|
||||
}
|
||||
|
||||
// pushover settings
|
||||
$pushoverPriority = [
|
||||
'' => [
|
||||
'value' => '',
|
||||
'label' => psm_get_lang('servers', 'pushover_default'),
|
||||
'selected' => '',
|
||||
],
|
||||
'-2' => [
|
||||
'value' => '-2',
|
||||
'label' => psm_get_lang('config', 'pushover_priority_-2'),
|
||||
'selected' => '',
|
||||
],
|
||||
'-1' => [
|
||||
'value' => '-1',
|
||||
'label' => psm_get_lang('config', 'pushover_priority_-1'),
|
||||
'selected' => '',
|
||||
],
|
||||
'0' => [
|
||||
'value' => '0',
|
||||
'label' => psm_get_lang('config', 'pushover_priority_0'),
|
||||
'selected' => '',
|
||||
],
|
||||
'1' => [
|
||||
'value' => '1',
|
||||
'label' => psm_get_lang('config', 'pushover_priority_1'),
|
||||
'selected' => '',
|
||||
],
|
||||
'2' => [
|
||||
'value' => '2',
|
||||
'label' => psm_get_lang('config', 'pushover_priority_2'),
|
||||
'selected' => '',
|
||||
],
|
||||
];
|
||||
|
||||
$tpl_data['pushover_priority_online'] = $pushoverPriority;
|
||||
$tpl_data['pushover_priority_online']['']['label'] = sprintf($tpl_data['pushover_priority_online']['']['label'], psm_get_conf('pushover_default_priority_online'));
|
||||
if (
|
||||
isset($edit_server['pushover_priority_online']) &&
|
||||
isset($tpl_data['pushover_priority_online'][$edit_server['pushover_priority_online']])
|
||||
) {
|
||||
$tpl_data['pushover_priority_online'][$edit_server['pushover_priority_online']]['selected'] = ' selected="selected"';
|
||||
}
|
||||
|
||||
$tpl_data['pushover_priority_offline'] = $pushoverPriority;
|
||||
$tpl_data['pushover_priority_offline']['']['label'] = sprintf($tpl_data['pushover_priority_offline']['']['label'], psm_get_conf('pushover_default_priority_offline'));
|
||||
if (
|
||||
isset($edit_server['pushover_priority_offline']) &&
|
||||
isset($tpl_data['pushover_priority_offline'][$edit_server['pushover_priority_offline']])
|
||||
) {
|
||||
$tpl_data['pushover_priority_offline'][$edit_server['pushover_priority_offline']]['selected'] = ' selected="selected"';
|
||||
}
|
||||
|
||||
$pushover = psm_build_pushover();
|
||||
$pushoverSound = $pushover->getSoundsList();
|
||||
|
||||
$tpl_data['pushover_sound'][''] = [
|
||||
'value' => '',
|
||||
'label' => psm_get_lang('servers', 'pushover_default'),
|
||||
'selected' => (isset($edit_server['pushover_sound']) && $edit_server['pushover_sound'] == psm_get_conf('pushover_default_sound')) ? ' selected="selected"' : '',
|
||||
];
|
||||
|
||||
if ($pushoverSound !== false) {
|
||||
foreach ($pushoverSound as $key => $name) {
|
||||
$tpl_data['pushover_sound'][$key] = [
|
||||
'value' => $key,
|
||||
'label' => $name,
|
||||
'selected' => (isset($edit_server['pushover_sound']) && $edit_server['pushover_sound'] == $key) ? ' selected="selected"' : '',
|
||||
];
|
||||
}
|
||||
|
||||
$tpl_data['pushover_sound']['']['label'] = sprintf(
|
||||
$tpl_data['pushover_sound']['']['label'],
|
||||
(isset($pushoverSound[psm_get_conf('pushover_default_sound')]) ? $pushoverSound[psm_get_conf('pushover_default_sound')] : psm_get_conf('pushover_default_sound'))
|
||||
);
|
||||
} else {
|
||||
$tpl_data['pushover_sound']['']['label'] = sprintf($tpl_data['pushover_sound']['']['label'], psm_get_conf('pushover_default_sound'));
|
||||
}
|
||||
|
||||
return $this->twig->render('module/server/server/update.tpl.html', $tpl_data);
|
||||
}
|
||||
|
||||
|
@ -247,6 +330,11 @@ class ServerController extends AbstractServerController {
|
|||
'email' => in_array($_POST['email'], array('yes', 'no')) ? $_POST['email'] : 'no',
|
||||
'sms' => in_array($_POST['sms'], array('yes', 'no')) ? $_POST['sms'] : 'no',
|
||||
'pushover' => in_array($_POST['pushover'], array('yes', 'no')) ? $_POST['pushover'] : 'no',
|
||||
'pushover_priority_online' => psm_POST('pushover_priority_online', ''),
|
||||
'pushover_priority_offline' => psm_POST('pushover_priority_offline', ''),
|
||||
'pushover_sound' => psm_POST('pushover_sound', ''),
|
||||
'pushover_retry' => psm_POST('pushover_retry', ''),
|
||||
'pushover_expire' => psm_POST('pushover_expire', ''),
|
||||
);
|
||||
// make sure websites start with http://
|
||||
if($clean['type'] == 'website' && substr($clean['ip'], 0, 4) != 'http') {
|
||||
|
@ -401,6 +489,15 @@ class ServerController extends AbstractServerController {
|
|||
'label_website_password_description' => psm_get_lang('servers', 'website_password_description'),
|
||||
'label_fieldset_monitoring' => psm_get_lang('servers', 'fieldset_monitoring'),
|
||||
'label_fieldset_permissions' => psm_get_lang('servers', 'fieldset_permissions'),
|
||||
'label_fieldset_pushover' => psm_get_lang('servers', 'fieldset_pushover'),
|
||||
'label_seconds' => psm_get_lang('config', 'seconds'),
|
||||
'label_pushover_priority_online' => psm_get_lang('servers', 'pushover_priority_online'),
|
||||
'label_pushover_priority_offline' => psm_get_lang('servers', 'pushover_priority_offline'),
|
||||
'label_pushover_sound' => psm_get_lang('servers', 'pushover_sound'),
|
||||
'label_pushover_retry' => psm_get_lang('servers', 'pushover_retry'),
|
||||
'label_pushover_retry_description' => psm_get_lang('servers', 'pushover_retry_description'),
|
||||
'label_pushover_expire' => psm_get_lang('servers', 'pushover_expire'),
|
||||
'label_pushover_expire_description' => psm_get_lang('servers', 'pushover_expire_description'),
|
||||
'label_port' => psm_get_lang('servers', 'port'),
|
||||
'label_custom_port' => psm_get_lang('servers', 'custom_port'),
|
||||
'label_please_select' => psm_get_lang('servers', 'please_select'),
|
||||
|
|
|
@ -235,6 +235,11 @@ class Installer {
|
|||
`timeout` smallint(1) unsigned NULL DEFAULT NULL,
|
||||
`website_username` varchar(255) DEFAULT NULL,
|
||||
`website_password` varchar(255) DEFAULT NULL,
|
||||
`pushover_priority_online` varchar(255) DEFAULT NULL,
|
||||
`pushover_priority_offline` varchar(255) DEFAULT NULL,
|
||||
`pushover_sound` varchar(255) DEFAULT NULL,
|
||||
`pushover_retry` varchar(255) DEFAULT NULL,
|
||||
`pushover_expire` varchar(255) DEFAULT NULL,
|
||||
PRIMARY KEY (`server_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;",
|
||||
PSM_DB_PREFIX . 'servers_uptime' => "CREATE TABLE IF NOT EXISTS `" . PSM_DB_PREFIX . "servers_uptime` (
|
||||
|
@ -448,6 +453,11 @@ class Installer {
|
|||
psm_update_conf('pushover_default_expire', '3600');
|
||||
$queries[] = "ALTER TABLE `" . PSM_DB_PREFIX . "servers` CHANGE `ip` `ip` VARCHAR(500) NOT NULL;";
|
||||
$queries[] = "ALTER TABLE `" . PSM_DB_PREFIX . "servers` ADD `website_username` varchar(255) NULL, ADD `website_password` varchar(255) NULL AFTER `website_username`;";
|
||||
$queries[] = "ALTER TABLE `" . PSM_DB_PREFIX . "servers` ADD `pushover_priority_online` varchar(255) COLLATE 'utf8_general_ci' NULL,
|
||||
ADD `pushover_priority_offline` varchar(255) COLLATE 'utf8_general_ci' NULL AFTER `pushover_priority_online`,
|
||||
ADD `pushover_sound` varchar(255) COLLATE 'utf8_general_ci' NULL AFTER `pushover_priority_offline`,
|
||||
ADD `pushover_retry` varchar(255) COLLATE 'utf8_general_ci' NULL AFTER `pushover_sound`,
|
||||
ADD `pushover_expire` varchar(255) COLLATE 'utf8_general_ci' NULL AFTER `pushover_retry`;";
|
||||
|
||||
$this->execSQL($queries);
|
||||
}
|
||||
|
|
|
@ -139,6 +139,52 @@
|
|||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{ label_fieldset_pushover }}</legend>
|
||||
<div class="control-group {{ control_class_pushover }}">
|
||||
<label class="control-label" for="pushover_priority_online">{{ label_pushover_priority_online }}</label>
|
||||
<div class="controls">
|
||||
<select id="pushover_priority_online" name="pushover_priority_online">
|
||||
{% for value in pushover_priority_online %}
|
||||
<option value="{{ value.value }}"{{ value.selected }}>{{ value.label }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group {{ control_class_pushover }}">
|
||||
<label class="control-label" for="pushover_priority_offline">{{ label_pushover_priority_offline }}</label>
|
||||
<div class="controls">
|
||||
<select id="pushover_priority_offline" name="pushover_priority_offline">
|
||||
{% for value in pushover_priority_offline %}
|
||||
<option value="{{ value.value }}"{{ value.selected }}>{{ value.label }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group {{ control_class_pushover }}">
|
||||
<label class="control-label" for="pushover_sound">{{ label_pushover_sound }}</label>
|
||||
<div class="controls">
|
||||
<select class="span3" id="pushover_sound" name="pushover_sound">
|
||||
{% for value in pushover_sound %}
|
||||
<option value="{{ value.value }}"{{ value.selected }}>{{ value.label }}</option>
|
||||
{% endfor %}
|
||||
</select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group {{ control_class_pushover }}">
|
||||
<label class="control-label" for="pushover_retry">{{ label_pushover_retry }}</label>
|
||||
<div class="controls">
|
||||
<input class="input-mini" type="text" id="pushover_retry" name="pushover_retry" value="{{ edit_pushover_retry }}" placeholder="{{ default_pushover_retry }}" maxlength="10" data-toggle="tooltip" title="{{ label_pushover_retry_description }}" /> {{ label_seconds }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group {{ control_class_pushover }}">
|
||||
<label class="control-label" for="pushover_expire">{{ label_pushover_expire }}</label>
|
||||
<div class="controls">
|
||||
<input class="input-mini" type="text" id="pushover_expire" name="pushover_expire" value="{{ edit_pushover_expire }}" placeholder="{{ default_pushover_expire }}" maxlength="10" data-toggle="tooltip" title="{{ label_pushover_expire_description }}" /> {{ label_seconds }}
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>{{ label_fieldset_permissions }}</legend>
|
||||
<div class="control-group">
|
||||
|
|
Loading…
Reference in New Issue