Skip to content

Commit 1a2cbfb

Browse files
author
Marius Cramer
committed
Merge remote-tracking branch 'origin/stable-3.0.5'
Conflicts: interface/lib/classes/tform.inc.php interface/web/admin/lib/lang/de_directive_snippets.lng interface/web/dns/dns_import.php interface/web/dns/dns_soa_edit.php interface/web/dns/dns_wizard.php interface/web/mail/mail_domain_edit.php interface/web/sites/database_edit.php interface/web/sites/lib/lang/de_web_domain.lng interface/web/sites/lib/lang/en_web_domain.lng interface/web/sites/web_domain_edit.php server/server.php
2 parents 015dffd + c02d3f0 commit 1a2cbfb

File tree

100 files changed

+347
-450
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

100 files changed

+347
-450
lines changed

interface/lib/classes/aps_crawler.inc.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -595,7 +595,7 @@ public function fixURLs()
595595
foreach($incomplete_pkgs as $incomplete_pkg){
596596
$pkg_url = @file_get_contents($this->interface_pkg_dir.'/'.$incomplete_pkg['path'].'/PKG_URL');
597597
if($pkg_url != ''){
598-
$app->db->datalogUpdate('aps_packages', "package_url = '".$pkg_url."'", 'id', $incomplete_pkg['id']);
598+
$app->db->datalogUpdate('aps_packages', "package_url = '".$app->db->quote($pkg_url)."'", 'id', $incomplete_pkg['id']);
599599
}
600600
}
601601
}

interface/lib/classes/aps_guicontroller.inc.php

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -266,18 +266,18 @@ public function createPackageInstance($settings, $packageid)
266266
unset($tmp);
267267

268268
// get information if the webserver is a db server, too
269-
$web_server = $app->db->queryOneRecord("SELECT server_id,server_name,db_server FROM server WHERE server_id = ".$websrv['server_id']);
269+
$web_server = $app->db->queryOneRecord("SELECT server_id,server_name,db_server FROM server WHERE server_id = ".$app->functions->intval($websrv['server_id']));
270270
if($web_server['db_server'] == 1) {
271271
// create database on "localhost" (webserver)
272-
$mysql_db_server_id = $websrv['server_id'];
272+
$mysql_db_server_id = $app->functions->intval($websrv['server_id']);
273273
$mysql_db_host = 'localhost';
274274
$mysql_db_remote_access = 'n';
275275
$mysql_db_remote_ips = '';
276276
} else {
277277
//* get the default database server of the client
278-
$client = $app->db->queryOneRecord("SELECT default_dbserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ".$websrv['sys_groupid']);
278+
$client = $app->db->queryOneRecord("SELECT default_dbserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ".$app->functions->intval($websrv['sys_groupid']));
279279
if(is_array($client) && $client['default_dbserver'] > 0 && $client['default_dbserver'] != $websrv['server_id']) {
280-
$mysql_db_server_id = $client['default_dbserver'];
280+
$mysql_db_server_id = $app->functions->intval($client['default_dbserver']);
281281
$dbserver_config = $web_config = $app->getconf->get_server_config($app->functions->intval($mysql_db_server_id), 'server');
282282
$mysql_db_host = $dbserver_config['ip_address'];
283283
$mysql_db_remote_access = 'y';
@@ -301,13 +301,13 @@ public function createPackageInstance($settings, $packageid)
301301

302302
//* Find a free db name for the app
303303
for($n = 1; $n <= 1000; $n++) {
304-
$mysql_db_name = ($dbname_prefix != '' ? $dbname_prefix.'aps'.$n : uniqid('aps'));
304+
$mysql_db_name = $app->db->quote(($dbname_prefix != '' ? $dbname_prefix.'aps'.$n : uniqid('aps')));
305305
$tmp = $app->db->queryOneRecord("SELECT count(database_id) as number FROM web_database WHERE database_name = '".$app->db->quote($mysql_db_name)."'");
306306
if($tmp['number'] == 0) break;
307307
}
308308
//* Find a free db username for the app
309309
for($n = 1; $n <= 1000; $n++) {
310-
$mysql_db_user = ($dbuser_prefix != '' ? $dbuser_prefix.'aps'.$n : uniqid('aps'));
310+
$mysql_db_user = $app->db->quote(($dbuser_prefix != '' ? $dbuser_prefix.'aps'.$n : uniqid('aps')));
311311
$tmp = $app->db->queryOneRecord("SELECT count(database_user_id) as number FROM web_database_user WHERE database_user = '".$app->db->quote($mysql_db_user)."'");
312312
if($tmp['number'] == 0) break;
313313
}
@@ -316,12 +316,12 @@ public function createPackageInstance($settings, $packageid)
316316

317317
//* Create the mysql database user
318318
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `database_user`, `database_user_prefix`, `database_password`)
319-
VALUES( ".$websrv['sys_userid'].", ".$websrv['sys_groupid'].", 'riud', '".$websrv['sys_perm_group']."', '', 0, '$mysql_db_user', '".$app->db->quote($dbuser_prefix) . "', PASSWORD('$mysql_db_password'))";
319+
VALUES( ".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->functions->intval($websrv['sys_perm_group'])."', '', 0, '$mysql_db_user', '".$app->db->quote($dbuser_prefix) . "', PASSWORD('$mysql_db_password'))";
320320
$mysql_db_user_id = $app->db->datalogInsert('web_database_user', $insert_data, 'database_user_id');
321321

322322
//* Create the mysql database
323323
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `parent_domain_id`, `type`, `database_name`, `database_name_prefix`, `database_user_id`, `database_ro_user_id`, `database_charset`, `remote_access`, `remote_ips`, `backup_copies`, `active`, `backup_interval`)
324-
VALUES( ".$websrv['sys_userid'].", ".$websrv['sys_groupid'].", 'riud', '".$websrv['sys_perm_group']."', '', $mysql_db_server_id, ".$websrv['domain_id'].", 'mysql', '$mysql_db_name', '" . $app->db->quote($dbname_prefix) . "', '$mysql_db_user_id', 0, '', '$mysql_db_remote_access', '$mysql_db_remote_ips', ".$websrv['backup_copies'].", 'y', '".$websrv['backup_interval']."')";
324+
VALUES( ".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->functions->intval($websrv['sys_perm_group'])."', '', $mysql_db_server_id, ".$app->functions->intval($websrv['domain_id']).", 'mysql', '$mysql_db_name', '" . $app->db->quote($dbname_prefix) . "', '$mysql_db_user_id', 0, '', '$mysql_db_remote_access', '$mysql_db_remote_ips', ".$app->functions->intval($websrv['backup_copies']).", 'y', '".$app->functions->intval($websrv['backup_interval'])."')";
325325
$app->db->datalogInsert('web_database', $insert_data, 'database_id');
326326

327327
//* Add db details to package settings
@@ -332,7 +332,7 @@ public function createPackageInstance($settings, $packageid)
332332
}
333333

334334
//* Insert new package instance
335-
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$websrv['sys_userid'].", ".$websrv['sys_groupid'].", 'riud', '".$websrv['sys_perm_group']."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
335+
$insert_data = "(`sys_userid`, `sys_groupid`, `sys_perm_user`, `sys_perm_group`, `sys_perm_other`, `server_id`, `customer_id`, `package_id`, `instance_status`) VALUES (".$app->functions->intval($websrv['sys_userid']).", ".$app->functions->intval($websrv['sys_groupid']).", 'riud', '".$app->functions->intval($websrv['sys_perm_group'])."', '', ".$app->db->quote($webserver_id).",".$app->db->quote($customerid).", ".$app->db->quote($packageid).", ".INSTANCE_PENDING.")";
336336
$InstanceID = $app->db->datalogInsert('aps_instances', $insert_data, 'id');
337337

338338
//* Insert all package settings
@@ -404,7 +404,7 @@ public function reinstallInstance($instanceid)
404404
$app->db->datalogSave('aps', 'INSERT', 'id', $instanceid, array(), $datalog);
405405
*/
406406

407-
$sql = "SELECT web_database.database_id as database_id FROM aps_instances_settings, web_database WHERE aps_instances_settings.value = web_database.database_name AND aps_instances_settings.value = aps_instances_settings.name = 'main_database_name' AND aps_instances_settings.instance_id = ".$instanceid." LIMIT 0,1";
407+
$sql = "SELECT web_database.database_id as database_id FROM aps_instances_settings, web_database WHERE aps_instances_settings.value = web_database.database_name AND aps_instances_settings.value = aps_instances_settings.name = 'main_database_name' AND aps_instances_settings.instance_id = ".$app->db->quote($instanceid)." LIMIT 0,1";
408408
$tmp = $app->db->queryOneRecord($sql);
409409
if($tmp['database_id'] > 0) $app->db->datalogDelete('web_database', 'database_id', $tmp['database_id']);
410410

interface/lib/classes/auth.inc.php

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,8 @@ class auth {
3333

3434
public function get_user_id()
3535
{
36-
return $_SESSION['s']['user']['userid'];
36+
global $app;
37+
return $app->functions->intval($_SESSION['s']['user']['userid']);
3738
}
3839

3940
public function is_admin() {
@@ -80,7 +81,9 @@ public function add_group_to_user($userid, $groupid) {
8081
public function get_client_limit($userid, $limitname)
8182
{
8283
global $app;
83-
84+
85+
$userid = $app->functions->intval($userid);
86+
8487
// simple query cache
8588
if($this->client_limits===null)
8689
$this->client_limits = $app->db->queryOneRecord("SELECT client.* FROM sys_user, client WHERE sys_user.userid = $userid AND sys_user.client_id = client.client_id");

interface/lib/classes/client_templates.inc.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ function update_client_templates($clientId, $templates = array()) {
4949

5050
if($old_style == true) {
5151
// we have to take care of this in an other way
52-
$in_db = $app->db->queryAllRecords('SELECT `assigned_template_id`, `client_template_id` FROM `client_template_assigned` WHERE `client_id` = ' . $clientId);
52+
$in_db = $app->db->queryAllRecords('SELECT `assigned_template_id`, `client_template_id` FROM `client_template_assigned` WHERE `client_id` = ' . $app->functions->intval($clientId));
5353
if(is_array($in_db) && count($in_db) > 0) {
5454
foreach($in_db as $item) {
5555
if(array_key_exists($item['client_template_id'], $needed_types) == false) $needed_types[$item['client_template_id']] = 0;
@@ -61,32 +61,32 @@ function update_client_templates($clientId, $templates = array()) {
6161
if($count > 0) {
6262
// add new template to client (includes those from old-style without assigned_template_id)
6363
for($i = $count; $i > 0; $i--) {
64-
$app->db->query('INSERT INTO `client_template_assigned` (`client_id`, `client_template_id`) VALUES (' . $clientId . ', ' . $tpl_id . ')');
64+
$app->db->query('INSERT INTO `client_template_assigned` (`client_id`, `client_template_id`) VALUES (' . $app->functions->intval($clientId) . ', ' . $app->functions->intval($tpl_id) . ')');
6565
}
6666
} elseif($count < 0) {
6767
// remove old ones
6868
for($i = $count; $i < 0; $i++) {
69-
$app->db->query('DELETE FROM `client_template_assigned` WHERE client_id = ' . $clientId . ' AND client_template_id = ' . $tpl_id . ' LIMIT 1');
69+
$app->db->query('DELETE FROM `client_template_assigned` WHERE client_id = ' . $app->functions->intval($clientId) . ' AND client_template_id = ' . $app->functions->intval($tpl_id) . ' LIMIT 1');
7070
}
7171
}
7272
}
7373
} else {
7474
// we have to take care of this in an other way
75-
$in_db = $app->db->queryAllRecords('SELECT `assigned_template_id`, `client_template_id` FROM `client_template_assigned` WHERE `client_id` = ' . $clientId);
75+
$in_db = $app->db->queryAllRecords('SELECT `assigned_template_id`, `client_template_id` FROM `client_template_assigned` WHERE `client_id` = ' . $app->functions->intval($clientId));
7676
if(is_array($in_db) && count($in_db) > 0) {
7777
// check which templates were removed from this client
7878
foreach($in_db as $item) {
7979
if(in_array($item['assigned_template_id'], $used_assigned) == false) {
8080
// delete this one
81-
$app->db->query('DELETE FROM `client_template_assigned` WHERE `assigned_template_id` = ' . $item['assigned_template_id']);
81+
$app->db->query('DELETE FROM `client_template_assigned` WHERE `assigned_template_id` = ' . $app->functions->intval($item['assigned_template_id']));
8282
}
8383
}
8484
}
8585

8686
if(count($new_tpl) > 0) {
8787
foreach($new_tpl as $item) {
8888
// add new template to client (includes those from old-style without assigned_template_id)
89-
$app->db->query('INSERT INTO `client_template_assigned` (`client_id`, `client_template_id`) VALUES (' . $clientId . ', ' . $item . ')');
89+
$app->db->query('INSERT INTO `client_template_assigned` (`client_id`, `client_template_id`) VALUES (' . $app->functions->intval($clientId) . ', ' . $app->functions->intval($item) . ')');
9090
}
9191
}
9292
}

interface/lib/classes/custom_datasource.inc.php

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,9 +46,9 @@ function dns_servers($field, $record) {
4646

4747
if($_SESSION["s"]["user"]["typ"] == 'user') {
4848
// Get the limits of the client
49-
$client_group_id = $_SESSION["s"]["user"]["default_group"];
49+
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
5050
$client = $app->db->queryOneRecord("SELECT default_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
51-
$sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$client['default_dnsserver'];
51+
$sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$app->functions->intval($client['default_dnsserver']);
5252
} else {
5353
$sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name";
5454
}
@@ -68,9 +68,9 @@ function slave_dns_servers($field, $record) {
6868

6969
if($_SESSION["s"]["user"]["typ"] == 'user') {
7070
// Get the limits of the client
71-
$client_group_id = $_SESSION["s"]["user"]["default_group"];
71+
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
7272
$client = $app->db->queryOneRecord("SELECT default_slave_dnsserver FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
73-
$sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$client['default_slave_dnsserver'];
73+
$sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$app->functions->intval($client['default_slave_dnsserver']);
7474
} else {
7575
$sql = "SELECT server_id,server_name FROM server WHERE dns_server = 1 ORDER BY server_name";
7676
}
@@ -99,7 +99,7 @@ function webdav_domains($field, $record) {
9999
}
100100
if(count($server_ids) == 0) return array();
101101
$server_ids = implode(',', $server_ids);
102-
$records = $app->db->queryAllRecords("SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id IN (".$server_ids.") AND web_domain.server_id = server.server_id AND ".$app->tform->getAuthSQL('r', 'web_domain')." ORDER BY web_domain.domain");
102+
$records = $app->db->queryAllRecords("SELECT web_domain.domain_id, CONCAT(web_domain.domain, ' :: ', server.server_name) AS parent_domain FROM web_domain, server WHERE web_domain.type = 'vhost' AND web_domain.server_id IN (".$app->db->quote($server_ids).") AND web_domain.server_id = server.server_id AND ".$app->tform->getAuthSQL('r', 'web_domain')." ORDER BY web_domain.domain");
103103

104104
$records_new = array();
105105
if(is_array($records)) {
@@ -158,12 +158,12 @@ function client_servers($field, $record) {
158158

159159
if($_SESSION["s"]["user"]["typ"] == 'user') {
160160
// Get the limits of the client
161-
$client_group_id = $_SESSION["s"]["user"]["default_group"];
161+
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
162162
$sql = "SELECT $server_type as server_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id";
163163
$client = $app->db->queryOneRecord($sql);
164164
if($client['server_id'] > 0) {
165165
//* Select the default server for the client
166-
$sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$client['server_id'];
166+
$sql = "SELECT server_id,server_name FROM server WHERE server_id = ".$app->functions->intval($client['server_id']);
167167
} else {
168168
//* Not able to find the clients defaults, use this as fallback and add a warning message to the log
169169
$app->log('Unable to find default server for client in custom_datasource.inc.php', 1);

interface/lib/classes/db_mysql.inc.php

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ public function datalogSave($db_table, $action, $primary_field, $primary_id, $re
284284
// Insert the server_id, if the record has a server_id
285285
$server_id = (isset($record_old['server_id']) && $record_old['server_id'] > 0)?$record_old['server_id']:0;
286286
if(isset($record_new['server_id'])) $server_id = $record_new['server_id'];
287-
287+
$server_id = intval($server_id);
288288

289289
if($diff_num > 0) {
290290
//print_r($diff_num);
@@ -306,6 +306,9 @@ public function datalogSave($db_table, $action, $primary_field, $primary_id, $re
306306
//** Inserts a record and saves the changes into the datalog
307307
public function datalogInsert($tablename, $insert_data, $index_field) {
308308
global $app;
309+
310+
$tablename = $this->quote($tablename);
311+
$index_field = $this->quote($index_field);
309312

310313
if(is_array($insert_data)) {
311314
$key_str = '';
@@ -333,6 +336,10 @@ public function datalogInsert($tablename, $insert_data, $index_field) {
333336
//** Updates a record and saves the changes into the datalog
334337
public function datalogUpdate($tablename, $update_data, $index_field, $index_value, $force_update = false) {
335338
global $app;
339+
340+
$tablename = $this->quote($tablename);
341+
$index_field = $this->quote($index_field);
342+
$index_value = $this->quote($index_value);
336343

337344
$old_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
338345

@@ -356,6 +363,10 @@ public function datalogUpdate($tablename, $update_data, $index_field, $index_val
356363
//** Deletes a record and saves the changes into the datalog
357364
public function datalogDelete($tablename, $index_field, $index_value) {
358365
global $app;
366+
367+
$tablename = $this->quote($tablename);
368+
$index_field = $this->quote($index_field);
369+
$index_value = $this->quote($index_value);
359370

360371
$old_rec = $this->queryOneRecord("SELECT * FROM $tablename WHERE $index_field = '$index_value'");
361372
$this->query("DELETE FROM $tablename WHERE $index_field = '$index_value'");

interface/lib/classes/form.inc.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
<?php
22

3+
die('Deprecated file: form.inc.php');
4+
35
/*
46
Copyright (c) 2007, Till Brehm, projektfarm Gmbh
57
All rights reserved.

interface/lib/classes/plugin_backuplist.inc.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,8 +108,8 @@ function onShow() {
108108
}
109109

110110
//* Get the data
111-
$web = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = ".$this->form->id);
112-
$sql = "SELECT * FROM web_backup WHERE parent_domain_id = ".$this->form->id." AND server_id = ".$web['server_id']." ORDER BY tstamp DESC, backup_type ASC";
111+
$web = $app->db->queryOneRecord("SELECT server_id FROM web_domain WHERE domain_id = ".$app->functions->intval($this->form->id));
112+
$sql = "SELECT * FROM web_backup WHERE parent_domain_id = ".$app->functions->intval($this->form->id)." AND server_id = ".$app->functions->intval($web['server_id'])." ORDER BY tstamp DESC, backup_type ASC";
113113
$records = $app->db->queryAllRecords($sql);
114114

115115
$bgcolor = "#FFFFFF";

interface/lib/classes/tform.inc.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ class tform extends tform_base {
6969
function checkPerm($record_id, $perm) {
7070
global $app;
7171

72+
$record_id = $app->functions->intval($record_id);
7273
if($record_id > 0) {
7374
// Add backticks for incomplete table names.
7475
if(stristr($this->formDef['db_table'], '.')) {
@@ -163,7 +164,7 @@ function checkClientLimit($limit_name, $sql_where = '') {
163164
if($limit_name == '') $app->error('Limit name missing in function checkClientLimit.');
164165

165166
// Get the limits of the client that is currently logged in
166-
$client_group_id = $_SESSION["s"]["user"]["default_group"];
167+
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
167168
$client = $app->db->queryOneRecord("SELECT $limit_name as number, parent_client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
168169

169170
// Check if the user may add another item
@@ -185,7 +186,7 @@ function checkResellerLimit($limit_name, $sql_where = '') {
185186
if($limit_name == '') $app->error('Limit name missing in function checkClientLimit.');
186187

187188
// Get the limits of the client that is currently logged in
188-
$client_group_id = $_SESSION["s"]["user"]["default_group"];
189+
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
189190
$client = $app->db->queryOneRecord("SELECT parent_client_id FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = $client_group_id");
190191

191192
//* If the client belongs to a reseller, we will check against the reseller Limit too

interface/lib/classes/tform_actions.inc.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ function onSubmit() {
8181

8282
// check if the client is locked - he may not change anything, then.
8383
if(!$app->auth->is_admin()) {
84-
$client_group_id = $_SESSION["s"]["user"]["default_group"];
84+
$client_group_id = $app->functions->intval($_SESSION["s"]["user"]["default_group"]);
8585
$client = $app->db->queryOneRecord("SELECT client.locked FROM sys_group, client WHERE sys_group.client_id = client.client_id and sys_group.groupid = ".$app->functions->intval($client_group_id));
8686
if(is_array($client) && $client['locked'] == 'y') {
8787
$app->tform->errorMessage .= $app->lng("client_you_are_locked")."<br />";

0 commit comments

Comments
 (0)