示例#1
0
 /**
  * Deaktiver brukeren
  */
 public function deactivate($reason, $note, player $by_up = null)
 {
     global $_game, $__server;
     if (!$by_up) {
         $by_up = $this->player;
     }
     // er ikke aktivert?
     if ($this->data['u_access_level'] == 0) {
         return false;
     }
     // deaktivere spilleren?
     if ($this->player->active) {
         $this->player->deactivate($reason, $note, $by_up);
     }
     $this->data['u_access_level'] = 0;
     $this->data['u_deactivated_time'] = time();
     $this->data['u_deactivated_up_id'] = $by_up->id;
     $this->data['u_deactivated_reason'] = empty($reason) ? NULL : $reason;
     $this->data['u_deactivated_note'] = empty($note) ? NULL : $note;
     // deaktiver brukeren
     $a = \Kofradia\DB::get()->exec("UPDATE users SET u_access_level = 0, u_deactivated_time = {$this->data['u_deactivated_time']}, u_deactivated_up_id = {$by_up->id}, u_deactivated_reason = " . \Kofradia\DB::quote($reason) . ", u_deactivated_note = " . \Kofradia\DB::quote($note) . " WHERE u_id = {$this->id} AND u_access_level != 0");
     if ($a == 0) {
         return false;
     }
     // logg ut alle øktene
     \Kofradia\DB::get()->exec("UPDATE sessions SET ses_active = 0, ses_logout_time = " . time() . " WHERE ses_u_id = {$this->id} AND ses_active = 1");
     if ($by_up->id == $this->player->id) {
         $info = 'deaktiverte seg selv';
     } else {
         $info = 'ble deaktivert';
         if (login::$logged_in) {
             $info .= ' av ' . login::$user->player->data['up_name'];
         }
     }
     putlog("CREWCHAN", "%bDeaktivering%b: Brukeren {$this->data['u_email']} ({$this->player->data['up_name']}) {$info} {$__server['path']}/min_side?u_id={$this->id}");
     return true;
 }