public function editAction() { if (FRequest::isPost()) { $manager = $_POST['manager']; $id = FRequest::getPostInt('id'); $password = FRequest::getPostString('password'); if ($password) { $manager['password'] = md5($password); } $quanxianid = FRequest::getPostString('quanxianid'); $quanxianidx = FRequest::getPostString('quanxianidx'); if ($quanxianid && count($quanxianid) > 0) { $top_menus_id = implode(",", $quanxianid); } if ($quanxianidx && count($quanxianidx) > 0) { $left_menus_id = implode(",", $quanxianidx); } $manager['top_menus_id'] = $top_menus_id; $manager['left_menus_id'] = $left_menus_id; $result = $this->db_manager->update($manager, array('uid' => $_POST['id'])); if ($result) { return $this->success('修改成功!', '/admin/manager/list'); } else { return $this->error("342"); } } else { $uid = FRequest::getInt('uid'); $status = array('启用' => '1', '禁用' => '0'); //获取用户组 $group = array(); $manager_group = $this->db_manager_group->select(); foreach ($manager_group as $v) { $group[$v['name']] = $v['gid']; } $this->assign('group', $group); $this->assign('status', $status); $action = 'add'; if ($uid) { $action = 'edit'; $where = array('uid' => $uid); $manager = $this->db_manager->where($where)->find(); $this->assign('manager', $manager); } /*$top_menus_table = new FTable("top_menus"); $top_menus = $top_menus_table->fields(array("name","id"))->select(); foreach($top_menus as &$top_menu){ $left_menus_table = new FTable("left_menus"); $left_menus = $left_menus_table->fields(array("name","id"))->where(array("top_menus_id"=>$top_menu["id"]))->select(); $top_menu["left_menus"]=$left_menus; } // echo(json_encode($top_menus)); $this->assign('top_menus',$top_menus);*/ $top_menus_ids = explode(",", $manager['top_menus_id']); $left_menus_ids = explode(",", $manager['left_menus_id']); $top_menus_table = new FTable("top_menus"); $top_menus = $top_menus_table->fields(array("name", "id"))->select(); foreach ($top_menus as &$top_menu) { $isin = in_array($top_menu['id'], $top_menus_ids); if ($isin) { $top_menu["checked"] = "checked"; } else { $top_menu["checked"] = ""; } $left_menus_table = new FTable("left_menus"); $left_menus = $left_menus_table->fields(array("name", "id"))->where(array("top_menus_id" => $top_menu["id"]))->select(); foreach ($left_menus as &$left_menu) { $isin = in_array($left_menu['id'], $left_menus_ids); if ($isin) { $left_menu["checked"] = "checked"; } else { $left_menu["checked"] = ""; } } $top_menu["left_menus"] = $left_menus; } // echo(json_encode($top_menus)); $this->assign('top_menus', $top_menus); $this->assign('action', $action); $this->display('admin/manager-add'); } }
protected function isPost() { return FRequest::isPost(); }