protected function userStatus($operate, $data) { $table = 'users'; $Data = new DataController(); if (empty($data) || empty($data)) { return false; } $operate = strtolower($operate); //操作对state的改变 //操作不存在报错 if (empty($this->_status[$operate])) { return false; } else { extract($this->_status[$operate]); } if (!is_array($before_state)) { $before_state = explode(',', $before_state); } $data = $Data->parameter($data, $table); $user = M($table)->where($data)->find(); if (!$user) { return false; } if (in_array($user['state'], $before_state)) { $user['state'] = $after_state; //修改成功 $result = M($table)->save($user); if ($result) { return true; } } return true; }
/** * 修改数据库里的属性 * @param string $operate 操作名 * @param array $data 数据 * @return bool 是否成功 */ public function articleState($operate, $data) { if (empty($operate) || empty($data)) { return false; } $table = self::$article_table[$data['type_id']]; $id = $data['id']; if (empty($id) || empty($table)) { return false; } $Data = new DataController(); $operate = strtolower($operate); //操作不存在,返回false if (empty($this->_status[$operate])) { return false; } else { extract($this->_status[$operate]); if (!is_array($before_state)) { $before_state = explode(',', $before_state); } } $data = $Data->parameter($data, $table); $article = M($table)->where($data)->find(); if (!$article) { return false; } if (in_array($article['state'], $before_state)) { $article['state'] = $after_state; //修改成功 $result = M($table)->save($article); if ($result) { return true; } } return false; }
/** * 管理员的状态 */ public function adminStatus($operate, $data) { if (empty($data) || empty($operate)) { return false; } $table = 'admin'; //操作不存在报错 if (empty($this->_status[$operate])) { returnJson(404); } else { extract($this->_status[$operate]); } $Data = new DataController(); $before_state = !is_array($before_state) ? explode(',', $before_state) : $before_state; $data = $Data->parameter($data, $table); $admin = M($table)->where($data)->find(); if (!$admin) { return false; } if ($operate == 'unlock') { S('adminLogin:'******'stunum'], null); } if (in_array($admin['state'], $before_state)) { $admin['state'] = $after_state; //修改成功 $result = M($table)->save($admin); if ($result) { return true; } } return false; }
/** * 改变状态参数 * @param string $operate 操作名 * @param array $data 需修改的属性 * @param string $table 修改元素所在的表 * @return bool 是否修改成功 */ protected function changeState($operate, $data, $table) { if (empty($operate) || empty($data)) { $this->_error = 'empty parameter'; return false; } $Data = new DataController(); //操作不存在,返回false if (empty($this->_status[$operate])) { $this->_error = 'error operate'; return false; } else { //$before_state 和 $after_state extract($this->_status[$operate]); if (!is_array($before_state)) { $before_state = explode(',', $before_state); } } $data = $Data->parameter($data, $table); $data = M($table)->where($data)->find(); if (!$data) { $this->_error = 'Dismatch ' . $table; return false; } if (in_array($data['state'], $before_state)) { $data['state'] = $after_state; $data['updated_time'] = date('Y-m-d H:i:s'); //修改成功 $result = M($table)->save($data); if ($result) { return true; } } $this->_error = "Can\\'t change the {$table} state!"; return false; }