Skip to content

Commit 7bd07c0

Browse files
committed
Update interface/lib/classes/remote.d/client.inc.php, interface/lib/classes/functions.inc.php, interface/web/client/client_edit.php files
1 parent 3574cb4 commit 7bd07c0

File tree

3 files changed

+115
-119
lines changed

3 files changed

+115
-119
lines changed

interface/lib/classes/functions.inc.php

Lines changed: 108 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -529,119 +529,115 @@ public function check_language($language) {
529529
}
530530

531531
// Function to lock a client
532-
public function func_client_lock($client_id,$locked) {
533-
534-
global $app;
535-
$client_data = $app->db->queryOneRecord('SELECT `tmp_data` FROM `client` WHERE `client_id` = ?', $client_id);
536-
if($client_data['tmp_data'] == '') $tmp_data = array();
537-
else $tmp_data = unserialize($client_data['tmp_data']);
538-
if(!is_array($tmp_data)) $tmp_data = array();
539-
$to_disable = array('cron' => 'id',
540-
'ftp_user' => 'ftp_user_id',
541-
'mail_domain' => 'domain_id',
542-
'mail_user' => 'mailuser_id',
543-
'mail_user_smtp' => 'mailuser_id',
544-
'mail_forwarding' => 'forwarding_id',
545-
'mail_get' => 'mailget_id',
546-
'openvz_vm' => 'vm_id',
547-
'shell_user' => 'shell_user_id',
548-
'webdav_user' => 'webdav_user_id',
549-
'web_database' => 'database_id',
550-
'web_domain' => 'domain_id',
551-
'web_folder' => 'web_folder_id',
552-
'web_folder_user' => 'web_folder_user_id'
553-
);
554-
555-
$udata = $app->db->queryOneRecord('SELECT `userid` FROM `sys_user` WHERE `client_id` = ?', $client_id);
556-
$gdata = $app->db->queryOneRecord('SELECT `groupid` FROM `sys_group` WHERE `client_id` = ?', $client_id);
557-
$sys_groupid = $gdata['groupid'];
558-
$sys_userid = $udata['userid'];
559-
if($locked == 'y') {
560-
$prev_active = array();
561-
$prev_sysuser = array();
562-
foreach($to_disable as $current => $keycolumn) {
563-
$active_col = 'active';
564-
$reverse = false;
565-
if($current == 'mail_user') {
566-
$active_col = 'postfix';
567-
} elseif($current == 'mail_user_smtp') {
568-
$current = 'mail_user';
569-
$active_col = 'disablesmtp';
570-
$reverse = true;
571-
}
572-
573-
if(!isset($prev_active[$current])) $prev_active[$current] = array();
574-
if(!isset($prev_sysuser[$current])) $prev_sysuser[$current] = array();
575-
576-
$entries = $app->db->queryAllRecords('SELECT ?? as `id`, `sys_userid`, ?? FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $active_col, $current, $sys_groupid);
577-
foreach($entries as $item) {
578-
579-
if($item[$active_col] != 'y' && $reverse == false) $prev_active[$current][$item['id']][$active_col] = 'n';
580-
elseif($item[$active_col] == 'y' && $reverse == true) $prev_active[$current][$item['id']][$active_col] = 'y';
581-
if($item['sys_userid'] != $sys_userid) $prev_sysuser[$current][$item['id']] = $item['sys_userid'];
582-
// we don't have to store these if y, as everything without previous state gets enabled later
583-
584-
//$app->db->datalogUpdate($current, array($active_col => ($reverse == true ? 'y' : 'n'), 'sys_userid' => $_SESSION["s"]["user"]["userid"]), $keycolumn, $item['id']);
585-
$app->db->datalogUpdate($current, array($active_col => ($reverse == true ? 'y' : 'n'), 'sys_userid' => $sys_userid), $keycolumn, $item['id']);
586-
}
587-
}
532+
public function func_client_lock($client_id,$locked) {
533+
global $app;
534+
$client_data = $app->db->queryOneRecord('SELECT `tmp_data` FROM `client` WHERE `client_id` = ?', $client_id);
535+
if($client_data['tmp_data'] == '') $tmp_data = array();
536+
else $tmp_data = unserialize($client_data['tmp_data']);
537+
if(!is_array($tmp_data)) $tmp_data = array();
538+
$to_disable = array('cron' => 'id',
539+
'ftp_user' => 'ftp_user_id',
540+
'mail_domain' => 'domain_id',
541+
'mail_user' => 'mailuser_id',
542+
'mail_user_smtp' => 'mailuser_id',
543+
'mail_forwarding' => 'forwarding_id',
544+
'mail_get' => 'mailget_id',
545+
'openvz_vm' => 'vm_id',
546+
'shell_user' => 'shell_user_id',
547+
'webdav_user' => 'webdav_user_id',
548+
'web_database' => 'database_id',
549+
'web_domain' => 'domain_id',
550+
'web_folder' => 'web_folder_id',
551+
'web_folder_user' => 'web_folder_user_id'
552+
);
553+
$udata = $app->db->queryOneRecord('SELECT `userid` FROM `sys_user` WHERE `client_id` = ?', $client_id);
554+
$gdata = $app->db->queryOneRecord('SELECT `groupid` FROM `sys_group` WHERE `client_id` = ?', $client_id);
555+
$sys_groupid = $gdata['groupid'];
556+
$sys_userid = $udata['userid'];
557+
if($locked == 'y') {
558+
$prev_active = array();
559+
$prev_sysuser = array();
560+
foreach($to_disable as $current => $keycolumn) {
561+
$active_col = 'active';
562+
$reverse = false;
563+
if($current == 'mail_user') {
564+
$active_col = 'postfix';
565+
} elseif($current == 'mail_user_smtp') {
566+
$current = 'mail_user';
567+
$active_col = 'disablesmtp';
568+
$reverse = true;
569+
}
570+
571+
if(!isset($prev_active[$current])) $prev_active[$current] = array();
572+
if(!isset($prev_sysuser[$current])) $prev_sysuser[$current] = array();
573+
574+
$entries = $app->db->queryAllRecords('SELECT ?? as `id`, `sys_userid`, ?? FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $active_col, $current, $sys_groupid);
575+
foreach($entries as $item) {
576+
577+
if($item[$active_col] != 'y' && $reverse == false) $prev_active[$current][$item['id']][$active_col] = 'n';
578+
elseif($item[$active_col] == 'y' && $reverse == true) $prev_active[$current][$item['id']][$active_col] = 'y';
579+
if($item['sys_userid'] != $sys_userid) $prev_sysuser[$current][$item['id']] = $item['sys_userid'];
580+
// we don't have to store these if y, as everything without previous state gets enabled later
581+
582+
//$app->db->datalogUpdate($current, array($active_col => ($reverse == true ? 'y' : 'n'), 'sys_userid' => $_SESSION["s"]["user"]["userid"]), $keycolumn, $item['id']);
583+
$app->db->datalogUpdate($current, array($active_col => ($reverse == true ? 'y' : 'n'), 'sys_userid' => $sys_userid), $keycolumn, $item['id']);
584+
}
585+
}
588586

589-
$tmp_data['prev_active'] = $prev_active;
590-
$tmp_data['prev_sys_userid'] = $prev_sysuser;
591-
$app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $client_id);
592-
unset($prev_active);
593-
unset($prev_sysuser);
594-
} elseif ($locked == 'n') {
595-
foreach($to_disable as $current => $keycolumn) {
596-
$active_col = 'active';
597-
$reverse = false;
598-
if($current == 'mail_user') {
599-
$active_col = 'postfix';
600-
} elseif($current == 'mail_user_smtp') {
601-
$current = 'mail_user';
602-
$active_col = 'disablesmtp';
603-
$reverse = true;
604-
}
605-
606-
$entries = $app->db->queryAllRecords('SELECT ?? as `id` FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $current, $sys_groupid);
607-
foreach($entries as $item) {
608-
$set_active = ($reverse == true ? 'n' : 'y');
609-
$set_inactive = ($reverse == true ? 'y' : 'n');
610-
$set_sysuser = $sys_userid;
611-
if(array_key_exists('prev_active', $tmp_data) == true
612-
&& array_key_exists($current, $tmp_data['prev_active']) == true
613-
&& array_key_exists($item['id'], $tmp_data['prev_active'][$current]) == true
614-
&& $tmp_data['prev_active'][$current][$item['id']][$active_col] == $set_inactive) $set_active = $set_inactive;
615-
if(array_key_exists('prev_sysuser', $tmp_data) == true
616-
&& array_key_exists($current, $tmp_data['prev_sysuser']) == true
617-
&& array_key_exists($item['id'], $tmp_data['prev_sysuser'][$current]) == true
618-
&& $tmp_data['prev_sysuser'][$current][$item['id']] != $sys_userid) $set_sysuser = $tmp_data['prev_sysuser'][$current][$item['id']];
619-
620-
$app->db->datalogUpdate($current, array($active_col => $set_active, 'sys_userid' => $set_sysuser), $keycolumn, $item['id']);
621-
}
622-
}
623-
if(array_key_exists('prev_active', $tmp_data)) unset($tmp_data['prev_active']);
624-
$app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $client_id);
625-
}
626-
unset($tmp_data);
627-
unset($entries);
628-
unset($to_disable);
629-
630-
}
631-
// Function to cancel disable/enable a client
632-
public function func_client_cancel($client_id,$cancel) {
633-
global $app;
634-
if ($cancel == 'y') {
635-
$sql = "UPDATE sys_user SET active = '0' WHERE client_id = ?";
636-
$result = $app->db->query($sql, $client_id);
637-
} elseif($cancel == 'n') {
638-
$sql = "UPDATE sys_user SET active = '1' WHERE client_id = ?";
639-
$result = $app->db->query($sql, $client_id);
640-
} else {
641-
$result = false;
642-
}
643-
return $result;
644-
}
587+
$tmp_data['prev_active'] = $prev_active;
588+
$tmp_data['prev_sys_userid'] = $prev_sysuser;
589+
$app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $client_id);
590+
unset($prev_active);
591+
unset($prev_sysuser);
592+
} elseif ($locked == 'n') {
593+
foreach($to_disable as $current => $keycolumn) {
594+
$active_col = 'active';
595+
$reverse = false;
596+
if($current == 'mail_user') {
597+
$active_col = 'postfix';
598+
} elseif($current == 'mail_user_smtp') {
599+
$current = 'mail_user';
600+
$active_col = 'disablesmtp';
601+
$reverse = true;
602+
}
603+
604+
$entries = $app->db->queryAllRecords('SELECT ?? as `id` FROM ?? WHERE `sys_groupid` = ?', $keycolumn, $current, $sys_groupid);
605+
foreach($entries as $item) {
606+
$set_active = ($reverse == true ? 'n' : 'y');
607+
$set_inactive = ($reverse == true ? 'y' : 'n');
608+
$set_sysuser = $sys_userid;
609+
if(array_key_exists('prev_active', $tmp_data) == true
610+
&& array_key_exists($current, $tmp_data['prev_active']) == true
611+
&& array_key_exists($item['id'], $tmp_data['prev_active'][$current]) == true
612+
&& $tmp_data['prev_active'][$current][$item['id']][$active_col] == $set_inactive) $set_active = $set_inactive;
613+
if(array_key_exists('prev_sysuser', $tmp_data) == true
614+
&& array_key_exists($current, $tmp_data['prev_sysuser']) == true
615+
&& array_key_exists($item['id'], $tmp_data['prev_sysuser'][$current]) == true
616+
&& $tmp_data['prev_sysuser'][$current][$item['id']] != $sys_userid) $set_sysuser = $tmp_data['prev_sysuser'][$current][$item['id']];
617+
$app->db->datalogUpdate($current, array($active_col => $set_active, 'sys_userid' => $set_sysuser), $keycolumn, $item['id']);
618+
}
619+
}
620+
if(array_key_exists('prev_active', $tmp_data)) unset($tmp_data['prev_active']);
621+
$app->db->query("UPDATE `client` SET `tmp_data` = ? WHERE `client_id` = ?", serialize($tmp_data), $client_id);
622+
}
623+
unset($tmp_data);
624+
unset($entries);
625+
unset($to_disable);
626+
}
627+
// Function to cancel disable/enable a client
628+
public function func_client_cancel($client_id,$cancel) {
629+
global $app;
630+
if ($cancel == 'y') {
631+
$sql = "UPDATE sys_user SET active = '0' WHERE client_id = ?";
632+
$result = $app->db->query($sql, $client_id);
633+
} elseif($cancel == 'n') {
634+
$sql = "UPDATE sys_user SET active = '1' WHERE client_id = ?";
635+
$result = $app->db->query($sql, $client_id);
636+
} else {
637+
$result = false;
638+
}
639+
return $result;
640+
}
645641

646642
}
647643

interface/lib/classes/remote.d/client.inc.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -246,11 +246,11 @@ public function client_update($session_id, $client_id, $reseller_id, $params)
246246

247247
// if canceled
248248
if ($params['canceled']) {
249-
$result = $app->functions->func_client_cancel($client_id, $params['canceled']);
249+
$result = $app->functions->func_client_cancel($client_id, $params['canceled']);
250250
}
251251
// if locked
252252
if ($params['locked']) {
253-
$result = $app->functions->func_client_lock($client_id, $params['locked']);
253+
$result = $app->functions->func_client_lock($client_id, $params['locked']);
254254
}
255255

256256
return $affected_rows;

interface/web/client/client_edit.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -429,13 +429,13 @@ function onAfterUpdate() {
429429
if(!isset($this->dataRecord['locked'])) $this->dataRecord['locked'] = 'n';
430430
if(isset($conf['demo_mode']) && $conf['demo_mode'] != true && $this->dataRecord["locked"] != $this->oldDataRecord['locked'])
431431
{
432-
$lock = $app->functions->func_client_lock($this->id,$this->dataRecord["locked"]);
432+
$lock = $app->functions->func_client_lock($this->id,$this->dataRecord["locked"]);
433433
}
434434

435-
if(!isset($this->dataRecord['canceled'])) $this->dataRecord['canceled'] = 'n';
436-
if(isset($conf['demo_mode']) && $conf['demo_mode'] != true && $this->dataRecord["canceled"] != $this->oldDataRecord['canceled']) {
437-
$cancel = $app->functions->func_client_cancel($this->id,$this->dataRecord["canceled"]);
438-
}
435+
if(!isset($this->dataRecord['canceled'])) $this->dataRecord['canceled'] = 'n';
436+
if(isset($conf['demo_mode']) && $conf['demo_mode'] != true && $this->dataRecord["canceled"] != $this->oldDataRecord['canceled']) {
437+
$cancel = $app->functions->func_client_cancel($this->id,$this->dataRecord["canceled"]);
438+
}
439439

440440
// language changed
441441
if(isset($conf['demo_mode']) && $conf['demo_mode'] != true && isset($this->dataRecord['language']) && $this->dataRecord['language'] != '' && $this->oldDataRecord['language'] != $this->dataRecord['language']) {

0 commit comments

Comments
 (0)