Browse Source

优化处理,程序调整为默认安全

tags/6.2.0
叙述、别离 1 year ago
parent
commit
4323304c3f
40 changed files with 1016 additions and 1037 deletions
  1. +1
    -3
      src/admin/ad_edit.php
  2. +3
    -3
      src/admin/archives_do.php
  3. +1
    -6
      src/admin/config.php
  4. +1
    -1
      src/admin/diy_edit.php
  5. +1
    -1
      src/admin/inc/inc_action_info.php
  6. +2
    -2
      src/admin/index_body.php
  7. +1
    -1
      src/admin/js/main.js
  8. +145
    -153
      src/admin/module_main.php
  9. +1
    -1
      src/admin/sys_payment.php
  10. +1
    -1
      src/admin/templets/album_add.htm
  11. +1
    -1
      src/admin/templets/album_edit.htm
  12. +1
    -1
      src/admin/templets/catalog_add.htm
  13. +1
    -1
      src/admin/templets/catalog_edit.htm
  14. +1
    -1
      src/admin/templets/diy_field_add.htm
  15. +1
    -1
      src/admin/templets/index_body.htm
  16. +1
    -1
      src/admin/templets/member_rank.htm
  17. +1
    -1
      src/admin/templets/mychannel_add.htm
  18. +1
    -1
      src/admin/templets/mychannel_edit.htm
  19. +2
    -2
      src/admin/templets/mychannel_field_add.htm
  20. +1
    -1
      src/admin/templets/mychannel_field_edit.htm
  21. +1
    -1
      src/admin/templets/sys_group_add.htm
  22. +1
    -1
      src/admin/templets/sys_safetest.htm
  23. +1
    -1
      src/apps/advancedsearch.php
  24. +14
    -16
      src/install/index.php
  25. +759
    -759
      src/install/sql-dftables.txt
  26. +51
    -53
      src/install/update.txt
  27. +3
    -3
      src/system/common.inc.php
  28. +1
    -1
      src/system/database/dedesqli.class.php
  29. +1
    -1
      src/system/database/dedesqlite.class.php
  30. +1
    -1
      src/system/dedetag.class.php
  31. +1
    -1
      src/system/dedetemplate.class.php
  32. +1
    -1
      src/system/enums.func.php
  33. +1
    -1
      src/system/helpers/debug.helper.php
  34. +1
    -1
      src/system/helpers/string.helper.php
  35. +1
    -1
      src/system/helpers/time.helper.php
  36. +1
    -1
      src/system/helpers/util.helper.php
  37. +1
    -1
      src/system/taglib/arclist.lib.php
  38. +2
    -2
      src/system/taglib/arclistsg.lib.php
  39. +5
    -7
      src/system/taglib/cattree.lib.php
  40. +1
    -1
      src/system/typelink/typelink.class.php

+ 1
- 3
src/admin/ad_edit.php View File

@@ -25,9 +25,7 @@ if ($dopost == 'delete') {
$showhtml .= "预览:<iframe name='testfrm' frameborder='0' src='ad_edit.php?aid={$aid}&dopost=testjs' id='testfrm' width='100%' height='200'></iframe>";
$row = $dsql->GetOne("SELECT tagname from `#@__myad` WHERE aid='$aid' ");
$showtag = '{'."dede:myad name='{$row['tagname']}'/".'}';
$info = "说明:如果嵌入的是Dede广告标签,那将会解析成标签中的文档到页面,广告修改后需要重新生成<br>
如果不希望重新生成所有页面,则直接调用js代码即可
";
$info = "说明:如果嵌入的是Dede广告标签,那会解析成标签中的文档到页面,广告修改后需要重新生成<br>如果不希望重新生成所有页面,则直接调用js代码即可";
$wintitle = "广告管理-获取广告标签";
$wecome_info = "<a href='ad_main.php'>广告管理</a>::获取js";
$win = new OxWindow();


+ 3
- 3
src/admin/archives_do.php View File

@@ -404,7 +404,7 @@ else if ($dopost == "delArchives") {
$win->AddHidden("dopost", $dopost);
$win->AddHidden("qstr", $qstr);
$win->AddHidden("aid", $aid);
$win->AddTitle("您确定删除,序号<span class='text-primary'>$qstr</span>文档");
$win->AddTitle("您确定删除,序号<span class='text-primary'>$qstr</span>文档");
$winform = $win->GetWindow("ok");
$win->Display();
}
@@ -458,7 +458,7 @@ else if ($dopost == 'clear') {
$win->AddHidden("qstr", $qstr);
$win->AddHidden("aid", $aid);
$win->AddHidden("recycle", $recycle);
$win->AddTitle("回收站将清空<span class='text-primary'>$num</span>篇文档<br>您确定删除,序号<span class='text-primary'>$qstr</span>文档");
$win->AddTitle("清空回收站<span class='text-primary'>$num</span>篇文档<br>您确定删除,序号<span class='text-primary'>$qstr</span>文档");
$winform = $win->GetWindow("ok");
$win->Display();
}
@@ -499,7 +499,7 @@ else if ($dopost == 'del') {
$win->AddHidden("qstr", $qstr);
$win->AddHidden("aid", $aid);
$win->AddHidden("recycle", $recycle);
$win->AddTitle("您确要删除,序号<span class='text-primary'>$qstr</span>文档");
$win->AddTitle("您确要删除,序号<span class='text-primary'>$qstr</span>文档");
$winform = $win->GetWindow("ok");
$win->Display();
}


+ 1
- 6
src/admin/config.php View File

@@ -14,11 +14,6 @@ require_once(DEDEINC.'/userlogin.class.php');
header('Cache-Control:private');
$dsql->safeCheck = FALSE;
$dsql->SetLongLink();
$cfg_admin_skin = 1;//后台管理风格
if (file_exists(DEDEDATA.'/admin/skin.txt')) {
$skin = file_get_contents(DEDEDATA.'/admin/skin.txt');
$cfg_admin_skin = !in_array($skin, array(1, 2, 3, 4)) ? 1 : $skin;
}
//检查CSRF
function CheckCSRF()
{
@@ -107,7 +102,7 @@ function UpDateCatCache()
$fp1Header = "<{$phph}php\r\nglobal \$cfg_Cs;\r\n\$cfg_Cs=array();\r\n";
fwrite($fp1, $fp1Header);
while ($row = $dsql->GetObject()) {
//typename缓存起来
//typename缓存起来
$row->typename = base64_encode($row->typename);
fwrite($fp1, "\$cfg_Cs[{$row->id}]=array({$row->reid},{$row->channeltype},{$row->issend},'{$row->typename}');\r\n");
}


+ 1
- 1
src/admin/diy_edit.php View File

@@ -42,7 +42,7 @@ else if ($dopost == "delete") {
$win->AddHidden("job", "yes");
$win->AddHidden("dopost", $dopost);
$win->AddHidden("diyid", $diyid);
$win->AddTitle("删除所有与该自定义表单相关的文件和数据<br>您确定要删除<span class='text-primary'>\"".$row['name']."\"</span>自定义表单吗");
$win->AddTitle("删除所有自定义表单相关的文件和数据<br>您确定要删除<span class='text-primary'>\"".$row['name']."\"</span>自定义表单吗");
$winform = $win->GetWindow("ok");
$win->Display();
exit();


+ 1
- 1
src/admin/inc/inc_action_info.php View File

@@ -41,7 +41,7 @@ $actionSearch[0] = array(
),
4 => array(
'title' => '文档回收站',
'description' => '如果在"系统配置变量"的"核心设置"中开启了"文档回收站是否开启功能",后台删除的文档会存放在此处',
'description' => '如果在"系统配置变量"的"核心设置"中开启了"文档回收站是否开启功能",后台删除的文档会存放在此处',
'purview' => 'a_List,a_AccList,a_MyList',
'linkurl' => 'recycling.php'
)


+ 2
- 2
src/admin/index_body.php View File

@@ -130,8 +130,8 @@ else if ($dopost == 'setskin') {
));
exit;
} elseif ($dopost == 'safe_mode') {
$safemsg = "系统运行模式为安全模式,模板管理、标签管理、数据库管理、模块管理等功能已暂停,如果您需要这些功能,在/system/common.inc.php文件大约第10行代码找到DEDEBIZ_SAFE_MODE后面值TRUE修改为FALSE恢复使用";
$unsafemsg = "系统运行模式为开发模式,模板管理、标签管理、数据库管理、模块管理等功能已恢复,如果您不需要这些功能,在/system/common.inc.php文件大约第10行代码找到DEDEBIZ_SAFE_MODE后面值FALSE修改为TRUE暂停使用";
$safemsg = "系统运行模式为安全模式,模板管理、标签管理、数据库管理、模块管理等功能已暂停,如果您需要这些功能,在/system/common.inc.php文件大约第10行代码找到DEDEBIZ_SAFE_MODE后面值TRUE修改为FALSE恢复使用";
$unsafemsg = "系统运行模式为开发模式,模板管理、标签管理、数据库管理、模块管理等功能已恢复,如果您不需要这些功能,在/system/common.inc.php文件大约第10行代码找到DEDEBIZ_SAFE_MODE后面值FALSE修改为TRUE暂停使用";
$modeStr = DEDEBIZ_SAFE_MODE? $safemsg : $unsafemsg;
ShowMsg($modeStr, "javascript:;");
exit;


+ 1
- 1
src/admin/js/main.js View File

@@ -413,7 +413,7 @@ function copyToClipboard(txt) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch (e) {
alert("被浏览器拒绝,请在浏览器地址栏输入about:config并回车\n然后signed.applets.codebase_principal_support设置为true");
alert("被浏览器拒绝,请在浏览器地址栏输入about:config并回车\n然后signed.applets.codebase_principal_support设置为true");
}
var clip = Components.classes['@mozilla.org/widget/clipboard;1'].createInstance(Components.interfaces.nsIClipboard);
if (!clip) return;


+ 145
- 153
src/admin/module_main.php View File

@@ -93,7 +93,7 @@ else if ($action == 'view_developoer') {
}
$authAt = date("Y-m-d", $devInfo['auth_at']);
if (!isset($info['dev_id'])) {
$devInfo['dev_name'] = $info['team']."<span style='display:inline-block;margin-left:10px;padding:.25rem .5rem;line-height:1.5;font-size:12px;color:#fff;background:#dc3545;border-color:#dc3545;border-radius:.2rem'>未认证</span>";
$devInfo['dev_name'] = $info['team']."<span class='btn btn-danger btn-sm'>未认证</span>";
$authAt = "未知";
}
ShowMsg("<p>开发者名称:{$devInfo['dev_name']}</p><p>开发者id:{$devInfo['dev_id']}</p><span>认证于:{$authAt}</span>", "-1");
@@ -109,7 +109,7 @@ else if ($action == 'setup') {
ShowMsg("获取模块信息错误,模块文件可能被篡改", -1);
exit;
}
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>(这个模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$filelists = (array)$dm->GetFileLists($hash);
$filelist = '';
$prvdirs = array();
@@ -164,57 +164,56 @@ else if ($action == 'setup') {
$win->AddTitle("<a href='module_main.php'>模块管理</a> &gt; 安装模块:{$infos['name']}");
$win->AddHidden("hash", $hash);
$win->AddHidden("action", 'setupstart');
$msg = "<style>.dtb{border-bottom:1px dotted #eee}</style>
<table width='98%' cellspacing='0' cellpadding='0' class='table'>
<tr>
<td width='260' class='dtb'>模块名称:</td>
<td class='dtb'>{$infos['name']}</td>
</tr>
<tr>
<td class='dtb'>语言:</td>
<td class='dtb'>{$infos['lang']} {$alertMsg}</td>
</tr>
<tr>
<td class='dtb'>文件大小:</td>
<td class='dtb'>{$infos['filesize']}</td>
</tr>
<tr>
<td class='dtb'>开发者id:</td>
<td class='dtb'>{$infos['dev_id']} <a href='{$cfg_biz_dedebizUrl}/developer?dev_id={$infos['dev_id']}' target='_blank' class='btn btn-success btn-sm'>{$s}</a></td>
</tr>
<tr>
<td class='dtb'>发布时间:</td>
<td class='dtb'>{$infos['time']}</td>
</tr>
<tr>
<td class='dtb'>使用协议:</td>
<td class='dtb'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
</tr>
<tr>
<td class='dtb' colspan='2'>
<div class='alert alert-danger mb-0'>注意事项:安装时请确保文件列表中涉及的目录前可写入权限,此外“后台管理目录”、“templets”目录也必须暂时设置可写入权限</div>
</td>
</tr>
<tr>
<td>目录权限检测:<br> ../ 为根目录 <br> ./ 表示当前目录</td>
<td>$prvdir</td>
</tr>
<tr>
<td>模块包含的所有文件列表:</td>
<td></td>
</tr>
<tr>
<td height='160' colspan='2'><textarea name='filelists' id='filelists' class='admin-textarea-xl'>{$filelist}</textarea></td>
</tr>
<tr>
<td>对于已存在文件处理方法:</td>
<td>
<label><input type='radio' name='isreplace' value='1' checked='checked'> 覆盖</label>
<label><input type='radio' name='isreplace' value='3'> 覆盖,保留副本</label>
<label><input type='radio' name='isreplace' value='0'> 保留旧文件</label>
</td>
</tr>
</table>";
$msg = "<table width='98%' cellspacing='0' cellpadding='0' class='table'>
<tr>
<td width='260' class='admin-td'>模块名称:</td>
<td class='admin-td'>{$infos['name']}</td>
</tr>
<tr>
<td class='admin-td'>语言:</td>
<td class='admin-td'>{$infos['lang']} {$alertMsg}</td>
</tr>
<tr>
<td class='admin-td'>文件大小:</td>
<td class='admin-td'>{$infos['filesize']}</td>
</tr>
<tr>
<td class='admin-td'>开发者id:</td>
<td class='admin-td'>{$infos['dev_id']} <a href='{$cfg_biz_dedebizUrl}/developer?dev_id={$infos['dev_id']}' target='_blank' class='btn btn-success btn-sm'>{$s}</a></td>
</tr>
<tr>
<td class='admin-td'>发布时间:</td>
<td class='admin-td'>{$infos['time']}</td>
</tr>
<tr>
<td class='admin-td'>使用协议:</td>
<td class='admin-td'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
</tr>
<tr>
<td class='admin-td' colspan='2'>
<div class='alert alert-danger mb-0'>注意事项:安装时请确保文件列表中涉及的目录前可写入权限,此外“后台管理目录”、“templets”目录也必须暂时设置可写入权限</div>
</td>
</tr>
<tr>
<td>目录权限检测:<br> ../ 为根目录 <br> ./ 表示当前目录</td>
<td>$prvdir</td>
</tr>
<tr>
<td>模块包含的所有文件列表:</td>
<td></td>
</tr>
<tr>
<td colspan='2'><textarea name='filelists' id='filelists' class='admin-textarea-xl'>{$filelist}</textarea></td>
</tr>
<tr>
<td>对于已存在文件处理方法:</td>
<td>
<label><input type='radio' name='isreplace' value='1' checked='checked'> 覆盖</label>
<label><input type='radio' name='isreplace' value='3'> 覆盖,保留副本</label>
<label><input type='radio' name='isreplace' value='0'> 保留旧文件</label>
</td>
</tr>
</table>";
$win->AddMsgItem("$msg");
$winform = $win->GetWindow("ok", "");
$win->Display();
@@ -226,7 +225,7 @@ function SetupRun()
--------------*/
else if ($action == 'setupstart') {
if (!is_writeable($mdir)) {
ShowMsg("目录 {$mdir} 不支持写入,这将导致程序安装没法正常创建", "-1");
ShowMsg("目录<span class='text-primary'>{$mdir}</span>不支持写入,这导致程序安装没法正常创建", "-1");
exit();
}
$dm = new DedeModule($mdir);
@@ -288,7 +287,7 @@ function DelModule();
else if ($action == 'del') {
$dm = new DedeModule($mdir);
$infos = $dm->GetModuleInfo($hash);
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>(这个模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$dev_id = empty($infos['dev_id'])? "<a href='{$cfg_biz_dedebizUrl}/developer' target='_blank' class='btn btn-danger btn-sm'>未认证</a>" : "{$infos['dev_id']} <a href='{$cfg_biz_dedebizUrl}/developer?dev_id={$infos['dev_id']}' target='_blank' class='btn btn-success btn-sm'>已认证</a>";
$win = new OxWindow();
$win->Init("module_main.php", "js/blank.js", "post");
@@ -296,36 +295,35 @@ else if ($action == 'del') {
$win->AddTitle("<a href='module_main.php'>模块管理</a> &gt; 删除模块:{$infos['name']}");
$win->AddHidden('hash', $hash);
$win->AddHidden('action', 'delok');
$msg = "<style>.dtb{border-bottom:1px dotted #eee}</style>
<table width='98%' cellspacing='0' cellpadding='0' class='table'>
$msg = "<table width='98%' cellspacing='0' cellpadding='0' class='table'>
<tr>
<td width='260' class='dtb'>模块名称:</td>
<td class='dtb'>{$infos['name']}</td>
<td width='260' class='admin-td'>模块名称:</td>
<td class='admin-td'>{$infos['name']}</td>
</tr>
<tr>
<td class='dtb'>语言:</td>
<td class='dtb'>{$infos['lang']} {$alertMsg}</td>
<td class='admin-td'>语言:</td>
<td class='admin-td'>{$infos['lang']} {$alertMsg}</td>
</tr>
<tr>
<td class='dtb'>文件大小:</td>
<td class='dtb'>{$infos['filesize']}</td>
<td class='admin-td'>文件大小:</td>
<td class='admin-td'>{$infos['filesize']}</td>
</tr>
<tr>
<td class='dtb'>开发者id:</td>
<td class='dtb'>{$dev_id}</td>
<td class='admin-td'>开发者id:</td>
<td class='admin-td'>{$dev_id}</td>
</tr>
<tr>
<td class='dtb'>发布时间:</td>
<td class='dtb'>{$infos['time']}</td>
<td class='admin-td'>发布时间:</td>
<td class='admin-td'>{$infos['time']}</td>
</tr>
<tr>
<td class='dtb'>使用协议:</td>
<td class='dtb'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
<td class='admin-td'>使用协议:</td>
<td class='admin-td'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
</tr>
<tr>
<td colspan='2'>删除模块仅删除这个模块的安装包文件,如果您已经安装,请执行<a href='module_main.php?hash={$hash}&action=uninstall'>卸载程序</a>来删除</td>
<td colspan='2'>删除模块仅删除这个模块的安装包文件,如果您已经安装,请执行<a href='module_main.php?hash={$hash}&action=uninstall'>卸载程序</a>来删除</td>
</tr>
</table>";
</table>";
$win->AddMsgItem("$msg");
$winform = $win->GetWindow("ok", "");
$win->Display();
@@ -334,7 +332,7 @@ else if ($action == 'del') {
} else if ($action == 'delok') {
$dm = new DedeModule($mdir);
$modfile = $mdir."/".$dm->GetHashFile($hash);
unlink($modfile) or die("删除文件 {$modfile} 失败");
unlink($modfile) or die("删除文件<span class='text-primary'>{$modfile}</span>失败");
ShowMsg("成功删除一个模块文件", "module_main.php");
exit();
}
@@ -345,7 +343,7 @@ else if ($action == 'uninstall') {
$dm = new DedeModule($mdir);
$infos = $dm->GetModuleInfo($hash);
if ($infos['url'] == '') $infos['url'] = ' ';
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>(这个模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$filelists = (array)$dm->GetFileLists($hash);
$filelist = '';
foreach ($filelists as $v) {
@@ -361,49 +359,46 @@ else if ($action == 'uninstall') {
$win->AddTitle("<a href='module_main.php'>模块管理</a> &gt; 卸载模块:{$infos['name']}");
$win->AddHidden("hash", $hash);
$win->AddHidden("action", 'uninstallok');
$msg = "<style>.dtb{border-bottom:1px dotted #eee}</style>
<table width='98%' cellspacing='0' cellpadding='0' class='table'>
<tr>
<td width='260' class='dtb'>模块名称:</td>
<td class='dtb'>{$infos['name']}</td>
</tr>
<tr>
<td class='dtb'>语言:</td>
<td class='dtb'>{$infos['lang']} {$alertMsg}</td>
</tr>
<tr>
<td class='dtb'>文件大小:</td>
<td class='dtb'>{$infos['filesize']}</td>
</tr>
<tr>
<td class='dtb'>开发者id:</td>
<td class='dtb'>{$dev_id}</td>
</tr>
<tr>
<td class='dtb'>发布时间:</td>
<td class='dtb'>{$infos['time']}</td>
</tr>
<tr>
<td class='dtb'>使用协议:</td>
<td class='dtb'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
</tr>
<tr>
<td>模块包含的文件(文件路径相对于当前目录)</td>
<td></td>
</tr>
<tr>
<td height='160' colspan='2'>
<textarea name='filelists' id='filelists' class='admin-textarea-xl'>{$filelist}</textarea>
</td>
</tr>
<tr>
<td>对于模块的文件处理方法:</td>
<td>
<label><input type='radio' name='isreplace' value='0' checked='checked'> 手工删除文件,仅运行卸载程序</label>
<label><input type='radio' name='isreplace' value='2'> 删除模块的所有文件</label>
</td>
</tr>
</table>";
$msg = "<table width='98%' cellspacing='0' cellpadding='0' class='table'>
<tr>
<td width='260' class='admin-td'>模块名称:</td>
<td class='admin-td'>{$infos['name']}</td>
</tr>
<tr>
<td class='admin-td'>语言:</td>
<td class='admin-td'>{$infos['lang']} {$alertMsg}</td>
</tr>
<tr>
<td class='admin-td'>文件大小:</td>
<td class='admin-td'>{$infos['filesize']}</td>
</tr>
<tr>
<td class='admin-td'>开发者id:</td>
<td class='admin-td'>{$dev_id}</td>
</tr>
<tr>
<td class='admin-td'>发布时间:</td>
<td class='admin-td'>{$infos['time']}</td>
</tr>
<tr>
<td class='admin-td'>使用协议:</td>
<td class='admin-td'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
</tr>
<tr>
<td>模块包含的文件(文件路径相对于当前目录)</td>
<td></td>
</tr>
<tr>
<td colspan='2'><textarea name='filelists' id='filelists' class='admin-textarea-xl'>{$filelist}</textarea></td>
</tr>
<tr>
<td>对于模块的文件处理方法:</td>
<td>
<label><input type='radio' name='isreplace' value='0' checked='checked'> 手工删除文件,仅运行卸载程序</label>
<label><input type='radio' name='isreplace' value='2'> 删除模块的所有文件</label>
</td>
</tr>
</table>";
$win->AddMsgItem("$msg");
$winform = $win->GetWindow("ok", "");
$win->Display();
@@ -472,7 +467,7 @@ else if ($action == 'view') {
$dm = new DedeModule($mdir);
$infos = $dm->GetModuleInfo($hash);
if ($infos['url'] == '') $infos['url'] = ' ';
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>(这个模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$alertMsg = ($infos['lang'] == $cfg_soft_lang ? '' : '<br>模块的语言编码与您系统的编码不一致,请向开发者确认它的兼容性');
$filelists = (array)$dm->GetFileLists($hash);
$filelist = '';
$setupinfo = '';
@@ -502,42 +497,39 @@ else if ($action == 'view') {
$win->Init("", "js/blank.js", "");
$wecome_info = "模块管理";
$win->AddTitle("<a href='module_main.php'>模块管理</a> &gt; 模块详情:{$infos['name']}");
$msg = "<style>.dtb{border-bottom:1px dotted #eee}</style>
<table width='98%' cellspacing='0' cellpadding='0'>
<tr>
<td width='260' class='dtb'>模块名称:</td>
<td class='dtb'>{$infos['name']}</td>
</tr>
<tr>
<td class='dtb'>语言:</td>
<td class='dtb'>{$infos['lang']} {$alertMsg}</td>
</tr>
<tr>
<td class='dtb'>文件大小:</td>
<td class='dtb'>{$infos['filesize']}</td>
</tr>
<tr>
<td class='dtb'>开发者id:</td>
<td class='dtb'>{$dev_id}</td>
</tr>
<tr>
<td class='dtb'>发布时间:</td>
<td class='dtb'>{$infos['time']}</td>
</tr>
<tr>
<td class='dtb'>使用协议:</td>
<td class='dtb'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
</tr>
<tr>
<td>模块包含的文件(文件路径相对于当前目录)</td>
<td></td>
</tr>
<tr>
<td height='160' colspan='2'>
<textarea name='filelists' id='filelists' class='admin-textarea-xl'>{$filelist}</textarea>
</td>
</tr>
</table>";
$msg = "<table width='98%' cellspacing='0' cellpadding='0'>
<tr>
<td width='260' class='admin-td'>模块名称:</td>
<td class='admin-td'>{$infos['name']}</td>
</tr>
<tr>
<td class='admin-td'>语言:</td>
<td class='admin-td'>{$infos['lang']} {$alertMsg}</td>
</tr>
<tr>
<td class='admin-td'>文件大小:</td>
<td class='admin-td'>{$infos['filesize']}</td>
</tr>
<tr>
<td class='admin-td'>开发者id:</td>
<td class='admin-td'>{$dev_id}</td>
</tr>
<tr>
<td class='admin-td'>发布时间:</td>
<td class='admin-td'>{$infos['time']}</td>
</tr>
<tr>
<td class='admin-td'>使用协议:</td>
<td class='admin-td'><a href='module_main.php?action=showreadme&hash={$hash}' target='_blank' class='btn btn-success btn-sm'>浏览</a></td>
</tr>
<tr>
<td>模块包含的文件(文件路径相对于当前目录)</td>
<td></td>
</tr>
<tr>
<td colspan='2'><textarea name='filelists' id='filelists' class='admin-textarea-xl'>{$filelist}</textarea></td>
</tr>
</table>";
$win->AddMsgItem("$msg");
$winform = $win->GetWindow('hand', '');
$win->Display();


+ 1
- 1
src/admin/sys_payment.php View File

@@ -68,7 +68,7 @@ class Array2form
foreach ($items as $v) {
$v = trim($v);
if ($v == '') continue;
//统一中文冒号转为英文
//统一中文冒号转为英文
$v = str_replace(":", ":", $v);
if (preg_match("/[\:]/", $v)) {
list($value, $name) = preg_split('#:#', $v);


+ 1
- 1
src/admin/templets/album_add.htm View File

@@ -35,7 +35,7 @@
if (!f.type.match('image.*')) {
continue;
}
//图片渲染到浏览器
//图片渲染到浏览器
var reader = new FileReader();
reader.onload = (function (theFile) {
return function (e) {


+ 1
- 1
src/admin/templets/album_edit.htm View File

@@ -35,7 +35,7 @@
if (!f.type.match('image.*')) {
continue;
}
//图片渲染到浏览器
//图片渲染到浏览器
var reader = new FileReader();
reader.onload = (function (theFile) {
return function (e) {


+ 1
- 1
src/admin/templets/catalog_add.htm View File

@@ -340,7 +340,7 @@
}
}
?>
</select>(按Ctrl多选,不选系统调用全部分类,在<a href="stepselect_main.php">“联动类别管理”</a>中管理)
</select>(按Ctrl多选,不选系统调用全部分类,在<a href="stepselect_main.php">“联动类别管理”</a>中管理)
</td>
</tr>
</table>


+ 1
- 1
src/admin/templets/catalog_edit.htm View File

@@ -292,7 +292,7 @@
}
}
?>
</select>(按Ctrl多选,不选系统调用全部分类,在<a href='stepselect_main.php'>“联动类别管理”</a>中管理)
</select>(按Ctrl多选,不选系统调用全部分类,在<a href='stepselect_main.php'>“联动类别管理”</a>中管理)
</td>
</tr>
</table>


+ 1
- 1
src/admin/templets/diy_field_add.htm View File

@@ -78,7 +78,7 @@
</tr>
<tr>
<td colspan="2">
<div class="alert alert-danger mb-0">所有填写的文档不允许包含双引号[&quot;],否则配置无法写入</div>
<div class="alert alert-danger mb-0">所有填写的文档不允许包含双引号[&quot;],否则配置无法写入</div>
</td>
</tr>
<tr>


+ 1
- 1
src/admin/templets/index_body.htm View File

@@ -148,7 +148,7 @@
<span id="step1Msg">对比版本更改的文件</span>
</div>
<div id="stepArea2" class="stepArea">
<p>本更新提供了重要的安全性更新,建议所有用户升级,软件更新覆盖以下文件,请做好备份。</p>
<p>本更新提供了重要的安全性更新,建议所有用户升级,软件更新覆盖以下文件,请做好备份。</p>
<div id="_fileList">正在加载</div>
</div>
<div id="stepArea3" class="stepArea">


+ 1
- 1
src/admin/templets/member_rank.htm View File

@@ -17,7 +17,7 @@
</tr>
<tr>
<td colspan="6">
<div class="alert alert-info mb-0">级别名称和级别值:注册会员这个级别不能删除,否则会员系统会无法正常使用某些功能</div>
<div class="alert alert-info mb-0">级别名称和级别值:注册会员这个级别不能删除,否则会员系统会无法正常使用某些功能</div>
</td>
</tr>
<tr align="center">


+ 1
- 1
src/admin/templets/mychannel_add.htm View File

@@ -62,7 +62,7 @@
</td>
</tr>
<tr>
<td>模型性质:<span id="help5">如果为系统模型禁止删除,此选项不可修改,对于独立模型,系统强制创建字段aid,typeid,senddate,title,mid,channel,独立模型的文档必须点击栏目进入列表才能管理</span></td>
<td>模型性质:<span id="help5">如果为系统模型禁止删除,此选项不可修改,对于独立模型,系统强制创建字段aid,typeid,senddate,title,mid,channel,独立模型的文档必须点击栏目进入列表才能管理</span></td>
<td>
<label><input type="radio" name="issystem" id="is1" value="0" onClick="PublicDefault()" checked="1"> 自动模型</label>
<label><input type="radio" name="issystem" id="is2" value="1" onClick="PublicDefault()"> 系统模型</label>


+ 1
- 1
src/admin/templets/mychannel_edit.htm View File

@@ -47,7 +47,7 @@
<?php if ($row['issystem'] == 1) {?>
<tr>
<td colspan="2" class="border-top-0">
<div class="alert alert-danger mb-0">您目前所展开的是系统模型,系统模型一般对发布程序和管理程序已经固化,如果您胡乱修改系统模型会导致使用这种文档类型的栏目可能崩溃</div>
<div class="alert alert-danger mb-0">您目前所展开的是系统模型,系统模型一般对发布程序和管理程序已经固化,如果您胡乱修改系统模型会导致使用这种文档类型的栏目可能崩溃</div>
</td>
</tr>
<?php }?>


+ 2
- 2
src/admin/templets/mychannel_field_add.htm View File

@@ -99,7 +99,7 @@
</tr>
<tr>
<td colspan="2">
<div class="alert alert-danger mb-0">所有填写的文档不允许包含双引号[&quot;],否则配置无法写入</div>
<div class="alert alert-danger mb-0">所有填写的文档不允许包含双引号[&quot;],否则配置无法写入</div>
</td>
</tr>
<tr>
@@ -120,7 +120,7 @@
<tr>
<td>前台参数:</td>
<td>
<label><input type="checkbox" name="islist" id="islist" value="1"> 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项使列表查询变慢,如无必要请不要选择)</label><br>
<label><input type="checkbox" name="islist" id="islist" value="1"> 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项使列表查询变慢,如无必要请不要选择)</label><br>
<label><input type="checkbox" name="notsend" id="notsend" value="1"> 前台投稿及采集规则禁用本字段</label>
</td>
</tr>


+ 1
- 1
src/admin/templets/mychannel_field_edit.htm View File

@@ -103,7 +103,7 @@
<tr>
<td>前台参数:</td>
<td>
<label><input type="checkbox" name="islist" id="islist" value="1" <?php echo ($ctag->GetAtt('islist')==1 ? " checked":"");?>> 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项使列表查询变慢,如无必要请不要选择)</label><br>
<label><input type="checkbox" name="islist" id="islist" value="1" <?php echo ($ctag->GetAtt('islist')==1 ? " checked":"");?>> 使字段可以在列表的底层模板中获得(自定义字段默认仅能在文档模板显示,启用此选项使列表查询变慢,如无必要请不要选择)</label><br>
<label><input type="checkbox" name="notsend" id="notsend" value="1" <?php echo ($ctag->GetAtt('notsend')==1 ? " checked":"");?>> 前台投稿及采集规则禁用本字段</label>
</td>
</tr>


+ 1
- 1
src/admin/templets/sys_group_add.htm View File

@@ -21,7 +21,7 @@
</tr>
<tr>
<td>级别值:</td>
<td><input type="text" name="rankid" id="rankid" class="admin-input-sm">(数字,系统已占用的级别值:<?php $dsql->SetQuery("Select `rank` From `#@__admintype`");$dsql->Execute();while($row = $dsql->GetObject()) echo '<span class="text-primary">'.$row->rank.'</span>';?>,级别值必须小于10,超过或等于10所有权限设置无效,如果10个组不能完全满足您的要求,允许使用小数)
<td><input type="text" name="rankid" id="rankid" class="admin-input-sm">(数字,系统已占用的级别值:<?php $dsql->SetQuery("Select `rank` From `#@__admintype`");$dsql->Execute();while($row = $dsql->GetObject()) echo '<span class="text-primary">'.$row->rank.'</span>';?>,级别值必须小于10,超过或等于10所有权限设置无效,如果10个组不能完全满足您的要求,允许使用小数)
</td>
</tr>
<?php


+ 1
- 1
src/admin/templets/sys_safetest.htm View File

@@ -60,7 +60,7 @@
</tr>
<tr>
<td>检测结果:结果仅供参考,请务必查看源码后才删除非法文件<br>
安全建议:1、有条件的用户把data、system、theme修改为不可对外访问,static、a目录设置为不允许执行脚本,其它目录禁止写入,系统更安全;2、本检测程以开发模式为标准,如果您的网站目录包含其它系统,此检测程序可能会产生错误判断;3、检测程序会跳过对模板缓存目录的检测,为了安全起见,检测完成后建议清空模板缓存</td>
安全建议:1、有条件的用户把data、system、theme修改为不可对外访问,static、a目录设置为不允许执行脚本,其它目录禁止写入,系统更安全;2、本检测程以开发模式为标准,如果您的网站目录包含其它系统,此检测程序可能会产生错误判断;3、检测程序会跳过对模板缓存目录的检测,为了安全起见,检测完成后建议清空模板缓存</td>
</tr>
<tr>
<td align="center" bgcolor="#e9ecef">


+ 1
- 1
src/apps/advancedsearch.php View File

@@ -172,7 +172,7 @@ if (empty($sql)) {
$query = $sql;
}
$sql = urlencode($sql);
//生成sql的唯一序列化字符串,并将sql语句记录到session中去
//生成sql的唯一序列化字符串,并sql语句记录到session中去
$sqlhash = md5($sql);
$_SESSION[$sqlhash] = $sql;
$dlist = new DataListCP();


+ 14
- 16
src/install/index.php View File

@@ -28,7 +28,7 @@ foreach(Array('_GET','_POST','_COOKIE') as $_request)
require_once(DEDEINC.'/common.func.php');
if (file_exists(INSLOCKFILE))
{
die(DedeAlert("程序已运行安装,如果您确定要重新安装,请先删除 /install/install_lock.txt",ALERT_DANGER));
die(DedeAlert("完成软件安装,如果您要重新安装,安装目录找到install文件夹,然后删除install_lock.txt文件",ALERT_DANGER));
}
if (empty($step))
{
@@ -43,32 +43,31 @@ if ($step==1)
{
$arrMsg = array();
if (version_compare(PHP_VERSION, '5.3.0', '<')) {
$arrMsg[] = "PHP请升级到5.3及以上版本,低版本PHP环境无法正常使用本系统";
$arrMsg[] = "PHP请升级到5.3及以上版本,低版本PHP环境无法正常使用本系统";
}
if (!extension_loaded("openssl")) {
$arrMsg[] = "OpenSSL未开启,无法完成<a href='https://www.dedebiz.com' target='_blank'>DedeBIZ商业支持</a>";
$arrMsg[] = "OpenSSL未开启,无法完成<a href='https://www.dedebiz.com' target='_blank'>DedeBIZ商业支持</a>";
}
if (!extension_loaded("sockets")) {
$arrMsg[] = "Sockets未开启,无法安装<a href='https://www.dedebiz.com/download#dedebiz' target='_blank'>DedeBIZ商业组件</a>";
$arrMsg[] = "Sockets未开启,无法安装<a href='https://www.dedebiz.com/download#dedebiz' target='_blank'>DedeBIZ商业组件</a>";
}
if (!extension_loaded("fileinfo")) {
$arrMsg[] = "Fileinfo未开启,无法正常进行文件上传";
$arrMsg[] = "Fileinfo未开启,无法正常进行文件上传";
}
if (!function_exists('mysqli_connect')) {
$arrMsg[] = "MySQL不支持,无法使用本系统";
$arrMsg[] = "MySQL不支持,无法使用本系统";
}
if (!extension_loaded("sqlite3")) {
$arrMsg[] = "SQLite3未开启,无法正常使用SQLite数据库";
$arrMsg[] = "SQLite3未开启,无法正常使用SQLite数据库";
}
if (!extension_loaded("gd")) {
$arrMsg[] = "GD未开启,无法使用验证码、二维码、图片水印等功能";
$arrMsg[] = "GD未开启,无法使用验证码、二维码、图片水印等功能";
}
if (!empty($_SERVER['REQUEST_URI']))
$scriptName = $_SERVER['REQUEST_URI'];
else
$scriptName = $_SERVER['PHP_SELF'];
$basepath = preg_replace("#\/install(.*)$#i", '', $scriptName);

if (!empty($_SERVER['HTTP_HOST']))
$baseurl = $proto.$_SERVER['HTTP_HOST'];
else
@@ -95,7 +94,6 @@ else if ($step==2)
if (!in_array($dbtype,array("mysql", "sqlite"))) {
die(DedeAlert("当前数据库类型不支持", ALERT_DANGER));
}
if (!empty($_SERVER['HTTP_HOST']))
$dfbaseurl = $proto.$_SERVER['HTTP_HOST'];
else
@@ -266,16 +264,16 @@ else if ($step==2)
}
//增加管理员帐号
$adminquery = "INSERT INTO `{$dbprefix}admin` (`id`,`usertype`,`userid`,`$pfd`,`uname`,`tname`,`email`,`typeid`,`logintime`,`loginip`) VALUES (1,10,'$adminuser','".$apwd."','admin','','',0,'".time()."','127.0.0.1');";
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
//关连前台会员帐号
$adminquery = "INSERT INTO `{$dbprefix}member` (`mid`,`mtype`,`userid`,`{$pfd}`,`uname`,`sex`,`rank`,`money`,`email`,`scores`,`matt`,`face`,`safequestion`,`safeanswer`,`jointime`,`joinip`,`logintime`,`loginip`) VALUES ('1','个人','$adminuser','".$upwd."','$adminuser','男','100','0','','10000','10','','0','','".time()."','','0',''); ";
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
$adminquery = "INSERT INTO `{$dbprefix}member_person` (`mid`,`onlynet`,`sex`,`uname`,`qq`,`msn`,`tel`,`mobile`,`place`,`oldplace`,`birthday`,`star`,`income`,`education`,`height`,`bodytype`,`blood`,`vocation`,`smoke`,`marital`,`house`,`drink`,`datingtype`,`language`,`nature`,`lovemsg`,`address`,`uptime`) VALUES ('1','1','男','{$adminuser}','','','','','0','0','1980-01-01','1','0','0','160','0','0','0','0','0','0','0','0','','','','','0'); ";
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
$adminquery = "INSERT INTO `{$dbprefix}member_tj` (`mid`,`article`,`album`,`archives`,`homecount`,`pagecount`,`feedback`,`friend`,`stow`) VALUES ('1','0','0','0','0','0','0','0','0'); ";
$dbtype == 'sqlite'? $db->exec($adminquery): mysql_query($adminquery,$conn);
$dbtype == 'sqlite'? $db->exec($adminquery): mysql_query($adminquery,$conn);
$adminquery = "INSERT INTO `{$dbprefix}member_space` (`mid`,`pagesize`,`matt`,`spacename`,`spacelogo`,`spacestyle`,`sign`,`spacenews`) VALUES ('1','10','0','{$adminuser}的空间','','person','',''); ";
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
$dbtype == 'sqlite'? $db->exec($adminquery) : mysql_query($adminquery,$conn);
//锁定程序安装
$fp = fopen(INSLOCKFILE,'w');
fwrite($fp,'ok');
@@ -299,7 +297,7 @@ else if ($step==10)
if (empty($dbname)){
$info = "信息正确";
} else {
$info = mysql_select_db($dbname,$conn)? "数据库已经存在,系统覆盖数据库": "数据库不存在,系统自动创建";
$info = mysql_select_db($dbname,$conn)? "数据库已经存在,系统覆盖数据库": "数据库不存在,系统自动创建";
}
$result = array(
"code" => 200,


+ 759
- 759
src/install/sql-dftables.txt
File diff suppressed because it is too large
View File


+ 51
- 53
src/install/update.txt View File

@@ -5,70 +5,68 @@ ALTER TABLE `#@__tagindex` ADD COLUMN `title` VARCHAR(255) NULL DEFAULT NULL AFT
ALTER TABLE `#@__tagindex` ADD COLUMN `tag_pinyin` VARCHAR(255) NULL DEFAULT NULL AFTER `title`;

-- 6.0.3
ALTER TABLE `#@__tagindex`
ADD COLUMN `uptime` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `addtime`,
ADD COLUMN `mktime` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `uptime`;
ALTER TABLE `#@__feedback`
ADD COLUMN `fid` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `aid`;
ALTER TABLE `#@__feedback`
ADD COLUMN `replycount` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `dtime`;
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ( 'cfg_feedback_msglen', '评论内容字数限定', 5, 'number', '200');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ( 'cfg_auth_code', '商业版授权码', 1, 'string', '');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ( 'cfg_bizcore_hostname', 'DedeBIZ Core地址', 1, 'string', '127.0.0.1');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ( 'cfg_bizcore_port', 'DedeBIZ Core端口', 1, 'number', '8181');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ( 'cfg_bizcore_appid', 'DedeBIZ Core应用ID', 1, 'string', '');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ( 'cfg_bizcore_key', 'DedeBIZ Core通信密钥', 1, 'string', '');
ALTER TABLE `#@__tagindex`
ADD COLUMN `uptime` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `addtime`,
ADD COLUMN `mktime` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `uptime`;
ALTER TABLE `#@__feedback` ADD COLUMN `fid` INT UNSIGNED NOT NULL DEFAULT 0 AFTER `aid`;
ALTER TABLE `#@__feedback` ADD COLUMN `replycount` INT(10) UNSIGNED NOT NULL DEFAULT '0' AFTER `dtime`;
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_feedback_msglen', '评论内容字数限定', 5, 'number', '200');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_auth_code', '商业版授权码', 1, 'string', '');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_bizcore_hostname', 'DedeBIZ Core地址', 1, 'string', '127.0.0.1');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_bizcore_port', 'DedeBIZ Core端口', 1, 'number', '8181');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_bizcore_appid', 'DedeBIZ Core应用ID', 1, 'string', '');
INSERT INTO `#@__sysconfig` (`varname`, `info`, `groupid`, `type`, `value`) VALUES ('cfg_bizcore_key', 'DedeBIZ Core通信密钥', 1, 'string', '');
CREATE TABLE `#@__feedback_goodbad` (
`fgid` INT(11) NOT NULL AUTO_INCREMENT,
`mid` INT(11) NOT NULL DEFAULT '0',
`fid` INT(11) NOT NULL DEFAULT '0',
`fgtype` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '0:good 1:bad',
PRIMARY KEY (`fgid`)
`fgid` INT(11) NOT NULL AUTO_INCREMENT,
`mid` INT(11) NOT NULL DEFAULT '0',
`fid` INT(11) NOT NULL DEFAULT '0',
`fgtype` TINYINT(4) NOT NULL DEFAULT '0' COMMENT '0:good 1:bad',
PRIMARY KEY (`fgid`)
) ENGINE=MyISAM;
CREATE TABLE `#@__search_limits` (
`ip` VARCHAR(200) NOT NULL,
`searchtime` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`ip`)
`ip` VARCHAR(200) NOT NULL,
`searchtime` INT(11) NULL DEFAULT NULL,
PRIMARY KEY (`ip`)
) ENGINE=MyISAM;

-- 6.1.0
ALTER TABLE `#@__arctype`
ADD COLUMN `namegk` varchar(255) NULL AFTER `typename`,
ADD COLUMN `enname` varchar(255) NULL AFTER `namegk`,
ADD COLUMN `ennamegk` varchar(255) NULL AFTER `enname`,
ADD COLUMN `litpic` varchar(255) NULL AFTER `ennamegk`,
ADD COLUMN `litimg` varchar(255) NULL AFTER `litpic`;
ADD COLUMN `namegk` varchar(255) NULL AFTER `typename`,
ADD COLUMN `enname` varchar(255) NULL AFTER `namegk`,
ADD COLUMN `ennamegk` varchar(255) NULL AFTER `enname`,
ADD COLUMN `litpic` varchar(255) NULL AFTER `ennamegk`,
ADD COLUMN `litimg` varchar(255) NULL AFTER `litpic`;

-- 6.1.7
CREATE TABLE `#@__statistics` (
`id` int NOT NULL AUTO_INCREMENT,
`sdate` int DEFAULT NULL COMMENT '记录日期',
`pv` int DEFAULT NULL COMMENT 'PV',
`uv` int DEFAULT NULL COMMENT 'UV',
`ip` int DEFAULT NULL COMMENT 'IP',
`vv` int DEFAULT NULL COMMENT 'vv',
PRIMARY KEY (`id`)
`id` int NOT NULL AUTO_INCREMENT,
`sdate` int DEFAULT NULL COMMENT '记录日期',
`pv` int DEFAULT NULL COMMENT 'PV',
`uv` int DEFAULT NULL COMMENT 'UV',
`ip` int DEFAULT NULL COMMENT 'IP',
`vv` int DEFAULT NULL COMMENT 'vv',
PRIMARY KEY (`id`)
) ENGINE=MyISAM;
CREATE TABLE `#@__statistics_detail` (
`id` int NOT NULL AUTO_INCREMENT,
`t` int DEFAULT NULL COMMENT 'unixtime',
`created_date` int DEFAULT NULL COMMENT '日期,20220326',
`created_hour` int DEFAULT NULL COMMENT '时间,12',
`dduuid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'uuid',
`ssid` varchar(32) DEFAULT NULL COMMENT 'session_id',
`ip` varchar(46) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'ip地址',
`browser` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '浏览器',
`device` varchar(50) DEFAULT NULL COMMENT '设备',
`device_type` varchar(10) DEFAULT NULL COMMENT '设备类型',
`os` varchar(20) DEFAULT NULL COMMENT '操作系统',
`url_type` tinyint DEFAULT NULL COMMENT '访问地址类型:0:未知 1:列表 2:文档 3:搜索 4:TAG',
`typeid` int DEFAULT NULL COMMENT '栏目id',
`aid` int DEFAULT NULL COMMENT '文档ID',
`value` varchar(50) DEFAULT NULL COMMENT '值',
PRIMARY KEY (`id`),
KEY `idx_created_date_dduuid` (`created_date`,`dduuid`),
KEY `idx_created_date_ip` (`created_date`,`ip`),
KEY `idx_created_date_ssid` (`created_date`,`ssid`)
`id` int NOT NULL AUTO_INCREMENT,
`t` int DEFAULT NULL COMMENT 'unixtime',
`created_date` int DEFAULT NULL COMMENT '日期,20220326',
`created_hour` int DEFAULT NULL COMMENT '时间,12',
`dduuid` varchar(32) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'uuid',
`ssid` varchar(32) DEFAULT NULL COMMENT 'session_id',
`ip` varchar(46) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT 'ip地址',
`browser` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '浏览器',
`device` varchar(50) DEFAULT NULL COMMENT '设备',
`device_type` varchar(10) DEFAULT NULL COMMENT '设备类型',
`os` varchar(20) DEFAULT NULL COMMENT '操作系统',
`url_type` tinyint DEFAULT NULL COMMENT '访问地址类型:0:未知 1:列表 2:文档 3:搜索 4:TAG',
`typeid` int DEFAULT NULL COMMENT '栏目id',
`aid` int DEFAULT NULL COMMENT '文档ID',
`value` varchar(50) DEFAULT NULL COMMENT '值',
PRIMARY KEY (`id`),
KEY `idx_created_date_dduuid` (`created_date`,`dduuid`),
KEY `idx_created_date_ip` (`created_date`,`ip`),
KEY `idx_created_date_ssid` (`created_date`,`ssid`)
) ENGINE=MyISAM;
ALTER TABLE `#@__addonarticle` MODIFY COLUMN `userip` char(46) NOT NULL DEFAULT '' AFTER `templet`;
ALTER TABLE `#@__addonimages` MODIFY COLUMN `userip` char(46) NOT NULL DEFAULT '' AFTER `templet`;
@@ -106,4 +104,4 @@ DELETE FROM `#@__sysconfig` WHERE `#@__sysconfig`.`varname` = 'cfg_vdcode_member
ALTER TABLE `#@__arctype` CHANGE COLUMN `iscross` `cross` tinyint(1) NOT NULL DEFAULT 0 AFTER `ishidden`;
ALTER TABLE `#@__admin` ADD COLUMN `loginerr` tinyint NULL DEFAULT 0 AFTER `loginip`;
ALTER TABLE `#@__member` ADD COLUMN `loginerr` tinyint NULL DEFAULT 0 AFTER `checkmail`;
ALTER TABLE `#@__member` ADD COLUMN `send_max` int NULL DEFAULT 0 AFTER `loginerr`;
ALTER TABLE `#@__member` ADD COLUMN `send_max` int NULL DEFAULT 0 AFTER `loginerr`;

+ 3
- 3
src/system/common.inc.php View File

@@ -6,9 +6,9 @@
* @license https://www.dedebiz.com/license
* @link https://www.dedebiz.com
*/
//如果启用安全模式,后台将禁用例如:模板管理、标签管理、数据库管理等存在较高安全风险的功能,关闭安全模式`TRUE`改为`FALSE`
define('DEDEBIZ_SAFE_MODE', FALSE);
//生产环境使用`production`,如果采用`dev`模式,会有一些php的报错信息提示,便于开发调试
//系统默认运行模式为安全模式,模板管理、标签管理、数据库管理、模块管理等功能已暂停,如果您需要这些功能,DEDEBIZ_SAFE_MODE后面值`TRUE`改为`FALSE`恢复使用
define('DEDEBIZ_SAFE_MODE', TRUE);
//生产环境使用`production`,如果采用`dev`模式,会有一些php的报错信息提示,于开发调试
if (!defined('DEDE_ENVIRONMENT')) {
define('DEDE_ENVIRONMENT', 'production');
}


+ 1
- 1
src/system/database/dedesqli.class.php View File

@@ -436,7 +436,7 @@ class DedeSqli
//获取上一步INSERT操作产生的id
function GetLastID()
{
//如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysqli_insert_id() 返回的值不正确
//如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysqli_insert_id() 返回的值不正确
//可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 来替代
//$rs = mysqli_query($this->linkID, "Select LAST_INSERT_ID() as lid");
//$row = mysqli_fetch_array($rs);


+ 1
- 1
src/system/database/dedesqlite.class.php View File

@@ -417,7 +417,7 @@ class DedeSqlite
//获取上一步INSERT操作产生的id
function GetLastID()
{
//如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysqli_insert_id() 返回的值不正确
//如果 AUTO_INCREMENT 的列的类型是 BIGINT,则 mysqli_insert_id() 返回的值不正确
//可以在 SQL 查询中用 MySQL 内部的 SQL 函数 LAST_INSERT_ID() 来替代
//$rs = mysqli_query($this->linkID, "Select LAST_INSERT_ID() as lid");
//$row = mysqli_fetch_array($rs);


+ 1
- 1
src/system/dedetag.class.php View File

@@ -683,7 +683,7 @@ class DedeTagParse
//遍历模板字符串,请取标记及其属性信息
for ($i = 0; $i < $sourceLen; $i++) {
$tTagName = '';
//如果不进行此判断,无法识别相连的两个标记
//如果不进行此判断,无法识别相连的两个标记
if ($i - 1 >= 0) {
$ss = $i - 1;
} else {


+ 1
- 1
src/system/dedetemplate.class.php View File

@@ -492,7 +492,7 @@ class DedeTemplate
$tswLen = strlen($tagStartWord);
for ($i = 0; $i < $sourceLen; $i++) {
$ttagName = '';
//如果不进行此判断,无法识别相连的两个标记
//如果不进行此判断,无法识别相连的两个标记
if ($i - 1 >= 0) {
$ss = $i - 1;
} else {


+ 1
- 1
src/system/enums.func.php View File

@@ -141,7 +141,7 @@ function GetEnumsJs($egroup)
$jsCode = "";
$jsCode .= "em_{$egroup}s=new Array();\r\n";
foreach (${'em_'.$egroup.'s'} as $k => $v) {
//JS中将3级类目存放到第二个key中去
//js中3级类目存放到第二个key中去
if (preg_match("#([0-9]{1,})\.([0-9]{1,})#", $k, $matchs)) {
$valKey = $matchs[1] + $matchs[2] / 1000;
$jsCode .= "em_{$egroup}s[{$valKey}]='$v';\r\n";


+ 1
- 1
src/system/helpers/debug.helper.php View File

@@ -48,7 +48,7 @@ if (!function_exists('Dump')) {
/**
* 获取执行时间
* 例如$t1 = ExecTime();在一段文档处理之后$t2 = ExecTime();
* 我们可以2个时间的差值输出:echo $t2-$t1;
* 我们可以2个时间的差值输出:echo $t2-$t1;
*
* @return int
*/


+ 1
- 1
src/system/helpers/string.helper.php View File

@@ -195,7 +195,7 @@ if (!function_exists('GetPinyin')) {
}
}
/**
* 实体网页代码转换成标准网页代码(兼容php4)
* 实体网页代码转换成标准网页代码(兼容php4)
*
* @access public
* @param string $str 字符串信息


+ 1
- 1
src/system/helpers/time.helper.php View File

@@ -134,7 +134,7 @@ if (!function_exists('GetDateMk')) {
}
}
/**
* 时间转换为距离现在的精确时间
* 时间转换为距离现在的精确时间
*
* @param int $seconds 秒数
* @return string


+ 1
- 1
src/system/helpers/util.helper.php View File

@@ -266,7 +266,7 @@ if (!function_exists('json_encode')) {
*
* @access public
* @param string $json json数据
* @param string $assoc 当该参数为 TRUE 时,返回 array 而非 object
* @param string $assoc 当该参数为TRUE时,返回array而非object
* @return string
*/
if (!function_exists('json_decode')) {


+ 1
- 1
src/system/taglib/arclist.lib.php View File

@@ -151,7 +151,7 @@ function lib_arclistDone (&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlele
$wmid = isset($refObj->Fields['mid']) ? $refObj->Fields['mid'] : 0;
$orwheres[] = " arc.mid = '$wmid' ";
}
//时间限制(用于调用最近热门文档、热门评论之类),这里的时间只能计算到天,否则缓存功能无效
//时间限制(用于调用最近热门文档、热门评论之类)这里的时间只能计算到天,否则缓存功能无效
if ($subday > 0) {
$ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
$limitday = $ntime - ($subday * 24 * 3600);


+ 2
- 2
src/system/taglib/arclistsg.lib.php View File

@@ -62,9 +62,9 @@ function lib_arclistsg(&$ctag, &$refObj)
if ($orderby == 'near' && $cfg_keyword_like == 'N') {
$keyword = '';
}
//时间限制(用于调用最近热门文档、热门评论之类)
//时间限制(用于调用最近热门文档、热门评论之类)
if ($subday > 0) {
//这里的时间只能计算到天,否则缓存功能无效
//这里的时间只能计算到天,否则缓存功能无效
$ntime = gmmktime(0, 0, 0, gmdate('m'), gmdate('d'), gmdate('Y'));
$limitday = $ntime - ($subday * 24 * 3600);
$orwheres[] = " arc.senddate > $limitday ";


+ 5
- 7
src/system/taglib/cattree.lib.php View File

@@ -12,9 +12,7 @@ if (!defined('DEDEINC')) exit('dedebiz');
function lib_cattree(&$ctag, &$refObj)
{
global $dsql;
//属性处理
//属性showall在空或不存在时,强制用产品模型id;如果是yes刚显示整个语言区栏目树;为其它数字则是这个数字的模型的id
//typeid指定顶级树id,指定后,前一个属性将无效
//属性处理showall在空或不存在时,强制用产品模型id;如果是yes刚显示整个语言区栏目树,为其它数字则是这个数字的模型的id;typeid指定顶级树id,指定后,前一个属性无效
$attlist = "showall|,catid|0";
FillAttsDefault($ctag->CAttribute->Items, $attlist);
extract($ctag->CAttribute->Items, EXTR_SKIP);
@@ -72,11 +70,11 @@ function cattreeListSon($id, &$revalue)
$thisv = '';
while ($row = $dsql->GetArray($id)) {
$row['typelink'] = GetOneTypeUrlA($row);
$thisv .= " <dl class='cattree'>\n";
$thisv .= " <dt><a href='{$row['typelink']}'>{$row['typename']}</a></dt>\n";
$thisv .= "<dl class='cattree'>\n";
$thisv .= "<dt><a href='{$row['typelink']}'>{$row['typename']}</a></dt>\n";
cattreeListSon($row['id'], $thisv);
$thisv .= " </dl>\n";
$thisv .= "</dl>\n";
}
if ($thisv != '') $revalue .= " <dd>\n$thisv </dd>\n";
if ($thisv != '') $revalue .= "<dd>\n$thisv</dd>\n";
}
?>

+ 1
- 1
src/system/typelink/typelink.class.php View File

@@ -57,7 +57,7 @@ class TypeLink
}
}
//对于使用默认构造函数的情况
//GetPositionLink()不可用
//GetPositionLink()不可用
function TypeLink($typeid)
{
$this->__construct($typeid);


Loading…
Cancel
Save