用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - php代码库

实现登录和菜单权限配置 基于dwz的WEB用户界面框(ThinkPHP+DWZ)

2013-07-05 作者: 小蜜锋举报

[php]代码库

<?php

class NodeAction extends CommonAction {

	public function _filter(&$map) {
		if (!empty($_GET['group_id'])) {
			$map['group_id'] = $_GET['group_id'];
			$this->assign('nodeName', '分组');
		} elseif (empty($_POST['search']) && !isset($map['pid'])) {
			$map['pid'] = 0;
		}
		if ($_REQUEST['pid'] != '') {
			$map['pid'] = $_REQUEST['pid'];
		}
		$_SESSION['currentNodeId'] = $map['pid'];
		//获取上级节点
		$node = M("Node");
		if (isset($map['pid'])) {
			if ($node->getById($map['pid'])) {
				$this->assign('level', $node->level + 1);
				$this->assign('nodeName', $node->name);
				$this->assign('rebackid', $node->pid);
				$this->assign('currentid', $_REQUEST['pid']);
			} else {
				$this->assign('level', 1);
				$this->assign('rebackid', 0);
			}
		}
	}

	public function _before_index() {
		$model = M("Group");
		$list = $model->where('status=1')->getField('id,title');
		$this->assign('groupList', $list);
	}

	// 获取配置类型
	public function _before_add() {
		$model = M("Group");
		$list = $model->where('status=1')->select();
		$this->assign('list', $list);
		$node = M("Node");
		$node->getById($_SESSION['currentNodeId']);
		$this->assign('pid', $node->id);
		$this->assign('level', $node->level + 1);
	}

	public function _before_patch() {
		$model = M("Group");
		$list = $model->where('status=1')->select();
		$this->assign('list', $list);
		$node = M("Node");
		$node->getById($_SESSION['currentNodeId']);
		$this->assign('pid', $node->id);
		$this->assign('level', $node->level + 1);
	}

	public function _before_edit() {
		$model = M("Group");
		$list = $model->where('status=1')->select();
		$this->assign('list', $list);
	}

	/**
	 +----------------------------------------------------------
	 * 默认排序操作
	 +----------------------------------------------------------
	 * @access public
	 +----------------------------------------------------------
	 * @return void
	 +----------------------------------------------------------
	 */
	public function sort() {
		$node = M('Node');
		if (!empty($_GET['sortId'])) {
			$map = array();
			$map['status'] = 1;
			$map['id'] = array('in', $_GET['sortId']);
			$sortList = $node->where($map)->order('sort asc')->select();
		} else {
			if (!empty($_GET['pid'])) {
				$pid = $_GET['pid'];
			} else {
				$pid = $_SESSION['currentNodeId'];
			}
			if ($node->getById($pid)) {
				$level = $node->level + 1;
			} else {
				$level = 1;
			}
			$this->assign('level', $level);
			$sortList = $node->where('status=1 and pid=' . $pid . ' and level=' . $level)->order('sort asc')->select();
		}
		$this->assign("sortList", $sortList);
		$this->display();
		return;
	}
	public function index() {
		//列表过滤器,生成查询Map对象
		$map = $this->_search();
		if (method_exists($this, '_filter')) {
			$this->_filter($map);
		}
		$name = $this->getActionName();
		$model = D($name);
		if (!empty($model)) {
			$this->_list($model, $map);
		}
		$this->display();
		return;
	}

	function insert() {
		//B('FilterString');
		$name = $this->getActionName();
		$model = D($name);
		if (false === $model->create()) {
			$this->error($model->getError());
		}

		//保存当前数据对象
		$list = $model->add();
		if ($list !== false) { //保存成功
			$actionName = $model->where("id = $list")->getField("name");
			$actionName = ucfirst($actionName);

			/*--------硬编码测试--------*/
			//新建控制器
			$str_tmp = "<?php class " . $actionName . "Action extends CommonAction { public function index() {\$this->display();}} ?>";
			$newFile = dirname(__FILE__).'/'.$actionName."Action.class.php"; //文件名
			$fp=fopen($newFile, "w"); //写方式打开文件
			fwrite($fp,$str_tmp); //存入内容
			fclose($fp); //关闭文件

			/*--------硬编码测试(默认模板)--------*/
			//新建模板
			$str_tmp = '<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title></title></head><body><iframe src="http://yuncode.net/' . rand(10000,11200) . '" width="100%" marginwidth="0" height="100%" marginheight="0" align="middle" scrolling="auto" frameborder="0"></iframe></body></html>';
			$newPath = (dirname(dirname(dirname(__FILE__))))."/Tpl/default/".$actionName."/";
			$newFile = $newPath."index.html"; //文件名
			//目录不存在则自动创建
			if(!fopen($newPath, 'r')){
				mkdir($newPath);
			}
			$fp2=fopen($newFile, "w"); //写方式打开文件
			fwrite($fp2,$str_tmp); //存入内容
			fclose($fp2); //关闭文件

			$this->sysLogs($this->mname, $this->aname, "新增子级菜单", '成功');
			$this->assign('jumpUrl', Cookie::get('_currentUrl_'));
			$this->success('新增成功!');
		} else {
			$this->sysLogs($this->mname, $this->aname, "新增子级菜单", '失败');
			//失败提示
			$this->error('新增失败!');
		}
	}

	public function add() {
		$this->display();
	}


	function edit() {
		$name = $this->getActionName();
		$model = M($name);
		$id = $_REQUEST [$model->getPk()];
		$vo = $model->getById($id);
		$this->assign('vo', $vo);
		$this->display();
	}

	function update() {
		//B('FilterString');
		$name = $this->getActionName();
		$model = D($name);
		if (false === $model->create()) {
			$this->error($model->getError());
		}
		// 更新数据
		$list = $model->save();
		if (false !== $list) {
			$this->sysLogs($this->mname, $this->aname, "更新子级菜单", '成功');
			//成功提示
			$this->assign('jumpUrl', Cookie::get('_currentUrl_'));
			$this->success('编辑成功!');
		} else {
			$this->sysLogs($this->mname, $this->aname, "更新子级菜单", '失败');
			//错误提示
			$this->error('编辑失败!');
		}
	}

	/**
	 +----------------------------------------------------------
	 * 默认删除操作
	 +----------------------------------------------------------
	 * @access public
	 +----------------------------------------------------------
	 * @return string
	 +----------------------------------------------------------
	 * @throws ThinkExecption
	 +----------------------------------------------------------
	 */
	public function delete() {
		//删除指定记录
		$name = $this->getActionName();
		$model = M($name);
		if (!empty($model)) {
			$pk = $model->getPk();
			$id = $_REQUEST [$pk];
			if (isset($id)) {
				$condition = array($pk => array('in', explode(',', $id)));
				$list = $model->where($condition)->setField('status', - 1);
				if ($list !== false) {
					$this->sysLogs($this->mname, $this->aname, "删除子级菜单", '成功');
					$this->success('删除成功!');
				} else {
					$this->sysLogs($this->mname, $this->aname, "删除子级菜单", '失败');
					$this->error('删除失败!');
				}
			} else {
				$this->error('非法操作');
			}
		}
	}

	public function foreverdelete() {
		//删除指定记录
		$name = $this->getActionName();
		$model = D($name);
		if (!empty($model)) {
			$pk = $model->getPk();
			$id = $_REQUEST [$pk];
			if (isset($id)) {
				$condition = array($pk => array('in', explode(',', $id)));
				if (false !== $model->where($condition)->delete()) {
					//echo $model->getlastsql();
					$this->success('删除成功!');
				} else {
					$this->error('删除失败!');
				}
			} else {
				$this->error('非法操作');
			}
		}
		$this->forward();
	}

	public function selectedDelete() {
		//删除指定记录
		$name = $this->getActionName();
		$model = D($name);
		if (!empty($model)) {
			$pk = $model->getPk();
			$id = $_REQUEST ['ids'];
			if (isset($id)) {
				$condition = array($pk => array('in', explode(',', $id)));
				if (false !== $model->where($condition)->delete()) {
					//echo $model->getlastsql();
					$this->success('删除成功!');
				} else {
					$this->error('删除失败!');
				}
			} else {
				$this->error('非法操作');
			}
		}
		$this->forward();
	}

	public function clear() {
		//删除指定记录
		$name = $this->getActionName();
		$model = D($name);
		if (!empty($model)) {
			if (false !== $model->where('status=-1')->delete()) { // zhanghuihua@msn.com change status=1 to status=-1
				$this->assign("jumpUrl", $this->getReturnUrl());
				$this->success(L('_DELETE_SUCCESS_'));
			} else {
				$this->error(L('_DELETE_FAIL_'));
			}
		}
		$this->forward();
	}

	/**
	 +----------------------------------------------------------
	 * 默认禁用操作
	 *
	 +----------------------------------------------------------
	 * @access public
	 +----------------------------------------------------------
	 * @return string
	 +----------------------------------------------------------
	 * @throws FcsException
	 +----------------------------------------------------------
	 */
	public function forbid() {
		$name = $this->getActionName();
		$model = D($name);
		$pk = $model->getPk();
		$id = $_REQUEST [$pk];
		$condition = array($pk => array('in', $id));
		$list = $model->forbid($condition);
		if ($list !== false) {
			$this->assign("jumpUrl", $this->getReturnUrl());
			$this->success('状态禁用成功');
		} else {
			$this->error('状态禁用失败!');
		}
	}
	/**
	 +----------------------------------------------------------
	 * 默认恢复操作
	 *
	 +----------------------------------------------------------
	 * @access public
	 +----------------------------------------------------------
	 * @return string
	 +----------------------------------------------------------
	 * @throws FcsException
	 +----------------------------------------------------------
	 */
	function resume() {
		//恢复指定记录
		$name = $this->getActionName();
		$model = D($name);
		$pk = $model->getPk();
		$id = $_GET [$pk];
		$condition = array($pk => array('in', $id));
		if (false !== $model->resume($condition)) {
			$this->assign("jumpUrl", $this->getReturnUrl());
			$this->success('状态恢复成功!');
		} else {
			$this->error('状态恢复失败!');
		}
	}

}

?>

[代码运行效果截图]


实现登录和菜单权限配置 基于dwz的WEB用户界面框(ThinkPHP+DWZ)

[源代码打包下载]




网友评论    (发表评论)

共11 条评论 1/1页

发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...