function onAfterUpdate()
 {
     global $app;
     /*
      * the template has changed. apply the new data to all clients
      */
     if ($this->dataRecord["template_type"] == 'm') {
         $sql = "SELECT client_id FROM client WHERE template_master = " . $this->id;
     } else {
         $sql = "SELECT client_id FROM client WHERE template_additional LIKE '%/" . $this->id . '/%"';
     }
     $clients = $app->db->queryAllRecords($sql);
     if (is_array($clients)) {
         foreach ($clients as $client) {
             applyClientTemplates($client['client_id']);
         }
     }
 }
示例#2
0
 function onAfterUpdate()
 {
     global $app;
     // username changed
     if ($conf['demo_mode'] != true && isset($this->dataRecord['username']) && $this->dataRecord['username'] != '' && $this->oldDataRecord['username'] != $this->dataRecord['username']) {
         $username = $app->db->quote($this->dataRecord["username"]);
         $client_id = $this->id;
         $sql = "UPDATE sys_user SET username = '******' WHERE client_id = {$client_id}";
         $app->db->query($sql);
         $tmp = $app->db->queryOneRecord("SELECT * FROM sys_group WHERE client_id = {$client_id}");
         $app->db->datalogUpdate("sys_group", "name = '{$username}'", 'groupid', $tmp['groupid']);
         unset($tmp);
     }
     // password changed
     if ($conf['demo_mode'] != true && isset($this->dataRecord["password"]) && $this->dataRecord["password"] != '') {
         $password = $app->db->quote($this->dataRecord["password"]);
         $salt = "\$1\$";
         $base64_alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
         for ($n = 0; $n < 8; $n++) {
             $salt .= $base64_alphabet[mt_rand(0, 63)];
         }
         $salt .= "\$";
         $password = crypt(stripslashes($password), $salt);
         $client_id = $this->id;
         $sql = "UPDATE sys_user SET passwort = '{$password}' WHERE client_id = {$client_id}";
         $app->db->query($sql);
     }
     // language changed
     if ($conf['demo_mode'] != true && isset($this->dataRecord['language']) && $this->dataRecord['language'] != '' && $this->oldDataRecord['language'] != $this->dataRecord['language']) {
         $language = $app->db->quote($this->dataRecord["language"]);
         $client_id = $this->id;
         $sql = "UPDATE sys_user SET language = '{$language}' WHERE client_id = {$client_id}";
         $app->db->query($sql);
     }
     // reseller status changed
     if (isset($this->dataRecord["limit_client"]) && $this->dataRecord["limit_client"] != $this->oldDataRecord["limit_client"]) {
         $modules = $conf['interface_modules_enabled'];
         if ($this->dataRecord["limit_client"] > 0) {
             $modules .= ',client';
         }
         $modules = $app->db->quote($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();
 }