Marius Burkard
2016-01-04 d22277878254cf33fd63ca1bf12b215f4e030a27
interface/lib/classes/remote.d/client.inc.php
@@ -400,10 +400,10 @@
         $app->auth->remove_group_from_user($parent_user['userid'], $client_group['groupid']);
         //* delete the group of the client
         $app->db->query("DELETE FROM sys_group WHERE client_id = ", $client_id);
         $app->db->query("DELETE FROM sys_group WHERE client_id = ?", $client_id);
         //* delete the sys user(s) of the client
         $app->db->query("DELETE FROM sys_user WHERE client_id = ", $client_id);
         $app->db->query("DELETE FROM sys_user WHERE client_id = ?", $client_id);
         //* Delete all records (sub-clients, mail, web, etc....)  of this client.
         $tables = 'client,dns_rr,dns_soa,dns_slave,ftp_user,mail_access,mail_content_filter,mail_domain,mail_forwarding,mail_get,mail_user,mail_user_filter,shell_user,spamfilter_users,support_message,web_database,web_database_user,web_domain,web_traffic';
@@ -413,7 +413,7 @@
         if($client_group_id > 1) {
            foreach($tables_array as $table) {
               if($table != '') {
                  $records = $app->db->queryAllRecords("SELECT * FROM $table WHERE sys_groupid = ", $client_group_id);
                  $records = $app->db->queryAllRecords("SELECT * FROM $table WHERE sys_groupid = ?", $client_group_id);
                  //* find the primary ID of the table
                  $table_info = $app->db->tableInfo($table);
                  $index_field = '';
@@ -468,12 +468,32 @@
         throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
         return false;
      }
      $username = $app->db->quote($username);
      $rec = $app->db->queryOneRecord("SELECT * FROM sys_user WHERE username = ?", $username);
      if (isset($rec)) {
         return $rec;
      } else {
         throw new SoapFault('no_client_found', 'There is no user account for this user name.');
         return false;
      }
   }
   public function client_get_by_customer_no($session_id, $customer_no) {
      global $app;
      if(!$this->checkPerm($session_id, 'client_get_by_customer_no')) {
         throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
         return false;
      }
      $customer_no = trim($customer_no);
      if($customer_no == '') {
         throw new SoapFault('permission_denied', 'There was no customer number specified.');
         return false;
      }
      $customer_no = $app->db->quote($customer_no);
      $rec = $app->db->queryOneRecord("SELECT * FROM client WHERE customer_no = '".$customer_no."'");
      if (isset($rec)) {
         return $rec;
      } else {
         throw new SoapFault('no_client_found', 'There is no user account for this customer number.');
         return false;
      }
   }
@@ -506,23 +526,24 @@
    * @param int  client id
    * @param string new password
    * @return bool true if success
    * @author Julio Montoya <gugli100@gmail.com> BeezNest 2010
    *
    */
   public function client_change_password($session_id, $client_id, $new_password) {
      global $app;
      $app->uses('auth');
      if(!$this->checkPerm($session_id, 'client_change_password')) {
         throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
         return false;
      }
      $client_id = $app->functions->intval($client_id);
      $client = $app->db->queryOneRecord("SELECT client_id FROM client WHERE client_id = ?", $client_id);
      if($client['client_id'] > 0) {
         $new_password = $app->db->quote($new_password);
         $sql = "UPDATE client SET password = md5(?)    WHERE client_id = ?";
         $new_password = $app->auth->crypt_password($new_password);
         $sql = "UPDATE client SET password = ?    WHERE client_id = ?";
         $app->db->query($sql, $new_password, $client_id);
         $sql = "UPDATE sys_user SET passwort = md5(?)    WHERE client_id = ?";
         $sql = "UPDATE sys_user SET passwort = ?    WHERE client_id = ?";
         $app->db->query($sql, $new_password, $client_id);
         return true;
      } else {
@@ -662,6 +683,38 @@
      
      return $returnval;
   }
   public function client_activate($session_id, $params){
      global $app;
      /*
      if (!$this->checkPerm($session_id, 'client_update')){
         throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
         return false;
      }
      */
      if(!is_file(ISPC_WEB_PATH.'/robot/lib/robot_config.inc.php')){
         throw new SoapFault('permission_denied', 'You do not have the permissions to access this function.');
         return false;
      }
      $client = $app->db->queryOneRecord("SELECT * FROM client WHERE customer_no = '".$app->db->quote($params['customer_no'])."' AND email = '".$app->db->quote($params['email'])."' AND activation_code = '".$app->db->quote($params['activation_code'])."' AND validation_status = 'review'");
      //file_put_contents('/tmp/test.txt', "SELECT * FROM client WHERE customer_no = '".$app->db->quote($params['customer_no'])."' AND email = '".$app->db->quote($params['email'])."' AND activation_code = '".$app->db->quote($params['activation_code'])."' AND validation_status = 'review'");
      if(is_array($client) && !empty($client)){
         $client_id = intval($client['client_id']);
         $app->functions->client_activate($client_id);
         return true;
      } else {
         $client = $app->db->queryOneRecord("SELECT * FROM client WHERE email = '".$app->db->quote($params['email'])."' AND validation_status = 'review'");
         if(is_array($client) && !empty($client)){
            $app->functions->client_activation_failed($client);
         }
         return false;
      }
   }
}