From 254cc5ba9d024b0d376658b257f5fbda5ed65ef4 Mon Sep 17 00:00:00 2001 From: tianya Date: Wed, 16 Mar 2022 22:25:36 +0800 Subject: [PATCH 1/8] =?UTF-8?q?=E9=94=99=E8=AF=AF=E6=8D=95=E8=8E=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/templets/index_body.htm | 2 +- src/system/libraries/dedebiz.class.php | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/src/admin/templets/index_body.htm b/src/admin/templets/index_body.htm index 4395aaf3..2bd593dc 100644 --- a/src/admin/templets/index_body.htm +++ b/src/admin/templets/index_body.htm @@ -226,7 +226,7 @@ infoStr += ` 授权域名: - ${rsp.result.domain}查看 + ${rsp.result.domain} 查看 `; } diff --git a/src/system/libraries/dedebiz.class.php b/src/system/libraries/dedebiz.class.php index 4bf745e0..6d827636 100644 --- a/src/system/libraries/dedebiz.class.php +++ b/src/system/libraries/dedebiz.class.php @@ -244,9 +244,17 @@ class DedeBizClient function Close() { //这里避免重复释放 - if (strtolower(get_resource_type($this->socket)) === "socket") { - socket_close($this->socket); - } + try { + if (strtolower(get_resource_type($this->socket)) === "socket") { + socket_close($this->socket); + } + return true; + } catch (TypeError $e) { + return false; + } catch (Exception $e) { + return false; + } + } function __destruct() { From 8b002c28648d468864694cf5edf74dfe503dd411 Mon Sep 17 00:00:00 2001 From: tianya Date: Sat, 19 Mar 2022 10:00:39 +0800 Subject: [PATCH 2/8] =?UTF-8?q?=E9=87=8D=E5=86=99=E8=81=94=E5=8A=A8?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E7=BC=93=E5=AD=98=E6=A8=A1=E5=BC=8F&?= =?UTF-8?q?=E7=A7=BB=E9=99=A4=E5=AF=B9memcache=E6=94=AF=E6=8C=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 3 +- src/a/.dedekeep | 1 + src/admin/sys_safetest.php | 4 +- src/apps/advancedsearch.php | 14 ++--- src/install/sql-dfdata.txt | 3 - src/static/enums/.dedekeep | 1 + src/system/common.inc.php | 12 +--- src/system/customfields.func.php | 22 +++++-- src/system/enums.func.php | 55 +++++++++--------- src/system/helpers/cache.helper.php | 80 +++++++++++++------------- src/system/libraries/dedebiz.class.php | 2 +- src/system/taglib/infoguide.lib.php | 22 +++++-- src/system/taglib/infolink.lib.php | 17 +++++- 13 files changed, 133 insertions(+), 103 deletions(-) create mode 100644 src/static/enums/.dedekeep diff --git a/.gitignore b/.gitignore index f69b4467..f3efbce0 100644 --- a/.gitignore +++ b/.gitignore @@ -14,7 +14,6 @@ src/install/index.html src/install/module-install.php.bak src/a/*/ src/.txt -src/data/enums/ src/index.html src/uploads/*.php src/data/time.lock.inc @@ -40,3 +39,5 @@ src/data/module/*.php src/data/*.db src/uploads/soft/*/ src/static/allimg/*/ +src/data/time.lock +src/static/enums/*.json diff --git a/src/a/.dedekeep b/src/a/.dedekeep index e69de29b..88302ffc 100644 --- a/src/a/.dedekeep +++ b/src/a/.dedekeep @@ -0,0 +1 @@ +DedeBIZ \ No newline at end of file diff --git a/src/admin/sys_safetest.php b/src/admin/sys_safetest.php index 0451e8e2..4977e4e8 100644 --- a/src/admin/sys_safetest.php +++ b/src/admin/sys_safetest.php @@ -9,6 +9,7 @@ * @link https://www.dedebiz.com */ require_once(dirname(__FILE__).'/config.php'); +require_once(DEDEINC.'/libraries/dedehttpdown.class.php'); CheckPurview('sys_Edit'); if (empty($action)) $action = ''; if (empty($message)) $message = '尚未进行检测……'; @@ -50,10 +51,11 @@ function TestOneFile($f) if (preg_match("#(".$info.")[ \r\n\t]{0,}([\[\(])#i", $str)) { $trfile = preg_replace("#^".DEDEROOT."#", '', $f); $oldTrfile = $trfile; - $trfile = substr(str_replace("/", "\\", $trfile), 1); + $trfile = '/'.substr(str_replace("\\", "/", $trfile), 1); $localFilehash = md5_file($f); $remoteFilehash = isset($offFiles[$trfile]) ? $offFiles[$trfile] : ''; + if ($localFilehash === $remoteFilehash) { return 0; } diff --git a/src/apps/advancedsearch.php b/src/apps/advancedsearch.php index e0eee7ef..52cac815 100755 --- a/src/apps/advancedsearch.php +++ b/src/apps/advancedsearch.php @@ -15,7 +15,7 @@ $timestamp = time(); @session_start(); //限制同时搜索数量 -$timelock = '../../data/time.lock'; +$timelock = DEDEDATA.'/time.lock'; if ($cfg_allsearch_limit < 1) { $cfg_allsearch_limit = 1; } @@ -34,7 +34,7 @@ if ($mid == 0) { exit(); } -$query = "SELECT maintable, mainfields, addontable, addonfields, template FROM #@__advancedsearch WHERE mid='$mid'"; +$query = "SELECT maintable, mainfields, addontable, addonfields, template FROM `#@__advancedsearch` WHERE mid='$mid'"; $searchinfo = $dsql->GetOne($query); if (!is_array($searchinfo)) { showmsg('自定义搜索模型不存在', '-1'); @@ -171,12 +171,12 @@ if (empty($sql)) { $where = str_replace('main.', 'addon.', $where); $orderby = str_replace('main.', 'addon.', $orderby); $query = "SELECT addon.*, arctype.* FROM $addontable addon - LEFT JOIN #@__arctype arctype ON arctype.id = addon.typeid + LEFT JOIN `#@__arctype` arctype ON arctype.id = addon.typeid $where $orderby"; } else { $query = "SELECT main.id AS aid,main.*,main.description AS description1, type.* FROM $maintable main - LEFT JOIN #@__arctype type ON type.id = main.typeid + LEFT JOIN `#@__arctype` type ON type.id = main.typeid LEFT JOIN $addontable addon ON addon.aid = main.id $where $orderby"; } @@ -195,10 +195,10 @@ $dlist = new DataListCP(); $dlist->pageSize = 20; $dlist->SetParameter("hash", $sqlhash); $dlist->SetParameter("mid", $mid); -if (file_exists(DEDEROOT."/templets/default/$template")) { - $templatefile = DEDEROOT."/templets/default/$template"; +if (file_exists(DEDEROOT."/theme/templets/$template")) { + $templatefile = DEDEROOT."/theme/templets/$template"; } else { - $templatefile = DEDEROOT."/templets/default/advancedsearch.htm"; + $templatefile = DEDEROOT."/theme/templets/advancedsearch.htm"; } $dlist->SetTemplate($templatefile); $dlist->SetSource($query); diff --git a/src/install/sql-dfdata.txt b/src/install/sql-dfdata.txt index ae9131a2..3a0883a5 100755 --- a/src/install/sql-dfdata.txt +++ b/src/install/sql-dfdata.txt @@ -4082,9 +4082,6 @@ INSERT INTO `#@__sysconfig` VALUES('1','cfg_basehost','站点网址(http://域 ('751','cfg_title_site','是否发布和编辑文档时远程发布,启用远程站点的前提下','2','bool','N'), ('752','cfg_mysql_type','数据库类型,支持MySQL和Mysqli','2','string','mysql'), ('14', 'cfg_domain_cookie', '跨域共享Cookie的域名,例如: www.dedebiz.com', 2, 'string', ''), -('756','cfg_memcache_enable','是否启用memcache缓存,如果为否,默认使用文件缓存',6,'bool','N'), -('757','cfg_memcache_mc_defa','默认MemCache缓存服务器地址',6,'string','memcache://127.0.0.1:123/default123'), -('758','cfg_memcache_mc_oth','附加MemCache缓存服务器地址',6,'string',''), ('759', 'cfg_cross_sectypeid', '支持交叉栏目显示副栏目内容', '7', 'bool', 'Y'), ('760', 'cfg_digg_update', '顶踩缓存异步更新间隔(0为不缓存)', '6', 'number', '0'), ('761', 'cfg_feedback_guest', '是否允许匿名评论', '5', 'bool', 'N'), diff --git a/src/static/enums/.dedekeep b/src/static/enums/.dedekeep new file mode 100644 index 00000000..88302ffc --- /dev/null +++ b/src/static/enums/.dedekeep @@ -0,0 +1 @@ +DedeBIZ \ No newline at end of file diff --git a/src/system/common.inc.php b/src/system/common.inc.php index d468240e..a3c91fc4 100755 --- a/src/system/common.inc.php +++ b/src/system/common.inc.php @@ -17,6 +17,7 @@ define('DEBUG_LEVEL', FALSE);//如果设置为TRUE则会打印执行SQL的时间 define('DEDEINC', str_replace("\\", '/', dirname(__FILE__))); define('DEDEROOT', str_replace("\\", '/', substr(DEDEINC, 0, -6))); // 站点根目录 define('DEDEDATA', substr(DEDEINC, 0, -6).'data'); +define('DEDESTATIC', DEDEROOT.'/static'); define('DEDEMEMBER', DEDEROOT.'/user'); define('DEDETEMPLATE', DEDEROOT.'/theme'); define('DEDEBIZURL', "https://www.dedebiz.com");//Dede商业支持 @@ -231,16 +232,7 @@ if (isset($GLOBALS['PageNo'])) { if (isset($GLOBALS['TotalResult'])) { $GLOBALS['TotalResult'] = intval($GLOBALS['TotalResult']); } -//设定缓存配置信息 -if ($cfg_memcache_enable == 'Y') { - $cache_helper_config = array(); - $cache_helper_config['memcache']['is_mc_enable'] = $GLOBALS["cfg_memcache_enable"]; - $cache_helper_config['memcache']['mc'] = array( - 'default' => $GLOBALS["cfg_memcache_mc_defa"], - 'other' => $GLOBALS["cfg_memcache_mc_oth"] - ); - $cache_helper_config['memcache']['mc_cache_time'] = $GLOBALS["cfg_puccache_time"]; -} + if (!isset($cfg_NotPrintHead)) { if (PHP_SAPI != 'cli') { header("Content-Type: text/html; charset={$cfg_soft_lang}"); diff --git a/src/system/customfields.func.php b/src/system/customfields.func.php index 0caadb88..c4c7f13e 100755 --- a/src/system/customfields.func.php +++ b/src/system/customfields.func.php @@ -49,8 +49,15 @@ function GetFormItem($ctag, $admintype = 'admin') $myformItem .= ''."\r\n"; $GLOBALS['hasSetEnumJs'] = 'hasset'; } - $myformItem .= "\r\n"; - $myformItem .= ''."\r\n"; + $myformItem .= "\r\n"; $formitem = str_replace('~name~', $ctag->GetAtt('itemname'), $formitem); $formitem = str_replace('~form~', $myformItem, $formitem); return $formitem; @@ -328,8 +335,15 @@ function GetFormItemValue($ctag, $fvalue, $admintype = 'admin', $fieldname = '') $myformItem .= ''."\r\n"; $GLOBALS['hasSetEnumJs'] = 'hasset'; } - $myformItem .= "\r\n"; - $myformItem .= "\r\n"; + $myformItem .= "\r\n"; $formitem = str_replace('~name~', $ctag->GetAtt('itemname'), $formitem); $formitem = str_replace('~form~', $myformItem, $formitem); return $formitem; diff --git a/src/system/enums.func.php b/src/system/enums.func.php index 377a07fd..0df84901 100755 --- a/src/system/enums.func.php +++ b/src/system/enums.func.php @@ -33,22 +33,19 @@ function WriteEnumsCache($egroup = '') $egroups[] = $nrow['egroup']; } foreach ($egroups as $egroup) { - $cachefile = DEDEDATA.'/enums/'.$egroup.'.php'; - $fp = fopen($cachefile, 'w'); - fwrite($fp, '<'."?php\r\nglobal \$em_{$egroup}s;\r\n\$em_{$egroup}s = array();\r\n"); + $cachefile = DEDESTATIC.'/enums/'.$egroup.'.json'; $dsql->SetQuery("SELECT ename,evalue,issign FROM `#@__sys_enum` WHERE egroup='$egroup' ORDER BY disorder ASC, evalue ASC "); $dsql->Execute('enum'); $issign = -1; $tenum = false; //三级联动标识 + $data = array(); while ($nrow = $dsql->GetArray('enum')) { - fwrite($fp, "\$em_{$egroup}s['{$nrow['evalue']}'] = '{$nrow['ename']}';\r\n"); + $data[$nrow['evalue']] = $nrow['ename']; if ($issign == -1) $issign = $nrow['issign']; if ($nrow['issign'] == 2) $tenum = true; } + file_put_contents($cachefile,json_encode($data)); if ($tenum) $dsql->ExecuteNoneQuery("UPDATE `#@__stepselect` SET `issign`=2 WHERE egroup='$egroup'; "); - fwrite($fp, '?'.'>'); - fclose($fp); - if (empty($issign)) WriteEnumsJs($egroup); } return '成功更新所有枚举缓存'; } @@ -83,8 +80,11 @@ function GetEnumsTypes($v) */ function GetEnumsForm($egroup, $evalue = 0, $formid = '', $seltitle = '') { - $cachefile = DEDEDATA.'/enums/'.$egroup.'.php'; - include($cachefile); + $cachefile = DEDESTATIC.'/enums/'.$egroup.'.json'; + $data = json_decode(file_get_contents($cachefile)); + foreach ($data as $key => $value) { + ${'em_'.$egroup.'s'}[$key] = $value; + } if ($formid == '') { $formid = $egroup; } @@ -113,8 +113,11 @@ function GetEnumsForm($egroup, $evalue = 0, $formid = '', $seltitle = '') function getTopData($egroup) { $data = array(); - $cachefile = DEDEDATA.'/enums/'.$egroup.'.php'; - include($cachefile); + $cachefile = DEDESTATIC.'/enums/'.$egroup.'.json'; + $data = json_decode(file_get_contents($cachefile)); + foreach ($data as $key => $value) { + ${'em_'.$egroup.'s'}[$key] = $value; + } foreach (${'em_'.$egroup.'s'} as $k => $v) { if ($k >= 500 && $k % 500 == 0) { $data[$k] = $v; @@ -132,8 +135,12 @@ function getTopData($egroup) function GetEnumsJs($egroup) { global ${'em_'.$egroup.'s'}; - include_once(DEDEDATA.'/enums/'.$egroup.'.php'); - $jsCode = ""; return $jsCode; } -/** - * 写入联动JS代码 - * - * @access public - * @param string $egroup 联动组 - * @return string - */ -function WriteEnumsJs($egroup) -{ - $jsfile = DEDEDATA.'/enums/'.$egroup.'.js'; - $fp = fopen($jsfile, 'w'); - fwrite($fp, GetEnumsJs($egroup)); - fclose($fp); -} + /** * 获取枚举的值 * @@ -171,7 +164,11 @@ function WriteEnumsJs($egroup) */ function GetEnumsValue($egroup, $evalue = 0) { - include_once(DEDEDATA.'/enums/'.$egroup.'.php'); + $cachefile = DEDESTATIC.'/enums/'.$egroup.'.json'; + $data = json_decode(file_get_contents($cachefile)); + foreach ($data as $key => $value) { + ${'em_'.$egroup.'s'}[$key] = $value; + } if (isset(${'em_'.$egroup.'s'}[$evalue])) { return ${'em_'.$egroup.'s'}[$evalue]; } else { diff --git a/src/system/helpers/cache.helper.php b/src/system/helpers/cache.helper.php index 1fbf7052..577f0970 100755 --- a/src/system/helpers/cache.helper.php +++ b/src/system/helpers/cache.helper.php @@ -1,7 +1,7 @@ connect($mc_path['host'], $mc_path['port']); - } - return $GLOBALS['mc_'.$mc_path['host']]->get($key); + // 商业组件缓存 + if (!empty($cfg_bizcore_appid) && !empty($cfg_bizcore_key)) { + $client = new DedeBizClient($cfg_bizcore_hostname, $cfg_bizcore_port); + $client->appid = $cfg_bizcore_appid; + $client->key = $cfg_bizcore_key; + $key = trim($prefix.'_'.$key); + $data = $client->CacheGet($key); + $result = unserialize($data->data); + $client->Close(); + return $result; } $key = substr($key, 0, 2).'/'.substr($key, 2, 2).'/'.substr($key, 4, 2).'/'.$key; $result = @file_get_contents(DEDEDATA."/cache/$prefix/$key.php"); @@ -58,22 +58,20 @@ if (!function_exists('GetCache')) { * @return int */ if (!function_exists('SetCache')) { - function SetCache($prefix, $key, $value, $timeout = 3600, $is_memcache = TRUE) + function SetCache($prefix, $key, $value, $timeout = 3600) { - global $cache_helper_config; + global $cfg_bizcore_appid, $cfg_bizcore_key, $cfg_bizcore_hostname, $cfg_bizcore_port; $key = md5($key); - //如果启用MC缓存 - if (!empty($cache_helper_config['memcache']) && $cache_helper_config['memcache']['is_mc_enable'] === 'Y' && $is_memcache === TRUE) { - $mc_path = empty($cache_helper_config['memcache']['mc'][substr($key, 0, 1)]) ? $cache_helper_config['memcache']['mc']['default'] : $cache_helper_config['memcache']['mc'][substr($key, 0, 1)]; - $mc_path = parse_url($mc_path); - $key = ltrim($mc_path['path'], '/').'_'.$prefix.'_'.$key; - if (empty($GLOBALS['mc_'.$mc_path['host']])) { - $GLOBALS['mc_'.$mc_path['host']] = new Memcache(); - $GLOBALS['mc_'.$mc_path['host']]->connect($mc_path['host'], $mc_path['port']); - //设置数据压缩门槛 - //$GLOBALS ['mc_'.$mc_path ['host']]->setCompressThreshold(2048, 0.2); - } - $result = $GLOBALS['mc_'.$mc_path['host']]->set($key, $value, MEMCACHE_COMPRESSED, $timeout); + + // 商业组件缓存 + if (!empty($cfg_bizcore_appid) && !empty($cfg_bizcore_key)) { + $client = new DedeBizClient($cfg_bizcore_hostname, $cfg_bizcore_port); + $client->appid = $cfg_bizcore_appid; + $client->key = $cfg_bizcore_key; + $key = trim($prefix.'_'.$key); + $data = $client->CacheSet($key,serialize($value),$timeout); + $result = unserialize($data->data); + $client->Close(); return $result; } $key = substr($key, 0, 2).'/'.substr($key, 2, 2).'/'.substr($key, 4, 2).'/'.$key; @@ -89,25 +87,25 @@ if (!function_exists('SetCache')) { * @access public * @param string $prefix 前缀 * @param string $key 键 - * @param string $is_memcache 是否为memcache缓存 * @return string */ if (!function_exists('DelCache')) { //删缓存 - function DelCache($prefix, $key, $is_memcache = TRUE) + function DelCache($prefix, $key) { - global $cache_helper_config; + global $cfg_bizcore_appid, $cfg_bizcore_key, $cfg_bizcore_hostname, $cfg_bizcore_port; + $key = md5($key); - //如果启用MC缓存 - if (!empty($cache_helper_config['memcache']) && $cache_helper_config['memcache']['is_mc_enable'] === TRUE && $is_memcache === TRUE) { - $mc_path = empty($cache_helper_config['memcache']['mc'][substr($key, 0, 1)]) ? $cache_helper_config['memcache']['mc']['default'] : $cache_helper_config['memcache']['mc'][substr($key, 0, 1)]; - $mc_path = parse_url($mc_path); - $key = ltrim($mc_path['path'], '/').'_'.$prefix.'_'.$key; - if (empty($GLOBALS['mc_'.$mc_path['host']])) { - $GLOBALS['mc_'.$mc_path['host']] = new Memcache(); - $GLOBALS['mc_'.$mc_path['host']]->connect($mc_path['host'], $mc_path['port']); - } - return $GLOBALS['mc_'.$mc_path['host']]->delete($key); + + // 商业组件缓存 + if (!empty($cfg_bizcore_appid) && !empty($cfg_bizcore_key)) { + $client = new DedeBizClient($cfg_bizcore_hostname, $cfg_bizcore_port); + $client->appid = $cfg_bizcore_appid; + $client->key = $cfg_bizcore_key; + $key = trim($prefix.'_'.$key); + $data = $client->CacheDel($key); + $client->Close(); + return true; } $key = substr($key, 0, 2).'/'.substr($key, 2, 2).'/'.substr($key, 4, 2).'/'.$key; return @unlink(DEDEDATA."/cache/$prefix/$key.php"); diff --git a/src/system/libraries/dedebiz.class.php b/src/system/libraries/dedebiz.class.php index 6d827636..96d115f4 100644 --- a/src/system/libraries/dedebiz.class.php +++ b/src/system/libraries/dedebiz.class.php @@ -153,7 +153,7 @@ class DedeBizClient "parms" => array( "k" => $key, "v" => $val, - "d" => $duration, + "d" => (string)$duration, ) ); return $this->request($req); diff --git a/src/system/taglib/infoguide.lib.php b/src/system/taglib/infoguide.lib.php index 456ee145..bf6c46eb 100755 --- a/src/system/taglib/infoguide.lib.php +++ b/src/system/taglib/infoguide.lib.php @@ -43,13 +43,27 @@ function lib_infoguide(&$ctag, &$refObj) $fields['nativeplace'] .= "\r\n"; $fields['nativeplace'] .= "地区:\r\n"; $fields['nativeplace'] .= "\r\n
\r\n"; - $fields['nativeplace'] .= "\r\n"; - $fields['nativeplace'] .= ''."\r\n"; + $fields['nativeplace'] .= "\r\n"; $fields['infotype'] .= "\r\n"; $fields['infotype'] .= "类型:\r\n"; $fields['infotype'] .= "
\r\n"; - $fields['infotype'] .= "\r\n"; - $fields['infotype'] .= ''."\r\n"; + $fields['infotype'] .= "\r\n"; if (is_array($ctp->CTags)) { foreach ($ctp->CTags as $tagid => $ctag) { if (isset($fields[$ctag->GetName()])) { diff --git a/src/system/taglib/infolink.lib.php b/src/system/taglib/infolink.lib.php index c8e8a96e..0f366cbe 100755 --- a/src/system/taglib/infolink.lib.php +++ b/src/system/taglib/infolink.lib.php @@ -10,12 +10,25 @@ if (!defined('DEDEINC')) exit('dedebiz'); * @link https://www.dedebiz.com */ require_once(DEDEINC.'/enums.func.php'); -require_once(DEDEDATA.'/enums/nativeplace.php'); -require_once(DEDEDATA.'/enums/infotype.php'); + + +$cachefile = DEDESTATIC.'/enums/nativeplace.json'; +$data = json_decode(file_get_contents($cachefile)); +foreach ($data as $key => $value) { + $GLOBALS['em_nativeplaces'][$key] = $value; +} + +$cachefile = DEDESTATIC.'/enums/infotype.json'; +$data = json_decode(file_get_contents($cachefile)); +foreach ($data as $key => $value) { + $GLOBALS['em_infotypes'][$key] = $value; +} + function lib_infolink(&$ctag, &$refObj) { global $dsql, $nativeplace, $infotype, $hasSetEnumJs, $cfg_cmspath, $cfg_mainsite; global $em_nativeplaces, $em_infotypes; + //属性处理 //$attlist="row|12,titlelen|24"; //FillAttsDefault($ctag->CAttribute->Items,$attlist); From 83b9685910abc5a597981da0e1796812cb0dd6a7 Mon Sep 17 00:00:00 2001 From: tianya Date: Sat, 19 Mar 2022 10:24:05 +0800 Subject: [PATCH 3/8] fix --- src/system/archive/archives.class.php | 4 ++-- src/system/taglib/channel/stepselect.lib.php | 13 ++++--------- 2 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/system/archive/archives.class.php b/src/system/archive/archives.class.php index 4cae9136..c86c4ff3 100755 --- a/src/system/archive/archives.class.php +++ b/src/system/archive/archives.class.php @@ -67,8 +67,8 @@ class Archives //如果当前文档不是系统模型,为单表模型 $query = "SELECT arc.*,tp.reid,tp.typedir,ch.addtable FROM `#@__archives` arc - LEFT JOIN #@__arctype tp on tp.id=arc.typeid - LEFT JOIN #@__channeltype as ch on arc.channel = ch.id + LEFT JOIN `#@__arctype` tp on tp.id=arc.typeid + LEFT JOIN `#@__channeltype` as ch on arc.channel = ch.id WHERE arc.id='$aid' "; $this->Fields = $this->dsql->GetOne($query); } else { diff --git a/src/system/taglib/channel/stepselect.lib.php b/src/system/taglib/channel/stepselect.lib.php index 418f3dea..a12dff70 100755 --- a/src/system/taglib/channel/stepselect.lib.php +++ b/src/system/taglib/channel/stepselect.lib.php @@ -16,15 +16,10 @@ function ch_stepselect($fvalue, &$arcTag, &$refObj, $fname = '') function GetEnumsValue2($egroup, $evalue = 0) { if (!isset($GLOBALS['em_'.$egroup.'s'])) { - $cachefile = DEDEDATA.'/enums/'.$egroup.'.php'; - if (!file_exists($cachefile)) { - require_once(DEDEINC.'/enums.func.php'); - WriteEnumsCache(); - } - if (!file_exists($cachefile)) { - return ''; - } else { - require_once($cachefile); + $cachefile = DEDESTATIC.'/enums/'.$egroup.'.json'; + $data = json_decode(file_get_contents($cachefile)); + foreach ($data as $key => $value) { + $GLOBALS['em_'.$egroup.'s'][$key] = $value; } } if ($evalue >= 500) { From 3d567cd5923d065ffefe8f3b94e1f32f6d6d7e2b Mon Sep 17 00:00:00 2001 From: tianya Date: Sat, 19 Mar 2022 10:30:46 +0800 Subject: [PATCH 4/8] Update sys_safetest.htm --- src/admin/templets/sys_safetest.htm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/admin/templets/sys_safetest.htm b/src/admin/templets/sys_safetest.htm index f0a584f1..7ab6512c 100644 --- a/src/admin/templets/sys_safetest.htm +++ b/src/admin/templets/sys_safetest.htm @@ -51,7 +51,7 @@ 安全建议:
- 1、有条件的用户把中 data、templets、uploads、html、special、images、install目录设置为不允许执行脚本,其它目录禁止写入,系统将更安全;
+ 1、有条件的用户把data、system、theme更改为不可对外访问,static、a目录设置为不允许执行脚本,其它目录禁止写入,系统将更安全;
2、本检测程以开发模式为标准,如果您的网站目录包含其它系统,此检测程序可能会产生错误判断;
3、检测程序会跳过对模板缓存目录的检测,为了安全起见,检测完成后建议清空模板缓存 From 35484a060f05d1971c102d7502a64fa9e5947b96 Mon Sep 17 00:00:00 2001 From: tianya Date: Sun, 20 Mar 2022 15:28:08 +0800 Subject: [PATCH 5/8] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E5=AD=90=E7=9B=AE?= =?UTF-8?q?=E5=BD=95=E5=AE=89=E8=A3=85=E9=97=AE=E9=A2=98=EF=BC=8C=E7=A7=BB?= =?UTF-8?q?=E9=99=A4fck=E7=BC=96=E8=BE=91=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/admin/templets/index.htm | 2 +- src/install/templates/step-1.html | 2 +- src/system/inc/inc_fun_funAdmin.php | 20 +------------------- 3 files changed, 3 insertions(+), 21 deletions(-) diff --git a/src/admin/templets/index.htm b/src/admin/templets/index.htm index 73699c22..88ff44b2 100644 --- a/src/admin/templets/index.htm +++ b/src/admin/templets/index.htm @@ -40,7 +40,7 @@