['_save_level'], 'after_create' => ['_save_to_record', '_update_level'], 'after_destroy' => ['_restore_level'] ]; } protected function _restore_level() { User::find($this->user_id)->updateAttribute('level', $this->old_level); } protected function _save_level() { $this->old_level = User::find($this->user_id)->level; } protected function _update_level() { $user = User::find($this->user_id); $user->level = CONFIG()->user_levels['Blocked']; $user->save(); } protected function _save_to_record() { UserRecord::create(['user_id' => $this->user_id, 'reported_by' => $this->banned_by, 'is_positive' => false, 'body' => "Blocked: ".$this->reason]); } public function setDuration($dur) { $seconds = $dur * 60*60*24; $this->expires_at = date('Y-m-d H:i:s', time() + $seconds); $this->duration = $dur; } public function duration() { return $this->duration; } }