diff --git a/install/sql/incremental/upd_dev_collection.sql b/install/sql/incremental/upd_dev_collection.sql
index d18440fa94bce00cb09082baf33c6c8e2f2584ee..1a2f2e9c532f89a1ef89b7b88e5d2ec468c2be4d 100644
--- a/install/sql/incremental/upd_dev_collection.sql
+++ b/install/sql/incremental/upd_dev_collection.sql
@@ -1,2 +1,3 @@
+ALTER TABLE `server_php` ADD `php_cli_binary` varchar(255) DEFAULT NULL AFTER `php_fpm_socket_dir`;
INSERT IGNORE INTO `dns_ssl_ca` (`id`, `sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `active`, `ca_name`, `ca_issue`, `ca_wildcard`, `ca_iodef`, `ca_critical`) VALUES
-(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'Amazon Trust Services', 'amazontrust.com', 'Y', '', 0);
\ No newline at end of file
+(NULL, 1, 1, 'riud', 'riud', '', 'Y', 'Amazon Trust Services', 'amazontrust.com', 'Y', '', 0);
diff --git a/install/sql/ispconfig3.sql b/install/sql/ispconfig3.sql
index 01c2e2d86724b754e022cf158e919d3ed972fb03..169cdc5568f6f200cc0a863e785ef492494c10d6 100644
--- a/install/sql/ispconfig3.sql
+++ b/install/sql/ispconfig3.sql
@@ -1461,6 +1461,7 @@ CREATE TABLE `server_php` (
`php_fpm_ini_dir` varchar(255) DEFAULT NULL,
`php_fpm_pool_dir` varchar(255) DEFAULT NULL,
`php_fpm_socket_dir` varchar(255) DEFAULT NULL,
+ `php_cli_binary` varchar(255) DEFAULT NULL,
`active` enum('n','y') NOT NULL DEFAULT 'y',
`sortprio` int(20) NOT NULL DEFAULT 100,
PRIMARY KEY (`server_php_id`)
diff --git a/interface/lib/classes/validate_cron.inc.php b/interface/lib/classes/validate_cron.inc.php
index 888fdd5cb718c2d084aa6db8a49b2851cd03aedd..be28a87d4cef120a8bad0a68efbfb5a2edb4a50e 100644
--- a/interface/lib/classes/validate_cron.inc.php
+++ b/interface/lib/classes/validate_cron.inc.php
@@ -45,15 +45,40 @@ class validate_cron {
Validator function to check if a given cron command is in correct form (url only).
*/
function command_format($field_name, $field_value, $validator) {
+ global $app, $page;
+
if(preg_match("'^(\w+):\/\/'", $field_value, $matches)) {
+ //* Add the {DOMAIN} placeholder to the validation process
+ if(preg_match("/{DOMAIN}/", $field_value)) {
+
+ if(isset($app->remoting_lib->primary_id)) {
+ $cronjob = $app->remoting_lib->dataRecord;
+ } else {
+ $cronjob = $page->dataRecord;
+ }
+
+ if($cronjob['parent_domain_id'] > 0) {
+ $parent_domain = $app->db->queryOneRecord("SELECT `domain` FROM `web_domain` WHERE `domain_id` = ?", $cronjob['parent_domain_id']);
+ }
+
+ $trans = array(
+ '{DOMAIN}' => $parent_domain['domain']
+ );
+
+ $field_value = strtr($field_value, $trans);
+
+ }
$parsed = parse_url($field_value);
+
if($parsed === false) return $this->get_error($validator['errmsg']);
if($parsed["scheme"] != "http" && $parsed["scheme"] != "https") return $this->get_error($validator['errmsg']);
+ if(preg_match("'^([a-z0-9][a-z0-9\-]{0,62}\.)+([A-Za-z0-9\-]{2,63})$'i", $parsed["host"]) == false) return $this->get_error($validator['errmsg']);
+
- if(preg_match("'^([a-z0-9][a-z0-9_\-]{0,62}\.)+([A-Za-z0-9\-]{2,63})$'i", $parsed["host"]) == false) return $this->get_error($validator['errmsg']);
}
+
if(strpos($field_value, "\n") !== false || strpos($field_value, "\r") !== false || strpos($field_value, chr(0)) !== false) {
return $this->get_error($validator['errmsg']);
}
diff --git a/interface/web/admin/form/server_php.tform.php b/interface/web/admin/form/server_php.tform.php
index 67f22cbeb43277931f7451d89a135319b13de5c7..a77a719f20bed41e77cf360549b6445980084d2e 100644
--- a/interface/web/admin/form/server_php.tform.php
+++ b/interface/web/admin/form/server_php.tform.php
@@ -248,6 +248,30 @@ $form["tabs"]['php_fpm'] = array(
//#################################
)
);
+$form["tabs"]['php_cli'] = array (
+'title' => "PHP-CLI settings",
+'width' => 80,
+'template' => "templates/server_php_cli_edit.htm",
+'fields' => array(
+ //#################################
+ // Begin Datatable fields
+ //#################################
+ 'php_cli_binary' => array(
+ 'datatype' => 'VARCHAR',
+ 'formtype' => 'TEXT',
+ 'filters' => array(
+ 0 => array( 'event' => 'SAVE',
+ 'type' => 'STRIPTAGS'),
+ 1 => array( 'event' => 'SAVE',
+ 'type' => 'STRIPNL')
+ ),
+ 'default' => '',
+ 'value' => '',
+ 'width' => '40',
+ 'maxlength' => '255'
+ ),
+)
+);
$form["tabs"]['php_sort'] = array (
'title' => "PHP Sort Priority",
'width' => 80,
diff --git a/interface/web/admin/lib/lang/ar_server_php.lng b/interface/web/admin/lib/lang/ar_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/ar_server_php.lng
+++ b/interface/web/admin/lib/lang/ar_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/bg_server_php.lng b/interface/web/admin/lib/lang/bg_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/bg_server_php.lng
+++ b/interface/web/admin/lib/lang/bg_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/br_server_php.lng b/interface/web/admin/lib/lang/br_server_php.lng
index 791db7e3ec70cde55a0ac003fb7738f64942020e..cb1b93acc32442a1830e0e03a79b741f5953b9c4 100644
--- a/interface/web/admin/lib/lang/br_server_php.lng
+++ b/interface/web/admin/lib/lang/br_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'O nome não pode ser modificado.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/ca_server_php.lng b/interface/web/admin/lib/lang/ca_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/ca_server_php.lng
+++ b/interface/web/admin/lib/lang/ca_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/cn_server_php.lng b/interface/web/admin/lib/lang/cn_server_php.lng
index 80571fb1947cfbb38329f6f693f7553391197ca5..102bcc1fbf94070a94e14f2c7731845f4ec25be4 100644
--- a/interface/web/admin/lib/lang/cn_server_php.lng
+++ b/interface/web/admin/lib/lang/cn_server_php.lng
@@ -17,4 +17,9 @@ $wb['php_fpm_socket_dir_txt'] = 'PHP-FPM套接字目录';
$wb['active_txt'] = '激活';
$wb['php_in_use_error'] = '此PHP版本正在使用中。';
$wb['php_name_in_use_error'] = '名称无法更改。';
+$wb['PHP Sort Priority'] = 'Priority';
+$wb['sortprio_txt'] = 'Priority';
+$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/cz_server_php.lng b/interface/web/admin/lib/lang/cz_server_php.lng
index 64909284298ba7f655b2c7a33e68e299a7620b6c..eb16414a31dafcf8a7132808ea484700c6800261 100644
--- a/interface/web/admin/lib/lang/cz_server_php.lng
+++ b/interface/web/admin/lib/lang/cz_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/de_server_php.lng b/interface/web/admin/lib/lang/de_server_php.lng
index 4100957b9d336884d26b935487bc1f8a79c48344..a63e90d80c6d650f500088c40224f48666c3ec87 100644
--- a/interface/web/admin/lib/lang/de_server_php.lng
+++ b/interface/web/admin/lib/lang/de_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'Der Name kann nicht geändert werden.';
$wb['PHP Sort Priority'] = 'Priorität';
$wb['sortprio_txt'] = 'Sorting Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP Version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI-Einstellungen';
+$wb['php_cli_binary_txt'] = 'Pfad zur PHP-CLI Binary';
?>
diff --git a/interface/web/admin/lib/lang/dk_server_php.lng b/interface/web/admin/lib/lang/dk_server_php.lng
index e9b42a51334a4f9868e6d9eee0099ea398194d9c..b43202ae41abdd0ec6b4b2e6773a3b6d309dc514 100644
--- a/interface/web/admin/lib/lang/dk_server_php.lng
+++ b/interface/web/admin/lib/lang/dk_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/el_server_php.lng b/interface/web/admin/lib/lang/el_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/el_server_php.lng
+++ b/interface/web/admin/lib/lang/el_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/en_server_php.lng b/interface/web/admin/lib/lang/en_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/en_server_php.lng
+++ b/interface/web/admin/lib/lang/en_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/es_server_php.lng b/interface/web/admin/lib/lang/es_server_php.lng
index e75aa0e4e472095332f3994c901787fd4ae6f120..ff81b3ae90fa99c6327f1ffd3a3fc651807c1789 100644
--- a/interface/web/admin/lib/lang/es_server_php.lng
+++ b/interface/web/admin/lib/lang/es_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/fi_server_php.lng b/interface/web/admin/lib/lang/fi_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/fi_server_php.lng
+++ b/interface/web/admin/lib/lang/fi_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/fr_server_php.lng b/interface/web/admin/lib/lang/fr_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/fr_server_php.lng
+++ b/interface/web/admin/lib/lang/fr_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/hr_server_php.lng b/interface/web/admin/lib/lang/hr_server_php.lng
index 9db79d4f9b727891c49319105f3ba293d3b452d3..57c44ae53cba58fc7f3df36dfc8e09e534103c33 100644
--- a/interface/web/admin/lib/lang/hr_server_php.lng
+++ b/interface/web/admin/lib/lang/hr_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/hu_server_php.lng b/interface/web/admin/lib/lang/hu_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/hu_server_php.lng
+++ b/interface/web/admin/lib/lang/hu_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/id_server_php.lng b/interface/web/admin/lib/lang/id_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/id_server_php.lng
+++ b/interface/web/admin/lib/lang/id_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/it_server_php.lng b/interface/web/admin/lib/lang/it_server_php.lng
index d4feb7cb0c3232c8aec6c8048c5a437dd5abd3e5..76c97e8adc09a1c471f5461077ff70e4161f0d0b 100644
--- a/interface/web/admin/lib/lang/it_server_php.lng
+++ b/interface/web/admin/lib/lang/it_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'Il nome non può essere cambiato.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/ja_server_php.lng b/interface/web/admin/lib/lang/ja_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/ja_server_php.lng
+++ b/interface/web/admin/lib/lang/ja_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/nl_server_php.lng b/interface/web/admin/lib/lang/nl_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/nl_server_php.lng
+++ b/interface/web/admin/lib/lang/nl_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/pl_server_php.lng b/interface/web/admin/lib/lang/pl_server_php.lng
index d86e2cf01ff0d53b779b690c8f072c6adf927ed4..c43dd727cb651640e342baac74dcac028baee45e 100644
--- a/interface/web/admin/lib/lang/pl_server_php.lng
+++ b/interface/web/admin/lib/lang/pl_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/pt_server_php.lng b/interface/web/admin/lib/lang/pt_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/pt_server_php.lng
+++ b/interface/web/admin/lib/lang/pt_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/ro_server_php.lng b/interface/web/admin/lib/lang/ro_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/ro_server_php.lng
+++ b/interface/web/admin/lib/lang/ro_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/ru_server_php.lng b/interface/web/admin/lib/lang/ru_server_php.lng
index ca1a8147a3e1739267f95d5db2577fa8e64a50b4..6644018b3a531addcce8b23b470bc058f57d1f8a 100644
--- a/interface/web/admin/lib/lang/ru_server_php.lng
+++ b/interface/web/admin/lib/lang/ru_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/se_server_php.lng b/interface/web/admin/lib/lang/se_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/se_server_php.lng
+++ b/interface/web/admin/lib/lang/se_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/sk_server_php.lng b/interface/web/admin/lib/lang/sk_server_php.lng
index 4d71bb50b7269cea5394e2df229b5d94d42bcb5c..89b357cdbccd594701c970bed0d520904e972ba1 100644
--- a/interface/web/admin/lib/lang/sk_server_php.lng
+++ b/interface/web/admin/lib/lang/sk_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/lib/lang/tr_server_php.lng b/interface/web/admin/lib/lang/tr_server_php.lng
index 914d28f167314f3fc6b10ec070f44cd4fa4f1a03..447b3ab20bd4f558d77bd10f5343e179f451f2a2 100644
--- a/interface/web/admin/lib/lang/tr_server_php.lng
+++ b/interface/web/admin/lib/lang/tr_server_php.lng
@@ -20,4 +20,6 @@ $wb['php_name_in_use_error'] = 'The name can not be changed.';
$wb['PHP Sort Priority'] = 'Priority';
$wb['sortprio_txt'] = 'Priority';
$wb['sortprio_long_txt'] = 'Priority of PHP version in the PHP version select box Default PHP has prio 0 if enabled Lower value is higher priority';
+$wb['PHP-CLI settings'] = 'PHP-CLI settings';
+$wb['php_cli_binary_txt'] = 'Path to the PHP CLI binary';
?>
diff --git a/interface/web/admin/templates/server_php_cli_edit.htm b/interface/web/admin/templates/server_php_cli_edit.htm
new file mode 100644
index 0000000000000000000000000000000000000000..72e26bd4b8bf7cd2d56e64001cf03b9bb3b638f0
--- /dev/null
+++ b/interface/web/admin/templates/server_php_cli_edit.htm
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
+
+
diff --git a/interface/web/sites/ajax_get_json.php b/interface/web/sites/ajax_get_json.php
index f1d8433c8abbe3ec8ef00c8c18b9d0247c784809..5cbf4729a3aa810d8a21ea2f9e254fd7d69c6610 100644
--- a/interface/web/sites/ajax_get_json.php
+++ b/interface/web/sites/ajax_get_json.php
@@ -248,7 +248,52 @@ if($type == 'getclientssldata'){
$json = $app->functions->json_encode($client);
}
-//}
+if($type == 'getcronplaceholders') {
+
+ $web_docroot_client = '';
+
+ if($web_id > 0) {
+
+ $web = $app->db->queryOneRecord("SELECT wd.sys_groupid, wd.domain, wd.document_root, sp.php_cli_binary
+ FROM web_domain wd
+ LEFT JOIN server_php sp ON wd.server_php_id = sp.server_php_id
+ WHERE wd.domain_id = ?", $web_id);
+
+ $php_cli_binary = $web['php_cli_binary'];
+ $domain = $web['domain'];
+
+ $domain_owner = $app->db->queryOneRecord("SELECT limit_cron_type FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ?", $web["sys_groupid"]);
+
+ //* True if the site is assigned to a client
+ if(isset($domain_owner["limit_cron_type"])) {
+ if($domain_owner["limit_cron_type"] == 'full') {
+ $cron_type = 'full';
+ } else {
+ $cron_type = 'chrooted';
+ }
+ } else {
+ //* True if the site is assigned to the admin
+ $cron_type = 'full';
+ }
+
+ if($cron_type != 'chrooted') {
+ $web_docroot_client = $web['document_root'];
+ }
+ }
+
+ $web_docroot_client .= '/web';
+
+ if(empty($web['php_cli_binary'])) {
+ $php_cli_binary = "/usr/bin/php";
+ }
+
+ $json = json_encode(array(
+ 'php_cli_binary' => $php_cli_binary,
+ 'docroot_client' => $web_docroot_client,
+ //'cron_type' => $cron_type,
+ 'domain' => $domain
+ ));
+}
header('Content-type: application/json');
echo $json;
diff --git a/interface/web/sites/cron_edit.php b/interface/web/sites/cron_edit.php
index 62f338f33f30f6e60502cd9e02398fb2f7e961e8..34ed6eb32aa0f3312b8ef5089000315ef765f39c 100644
--- a/interface/web/sites/cron_edit.php
+++ b/interface/web/sites/cron_edit.php
@@ -78,6 +78,36 @@ class page_action extends tform_actions {
$app->tpl->setVar("edit_disabled", 0);
}
+ $parent_domain = $app->db->queryOneRecord("SELECT `domain_id`, `system_user`, `system_group`, `domain`, `document_root`, `hd_quota`, `php_cli_binary`
+ FROM `web_domain`
+ LEFT JOIN server_php ON web_domain.server_php_id = server_php.server_php_id
+ WHERE `domain_id` = ?", $this->dataRecord["parent_domain_id"]);
+
+ $php_cli_binary = $parent_domain['php_cli_binary'];
+ $domain = $parent_domain['domain'];
+
+ if($this->dataRecord['type'] != 'chrooted') {
+ $web_docroot_client = $parent_domain['document_root'];
+ } else {
+ $web_docroot_client = '';
+ }
+
+ if(empty($parent_domain['php_cli_binary'])) {
+ $php_cli_binary = "/usr/bin/php";
+ }
+
+ if(empty($parent_domain['domain'])) {
+ $domain = $app->tform->wordbook["domain_not_selected_placeholder_txt"];
+ }
+
+ // web folder is hardcoded to /web:
+ $web_docroot_client .= '/web';
+
+ // Example values for placeholders.
+ $app->tpl->setVar("php_cli_binary", $php_cli_binary);
+ $app->tpl->setVar("docroot_client", $web_docroot_client);
+ $app->tpl->setVar("domain", $domain);
+
parent::onShowEnd();
}
@@ -129,6 +159,7 @@ class page_action extends tform_actions {
}
}
+
parent::onSubmit();
}
@@ -148,7 +179,7 @@ class page_action extends tform_actions {
$has_error = true;
}
}
-
+
if($client["limit_cron_type"] == 'url' && $this->dataRecord["type"] != 'url') {
$app->error($app->tform->wordbook["limit_cron_url_txt"]);
$has_error = true;
@@ -178,7 +209,7 @@ class page_action extends tform_actions {
$has_error = true;
}
}
-
+
if($client["limit_cron_type"] == 'url' && $this->dataRecord["type"] != 'url') {
$app->error($app->tform->wordbook["limit_cron_url_txt"]);
$has_error = true;
diff --git a/interface/web/sites/lib/lang/ar_cron.lng b/interface/web/sites/lib/lang/ar_cron.lng
index 5cdf5ee15f86892a3bec44533013d44f13f27349..fb114d1a5b71f64f697de6acd18515e71f74f454 100644
--- a/interface/web/sites/lib/lang/ar_cron.lng
+++ b/interface/web/sites/lib/lang/ar_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
?>
diff --git a/interface/web/sites/lib/lang/bg_cron.lng b/interface/web/sites/lib/lang/bg_cron.lng
index 2ab58ec6d2204368a6409c0e8ad2f71827843dde..c4877f897254df2ce1da6ab81ba162cc7f206c45 100644
--- a/interface/web/sites/lib/lang/bg_cron.lng
+++ b/interface/web/sites/lib/lang/bg_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
?>
diff --git a/interface/web/sites/lib/lang/br_cron.lng b/interface/web/sites/lib/lang/br_cron.lng
index 19aa1e96dcbd200488ae1ba8d8dcac71d299efce..bf26c58310f2385ed1f24ca6d30cdeb919a49d10 100644
--- a/interface/web/sites/lib/lang/br_cron.lng
+++ b/interface/web/sites/lib/lang/br_cron.lng
@@ -24,3 +24,4 @@ $wb['log_output_txt'] = 'Gravar saída do log';
$wb['limit_cron_url_txt'] = 'Somente URL no Cron. Por favor insira uma URL iniciando com https:// como um comando no Cron.';
$wb['command_error_empty'] = 'Comando a executar está vazio.';
$wb['Cron Job'] = 'Tarefas no Cron';
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/ca_cron.lng b/interface/web/sites/lib/lang/ca_cron.lng
index 4124abd16a464de53b30aa6d4b24e477773275f6..8d04a71e03b191516277e365dee06e72ca0058e2 100644
--- a/interface/web/sites/lib/lang/ca_cron.lng
+++ b/interface/web/sites/lib/lang/ca_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'Cron de type URL seulement. Merci d\'introduire une
$wb['command_error_empty'] = 'Le champ Commande à exécuter est vide.';
$wb['command_hint_txt'] = 'par exemple /var/www/clients/clientX/webY/monscript.sh ou https://www.mondomaine.com/chemin/script.php, vous pouvez utiliser la constante [web_root] qui sera remplacée par /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Journaliser la sortie du cron';
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
?>
diff --git a/interface/web/sites/lib/lang/cn_cron.lng b/interface/web/sites/lib/lang/cn_cron.lng
index 5b517d762eb48da540eb59d3b360be85c3f8a24d..f689a930cfdb40db0fbf6636cda7b3f39b70de0f 100644
--- a/interface/web/sites/lib/lang/cn_cron.lng
+++ b/interface/web/sites/lib/lang/cn_cron.lng
@@ -23,4 +23,5 @@ $wb['command_hint_txt'] = '例如,/var/www/clients/clientX/webY/myscript.sh
$wb['log_output_txt'] = '记录输出';
$wb['limit_cron_url_txt'] = '仅限 URL 计划任务。请将以 https:// 开头的 URL 作为计划任务命令输入。';
$wb['command_error_empty'] = '命令为空。';
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
?>
diff --git a/interface/web/sites/lib/lang/cz_cron.lng b/interface/web/sites/lib/lang/cz_cron.lng
index 8588408041d25f700ce85e6a77518dc823aaebe6..5144015d6f0d13bd1e7ffe182bb095da8034b5f0 100644
--- a/interface/web/sites/lib/lang/cz_cron.lng
+++ b/interface/web/sites/lib/lang/cz_cron.lng
@@ -23,3 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or http://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/de_cron.lng b/interface/web/sites/lib/lang/de_cron.lng
index 535f7e7dca8a9b3fae443da5c63c81b2dab49225..81f1f61e7d67f396f8a6bb979c9ef9ca78120f27 100644
--- a/interface/web/sites/lib/lang/de_cron.lng
+++ b/interface/web/sites/lib/lang/de_cron.lng
@@ -19,8 +19,10 @@ $wb['run_wday_error_format'] = 'Das Format für Wochentage ist nicht korrekt.';
$wb['command_error_format'] = 'Das Format für den Befehl ist nicht korrekt. Beachten Sie, dass bei einem URL Aufruf nur http und https erlaubt ist.';
$wb['unknown_fieldtype_error'] = 'Es wurde ein unbekanntes Feld verwendet.';
$wb['server_id_error_empty'] = 'Die Server-ID ist leer.';
-$wb['command_hint_txt'] = 'z. B. /var/www/clients/clientX/webY/myscript.sh oder https://www.mydomain.com/path/script.php. Der Platzhalter [web_root] wird durch /var/www/clients/clientX/webY/web ersetzt.';
+$wb['command_hint_txt'] = 'z.B. /var/www/clients/clientX/webY/myscript.sh oder https://www.mydomain.com/path/script.php, können Sie die obigen Platzhalter einfügen, die dann durch ihren Wert ersetzt werden. Bewegen Sie den Mauszeiger über die Variable, um den erwarteten Wert zu sehen.';
$wb['log_output_txt'] = 'Ausgabe loggen';
$wb['limit_cron_url_txt'] = 'Es sind nur URL cronjobs möglich. Der Cron-Befehl muss mit https:// beginnen.';
$wb['command_error_empty'] = 'Befehl ist leer.';
-?>
+$wb['variables_txt'] = 'Variablen';
+$wb['domain_not_selected_placeholder_txt'] = 'Bitte wähle eine Domain aus';
+
diff --git a/interface/web/sites/lib/lang/dk_cron.lng b/interface/web/sites/lib/lang/dk_cron.lng
index ac290d40765caaa669ac2a332d7bd466cc1b9a4f..798cb4ea49d403e080c51e1642a3c291fddcaf56 100644
--- a/interface/web/sites/lib/lang/dk_cron.lng
+++ b/interface/web/sites/lib/lang/dk_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command er tom.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/el_cron.lng b/interface/web/sites/lib/lang/el_cron.lng
index 9efec9d5ff03b1e23b6ad562711710d926a30b7b..fe4985443050025fd4d0b6ece2a40a4ea10a3949 100644
--- a/interface/web/sites/lib/lang/el_cron.lng
+++ b/interface/web/sites/lib/lang/el_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/en_cron.lng b/interface/web/sites/lib/lang/en_cron.lng
index 871d4a292e767fc4356678bc3552bdb4d65a777c..ecd146deea118dd1713a20bc7ff1d9bc6a44fe04 100644
--- a/interface/web/sites/lib/lang/en_cron.lng
+++ b/interface/web/sites/lib/lang/en_cron.lng
@@ -19,8 +19,9 @@ $wb['run_wday_error_format'] = 'Invalid format for days of the week.';
$wb['command_error_format'] = 'Invalid command format. Please note that in case of an url call only http/https is allowed.';
$wb['unknown_fieldtype_error'] = 'An unknown field type has been used.';
$wb['server_id_error_empty'] = 'The server ID is empty.';
-$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
+$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can include the placeholders above that will be replaced with their value. Hover over the variable to see it\'s expected value.';
$wb['log_output_txt'] = 'Log output';
$wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with https:// as cron command.';
$wb['command_error_empty'] = 'Command is empty.';
-?>
\ No newline at end of file
+$wb['variables_txt'] = 'Variables';
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/es_cron.lng b/interface/web/sites/lib/lang/es_cron.lng
index c8e2d567b409bee60aff97942bd975d86283581a..ccf7753b68c66ea3eadb221b28e38d2fbfce0c93 100644
--- a/interface/web/sites/lib/lang/es_cron.lng
+++ b/interface/web/sites/lib/lang/es_cron.lng
@@ -23,4 +23,4 @@ $wb['run_wday_txt'] = 'Días de la semana';
$wb['server_id_error_empty'] = 'La ID del servidor está vacía.';
$wb['server_id_txt'] = 'Servidor';
$wb['unknown_fieldtype_error'] = 'Se ha usado un tipo de campo desconocido.';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/fi_cron.lng b/interface/web/sites/lib/lang/fi_cron.lng
index cb019571b45a3c4df86c8b09a4c768cf23bcc559..b45f2e8849632f4637c9b19eb6549ae60ef93b8a 100644
--- a/interface/web/sites/lib/lang/fi_cron.lng
+++ b/interface/web/sites/lib/lang/fi_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
+
diff --git a/interface/web/sites/lib/lang/fr_cron.lng b/interface/web/sites/lib/lang/fr_cron.lng
index 4124abd16a464de53b30aa6d4b24e477773275f6..407b246a11458bcd8d8d6f1d54a8a4c56c0756b1 100644
--- a/interface/web/sites/lib/lang/fr_cron.lng
+++ b/interface/web/sites/lib/lang/fr_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'Cron de type URL seulement. Merci d\'introduire une
$wb['command_error_empty'] = 'Le champ Commande à exécuter est vide.';
$wb['command_hint_txt'] = 'par exemple /var/www/clients/clientX/webY/monscript.sh ou https://www.mondomaine.com/chemin/script.php, vous pouvez utiliser la constante [web_root] qui sera remplacée par /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Journaliser la sortie du cron';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
+
diff --git a/interface/web/sites/lib/lang/hr_cron.lng b/interface/web/sites/lib/lang/hr_cron.lng
index 6ae8d6d3b886c1d656ca519cbc72bf73a19bd185..a847d94087b46838a2238639a5fd372c61fda397 100644
--- a/interface/web/sites/lib/lang/hr_cron.lng
+++ b/interface/web/sites/lib/lang/hr_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'Samo za URL cron. Unesite URL koji počinje sa http
$wb['command_error_empty'] = 'Naredba je prazna.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
+
diff --git a/interface/web/sites/lib/lang/hu_cron.lng b/interface/web/sites/lib/lang/hu_cron.lng
index 29d3f87be32143436156eecc0180a89d4d4e96e2..fce63b11f03e4cdae57d11fd11b4df07491f808b 100644
--- a/interface/web/sites/lib/lang/hu_cron.lng
+++ b/interface/web/sites/lib/lang/hu_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
+
diff --git a/interface/web/sites/lib/lang/id_cron.lng b/interface/web/sites/lib/lang/id_cron.lng
index d5e94fae214d190d521716f918492918d847549a..c001dfb28f7cc1bb4a89754e09eb5ec2d3e87ea0 100644
--- a/interface/web/sites/lib/lang/id_cron.lng
+++ b/interface/web/sites/lib/lang/id_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
+
diff --git a/interface/web/sites/lib/lang/it_cron.lng b/interface/web/sites/lib/lang/it_cron.lng
index ee38450186d2b0fcc92669cf560f27986c89f86e..7227cab4e669e648362735d9c21fe77dc836cfe7 100644
--- a/interface/web/sites/lib/lang/it_cron.lng
+++ b/interface/web/sites/lib/lang/it_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'Solo URL cron. Per cortesia inserire una URL che in
$wb['command_error_empty'] = 'Command vuoto.';
$wb['command_hint_txt'] = 'esempio: /var/www/clients/clientX/webY/myscript.sh o https://www.mydomain.com/path/script.php, puoi usare [web_root] come sostitutivo che viene rimpiazzato da /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
+
diff --git a/interface/web/sites/lib/lang/ja_cron.lng b/interface/web/sites/lib/lang/ja_cron.lng
index 5cdf5ee15f86892a3bec44533013d44f13f27349..cb02ffe8c6050d18f982c2dbef1bae981f351031 100644
--- a/interface/web/sites/lib/lang/ja_cron.lng
+++ b/interface/web/sites/lib/lang/ja_cron.lng
@@ -23,4 +23,5 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
+
diff --git a/interface/web/sites/lib/lang/nl_cron.lng b/interface/web/sites/lib/lang/nl_cron.lng
index c79a3c2a0da826ce4e2411c5f0462e3ccc1f1f50..587cb4d5ce2e018db671311b0eb0f5dee31a3abe 100644
--- a/interface/web/sites/lib/lang/nl_cron.lng
+++ b/interface/web/sites/lib/lang/nl_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'Geen domein geselecteerd';
diff --git a/interface/web/sites/lib/lang/pl_cron.lng b/interface/web/sites/lib/lang/pl_cron.lng
index d5f60d3e348910547383657db85987ccdf27e91c..7212a3a2133d6544cbc4644eb49fdc1d30099aa8 100644
--- a/interface/web/sites/lib/lang/pl_cron.lng
+++ b/interface/web/sites/lib/lang/pl_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/pt_cron.lng b/interface/web/sites/lib/lang/pt_cron.lng
index 618f47fc8b005592a90e88ef790dd618bd00c17b..a6b06a5305529e32bcfc7aec4c0ef160afc2fd03 100644
--- a/interface/web/sites/lib/lang/pt_cron.lng
+++ b/interface/web/sites/lib/lang/pt_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/ro_cron.lng b/interface/web/sites/lib/lang/ro_cron.lng
index 5cdf5ee15f86892a3bec44533013d44f13f27349..8a8d2aa79f1ab6474e0a4df29216d864fde903af 100644
--- a/interface/web/sites/lib/lang/ro_cron.lng
+++ b/interface/web/sites/lib/lang/ro_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/ru_cron.lng b/interface/web/sites/lib/lang/ru_cron.lng
index 46a5a7dac837bf1db29361e9542857fbc0522ce8..1774ba5c646c82fa5e75dfd015cff75bce772567 100644
--- a/interface/web/sites/lib/lang/ru_cron.lng
+++ b/interface/web/sites/lib/lang/ru_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'Только URL может быть в задан
$wb['command_error_empty'] = 'Команда отсутствует.';
$wb['command_hint_txt'] = 'Например, /var/www/clients/clientX/webY/myscript.sh или https://www.mydomain.com/path/script.php, Вы можете использовать заполнитель [web_root], который заменяется на /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Журнал вывода';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/se_cron.lng b/interface/web/sites/lib/lang/se_cron.lng
index de4cb1f9cb5829f91a7e36e25eec2e161b9dfe0d..7ecf078210314d98c407f3a3072e501b8fc82e68 100644
--- a/interface/web/sites/lib/lang/se_cron.lng
+++ b/interface/web/sites/lib/lang/se_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Kommandofältet är tomt.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/sk_cron.lng b/interface/web/sites/lib/lang/sk_cron.lng
index f510b7e0ad42dce007412d03e3b4c46a33c9dcdf..7c9341d8138c3d844039fe7219dad7af6e37bd3a 100644
--- a/interface/web/sites/lib/lang/sk_cron.lng
+++ b/interface/web/sites/lib/lang/sk_cron.lng
@@ -23,4 +23,4 @@ $wb['limit_cron_url_txt'] = 'URL cron only. Please enter a URL starting with htt
$wb['command_error_empty'] = 'Command is empty.';
$wb['command_hint_txt'] = 'e.g. /var/www/clients/clientX/webY/myscript.sh or https://www.mydomain.com/path/script.php, you can use [web_root] placeholder that is replaced by /var/www/clients/clientX/webY/web.';
$wb['log_output_txt'] = 'Log output';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/lib/lang/tr_cron.lng b/interface/web/sites/lib/lang/tr_cron.lng
index 6e971521845456f9d453f124742bddaa068c3db7..c41267b9228b97f27152418ca91421bcd8e1f945 100644
--- a/interface/web/sites/lib/lang/tr_cron.lng
+++ b/interface/web/sites/lib/lang/tr_cron.lng
@@ -23,4 +23,4 @@ $wb['command_hint_txt'] = 'Örnek: /var/www/clients/musteriX/webY/betigim.sh ya
$wb['log_output_txt'] = 'Günlük çıktısı';
$wb['limit_cron_url_txt'] = 'Yalnız İnternet adresli zamanlanmış görev kullanılabilir. Lütfen zamanlanmış görev komutu olarak https:// ile başlayan bir İnternet adresi yazın.';
$wb['command_error_empty'] = 'Komut boş olamaz.';
-?>
+$wb['domain_not_selected_placeholder_txt'] = 'No domain selected';
diff --git a/interface/web/sites/templates/cron_edit.htm b/interface/web/sites/templates/cron_edit.htm
index 2c0f22ddb92728b2ef061a0eea1923cfe5ad0c77..68bc8669ca6a466918e249df84c296d210a4daa3 100644
--- a/interface/web/sites/templates/cron_edit.htm
+++ b/interface/web/sites/templates/cron_edit.htm
@@ -1,5 +1,6 @@