用户注册



邮箱:

密码:

用户登录


邮箱:

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

发表随想


还能输入: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、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

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

加载中,请稍后...