all_columns(); //扩展额外导出的字段 if(method_exists($this->object,'export_extra_cols')){ $this->export_extra_cols = $this->object->export_extra_cols(); $all_columns = array_merge($all_columns, $this->export_extra_cols); } //去除多余没用的导出字段 unset($all_columns['column_confirm'], $all_columns['column_control'], $all_columns['column_picurl']); if(method_exists($this->object,'disabled_export_cols')){ $this->object->disabled_export_cols($all_columns); } $msg = ''; foreach($_POST['col'] as $key=>$col){ $msg.= $all_columns[$col]['label'].' ,'; } $msg = substr($msg,0,strlen($msg)-2); $return = array( 'code' => 'SUCC', 'msg' => json_encode(array('type'=>$this->object_name,'desc'=>$msg,'content'=>implode(',',$_POST['col']))) ); echo json_encode($return); }else{ $in_use = array_flip($this->getColumns()); $all_columns = $this->all_columns(); //扩展额外导出的字段 if(method_exists($this->object,'export_extra_cols')){ $this->export_extra_cols = $this->object->export_extra_cols(); $all_columns = array_merge($all_columns, $this->export_extra_cols); } //去除多余没用的导出字段 unset($in_use['column_confirm'], $in_use['column_control'], $in_use['column_picurl']); unset($all_columns['column_confirm'], $all_columns['column_control'], $all_columns['column_picurl']); if(method_exists($this->object,'disabled_export_cols')){ $this->object->disabled_export_cols($in_use); $this->object->disabled_export_cols($all_columns); } $listorder = explode(',',$this->app->getConf('listorder.'.$this->object_name.'.'.$finder_aliasname.'.'.$this->controller->user->user_id)); if($listorder){ $ordered_columns = array(); foreach($listorder as $col){ if(isset($all_columns[$col])){ $ordered_columns[$col] = $all_columns[$col]; unset($all_columns[$col]); } } $all_columns = array_merge((array)$ordered_columns,(array)$all_columns); $ordered_columns = null; } $domid = $this->ui->new_dom_id(); $html = '
'; $html .= '
'; $mv_handler = $this->ui->img(array('src'=>'bundle/grippy.gif', 'class'=>'move-handler')); $i=0; foreach($all_columns as $key=>$col){ $i++; $html .= '
'; $html .= '
'.$mv_handler.'
'; $html .= '
'; } $finder_id=$_GET['_finder']['finder_id']; $html .= ''; $html .= ''; $html .= ''; $html .= '
'; $html .= '
'; $html.=<< (function(){ var scrollAuto = new Scroller($('{$domid}').getContainer()); new Sortables($('{$domid}'),{clone:false,opacity:.5,handle:'.move-handler',onStart:function(){ $('{$domid}').addClass('move-active'); scrollAuto.start(); },onComplete:function(){ scrollAuto.stop(); $('{$domid}').removeClass('move-active'); }}); })(); $('{$domid}').removeEvents('submit').addEvent('submit', function(e){ e.stop(); new Request.JSON ({ url:this.action, onRequest:function () { $('saveBtn').set('disabled', 'true'); }, onSuccess:function(result) { if (result.code =='SUCC') { updateCnf(result.msg); $('{$domid}').getParent('.dialog').retrieve('instance').close(); } else { $('saveBtn').set('disabled', ''); alert(result.msg); } } })[this.method](this); }); function updateCnf(cnf) { $('cnfList').getElement('td').destroy(); var info = Json.evaluate(cnf); var addItem=new Element('td .cnfItem',{colspan:'2',html:'
' + info.desc + '
'}).inject('cnfList'); $('cnfaddbtn').getElement('.save-btn').set('ref',cnf); } EOF; echo $html; } } }