Skip to content

Commit 43992c0

Browse files
author
Till Brehm
committed
Merge branch 'stable-3.1' into 'stable-3.1'
update affected websites when a directive snippet was updated (Implements #5632) See merge request ispconfig/ispconfig3!1079
2 parents 1460ae7 + 54cfa4f commit 43992c0

33 files changed

+136
-5
lines changed

install/sql/incremental/upd_dev_collection.sql

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,3 +62,6 @@ ALTER TABLE `mail_user` MODIFY `move_junk` enum('y','a','n') NOT NULL DEFAULT 'y
6262

6363
-- Change id_rsa column to TEXT format
6464
ALTER TABLE `client` CHANGE `id_rsa` `id_rsa` TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '';
65+
66+
ALTER TABLE `directive_snippets` ADD `update_sites` ENUM('y','n') NOT NULL DEFAULT 'n' ;
67+

install/sql/ispconfig3.sql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,7 @@ CREATE TABLE IF NOT EXISTS `directive_snippets` (
470470
`required_php_snippets` varchar(255) NOT NULL DEFAULT '',
471471
`active` enum('n','y') NOT NULL DEFAULT 'y',
472472
`master_directive_snippets_id` int(11) unsigned NOT NULL DEFAULT '0',
473+
`update_sites` ENUM('y','n') NOT NULL DEFAULT 'n',
473474
PRIMARY KEY (`directive_snippets_id`)
474475
) DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
475476

interface/web/admin/directive_snippets_edit.php

Lines changed: 29 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -75,22 +75,49 @@ function onShowEnd() {
7575
$app->tpl->setVar("snippet", $this->dataRecord['snippet'], true);
7676
}
7777
}
78+
7879
$app->tpl->setVar("is_master", $is_master);
7980

8081
parent::onShowEnd();
8182
}
8283

8384
function onSubmit() {
8485
global $app, $conf;
85-
86+
8687
if($this->id > 0){
8788
$record = $app->db->queryOneRecord("SELECT * FROM directive_snippets WHERE directive_snippets_id = ?", $this->id);
8889
if($record['master_directive_snippets_id'] > 0){
8990
unset($app->tform->formDef["tabs"]['directive_snippets']['fields']['name'], $app->tform->formDef["tabs"]['directive_snippets']['fields']['type'], $app->tform->formDef["tabs"]['directive_snippets']['fields']['snippet'], $app->tform->formDef["tabs"]['directive_snippets']['fields']['required_php_snippets']);
9091
}
92+
93+
if(isset($this->dataRecord['update_sites'])) {
94+
parent::onSubmit();
95+
} else {
96+
$app->db->query('UPDATE directive_snippets SET name = ?, type = ?, snippet = ?, customer_viewable = ?, required_php_snippets = ?, active = ? WHERE directive_snippets_id = ?', $this->dataRecord['name'], $this->dataRecord['type'], $this->dataRecord['snippet'], $this->dataRecord['customer_viewable'], implode(',', $this->dataRecord['required_php_snippets']), $this->dataRecord['active'], $this->id);
97+
98+
if($_REQUEST["next_tab"] == '') {
99+
$list_name = $_SESSION["s"]["form"]["return_to"];
100+
if($list_name != '' && $_SESSION["s"]["list"][$list_name]["parent_name"] != $app->tform->formDef["name"]) {
101+
$redirect = "Location: ".$_SESSION["s"]["list"][$list_name]["parent_script"]."?id=".$_SESSION["s"]["list"][$list_name]["parent_id"]."&next_tab=".$_SESSION["s"]["list"][$list_name]["parent_tab"];
102+
$_SESSION["s"]["form"]["return_to"] = '';
103+
session_write_close();
104+
header($redirect);
105+
} elseif (isset($_SESSION["s"]["form"]["return_to_url"]) && $_SESSION["s"]["form"]["return_to_url"] != '') {
106+
$redirect = $_SESSION["s"]["form"]["return_to_url"];
107+
$_SESSION["s"]["form"]["return_to_url"] = '';
108+
session_write_close();
109+
header("Location: ".$redirect);
110+
exit;
111+
} else {
112+
header("Location: ".$app->tform->formDef['list_default']);
113+
}
114+
exit;
115+
}
116+
}
117+
91118
unset($record);
92119
}
93-
120+
94121
parent::onSubmit();
95122
}
96123

interface/web/admin/form/directive_snippets.tform.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,12 @@
110110
'default' => 'y',
111111
'value' => array(0 => 'n', 1 => 'y')
112112
),
113+
'update_sites' => array (
114+
'datatype' => 'VARCHAR',
115+
'formtype' => 'CHECKBOX',
116+
'default' => 'y',
117+
'value' => array(0 => 'n', 1 => 'y')
118+
),
113119
'required_php_snippets' => array (
114120
'datatype' => 'VARCHAR',
115121
'formtype' => 'CHECKBOXARRAY',

interface/web/admin/lib/lang/ar_directive_snippets.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ $wb['directive_snippets_name_error_unique'] = 'There is already a directive snip
99
$wb['variables_txt'] = 'Variables';
1010
$wb['customer_viewable_txt'] = 'Customer viewable';
1111
$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
12+
$wb['update_sites_txt'] = 'Update sites using this snippet';
1213
?>

interface/web/admin/lib/lang/bg_directive_snippets.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ $wb['directive_snippets_name_error_unique'] = 'There is already a directive snip
99
$wb['variables_txt'] = 'Variables';
1010
$wb['customer_viewable_txt'] = 'Customer viewable';
1111
$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
12+
$wb['update_sites_txt'] = 'Update sites using this snippet';
1213
?>

interface/web/admin/lib/lang/br_directive_snippets.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ $wb['directive_snippets_name_error_unique'] = 'Já existe uma diretiva com este
99
$wb['variables_txt'] = 'Variáveis';
1010
$wb['customer_viewable_txt'] = 'Visualização personalizada';
1111
$wb['required_php_snippets_txt'] = 'Trecho de código exige php';
12+
$wb['update_sites_txt'] = 'Update sites using this snippet';
1213
?>

interface/web/admin/lib/lang/ca_directive_snippets.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ $wb['directive_snippets_name_error_unique'] = 'There is already a directive snip
99
$wb['variables_txt'] = 'Variables';
1010
$wb['customer_viewable_txt'] = 'Customer viewable';
1111
$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
12+
$wb['update_sites_txt'] = 'Update sites using this snippet';
1213
?>

interface/web/admin/lib/lang/cz_directive_snippets.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ $wb['directive_snippets_name_error_unique'] = 'There is already a directive snip
99
$wb['variables_txt'] = 'Proměnné';
1010
$wb['customer_viewable_txt'] = 'Dostupná volba pro klienta';
1111
$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
12+
$wb['update_sites_txt'] = 'Update sites using this snippet';
1213
?>

interface/web/admin/lib/lang/de_directive_snippets.lng

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,5 @@ $wb['directive_snippets_name_error_unique'] = 'Es existiert schon ein Direktiven
99
$wb['variables_txt'] = 'Variablen';
1010
$wb['customer_viewable_txt'] = 'Sichtbar für Kunden';
1111
$wb['required_php_snippets_txt'] = 'Requiered PHP Snippet';
12+
$wb['update_sites_txt'] = 'Update sites using this snippet';
1213
?>

0 commit comments

Comments
 (0)