include/enums.func.php
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
<?php if(!defined('DEDEINC')) exit("Request Error!");
/**
* 联动菜单类
*
* @version $Id: enums.func.php 2 13:19 2011-3-24 tianya $
* @package DedeCMS.Libraries
* @copyright Copyright (c) 2007 - 2010, DesDev, Inc.
* @license http://help.dedecms.com/usersguide/license.html
* @link http://www.dedecms.com
*/
// 弱不存在缓存文件则写入缓存
if(!file_exists(DEDEDATA.'/enums/system.php')) WriteEnumsCache();
/**
* 更新枚举缓存
*
* @access public
* @param string $egroup 联动组
* @return string
*/
function WriteEnumsCache($egroup='')
{
global $dsql;
$egroups = array();
if($egroup=='') {
$dsql->SetQuery("SELECT egroup FROM `#@__sys_enum` GROUP BY egroup ");
}
else {
$dsql->SetQuery("SELECT egroup FROM `#@__sys_enum` WHERE egroup='$egroup' GROUP BY egroup ");
}
$dsql->Execute('enum');
while($nrow = $dsql->GetArray('enum')) {
$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");
$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; //三级联动标识
while($nrow = $dsql->GetArray('enum'))
{
fwrite($fp,"\$em_{$egroup}s['{$nrow['evalue']}'] = '{$nrow['ename']}';\r\n");
if($issign==-1) $issign = $nrow['issign'];
if($nrow['issign']==2) $tenum = true;
}
if ($tenum) $dsql->ExecuteNoneQuery("UPDATE `#@__stepselect` SET `issign`=2 WHERE egroup='$egroup'; ");
fwrite($fp,'?'.'>');
fclose($fp);
if(empty($issign)) WriteEnumsJs($egroup);
}
return '成功更新所有枚举缓存!';
}
/**
* 获取联动表单两级数据的父类与子类
后面还有 141 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。