/** * 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; }