码迷,mamicode.com
首页 > Web开发 > 详细

weiphp 刮刮卡控制器代码

时间:2015-06-29 06:06:15      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:

  1 <?php
  2 
  3 namespace Addons\Scratch\Controller;
  4 
  5 use Home\Controller\AddonsController;
  6 
  7 class ScratchController extends AddonsController {
  8     function edit() {        //编辑刮刮卡的方法
  9         $id = I ( ‘id‘ );        //获取传参的id
 10         $model = $this->getModel ();        //获取model数组
 11         
 12         if (IS_POST) {    //若有POST传参做下面处理
 13             $Model = D ( parse_name ( get_table_name ( $model [‘id‘] ), 1 ) );        //获取表名并专换字符串
 14             // 获取模型的字段信息
 15             $Model = $this->checkAttr ( $Model, $model [‘id‘] );        //转换字符串格式    
 16             if ($Model->create () && $Model->save ()) {        //如果创建数据并保存成功
 17                 $this->_saveKeyword ( $model, $id );    //保存关键词
 18                 
 19                 $this->success ( ‘保存‘ . $model [‘title‘] . ‘成功!‘, U ( ‘lists?model=‘ . $model [‘name‘] ) );    //显示成功并转跳
 20             } else {
 21                 $this->error ( $Model->getError () );        //否则输出错误
 22             }
 23         } else {
 24             $fields = get_model_attribute ( $model [‘id‘] );    //获取属性信息并缓存
 25             
 26             // 获取数据
 27             $data = M ( get_table_name ( $model [‘id‘] ) )->find ( $id );
 28             $data || $this->error ( ‘数据不存在!‘ );        //若没有数据,抛出错误
 29             
 30         $token = get_token ();        //获取token
 31         //验证token值
 32         if (isset ( $data [‘token‘] ) && $token != $data [‘token‘] && defined ( ‘ADDON_PUBLIC_PATH‘ )) {
 33             $this->error ( ‘非法访问!‘ );
 34         }            
 35             
 36             $this->assign ( ‘fields‘, $fields );
 37             $this->assign ( ‘data‘, $data );
 38             $this->meta_title = ‘编辑‘ . $model [‘title‘];        //设置字符串
 39             
 40             $this->_deal_data ();
 41             
 42             $this->display ();
 43         }
 44     }
 45     function add() {        //新增方法
 46         $model = $this->getModel ();        //获取模型值
 47         if (IS_POST) {        //验证传参
 48             $Model = D ( parse_name ( get_table_name ( $model [‘id‘] ), 1 ) );        //获取表名并专换字符串
 49             // 获取模型的字段信息
 50             $Model = $this->checkAttr ( $Model, $model [‘id‘] );        //验证字符串
 51             if ($Model->create () && $id = $Model->add ()) {    //如果创建保存成功
 52                 $this->_saveKeyword ( $model, $id );        //保存关键词
 53                 
 54                 $this->success ( ‘添加‘ . $model [‘title‘] . ‘成功!‘, U ( ‘lists?model=‘ . $model [‘name‘] ) );    //显示成功并转跳
 55             } else {
 56                 $this->error ( $Model->getError () );        //否则报错
 57             }
 58         } else {
 59             $fields = get_model_attribute ( $model [‘id‘] );        //或者获取模型中id信息并缓存
 60             
 61             $this->assign ( ‘fields‘, $fields );        //传参
 62             $this->meta_title = ‘新增‘ . $model [‘title‘];        //设置字符串
 63             
 64             $this->_deal_data ();    //处理公共数据
 65             
 66             $this->display ();
 67         }
 68     }
 69     
 70     // 增加或者编辑时公共部分
 71     function _deal_data() {
 72         //设置数组
 73         $normal_tips = ‘插件场景限制参数说明:格式:[插件名:id],如<br/>
 74                 [投票:10],表示对ID为10的投票投完对能领取<br/>
 75                 [投票:*],表示只要投过票就可以领取<br/>
 76                 [微调研:15],表示完成ID为15的调研就能领取<br/>
 77                 [微考试:10],表示完成ID为10的考试就能领取<br/>‘;
 78         $this->assign ( ‘normal_tips‘, $normal_tips );        //传参给模板
 79     }
 80     function preview() {    //预览方法
 81         $this->show ();        //调用显示方法显示
 82     }
 83     function show() {        //显示方法
 84         $id = $map [‘target_id‘] = I ( ‘id‘ );        //设置map中的target_id值并交给id
 85         
 86         $data = M ( ‘scratch‘ )->find ( $id );        //在数据库中查找id,交给data
 87         $this->assign ( ‘data‘, $data );        //传值给模板显示
 88         // dump($data);
 89         
 90         // 奖项
 91         $map [‘addon‘] = ‘Scratch‘;        //赋值
 92         $prizes = M ( ‘prize‘ )->where ( $map )->select ();        //查表
 93         $this->assign ( ‘prizes‘, $prizes );    //传值给模板显示
 94         
 95         // 抽奖记录
 96         $all_prizes = M ( ‘sn_code‘ )->where ( $map )->order ( ‘id desc‘ )->select ();
 97         // dump ( $all_prizes );
 98         foreach ( $all_prizes as $all ) {        //循环数组反馈信息
 99             if ($all [‘prize_id‘] > 0) {
100                 $has [$all [‘prize_id‘]] += 1; // 每个奖项已经中过的次数
101                 $new_prizes [] = $all; // 最新中奖记录
102                 $all [‘uid‘] == $this->mid && $my_prizes [] = $all; // 我的中奖记录
103             } else {
104                 $no_count += 1; // 没有中奖的次数
105             }
106             
107             // 记录我已抽奖的次数
108             $all [‘uid‘] == $this->mid && $my_count += 1;
109         }
110         
111         $this->assign ( ‘new_prizes‘, $new_prizes );        //交给模板显示
112         $this->assign ( ‘my_prizes‘, $my_prizes );        //交给模板显示

 

weiphp 刮刮卡控制器代码

标签:

原文地址:http://www.cnblogs.com/dennr/p/4606447.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!