71 lines
1.8 KiB
PHP
71 lines
1.8 KiB
PHP
<?php
|
|
|
|
namespace plugin\admin\app\model;
|
|
use app\model\Base;
|
|
|
|
/**
|
|
* @property integer $id (主键)
|
|
* @property string $name 键
|
|
* @property mixed $value 值
|
|
*/
|
|
class Config extends Base
|
|
{
|
|
public function setValueAttr($v,$row){
|
|
log_alert($row);
|
|
if(is_array($v)){
|
|
return json_encode($v,JSON_UNESCAPED_UNICODE);
|
|
}
|
|
return $v;
|
|
}
|
|
public function getContentAttr($v,$row){
|
|
if(in_array($row['type'] ,['radio','checkbox','select','selects'] ) && $row['content']){
|
|
$firstLetter = substr($row['content'],0,1);
|
|
if($firstLetter == '[' || $firstLetter == '{'){
|
|
$arr = json_decode($row['content'],true);
|
|
}else{
|
|
$_content = explode("\r\n",$row['content']);
|
|
$arr = [];
|
|
foreach($_content as $k1=>$v1){
|
|
$_v1 = explode('|',$v1);
|
|
$arr[$_v1[0]]=$_v1[1];
|
|
}
|
|
}
|
|
return $arr;
|
|
}
|
|
return $v;
|
|
}
|
|
public function getValueAttr($v,$row){
|
|
if(in_array( $row['type'] ,['checkbox','select','selects'])){
|
|
return json_decode($v,true);
|
|
}
|
|
return $v;
|
|
}
|
|
public function setSettingAttr($v){
|
|
if(is_array($v)){
|
|
return json_encode($v,JSON_UNESCAPED_UNICODE);
|
|
}
|
|
return $v;
|
|
}
|
|
function setRuleAttr($v,$row){
|
|
if(is_array($v)){
|
|
return implode(';',$v);
|
|
}else{
|
|
return $v;
|
|
}
|
|
}
|
|
function getSettingAttr($v='',$row=[]){
|
|
if($v){
|
|
return json_decode($v,true);
|
|
}
|
|
return [];
|
|
}
|
|
// function setValueAttr($v,$row){
|
|
// if(is_array($v)){
|
|
// return implode(',',$v);
|
|
// }else{
|
|
// return $v;
|
|
// }
|
|
// }
|
|
|
|
}
|