优化ctms-api语法、修复已知BUG;

主要修复ctms-api、dacms对PHP新版本的支持问题
This commit is contained in:
2025-07-13 19:37:42 +08:00
parent 65bbd06981
commit 037f274ec5
413 changed files with 107271 additions and 72326 deletions
+41
View File
@@ -0,0 +1,41 @@
<?php
//取form表sn
$suffix = 'form';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$column = "sn";
$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;
$f_sn = fmFunc_pdo_yii_fetchcolumn($connection, $tableName, $column, $condition, $params);
if (!$f_sn) {
$initdata = $dbmodel->data_format($data, $suffix);
$initdata['title'] = $f_sn_title;
$initdata['value'] = '';
$initdata['createtime'] = $_FM['timestamp'];
$initdata['updatetime'] = $_FM['timestamp'];
$initdata['deleted'] = 0;
$initdata['status'] = 1;
$initdata['sn'] = getMillisecond() * 10;
$initdata['sn'] = intval($initdata['sn']);
$initdata['s_sn'] = $s_sn;
fmFunc_pdo_yii_insert($connection, $tableName, $initdata);
$f_sn = $initdata['sn'];
}
+92
View File
@@ -0,0 +1,92 @@
<?php
//OK
//取addon表数据
$suffix = 'addon';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$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;
switch ($op) {
case 'unused': //取未删除、不可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 0;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'deleted': //取已删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 1;
break;
default: //默认,取未删除、可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 1;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
}
$columns = ['setfor', 'title', 'key', 'value'];
$result = fmFunc_pdo_yii_getall($connection, $tableName, $columns, $condition, $params, $limits = array(), $showorders = array());
$record = array();
if ($result) {
foreach ($result as $_k => $_v) {
$setfor = $_v['setfor'];
$title = $_v['title'];
$key = $_v['key'];
$value = iunserializer($_v['value']);
$str = $setfor . '_' . $title . '_' . $key . '.php';
$len = 0 - strlen($str);
if (!empty($value) && is_string($value) && substr($value, $len) == $str) {
if (fmFunc_file_checkExist($value, 'data/')) {
$value = fmFunc_file_dataLoad($value);
}
}
$record[$setfor] = [];
$record[$setfor][$title] = [];
$record[$setfor][$title][$key] = $value;
if ($setfor == $title) {
if ($title == $key) {
$record[$setfor] = $value;
} else {
$record[$setfor][$key] = $value;
}
} else {
if ($title == $key) {
$record[$setfor][$title] = $value;
}
}
}
} else {
$errorCode = 45300307;
}
$result = $record;
+90
View File
@@ -0,0 +1,90 @@
<?php
//取data表数据
$suffix = 'data';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$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;
switch ($op) {
case 'unused': //取未删除、不可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 0;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'deleted': //取已删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 1;
break;
default: //默认,取未删除、可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 1;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
}
$columns = ['setfor', 'title', 'key', 'value'];
$result = fmFunc_pdo_yii_getall($connection, $tableName, $columns, $condition, $params, $limits = array(), $showorders = array());
$record = array();
if ($result) {
foreach ($result as $_k => $_v) {
$setfor = $_v['setfor'];
$title = $_v['title'];
$key = $_v['key'];
$value = iunserializer($_v['value']);
$str = $setfor . '_' . $title . '_' . $key . '.php';
$len = 0 - strlen($str);
if (!empty($value) && is_string($value) && substr($value, $len) == $str) {
if (fmFunc_file_checkExist($value, 'data/')) {
$value = fmFunc_file_dataLoad($value);
}
}
$record[$setfor][$title][$key] = $value;
if ($setfor == $title) {
if ($title == $key) {
$record[$setfor] = $value;
} else {
$record[$setfor][$key] = $value;
}
} else {
if ($title == $key) {
$record[$setfor][$title] = $value;
}
}
}
} else {
$errorCode = 45300302;
}
$result = $record;
+32
View File
@@ -0,0 +1,32 @@
<?php
//OK
//取form表数据
$suffix = 'form';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('platid', 'uniacid', 'shopid', 's_sn', 'sn', 'title', 'value', 'displayorder', 'status', 'deleted');
$condition .= "`sn` = :sn";
$params[':sn'] = $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;
$result = fmFunc_pdo_yii_get($connection, $tableName, $columns, $condition, $params, $limits = array());
if (!$result) {
$errorCode = 45300305;
}
+35
View File
@@ -0,0 +1,35 @@
<?php
//OK
//取order表数据
$suffix = 'order';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('platid', 'uniacid', 'shopid', 's_sn', 'f_sn', 'sn', 'partnerid', 'mid', 'fid', 'title', 'value', 'displayorder', 'status', 'deleted');
$condition .= "`sn` = :sn";
$params[':sn'] = $sn;
$condition .= " AND ";
$condition .= "`s_sn` = :s_sn";
$params[':s_sn'] = $s_sn;
$condition .= " AND ";
$condition .= "`f_sn` = :f_sn";
$params[':f_sn'] = $f_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;
$result = fmFunc_pdo_yii_get($connection, $tableName, $columns, $condition, $params, $limits = array());
if (!$result) {
$errorCode = 45300306;
}
+88
View File
@@ -0,0 +1,88 @@
<?php
//OK
//取param表数据
$suffix = 'param';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$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;
switch ($op) {
case 'unused': //取未删除、不可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 0;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'deleted': //取已删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 1;
break;
default: //默认,取未删除、可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 1;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
}
$columns = ['setfor', 'title', 'key', 'value'];
$result = fmFunc_pdo_yii_getall($connection, $tableName, $columns, $condition, $params, $limits = array(), $showorders = array());
$record = array();
if ($result) {
foreach ($result as $_k => $_v) {
$setfor = $_v['setfor'];
$title = $_v['title'];
$key = $_v['key'];
$value = iunserializer($_v['value']);
$str = $setfor . '_' . $title . '_' . $key . '.php';
$len = 0 - strlen($str);
if (!empty($value) && is_string($value) && substr($value, $len) == $str) {
if (fmFunc_file_checkExist($value, 'data/')) {
$value = fmFunc_file_dataLoad($value);
}
}
$record[$setfor][$title][$key] = $value;
if ($setfor == $title) {
if ($title == $key) {
$record[$setfor] = $value;
} else {
$record[$setfor][$key] = $value;
}
} else {
if ($title == $key) {
$record[$setfor][$title] = $value;
}
}
}
} else {
$errorCode = 45300303;
}
$result = $record;
+20
View File
@@ -0,0 +1,20 @@
<?php
//OK
//取self表某站点、sn对应数据
$suffix = 'self';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('platid', 'uniacid', 'shopid', 'sn', 'title', 'keywords', 'displayorder', 'status', 'deleted');
$condition .= "`sn` = :sn";
$params[':sn'] = $sn;
$condition .= " AND ";
$condition .= "`siteid` = :siteid";
$params[':siteid'] = $siteId;
$result = fmFunc_pdo_yii_get($connection, $tableName, $columns, $condition, $params, $limits = array());
if (!$result) {
$errorCode = 45300304;
}
+190
View File
@@ -0,0 +1,190 @@
<?php
//OK
//取form数据列表
$suffix = 'form';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('s_sn', 'platid', 'uniacid', 'shopid', 'partnerid', 'uid', 'sn', 'title', 'value', 'displayorder', 'status', 'deleted');
$condition .= "`siteid` = :siteid";
$params[':siteid'] = $siteId;
//跨平台搜索条件
if (isset($data['searching']['plat']) && $data['searching']['plat'] == $platid) {
$condition .= " AND ";
$condition .= "`platid` = :platid";
$params[':platid'] = $platid;
} else {
$condition .= " AND ";
$condition .= "`uniacid` = :uniacid";
$params[':uniacid'] = $uniacid;
}
$condition .= " AND ";
$condition .= "`shopid` = :shopid";
$params[':shopid'] = $shopid;
//增加搜索条件,取多s_sn查询
$issearching = isset($data['searching']) ? TRUE : FALSE;
$searching = array();
if ($issearching) {
$condition_searching = $condition;
$params_searching = $params;
//系统自带搜索条件约定(精确匹配)
if (isset($data['searching']['status'])) {
$condition_searching .= " AND ";
$condition_searching .= "`status` = :status";
$params_searching[':status'] = intval($data['searching']['status']);
}
if (isset($data['searching']['deleted'])) {
$condition_searching .= " AND ";
$condition_searching .= "`deleted` = :deleted";
$params_searching[':deleted'] = intval($data['searching']['deleted']);
}
//搜索条件filter参数过滤
if (isset($data['searching']['filter'])) {
foreach ($data['searching']['filter'] as $_k => $_v) {
$condition_searching .= " AND ";
$condition_searching .= "`key` = :key";
$params_searching[':key'] = $_k;
$condition_searching .= " AND ";
if (is_array($_v)) {
$x_condition = "(";
$x_i = count($_v);
foreach ($_v as $xk => $xv) {
$x_i--;
$x_condition .= "'" . serialize($xv) . "'";
if ($x_i > 0) {
$x_condition .= ",";
}
}
$x_condition .= ")";
$condition_searching .= "`value` IN " . $x_condition;
} else {
$condition_searching .= "`value` LIKE :value";
$params_searching[':value'] = '%' . serialize($_v) . '%';
}
}
}
//客户侧传入的额外搜索条件(模糊可选匹配)
if (isset($data['searching']['addons'])) {
foreach ($data['searching']['addons'] as $_k => $_v) {
$condition_searching .= " AND ";
$condition_searching .= "`key` = :key";
$params_searching[':key'] = $_k;
$condition_searching .= " AND ";
$condition_searching .= "`value` LIKE :value";
$params_searching[':value'] = '%' . serialize($_v) . '%';
$temp_tableName = $tablePre . '_' . $table . '_param';
$result = fmFunc_pdo_yii_getall($connection, $temp_tableName, array('s_sn'), $condition_searching, $params_searching, $limits = array(), $orders = array());
if ($result) {
foreach ($result as $_kk => $_vv) {
if ($_vv['s_sn'] != $s_sn) {
$searching[] = $_vv['s_sn'];
}
}
}
}
} else {
$temp_tableName = $tablePre . '_' . $table . '_param';
$result = fmFunc_pdo_yii_getall($connection, $temp_tableName, array('s_sn'), $condition_searching, $params_searching, $limits = array(), $orders = array());
if ($result) {
foreach ($result as $_kk => $_vv) {
if ($_vv['s_sn'] != $s_sn && !in_array($_vv['s_sn'], $searching)) {
$searching[] = $_vv['s_sn'];
}
}
}
}
}
$searching = array_unique($searching);
$issearching = (count($searching) == 0) ? FALSE : TRUE;
//传入了s_sn时,也作为搜索条件
if ($s_sn > 0) {
$condition .= " AND ";
$condition .= "`s_sn` = :s_sn";
$params[':s_sn'] = $s_sn;
} else if ($issearching) {
$s_sns = '';
foreach ($searching as $temp_s_sn) {
$s_sns .= $temp_s_sn . ",";
}
$s_sns .= $s_sns;
$condition .= " AND ";
$condition .= "`s_sn` IN (" . $s_sns . ")";
}
if ($issearching) {
$op = '';
}
switch ($op) {
case 'index': //取未删除、可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 1;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'unused': //取未删除、不可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 0;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'deleted': //取已删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 1;
break;
case 'all': //取未删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
default:
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
if (isset($data['searching']['status'])) {
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = $data['searching']['status'];
}
break;
}
//补充搜索条件
if (isset($data['searching']['keyword'])) {
$condition .= " AND ";
$condition .= "`title` LIKE :keyword";
$params[':keyword'] = '%' . $data['searching']['keyword'] . '%';
}
//数据分页
$limits = !empty($data['sqls']['limits']) ? $data['sqls']['limits'] : array();
//数据排序
$orders = !empty($data['sqls']['orders']) ? $data['sqls']['orders'] : array();
$result = fmFunc_pdo_yii_getall($connection, $tableName, $columns, $condition, $params, $limits, $orders = array());
if (!$result) {
$errorCode = 45300305;
}
$total = FmFunc_pdo_yii_getall($connection, $tableName, $columns = array('sn'), $condition, $params, $limits = array(), $orders = array());
$count = count($total);
+133
View File
@@ -0,0 +1,133 @@
<?php
//OK
//取order数据列表
$suffix = 'order';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('s_sn', 'f_sn', 'platid', 'uniacid', 'shopid', 'partnerid', 'mid', 'fid', 'sn', 'title', 'value', 'displayorder', 'status', 'deleted');
$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;
//传入了s_sn时,也作为搜索条件
if ($s_sn > 0) {
$condition .= " AND ";
$condition .= "`s_sn` = :s_sn";
$params[':s_sn'] = $s_sn;
}
//增加搜索条件,取多f_sn查询
$issearching = FALSE;
$searching = array();
if ($issearching) {
if (isset($data['searching']['addons'])) {
foreach ($data['searching']['addons'] as $_k => $_v) {
$condition .= " AND ";
$condition .= "`key` = :key";
$params[':key'] = $_k;
$condition .= " AND ";
$condition .= "`value` LIKE :value";
$params[':value'] = '%' . $_v . '%';
$temp_tableName = $tablePre . '_' . $table . '_addon';
$result = fmFunc_pdo_yii_getall($connection, $temp_tableName, array('f_sn'), $condition, $params, $limits = array(), $orders = array());
if ($result) {
foreach ($result as $_kk => $_vv) {
$searching[] = $_vv['f_sn'];
}
}
}
}
}
$searching = array_unique($searching);
$issearching = (count($searching) == 0) ? FALSE : TRUE;
//传入了f_sn时,也作为搜索条件
if ($f_sn > 0) {
$condition .= " AND ";
$condition .= "`f_sn` = :f_sn";
$params[':f_sn'] = $f_sn;
} else if ($issearching) {
$f_sns = '';
foreach ($searching as $temp_f_sn) {
$f_sns .= $temp_f_sn . ",";
}
$f_sns .= $f_sns;
$condition .= " AND ";
$condition .= "`f_sn` IN (" . $f_sns . ")";
}
if ($issearching) {
$op = '';
}
switch ($op) {
case 'index': //取未删除、可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 1;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'unused': //取未删除、不可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 0;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'deleted': //取已删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 1;
break;
case 'all': //取未删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
default:
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
if (isset($data['searching']['status'])) {
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = $data['searching']['status'];
}
break;
}
//补充搜索条件
if (isset($data['searching']['keyword'])) {
$condition .= " AND ";
$condition .= "`title` LIKE :keyword";
$params[':keyword'] = '%' . $data['searching']['keyword'] . '%';
}
$limits = !empty($data['sqls']['limits']) ? $data['sqls']['limits'] : array();
$result = fmFunc_pdo_yii_getall($connection, $tableName, $columns, $condition, $params, $limits, $orders = array());
if (!$result) {
$errorCode = 45300306;
}
$total = FmFunc_pdo_yii_getall($connection, $tableName, $columns = array('sn'), $condition, $params, $limits = array(), $orders = array());
$count = count($total);
+57
View File
@@ -0,0 +1,57 @@
<?php
//OK
//取self数据列表,只对应到站点即可
$suffix = 'self';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('platid', 'uniacid', 'shopid', 'sn', 'title', 'keywords', 'displayorder', 'status', 'deleted');
$condition .= "`siteid` = :siteid";
$params[':siteid'] = $siteId;
switch ($op) {
case 'index': //取未删除、可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 1;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'unused': //取未删除、不可用状态的数据
$condition .= " AND ";
$condition .= "`status` = :status";
$params[':status'] = 0;
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
case 'deleted': //取已删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 1;
break;
case 'all': //取未删除数据
$condition .= " AND ";
$condition .= "`deleted` = :deleted";
$params[':deleted'] = 0;
break;
default:
break;
}
$limits = !empty($data['sqls']['limits']) ? $data['sqls']['limits'] : array();
$result = fmFunc_pdo_yii_getall($connection, $tableName, $columns, $condition, $params, $limits, $orders = array());
if (!$result) {
$errorCode = 45300304;
}
$total = FmFunc_pdo_yii_getall($connection, $tableName, $columns = array('sn'), $condition, $params, $limits = array(), $orders = array());
$count = count($total);
+26
View File
@@ -0,0 +1,26 @@
<?php
//OK
$suffix = 'form';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$partnerid = isset($data['partnerid']) ? $data['partnerid'] : 0;
$uid = isset($data['uid']) ? $data['uid'] : 0;
$initdata = $dbmodel->data_format($data['addons'], $suffix);
$initdata['title'] = isset($initdata['title']) ? $initdata['title'] : $s_sn_title;
$initdata['value'] = isset($initdata['value']) ? $initdata['value'] : '';
$initdata['createtime'] = $_FM['timestamp'];
$initdata['updatetime'] = $_FM['timestamp'];
$initdata['deleted'] = isset($initdata['deleted']) ? $initdata['deleted'] : 0;
$initdata['status'] = isset($initdata['status']) ? $initdata['status'] : 1;
$initdata['statuscode'] = isset($data['statuscode']) ? $data['statuscode'] : 64;
$initdata['displayorder'] = isset($initdata['displayorder']) ? $initdata['displayorder'] : 0;
$initdata['sn'] = getMillisecond() * 10;
$initdata['sn'] = intval($initdata['sn']);
$initdata['s_sn'] = $s_sn;
$result = fmFunc_pdo_yii_insert($connection, $tableName, $initdata);
$f_sn = $initdata['sn'];
+28
View File
@@ -0,0 +1,28 @@
<?php
//OK
$suffix = 'order';
$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;
$initdata = $dbmodel->data_format($data['addons'], $suffix);
$initdata['title'] = isset($initdata['title']) ? $initdata['title'] : $s_sn_title;
$initdata['value'] = isset($initdata['value']) ? $initdata['value'] : '';
$initdata['createtime'] = $_FM['timestamp'];
$initdata['updatetime'] = $_FM['timestamp'];
$initdata['deleted'] = isset($initdata['deleted']) ? $initdata['deleted'] : 0;
$initdata['status'] = isset($initdata['status']) ? $initdata['status'] : 1;
$initdata['statuscode'] = isset($data['statuscode']) ? $data['statuscode'] : 64;
$initdata['displayorder'] = isset($initdata['displayorder']) ? $initdata['displayorder'] : 0;
$initdata['sn'] = getMillisecond() * 10;
$initdata['sn'] = intval($initdata['sn']);
$initdata['s_sn'] = $s_sn;
$initdata['f_sn'] = $f_sn;
$result = fmFunc_pdo_yii_insert($connection, $tableName, $initdata);
$o_sn = $initdata['sn'];
+21
View File
@@ -0,0 +1,21 @@
<?php
//OK
$suffix = 'self';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$initdata = $dbmodel->data_format($data['addons'], $suffix);
$initdata['title'] = isset($initdata['title']) ? $initdata['title'] : $s_sn_title;
$initdata['keywords'] = isset($initdata['keywords']) ? $initdata['keywords'] : '';
$initdata['createtime'] = $_FM['timestamp'];
$initdata['updatetime'] = $_FM['timestamp'];
$initdata['deleted'] = isset($initdata['deleted']) ? $initdata['deleted'] : 0;
$initdata['status'] = isset($initdata['status']) ? $initdata['status'] : 1;
$initdata['displayorder'] = isset($initdata['displayorder']) ? $initdata['displayorder'] : 0;
$initdata['sn'] = getMillisecond() * 10;
$initdata['sn'] = intval($initdata['sn']);
$result = fmFunc_pdo_yii_insert($connection, $tableName, $initdata);
$s_sn = $initdata['sn'];
+45
View File
@@ -0,0 +1,45 @@
<?php
//取order表sn
$suffix = 'order';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$column = "sn";
$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;
$o_sn = fmFunc_pdo_yii_fetchcolumn($connection, $tableName, $column, $condition, $params);
if (!$o_sn) {
$initdata = $dbmodel->data_format($data, $suffix);
$initdata['title'] = $o_sn_title;
$initdata['value'] = '';
$initdata['createtime'] = $_FM['timestamp'];
$initdata['updatetime'] = $_FM['timestamp'];
$initdata['deleted'] = 0;
$initdata['status'] = 1;
$initdata['sn'] = getMillisecond() * 10;
$initdata['sn'] = intval($initdata['sn']);
$initdata['s_sn'] = $s_sn;
$initdata['f_sn'] = $f_sn;
fmFunc_pdo_yii_insert($connection, $tableName, $initdata);
$o_sn = $initdata['sn'];
}
+6
View File
@@ -0,0 +1,6 @@
<?php
$op = isset($dataGet['op']) ? $dataGet['op'] : 'index';
$op = in_array($op, array('index', 'deleted', 'unused')) ? $op : 'index';
$setfor = isset($dataGet['setfor']) ? $dataGet['setfor'] : 'index';
+21
View File
@@ -0,0 +1,21 @@
<?php
//OK
//TBD uniacid的更复杂逻辑处理,以便平台模式切换
$op = isset($dataGet['op']) ? $dataGet['op'] : 'null';
$ac = isset($dataGet['ac']) ? $dataGet['ac'] : 'null';
$siteId = isset($_FM['apiCert']['siteId']) ? $_FM['apiCert']['siteId'] : 0;
$platid = (isset($dataGet['platid']) && intval($dataGet['platid']) > 0) ? intval($dataGet['platid']) : 0;
//TBD 进一步校验platid是否合法
$platid = (isset($_FM['platid'])) ? $_FM['platid'] : $platid;
$uniacid = (isset($dataGet['uniacid']) && intval($dataGet['uniacid']) > 0) ? intval($dataGet['uniacid']) : 0;
//TBD 进一步校验uniacid是否合法
$uniacid = (isset($_FM['uniacid'])) ? $_FM['uniacid'] : $uniacid;
$shopid = (isset($dataGet['shopid']) && intval($dataGet['shopid']) > 0) ? intval($dataGet['shopid']) : 0;
//TBD 进一步校验shopid是否合法
$shopid = (isset($_FM['shopid'])) ? $_FM['shopid'] : $shopid;
+43
View File
@@ -0,0 +1,43 @@
<?php
global $START_TIME;
$START_TIME = getMillisecond();
//加载变量设置
global $_FM;
//记录请求日志-20170629
$dologs = new common\components\DoLogs;
$dologs->record();
//授权服务器通讯检查,排除前台登陆演示'我的接口'时的判断
$errorCode = 0;
if (substr($_GET['r'], -6) != '/index') {
$errorCode = fmFunc_cert_checkAuth();
}
if ($errorCode != 0) {
die (json_encode(array('errorcode' => $errorCode, 'msg' => Yii::t('errorcode', $errorCode))));
}
//未登陆不返回数据!
if (!isset($_FM['user']['name'])) {
$errorCode = 45300201;
die (json_encode(array('errorcode' => $errorCode, 'msg' => Yii::t('errorcode', $errorCode))));
} else if (Yii::$app->user->isGuest) {
$errorCode = 45300201;
die (json_encode(array('errorcode' => $errorCode, 'msg' => Yii::t('errorcode', $errorCode))));
}
//补充添加平台号关联
$_FM['platid'] = isset($_GET['platid']) ? intval($_GET['platid']) : 0;
if (isset($_FM['apiCert']['platid'])) {
$_FM['platid'] = $_FM['apiCert']['platid'];
}
$_FM['uniacid'] = isset($_GET['uniacid']) ? intval($_GET['uniacid']) : 0;
if (isset($_FM['apiCert']['uniacid'])) {
$_FM['uniacid'] = $_FM['apiCert']['uniacid'];
}
$_FM['shopid'] = isset($_GET['shopid']) ? intval($_GET['shopid']) : 0;
if (isset($_FM['apiCert']['shopid'])) {
$_FM['shopid'] = $_FM['apiCert']['shopid'];
}
+37
View File
@@ -0,0 +1,37 @@
<?php
global $START_TIME;
$START_TIME = getMillisecond();
//加载变量设置
global $_FM;
//记录请求日志-20170629
$dologs = new common\components\DoLogs;
$dologs->record();
//授权服务器通讯检查,排除前台登陆演示我的接口时的判断
$errorCode = 0;
//未登陆不返回数据!
// if(!isset($_FM['user']['name']))
// {
// $errorCode = 45300201;
// die (json_encode(array('errorcode'=>$errorCode,'msg'=>Yii::t('errorcode',$errorCode))));
// }elseif (Yii::$app->user->isGuest)
// {
// $errorCode = 45300201;
// die (json_encode(array('errorcode'=>$errorCode,'msg'=>Yii::t('errorcode',$errorCode))));
// }
//补充添加平台号关联
$_FM['platid'] = isset($_GET['platid']) ? intval($_GET['platid']) : 0;
if (isset($_FM['apiCert']['platid'])) {
$_FM['platid'] = $_FM['apiCert']['platid'];
}
$_FM['uniacid'] = isset($_GET['uniacid']) ? intval($_GET['uniacid']) : 0;
if (isset($_FM['apiCert']['uniacid'])) {
$_FM['uniacid'] = $_FM['apiCert']['uniacid'];
}
$_FM['shopid'] = isset($_GET['shopid']) ? intval($_GET['shopid']) : 0;
if (isset($_FM['apiCert']['shopid'])) {
$_FM['shopid'] = $_FM['apiCert']['shopid'];
}
+28
View File
@@ -0,0 +1,28 @@
<?php
//OK
//取self表sn,SELF对应到客户端站点系统级——每个站点均支持多个主模型存在
$suffix = 'self';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$column = "sn";
$condition .= "`siteid` = :siteid";
$params[':siteid'] = $siteId;
$s_sn = fmFunc_pdo_yii_fetchcolumn($connection, $tableName, $column, $condition, $params);
if (!$s_sn) {
$initdata = $dbmodel->data_format($data['addons'], $suffix);
$initdata['title'] = isset($initdata['title']) ? $initdata['title'] : $s_sn_title;
$initdata['keywords'] = isset($initdata['keywords']) ? $initdata['keywords'] : '';
$initdata['createtime'] = $_FM['timestamp'];
$initdata['updatetime'] = $_FM['timestamp'];
$initdata['deleted'] = 0;
$initdata['status'] = 1;
$initdata['sn'] = getMillisecond() * 10;
$initdata['sn'] = intval($initdata['sn']);
fmFunc_pdo_yii_insert($connection, $tableName, $initdata);
$s_sn = $initdata['sn'];
}
+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);
}
}
+135
View File
@@ -0,0 +1,135 @@
<?php
//OK
//设置data表数据
$suffix = 'data';
$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);
}
}
+127
View File
@@ -0,0 +1,127 @@
<?php
//OK
//设置param表数据
$suffix = 'param';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$partnerid = isset($data['partnerid']) ? $data['partnerid'] : 0;
$settingData = $dbmodel->data_format($data['addons'], $suffix);
$column = "id";
$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 . '_' . $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['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['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);
}
}
+47
View File
@@ -0,0 +1,47 @@
<?php
//OK
//更新form表
$suffix = 'form';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('title', 'value', 'displayorder', 'status', 'deleted');
$condition .= "`sn` = :sn";
$params[':sn'] = $f_sn;
$condition .= " AND ";
$condition .= "`s_sn` = :s_sn";
$params[':s_sn'] = $s_sn;
$condition .= " AND ";
$condition .= "`siteid` = :siteid";
$params[':siteid'] = $siteId;
$initdata = $dbmodel->data_format($data['addons'], $suffix);
$updateData = array();
foreach ($columns as $col) {
if (isset($initdata[$col])) {
$updateData[$col] = $initdata[$col];
} else if (isset($data[$col])) {
$updateData[$col] = $data[$col];
}
}
//根据传参op进行数据微调
switch ($op) {
case 'param':
//指定为param操作时,不对form表进行写操作
$unset = ['title', 'keywords', 'displayorder', 'status', 'deleted'];
$updateData = array();
break;
default:
break;
}
if (!empty($updateData)) {
$updateData['updatetime'] = $_FM['timestamp'];
$result = fmFunc_pdo_yii_update($connection, $tableName, $updateData, $condition, $params);
} else {
$result = FALSE;
}
+50
View File
@@ -0,0 +1,50 @@
<?php
//更新order表
$suffix = 'order';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('title', 'value', 'displayorder', 'status', 'deleted');
$condition .= "`sn` = :sn";
$params[':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;
$initdata = $dbmodel->data_format($data['addons'], $suffix);
$updateData = array();
foreach ($columns as $col) {
if (isset($initdata[$col])) {
$updateData[$col] = $initdata[$col];
} else if (isset($data[$col])) {
$updateData[$col] = $data[$col];
}
}
//根据传参op进行数据微调
switch ($op) {
case 'param':
//指定为param操作时,不对order表进行写操作
$unset = ['title', 'keywords', 'displayorder', 'status', 'deleted'];
$updateData = array();
break;
default:
break;
}
if (!empty($updateData)) {
$updateData['updatetime'] = $_FM['timestamp'];
$result = fmFunc_pdo_yii_update($connection, $tableName, $updateData, $condition, $params);
} else {
$result = FALSE;
}
+44
View File
@@ -0,0 +1,44 @@
<?php
//OK
//更新self表
$suffix = 'self';
$tableName = $tablePre . '_' . $table . '_' . $suffix;
$condition = "";
$params = array();
$columns = array('title', 'keywords', 'displayorder', 'status', 'deleted');
$condition .= "`sn` = :sn";
$params[':sn'] = $s_sn;
$condition .= " AND ";
$condition .= "`siteid` = :siteid";
$params[':siteid'] = $siteId;
$initdata = $dbmodel->data_format($data['addons'], $suffix);
$updateData = array();
foreach ($columns as $col) {
if (isset($initdata[$col])) {
$updateData[$col] = $initdata[$col];
} else if (isset($data[$col])) {
$updateData[$col] = $data[$col];
}
}
//根据传参op进行数据微调
switch ($op) {
case 'param':
//指定为param操作时,不对self表进行写操作
$unset = ['title', 'keywords', 'displayorder', 'status', 'deleted'];
$updateData = array();
break;
default:
break;
}
if (!empty($updateData)) {
$updateData['updatetime'] = $_FM['timestamp'];
$result = fmFunc_pdo_yii_update($connection, $tableName, $updateData, $condition, $params);
} else {
$result = FALSE;
}