@@ -1 +1 @@ | |||
.menu-body{margin:0;padding:0 10px}.menu-left{padding-top:1rem}.menu-right{width:100%;background:#fff;box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);border-radius:0 0 .2rem .2rem}a.menu-item div{margin-bottom:5px;width:40px;height:28px;line-height:28px;color:#545b62;background:#fff;box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);border-radius:.2rem 0 0 .2rem;text-align:center;transition:all .3s;cursor:pointer}a.menu-item div:hover{color:#fff;background:#545b62}a.menu-active div{margin-bottom:5px;width:40px;height:28px;line-height:28px;color:#fff;background:#545b62;box-shadow:0 0.125rem 0.25rem rgba(0,0,0,.075);border-radius:.2rem 0 0 .2rem;text-align:center}dl.bitem{margin:1rem 0 10px 0;padding:0 10px}dl.bitem dt{margin-bottom:10px;padding-left:10px;height:28px;line-height:28px;background:#f6f6f6;border-radius:.2rem;cursor:pointer}dl.bitem dt b{color:#545b62}dl.bitem dt b i{margin-right:10px;width:10px}.sitemu li{display:block;padding-left:30px;height:26px;line-height:26px}.fllct{float:left}.flrct{float:right}.fa-minus-circle{color:#dc3545}.fa-plus-circle{color:#28a745}#browsehappy{padding:20px 30px;font-size:14px;line-height:16px;color:#856404;background:#fff3cd;border-radius:.25rem;border:0}.browsehappy-close{float:right;cursor:pointer} | |||
.menu-box{margin:0;padding:1rem 5px;background:#ffff}.menu{width:100%;background:#fff;border-radius:.2rem;box-shadow:0 .125rem .25rem rgba(0,0,0,.075)}.menu .link{position:relative;padding-left:50px;display:block;height:40px;line-height:40px;cursor:pointer;transition:all .3s}.menu li:last-child .link{border-bottom:0}.menu li i{position:absolute;top:12px;left:20px;color:#545b62}.menu li i.fa-angle-down{right:20px;left:auto}.menu li.open .link,.menu li.open i{color:#28a745}.menu li.open i.fa-angle-down{transform:rotate(180deg)}.submenu{display:none;padding:5px 0;background:#adb5bd;border-radius:0 0 .2rem .2rem}.submenu li{height:40px;line-height:40px;transition:all .3s}.submenu li:hover{background:#28a745}.submenu a{float:left;display:block;padding:0 10px 0 50px;color:#fff}.submenu-right{float:right!important;padding:0 20px 0 10px!important} |
@@ -9,6 +9,7 @@ | |||
* @link https://www.dedebiz.com | |||
*/ | |||
require_once(dirname(__FILE__)."/../config.php"); | |||
require_once(dirname(__FILE__)."/inc_menu_module.php"); | |||
//载入可发布频道 | |||
$addset = ''; | |||
//检测可用的内容模型 | |||
@@ -34,21 +35,21 @@ $gitUrl = DEDEBIZURL."/git"; | |||
$dedebizUrl = DEDEBIZURL; | |||
$adminMenu1 = $adminMenu2 = ''; | |||
if ($cuserLogin->getUserType() >= 10) { | |||
$adminMenu1 = (DEDEBIZ_SAFE_MODE? "" : "<m:top item='7_' name='模板管理' display='block' rank='temp_One,temp_Other,temp_MyTag,temp_test,temp_All'> | |||
$adminMenu1 = (DEDEBIZ_SAFE_MODE? "" : "<m:top item='7_' name='模板管理' rank='temp_One,temp_Other,temp_MyTag,temp_test,temp_All' icon='fa-cube'> | |||
<m:item name='默认模板管理' link='templets_main.php' rank='temp_All' target='main' /> | |||
<m:item name='标签源码管理' link='templets_tagsource.php' rank='temp_All' target='main' /> | |||
<m:item name='自定义宏标记' link='mytag_main.php' rank='temp_MyTag' target='main' /> | |||
<m:item name='智能标记向导' link='mytag_tag_guide.php' rank='temp_Other' target='main' /> | |||
<m:item name='全局标记测试' link='tag_test.php' rank='temp_Test' target='main' /> | |||
</m:top>")." | |||
<m:top item='1_7_' name='频道模型' display='block' rank='t_List,t_AccList,c_List,temp_One'> | |||
<m:top item='1_7_' name='频道模型' rank='t_List,t_AccList,c_List,temp_One' icon='fa-area-chart'> | |||
<m:item name='内容模型管理' link='mychannel_main.php' rank='c_List' target='main' /> | |||
<m:item name='单页文档管理' link='templets_one.php' rank='temp_One' target='main' /> | |||
<m:item name='联动类别管理' link='stepselect_main.php' rank='c_Stepseclect' target='main' /> | |||
<m:item name='自由列表管理' link='freelist_main.php' rank='c_List' target='main' /> | |||
<m:item name='自定义表单' link='diy_main.php' rank='c_List' target='main' /> | |||
</m:top>"; | |||
$adminMenu2 = "<m:top item='6_' name='支付工具' display='block' rank='sys_Data'> | |||
$adminMenu2 = "<m:top item='6_' name='支付工具' rank='sys_Data' icon='fa-credit-card'> | |||
<m:item name='点卡产品分类' link='cards_type.php' rank='sys_Data' target='main' /> | |||
<m:item name='点卡产品管理' link='cards_manage.php' rank='sys_Data' target='main' /> | |||
<m:item name='会员产品分类' link='member_type.php' rank='sys_Data' target='main' /> | |||
@@ -57,7 +58,7 @@ if ($cuserLogin->getUserType() >= 10) { | |||
<m:item name='支付接口设置' link='sys_payment.php' .php' rank='sys_Data' target='main' /> | |||
<m:item name='配货方式设置' link='shops_delivery.php' rank='sys_Data' target='main' /> | |||
</m:top> | |||
<m:top item='10_' name='系统设置' display='block' rank='sys_User,sys_Group,sys_Edit,sys_Log,sys_Data'> | |||
<m:top item='10_' name='系统设置' rank='sys_User,sys_Group,sys_Edit,sys_Log,sys_Data' icon='fa-cog'> | |||
<m:item name='系统配置变量' link='sys_info.php' rank='sys_Edit' target='main' /> | |||
<m:item name='系统用户管理' link='sys_admin_user.php' rank='sys_User' target='main' /> | |||
<m:item name='用户组设定' link='sys_group.php' rank='sys_Group' target='main' /> | |||
@@ -73,7 +74,7 @@ if ($cuserLogin->getUserType() >= 10) { | |||
<m:item name='系统错误修复' link='sys_repair.php' rank='sys_verify' target='main' /> | |||
</m:top>"; | |||
} | |||
$menusMain = "<m:top item='1_' name='常用操作' display='block'> | |||
$menusMain = "<m:top item='1_' name='常用操作' icon='fa-desktop'> | |||
<m:item name='网站栏目管理' link='catalog_main.php' ischannel='1' addalt='创建栏目' linkadd='catalog_add.php?listtype=all' rank='t_List,t_AccList' target='main' /> | |||
<m:item name='所有文档列表' link='content_list.php' rank='a_List,a_AccList' target='main' /> | |||
<m:item name='等审核的文档' link='content_list.php?arcrank=-1' rank='a_Check,a_AccCheck' target='main' /> | |||
@@ -81,17 +82,17 @@ $menusMain = "<m:top item='1_' name='常用操作' display='block'> | |||
<m:item name='评论管理' link='feedback_main.php' rank='sys_Feedback' target='main' /> | |||
<m:item name='文档回收站' link='recycling.php' ischannel='1' addalt='清空回收站' addico='fa-minus-circle' linkadd='archives_do.php?dopost=clear&aid=no&recycle=1' rank='a_List,a_AccList,a_MyList' target='main' /> | |||
</m:top> | |||
<m:top item='1_' name='内容管理' display='block'> | |||
<m:top item='1_' name='内容管理' icon='fa-file-text'> | |||
$addset | |||
<m:item name='专题管理' ischannel='1' link='content_s_list.php' linkadd='spec_add.php' channelid='-1' rank='spec_New' target='main' /> | |||
</m:top> | |||
<m:top item='1_' name='附件管理' display='none' rank='sys_Upload,sys_MyUpload,plus_文件管理器'> | |||
<m:top item='1_' name='附件管理' rank='sys_Upload,sys_MyUpload,plus_文件管理器' icon='fa-folder'> | |||
<m:item name='上传新文件' link='media_add.php' rank='' target='main' /> | |||
<m:item name='附件数据管理' link='media_main.php' rank='sys_Upload,sys_MyUpload' target='main' /> | |||
<m:item name='文件式管理器' link='media_main.php?dopost=filemanager' rank='plus_文件管理器' target='main' /> | |||
</m:top> | |||
$adminMenu1 | |||
<m:top item='1_' name='批量维护' display='block'> | |||
<m:top item='1_' name='批量维护' icon='fa-circle-o-notch'> | |||
<m:item name='文档批量维护' link='content_batch_up.php' rank='sys_ArcBatch' target='main' /> | |||
<m:item name='搜索关键词维护' link='search_keywords_main.php' rank='sys_Keyword' target='main' /> | |||
<m:item name='文档关键词维护' link='article_keywords_main.php' rank='sys_Keyword' target='main' /> | |||
@@ -100,7 +101,8 @@ $adminMenu1 | |||
<m:item name='Tag标签管理' link='tags_main.php' rank='sys_Keyword' target='main' /> | |||
".(DEDEBIZ_SAFE_MODE? "" : "<m:item name='数据库内容替换' link='sys_data_replace.php' rank='sys_ArcBatch' target='main' />")." | |||
</m:top> | |||
<m:top item='5_' name='更新任务' display='block' notshowall='1' rank='sys_MakeHtml'> | |||
{$GLOBALS['menusMoudle']} | |||
<m:top item='5_' name='更新任务' rank='sys_MakeHtml' icon='fa-repeat'> | |||
<m:item name='更新整站' link='makehtml_all.php' rank='sys_MakeHtml' target='main' /> | |||
<m:item name='更新首页' link='makehtml_homepage.php' rank='sys_MakeHtml' target='main' /> | |||
<m:item name='更新栏目' link='makehtml_list.php' rank='sys_MakeHtml' target='main' /> | |||
@@ -109,14 +111,14 @@ $adminMenu1 | |||
<m:item name='更新专题' link='makehtml_spec.php' rank='sys_MakeHtml' target='main' /> | |||
<m:item name='更新缓存' link='sys_cache_up.php' rank='sys_ArcBatch' target='main' /> | |||
</m:top> | |||
<m:top item='6_' name='会员管理' display='block' rank='member_List,member_Type'> | |||
<m:top item='6_' name='会员管理' rank='member_List,member_Type' icon='fa-user-circle'> | |||
<m:item name='注册会员列表' link='member_main.php' rank='member_List' target='main' /> | |||
<m:item name='会员级别设置' link='member_rank.php' rank='member_Type' target='main' /> | |||
<m:item name='积分头衔设置' link='member_scores.php' rank='member_Type' target='main' /> | |||
<m:item name='会员短信管理' link='member_pm.php' rank='member_Type' target='main' /> | |||
</m:top> | |||
$adminMenu2 | |||
<m:top item='5_10_' name='系统帮助' display='none'> | |||
<m:top item='5_10_' name='系统帮助' icon='fa-info-circle'> | |||
<m:item name='系统概况' link='$cfg_biz_helpUrl' rank='' target='_blank' /> | |||
<m:item name='代码托管' link='$cfg_biz_gitUrl' rank='' target='_blank' /> | |||
</m:top>"; |
@@ -10,8 +10,8 @@ | |||
*/ | |||
require_once(dirname(__FILE__)."/../config.php"); | |||
require_once(DEDEINC."/dedetag.class.php"); | |||
$headTemplet = "<dl id='sunitems~cc~' class='bitem'><dt onClick='showHide(\"items~cc~\",this)'><b><i class='fa fa-angle-down'></i>~channelname~</b></dt><dd id='items~cc~' class='sitem' style='display:~display~'><ul class='sitemu'>"; | |||
$footTemplet = "</ul></dd></dl>"; | |||
$headTemplet = '<li><div class="link"><i class="fa ~icon~"></i>~channelname~<i class="fa fa-angle-down"></i></div><ul class="submenu">'; | |||
$footTemplet = "</ul></li>"; | |||
$itemTemplet = "<li>~link~</li>"; | |||
function GetMenus($userrank, $topos = 'main') | |||
{ | |||
@@ -28,22 +28,15 @@ function GetMenus($userrank, $topos = 'main') | |||
$dtp->LoadSource($menus); | |||
$dtp2 = new DedeTagParse(); | |||
$dtp2->SetNameSpace('m', '<', '>'); | |||
$m = 0; | |||
foreach ($dtp->CTags as $i => $ctag) { | |||
if ($ctag->GetName() == 'top' && ($ctag->GetAtt('rank') == '' || TestPurview($ctag->GetAtt('rank')))) { | |||
if ($openitem != 999 && !preg_match("#".$openitem.'_'."#", $ctag->GetAtt('item')) && $openitem != 100) continue; | |||
$m++; | |||
echo "<!--".($m + 1)."-->"; | |||
$htmp = str_replace("~channelname~", $ctag->GetAtt("name"), $headTemplet); | |||
if (empty($openitem) || $openitem == 100) { | |||
if ($ctag->GetAtt('notshowall') == '1') continue; | |||
$htmp = str_replace('~display~', $ctag->GetAtt('display'), $htmp); | |||
} else { | |||
if ($openitem == $ctag->GetAtt('item') || preg_match("#".$openitem.'_'."#", $ctag->GetAtt('item')) || $openitem == '-1') | |||
$htmp = str_replace('~display~', 'block', $htmp); | |||
else | |||
$htmp = str_replace('~display~', 'none', $htmp); | |||
$icon = 'fa-desktop'; | |||
if ($ctag->GetAtt('icon') != '') { | |||
$icon = $ctag->GetAtt('icon'); | |||
} | |||
$htmp = str_replace('~icon~', $icon, $htmp); | |||
$htmp = str_replace('~cc~', $m.'_'.$openitem, $htmp); | |||
echo $htmp; | |||
$dtp2->LoadSource($ctag->InnerText); | |||
@@ -52,17 +45,12 @@ function GetMenus($userrank, $topos = 'main') | |||
if ($ctag2->GetName() == 'item' && ($ctag2->GetAtt('rank') == '' || TestPurview($ctag2->GetAtt('rank')))) { | |||
$link = "<a href='".$ctag2->GetAtt('link')."' target='".$ctag2->GetAtt('target')."'>".$ctag2->GetAtt('name')."</a>"; | |||
if ($ischannel == '1') { | |||
if ($ctag2->GetAtt('addalt') != '') { | |||
$addalt = $ctag2->GetAtt('addalt'); | |||
} else { | |||
$addalt = '录入新内容'; | |||
} | |||
if ($ctag2->GetAtt('addico') != '') { | |||
$addico = $ctag2->GetAtt('addico'); | |||
} else { | |||
$addico = 'fa-plus-circle'; | |||
} | |||
$link = "<div class='items'><div class='fllct'>$link</div><div class='flrct'><a href='".$ctag2->GetAtt('linkadd')."' target='".$ctag2->GetAtt('target')."'><i class='fa $addico' title='$addalt'></i></a></div></div>"; | |||
$link = "$link<a href='".$ctag2->GetAtt('linkadd')."' class='submenu-right' target='".$ctag2->GetAtt('target')."'><span class='fa $addico' title='$addalt'></span></a>"; | |||
} else { | |||
$link .= ""; | |||
} | |||
@@ -71,7 +59,6 @@ function GetMenus($userrank, $topos = 'main') | |||
} | |||
} | |||
echo $footTemplet; | |||
echo "<!--".($m + 1)."-->"; | |||
} | |||
} | |||
}//End Function |
@@ -2,22 +2,13 @@ | |||
/** | |||
* 模块菜单 | |||
* | |||
* @version $Id: inc_menu_module.php 1 10:32 2010年7月21日 tianya $ | |||
* @version $Id: inc_menu_module.php 1 10:32 2010年7月21日Z tianya $ | |||
* @package DedeBIZ.Administrator | |||
* @copyright Copyright (c) 2022, DedeBIZ.COM | |||
* @license https://www.dedebiz.com/license | |||
* @link https://www.dedebiz.com | |||
*/ | |||
require_once(dirname(__FILE__)."/../config.php"); | |||
/* | |||
模块菜单一般在不要直接改此文件,直接保存在#@__sys_module表即可,格式为 | |||
<m:top name='问答模块管理' c='6,' display='block' rank=''> | |||
<m:item name='问答栏目管理' link='ask_type.php' rank='' target='main' /> | |||
<m:item name='问答问题管理' link='ask_admin.php' rank='' target='main' /> | |||
<m:item name='问答答案管理' link='ask_answer.php' rank='' target='main' /> | |||
</m:top> | |||
这个菜单可在生成模块时指定 | |||
*/ | |||
//载入模块菜单 | |||
$moduleset = ''; | |||
$dsql->SetQuery("SELECT * FROM `#@__sys_module` ORDER BY id DESC"); | |||
@@ -35,7 +26,7 @@ while ($row = $dsql->GetObject()) { | |||
} | |||
$adminMenu = ''; | |||
if ($cuserLogin->getUserType() >= 10) { | |||
$adminMenu = DEDEBIZ_SAFE_MODE? "" : "<m:top name='模块管理' c='6,' display='block'> | |||
$adminMenu = DEDEBIZ_SAFE_MODE? "" : "<m:top name='模块管理' c='6,' icon='fa-database'> | |||
<m:item name='模块管理' link='module_main.php' rank='sys_module' target='main' /> | |||
<m:item name='上传新模块' link='module_upload.php' rank='sys_module' target='main' /> | |||
<m:item name='模块打包' link='module_make.php' rank='sys_module' target='main' /> | |||
@@ -43,10 +34,9 @@ if ($cuserLogin->getUserType() >= 10) { | |||
} | |||
$menusMoudle = " | |||
$adminMenu | |||
<m:top item='7' name='辅助插件' display='block'> | |||
<m:top item='7' name='辅助插件' icon='fa-plug'> | |||
<m:item name='插件管理器' link='plus_main.php' rank='10' target='main' /> | |||
$plusset | |||
</m:top> | |||
$moduleset | |||
"; | |||
?> | |||
"; |
@@ -1,25 +0,0 @@ | |||
<?php | |||
/** | |||
* 载入菜单 | |||
* | |||
* @version $Id: index_menu_load.php 1 8:48 2010年7月13日 tianya $ | |||
* @package DedeBIZ.Administrator | |||
* @copyright Copyright (c) 2022, DedeBIZ.COM | |||
* @license https://www.dedebiz.com/license | |||
* @link https://www.dedebiz.com | |||
*/ | |||
require_once(dirname(__FILE__).'/config.php'); | |||
AjaxHead(); | |||
if ($openitem != 100) { | |||
require(dirname(__FILE__).'/inc/inc_menu.php'); | |||
require(DEDEADMIN.'/inc/inc_menu_func.php'); | |||
GetMenus($cuserLogin->getUserRank(), 'main'); | |||
exit(); | |||
} else { | |||
$openitem = 0; | |||
require(dirname(__FILE__).'/inc/inc_menu_module.php'); | |||
require(DEDEADMIN.'/inc/inc_menu_func.php'); | |||
GetMenus($cuserLogin->getUserRank(), 'module'); | |||
exit(); | |||
} | |||
?> |
@@ -1,129 +0,0 @@ | |||
function showHide(objname, o) | |||
{ | |||
//只对主菜单设置cookie | |||
var obj = document.getElementById(objname); | |||
var objsun = document.getElementById('sun'+objname); | |||
if(objname.indexOf('_1')<0 || objname.indexOf('_10')>0) | |||
{ | |||
if(obj.style.display == 'block' || obj.style.display =='') | |||
{ | |||
obj.style.display = 'none'; | |||
o.querySelector("i").className = "fa fa-angle-right" | |||
} else { | |||
obj.style.display = 'block'; | |||
o.querySelector("i").className = "fa fa-angle-down" | |||
} | |||
return true; | |||
} | |||
//正常设置cookie | |||
var ckstr = getCookie('menuitems'); | |||
var ckstrs = null; | |||
var okstr =''; | |||
var ischange = false; | |||
if(ckstr==null) ckstr = ''; | |||
ckstrs = ckstr.split(','); | |||
objname = objname.replace('items',''); | |||
if(obj.style.display == 'block' || obj.style.display =='') | |||
{ | |||
obj.style.display = 'none'; | |||
for(var i=0; i < ckstrs.length; i++) | |||
{ | |||
if(ckstrs[i]=='') continue; | |||
if(ckstrs[i]==objname){ ischange = true; } | |||
else okstr += (okstr=='' ? ckstrs[i] : ','+ckstrs[i] ); | |||
} | |||
o.querySelector("i").className = "fa fa-angle-right" | |||
} else { | |||
obj.style.display = 'block'; | |||
ischange = true; | |||
for(var i=0; i < ckstrs.length; i++) | |||
{ | |||
if(ckstrs[i]==objname) { ischange = false; break; } | |||
} | |||
if(ischange) | |||
{ | |||
ckstr = (ckstr==null ? objname : ckstr+','+objname); | |||
setCookie('menuitems',ckstr,7); | |||
} | |||
o.querySelector("i").className = "fa fa-angle-down" | |||
} | |||
} | |||
//读写cookie函数 | |||
function getCookie(c_name) | |||
{ | |||
if (document.cookie.length > 0) | |||
{ | |||
c_start = document.cookie.indexOf(c_name + "=") | |||
if (c_start != -1) | |||
{ | |||
c_start = c_start + c_name.length + 1; | |||
c_end = document.cookie.indexOf(";",c_start); | |||
if (c_end == -1) | |||
{ | |||
c_end = document.cookie.length; | |||
} | |||
return unescape(document.cookie.substring(c_start,c_end)); | |||
} | |||
} | |||
return null | |||
} | |||
function setCookie(c_name,value,expiredays) | |||
{ | |||
var exdate = new Date(); | |||
exdate.setDate(exdate.getDate() + expiredays); | |||
document.cookie = c_name + "=" +escape(value) + ((expiredays == null) ? "" : ";expires=" + exdate.toGMTString()); //使设置的有效时间正确。增加toGMTString() | |||
} | |||
//检查以前用户展开的菜单项 | |||
var totalitem = 12; | |||
function CheckOpenMenu() | |||
{ | |||
var ckstr = getCookie('menuitems'); | |||
var curitem = ''; | |||
var curobj = null; | |||
if(ckstr==null) | |||
{ | |||
ckstr='1_1,2_1,3_1'; | |||
setCookie('menuitems',ckstr,7); | |||
} | |||
ckstr = ','+ckstr+','; | |||
for(i=0;i<totalitem;i++) | |||
{ | |||
curitem = i+'_'+curopenItem; | |||
curobj = document.getElementById('items'+curitem); | |||
if(ckstr.indexOf(curitem) > 0 && curobj != null) | |||
{ | |||
curobj.style.display = 'block'; | |||
} else { | |||
if(curobj != null) curobj.style.display = 'none'; | |||
} | |||
} | |||
} | |||
var curitem = 1; | |||
function ShowMainMenu(n) | |||
{ | |||
var curLink = $DE('link'+curitem); | |||
var targetLink = $DE('link'+n); | |||
var curCt = $DE('ct'+curitem); | |||
var targetCt = $DE('ct'+n); | |||
if(curitem==n) return false; | |||
if(targetCt.innerHTML!='') | |||
{ | |||
curCt.style.display = 'none'; | |||
targetCt.style.display = 'block'; | |||
curLink.className = 'menu-item'; | |||
targetLink.className = 'menu-active'; | |||
curitem = n; | |||
} else { | |||
fetch("index_menu_load.php?openitem="+n).then(resp=>resp.text()).then((d)=>{ | |||
targetCt.innerHTML = d; | |||
if(targetCt.innerHTML!='') | |||
{ | |||
curCt.style.display = 'none'; | |||
targetCt.style.display = 'block'; | |||
curLink.className = 'menu-item'; | |||
targetLink.className = 'menu-active'; | |||
curitem = n; | |||
} | |||
}); | |||
} | |||
} |
@@ -34,8 +34,8 @@ | |||
</tr> | |||
<tr> | |||
<td> | |||
开始ID:<input type="text" name="sid" id="sid" class="biz-input-sm"> | |||
结束ID:<input type="text" name="eid" id="eid" class="biz-input-sm"> | |||
开始id:<input type="text" name="sid" id="sid" class="biz-input-sm"> | |||
结束id:<input type="text" name="eid" id="eid" class="biz-input-sm"> | |||
</td> | |||
<td></td> | |||
</tr> | |||
@@ -63,8 +63,7 @@ | |||
</div> | |||
<div class="col-md-6 mt-3 mb-3 updatenews"> | |||
<div class="card"> | |||
<div class="card-header"> | |||
<a href="javascript:copyFn()"><i class="fa fa-gear"></i> 系统信息</a> | |||
<div class="card-header"><a href="javascript:copyFn()"><i class="fa fa-gear"></i> 系统信息</a> | |||
<span id="text">软件:<?php echo $cfg_version_detail;?>|操作系统:<?php echo PHP_OS;?>|Web服务器:<?php echo $_SERVER['SERVER_SOFTWARE'];?>|PHP:<?php echo @phpversion();?>|数据库:<?php echo $dsql->GetVersion();?></span> | |||
</div> | |||
<div class="card-body"> | |||
@@ -116,7 +115,9 @@ | |||
</div> | |||
<div class="col-md-6 mt-3 mb-3"> | |||
<div class="card"> | |||
<div class="card-header"><a name="statChart"><i class="fa fa-line-chart"></i> 流量统计图</a></div> | |||
<div class="card-header"> | |||
<a name="statChart"><i class="fa fa-line-chart"></i> 流量统计图</a> | |||
</div> | |||
<div class="card-body"> | |||
<canvas id="statChart"></canvas> | |||
</div> | |||
@@ -7,53 +7,35 @@ | |||
<link rel="stylesheet" href="../static/web/font/css/font-awesome.min.css"> | |||
<link rel="stylesheet" href="../static/web/css/admin.css"> | |||
<link rel="stylesheet" href="css/menu.min.css"> | |||
<?php echo "<script>var curopenItem = '$openitem';</script>";?> | |||
<script src="../static/web/js/webajax.js"></script> | |||
<script src="../static/web/js/jquery.min.js"></script> | |||
<script src="js/leftmenu.js"></script> | |||
<base target="main"> | |||
</head> | |||
<body class="menu-body"> | |||
<table cellspacing="0" cellpadding="0"> | |||
<tr> | |||
<td valign="top" class="menu-left"> | |||
<a id="link1" class="menu-active"> | |||
<div onClick="ShowMainMenu(1)"><b>运维</b></div> | |||
</a> | |||
<a id="link100" class="menu-item"> | |||
<div onClick="ShowMainMenu(100)"><b>插件</b></div> | |||
</a> | |||
<a id="link5" class="menu-item"> | |||
<div onClick="ShowMainMenu(5)"><b>更新</b></div> | |||
</a> | |||
<a id="link6" class="menu-item"> | |||
<div onClick="ShowMainMenu(6)"><b>会员</b></div> | |||
</a> | |||
<?php if ($cuserLogin->getUserType()>=10){?> | |||
<a id="link7" class="menu-item"> | |||
<div onClick="ShowMainMenu(7)"><b>模板</b></div> | |||
</a> | |||
<a id="link10" class="menu-item"> | |||
<div onClick="ShowMainMenu(10)"><b>系统</b></div> | |||
</a> | |||
<?php }?> | |||
</td> | |||
<td valign="top" class="menu-right"> | |||
<div id="ct1"><?php GetMenus($cuserLogin->getUserRank(),'main');?></div> | |||
<div id="ct100"></div> | |||
<div id="ct3"></div> | |||
<div id="ct5"></div> | |||
<div id="ct6"></div> | |||
<div id="ct7"></div> | |||
<div id="ct20"></div> | |||
<div id="ct10"></div> | |||
</td> | |||
</tr> | |||
</table> | |||
<?php if (!empty($openitem) && $openitem!=1){?> | |||
<body class="menu-box"> | |||
<ul id="menu" class="menu"> | |||
<?php | |||
$openitem=100; | |||
GetMenus($cuserLogin->getUserRank(),'main'); | |||
?> | |||
</ul> | |||
<script> | |||
ShowMainMenu(100); | |||
$(function() { | |||
var menu = function(el, multiple) { | |||
this.el = el || {}; | |||
this.multiple = multiple || false; | |||
var links = this.el.find('.link'); | |||
links.on('click', {el: this.el, multiple: this.multiple}, this.dropdown) | |||
} | |||
menu.prototype.dropdown = function(e) { | |||
var $el = e.data.el; | |||
$this = $(this), | |||
$next = $this.next(); | |||
$next.slideToggle(); | |||
$this.parent().toggleClass('open'); | |||
if (!e.data.multiple) { | |||
$el.find('.submenu').not($next).slideUp().parent().removeClass('open'); | |||
}; | |||
} | |||
var menu = new menu($('#menu'), false); | |||
}); | |||
</script> | |||
<?php }?> | |||
</body> | |||
</html> |
@@ -20,42 +20,42 @@ | |||
<div class="d-flex flex-md-row align-items-center shadow-sm biz-head mb-5"> | |||
<div class="container"> | |||
<div class="row"> | |||
<div class="col-6 text-left"> | |||
<div class="logo"><img src="../static/web/img/logo.png" title="<?php echo $cfg_soft_enname;?>" class="logo"></div> | |||
</div> | |||
<div class="col-6 text-right d-flex justify-content-end biz-nav"> | |||
<a href="/" target="_blank" class="biz-nav-a"><i class="fa fa-home"></i> 网站首页</a> | |||
</div> | |||
<div class="col-6 col-md-4 text-left"><img src="../static/web/img/logo.png" title="<?php echo $cfg_soft_enname;?>" class="logo"></div> | |||
<div class="col-6 col-md-8 text-right d-flex justify-content-end biz-nav"><a href="/" target="_blank" class="biz-nav-a"><i class="fa fa-home"></i> 网站首页</a></div> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="container"> | |||
<div class="login-from"> | |||
<?php echo $redmsg;?> | |||
<div class="login-area shadow-sm"> | |||
<h2 class="mb-4 text-center">后台登录</h2> | |||
<form name="form1" method="post" action="login.php"> | |||
<input type="hidden" name="gotopage" value="<?php if (!empty($gotopage)) echo RemoveXSS($gotopage);?>"> | |||
<input type="hidden" name="dopost" value="login"> | |||
<input type="hidden" name="adminstyle" value="newDedeBIZ"> | |||
<div class="form-group"> | |||
<label for="iptUserid">用户名</label> | |||
<input type="text" name="userid" id="iptUserid" class="form-control"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="iptPassword">密码</label> | |||
<input type="password" name="pwd" id="iptPassword" class="form-control"> | |||
<div class="row"> | |||
<div class="col-md-12"> | |||
<div class="login-from"> | |||
<?php echo $redmsg;?> | |||
<div class="login-area shadow-sm"> | |||
<h2 class="text-center mb-3">后台登录</h2> | |||
<form name="form1" method="post" action="login.php"> | |||
<input type="hidden" name="gotopage" value="<?php if (!empty($gotopage)) echo RemoveXSS($gotopage);?>"> | |||
<input type="hidden" name="dopost" value="login"> | |||
<input type="hidden" name="adminstyle" value="newDedeBIZ"> | |||
<div class="form-group"> | |||
<label for="iptUserid">用户名</label> | |||
<input type="text" name="userid" id="iptUserid" class="form-control"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="iptPassword">密码</label> | |||
<input type="password" name="pwd" id="iptPassword" class="form-control"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="iptValidate">验证码</label> | |||
<div class="input-group"> | |||
<input type="text" name="validate" id="iptValidate" class="form-control text-uppercase"> | |||
<img src="../apps/vdimgck.php" onclick="this.src='../apps/vdimgck.php?'+new Date().getTime()+Math.round(Math.random() * 10000)" title="验证码" id="validateimg"> | |||
</div> | |||
</div> | |||
<div><button type="submit" class="btn btn-success w-100">登录</button></div> | |||
<div class="login-power"><?php echo $cfg_powerby;?></div> | |||
</form> | |||
</div> | |||
<div class="form-group"> | |||
<label for="iptValidate">验证码</label> | |||
<div class="input-group"> | |||
<input type="text" name="validate" id="iptValidate" class="form-control text-uppercase"> | |||
<img src="../apps/vdimgck.php" onclick="this.src='../apps/vdimgck.php?'+new Date().getTime()+Math.round(Math.random() * 10000)" title="验证码" id="validateimg"> | |||
</div> | |||
</div> | |||
<div><button type="submit" class="btn btn-success w-100">登录</button></div> | |||
<div class="login-power"><?php echo $cfg_powerby;?></div> | |||
</form> | |||
</div> | |||
</div> | |||
</div> | |||
</div> | |||
@@ -36,8 +36,8 @@ | |||
<td><input type="text" name="startid" id="startid" class="biz-input-sm">(空或0表示从头开始)</td> | |||
</tr> | |||
<tr> | |||
<td>结束ID:</td> | |||
<td><input type="text" name="endid" id="endid" class="biz-input-sm">(空或0表示直到结束ID)</td> | |||
<td>结束id:</td> | |||
<td><input type="text" name="endid" id="endid" class="biz-input-sm">(空或0表示直到结束id)</td> | |||
</tr> | |||
<tr> | |||
<td>每页生成:</td> | |||
@@ -19,8 +19,8 @@ | |||
<td><input type="text" name="startid" id="startid" size="10" <?php if (!empty($aid)) echo " value='$aid'";?>>(空或0表示从头开始)</td> | |||
</tr> | |||
<tr> | |||
<td>结束ID:</td> | |||
<td><input type="text" name="endid" id="endid" size="10" <?php if (!empty($aid)) echo " value='$aid'";?>>(空或0表示直到结束ID)</td> | |||
<td>结束id:</td> | |||
<td><input type="text" name="endid" id="endid" size="10" <?php if (!empty($aid)) echo " value='$aid'";?>>(空或0表示直到结束id)</td> | |||
</tr> | |||
<tr> | |||
<td>每批生成:</td> | |||
@@ -42,8 +42,8 @@ | |||
<td><input type="text" name="startid" id="startid" class="biz-input-sm">(空或0表示从头开始)</td> | |||
</tr> | |||
<tr> | |||
<td>结束ID:</td> | |||
<td><input type="text" name="endid" id="endid" class="biz-input-sm">(空或0表示直到结束ID)</td> | |||
<td>结束id:</td> | |||
<td><input type="text" name="endid" id="endid" class="biz-input-sm">(空或0表示直到结束id)</td> | |||
</tr> | |||
<?php }?> | |||
<tr> | |||
@@ -29,13 +29,13 @@ | |||
<td colspan="5" bgcolor="#f8f8f8">积分头衔设置</td> | |||
</tr> | |||
<tr> | |||
<td width="6%" align="center" bgcolor="#fbfce2"><input type="checkbox" name="chkall" id="chkall" onClick="CheckAll(this.form)"> 全选删除</td> | |||
<td width="6%" align="center" bgcolor="#fbfce2"><input type="checkbox" name="chkall" id="chkall" onClick="CheckAll(this.form)"> 全选</td> | |||
<td width="23%" align="center" bgcolor="#fbfce2">积分大于</td> | |||
<td width="30%" align="center" bgcolor="#fbfce2">星星数</td> | |||
<td width="23%" align="center" bgcolor="#fbfce2">级别头衔</td> | |||
<td width="30%" align="center" bgcolor="#fbfce2">是否默认</td> | |||
</tr> | |||
<?php foreach($Scores as $v){ ?> | |||
<?php foreach($Scores as $v){?> | |||
<tr onmousemove="javascript:this.bgColor='#fbfce2';" onmouseout="javascript:this.bgColor='#ffffff';"> | |||
<td align="center"><input type="checkbox" name="Ids-<?php echo $v['id']?>" id="Ids-<?php echo $v['id']?>" value="1"></td> | |||
<td align="center"><input type="text" name="integral-<?php echo $v['id']?>" id="integral-<?php echo $v['id']?>" value="<?php echo $v['integral']?>" class="biz-input-sm"></td> | |||
@@ -12,15 +12,15 @@ | |||
<script src="../static/web/js/style.js"></script> | |||
<style>.col-form-label{padding-top:0}</style> | |||
<script> | |||
function checkall(form, prefix, checkall) { | |||
var checkall = checkall ? checkall : 'all'; | |||
for (var i = 0; i < form.elements.length; i++) { | |||
var e = form.elements[i]; | |||
if (e.name && e.name != checkall && (!prefix || (prefix && e.name.match(prefix)))) { | |||
e.checked = form.elements[checkall].checked; | |||
} | |||
} | |||
} | |||
function CheckAll(form, prefix, checkall) { | |||
var checkall = checkall ? checkall : 'chkall'; | |||
for (var i = 0; i < form.elements.length; i++) { | |||
var e = form.elements[i]; | |||
if (e.name && e.name != checkall && (!prefix || (prefix && e.name.match(prefix)))) { | |||
e.checked = form.elements[checkall].checked; | |||
} | |||
} | |||
} | |||
function UpdateOne(tid) { | |||
location = "tags_main.php?action=update&count=" + document.getElementById('count' + tid).value + "&tid=" + tid; | |||
} | |||
@@ -78,8 +78,8 @@ | |||
<table width="98%" cellpadding="1" cellspacing="1" align="center" class="table maintable mt-3 mb-3"> | |||
<tr bgcolor="#f8f8f8"> | |||
<form name="form1" action="tags_main.php?action=fetch" method="post"> | |||
<td width="180"><input type="text" name="startaid" placeholder="请输入开始ID" class="biz-input-sm"></td> | |||
<td width="170"><input type="text" name="endaid" placeholder="请输入结束ID" class="biz-input-sm"></td> | |||
<td width="180"><input type="text" name="startaid" placeholder="请输入开始id" class="biz-input-sm"></td> | |||
<td width="170"><input type="text" name="endaid" placeholder="请输入结束id" class="biz-input-sm"></td> | |||
<td> | |||
<button name="submit" type="submit" class="btn btn-success btn-sm">获取标签</button> | |||
<a href="makehtml_taglist.php" name="sb" class="btn btn-success btn-sm">生成</a> | |||
@@ -91,17 +91,17 @@ | |||
<tr> | |||
<td colspan="8" bgcolor="#f8f8f8">标签管理</td> | |||
</tr> | |||
<tr align="center" bgcolor="#fbfce2"> | |||
<td width="8%">选择</td> | |||
<td width="5%">id</td> | |||
<td width="30%">标签</td> | |||
<td width="10%"><a href="tags_main.php?tag=<?php echo $tag;?>&orderby=count&orderway=<?php echo $neworderway;?>">点击</a></td> | |||
<td width="10%"><a href="tags_main.php?tag=<?php echo $tag;?>&orderby=total&orderway=<?php echo $neworderway;?>">文档数</a></td> | |||
<td width="10%"><a href="tags_main.php?tag=<?php echo $tag;?>&orderby=addtime&orderway=<?php echo $neworderway;?>">添加时间</a></td> | |||
<td width="10%">更新时间</td> | |||
<td width="22%">操作</td> | |||
</tr> | |||
<form name="form3" action="tags_main.php?action=delete" method="post"> | |||
<tr align="center" bgcolor="#fbfce2"> | |||
<td width="6%"><input type="checkbox" name="chkall" id="chkall" onClick="CheckAll(this.form)"> 全选</td> | |||
<td width="6%">id</td> | |||
<td width="30%">标签</td> | |||
<td width="10%"><a href="tags_main.php?tag=<?php echo $tag;?>&orderby=count&orderway=<?php echo $neworderway;?>">点击</a></td> | |||
<td width="10%"><a href="tags_main.php?tag=<?php echo $tag;?>&orderby=total&orderway=<?php echo $neworderway;?>">文档数</a></td> | |||
<td width="10%"><a href="tags_main.php?tag=<?php echo $tag;?>&orderby=addtime&orderway=<?php echo $neworderway;?>">添加时间</a></td> | |||
<td width="10%">更新时间</td> | |||
<td>操作</td> | |||
</tr> | |||
{dede:datalist empty='<tr><td colspan="8"><center>暂无内容</center></td></tr>'} | |||
<?php | |||
$fields['addtime'] = GetDateMk($fields['addtime']); | |||
@@ -125,10 +125,7 @@ | |||
</tr> | |||
{/dede:datalist} | |||
<tr> | |||
<td colspan="8"> | |||
<label class="mr-2"><input type="checkbox" onclick="checkall(this.form,'ids')" name="all"> 全选</label> | |||
<button type="button" onclick="document.form3.submit()" class="btn btn-danger btn-sm">删除</button> | |||
</td> | |||
<td colspan="8"><button type="button" onclick="document.form3.submit()" class="btn btn-danger btn-sm">删除</button></td> | |||
</tr> | |||
<tr> | |||
<td colspan="8" bgcolor="#f8f8f8" align="center" class="py-2">{dede:pagelist/}</td> | |||
@@ -11,16 +11,14 @@ | |||
<script src="../static/web/js/popper.min.js"></script> | |||
<script src="../static/web/js/bootstrap.bundle.min.js"></script> | |||
<script src="../static/web/js/style.js"></script> | |||
<style>*{margin:0;padding:0;letter-spacing:.6px;box-sizing:border-box}body{line-height:1.5;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif;color:#545b62;background:#f8f8f8}a{color:#545b62}input,select,.btn{font-size:14px!important}.install-box{margin:0 auto;width:860px}.biz-head{padding:1rem 0;background:#fff}.logo{height:36px}.biz-nav{height:36px;line-height:36px}.biz-nav-a{padding-right:30px}.biz-btn{color:#545b62}.dropdown-menu{min-width:8rem;font-size:14px}.dropdown-item{padding:0 1rem;height:36px;line-height:36px;font-size:14px;color:#545b62!important}@media (max-width:760px){.install-box{margin:0 auto;padding:0 15px;width:100%}.biz-head{padding:1rem 15px}.biz-nav-a{display:none!important}}</style> | |||
<style>*{margin:0;padding:0;letter-spacing:.6px;box-sizing:border-box}body{line-height:1.5;font:14px Helvetica Neue,Helvetica,PingFang SC,Tahoma,Arial,sans-serif;color:#545b62;background:#f8f8f8}a{color:#545b62}input,select,.btn{font-size:14px!important}.install-box{margin:0 auto;width:860px}.biz-head{padding:1rem 0;background:#fff}.logo{height:36px}.biz-nav{height:36px;line-height:36px}.biz-nav-a{padding-right:30px}.biz-btn{color:#545b62}.dropdown-menu{min-width:8rem;font-size:14px}.dropdown-item{padding:0 1rem;height:36px;line-height:36px;font-size:14px;color:#545b62!important}@media (max-width:760px){.install-box{width:100%}.biz-head{padding:1rem 15px}.biz-nav-a{display:none!important}}</style> | |||
</head> | |||
<body> | |||
<div class="d-flex flex-md-row align-items-center shadow-sm biz-head mb-5"> | |||
<div class="container"> | |||
<div class="row"> | |||
<div class="col-6 text-left"> | |||
<div class="logo"><img src="../static/web/img/logo.png" title="<?php echo $cfg_soft_enname;?>" class="logo"></div> | |||
</div> | |||
<div class="col-6 text-right d-flex justify-content-end biz-nav"> | |||
<div class="col-6 col-md-4 text-left"><img src="../static/web/img/logo.png" title="<?php echo $cfg_soft_enname;?>" class="logo"></div> | |||
<div class="col-6 col-md-8 text-right d-flex justify-content-end biz-nav"> | |||
<a href="https://www.dedebiz.com/help" target="_blank" class="biz-nav-a"><i class="fa fa-info-circle"></i> 帮助中心</a> | |||
<a href="https://www.dedebiz.com/service" target="_blank" class="biz-nav-a"><i class="fa fa-handshake-o"></i> 技术服务</a> | |||
</div> | |||
@@ -28,93 +26,90 @@ | |||
</div> | |||
</div> | |||
<div class="container install-box"> | |||
<?php | |||
if (count($arrMsg) > 0){ | |||
foreach($arrMsg as $msg){ | |||
?> | |||
<div class="alert alert-warning"><?php echo $msg ?></div> | |||
<?php }}?> | |||
<div class="alert alert-warning">请先阅读<a href="https://www.dedebiz.com/license?from=install" target="_blank" class="text-success">《站点授权协议》</a></div> | |||
<div class="card shadow-sm mb-3"> | |||
<div class="card-header bg-success text-white"> | |||
<h5 class="my-0 fw-normal text-center">欢迎使用DedeCMSV<?php echo $cfg_version_detail;?></h5> | |||
</div> | |||
<div class="card-body"> | |||
<form action="index.php" method="post" name="form1"> | |||
<input type="hidden" name="step" value="2" /> | |||
<input type="hidden" name="cookieencode" value="<?php echo $rnd_cookieEncode; ?>"> | |||
<input type="hidden" name="adminmail" value="admin@dedebiz.com"> | |||
<legend>数据库设置</legend> | |||
<hr> | |||
<div class="form-group"> | |||
<label for="dbtype" class="form-label">数据库类型</label> | |||
<select id="dbtype" name="dbtype" class="form-control form-select"> | |||
<option value="mysql" selected>MySQL</option> | |||
<option value="sqlite">SQLite</option> | |||
</select> | |||
<div class="form-text text-danger">数据库类型一般为MySQL,SQLite仅用于开发调试,不建议生产中使用。</div> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbhost" class="form-label">数据库主机</label> | |||
<input id="dbhost" name="dbhost" type="text" class="form-control" placeholder="localhost"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbuser" class="form-label">数据库用户</label> | |||
<input name="dbuser" id="dbuser" type="text" class="form-control" placeholder="root"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="exampleInputPassword1" class="form-label">数据库密码</label> | |||
<input name="dbpwd" type="text" class="form-control" id="dbpwd"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbprefix" class="form-label">数据表前缀</label> | |||
<input name="dbprefix" type="text" class="form-control" id="dbprefix" placeholder="biz_"> | |||
<div class="form-text text-danger">请注意数据库名称默认为biz_</div> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbname" class="form-label">数据库名称</label> | |||
<div class="input-group mb-3"> | |||
<input id="dbname" name="dbname" type="text" class="form-control" placeholder="DedeBIZ"> | |||
<div class="input-group-append"> | |||
<button class="btn btn-success" type="button" id="btnCheckConnect">检查连接</button> | |||
<div class="row"> | |||
<div class="col-md-12"> | |||
<?php | |||
if (count($arrMsg) > 0){ | |||
foreach($arrMsg as $msg){ | |||
?> | |||
<div class="alert alert-warning"><?php echo $msg ?></div> | |||
<?php }}?> | |||
<div class="alert alert-warning">请先阅读<a href="https://www.dedebiz.com/license?from=install" target="_blank" class="text-success">《站点授权协议》</a></div> | |||
<div class="card shadow-sm mb-3"> | |||
<div class="card-header bg-success text-white"> | |||
<h4 class="text-center my-0">欢迎使用DedeCMSV<?php echo $cfg_version_detail;?></h4> | |||
</div> | |||
<div class="card-body"> | |||
<form action="index.php" method="post" name="form1"> | |||
<input type="hidden" name="step" value="2" /> | |||
<input type="hidden" name="cookieencode" value="<?php echo $rnd_cookieEncode; ?>"> | |||
<input type="hidden" name="adminmail" value="admin@dedebiz.com"> | |||
<legend>数据库设置</legend> | |||
<hr> | |||
<div class="form-group"> | |||
<label for="dbtype" class="form-label">数据库类型</label> | |||
<select id="dbtype" name="dbtype" class="form-control form-select"> | |||
<option value="mysql" selected>MySQL</option> | |||
<option value="sqlite">SQLite</option> | |||
</select> | |||
<div class="form-text text-danger">数据库类型一般为MySQL,SQLite仅用于开发调试,不建议生产中使用。</div> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbhost" class="form-label">数据库主机</label> | |||
<input type="text" name="dbhost" id="dbhost" class="form-control" placeholder="localhost"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbuser" class="form-label">数据库用户</label> | |||
<input type="text" name="dbuser" id="dbuser" class="form-control" placeholder="root"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="exampleInputPassword1" class="form-label">数据库密码</label> | |||
<input type="text" name="dbpwd" id="dbpwd" class="form-control"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbprefix" class="form-label">数据表前缀</label> | |||
<input type="text" name="dbprefix" id="dbprefix" class="form-control" placeholder="biz_"> | |||
<div class="form-text text-danger">请注意数据库名称默认为biz_</div> | |||
</div> | |||
<div class="form-group"> | |||
<label for="dbname" class="form-label">数据库名称</label> | |||
<div class="input-group"> | |||
<input id="dbname" name="dbname" type="text" class="form-control" placeholder="DedeBIZ"> | |||
<div class="input-group-append"><button type="button" id="btnCheckConnect" class="btn btn-success">检查连接</button></div> | |||
</div> | |||
</div> | |||
</div> | |||
<div id="alertConnect"></div> | |||
<legend>站点设置</legend> | |||
<hr> | |||
<div class="form-group"> | |||
<label for="baseurl" class="form-label">网站网址</label> | |||
<input name="baseurl" type="text" class="form-control" id="baseurl" placeholder="<?php echo $baseurl; ?>"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="webname" class="form-label">网站名称</label> | |||
<input name="webname" type="text" class="form-control" id="webname" placeholder="某某公司"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="adminuser" class="form-label">用户名</label> | |||
<input name="adminuser" type="text" class="form-control" id="adminuser" placeholder="admin"> | |||
<div class="form-text text-dark">只能用[0-9a-zA-Z_@!.-]以内范围的字符</div> | |||
</div> | |||
<div class="form-group"> | |||
<label for="adminpwd" class="form-label">密码</label> | |||
<input name="adminpwd" type="text" class="form-control" id="adminpwd" placeholder="admin"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="cmspath" class="form-label">安装目录</label> | |||
<input name="cmspath" type="text" class="form-control" id="cmspath" value="<?php echo $basepath; ?>" placeholder="<?php echo $basepath; ?>"> | |||
<div class="form-text text-danger">在根目录安装时不必理会</div> | |||
</div> | |||
<div class="text-right"> | |||
<button type="submit" class="btn btn-success">立即安装</button> | |||
</div> | |||
</form> | |||
<div id="alertConnect"></div> | |||
<legend>站点设置</legend> | |||
<hr> | |||
<div class="form-group"> | |||
<label for="baseurl" class="form-label">网站网址</label> | |||
<input type="text" name="baseurl" id="baseurl" class="form-control" placeholder="<?php echo $baseurl; ?>"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="webname" class="form-label">网站名称</label> | |||
<input type="text" name="webname" id="webname" class="form-control" placeholder="某某公司"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="adminuser" class="form-label">用户名</label> | |||
<input type="text" name="adminuser" id="adminuser" class="form-control" placeholder="admin"> | |||
<div class="form-text text-dark">只能用[0-9a-zA-Z_@!.-]以内范围的字符</div> | |||
</div> | |||
<div class="form-group"> | |||
<label for="adminpwd" class="form-label">密码</label> | |||
<input type="text" name="adminpwd" id="adminpwd" class="form-control" placeholder="admin"> | |||
</div> | |||
<div class="form-group"> | |||
<label for="cmspath" class="form-label">安装目录</label> | |||
<input type="text" name="cmspath" id="cmspath" class="form-control" value="<?php echo $basepath; ?>" placeholder="<?php echo $basepath; ?>"> | |||
<div class="form-text text-danger">在根目录安装时不必理会</div> | |||
</div> | |||
<div class="text-right"><button type="submit" class="btn btn-success">立即安装</button></div> | |||
</form> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="row"> | |||
<div class="col-12"> | |||
<p>Powered by <a href="https://www.dedebiz.com" target="_blank" class="text-dark">DedeBIZ开发团队</a></p> | |||
</div> | |||
<div class="col-md-12"> | |||
<p>Powered by <a href="https://www.dedebiz.com" target="_blank" class="text-dark">DedeBIZ开发团队</a></p> | |||
</div> | |||
</div> | |||
<script> | |||
@@ -1,38 +0,0 @@ | |||
"Kama" Skin | |||
==================== | |||
"Kama" is the default skin of CKEditor 3.x. | |||
It's been ported to CKEditor 4 and fully featured. | |||
For more information about skins, please check the [CKEditor Skin SDK](https://ckeditor.com/docs/ckeditor4/latest/guide/skin_sdk_intro.html) | |||
documentation. | |||
Directory Structure | |||
------------------- | |||
CSS parts: | |||
- **editor.css**: the main CSS file. It's simply loading several other files, for easier maintenance, | |||
- **mainui.css**: the file contains styles of entire editor outline structures, | |||
- **toolbar.css**: the file contains styles of the editor toolbar space (top), | |||
- **richcombo.css**: the file contains styles of the rich combo ui elements on toolbar, | |||
- **panel.css**: the file contains styles of the rich combo drop-down, it's not loaded | |||
until the first panel open up, | |||
- **elementspath.css**: the file contains styles of the editor elements path bar (bottom), | |||
- **menu.css**: the file contains styles of all editor menus including context menu and button drop-down, | |||
it's not loaded until the first menu open up, | |||
- **dialog.css**: the CSS files for the dialog UI, it's not loaded until the first dialog open, | |||
- **reset.css**: the file defines the basis of style resets among all editor UI spaces, | |||
- **preset.css**: the file defines the default styles of some UI elements reflecting the skin preference, | |||
- **editor_XYZ.css** and **dialog_XYZ.css**: browser specific CSS hacks. | |||
Other parts: | |||
- **skin.js**: the only JavaScript part of the skin that registers the skin, its browser specific files and its icons and defines the Chameleon feature, | |||
- **icons/**: contains all skin defined icons, | |||
- **images/**: contains a fill general used images. | |||
License | |||
------- | |||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||
For licensing, see LICENSE.md or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license) |
@@ -1,8 +0,0 @@ | |||
/* | |||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | |||
*/ | |||
CKEDITOR.skin.name="kama";CKEDITOR.skin.ua_editor="ie,iequirks,ie7,ie8";CKEDITOR.skin.ua_dialog="ie,iequirks,ie7,ie8"; | |||
CKEDITOR.skin.chameleon=function(d,c){var b,a="."+d.id;"editor"==c?b=a+" .cke_inner,"+a+" .cke_dialog_tab{background-color:$color;linear-gradient( to bottom,#fff -15px,$color 40px );}"+a+" .cke_toolgroup{linear-gradient( to bottom,#fff,$color 100px );}"+a+" .cke_combo_button{linear-gradient( to top,#fff,$color 100px );}"+a+" .cke_dialog_contents,"+a+" .cke_dialog_footer{background-color:$color !important;}"+a+" .cke_dialog_tab:hover,"+a+" .cke_dialog_tab:active,"+a+" .cke_dialog_tab:focus,"+a+" .cke_dialog_tab_selected{background-color:$color;background-image:none;}": | |||
"panel"==c&&(b=".cke_menubutton_icon{background-color:$color !important;border-color:$color !important;}.cke_menubutton:hover .cke_menubutton_icon,.cke_menubutton:focus .cke_menubutton_icon,.cke_menubutton:active .cke_menubutton_icon{background-color:$color !important;border-color:$color !important;}.cke_menubutton:hover .cke_menubutton_label,.cke_menubutton:focus .cke_menubutton_label,.cke_menubutton:active .cke_menubutton_label{background-color:$color !important;}.cke_menubutton_disabled:hover .cke_menubutton_label,.cke_menubutton_disabled:focus .cke_menubutton_label,.cke_menubutton_disabled:active .cke_menubutton_label{background-color: transparent !important;}.cke_menubutton_disabled:hover .cke_menubutton_icon,.cke_menubutton_disabled:focus .cke_menubutton_icon,.cke_menubutton_disabled:active .cke_menubutton_icon{background-color:$color !important;border-color:$color !important;}.cke_menubutton_disabled .cke_menubutton_icon{background-color:$color !important;border-color:$color !important;}.cke_menuseparator{background-color:$color !important;}.cke_menubutton:hover,.cke_menubutton:focus,.cke_menubutton:active{background-color:$color !important;}"); | |||
return b}; |
@@ -1,49 +0,0 @@ | |||
"Moono" Skin | |||
==================== | |||
This skin has been chosen for the **default skin** of CKEditor 4.x.x (replaced by "Moono-lisa" skin since CKEditor 4.6.0), | |||
elected from the CKEditor [skin contest](https://ckeditor.com/blog/CKEditor-4-Skin-Contest-Winner/) and further shaped by | |||
the CKEditor team. "Moono" is maintained by the core developers. | |||
For more information about skins, please check the [CKEditor Skin SDK](https://ckeditor.com/docs/ckeditor4/latest/guide/skin_sdk_intro.html) | |||
documentation. | |||
Features | |||
------------------- | |||
"Moono" is a monochromatic skin, which offers a modern look coupled with gradients and transparency. | |||
It comes with the following features: | |||
- Chameleon feature with brightness, | |||
- high-contrast compatibility, | |||
- graphics source provided in SVG. | |||
Directory Structure | |||
------------------- | |||
CSS parts: | |||
- **editor.css**: the main CSS file. It's simply loading several other files, for easier maintenance, | |||
- **mainui.css**: the file contains styles of entire editor outline structures, | |||
- **toolbar.css**: the file contains styles of the editor toolbar space (top), | |||
- **richcombo.css**: the file contains styles of the rich combo ui elements on toolbar, | |||
- **panel.css**: the file contains styles of the rich combo drop-down, it's not loaded | |||
until the first panel open up, | |||
- **elementspath.css**: the file contains styles of the editor elements path bar (bottom), | |||
- **menu.css**: the file contains styles of all editor menus including context menu and button drop-down, | |||
it's not loaded until the first menu open up, | |||
- **dialog.css**: the CSS files for the dialog UI, it's not loaded until the first dialog open, | |||
- **reset.css**: the file defines the basis of style resets among all editor UI spaces, | |||
- **preset.css**: the file defines the default styles of some UI elements reflecting the skin preference, | |||
- **editor_XYZ.css** and **dialog_XYZ.css**: browser specific CSS hacks. | |||
Other parts: | |||
- **skin.js**: the only JavaScript part of the skin that registers the skin, its browser specific files and its icons and defines the Chameleon feature, | |||
- **icons/**: contains all skin defined icons, | |||
- **images/**: contains a fill general used images, | |||
- **dev/**: contains SVG source of the skin icons. | |||
License | |||
------- | |||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||
For licensing, see LICENSE.md or [https://ckeditor.com/legal/ckeditor-oss-license](https://ckeditor.com/legal/ckeditor-oss-license) |
@@ -1,10 +0,0 @@ | |||
/* | |||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | |||
*/ | |||
CKEDITOR.skin.name="moono";CKEDITOR.skin.ua_editor="ie,iequirks,ie7,ie8,gecko";CKEDITOR.skin.ua_dialog="ie,iequirks,ie7,ie8"; | |||
CKEDITOR.skin.chameleon=function(){var b=function(){return function(b,e){for(var a=b.match(/[^#]./g),c=0;3>c;c++){var f=c,d;d=parseInt(a[c],16);d=("0"+(0>e?0|d*(1+e):0|d+(255-d)*e).toString(16)).slice(-2);a[f]=d}return"#"+a.join("")}}(),c=function(){var b=new CKEDITOR.template("background:#{to};background-image:linear-gradient(to bottom,{from},{to});filter:progid:DXImageTransform.Microsoft.gradient(gradientType\x3d0,startColorstr\x3d'{from}',endColorstr\x3d'{to}');");return function(c,a){return b.output({from:c, | |||
to:a})}}(),f={editor:new CKEDITOR.template("{id}.cke_chrome [border-color:{defaultBorder};] {id} .cke_top [ {defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_bottom [{defaultGradient}border-top-color:{defaultBorder};] {id} .cke_resizer [border-right-color:{ckeResizer}] {id} .cke_dialog_title [{defaultGradient}border-bottom-color:{defaultBorder};] {id} .cke_dialog_footer [{defaultGradient}outline-color:{defaultBorder};border-top-color:{defaultBorder};] {id} .cke_dialog_tab [{lightGradient}border-color:{defaultBorder};] {id} .cke_dialog_tab:hover [{mediumGradient}] {id} .cke_dialog_contents [border-top-color:{defaultBorder};] {id} .cke_dialog_tab_selected, {id} .cke_dialog_tab_selected:hover [background:{dialogTabSelected};border-bottom-color:{dialogTabSelectedBorder};] {id} .cke_dialog_body [background:{dialogBody};border-color:{defaultBorder};] {id} .cke_toolgroup [{lightGradient}border-color:{defaultBorder};] {id} a.cke_button_off:hover, {id} a.cke_button_off:focus, {id} a.cke_button_off:active [{mediumGradient}] {id} .cke_button_on [{ckeButtonOn}] {id} .cke_toolbar_separator [background-color: {ckeToolbarSeparator};] {id} .cke_combo_button [border-color:{defaultBorder};{lightGradient}] {id} a.cke_combo_button:hover, {id} a.cke_combo_button:focus, {id} .cke_combo_on a.cke_combo_button [border-color:{defaultBorder};{mediumGradient}] {id} .cke_path_item [color:{elementsPathColor};] {id} a.cke_path_item:hover, {id} a.cke_path_item:focus, {id} a.cke_path_item:active [background-color:{elementsPathBg};] {id}.cke_panel [border-color:{defaultBorder};] "), | |||
panel:new CKEDITOR.template(".cke_panel_grouptitle [{lightGradient}border-color:{defaultBorder};] .cke_menubutton_icon [background-color:{menubuttonIcon};] .cke_menubutton:hover .cke_menubutton_icon, .cke_menubutton:focus .cke_menubutton_icon, .cke_menubutton:active .cke_menubutton_icon [background-color:{menubuttonIconHover};] .cke_menuseparator [background-color:{menubuttonIcon};] a:hover.cke_colorbox, a:focus.cke_colorbox, a:active.cke_colorbox [border-color:{defaultBorder};] a:hover.cke_colorauto, a:hover.cke_colormore, a:focus.cke_colorauto, a:focus.cke_colormore, a:active.cke_colorauto, a:active.cke_colormore [background-color:{ckeColorauto};border-color:{defaultBorder};] ")}; | |||
return function(g,e){var a=g.uiColor,a={id:"."+g.id,defaultBorder:b(a,-.1),defaultGradient:c(b(a,.9),a),lightGradient:c(b(a,1),b(a,.7)),mediumGradient:c(b(a,.8),b(a,.5)),ckeButtonOn:c(b(a,.6),b(a,.7)),ckeResizer:b(a,-.4),ckeToolbarSeparator:b(a,.5),ckeColorauto:b(a,.8),dialogBody:b(a,.7),dialogTabSelected:c("#FFFFFF","#FFFFFF"),dialogTabSelectedBorder:"#FFF",elementsPathColor:b(a,-.6),elementsPathBg:a,menubuttonIcon:b(a,.5),menubuttonIconHover:b(a,.3)};return f[e].output(a).replace(/\[/g,"{").replace(/\]/g, | |||
"}")}}(); |
@@ -513,4 +513,9 @@ span.page-link { | |||
width:20px; | |||
height:20px; | |||
border-radius:.2rem | |||
} | |||
@media (min-width:576px) { | |||
.modal-dialog { | |||
max-width:520px | |||
} | |||
} |
@@ -75,9 +75,8 @@ class ListView | |||
$this->Fields['id'] = $typeid; | |||
$this->Fields['position'] = $this->TypeLink->GetPositionLink(true); | |||
$this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false)); | |||
//添加联动多筛选 | |||
if (isset($_REQUEST['tid'])) | |||
{ | |||
//添加联动单筛选 | |||
if (isset($_REQUEST['tid'])) { | |||
foreach($_GET as $key => $value) { | |||
if ($key!="tid" && $key!="TotalResult" && $key!="PageNo") { | |||
$this->Fields[string_filter($key)] = string_filter(urldecode($value)); | |||
@@ -131,11 +130,9 @@ class ListView | |||
{ | |||
global $cfg_list_son,$cfg_need_typeid2,$cfg_cross_sectypeid; | |||
if (empty($cfg_need_typeid2)) $cfg_need_typeid2 = 'N'; | |||
//获得附加表的相关信息 | |||
$addtable = $this->ChannelUnit->ChannelInfos['addtable']; | |||
$filtersql = ''; | |||
if ($addtable!="") | |||
{ | |||
//获得附加表的相关信息,联动单筛选 | |||
$addtable = $this->ChannelUnit->ChannelInfos['addtable']; | |||
if ($addtable!="") { | |||
$addJoin = " LEFT JOIN `$addtable` ON arc.id = ".$addtable.'.aid '; | |||
$addField = ''; | |||
$fields = explode(',',$this->ChannelUnit->ChannelInfos['listfields']); | |||
@@ -143,29 +140,21 @@ class ListView | |||
{ | |||
$nfields[$v] = $k; | |||
} | |||
if (is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields)) | |||
{ | |||
if (is_array($this->ChannelUnit->ChannelFields) && !empty($this->ChannelUnit->ChannelFields)) { | |||
foreach($this->ChannelUnit->ChannelFields as $k=>$arr) | |||
{ | |||
if (isset($nfields[$k])) | |||
{ | |||
if (isset($nfields[$k])) { | |||
if (!empty($arr['rename'])) { | |||
$addField .= ','.$addtable.'.'.$k.' as '.$arr['rename']; | |||
} | |||
else { | |||
} else { | |||
$addField .= ','.$addtable.'.'.$k; | |||
} | |||
} | |||
} | |||
} | |||
if (isset($_REQUEST['tid'])) | |||
{ | |||
foreach($_GET as $key => $value) { | |||
$value1 = explode("|", $value); | |||
foreach ($value1 as $valuea) | |||
{ | |||
$filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND find_in_set('".string_filter(urldecode($valuea))."', ".$addtable.".".string_filter($key).")" : ''; | |||
} | |||
if (isset($_REQUEST['tid'])) { | |||
foreach ($_GET as $key => $value) { | |||
$filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND $addtable.".string_filter($key)." = '".string_filter(urldecode($value))."'" : ''; | |||
} | |||
} | |||
} else { | |||
@@ -218,8 +207,8 @@ class ListView | |||
} | |||
} | |||
} | |||
if ($this->TotalResult==-1) | |||
{ | |||
if ($this->TotalResult==-1) { | |||
//添加联动单筛选 | |||
$cquery = "SELECT COUNT(*) AS dd FROM `#@__arctiny` arc $addJoin WHERE ".$this->addSql.$filtersql; | |||
$row = $this->dsql->GetOne($cquery); | |||
if (is_array($row)) { | |||
@@ -632,9 +621,8 @@ class ListView | |||
} else { | |||
$ordersql = " ORDER BY arc.sortrank $orderWay"; | |||
} | |||
$filtersql = ''; | |||
//获得附加表的相关信息 | |||
$addtable = $this->ChannelUnit->ChannelInfos['addtable']; | |||
$addtable = $this->ChannelUnit->ChannelInfos['addtable']; | |||
if ($addtable!="") | |||
{ | |||
$addJoin = " LEFT JOIN `$addtable` ON arc.id = ".$addtable.'.aid '; | |||
@@ -659,14 +647,11 @@ class ListView | |||
} | |||
} | |||
} | |||
if (isset($_REQUEST['tid'])) | |||
{ | |||
foreach($_GET as $key => $value) { | |||
$value1 = explode("|", $value); | |||
foreach ($value1 as $valuea) | |||
{ | |||
$filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND find_in_set('".string_filter(urldecode($valuea))."', ".$addtable.".".string_filter($key).")" : ''; | |||
} | |||
//添加联动单筛选 | |||
if (isset($_REQUEST['tid'])) { | |||
foreach($_GET as $key => $value) | |||
{ | |||
$filtersql .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? " AND $addtable.".string_filter($key)." = '".string_filter(urldecode($value))."'" : ''; | |||
} | |||
} | |||
} else { | |||
@@ -681,7 +666,7 @@ class ListView | |||
else { | |||
$t1 = ExecTime(); | |||
$ids = array(); | |||
$query = "SELECT id FROM `#@__arctiny` arc $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row "; | |||
$query = "SELECT id FROM `#@__arctiny` arc $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row"; | |||
$this->dsql->SetQuery($query); | |||
$this->dsql->Execute(); | |||
while ($arr = $this->dsql->GetArray()) { | |||
@@ -875,9 +860,7 @@ class ListView | |||
} | |||
for ($j; $j <= $total_list; $j++) { | |||
if ($j == $this->PageNo) { | |||
//$listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>\r\n"; | |||
$listdd .= "<li class='page-item'><a class='page-link' href='".$typedir."'>'.$j.'</a></li>\r\n"; | |||
$listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>\r\n"; | |||
} else { | |||
$listdd .= "<li class='page-item'><a class='page-link' href='".str_replace("{page}", $j, $tnamerule)."'>".$j."</a></li>\r\n"; | |||
} | |||
@@ -927,20 +910,22 @@ class ListView | |||
$geturl = "tid=".$this->TypeID."&TotalResult=".$this->TotalResult."&"; | |||
$purl .= '?'.$geturl; | |||
$optionlist = ''; | |||
//$hidenform = "<input type='hidden' name='tid' value='".$this->TypeID."'>\r\n"; | |||
//$hidenform .= "<input type='hidden' name='TotalResult' value='".$this->TotalResult."'>\r\n"; | |||
//添加联动单筛选 | |||
foreach($_GET as $key => $value) { | |||
$pageaddurl .= ($key!="tid" && $key!="TotalResult" && $key!="PageNo") ? "&".string_filter($key)."=".string_filter($value) : ''; | |||
} | |||
//获得上一页和下一页的链接 | |||
if ($this->PageNo != 1) { | |||
$prepage .= "<li class='page-item'><a href='".$purl."PageNo=$prepagenum' class='page-link'>上一页</a></li>\r\n"; | |||
$indexpage = "<li class='page-item'><a href='".$purl."PageNo=1' class='page-link'>首页</a></li>\r\n"; | |||
$prepage .= "<li class='page-item'><a href='".$purl."PageNo=$prepagenum".$pageaddurl."' class='page-link'>上一页</a></li>\r\n"; | |||
$indexpage = "<li class='page-item'><a href='".$purl."PageNo=1".$pageaddurl."' class='page-link'>首页</a></li>\r\n"; | |||
} else { | |||
$indexpage = "<li class='page-item'><a class='page-link'>首页</a></li>\r\n"; | |||
$indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>\r\n"; | |||
} | |||
if ($this->PageNo != $totalpage && $totalpage > 1) { | |||
$nextpage .= "<li class='page-item'><a href='".$purl."PageNo=$nextpagenum' class='page-link'>下一页</a></li>\r\n"; | |||
$endpage = "<li class='page-item'><a href='".$purl."PageNo=$totalpage' class='page-link'>末页</a></li>\r\n"; | |||
$nextpage .= "<li class='page-item'><a href='".$purl."PageNo=$nextpagenum".$pageaddurl."' class='page-link'>下一页</a></li>\r\n"; | |||
$endpage = "<li class='page-item'><a href='".$purl."PageNo=$totalpage".$pageaddurl."' class='page-link'>末页</a></li>\r\n"; | |||
} else { | |||
$endpage = "<li class='page-item'><a class='page-link'>末页</a></li>\r\n"; | |||
$endpage = "<li class='page-item'><span class='page-link'>末页</span></li>\r\n"; | |||
} | |||
//获得数字链接 | |||
$listdd = ""; | |||
@@ -959,9 +944,9 @@ class ListView | |||
} | |||
for ($j; $j <= $total_list; $j++) { | |||
if ($j == $this->PageNo) { | |||
$listdd .= "<li class='page-item active'><a class='page-link'>$j</a></li>\r\n"; | |||
$listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>\r\n"; | |||
} else { | |||
$listdd .= "<li class='page-item'><a href='".$purl."PageNo=$j' class='page-link'>".$j."</a></li>\r\n"; | |||
$listdd .= "<li class='page-item'><a href='".$purl."PageNo=$j".$pageaddurl."' class='page-link'>".$j."</a></li>\r\n"; | |||
} | |||
} | |||
$plist = ""; | |||
@@ -500,14 +500,14 @@ class TagList | |||
$purl = $this->tagsDir.'/'.$this->TagInfos['id']; | |||
//获得上一页和下一页的链接 | |||
if ($this->PageNo != 1) { | |||
$prepage .= "<li class='page-item'><a class='page-link' href='".$purl."/$prepagenum/'>上一页</a></li>\r\n"; | |||
$indexpage = "<li class='page-item'><a class='page-link' href='".$purl."/1/'>首页</a></li>\r\n"; | |||
$prepage .= "<li class='page-item'><a href='".$purl."/$prepagenum/' class='page-link'>上一页</a></li>\r\n"; | |||
$indexpage = "<li class='page-item'><a href='".$purl."/1/' class='page-link'>首页</a></li>\r\n"; | |||
} else { | |||
$indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>\r\n"; | |||
} | |||
if ($this->PageNo != $totalpage && $totalpage > 1) { | |||
$nextpage .= "<li class='page-item'><a class='page-link' href='".$purl."/$nextpagenum/'>下一页</a></li>\r\n"; | |||
$endpage = "<li class='page-item'><a class='page-link' href='".$purl."/$totalpage/'>末页</a></li>\r\n"; | |||
$nextpage .= "<li class='page-item'><a href='".$purl."/$nextpagenum/' class='page-link'>下一页</a></li>\r\n"; | |||
$endpage = "<li class='page-item'><a href='".$purl."/$totalpage/' class='page-link'>末页</a></li>\r\n"; | |||
} else { | |||
$endpage = "<li class='page-item'><span class='page-link'>末页</span></li>\r\n"; | |||
} | |||
@@ -530,7 +530,7 @@ class TagList | |||
if ($j == $this->PageNo) { | |||
$listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>\r\n"; | |||
} else { | |||
$listdd .= "<li class='page-item'><a class='page-link' href='".$purl."/$j/'>".$j."</a></li>\r\n"; | |||
$listdd .= "<li class='page-item'><a href='".$purl."/$j/' class='page-link'>".$j."</a></li>\r\n"; | |||
} | |||
} | |||
$plist = ""; | |||
@@ -467,7 +467,7 @@ if (!function_exists('pasterTempletDiy')) { | |||
$dtp->Display(); | |||
} | |||
} | |||
//多选联动筛选标签{dede:php}AddFilter(模型id,类型,"字段1,字段2");{/dede:php} | |||
//联动单筛选标签{dede:php}AddFilter(模型id,类型,'字段1,字段2');{/dede:php} | |||
function litimgurls($imgid = 0) | |||
{ | |||
global $lit_imglist, $dsql; | |||
@@ -499,72 +499,66 @@ function string_filter($str, $stype = "inject") | |||
} | |||
return $str; | |||
} | |||
//联动筛选载入自定义表单发布 | |||
function AddFilter($channelid, $type = 1, $fieldsnamef = "", $defaulttid = 0, $loadtype = 'autofield') | |||
//联动单筛选自定义表单发布 | |||
function AddFilter($channelid, $type=1, $fieldsnamef=array(), $defaulttid=0, $toptid=0, $loadtype='autofield') | |||
{ | |||
global $tid, $dsql, $id; | |||
global $tid, $dsql, $id, $aid; | |||
$tid = $defaulttid ? $defaulttid : $tid; | |||
$id = intval($id); | |||
$tid = intval($tid); | |||
$channelid = intval($channelid); | |||
if ($id != "") { | |||
$tidsq = $dsql->GetOne("SELECT typeid FROM `#@__archives` WHERE id='$id'"); | |||
$tid = $tidsq["typeid"]; | |||
if ($id!="" || $aid!="") | |||
{ | |||
$arcid = $id!="" ? $id : $aid; | |||
$tidsq = $dsql->GetOne("SELECT * FROM `#@__archives` WHERE id='$arcid'"); | |||
$tid = $toptid==0 ? $tidsq["typeid"] : $tidsq["topid"]; | |||
} | |||
$nofilter = (isset($_REQUEST['TotalResult']) ? "&TotalResult=".(int)$_REQUEST['TotalResult'] : '').(isset($_REQUEST['PageNo']) ? "&PageNo=".(int)$_REQUEST['PageNo'] : ''); | |||
$filterarr = string_filter(stripos($_SERVER['REQUEST_URI'], "list.php?tid=") ? str_replace($nofilter, '', $_SERVER['REQUEST_URI']) : $GLOBALS['cfg_cmsurl']."/apps/list.php?tid=".$tid); | |||
$nofilter = (isset($_REQUEST['TotalResult']) ? "&TotalResult=".$_REQUEST['TotalResult'] : '').(isset($_REQUEST['PageNo']) ? "&PageNo=".$_REQUEST['PageNo'] : ''); | |||
$filterarr = string_filter(stripos($_SERVER['REQUEST_URI'], "list.php?tid=") ? str_replace($nofilter, '', $_SERVER['REQUEST_URI']) : $GLOBALS['cfg_cmsurl']."/plus/list.php?tid=".$tid); | |||
$cInfos = $dsql->GetOne("SELECT * FROM `#@__channeltype` WHERE id='$channelid'"); | |||
$fieldset = stripslashes($cInfos['fieldset']); | |||
$fieldset=$cInfos['fieldset']; | |||
$dtp = new DedeTagParse(); | |||
$dtp->SetNameSpace('field', '<', '>'); | |||
$dtp->SetNameSpace('field','<','>'); | |||
$dtp->LoadSource($fieldset); | |||
$dede_addonfields = ''; | |||
if (is_array($dtp->CTags)) { | |||
foreach ($dtp->CTags as $tida => $ctag) { | |||
if(is_array($dtp->CTags)) | |||
{ | |||
foreach($dtp->CTags as $tida=>$ctag) | |||
{ | |||
$fieldsname = $fieldsnamef ? explode(",", $fieldsnamef) : explode(",", $ctag->GetName()); | |||
if (($loadtype != 'autofield' || ($loadtype == 'autofield' && $ctag->GetAtt('autofield') == 1)) && in_array($ctag->GetName(), $fieldsname)) { | |||
if(($loadtype!='autofield' || ($loadtype=='autofield' && $ctag->GetAtt('autofield')==1)) && in_array($ctag->GetName(), $fieldsname) ) | |||
{ | |||
$href1 = explode($ctag->GetName().'=', $filterarr); | |||
$href2 = explode('&', $href1[1]); | |||
$fields_value = $href2[0]; | |||
$fields_value1 = explode('|', $fields_value); | |||
$dede_addonfields .= ''.$ctag->GetAtt('itemname').':'; | |||
switch ($type) { | |||
case 1: | |||
$dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is", $filterarr, $regm) ? '<a href="'.str_replace("&".$ctag->GetName()."=".$fields_value, "", $filterarr).'" style="display:inline-block;padding:.25rem .5rem;line-height:1.5;color:#fff;background:#1eb867;border-color:#1eb867;border-radius:.2rem">全部</a>' : '<span style="display:inline-block;padding:.25rem .5rem;line-height:1.5;color:#fff;background:#dc3545;border-color:#dc3545;border-radius:.2rem">全部</span>').' '; | |||
$addonfields_items = explode(",", $ctag->GetAtt('default')); | |||
for ($i = 0; $i < count($addonfields_items); $i++) { | |||
$href = stripos($filterarr, $ctag->GetName().'=') ? str_replace("=".$fields_value, "=".$fields_value."|".urlencode($addonfields_items[$i]), $filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]); | |||
$is_select = in_array(urlencode($addonfields_items[$i]), $fields_value1) ? 1 : 0; | |||
$fields_value2 = ""; | |||
for ($j = 0; $j < count($fields_value1); $j++) { | |||
$fields_value2 .= $fields_value1[$j] != urlencode($addonfields_items[$i]) ? $fields_value1[$j].($j < count($fields_value1) - 1 ? "|" : "") : ""; | |||
} | |||
$fields_value2 = rtrim($fields_value2, "|"); | |||
$href3 = str_replace(array("&".$ctag->GetName()."=".$fields_value, $ctag->GetName()."=".$fields_value, "&".$ctag->GetName()."=&"), array("&".$ctag->GetName()."=".$fields_value2, $ctag->GetName()."=".$fields_value2, "&"), $filterarr); | |||
$href3 = !end(explode("=", $href3)) ? str_replace("&".end(explode("&", $href3)), "", $href3) : $href3; | |||
$dede_addonfields .= ($fields_value != urlencode($addonfields_items[$i]) && $is_select != 1 ? '<a title="'.$addonfields_items[$i].'" href="'.$href.'" style="display:inline-block;padding:.25rem .5rem;line-height:1.5;color:#fff;background:#1eb867;border-color:#1eb867;border-radius:.2rem">'.$addonfields_items[$i].'</a>' : '<a title="'.$addonfields_items[$i].'" href="'.$href3.'" style="display:inline-block;padding:.25rem .5rem;line-height:1.5;color:#fff;background:#dc3545;border-color:#dc3545;border-radius:.2rem">'.$addonfields_items[$i].'<span style="margin-left:6px;color:#fff">×</span></a>')." "; | |||
} | |||
$dede_addonfields .= '<br>'; | |||
break; | |||
$dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '<a href="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</a>' : '<a class="current" href="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</a>'); | |||
$addonfields_items = explode(",",$ctag->GetAtt('default')); | |||
for ($i=0; $i<count($addonfields_items); $i++) | |||
{ | |||
$href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]); | |||
$dede_addonfields .= ($fields_value!=urlencode($addonfields_items[$i]) ? '<a title="'.$addonfields_items[$i].'" href="'.$href.'">'.$addonfields_items[$i].'</a>' : '<a class="current" href="'.$href.'">'.$addonfields_items[$i].'</a>'); | |||
} | |||
break; | |||
case 2: | |||
$dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is", $filterarr, $regm) ? '<a href="'.str_replace("&".$ctag->GetName()."=".$fields_value, "", $filterarr).'">全部</a>' : '<span>全部</span>').' '; | |||
$addonfields_items = explode(",", $ctag->GetAtt('default')); | |||
for ($i = 0; $i < count($addonfields_items); $i++) { | |||
$href = stripos($filterarr, $ctag->GetName().'=') ? str_replace("=".$fields_value, "=".$fields_value."|".urlencode($addonfields_items[$i]), $filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]); | |||
$is_select = in_array(urlencode($addonfields_items[$i]), $fields_value1) ? 1 : 0; | |||
$fields_value2 = ""; | |||
for ($j = 0; $j < count($fields_value1); $j++) { | |||
$fields_value2 .= $fields_value1[$j] != urlencode($addonfields_items[$i]) ? $fields_value1[$j].($j < count($fields_value1) - 1 ? "|" : "") : ""; | |||
} | |||
$fields_value2 = rtrim($fields_value2, "|"); | |||
$href3 = str_replace(array("&".$ctag->GetName()."=".$fields_value, $ctag->GetName()."=".$fields_value, "&".$ctag->GetName()."=&"), array("&".$ctag->GetName()."=".$fields_value2, $ctag->GetName()."=".$fields_value2, "&"), $filterarr); | |||
$href3 = !end(explode("=", $href3)) ? str_replace("&".end(explode("&", $href3)), "", $href3) : $href3; | |||
$dede_addonfields .= ($fields_value != urlencode($addonfields_items[$i]) && $is_select != 1 ? '<input type="checkbox" title="'.$addonfields_items[$i].'" value="'.$href.'" onclick="window.location=this.value"> <a title="'.$addonfields_items[$i].'" href="'.$href.'">'.$addonfields_items[$i].'</a>' : '<input type="checkbox" checked="checked" title="'.$addonfields_items[$i].'" value="'.$href3.'" onclick="window.location=this.value"> <a title="'.$addonfields_items[$i].'" href="'.$href3.'" class="cur">'.$addonfields_items[$i].'</a>')." "; | |||
} | |||
$dede_addonfields .= '<br>'; | |||
break; | |||
$dede_addonfields .= '<select name="filter'.$ctag->GetName().'" onchange="window.location=this.options[this.selectedIndex].value"> | |||
'.'<option value="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'">全部</option>'; | |||
$addonfields_items = explode(",",$ctag->GetAtt('default')); | |||
for ($i=0; $i<count($addonfields_items); $i++) | |||
{ | |||
$href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]); | |||
$dede_addonfields .= '<option value="'.$href.'"'.($fields_value==urlencode($addonfields_items[$i]) ? ' selected="selected"' : '').'>'.$addonfields_items[$i].'</option> | |||
'; | |||
} | |||
$dede_addonfields .= '</select>'; | |||
break; | |||
case 3: | |||
$dede_addonfields .= (preg_match("/&".$ctag->GetName()."=/is",$filterarr,$regm) ? '<a title="全部" href="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'"><input type="radio" name="filter'.$ctag->GetName().'" value="'.str_replace("&".$ctag->GetName()."=".$fields_value,"",$filterarr).'" onclick="window.location=this.value">全部</a>' : '<span><input type="radio" name="filter'.$ctag->GetName().'" checked="checked">全部</span>'); | |||
$addonfields_items = explode(",",$ctag->GetAtt('default')); | |||
for ($i=0; $i<count($addonfields_items); $i++) | |||
{ | |||
$href = stripos($filterarr,$ctag->GetName().'=') ? str_replace("=".$fields_value,"=".urlencode($addonfields_items[$i]),$filterarr) : $filterarr.'&'.$ctag->GetName().'='.urlencode($addonfields_items[$i]); | |||
$dede_addonfields .= ($fields_value!=urlencode($addonfields_items[$i]) ? '<a title="'.$addonfields_items[$i].'" href="'.$href.'"><input type="radio" name="filter'.$ctag->GetName().'" value="'.$href.'" onclick="window.location=this.value">'.$addonfields_items[$i].'</a>' : '<span><input type="radio" name="filter'.$ctag->GetName().'" checked="checked">'.$addonfields_items[$i].'</span>'); | |||
} | |||
break; | |||
} | |||
} | |||
} | |||
@@ -7,7 +7,7 @@ | |||
* @link https://www.dedebiz.com | |||
*/ | |||
//如果启用安全模式,后台将禁用例如:模板管理、标签管理、数据库管理等存在较高安全风险的功能,关闭安全模式`TRUE`改为`FALSE` | |||
define('DEDEBIZ_SAFE_MODE', FALSE); | |||
define('DEDEBIZ_SAFE_MODE', TRUE); | |||
//生产环境使用`production`,如果采用`dev`模式,会有一些php的报错信息提示,便于开发调试 | |||
if (!defined('DEDE_ENVIRONMENT')) { | |||
define('DEDE_ENVIRONMENT', 'production'); | |||
@@ -364,8 +364,8 @@ function FillUrl($refurl, $surl) | |||
* @access public | |||
* @param string $regxurl 正则地址 | |||
* @param string $handurl 操作地址 | |||
* @param string $startid 开始ID | |||
* @param string $endid 结束ID | |||
* @param string $startid 开始id | |||
* @param string $endid 结束id | |||
* @param string $addv 增值 | |||
* @param string $usemore 使用更多 | |||
* @param string $batchrule 列表规则 | |||