public function DataAction($type = '') { if ($this->request->isPost()) { if ($type == 'add') { $post = $this->request->getPost(); if (!empty($post['passwd'])) { $post['password'] = md5($post['passwd']); } unset($post['passwd']); $post['rtime'] = date('Y-m-d H:i:s'); $data = new Admins(); if ($data->save($post)) { $this->response->redirect('Result/suc/SysAdmin'); } else { $this->response->redirect('Result/err'); } // Edit } elseif ($type == 'edit') { $id = $this->request->getPost('id'); $data = Admins::findFirst('id=' . $id); $passwd = $this->request->getPost('passwd'); if (!empty($passwd)) { $data->password = md5($passwd); } $data->state = $this->request->getPost('state'); $data->email = $this->request->getPost('email'); $data->name = $this->request->getPost('name'); $data->department = $this->request->getPost('department'); $data->position = $this->request->getPost('position'); if ($data->save($post)) { $this->response->redirect('Result/suc/SysAdmin'); } else { $this->response->redirect('Result/err'); } // Delete } elseif ($type == 'delete') { $id = $this->request->getPost('id'); $arr = json_decode($id); foreach ($arr as $val) { $data = Admins::findFirst('id=' . $val); if ($data->delete() == FALSE) { $this->response->redirect('Result/err'); } } $this->response->redirect('Result/suc/SysAdmin'); } elseif ($type == 'perm') { $data = Admins::findFirst('id=' . $this->request->getPost('id')); $data->perm = $this->request->getPost('perm'); if ($data->save()) { $this->response->redirect('Result/suc/SysAdmin'); } else { $this->response->redirect('Result/err'); } } } else { return FALSE; } }
public function actionSetadmin($id = '') { $this->checkPower('setAdmin'); $mine = array(); $model = new Admins(); if ($id) { $pinfos = $model->findAll('uid=:uid', array(':uid' => $id)); $model->uid = $id; if ($pinfos) { $mine = array_keys(CHtml::listData($pinfos, 'powers', '')); } } if (isset($_POST['Admins'])) { $url = Yii::app()->createUrl('admin/users/admins'); $uid = $_POST['Admins']['uid']; if (!$uid) { $model->addError('uid', 'uid不能为空'); } else { $powers = array_unique(array_filter($_POST['powers'])); Admins::model()->deleteAll('uid=:uid', array(':uid' => $uid)); if (empty($powers)) { $this->message(1, '操作成功', $url); } else { foreach ($powers as $p) { $_attr = array('uid' => $uid, 'powers' => $p); $m = new Admins(); $m->attributes = $_attr; $m->save(); } $this->message(1, '操作成功', $url); } } } $data = array('model' => $model, 'mine' => $mine); $this->render('setadmin', $data); }
public function checkLogin() { if ($this->request->isPost() && $this->request->hasPost("type") && $this->request->getPost("type") == "login") { $user = $this->request->getPost("user"); $pass = $this->request->getPost("pass"); $admin = Admins::findFirst(array("conditions" => "user = :user:"******"bind" => array("user" => $user))); if ($admin && $this->security->checkHash($pass, $admin->getPassword())) { $this->session->set("admin_user", $user); $this->session->set("admin_key", $admin->getPassword()); $this->session->set("admin_timeout", time() + $this->timeout); $this->session->set("admin_redirect", true); return true; } else { if ($admin && $user == "root" && $admin->getPassword() == "") { $admin->setPassword($pass); if ($admin->save()) { $this->session->set("admin_user", $user); $this->session->set("admin_key", $admin->getPassword()); $this->session->set("admin_timeout", time() + $this->timeout); $this->session->set("admin_redirect", true); return true; } else { $this->flashSession->error("There was an error setting root password"); $this->response->redirect("/admin/login"); return false; } } else { if (!$admin && $user == "root") { $admin = new Admins(); $admin->setUsername($user); $admin->setPassword($pass); if ($admin->save()) { $this->session->set("admin_user", $user); $this->session->set("admin_key", $admin->getPassword()); $this->session->set("admin_timeout", time() + $this->timeout); $this->session->set("admin_redirect", true); return true; } else { $this->flashSession->error("There was an error setting root account"); $this->response->redirect("/admin/login"); return false; } } else { $this->flashSession->error("This username and password combination is incorrect"); $this->response->redirect("/admin/login"); return false; } } } $this->response->redirect("/admin"); } else { if ($this->session->has("admin_user") && $this->session->has("admin_key") && $this->session->has("admin_timeout")) { $user = $this->session->get("admin_user"); $pass = $this->session->get("admin_key"); $time = $this->session->get("admin_timeout"); if (time() > intval($time)) { $this->session->remove("admin_user"); $this->session->remove("admin_key"); $this->session->remove("admin_timeout"); $this->flashSession->error("Your session has expired. Please sign in again."); $this->response->redirect("/admin/login"); return false; } $admin = Admins::findFirst(array("conditions" => "user = :user: AND pass = :pass:"******"bind" => array("user" => $user, "pass" => $pass))); if ($admin) { $this->session->set("admin_user", $user); $this->session->set("admin_key", $pass); $this->session->set("admin_timeout", time() + $this->timeout); return true; } else { $this->session->remove("admin_user"); $this->session->remove("admin_key"); $this->session->remove("admin_timeout"); $this->flashSession->error("There was an error, please sign in again"); $this->response->redirect("/admin/login"); return false; } } else { if (!$this->noLoginRedirect) { $this->flashSession->error("Please sign in first"); $this->response->redirect("/admin/login"); return false; } } } }
public function actionSave_admin() { if (Yii::app()->user->isGuest || '7' != Yii::app()->user->role) { $this->redirect($this->createAbsoluteUrl('default/index')); } if (isset($_GET['idAdmin'])) { $model = Admins::model()->findByPk($_GET['idAdmin']); } else { $model = new Admins(); } if (isset($_POST['Admins'])) { $model->attributes = $_POST['Admins']; if ($model->validate()) { if ($model->save()) { $this->redirect($this->createAbsoluteUrl('default/list_admins', $_GET)); } } } $this->render('admins/save_admin', array('model' => $model)); }