auth->check_module_permissions('client');
// Loading classes
$app->uses('tpl,tform,tform_actions');
$app->load('tform_actions');
class page_action extends tform_actions {
function onShowEnd() {
global $app;
$sql = "SELECT template_id,template_name FROM client_template WHERE template_type = 'a'";
$tpls = $app->db->queryAllRecords($sql);
$option = '';
$tpl = array();
foreach($tpls as $item){
$option .= '';
$tpl[$item['template_id']] = $item['template_name'];
}
$app->tpl->setVar('tpl_add_select',$option);
$sql = "SELECT template_additional FROM client WHERE client_id = " . $this->id;
$result = $app->db->queryOneRecord($sql);
$tplAdd = explode("/", $result['template_additional']);
$text = '';
foreach($tplAdd as $item){
if (trim($item) != ''){
if ($text != '') $text .= ' ';
$text .= $tpl[$item];
}
}
$app->tpl->setVar('template_additional_list', $text);
parent::onShowEnd();
}
/*
This function is called automatically right after
the data was successful inserted in the database.
*/
function onAfterInsert() {
global $app;
// Create the group for the client
$sql = "INSERT INTO sys_group (name,description,client_id) VALUES ('".mysql_real_escape_string($this->dataRecord["username"])."','',".$this->id.")";
$app->db->query($sql);
$groupid = $app->db->insertID();
$groups = $groupid;
$username = mysql_real_escape_string($this->dataRecord["username"]);
$password = mysql_real_escape_string($this->dataRecord["password"]);
$modules = ISPC_INTERFACE_MODULES_ENABLED;
if($this->dataRecord["limit_client"] > 0) $modules .= ',client';
$startmodule = 'mail';
$usertheme = mysql_real_escape_string($this->dataRecord["usertheme"]);
$type = 'user';
$active = 1;
$language = mysql_real_escape_string($this->dataRecord["language"]);
// Create the controlpaneluser for the client
$sql = "INSERT INTO sys_user (username,passwort,modules,startmodule,app_theme,typ,active,language,groups,default_group,client_id)
VALUES ('$username',md5('$password'),'$modules','$startmodule','$usertheme','$type','$active','$language',$groups,$groupid,".$this->id.")";
$app->db->query($sql);
//* If the user who inserted the client is a reseller (not admin), we will have to add this new client group
//* to his groups, so he can administrate the records of this client.
if($_SESSION['s']['user']['typ'] == 'user') {
$app->auth->add_group_to_user($_SESSION['s']['user']['userid'],$groupid);
$app->db->query("UPDATE client SET parent_client_id = ".intval($_SESSION['s']['user']['client_id'])." WHERE client_id = ".$this->id);
}
/* If there is a client-template, process it */
applyClientTemplates($this->id);
parent::onAfterInsert();
}
/*
This function is called automatically right after
the data was successful updated in the database.
*/
function onAfterUpdate() {
global $app;
// username changed
if($this->oldDataRecord['username'] != $this->dataRecord['username']) {
$username = mysql_real_escape_string($this->dataRecord["username"]);
$client_id = $this->id;
$sql = "UPDATE sys_user SET username = '$username' WHERE client_id = $client_id";
$app->db->query($sql);
$sql = "UPDATE sys_group SET name = '$username' WHERE client_id = $client_id";
$app->db->query($sql);
}
// password changed
if(isset($this->dataRecord["password"]) && $this->dataRecord["password"] != '') {
$password = mysql_real_escape_string($this->dataRecord["password"]);
$client_id = $this->id;
$sql = "UPDATE sys_user SET passwort = md5('$password') WHERE client_id = $client_id";
$app->db->query($sql);
}
// reseller status changed
if(isset($this->dataRecord["limit_client"])) {
$modules = ISPC_INTERFACE_MODULES_ENABLED;
if($this->dataRecord["limit_client"] > 0) $modules .= ',client';
$modules = mysql_real_escape_string($modules);
$client_id = $this->id;
$sql = "UPDATE sys_user SET modules = '$modules' WHERE client_id = $client_id";
$app->db->query($sql);
}
/*
* If there is a client-template, process it */
applyClientTemplates($this->id);
parent::onAfterUpdate();
}
}
$page = new page_action;
$page->onLoad();
?>