作者 王智

11

@@ -70,9 +70,8 @@ class QuestionBoy extends Backend @@ -70,9 +70,8 @@ class QuestionBoy extends Backend
70 unset($INPUT['dialog']); 70 unset($INPUT['dialog']);
71 unset($INPUT['row']); 71 unset($INPUT['row']);
72 unset($INPUT['ids']); 72 unset($INPUT['ids']);
73 - $input= array_unique($INPUT);  
74 - dump(json_encode($input));  
75 - die; 73 + $input = array_unique($INPUT);
  74 + $params['config'] = dump(json_encode($input));
76 $result = $row->allowField(true)->save($params); 75 $result = $row->allowField(true)->save($params);
77 Db::commit(); 76 Db::commit();
78 } catch (ValidateException $e) { 77 } catch (ValidateException $e) {
@@ -97,21 +96,4 @@ class QuestionBoy extends Backend @@ -97,21 +96,4 @@ class QuestionBoy extends Backend
97 $this->view->assign("row", $row); 96 $this->view->assign("row", $row);
98 return $this->view->fetch(); 97 return $this->view->fetch();
99 } 98 }
100 -  
101 -  
102 -  
103 - function second_array_unique_bykey($arr, $key)  
104 - {  
105 - $tmp_arr = array();  
106 - foreach ($arr as $k => $v) {  
107 - if (in_array($v[$key], $tmp_arr)) //搜索$v[$key]是否在$tmp_arr数组中存在,若存在返回true  
108 - {  
109 - unset($arr[$k]); //销毁一个变量 如果$tmp_arr中已存在相同的值就删除该值  
110 - } else {  
111 - $tmp_arr[$k] = $v[$key]; //将不同的值放在该数组中保存  
112 - }  
113 - }  
114 - //ksort($arr); //ksort函数对数组进行排序(保留原键值key) sort为不保留key值  
115 - return $arr;  
116 - }  
117 } 99 }
@@ -3,6 +3,7 @@ @@ -3,6 +3,7 @@
3 namespace app\admin\controller; 3 namespace app\admin\controller;
4 4
5 use app\common\controller\Backend; 5 use app\common\controller\Backend;
  6 +use think\Db;
6 7
7 /** 8 /**
8 * 测试题(女) 9 * 测试题(女)
@@ -11,7 +12,7 @@ use app\common\controller\Backend; @@ -11,7 +12,7 @@ use app\common\controller\Backend;
11 */ 12 */
12 class QuestionGirl extends Backend 13 class QuestionGirl extends Backend
13 { 14 {
14 - 15 +
15 /** 16 /**
16 * QuestionGirl模型对象 17 * QuestionGirl模型对象
17 * @var \app\admin\model\QuestionGirl 18 * @var \app\admin\model\QuestionGirl
@@ -35,6 +36,64 @@ class QuestionGirl extends Backend @@ -35,6 +36,64 @@ class QuestionGirl extends Backend
35 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑 36 * 因此在当前控制器中可不用编写增删改查的代码,除非需要自己控制这部分逻辑
36 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改 37 * 需要将application/admin/library/traits/Backend.php中对应的方法复制到当前控制器,然后进行修改
37 */ 38 */
38 - 39 +
  40 + /**
  41 + * 编辑
  42 + */
  43 + public function edit($ids = null)
  44 + {
  45 + $row = $this->model->get($ids);
  46 + if (!$row) {
  47 + $this->error(__('No Results were found'));
  48 + }
  49 + $adminIds = $this->getDataLimitAdminIds();
  50 + if (is_array($adminIds)) {
  51 + if (!in_array($row[$this->dataLimitField], $adminIds)) {
  52 + $this->error(__('You have no permission'));
  53 + }
  54 + }
  55 + if ($this->request->isPost()) {
  56 + $params = $this->request->post("row/a");
  57 + if ($params) {
  58 + $params = $this->preExcludeFields($params);
  59 + $result = false;
  60 + Db::startTrans();
  61 + try {
  62 + //是否采用模型验证
  63 + if ($this->modelValidate) {
  64 + $name = str_replace("\\model\\", "\\validate\\", get_class($this->model));
  65 + $validate = is_bool($this->modelValidate) ? ($this->modelSceneValidate ? $name . '.edit' : $name) : $this->modelValidate;
  66 + $row->validateFailException(true)->validate($validate);
  67 + }
  68 + $INPUT = $this->request->param();
  69 + unset($INPUT['dialog']);
  70 + unset($INPUT['row']);
  71 + unset($INPUT['ids']);
  72 + $input = array_unique($INPUT);
  73 + $params['config'] = dump(json_encode($input));
  74 + $result = $row->allowField(true)->save($params);
  75 + Db::commit();
  76 + } catch (ValidateException $e) {
  77 + Db::rollback();
  78 + $this->error($e->getMessage());
  79 + } catch (PDOException $e) {
  80 + Db::rollback();
  81 + $this->error($e->getMessage());
  82 + } catch (Exception $e) {
  83 + Db::rollback();
  84 + $this->error($e->getMessage());
  85 + }
  86 + if ($result !== false) {
  87 + $this->success();
  88 + } else {
  89 + $this->error(__('No rows were updated'));
  90 + }
  91 + }
  92 + $this->error(__('Parameter %s can not be empty', ''));
  93 + }
  94 + $row['config'] = json_decode($row['config']);
  95 + $this->view->assign("row", $row);
  96 + return $this->view->fetch();
  97 + }
39 98
40 } 99 }
@@ -7,24 +7,23 @@ @@ -7,24 +7,23 @@
7 <div class="widget-body no-padding"> 7 <div class="widget-body no-padding">
8 <div id="toolbar" class="toolbar"> 8 <div id="toolbar" class="toolbar">
9 <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a> 9 <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
10 - <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_boy/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>  
11 - <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_boy/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>  
12 - <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_boy/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>  
13 - <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_boy/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>  
14 -  
15 - <div class="dropdown btn-group {:$auth->check('question_boy/multi')?'':'hide'}">  
16 - <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>  
17 - <ul class="dropdown-menu text-left" role="menu">  
18 - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>  
19 - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>  
20 - </ul>  
21 - </div>  
22 - 10 +<!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_boy/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
  11 +<!-- <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_boy/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>-->
  12 +<!-- <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_boy/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>-->
  13 +<!-- <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_boy/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>-->
  14 +<!---->
  15 +<!-- <div class="dropdown btn-group {:$auth->check('question_boy/multi')?'':'hide'}">-->
  16 +<!-- <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>-->
  17 +<!-- <ul class="dropdown-menu text-left" role="menu">-->
  18 +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>-->
  19 +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>-->
  20 +<!-- </ul>-->
  21 +<!-- </div>-->
  22 +<!---->
23 23
24 </div> 24 </div>
25 <table id="table" class="table table-striped table-bordered table-hover table-nowrap" 25 <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
26 data-operate-edit="{:$auth->check('question_boy/edit')}" 26 data-operate-edit="{:$auth->check('question_boy/edit')}"
27 - data-operate-del="{:$auth->check('question_boy/del')}"  
28 width="100%"> 27 width="100%">
29 </table> 28 </table>
30 </div> 29 </div>
@@ -9,8 +9,11 @@ @@ -9,8 +9,11 @@
9 <div class="form-group"> 9 <div class="form-group">
10 <label class="control-label col-xs-12 col-sm-2">{:__('Config')}:</label> 10 <label class="control-label col-xs-12 col-sm-2">{:__('Config')}:</label>
11 <div class="col-xs-12 col-sm-8"> 11 <div class="col-xs-12 col-sm-8">
12 - <input id="c-config" class="form-control" name="row[config]" type="text" value="{$row.config|htmlentities}"> 12 + {foreach name="row.config" item="vo" key="key"}
  13 + <input id="c-config" class="form-control" name="{$key}" type="text" value="{$vo|htmlentities}">
  14 + {/foreach}
13 </div> 15 </div>
  16 +
14 </div> 17 </div>
15 <div class="form-group layer-footer"> 18 <div class="form-group layer-footer">
16 <label class="control-label col-xs-12 col-sm-2"></label> 19 <label class="control-label col-xs-12 col-sm-2"></label>
@@ -7,24 +7,23 @@ @@ -7,24 +7,23 @@
7 <div class="widget-body no-padding"> 7 <div class="widget-body no-padding">
8 <div id="toolbar" class="toolbar"> 8 <div id="toolbar" class="toolbar">
9 <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a> 9 <a href="javascript:;" class="btn btn-primary btn-refresh" title="{:__('Refresh')}" ><i class="fa fa-refresh"></i> </a>
10 - <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_girl/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>  
11 - <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_girl/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>  
12 - <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_girl/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>  
13 - <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_girl/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>  
14 -  
15 - <div class="dropdown btn-group {:$auth->check('question_girl/multi')?'':'hide'}">  
16 - <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>  
17 - <ul class="dropdown-menu text-left" role="menu">  
18 - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>  
19 - <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>  
20 - </ul>  
21 - </div> 10 +<!-- <a href="javascript:;" class="btn btn-success btn-add {:$auth->check('question_girl/add')?'':'hide'}" title="{:__('Add')}" ><i class="fa fa-plus"></i> {:__('Add')}</a>-->
  11 +<!-- <a href="javascript:;" class="btn btn-success btn-edit btn-disabled disabled {:$auth->check('question_girl/edit')?'':'hide'}" title="{:__('Edit')}" ><i class="fa fa-pencil"></i> {:__('Edit')}</a>-->
  12 +<!-- <a href="javascript:;" class="btn btn-danger btn-del btn-disabled disabled {:$auth->check('question_girl/del')?'':'hide'}" title="{:__('Delete')}" ><i class="fa fa-trash"></i> {:__('Delete')}</a>-->
  13 +<!-- <a href="javascript:;" class="btn btn-danger btn-import {:$auth->check('question_girl/import')?'':'hide'}" title="{:__('Import')}" id="btn-import-file" data-url="ajax/upload" data-mimetype="csv,xls,xlsx" data-multiple="false"><i class="fa fa-upload"></i> {:__('Import')}</a>-->
  14 +<!---->
  15 +<!-- <div class="dropdown btn-group {:$auth->check('question_girl/multi')?'':'hide'}">-->
  16 +<!-- <a class="btn btn-primary btn-more dropdown-toggle btn-disabled disabled" data-toggle="dropdown"><i class="fa fa-cog"></i> {:__('More')}</a>-->
  17 +<!-- <ul class="dropdown-menu text-left" role="menu">-->
  18 +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=normal"><i class="fa fa-eye"></i> {:__('Set to normal')}</a></li>-->
  19 +<!-- <li><a class="btn btn-link btn-multi btn-disabled disabled" href="javascript:;" data-params="status=hidden"><i class="fa fa-eye-slash"></i> {:__('Set to hidden')}</a></li>-->
  20 +<!-- </ul>-->
  21 +<!-- </div>-->
22 22
23 23
24 </div> 24 </div>
25 <table id="table" class="table table-striped table-bordered table-hover table-nowrap" 25 <table id="table" class="table table-striped table-bordered table-hover table-nowrap"
26 data-operate-edit="{:$auth->check('question_girl/edit')}" 26 data-operate-edit="{:$auth->check('question_girl/edit')}"
27 - data-operate-del="{:$auth->check('question_girl/del')}"  
28 width="100%"> 27 width="100%">
29 </table> 28 </table>
30 </div> 29 </div>