系统函数

MemberController.class初始化控制器中用到的common_add方法

 1 <?php
 2 public function common_add($model = null, $templateFile = '') {
 3         is_array ( $model ) || $model = $this->getModel ( $model );        //若$model不存在或不是数组,用getModel函数查询数据库,并给$model赋值
 4         if (IS_POST) {        //判读是否有POST传参,若有执行下面代码
 5             $Model = D ( parse_name ( get_table_name ( $model ['id'] ), 1 ) );        //获取表名并且转换格式后实例化该表
 6             // 获取模型的字段信息
 7             $Model = $this->checkAttr ( $Model, $model ['id'] );
 8             if ($Model->create () && $id = $Model->add ()) {        //如果模型数据添加成功,返回成功信息    
 9                 $this->_saveKeyword ( $model, $id );
10                 
11                 $this->success ( '添加' . $model ['title'] . '成功!', U ( 'lists?model=' . $model ['name'], $this->get_param ) );
12             } else {
13                 $this->error ( $Model->getError () );        //数据添加错误,返回错误信息
14             }
15         } else {        //没POST传参,执行下面代码
16             $fields = get_model_attribute ( $model ['id'] );    //获取模型中id字段名称
17             $this->assign ( 'fields', $fields );        //分配$fields数据
18             $this->meta_title = '新增' . $model ['title'];        //设置meta_title的值
19             
20             $templateFile || $templateFile = $model ['template_add'] ? $model ['template_add'] : '';    //判断或者给模板变量赋值
21             $this->display ( $templateFile );        //显示模板
22         }
23     }

 

MemberController.class初始化控制器中用到的common_add方法

 

 1 <?php
 2 public function common_del($model = null, $ids = null) {    //声明函数
 3         is_array ( $model ) || $model = $this->getModel ( $model );        //使用getModel()函数查询数据库中model表信息 ,返回数组并交给模板
 4         
 5         ! empty ( $ids ) || $ids = I ( 'id' );        //若$ids为空或不存在,把传过来的值交给$ids
 6         ! empty ( $ids ) || $ids = array_filter ( array_unique ( ( array ) I ( 'ids', 0 ) ) );    //同上,判断并回调函数赋值
 7         ! empty ( $ids ) || $this->error ( '请选择要操作的数据!' );        //判断,并报错
 8         
 9         $Model = M ( get_table_name ( $model ['id'] ) );    //获取表名,实例化对应模型
10         $map ['id'] = array (        //赋值
11                 'in',
12                 $ids 
13         );
14         
15         // 插件里的操作自动加上Token限制
16         $token = get_token ();        //获取token
17         if (defined ( 'ADDON_PUBLIC_PATH' ) && ! empty ( $token )) {    //判读并赋值
18             $map ['token'] = $token;
19         }
20         
21         if ($Model->where ( $map )->delete ()) {        //查表并执行删除命令,成功或者失败分别抛出错误
22             $this->success ( '删除成功' );
23         } else {
24             $this->error ( '删除失败!' );
25         }
26     }

 

NoticeController.class通知控制器代码

 1 <?php
 2 
 3 namespace Addons\Card\Controller;
 4 
 5 use Addons\Card\Controller\BaseController;
 6 
 7 class NoticeController extends BaseController {        //同样的继承基类模型
 8     var $model;        //定义模型
 9     function _initialize() {        //初始化函数
10         $this->model = $this->getModel ( 'card_notice' );    //初始化模型的信息数组
11         parent::_initialize ();        //调用父类的初始化方法
12     }
13     // 通用插件的列表模型
14     public function lists() {        //定义列表页的方法
15         $map ['token'] = get_token ();        //设置查询方法的token值
16         session ( 'common_condition', $map );        //设置session值
17         
18         parent::common_lists ( $this->model );        //调用list模板显示
19     }
20     
21     // 通用插件的编辑模型
22     public function edit() {
23         parent::common_edit ( $this->model );
24     }
25     
26     // 通用插件的增加模型
27     public function add() {
28         parent::common_add ( $this->model );
29     }
30     
31     // 通用插件的删除模型
32     public function del() {
33         parent::common_del ( $this->model );
34     }
35     
36     //预览通知界面
37     function show() {
38         $map ['token'] = get_token ();
39         $list = M ( 'card_notice' )->where ( $map )->order ( 'id desc' )->select ();
40         $this->assign ( 'list', $list );
41         
42         $this->display ();
43     }
44 }
45 

 

posted on 2015-06-26 00:54  dennr  阅读(233)  评论(0编辑  收藏  举报