Initial commit,修正

This commit is contained in:
2025-07-13 19:37:38 +08:00
parent 38ce288e27
commit 65bbd06981
12384 changed files with 3985464 additions and 8 deletions
+135
View File
@@ -0,0 +1,135 @@
<?php
//OK
//设置addon表数据
$suffix = 'addon';
$tableName = $tablePre.'_'.$table.'_'.$suffix;
$condition = "";
$params = array();
$partnerid = isset($data['partnerid']) ? $data['partnerid'] : 0;
$mid = isset($data['mid']) ? $data['mid'] : 0;
$fid = isset($data['fid']) ? $data['fid'] : 0;
$settingData = $dbmodel->data_format($data['addons'],$suffix);
$column = "id";
$condition .="`o_sn` = :o_sn";
$params[':o_sn'] = $o_sn;
$condition .=" AND ";
$condition .="`f_sn` = :f_sn";
$params[':f_sn'] = $f_sn;
$condition .=" AND ";
$condition .="`s_sn` = :s_sn";
$params[':s_sn'] = $s_sn;
$condition .=" AND ";
$condition .="`siteid` = :siteid";
$params[':siteid'] = $siteId;
$condition .=" AND ";
$condition .="`platid` = :platid";
$params[':platid'] = $platid;
$condition .=" AND ";
$condition .="`uniacid` = :uniacid";
$params[':uniacid'] = $uniacid;
$condition .=" AND ";
$condition .="`shopid` = :shopid";
$params[':shopid'] = $shopid;
$i = 0;
$temp = array();
$temp['keys']=array();
$temp['titles']=array();
$temp_condition = $condition;
foreach($settingData as $v_k => $value){
$i++;
$record = array();
$_temp_condition = '';
$condition = '';
$condition .=" AND ";
$condition .="`setfor` = :setfor";
$params[':setfor'] = $value['setfor'];
if(!isset($temp['keys'][$value['setfor']])) {
$temp['keys'][$value['setfor']] = [];
}
if(!isset($temp['titles'][$value['setfor']])) {
$temp['titles'][$value['setfor']] = [];
}
//170702补充——增强修复参数title键为数字时的保存命令
if(is_numeric($value['title'])){
$_temp_titles = $temp['titles'][$value['setfor']];
if(count($_temp_titles)==0){
$record['deleted'] = 1;
$record['updatetime'] = $_FM['timestamp'];
$_temp_condition = $temp_condition.$condition;
unset($params[':key']);
$result = fmFunc_pdo_yii_update($connection, $tableName, $record, $_temp_condition, $params);
}
array_push($temp['titles'][$value['setfor']],$value['title']);
}
$condition .=" AND ";
$condition .="`title` = :title";
$params[':title'] = $value['title'];
if(!isset($temp['keys'][$value['setfor']][$value['title']])) {
$temp['keys'][$value['setfor']][$value['title']] = [];
}
//170419补充——针对参数key键为数字的情况(判定其父级数组需完全被该次所传入之的参数数组替代),因为要删除掉无关键(设置deleted为1)
//170501补充——增强修复参数key键为数字时的保存命令
if(is_numeric($value['key'])){
$_temp_keys = $temp['keys'][$value['setfor']][$value['title']];
if(count($_temp_keys)==0){
$record['deleted'] = 1;
$record['updatetime'] = $_FM['timestamp'];
$_temp_condition = $temp_condition.$condition;
unset($params[':key']);
$result = fmFunc_pdo_yii_update($connection, $tableName, $record, $_temp_condition, $params);
}
array_push($temp['keys'][$value['setfor']][$value['title']],$value['key']);
}
$condition .=" AND ";
$condition .="`key` = :key";
$params[':key'] = $value['key'];
$condition = $temp_condition.$condition;
$id = fmFunc_pdo_yii_fetchcolumn($connection, $tableName, $column, $condition, $params);
$record['value'] = $value['value'];
//170722 补充-value键值超过mysql的text最大长度65535时,改为使用文件存储的方式
if(isset($value['value']{65535})){
$filename = $siteId.'/'.$uniacid.'/'.$platid.'_'.$shopid.'_'.$o_sn.'_'.$f_sn.'_'.$s_sn.'_'.$suffix.'_'.$value['setfor'].'_'.$value['title'].'_'.$value['key'];
fmFunc_file_dataWrite($filename,$value['value'],$uri=null,$origin_cache_key=null);
$record['value'] = $filename.'.php';
}
if($id){
$record['deleted'] = 0;
$record['updatetime'] = $_FM['timestamp'];
fmFunc_pdo_yii_update($connection, $tableName, $record, $condition, $params);
}else{
$record['setfor'] = $value['setfor'];
$record['title'] = $value['title'];
$record['key'] = $value['key'];
$record['o_sn'] = $o_sn;
$record['f_sn'] = $f_sn;
$record['s_sn'] = $s_sn;
$record['sn'] = getMillisecond()*10;
$record['sn'] = intval($record['sn']);
$record['siteid'] = $siteId;
$record['platid'] = $platid;
$record['uniacid'] = $uniacid;
$record['shopid'] = $shopid;
$record['partnerid'] = $partnerid;
$record['mid'] = $mid;
$record['fid'] = $fid;
$record['displayorder'] = isset($data['displayorder']) ? $data['displayorder'] : 0;
$record['status'] = isset($data['status']) ? $data['status'] : 1;
$record['statuscode'] = isset($data['statuscode']) ? $data['statuscode'] : 64;
$record['deleted'] = 0;
$record['createtime'] = $_FM['timestamp'];
$record['updatetime'] = $_FM['timestamp'];
fmFunc_pdo_yii_insert($connection, $tableName, $record);
}
}