@@ -3,6 +3,12 @@ | |||||
# V6.5.0 | # V6.5.0 | ||||
- 增加AI助手,可自动化构建站点内容; | - 增加AI助手,可自动化构建站点内容; | ||||
- 优化tag动态和静态生成; | |||||
- 优化搜索词和tag标签管理; | |||||
- 调整文档发布和修改时间; | |||||
- 调整支付配置布局; | |||||
- 优化后台提示文字; | |||||
- 优化php8.4部分兼容问题; | |||||
# V6.3.2 | # V6.3.2 | ||||
- 重做后台管理,手机端更好访问后台; | - 重做后台管理,手机端更好访问后台; | ||||
@@ -83,6 +83,7 @@ if ($dopost != 'save') { | |||||
} | } | ||||
//对保存的文档进行处理 | //对保存的文档进行处理 | ||||
$pubdate = GetMkTime($pubdate); | $pubdate = GetMkTime($pubdate); | ||||
$senddate = GetMkTime($senddate); | |||||
$sortrank = AddDay($pubdate, $sortup); | $sortrank = AddDay($pubdate, $sortup); | ||||
$ismake = $ishtml == 0 ? -1 : 0; | $ismake = $ishtml == 0 ? -1 : 0; | ||||
$title = cn_substrR($title, $cfg_title_maxlen); | $title = cn_substrR($title, $cfg_title_maxlen); | ||||
@@ -117,7 +118,7 @@ if ($dopost != 'save') { | |||||
if (preg_match("#j#", $flag)) $ismake = -1; | if (preg_match("#j#", $flag)) $ismake = -1; | ||||
//更新数据库的SQL语句 | //更新数据库的SQL语句 | ||||
$query = " | $query = " | ||||
UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',click='$click',ismake='$ismake',arcrank='$arcrank',money='$money',title='$title',color='$color',source='$source',writer='$writer',litpic='$litpic',pubdate='$pubdate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid' WHERE id='$id'; "; | |||||
UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',click='$click',ismake='$ismake',arcrank='$arcrank',money='$money',title='$title',color='$color',source='$source',writer='$writer',litpic='$litpic',pubdate='$pubdate',senddate='$senddate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid' WHERE id='$id'; "; | |||||
if (!$dsql->ExecuteNoneQuery($query)) { | if (!$dsql->ExecuteNoneQuery($query)) { | ||||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段".$dsql->GetError(), "javascript:;"); | ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段".$dsql->GetError(), "javascript:;"); | ||||
exit(); | exit(); | ||||
@@ -69,6 +69,7 @@ if ($dopost != 'save') { | |||||
} | } | ||||
//对保存的文档进行处理 | //对保存的文档进行处理 | ||||
$pubdate = GetMkTime($pubdate); | $pubdate = GetMkTime($pubdate); | ||||
$senddate = GetMkTime($senddate); | |||||
$sortrank = AddDay($pubdate, $sortup); | $sortrank = AddDay($pubdate, $sortup); | ||||
$ismake = $ishtml == 0 ? -1 : 0; | $ismake = $ishtml == 0 ? -1 : 0; | ||||
$title = cn_substrR($title, $cfg_title_maxlen); | $title = cn_substrR($title, $cfg_title_maxlen); | ||||
@@ -122,7 +123,7 @@ if ($dopost != 'save') { | |||||
//跳转网址的文档强制为动态 | //跳转网址的文档强制为动态 | ||||
if (preg_match("#j#", $flag)) $ismake = -1; | if (preg_match("#j#", $flag)) $ismake = -1; | ||||
//更新数据库的SQL语句 | //更新数据库的SQL语句 | ||||
$inQuery = "UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',notpost='$notpost',click='$click',ismake='$ismake',arcrank='$arcrank',money='$money',title='$title',color='$color',writer='$writer',source='$source',litpic='$litpic',pubdate='$pubdate',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid',weight='$weight' WHERE id='$id'; "; | |||||
$inQuery = "UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',notpost='$notpost',click='$click',ismake='$ismake',arcrank='$arcrank',money='$money',title='$title',color='$color',writer='$writer',source='$source',litpic='$litpic',pubdate='$pubdate',senddate='$senddate',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid',weight='$weight' WHERE id='$id'; "; | |||||
if (!$dsql->ExecuteNoneQuery($inQuery)) { | if (!$dsql->ExecuteNoneQuery($inQuery)) { | ||||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | ||||
exit(); | exit(); | ||||
@@ -72,6 +72,7 @@ if ($dopost != 'save') { | |||||
} | } | ||||
//对保存的文档进行处理 | //对保存的文档进行处理 | ||||
$pubdate = GetMkTime($pubdate); | $pubdate = GetMkTime($pubdate); | ||||
$senddate = GetMkTime($senddate); | |||||
$sortrank = AddDay($pubdate, $sortup); | $sortrank = AddDay($pubdate, $sortup); | ||||
$ismake = $ishtml == 0 ? -1 : 0; | $ismake = $ishtml == 0 ? -1 : 0; | ||||
$autokey = 1; | $autokey = 1; | ||||
@@ -132,7 +133,7 @@ if ($dopost != 'save') { | |||||
//跳转网址的文档强制为动态 | //跳转网址的文档强制为动态 | ||||
if (preg_match("#j#", $flag)) $ismake = -1; | if (preg_match("#j#", $flag)) $ismake = -1; | ||||
//更新数据库的SQL语句 | //更新数据库的SQL语句 | ||||
$query = "UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',click='$click',ismake='$ismake',arcrank='$arcrank',money='$money',title='$title',color='$color',writer='$writer',source='$source',litpic='$litpic',pubdate='$pubdate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid',weight='$weight' WHERE id='$id'; "; | |||||
$query = "UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',click='$click',ismake='$ismake',arcrank='$arcrank',money='$money',title='$title',color='$color',writer='$writer',source='$source',litpic='$litpic',pubdate='$pubdate',senddate='$senddate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid',weight='$weight' WHERE id='$id'; "; | |||||
if (!$dsql->ExecuteNoneQuery($query)) { | if (!$dsql->ExecuteNoneQuery($query)) { | ||||
ShowMsg('数据保存到数据库文档主表出错,请检查数据库字段', -1); | ShowMsg('数据保存到数据库文档主表出错,请检查数据库字段', -1); | ||||
exit(); | exit(); | ||||
@@ -184,7 +184,7 @@ if ($dopost == 'quick') { | |||||
} | } | ||||
ShowMsg("成功创建一个栏目", "catalog_main.php"); | ShowMsg("成功创建一个栏目", "catalog_main.php"); | ||||
exit(); | exit(); | ||||
}//End dopost==save | |||||
} | |||||
//获取从父目录继承的默认参数 | //获取从父目录继承的默认参数 | ||||
if ($dopost == '') { | if ($dopost == '') { | ||||
$channelid = 1; | $channelid = 1; | ||||
@@ -30,7 +30,7 @@ if ($dopost == "save") { | |||||
$uptopsql = " ,siteurl='$siteurl',sitepath='$sitepath',ishidden='$ishidden' "; | $uptopsql = " ,siteurl='$siteurl',sitepath='$sitepath',ishidden='$ishidden' "; | ||||
} | } | ||||
if ($ispart != 0) $cross = 0; | if ($ispart != 0) $cross = 0; | ||||
$upquery = "UPDATE `#@__arctype` SET issend='$issend',sortrank='$sortrank',typename='$typename',cnoverview='$cnoverview',enname='$enname',enoverview='$enoverview',bigpic='$bigpic',litimg='$litimg',typedir='$typedir',isdefault='$isdefault',defaultname='$defaultname',issend='$issend',ishidden='$ishidden',channeltype='$channeltype',tempindex='$tempindex',templist='$templist',temparticle='$temparticle',namerule='$namerule',namerule2='$namerule2',ispart='$ispart',corank='$corank',description='$description',keywords='$keywords',seotitle='$seotitle',moresite='$moresite',`cross`='$cross',`content`='$content',`crossid`='$crossid',`smalltypes`='$smalltypes',`apienabled`='$apienabled',`apikey`='$apikey'$uptopsql WHERE id='$id' "; | |||||
$upquery = "UPDATE `#@__arctype` SET issend='$issend',sortrank='$sortrank',typename='$typename',cnoverview='$cnoverview',enname='$enname',enoverview='$enoverview',bigpic='$bigpic',litimg='$litimg',typedir='$typedir',isdefault='$isdefault',defaultname='$defaultname',issend='$issend',ishidden='$ishidden',channeltype='$channeltype',tempindex='$tempindex',templist='$templist',temparticle='$temparticle',namerule='$namerule',namerule2='$namerule2',ispart='$ispart',corank='$corank',description='$description',keywords='$keywords',seotitle='$seotitle',moresite='$moresite',`cross`='$cross',`content`='$content',`crossid`='$crossid',`smalltypes`='$smalltypes',`apienabled`='$apienabled',`apikey`='$apikey' $uptopsql WHERE id='$id' "; | |||||
if (!$dsql->ExecuteNoneQuery($upquery)) { | if (!$dsql->ExecuteNoneQuery($upquery)) { | ||||
ShowMsg("保存栏目失败,请您检查栏目字段是否存在问题", "-1"); | ShowMsg("保存栏目失败,请您检查栏目字段是否存在问题", "-1"); | ||||
exit(); | exit(); | ||||
@@ -56,8 +56,7 @@ if ($dopost == "save") { | |||||
UpDateCatCache(); | UpDateCatCache(); | ||||
ShowMsg("成功修改一个栏目", "catalog_main.php"); | ShowMsg("成功修改一个栏目", "catalog_main.php"); | ||||
exit(); | exit(); | ||||
} //End Save Action | |||||
else if ($dopost == "savetime") { | |||||
} else if ($dopost == "savetime") { | |||||
$uptopsql = ''; | $uptopsql = ''; | ||||
$slinks = " id IN (".GetSonIds($id).")"; | $slinks = " id IN (".GetSonIds($id).")"; | ||||
//顶级栏目二级域名根目录处理 | //顶级栏目二级域名根目录处理 | ||||
@@ -525,7 +525,7 @@ function AnalyseHtmlBody($body, &$description, &$litpic, &$keywords, $dtype = '' | |||||
$body = Replace_Links($body, $allow_urls); | $body = Replace_Links($body, $allow_urls); | ||||
} | } | ||||
//自动摘要 | //自动摘要 | ||||
if ($description == '' && $cfg_auot_description > 0) { | |||||
if ($cfg_auot_description > 0 && $description == '') { | |||||
$description = cn_substr(html2text($body), $cfg_auot_description); | $description = cn_substr(html2text($body), $cfg_auot_description); | ||||
$description = trim(preg_replace('/#p#|#e#/', '', $description)); | $description = trim(preg_replace('/#p#|#e#/', '', $description)); | ||||
$description = addslashes($description); | $description = addslashes($description); | ||||
@@ -535,7 +535,7 @@ function AnalyseHtmlBody($body, &$description, &$litpic, &$keywords, $dtype = '' | |||||
$litpic = GetDDImgFromBody($body); | $litpic = GetDDImgFromBody($body); | ||||
} | } | ||||
//自动获取关键词 | //自动获取关键词 | ||||
if ($autokey == 1 && $keywords == '') { | |||||
if ($autokey == 1) { | |||||
$subject = $title; | $subject = $title; | ||||
$message = $body; | $message = $body; | ||||
//采用DedeBIZ Core分词组件分词 | //采用DedeBIZ Core分词组件分词 | ||||
@@ -57,7 +57,7 @@ function DelArc($aid, $type = 'ON', $onlyfile = FALSE, $recycle = 0) | |||||
//$issystem==-1是自定义模型,不使用回收站 | //$issystem==-1是自定义模型,不使用回收站 | ||||
if ($issystem == -1) $type = 'OK'; | if ($issystem == -1) $type = 'OK'; | ||||
if (!is_array($arcRow)) return FALSE; | if (!is_array($arcRow)) return FALSE; | ||||
/** 删除到回收站 **/ | |||||
//删除到回收站 | |||||
if ($cfg_delete == 'Y' && $type == 'ON') { | if ($cfg_delete == 'Y' && $type == 'ON') { | ||||
$dsql->ExecuteNoneQuery("UPDATE `$maintable` SET arcrank='-2' WHERE id='$aid' "); | $dsql->ExecuteNoneQuery("UPDATE `$maintable` SET arcrank='-2' WHERE id='$aid' "); | ||||
$dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET `arcrank` = '-2' WHERE id = '$aid';"); | $dsql->ExecuteNoneQuery("UPDATE `#@__arctiny` SET `arcrank` = '-2' WHERE id = '$aid';"); | ||||
@@ -60,5 +60,5 @@ function GetMenus($userrank, $topos = 'main') | |||||
echo $footTemplet; | echo $footTemplet; | ||||
} | } | ||||
} | } | ||||
}//End Function | |||||
} | |||||
?> | ?> |
@@ -15,7 +15,7 @@ if (empty($dopost)) $dopost = ''; | |||||
if ($dopost == "upload") { | if ($dopost == "upload") { | ||||
CheckCSRF(); | CheckCSRF(); | ||||
require_once(DEDEINC."/image.func.php"); | require_once(DEDEINC."/image.func.php"); | ||||
$sparr_image = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/x-png", "image/wbmp"); | |||||
$sparr_image = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp"); | |||||
$sparr_flash = array("application/xshockwaveflash"); | $sparr_flash = array("application/xshockwaveflash"); | ||||
$okdd = 0; | $okdd = 0; | ||||
$uptime = time(); | $uptime = time(); | ||||
@@ -14,7 +14,8 @@ DedeSetCookie("ENV_GOBACK_URL", $dedeNowurl, time() + 3600, "/"); | |||||
require_once(DEDEINC.'/datalistcp.class.php'); | require_once(DEDEINC.'/datalistcp.class.php'); | ||||
if (empty($buyid)) $buyid = ''; | if (empty($buyid)) $buyid = ''; | ||||
$buyid = HtmlReplace($buyid , 1); | $buyid = HtmlReplace($buyid , 1); | ||||
$sta = HtmlReplace($sta , 1); | |||||
$sta = ''; //初始化$sta变量,感谢:乖乖女 | |||||
$sta = HtmlReplace($sta, 1); | |||||
$addsql = " WHERE buyid LIKE '%$buyid%' "; | $addsql = " WHERE buyid LIKE '%$buyid%' "; | ||||
if (!empty($sta)) $addsql .= " AND sta='$sta' "; | if (!empty($sta)) $addsql .= " AND sta='$sta' "; | ||||
$sql = "SELECT * FROM `#@__member_operation` $addsql ORDER BY aid DESC"; | $sql = "SELECT * FROM `#@__member_operation` $addsql ORDER BY aid DESC"; | ||||
@@ -70,9 +70,10 @@ function GetKeywordList($dsql, $pageno, $pagesize, $orderby = 'aid') | |||||
<td scope='col'>选择</td> | <td scope='col'>选择</td> | ||||
<td scope='col'><a href=\"javascript:ReloadPage('aid');\">id</a></td> | <td scope='col'><a href=\"javascript:ReloadPage('aid');\">id</a></td> | ||||
<td scope='col'>关键词</td> | <td scope='col'>关键词</td> | ||||
<td scope='col'>分词结果</td> | |||||
<td scope='col'><a href=\"javascript:ReloadPage('count');\">频率</a></td> | |||||
<td scope='col'><a href=\"javascript:ReloadPage('result');\">结果</a></td> | |||||
<td scope='col'>关键词调整</td> | |||||
<td scope='col'>分词调整</td> | |||||
<td scope='col'><a href=\"javascript:ReloadPage('count');\">频率调整</a></td> | |||||
<td scope='col'><a href=\"javascript:ReloadPage('result');\">索引</a></td> | |||||
<td scope='col'><a href=\"javascript:ReloadPage('lasttime');\">搜索时间</a></td> | <td scope='col'><a href=\"javascript:ReloadPage('lasttime');\">搜索时间</a></td> | ||||
<td scope='col'>操作</td> | <td scope='col'>操作</td> | ||||
</tr> | </tr> | ||||
@@ -87,10 +88,11 @@ function GetKeywordList($dsql, $pageno, $pagesize, $orderby = 'aid') | |||||
<tr> | <tr> | ||||
<td><input name='aids[]' type='checkbox' value=\"{$row['aid']}\"></td> | <td><input name='aids[]' type='checkbox' value=\"{$row['aid']}\"></td> | ||||
<td>{$row['aid']}</td> | <td>{$row['aid']}</td> | ||||
<td><a href='{$cfg_phpurl}/search.php?keyword=".urlencode($row['keyword'])."' target='_blank'>{$row['keyword']}</a></td> | |||||
<td><input type='text' name='keyword' id='keyword{$row['aid']}' value='{$row['keyword']}' class='admin-input-sm'></td> | <td><input type='text' name='keyword' id='keyword{$row['aid']}' value='{$row['keyword']}' class='admin-input-sm'></td> | ||||
<td><input type='text' name='spwords' id='spwords{$row['aid']}' value='{$row['spwords']}' class='admin-input-md'></td> | <td><input type='text' name='spwords' id='spwords{$row['aid']}' value='{$row['spwords']}' class='admin-input-md'></td> | ||||
<td><input type='text' name='count' id='count{$row['aid']}' value='{$row['count']}' class='admin-input-sm'></td> | <td><input type='text' name='count' id='count{$row['aid']}' value='{$row['count']}' class='admin-input-sm'></td> | ||||
<td><a href='{$cfg_phpurl}/search.php?kwtype=0&keyword=".urlencode($row['keyword'])."&searchtype=titlekeyword' target='_blank'>{$row['result']}</a></td> | |||||
<td>{$row['result']}</td> | |||||
<td>".MyDate("Y-m-d H:i:s", $row['lasttime'])."</td> | <td>".MyDate("Y-m-d H:i:s", $row['lasttime'])."</td> | ||||
<td> | <td> | ||||
<a href='javascript:UpdateNote({$row['aid']});' class='btn btn-light btn-sm'><i class='fa fa-repeat' title='更新'></i></a> | <a href='javascript:UpdateNote({$row['aid']});' class='btn btn-light btn-sm'><i class='fa fa-repeat' title='更新'></i></a> | ||||
@@ -100,7 +102,7 @@ function GetKeywordList($dsql, $pageno, $pagesize, $orderby = 'aid') | |||||
echo $line; | echo $line; | ||||
} | } | ||||
echo "<tr> | echo "<tr> | ||||
<td colspan='8'> | |||||
<td colspan='9'> | |||||
<a href=\"javascript:selAll();\" class='btn btn-success btn-sm'>反选</a> | <a href=\"javascript:selAll();\" class='btn btn-success btn-sm'>反选</a> | ||||
<a href=\"javascript:noselAll();\" class='btn btn-success btn-sm'>取消</a> | <a href=\"javascript:noselAll();\" class='btn btn-success btn-sm'>取消</a> | ||||
<a href=\"javascript:delall();\" class='btn btn-danger btn-sm'>删除</a> | <a href=\"javascript:delall();\" class='btn btn-danger btn-sm'>删除</a> | ||||
@@ -93,7 +93,7 @@ if ($dopost != 'save') { | |||||
} | } | ||||
//对保存的文档进行处理 | //对保存的文档进行处理 | ||||
$pubdate = GetMkTime($pubdate); | $pubdate = GetMkTime($pubdate); | ||||
$senddate = time(); | |||||
$senddate = GetMkTime($senddate); | |||||
$sortrank = AddDay($pubdate, $sortup); | $sortrank = AddDay($pubdate, $sortup); | ||||
if ($ishtml == 0) { | if ($ishtml == 0) { | ||||
$ismake = -1; | $ismake = -1; | ||||
@@ -155,7 +155,7 @@ if ($dopost != 'save') { | |||||
//跳转网址的文档强制为动态 | //跳转网址的文档强制为动态 | ||||
if (preg_match('#j#', $flag)) $ismake = -1; | if (preg_match('#j#', $flag)) $ismake = -1; | ||||
//修改主文档表 | //修改主文档表 | ||||
$inQuery = "UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',click='$click',ismake='$ismake',arcrank='$arcrank',`money`='$money',title='$title',color='$color',source='$source',writer='$writer',litpic='$litpic',pubdate='$pubdate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid',weight='$weight' WHERE id='$id'; "; | |||||
$inQuery = "UPDATE `#@__archives` SET typeid='$typeid',typeid2='$typeid2',sortrank='$sortrank',flag='$flag',click='$click',ismake='$ismake',arcrank='$arcrank',`money`='$money',title='$title',color='$color',source='$source',writer='$writer',litpic='$litpic',pubdate='$pubdate',senddate='$senddate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename',dutyadmin='$adminid',weight='$weight' WHERE id='$id'; "; | |||||
if (!$dsql->ExecuteNoneQuery($inQuery)) { | if (!$dsql->ExecuteNoneQuery($inQuery)) { | ||||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | ||||
exit(); | exit(); | ||||
@@ -49,6 +49,7 @@ if ($dopost != 'save') { | |||||
if (!isset($autolitpic)) $autolitpic = 0; | if (!isset($autolitpic)) $autolitpic = 0; | ||||
//对保存的文档进行处理 | //对保存的文档进行处理 | ||||
$pubdate = GetMkTime($pubdate); | $pubdate = GetMkTime($pubdate); | ||||
$senddate = GetMkTime($senddate); | |||||
$sortrank = AddDay($pubdate, $sortup); | $sortrank = AddDay($pubdate, $sortup); | ||||
if ($ishtml == 0) $ismake = -1; | if ($ishtml == 0) $ismake = -1; | ||||
else $ismake = 0; | else $ismake = 0; | ||||
@@ -101,7 +102,7 @@ if ($dopost != 'save') { | |||||
if ($litpic != '' && !preg_match('#p#', $flag)) { | if ($litpic != '' && !preg_match('#p#', $flag)) { | ||||
$flag = ($flag == '' ? 'p' : $flag.',p'); | $flag = ($flag == '' ? 'p' : $flag.',p'); | ||||
} | } | ||||
$inQuery = "UPDATE `#@__archives` SET typeid='$typeid',sortrank='$sortrank',flag='$flag',ismake='$ismake',arcrank='$arcrank',click='$click',title='$title',color='$color',writer='$writer',source='$source',litpic='$litpic',pubdate='$pubdate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename' WHERE id='$id'; "; | |||||
$inQuery = "UPDATE `#@__archives` SET typeid='$typeid',sortrank='$sortrank',flag='$flag',ismake='$ismake',arcrank='$arcrank',click='$click',title='$title',color='$color',writer='$writer',source='$source',litpic='$litpic',pubdate='$pubdate',senddate='$senddate',notpost='$notpost',description='$description',keywords='$keywords',shorttitle='$shorttitle',filename='$filename' WHERE id='$id'; "; | |||||
if (!$dsql->ExecuteNoneQuery($inQuery)) { | if (!$dsql->ExecuteNoneQuery($inQuery)) { | ||||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | ||||
exit(); | exit(); | ||||
@@ -24,13 +24,15 @@ function RenderUrlType($t) { | |||||
return "综合"; | return "综合"; | ||||
} | } | ||||
} | } | ||||
//检查权限 | |||||
if ($id == 0 && $reid == 0) { | |||||
CheckPurview('c_List'); | |||||
//检查权限,感谢:乖乖女 | |||||
if (isset($id) && isset($reid)) { | |||||
if ($id == 0 && $reid == 0) { | |||||
CheckPurview('c_List'); | |||||
} | |||||
} | } | ||||
$ip = isset($ip) ? HtmlReplace(trim($ip)) : ''; | $ip = isset($ip) ? HtmlReplace(trim($ip)) : ''; | ||||
if (empty($mobile)) $mobile = ''; | if (empty($mobile)) $mobile = ''; | ||||
if ($dopost == "delete") { | |||||
if (isset($dopost) && $dopost == "delete") { | |||||
$ids = explode('`',$aids); | $ids = explode('`',$aids); | ||||
$dquery = ""; | $dquery = ""; | ||||
foreach ($ids as $id) | foreach ($ids as $id) | ||||
@@ -23,7 +23,7 @@ | |||||
<div class="container-fluid"> | <div class="container-fluid"> | ||||
<ol class="breadcrumb"> | <ol class="breadcrumb"> | ||||
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | <li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | ||||
<li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">图片列表</a></li> | |||||
<?php $cid=isset($cid) ? $cid : '';$channelid=isset($channelid) ? $channelid : '';?><li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">图片列表</a></li> | |||||
<li class="breadcrumb-item active">修改图片文档</li> | <li class="breadcrumb-item active">修改图片文档</li> | ||||
</ol> | </ol> | ||||
<div class="card shadow-sm"> | <div class="card shadow-sm"> | ||||
@@ -264,12 +264,21 @@ | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>发布时间</td> | <td>发布时间</td> | ||||
<td> | |||||
<?php | |||||
$notime = GetDateTimeMk($arcRow["pubdate"]); | |||||
echo "<input type='text' name='pubdate' value='$notime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
?> | |||||
</td> | |||||
<td>更新时间</td> | |||||
<td> | <td> | ||||
<?php | <?php | ||||
$nowtime = GetDateTimeMk(time()); | $nowtime = GetDateTimeMk(time()); | ||||
echo "<input type='text' name='pubdate' value='$nowtime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
echo "<input type='text' name='senddate' value='$nowtime' id='senddate' class='datepicker admin-input-sm'>"; | |||||
?> | ?> | ||||
</td> | </td> | ||||
</tr> | |||||
<tr> | |||||
<td>浏览次数</td> | <td>浏览次数</td> | ||||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | <td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | ||||
</tr> | </tr> | ||||
@@ -22,7 +22,7 @@ | |||||
<div class="container-fluid"> | <div class="container-fluid"> | ||||
<ol class="breadcrumb"> | <ol class="breadcrumb"> | ||||
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | <li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | ||||
<li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li> | |||||
<?php $cid=isset($cid) ? $cid : '';$channelid=isset($channelid) ? $channelid : '';?><li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li> | |||||
<li class="breadcrumb-item active">修改文档</li> | <li class="breadcrumb-item active">修改文档</li> | ||||
</ol> | </ol> | ||||
<div class="card shadow-sm"> | <div class="card shadow-sm"> | ||||
@@ -191,13 +191,22 @@ | |||||
<td><input type="text" name="filename" id="filename" value="<?php echo $arcRow['filename']?>" class="admin-input-sm">(不包括文件扩展名)</td> | <td><input type="text" name="filename" id="filename" value="<?php echo $arcRow['filename']?>" class="admin-input-sm">(不包括文件扩展名)</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>发布时间</td> | |||||
<td> | |||||
<?php | |||||
$notime = GetDateTimeMk($arcRow["pubdate"]); | |||||
echo "<input type='text' name='pubdate' value='$notime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
?> | |||||
</td> | |||||
<td>更新时间</td> | <td>更新时间</td> | ||||
<td> | <td> | ||||
<?php | <?php | ||||
$nowtime = GetDateTimeMk(time()); | $nowtime = GetDateTimeMk(time()); | ||||
echo "<input name='pubdate' value='$nowtime' type='text' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
echo "<input type='text' name='senddate' value='$nowtime' id='senddate' class='datepicker admin-input-sm'>"; | |||||
?> | ?> | ||||
</td> | </td> | ||||
</tr> | |||||
<tr> | |||||
<td>浏览次数</td> | <td>浏览次数</td> | ||||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | <td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | ||||
</tr> | </tr> | ||||
@@ -22,7 +22,7 @@ | |||||
<div class="container-fluid"> | <div class="container-fluid"> | ||||
<ol class="breadcrumb"> | <ol class="breadcrumb"> | ||||
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | <li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | ||||
<li class="breadcrumb-item"><a href="content_sg_list.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li> | |||||
<?php $cid=isset($cid) ? $cid : '';$channelid=isset($channelid) ? $channelid : '';?><li class="breadcrumb-item"><a href="content_sg_list.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li>、 | |||||
<li class="breadcrumb-item active">修改文档</li> | <li class="breadcrumb-item active">修改文档</li> | ||||
</ol> | </ol> | ||||
<div class="card shadow-sm"> | <div class="card shadow-sm"> | ||||
@@ -204,7 +204,7 @@ | |||||
<td> | <td> | ||||
<?php | <?php | ||||
$nowtime = GetDateTimeMk(time()); | $nowtime = GetDateTimeMk(time()); | ||||
echo "<input type='text' name='pubdate' value='$nowtime'id='pubdate' class='datepicker admin-input-sm'>"; | |||||
echo "<input type='text' name='pubdate' value='$nowtime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
?> | ?> | ||||
</td> | </td> | ||||
<td>浏览次数</td> | <td>浏览次数</td> | ||||
@@ -22,7 +22,7 @@ | |||||
<div class="container-fluid"> | <div class="container-fluid"> | ||||
<ol class="breadcrumb"> | <ol class="breadcrumb"> | ||||
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | <li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | ||||
<li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li> | |||||
<?php $cid=isset($cid) ? $cid : '';$channelid=isset($channelid) ? $channelid : '';?><li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li> | |||||
<li class="breadcrumb-item active">修改文档</li> | <li class="breadcrumb-item active">修改文档</li> | ||||
</ol> | </ol> | ||||
<div class="card shadow-sm"> | <div class="card shadow-sm"> | ||||
@@ -195,13 +195,22 @@ | |||||
<td><?php echo "<input type='hidden' name='templet' value='{$addRow['templet']}'>";?></td> | <td><?php echo "<input type='hidden' name='templet' value='{$addRow['templet']}'>";?></td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>发布时间</td> | |||||
<td> | |||||
<?php | |||||
$notime = GetDateTimeMk($arcRow["pubdate"]); | |||||
echo "<input type='text' name='pubdate' value='$notime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
?> | |||||
</td> | |||||
<td>更新时间</td> | <td>更新时间</td> | ||||
<td> | <td> | ||||
<?php | <?php | ||||
$nowtime = GetDateTimeMk(time()); | $nowtime = GetDateTimeMk(time()); | ||||
echo "<input type='text' name='pubdate' value='$nowtime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
echo "<input type='text' name='senddate' value='$nowtime' id='senddate' class='datepicker admin-input-sm'>"; | |||||
?> | ?> | ||||
</td> | </td> | ||||
</tr> | |||||
<tr> | |||||
<td>浏览次数</td> | <td>浏览次数</td> | ||||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | <td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | ||||
</tr> | </tr> | ||||
@@ -228,7 +228,7 @@ | |||||
<p>{page} 栏目页码数</p> | <p>{page} 栏目页码数</p> | ||||
<p>伪静态规则(Nginx)</p> | <p>伪静态规则(Nginx)</p> | ||||
<p>rewrite ^/list-([0-9]+)$ /apps/list.php?tid=$1;</p> | <p>rewrite ^/list-([0-9]+)$ /apps/list.php?tid=$1;</p> | ||||
<span>rewrite ^/list-([0-9]+)-([0-9]+)$ /apps/list.php?tid=$1&PageNo=$2;</span> | |||||
<p>rewrite ^/list-([0-9]+)-([0-9]+)$ /apps/list.php?tid=$1&PageNo=$2;</p> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -248,7 +248,7 @@ | |||||
<p>{cc} 日期加混编id后用转换为适合字母</p> | <p>{cc} 日期加混编id后用转换为适合字母</p> | ||||
<p>伪静态规则(Nginx)</p> | <p>伪静态规则(Nginx)</p> | ||||
<p>rewrite ^/article-([0-9]+).html$ /apps/view.php?arcID=$1;</p> | <p>rewrite ^/article-([0-9]+).html$ /apps/view.php?arcID=$1;</p> | ||||
<span>rewrite ^/article-([0-9]+)-([0-9]+).html$ /apps/view.php?aid=$1&pageno=$2;</span> | |||||
<p>rewrite ^/article-([0-9]+)-([0-9]+).html$ /apps/view.php?aid=$1&pageno=$2;</p> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
<td>SEO标题</td> | <td>SEO标题</td> | ||||
@@ -86,7 +86,7 @@ | |||||
<p>{page} 栏目页码数</p> | <p>{page} 栏目页码数</p> | ||||
<p>伪静态规则(Nginx)</p> | <p>伪静态规则(Nginx)</p> | ||||
<p>rewrite ^/list-([0-9]+)$ /apps/list.php?tid=$1;</p> | <p>rewrite ^/list-([0-9]+)$ /apps/list.php?tid=$1;</p> | ||||
<span>rewrite ^/list-([0-9]+)-([0-9]+)$ /apps/list.php?tid=$1&PageNo=$2;</span> | |||||
<p>rewrite ^/list-([0-9]+)-([0-9]+)$ /apps/list.php?tid=$1&PageNo=$2;</p> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -106,7 +106,7 @@ | |||||
<p>{cc} 日期加混编id后用转换为适合字母</p> | <p>{cc} 日期加混编id后用转换为适合字母</p> | ||||
<p>伪静态规则(Nginx)</p> | <p>伪静态规则(Nginx)</p> | ||||
<p>rewrite ^/article-([0-9]+).html$ /apps/view.php?arcID=$1;</p> | <p>rewrite ^/article-([0-9]+).html$ /apps/view.php?arcID=$1;</p> | ||||
<span>rewrite ^/article-([0-9]+)-([0-9]+).html$ /apps/view.php?aid=$1&pageno=$2;</span> | |||||
<p>rewrite ^/article-([0-9]+)-([0-9]+).html$ /apps/view.php?aid=$1&pageno=$2;</p> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
<td>默认页的名称</td> | <td>默认页的名称</td> | ||||
@@ -191,7 +191,7 @@ | |||||
<a href="javascript:ShowHide('helpvar1');" class="btn btn-success btn-sm">说明</a> | <a href="javascript:ShowHide('helpvar1');" class="btn btn-success btn-sm">说明</a> | ||||
<div id="helpvar1" class="alert alert-secondary my-2" style="display:none"> | <div id="helpvar1" class="alert alert-secondary my-2" style="display:none"> | ||||
<p>{tid} 栏目id</p> | <p>{tid} 栏目id</p> | ||||
<span>{cid} 栏目模型名字id</span> | |||||
<p>{cid} 栏目模型名字id</p> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -211,7 +211,7 @@ | |||||
<p>{page} 栏目页码数</p> | <p>{page} 栏目页码数</p> | ||||
<p>伪静态规则(Nginx)</p> | <p>伪静态规则(Nginx)</p> | ||||
<p>rewrite ^/list-([0-9]+)$ /apps/list.php?tid=$1;</p> | <p>rewrite ^/list-([0-9]+)$ /apps/list.php?tid=$1;</p> | ||||
<span>rewrite ^/list-([0-9]+)-([0-9]+)$ /apps/list.php?tid=$1&PageNo=$2;</span> | |||||
<p>rewrite ^/list-([0-9]+)-([0-9]+)$ /apps/list.php?tid=$1&PageNo=$2;</p> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
</tr> | </tr> | ||||
@@ -231,7 +231,7 @@ | |||||
<p>{cc} 日期加混编id后用转换为适合字母</p> | <p>{cc} 日期加混编id后用转换为适合字母</p> | ||||
<p>伪静态规则(Nginx)</p> | <p>伪静态规则(Nginx)</p> | ||||
<p>rewrite ^/article-([0-9]+).html$ /apps/view.php?arcID=$1;</p> | <p>rewrite ^/article-([0-9]+).html$ /apps/view.php?arcID=$1;</p> | ||||
<span>rewrite ^/article-([0-9]+)-([0-9]+).html$ /apps/view.php?aid=$1&pageno=$2;</span> | |||||
<p>rewrite ^/article-([0-9]+)-([0-9]+).html$ /apps/view.php?aid=$1&pageno=$2;</p> | |||||
</div> | </div> | ||||
</td> | </td> | ||||
<td>SEO标题</td> | <td>SEO标题</td> | ||||
@@ -287,32 +287,32 @@ | |||||
<div class="modal-body"> | <div class="modal-body"> | ||||
<form> | <form> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
<span>本功能主要用于移动客户端或第三方系统调用栏目数据进行展现。</span> | |||||
<span>跨站调用功能用于同后台管理或其他网站之间调用栏目文档数据</span> | |||||
</div> | </div> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
<label for="iptAPICode" class="pb-3">代码调用</label> | |||||
<div class="nav nav-tabs" id="nav-tab" role="tablist"> | |||||
<button class="nav-link active" id="nav-php-tab" data-toggle="tab" data-target="#nav-php" type="button" role="tab" aria-controls="nav-php" aria-selected="true">PHP</button> | |||||
<button class="nav-link" id="nav-js-tab" data-toggle="tab" data-target="#nav-js" type="button" role="tab" aria-controls="nav-js" aria-selected="true">Javasctipt</button> | |||||
<button class="nav-link" id="nav-go-tab" data-toggle="tab" data-target="#nav-go" type="button" role="tab" aria-controls="nav-go" aria-selected="false">Go</button> | |||||
<button class="nav-link" id="nav-python-tab" data-toggle="tab" data-target="#nav-python" type="button" role="tab" aria-controls="nav-python" aria-selected="false">Python3</button> | |||||
<label for="iptAPICode" class="mb-3">代码示例</label> | |||||
<div class="nav nav-pills mb-3" id="data-tab" role="tablist"> | |||||
<button type="button" class="nav-link active" id="php-tab" data-toggle="tab" data-target="#nav-php" role="tab" aria-controls="nav-php" aria-selected="true">PHP</button> | |||||
<button type="button" class="nav-link" id="js-tab" data-toggle="tab" data-target="#nav-js" role="tab" aria-controls="nav-js" aria-selected="true">Javasctipt</button> | |||||
<button type="button" class="nav-link" id="go-tab" data-toggle="tab" data-target="#nav-go" role="tab" aria-controls="nav-go" aria-selected="false">Go</button> | |||||
<button type="button" class="nav-link" id="python-tab" data-toggle="tab" data-target="#nav-python" role="tab" aria-controls="nav-python" aria-selected="false">Python3</button> | |||||
</div> | </div> | ||||
<div class="tab-content" id="nav-tabContent"> | |||||
<div class="tab-pane fade show active" id="nav-php" role="tabpanel" aria-labelledby="nav-php-tab"> | |||||
<div class="tab-content" id="data-tabContent"> | |||||
<div class="tab-pane fade show active" id="nav-php" role="tabpanel" aria-labelledby="php-tab"> | |||||
<pre><code id="codephp"></code></pre></div> | <pre><code id="codephp"></code></pre></div> | ||||
<div class="tab-pane fade" id="nav-js" role="tabpanel" aria-labelledby="nav-js-tab"> | |||||
<div class="tab-pane fade" id="nav-js" role="tabpanel" aria-labelledby="js-tab"> | |||||
<pre><code id="codejs"></code></pre> | <pre><code id="codejs"></code></pre> | ||||
</div> | </div> | ||||
<div class="tab-pane fade" id="nav-go" role="tabpanel" aria-labelledby="nav-go-tab"> | |||||
<div class="tab-pane fade" id="nav-go" role="tabpanel" aria-labelledby="go-tab"> | |||||
<pre><code id="codego"></code></pre> | <pre><code id="codego"></code></pre> | ||||
</div> | </div> | ||||
<div class="tab-pane fade" id="nav-python" role="tabpanel" aria-labelledby="nav-python-tab"> | |||||
<div class="tab-pane fade" id="nav-python" role="tabpanel" aria-labelledby="python-tab"> | |||||
<pre><code id="codepython"></code></pre> | <pre><code id="codepython"></code></pre> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
</div> | </div> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
<label for="iptAPITag" class="pb-3">标签调用</label> | |||||
<label for="iptAPITag" class="mb-3">标签示例</label> | |||||
<pre><code id="codetag"></code></pre> | <pre><code id="codetag"></code></pre> | ||||
</div> | </div> | ||||
</form> | </form> | ||||
@@ -55,7 +55,7 @@ | |||||
<option value="scores">评论积分</option> | <option value="scores">评论积分</option> | ||||
<option value="lastpost">最后评论</option> | <option value="lastpost">最后评论</option> | ||||
</select> | </select> | ||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-md" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-lg" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<button type="submit" class="btn btn-success btn-sm">搜索</button> | <button type="submit" class="btn btn-success btn-sm">搜索</button> | ||||
</form> | </form> | ||||
</div> | </div> | ||||
@@ -58,7 +58,7 @@ | |||||
<option value="">选择属性</option> | <option value="">选择属性</option> | ||||
{dede:global.flagsArr/} | {dede:global.flagsArr/} | ||||
</select> | </select> | ||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-md" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-lg" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<button type="submit" class="btn btn-success btn-sm">搜索</button> | <button type="submit" class="btn btn-success btn-sm">搜索</button> | ||||
</form> | </form> | ||||
</div> | </div> | ||||
@@ -37,7 +37,7 @@ | |||||
<option value="0">选择分类</option> | <option value="0">选择分类</option> | ||||
<?php echo $optionarr?> | <?php echo $optionarr?> | ||||
</select> | </select> | ||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-md" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-lg" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<button type="submit"class="btn btn-success btn-sm">搜索</button> | <button type="submit"class="btn btn-success btn-sm">搜索</button> | ||||
</form> | </form> | ||||
</div> | </div> | ||||
@@ -46,7 +46,7 @@ | |||||
<option value="0">选择分类</option> | <option value="0">选择分类</option> | ||||
{dede:global.optionarr/} | {dede:global.optionarr/} | ||||
</select> | </select> | ||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-md" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<input type="text" name="timerange" autocomplete="off" id="timerange" class="admin-input-lg" value="<?php echo $strTimerange;?>" placeholder="请选择日期"> | |||||
<button type="submit"class="btn btn-success btn-sm">搜索</button> | <button type="submit"class="btn btn-success btn-sm">搜索</button> | ||||
</form> | </form> | ||||
</div> | </div> | ||||
@@ -14,8 +14,7 @@ | |||||
<body class="menu-show"> | <body class="menu-show"> | ||||
<header class="admin-head navbar navbar-expand navbar-dark"> | <header class="admin-head navbar navbar-expand navbar-dark"> | ||||
<div class="logo"> | <div class="logo"> | ||||
<a href="index_body.php" target="main" class="name"><?php echo cn_substr($cfg_webname, 12);?></a> | |||||
<span class="version"><?php echo $cfg_version_detail;?></span> | |||||
<a href="index_body.php" target="main" class="name mr-2"><?php echo cn_substr($cfg_webname, 14);?></a> | |||||
<?php if (DEDEBIZ_SAFE_MODE) {?> | <?php if (DEDEBIZ_SAFE_MODE) {?> | ||||
<a href="index_body.php?dopost=safe_mode" target="main" class="btn btn-primary btn-xs">安全</a> | <a href="index_body.php?dopost=safe_mode" target="main" class="btn btn-primary btn-xs">安全</a> | ||||
<?php } else {?> | <?php } else {?> | ||||
@@ -75,17 +75,17 @@ | |||||
<tbody> | <tbody> | ||||
<tr> | <tr> | ||||
<td width="16%"> | <td width="16%"> | ||||
<p>操作系统</p> | |||||
<span><?php echo PHP_OS;?></span> | |||||
</td> | |||||
<td width="16%"> | |||||
<p>WEB服务器</p> | |||||
<span><?php echo GetSimpleServerSoftware();?></span> | |||||
<p>软件版本</p> | |||||
<span><?php echo $cfg_version_detail;?></span> | |||||
</td> | </td> | ||||
<td width="16%"> | <td width="16%"> | ||||
<p>IP地址</p> | <p>IP地址</p> | ||||
<span><?php echo gethostbyname($_SERVER['SERVER_NAME']);?></span> | <span><?php echo gethostbyname($_SERVER['SERVER_NAME']);?></span> | ||||
</td> | </td> | ||||
<td width="16%"> | |||||
<p>系统服务器</p> | |||||
<span><?php echo PHP_OS;?> / <?php echo GetSimpleServerSoftware();?></span> | |||||
</td> | |||||
<td width="16%"> | <td width="16%"> | ||||
<p>PHP版本</p> | <p>PHP版本</p> | ||||
<span><?php echo @phpversion();?></span> | <span><?php echo @phpversion();?></span> | ||||
@@ -12,10 +12,10 @@ | |||||
<div class="container-fluid"> | <div class="container-fluid"> | ||||
<ol class="breadcrumb"> | <ol class="breadcrumb"> | ||||
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | <li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | ||||
<li class="breadcrumb-item active">更新专题</li> | |||||
<li class="breadcrumb-item active">更新标签</li> | |||||
</ol> | </ol> | ||||
<div class="card shadow-sm"> | <div class="card shadow-sm"> | ||||
<div class="card-header">更新专题</div> | |||||
<div class="card-header">更新标签</div> | |||||
<div class="card-body"> | <div class="card-body"> | ||||
<div class="alert alert-info">更新静态文件后浏览动态链接会自动跳转至静态链接,需要动态浏览则删除对应静态文件。标签首页模板:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/tag.htm,标签文档列表模板:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/tag_list.htm</div> | <div class="alert alert-info">更新静态文件后浏览动态链接会自动跳转至静态链接,需要动态浏览则删除对应静态文件。标签首页模板:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/tag.htm,标签文档列表模板:<?php echo $cfg_templets_dir;?>/<?php echo $cfg_df_style?>/tag_list.htm</div> | ||||
<form name="form1" action="makehtml_tag_action_list.php" method="get" target="stafrm"> | <form name="form1" action="makehtml_tag_action_list.php" method="get" target="stafrm"> | ||||
@@ -42,7 +42,7 @@ | |||||
<?php }?> | <?php }?> | ||||
<tr> | <tr> | ||||
<td>更新位置</td> | <td>更新位置</td> | ||||
<td><input type="text" name="tagsdir" id="tagsdir" value="<?php echo $cfg_tags_dir;?>" class="admin-input-sm" disabled>(系统设置中其他选项标签生成目录进行调整)</td> | |||||
<td><input type="text" name="tagsdir" id="tagsdir" value="<?php echo $cfg_tags_dir;?>" class="admin-input-sm" disabled>(系统设置-其他选项,找到标签生成目录修改)</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>每页更新</td> | <td>每页更新</td> | ||||
@@ -37,7 +37,7 @@ | |||||
<div class="container-fluid"> | <div class="container-fluid"> | ||||
<ol class="breadcrumb"> | <ol class="breadcrumb"> | ||||
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | <li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | ||||
<li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li> | |||||
<?php $cid=isset($cid) ? $cid : '';$channelid=isset($channelid) ? $channelid : '';?><li class="breadcrumb-item"><a href="catalog_do.php?cid=<?php echo $cid?>&channelid=<?php echo $channelid?>&dopost=listArchives">文档列表</a></li> | |||||
<li class="breadcrumb-item active">修改软件文档</li> | <li class="breadcrumb-item active">修改软件文档</li> | ||||
</ol> | </ol> | ||||
<div class="card shadow-sm"> | <div class="card shadow-sm"> | ||||
@@ -301,13 +301,22 @@ | |||||
<td><input type="text" name="filename" id="filename" value="<?php echo $arcRow['filename']?>" class="admin-input-sm">(不包括文件扩展名)</td> | <td><input type="text" name="filename" id="filename" value="<?php echo $arcRow['filename']?>" class="admin-input-sm">(不包括文件扩展名)</td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>发布时间</td> | |||||
<td> | |||||
<?php | |||||
$notime = GetDateTimeMk($arcRow["pubdate"]); | |||||
echo "<input type='text' name='pubdate' value='$notime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
?> | |||||
</td> | |||||
<td>更新时间</td> | <td>更新时间</td> | ||||
<td> | <td> | ||||
<?php | <?php | ||||
$nowtime = GetDateTimeMk($arcRow["pubdate"]); | |||||
echo "<input type='text' name='pubdate' value='$nowtime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
$nowtime = GetDateTimeMk(time()); | |||||
echo "<input type='text' name='senddate' value='$nowtime' id='senddate' class='datepicker admin-input-sm'>"; | |||||
?> | ?> | ||||
</td> | </td> | ||||
</tr> | |||||
<tr> | |||||
<td>浏览次数</td> | <td>浏览次数</td> | ||||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | <td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | ||||
</tr> | </tr> | ||||
@@ -301,13 +301,22 @@ | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>发布时间</td> | |||||
<td> | |||||
<?php | |||||
$notime = GetDateTimeMk($arcRow["pubdate"]); | |||||
echo "<input type='text' name='pubdate' value='$notime' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
?> | |||||
</td> | |||||
<td>更新时间</td> | <td>更新时间</td> | ||||
<td> | <td> | ||||
<?php | <?php | ||||
$nowtime = GetDateTimeMk($arcRow["pubdate"]); | |||||
echo "<input name='pubdate' value='$nowtime' type='text' id='pubdate' class='datepicker admin-input-sm'>"; | |||||
$nowtime = GetDateTimeMk(time()); | |||||
echo "<input type='text' name='senddate' value='$nowtime' id='senddate' class='datepicker admin-input-sm'>"; | |||||
?> | ?> | ||||
</td> | </td> | ||||
</tr> | |||||
<tr> | |||||
<td>浏览次数</td> | <td>浏览次数</td> | ||||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | <td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | ||||
</tr> | </tr> | ||||
@@ -50,14 +50,14 @@ | |||||
<td> | <td> | ||||
<label>宽:<input name="get_photo_wwidth" type=text id="get_photo_wwidth" value="<?php echo $photo_wwidth?>" class="admin-input-sm"></label> | <label>宽:<input name="get_photo_wwidth" type=text id="get_photo_wwidth" value="<?php echo $photo_wwidth?>" class="admin-input-sm"></label> | ||||
<label>高:<input name="get_photo_wheight" type=text id="get_photo_wheight" value="<?php echo $photo_wheight?>" class="admin-input-sm"></label> | <label>高:<input name="get_photo_wheight" type=text id="get_photo_wheight" value="<?php echo $photo_wheight?>" class="admin-input-sm"></label> | ||||
<span>(设置为0为不限)</span> | |||||
<span>(0表示不限)</span> | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>水印图片文件名</td> | <td>水印图片文件名</td> | ||||
<td> | <td> | ||||
<img src="/data/mark/<?php echo $photo_markimg;?>"> | <img src="/data/mark/<?php echo $photo_markimg;?>"> | ||||
<span>(如果不存在,则使用文字水印)</span> | |||||
<span>(如果不存在,请使用文字水印)</span> | |||||
</td> | </td> | ||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
@@ -66,7 +66,7 @@ | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>水印图片文字</td> | <td>水印图片文字</td> | ||||
<td><input type="text" name="get_photo_watertext" value="<?php echo $photo_watertext?>" class="admin-input-sm">(查看/data/mark/simhei.ttf字体库是否存在)</td> | |||||
<td><input type="text" name="get_photo_watertext" value="<?php echo $photo_watertext?>" class="admin-input-sm">(请检查/data/mark/simhei.ttf字体库是否存在,如果不存在,下载字体存放该文件夹)</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>水印图片文字字体大小</td> | <td>水印图片文字字体大小</td> | ||||
@@ -78,11 +78,11 @@ | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>JPEG图附件添加水印后质量</td> | <td>JPEG图附件添加水印后质量</td> | ||||
<td><input type="text" name="get_photo_marktrans" id="get_photo_marktrans" value="<?php echo $photo_marktrans?>" class="admin-input-sm">(范围为0-100整数,数值越大结果图片效果越好,但尺寸也越大)</td> | |||||
<td><input type="text" name="get_photo_marktrans" id="get_photo_marktrans" value="<?php echo $photo_marktrans?>" class="admin-input-sm">(0-100,数值越大越质量,但尺寸也越大)</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>GIF水印图片与原始图片透明度</td> | <td>GIF水印图片与原始图片透明度</td> | ||||
<td><input name="get_photo_diaphaneity" type=text id="get_photo_diaphaneity" value="<?php echo $photo_diaphaneity?>" class="admin-input-sm">(0-100,值越小越透明)</td> | |||||
<td><input name="get_photo_diaphaneity" type=text id="get_photo_diaphaneity" value="<?php echo $photo_diaphaneity?>" class="admin-input-sm">(0-100,数值越小越透明)</td> | |||||
</tr> | </tr> | ||||
<tr> | <tr> | ||||
<td>水印位置</td> | <td>水印位置</td> | ||||
@@ -20,19 +20,29 @@ | |||||
<div class="card shadow-sm mb-3"> | <div class="card shadow-sm mb-3"> | ||||
<div class="card-header">支付接口设置</div> | <div class="card-header">支付接口设置</div> | ||||
<div class="card-body"> | <div class="card-body"> | ||||
<ul class="nav nav-tabs" id="myTab" role="tablist"> | |||||
<li class="nav-item" role="presentation"><button type="button" id="wechat-tab" class="nav-link active" data-toggle="tab" data-target="#wechat" role="tab" aria-controls="wechat" aria-selected="true">微信支付</button></li> | |||||
<li class="nav-item" role="presentation"><button type="button" id="alipay-tab" class="nav-link" data-toggle="tab" data-target="#alipay" role="tab" aria-controls="alipay" aria-selected="false">支付宝</button></li> | |||||
<li class="nav-item" role="presentation"><button type="button" id="bank-tab" class="nav-link" data-toggle="tab" data-target="#bank" role="tab" aria-controls="bank" aria-selected="false">银行转帐</button></li> | |||||
<li class="nav-item" role="presentation"><button type="button" id="balance-tab" class="nav-link" data-toggle="tab" data-target="#balance" role="tab" aria-controls="balance" aria-selected="false">积分支付</button></li> | |||||
<li class="nav-item" role="presentation"><button type="button" id="cod-tab" class="nav-link" data-toggle="tab" data-target="#cod" role="tab" aria-controls="cod" aria-selected="false">货到付款</button></li> | |||||
<ul class="nav nav-pills mb-3" id="pay-tab" role="tablist"> | |||||
<li class="nav-item" role="presentation"> | |||||
<button type="button" id="wechat-tab" class="nav-link active" data-toggle="tab" data-target="#wechat" role="tab" aria-controls="wechat" aria-selected="true">微信支付</button> | |||||
</li> | |||||
<li class="nav-item" role="presentation"> | |||||
<button type="button" id="alipay-tab" class="nav-link" data-toggle="tab" data-target="#alipay" role="tab" aria-controls="alipay" aria-selected="false">支付宝</button> | |||||
</li> | |||||
<li class="nav-item" role="presentation"> | |||||
<button type="button" id="bank-tab" class="nav-link" data-toggle="tab" data-target="#bank" role="tab" aria-controls="bank" aria-selected="false">银行转帐</button> | |||||
</li> | |||||
<li class="nav-item" role="presentation"> | |||||
<button type="button" id="balance-tab" class="nav-link" data-toggle="tab" data-target="#balance" role="tab" aria-controls="balance" aria-selected="false">积分支付</button> | |||||
</li> | |||||
<li class="nav-item" role="presentation"> | |||||
<button type="button" id="cod-tab" class="nav-link" data-toggle="tab" data-target="#cod" role="tab" aria-controls="cod" aria-selected="false">货到付款</button> | |||||
</li> | |||||
</ul> | </ul> | ||||
<div class="tab-content pt-3" id="myTabContent"> | |||||
<div class="tab-content" id="pay-tabContent"> | |||||
<div class="tab-pane fade show active" id="wechat" role="tabpanel" aria-labelledby="wechat-tab"> | <div class="tab-pane fade show active" id="wechat" role="tabpanel" aria-labelledby="wechat-tab"> | ||||
<form> | <form> | ||||
<div class="form-group form-check"> | |||||
<input type="checkbox" id="iptWechatEnabled" class="form-check-input"> | |||||
<label class="form-check-label ml-2" for="iptWechatEnabled">是否启用</label> | |||||
<div class="form-group"> | |||||
<input type="checkbox" id="iptWechatEnabled"> | |||||
<label for="iptWechatEnabled">是否启用</label> | |||||
</div> | </div> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
<label for="iptWechatAppID">AppID</label> | <label for="iptWechatAppID">AppID</label> | ||||
@@ -54,9 +64,9 @@ | |||||
</div> | </div> | ||||
<div class="tab-pane fade" id="alipay" role="tabpanel" aria-labelledby="alipay-tab"> | <div class="tab-pane fade" id="alipay" role="tabpanel" aria-labelledby="alipay-tab"> | ||||
<form> | <form> | ||||
<div class="form-group form-check"> | |||||
<input type="checkbox" id="iptAlipayEnabled" class="form-check-input"> | |||||
<label class="form-check-label ml-2" for="iptAlipayEnabled">是否启用</label> | |||||
<div class="form-group"> | |||||
<input type="checkbox" id="iptAlipayEnabled"> | |||||
<label for="iptAlipayEnabled">是否启用</label> | |||||
</div> | </div> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
<label for="iptAlipayAPPID">APPID</label> | <label for="iptAlipayAPPID">APPID</label> | ||||
@@ -82,9 +92,9 @@ | |||||
</div> | </div> | ||||
<div class="tab-pane fade" id="bank" role="tabpanel" aria-labelledby="bank-tab"> | <div class="tab-pane fade" id="bank" role="tabpanel" aria-labelledby="bank-tab"> | ||||
<form> | <form> | ||||
<div class="form-group form-check"> | |||||
<input type="checkbox" id="iptBankEnabled" class="form-check-input"> | |||||
<label class="form-check-label ml-2" for="iptBankEnabled">是否启用</label> | |||||
<div class="form-group"> | |||||
<input type="checkbox" id="iptBankEnabled"> | |||||
<label for="iptBankEnabled">是否启用</label> | |||||
<span>(会员支付到指定银行卡,手动确认订单收款)</span> | <span>(会员支付到指定银行卡,手动确认订单收款)</span> | ||||
</div> | </div> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
@@ -107,9 +117,9 @@ | |||||
</div> | </div> | ||||
<div class="tab-pane fade" id="balance" role="tabpanel" aria-labelledby="balance-tab"> | <div class="tab-pane fade" id="balance" role="tabpanel" aria-labelledby="balance-tab"> | ||||
<form> | <form> | ||||
<div class="form-group form-check"> | |||||
<input type="checkbox" id="iptBalanceEnabled" class="form-check-input"> | |||||
<label class="form-check-label ml-2" for="iptBalanceEnabled">是否启用</label> | |||||
<div class="form-group"> | |||||
<input type="checkbox" id="iptBalanceEnabled"> | |||||
<label for="iptBalanceEnabled">是否启用</label> | |||||
<span>(采用积分进行支付)</span> | <span>(采用积分进行支付)</span> | ||||
</div> | </div> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
@@ -120,9 +130,9 @@ | |||||
</div> | </div> | ||||
<div class="tab-pane fade" id="cod" role="tabpanel" aria-labelledby="cod-tab"> | <div class="tab-pane fade" id="cod" role="tabpanel" aria-labelledby="cod-tab"> | ||||
<form> | <form> | ||||
<div class="form-group form-check"> | |||||
<input type="checkbox" id="iptCodEnabled" class="form-check-input"> | |||||
<label class="form-check-label ml-2" for="iptCodEnabled">是否启用</label> | |||||
<div class="form-group"> | |||||
<input type="checkbox" id="iptCodEnabled"> | |||||
<label for="iptCodEnabled">是否启用</label> | |||||
<span>(购买直接发货,到货后支付)</span> | <span>(购买直接发货,到货后支付)</span> | ||||
</div> | </div> | ||||
<div class="form-group"> | <div class="form-group"> | ||||
@@ -244,9 +254,9 @@ | |||||
dataType: "json", | dataType: "json", | ||||
success: function(data) { | success: function(data) { | ||||
if (data.code === 0) { | if (data.code === 0) { | ||||
ShowMsg("保存支付配置成功"); | |||||
ShowMsg("保存支付接口设置成功"); | |||||
} else { | } else { | ||||
ShowMsg("保存失败"); | |||||
ShowMsg("保存支付接口设置失败"); | |||||
} | } | ||||
} | } | ||||
}) | }) | ||||
@@ -59,14 +59,14 @@ | |||||
<tr> | <tr> | ||||
<td><input type="checkbox" name="ids[]" value="<?php echo $fields['id'];?>"></td> | <td><input type="checkbox" name="ids[]" value="<?php echo $fields['id'];?>"></td> | ||||
<td>{dede:field.id/}</td> | <td>{dede:field.id/}</td> | ||||
<td><a href="<?php echo $cfg_phpurl;?>/tags.php?/<?php echo $fields['id'];?>/" target="_blank">{dede:sfield.tag/}</a></td> | |||||
<td><a href="<?php echo $cfg_phpurl;?>/tags.php?/<?php echo $fields['id'];?>" target="_blank">{dede:sfield.tag/}</a></td> | |||||
<td><input type="text" value="<?php echo $fields['count'];?>" id="count<?php echo $fields['id'];?>" class="admin-input-sm"></td> | <td><input type="text" value="<?php echo $fields['count'];?>" id="count<?php echo $fields['id'];?>" class="admin-input-sm"></td> | ||||
<td><?php echo $fields['total'];?></td> | <td><?php echo $fields['total'];?></td> | ||||
<td><?php echo $fields['addtime'];?></td> | <td><?php echo $fields['addtime'];?></td> | ||||
<td><?php echo $fields['uptime'];?></td> | <td><?php echo $fields['uptime'];?></td> | ||||
<td> | <td> | ||||
<a href='javascript:UpdateKwDes(<?php echo $fields['id'];?>,"<?php echo $fields['tag'];?>");' class="btn btn-light btn-sm"><i class="fa fa-cog" title="设置"></i></a> | <a href='javascript:UpdateKwDes(<?php echo $fields['id'];?>,"<?php echo $fields['tag'];?>");' class="btn btn-light btn-sm"><i class="fa fa-cog" title="设置"></i></a> | ||||
<a href="javascript:UpdateOne(<?php echo $fields['id'];?>);" class="btn btn-light btn-sm"><i class="fa fa-refresh" title="刷新"></i></a> | |||||
<a href="javascript:UpdateOne(<?php echo $fields['id'];?>);" class="btn btn-light btn-sm"><i class="fa fa-check" title="保存"></i></a> | |||||
<a href="makehtml_taglist.php?tagid=<?php echo $fields['id'];?>" class="btn btn-light btn-sm"><i class="fa fa-repeat" title="更新"></i></a> | <a href="makehtml_taglist.php?tagid=<?php echo $fields['id'];?>" class="btn btn-light btn-sm"><i class="fa fa-repeat" title="更新"></i></a> | ||||
<a href="javascript:DeleteOne(<?php echo $fields['id'];?>);" class="btn btn-danger btn-sm"><i class="fa fa-trash" title="删除"></i></a> | <a href="javascript:DeleteOne(<?php echo $fields['id'];?>);" class="btn btn-danger btn-sm"><i class="fa fa-trash" title="删除"></i></a> | ||||
</td> | </td> | ||||
@@ -117,16 +117,16 @@ | |||||
<div class="col-sm-9"><input type="text" name="title" class="form-control" disabled value="${tag}"></div> | <div class="col-sm-9"><input type="text" name="title" class="form-control" disabled value="${tag}"></div> | ||||
</div> | </div> | ||||
<div class="form-group row"> | <div class="form-group row"> | ||||
<label for="iptKw" class="col-sm-3 col-form-label">标题</label> | |||||
<div class="col-sm-9"><input type="text" name="title" id="iptTitle" class="form-control" placeholder="例如:DedeBIZ管理系统" value="${title}"></div> | |||||
<label for="iptKw" class="col-sm-3 col-form-label">SEO标题</label> | |||||
<div class="col-sm-9"><input type="text" name="title" id="iptTitle" class="form-control" value="${title}"></div> | |||||
</div> | </div> | ||||
<div class="form-group row"> | <div class="form-group row"> | ||||
<label for="iptKw" class="col-sm-3 col-form-label">关键词</label> | <label for="iptKw" class="col-sm-3 col-form-label">关键词</label> | ||||
<div class="col-sm-9"><input type="text" name="kw" id="iptKw" class="form-control" placeholder="例如:dedebiz" value="${keywords}"></div> | |||||
<div class="col-sm-9"><input type="text" name="kw" id="iptKw" class="form-control" value="${keywords}"></div> | |||||
</div> | </div> | ||||
<div class="form-group row"> | <div class="form-group row"> | ||||
<label for="iptDes" class="col-sm-3 col-form-label">描述</label> | <label for="iptDes" class="col-sm-3 col-form-label">描述</label> | ||||
<div class="col-sm-9"><textarea name="des" id="iptDes" class="form-control" placeholder="例如:DedeBIZ系统基于PHP7版本开发,具有很强的可扩展性,并且采用GPLv2协议完全开放源代码。">${description}</textarea></div> | |||||
<div class="col-sm-9"><textarea name="des" id="iptDes" class="form-control">${description}</textarea></div> | |||||
</div>`, { | </div>`, { | ||||
footer: `<button type="button" class="btn btn-success btn-sm" onclick="UpdateKwDesDo(${tid}, '~modalID~')">保存</button>`, | footer: `<button type="button" class="btn btn-success btn-sm" onclick="UpdateKwDesDo(${tid}, '~modalID~')">保存</button>`, | ||||
}); | }); | ||||
@@ -58,10 +58,20 @@ if ($action == 'post') { | |||||
} | } | ||||
} | } | ||||
} | } | ||||
//判断$name是否输入中文包括繁体则提交失败,$name改成您表单字段标识,恢复注释代码使用 | |||||
/*if (!preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $name)) { | |||||
showMsg('您输入信息不符合,请重新填写', '-1'); | |||||
exit(); | |||||
}*/ | |||||
//判断$message是否大于70字符则提交失败,$message改成您表单字段标识,恢复注释代码使用 | |||||
/*if (mb_strlen($message) > 70) { | |||||
showmsg('您输入文字太多了,请重新填写', '-1'); | |||||
exit(); | |||||
}*/ | |||||
//获取表单提交的链接、时间、ip,字段标识默认为link、date、ip,前台表单可以不用出现该输入框,但是biz_fields和biz_fieldshash的值要最新,下面是重复提交表单限制,恢复注释代码使用 | //获取表单提交的链接、时间、ip,字段标识默认为link、date、ip,前台表单可以不用出现该输入框,但是biz_fields和biz_fieldshash的值要最新,下面是重复提交表单限制,恢复注释代码使用 | ||||
/*$result = $dsql->getOne("SELECT count(*) AS dd FROM `{$diy->table}` WHERE ip='$ip' AND date_format(date,'%Y-%m-%d') = date_format(now(),'%Y-%m-%d')"); | |||||
/*$result = $dsql->getOne("SELECT count(*) AS dd FROM `{$diy->table}` WHERE ip='$ip' AND date_format(date,'Y-m-d') = date_format(now(),'Y-m-d')"); | |||||
if ($result['dd'] >= 3) { | if ($result['dd'] >= 3) { | ||||
showmsg('您已经重复提交啦,请等待平台处理', '-1'); | |||||
showmsg('您重复提交太多了,请等待平台联系', '-1'); | |||||
exit(); | exit(); | ||||
}*/ | }*/ | ||||
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); "; | $query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); "; | ||||
@@ -89,7 +99,7 @@ if ($action == 'post') { | |||||
$bkmsg = '提交成功,正在前往表单列表'; | $bkmsg = '提交成功,正在前往表单列表'; | ||||
} else { | } else { | ||||
$goto = 'javascript:history.go(-1);'; | $goto = 'javascript:history.go(-1);'; | ||||
$bkmsg = '提交成功,请等待平台处理'; | |||||
$bkmsg = '提交成功,请等待平台联系'; | |||||
} | } | ||||
ShowMsg($bkmsg, $goto); | ShowMsg($bkmsg, $goto); | ||||
} | } | ||||
@@ -100,10 +110,11 @@ if ($action == 'post') { | |||||
exit(); | exit(); | ||||
} | } | ||||
include_once DEDEINC.'/datalistcp.class.php'; | include_once DEDEINC.'/datalistcp.class.php'; | ||||
if ($diy->public == 2) | |||||
if ($diy->public == 2) { | |||||
$query = "SELECT * FROM `{$diy->table}` ORDER BY id DESC"; | $query = "SELECT * FROM `{$diy->table}` ORDER BY id DESC"; | ||||
else | |||||
} else { | |||||
$query = "SELECT * FROM `{$diy->table}` WHERE ifcheck=1 ORDER BY id DESC"; | $query = "SELECT * FROM `{$diy->table}` WHERE ifcheck=1 ORDER BY id DESC"; | ||||
} | |||||
$datalist = new DataListCP(); | $datalist = new DataListCP(); | ||||
$datalist->pagesize = 10; | $datalist->pagesize = 10; | ||||
$datalist->SetParameter('action', 'list'); | $datalist->SetParameter('action', 'list'); | ||||
@@ -54,14 +54,18 @@ if (empty($typeid)) { | |||||
} | } | ||||
} | } | ||||
$typeid = intval($typeid); | $typeid = intval($typeid); | ||||
$keyword = addslashes(cn_substr($keyword,30)); | |||||
$keyword = addslashes(cn_substr($keyword, 30)); | |||||
$typeid = intval($typeid); | $typeid = intval($typeid); | ||||
if ($cfg_notallowstr != '' && preg_match("#".$cfg_notallowstr."#i", $keyword)) { | if ($cfg_notallowstr != '' && preg_match("#".$cfg_notallowstr."#i", $keyword)) { | ||||
ShowMsg("搜索关键词中存在非法文档,被系统禁止", "-1"); | |||||
ShowMsg("关键词中存在非法文档,被系统禁止", "-1"); | |||||
exit(); | exit(); | ||||
} | } | ||||
if (($keyword != '' && strlen($keyword) < 2) && empty($typeid)) { | if (($keyword != '' && strlen($keyword) < 2) && empty($typeid)) { | ||||
ShowMsg('关键词不能小于2个字节', '-1'); | |||||
ShowMsg('您输入关键词太少了,请重新填写', '-1'); | |||||
exit(); | |||||
} | |||||
if (!preg_match('/^[\x{4e00}-\x{9fa5}]+$/u', $keyword)) { | |||||
showMsg('您输入关键词不符合,仅支持全中文字符,请重新填写', '-1'); | |||||
exit(); | exit(); | ||||
} | } | ||||
//检查搜索间隔时间 | //检查搜索间隔时间 | ||||
@@ -1,13 +1,13 @@ | |||||
<?php | <?php | ||||
$photo_markup = '1'; | |||||
$photo_markdown = '1'; | |||||
$photo_markup = '0'; | |||||
$photo_markdown = '0'; | |||||
$photo_marktype = '1'; | $photo_marktype = '1'; | ||||
$photo_wwidth = '120'; | $photo_wwidth = '120'; | ||||
$photo_wheight = '120'; | $photo_wheight = '120'; | ||||
$photo_waterpos = '9'; | $photo_waterpos = '9'; | ||||
$photo_watertext = 'www.dedebiz.com'; | $photo_watertext = 'www.dedebiz.com'; | ||||
$photo_fontsize = '20'; | |||||
$photo_fontcolor = '0,0,0'; | |||||
$photo_fontsize = '14'; | |||||
$photo_fontcolor = '255,255,255'; | |||||
$photo_marktrans = '100'; | $photo_marktrans = '100'; | ||||
$photo_diaphaneity = '100'; | $photo_diaphaneity = '100'; | ||||
$photo_markimg = 'mark.png'; | $photo_markimg = 'mark.png'; |
@@ -3952,7 +3952,7 @@ INSERT INTO `#@__sysconfig` VALUES ('1','cfg_basehost','站点网址','1','strin | |||||
('23','cfg_rewrite','是否启用伪静态,开启后必须添加伪静态规则','1','bool','N'), | ('23','cfg_rewrite','是否启用伪静态,开启后必须添加伪静态规则','1','bool','N'), | ||||
('24','cfg_df_style','默认主题模板风格','1','string','dedebiz'), | ('24','cfg_df_style','默认主题模板风格','1','string','dedebiz'), | ||||
('25','cfg_multi_site','是否支持多站点,开启后附件栏目连接文档启用绝对网址','2','bool','N'), | ('25','cfg_multi_site','是否支持多站点,开启后附件栏目连接文档启用绝对网址','2','bool','N'), | ||||
('26','cfg_rm_remote','下载远程图片和资源','7','bool','Y'), | |||||
('26','cfg_rm_remote','下载远程图片和资源','7','bool','N'), | |||||
('27','cfg_dede_log','是否开启管理日志','2','bool','N'), | ('27','cfg_dede_log','是否开启管理日志','2','bool','N'), | ||||
('28','cfg_powerby','网站版权信息','1','bstring','Copyright © 2025 DedeBIZ 版权所有'), | ('28','cfg_powerby','网站版权信息','1','bstring','Copyright © 2025 DedeBIZ 版权所有'), | ||||
('29','cfg_jump_once','跳转网址是否直接跳转否则显示中转页','7','bool','Y'), | ('29','cfg_jump_once','跳转网址是否直接跳转否则显示中转页','7','bool','Y'), | ||||
@@ -3967,7 +3967,7 @@ INSERT INTO `#@__sysconfig` VALUES ('1','cfg_basehost','站点网址','1','strin | |||||
('38','cfg_mb_upload','是否允许会员上传非图片附件','4','bool','Y'), | ('38','cfg_mb_upload','是否允许会员上传非图片附件','4','bool','Y'), | ||||
('39','cfg_mb_upload_size','会员上传文件大小(KB)','4','number','5024'), | ('39','cfg_mb_upload_size','会员上传文件大小(KB)','4','number','5024'), | ||||
('40','cfg_mb_sendall','是否开放会员对自定义模型投稿','4','bool','Y'), | ('40','cfg_mb_sendall','是否开放会员对自定义模型投稿','4','bool','Y'), | ||||
('41','cfg_mb_rmdown','是否会员指定远程资源下载到本地','4','bool','Y'), | |||||
('41','cfg_mb_rmdown','是否会员指定远程资源下载到本地','4','bool','N'), | |||||
('42','cfg_cli_time','服务器时区设置','2','number','8'), | ('42','cfg_cli_time','服务器时区设置','2','number','8'), | ||||
('43','cfg_mb_addontype','会员附件许可文件类型','4','bstring','swf|rm|rmvb|mpg|mp3|mp4|wmv|wma|wav|mid|mov|zip|rar|doc|xsl|ppt|wps'), | ('43','cfg_mb_addontype','会员附件许可文件类型','4','bstring','swf|rm|rmvb|mpg|mp3|mp4|wmv|wma|wav|mid|mov|zip|rar|doc|xsl|ppt|wps'), | ||||
('44','cfg_mb_max','会员附件总大小限制(MB)','4','number','500'), | ('44','cfg_mb_max','会员附件总大小限制(MB)','4','number','500'), | ||||
@@ -3978,7 +3978,7 @@ INSERT INTO `#@__sysconfig` VALUES ('1','cfg_basehost','站点网址','1','strin | |||||
('49','cfg_tplcache','是否启用模板缓存','6','bool','Y'), | ('49','cfg_tplcache','是否启用模板缓存','6','bool','Y'), | ||||
('50','cfg_tplcache_dir','模板缓存目录','6','string','/data/tplcache'), | ('50','cfg_tplcache_dir','模板缓存目录','6','string','/data/tplcache'), | ||||
('51','cfg_makesign_cache','是否修改发布单文档调用缓存','6','bool','N'), | ('51','cfg_makesign_cache','是否修改发布单文档调用缓存','6','bool','N'), | ||||
('52','cfg_arc_dellink','删除非站内链接','7','bool','Y'), | |||||
('52','cfg_arc_dellink','删除非站内链接','7','bool','N'), | |||||
('53','cfg_arc_autopic','提取第一个图片为缩略图','7','bool','Y'), | ('53','cfg_arc_autopic','提取第一个图片为缩略图','7','bool','Y'), | ||||
('54','cfg_arc_autokeyword','自动提取关键词','7','bool','N'), | ('54','cfg_arc_autokeyword','自动提取关键词','7','bool','N'), | ||||
('55','cfg_title_maxlen','文档标题最大长度,修改后需要手工修改数据表','7','number','255'), | ('55','cfg_title_maxlen','文档标题最大长度,修改后需要手工修改数据表','7','number','255'), | ||||
@@ -240,7 +240,7 @@ CREATE TABLE `#@__arctype` ( | |||||
`reid` smallint(5) unsigned NOT NULL default '0', | `reid` smallint(5) unsigned NOT NULL default '0', | ||||
`topid` smallint(5) unsigned NOT NULL default '0', | `topid` smallint(5) unsigned NOT NULL default '0', | ||||
`sortrank` smallint(5) unsigned NOT NULL default '50', | `sortrank` smallint(5) unsigned NOT NULL default '50', | ||||
`typename` varchar(255) NOT NULL default '', | |||||
`typename` char(255) NOT NULL default '', | |||||
`cnoverview` char(255) NOT NULL default '', | `cnoverview` char(255) NOT NULL default '', | ||||
`enname` char(255) NOT NULL default '', | `enname` char(255) NOT NULL default '', | ||||
`enoverview` char(255) NOT NULL default '', | `enoverview` char(255) NOT NULL default '', | ||||
@@ -260,8 +260,8 @@ CREATE TABLE `#@__arctype` ( | |||||
`namerule` char(50) NOT NULL default '', | `namerule` char(50) NOT NULL default '', | ||||
`namerule2` char(50) NOT NULL default '', | `namerule2` char(50) NOT NULL default '', | ||||
`modname` char(20) NOT NULL default '', | `modname` char(20) NOT NULL default '', | ||||
`description` char(255) NOT NULL default '', | |||||
`keywords` varchar(60) NOT NULL default '', | |||||
`description` varchar(255) NOT NULL default '', | |||||
`keywords` varchar(255) NOT NULL default '', | |||||
`seotitle` varchar(255) NOT NULL default '', | `seotitle` varchar(255) NOT NULL default '', | ||||
`moresite` tinyint(1) unsigned NOT NULL default '0', | `moresite` tinyint(1) unsigned NOT NULL default '0', | ||||
`sitepath` char(60) NOT NULL default '', | `sitepath` char(60) NOT NULL default '', | ||||
@@ -805,25 +805,25 @@ CREATE TABLE `#@__search_limits` ( | |||||
) TYPE=MyISAM; | ) TYPE=MyISAM; | ||||
DROP TABLE IF EXISTS `#@__search_sync`; | DROP TABLE IF EXISTS `#@__search_sync`; | ||||
CREATE TABLE `#@__search_sync` ( | |||||
`id` int unsigned NOT NULL auto_increment, | |||||
`aid` int NULL DEFAULT NULL, | |||||
`sync_status` tinyint NULL DEFAULT 0, | |||||
`add_at` int NULL DEFAULT NULL, | |||||
`update_at` int NULL DEFAULT NULL, | |||||
PRIMARY KEY (`id`) | |||||
CREATE TABLE `#@__search_sync` ( | |||||
`id` int unsigned NOT NULL auto_increment, | |||||
`aid` int NULL DEFAULT NULL, | |||||
`sync_status` tinyint NULL DEFAULT 0, | |||||
`add_at` int NULL DEFAULT NULL, | |||||
`update_at` int NULL DEFAULT NULL, | |||||
PRIMARY KEY (`id`) | |||||
) TYPE=MyISAM; | ) TYPE=MyISAM; | ||||
DROP TABLE IF EXISTS `#@__sgpage`; | DROP TABLE IF EXISTS `#@__sgpage`; | ||||
CREATE TABLE `#@__sgpage` ( | CREATE TABLE `#@__sgpage` ( | ||||
`aid` smallint(5) unsigned NOT NULL auto_increment, | `aid` smallint(5) unsigned NOT NULL auto_increment, | ||||
`title` varchar(60) NOT NULL default '', | |||||
`title` char(255) NOT NULL default '', | |||||
`ismake` smallint(6) NOT NULL default '1', | `ismake` smallint(6) NOT NULL default '1', | ||||
`filename` varchar(60) NOT NULL default '', | `filename` varchar(60) NOT NULL default '', | ||||
`keywords` varchar(30) NOT NULL default '', | |||||
`keywords` varchar(255) NOT NULL default '', | |||||
`description` varchar(255) NOT NULL default '', | |||||
`template` varchar(30) NOT NULL default '', | `template` varchar(30) NOT NULL default '', | ||||
`likeid` varchar(20) NOT NULL default '', | `likeid` varchar(20) NOT NULL default '', | ||||
`description` varchar(255) NOT NULL default '', | |||||
`uptime` int(10) unsigned NOT NULL default '0', | `uptime` int(10) unsigned NOT NULL default '0', | ||||
`body` mediumtext, | `body` mediumtext, | ||||
PRIMARY KEY (`aid`), | PRIMARY KEY (`aid`), | ||||
@@ -1,5 +1,5 @@ | |||||
/* | /* | ||||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | ||||
*/ | */ | ||||
(function(){function g(b){return""===b?!1:b}function h(b){if(!/(o|u)l/i.test(b.parent.name))return b;d.elements.replaceWithChildren(b);return!1}function k(b){function d(a,f){var b,c;if(a&&"tr"===a.name){b=a.children;for(c=0;c<f.length&&b[c];c++)b[c].attributes.width=f[c];d(a.next,f)}}var c=b.parent;b=function(a){return CKEDITOR.tools.array.map(a,function(a){return Number(a.attributes.width)})}(b.children);var a=function(a){return CKEDITOR.tools.array.reduce(a,function(a,b){return a+b},0)}(b);c.attributes.width= | (function(){function g(b){return""===b?!1:b}function h(b){if(!/(o|u)l/i.test(b.parent.name))return b;d.elements.replaceWithChildren(b);return!1}function k(b){function d(a,f){var b,c;if(a&&"tr"===a.name){b=a.children;for(c=0;c<f.length&&b[c];c++)b[c].attributes.width=f[c];d(a.next,f)}}var c=b.parent;b=function(a){return CKEDITOR.tools.array.map(a,function(a){return Number(a.attributes.width)})}(b.children);var a=function(a){return CKEDITOR.tools.array.reduce(a,function(a,b){return a+b},0)}(b);c.attributes.width= | ||||
@@ -1,5 +1,5 @@ | |||||
/* | /* | ||||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | ||||
*/ | */ | ||||
(function(){function k(b,c){if(!(b.previous&&g(b.previous)&&b.getFirst().children.length&&1===b.children.length&&g(b.getFirst().getFirst())))return!1;for(var d=l(b.previous),a=0,f=d,r=q();f=f.getAscendant(r);)a++;return(a=m(b,a))?(d.add(a),a.filterChildren(c),!0):!1}function l(b){var c=b.children[b.children.length-1];return g(c)||"li"===c.name?l(c):b}function q(){var b=!1;return function(c){return b?!1:g(c)||"li"===c.name?g(c):(b=!0,!1)}}function m(b,c){return c?m(b.getFirst().getFirst(),--c):b}function g(b){return"ol"=== | (function(){function k(b,c){if(!(b.previous&&g(b.previous)&&b.getFirst().children.length&&1===b.children.length&&g(b.getFirst().getFirst())))return!1;for(var d=l(b.previous),a=0,f=d,r=q();f=f.getAscendant(r);)a++;return(a=m(b,a))?(d.add(a),a.filterChildren(c),!0):!1}function l(b){var c=b.children[b.children.length-1];return g(c)||"li"===c.name?l(c):b}function q(){var b=!1;return function(c){return b?!1:g(c)||"li"===c.name?g(c):(b=!0,!1)}}function m(b,c){return c?m(b.getFirst().getFirst(),--c):b}function g(b){return"ol"=== | ||||
@@ -1,43 +1,42 @@ | |||||
/* | /* | ||||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | ||||
*/ | */ | ||||
(function(){function r(){return!1}var n=CKEDITOR.tools,B=CKEDITOR.plugins.pastetools,t=B.filters.common,k=t.styles,C=t.createAttributeStack,z=t.lists.getElementIndentation,D=["o:p","xml","script","meta","link"],E="v:arc v:curve v:line v:oval v:polyline v:rect v:roundrect v:group".split(" "),A={},y=0,q={},g,p;CKEDITOR.plugins.pastetools.filters.word=q;CKEDITOR.plugins.pastefromword=q;q.rules=function(b,a,c){function e(d){(d.attributes["o:gfxdata"]||"v:group"===d.parent.name)&&l.push(d.attributes.id)} | |||||
var f=Boolean(b.match(/mso-list:\s*l\d+\s+level\d+\s+lfo\d+/)),l=[],w={root:function(d){d.filterChildren(c);CKEDITOR.plugins.pastefromword.lists.cleanup(g.createLists(d))},elementNames:[[/^\?xml:namespace$/,""],[/^v:shapetype/,""],[new RegExp(D.join("|")),""]],elements:{a:function(d){if(d.attributes.name){if("_GoBack"==d.attributes.name){delete d.name;return}if(d.attributes.name.match(/^OLE_LINK\d+$/)){delete d.name;return}}if(d.attributes.href&&d.attributes.href.match(/#.+$/)){var a=d.attributes.href.match(/#(.+)$/)[1]; | |||||
A[a]=d}d.attributes.name&&A[d.attributes.name]&&(d=A[d.attributes.name],d.attributes.href=d.attributes.href.replace(/.*#(.*)$/,"#$1"))},div:function(d){if(a.plugins.pagebreak&&d.attributes["data-cke-pagebreak"])return d;k.createStyleStack(d,c,a)},img:function(d){if(d.parent&&d.parent.attributes){var a=d.parent.attributes;(a=a.style||a.STYLE)&&a.match(/mso\-list:\s?Ignore/)&&(d.attributes["cke-ignored"]=!0)}k.mapCommonStyles(d);d.attributes.src&&d.attributes.src.match(/^file:\/\//)&&d.attributes.alt&& | |||||
d.attributes.alt.match(/^https?:\/\//)&&(d.attributes.src=d.attributes.alt);d=d.attributes["v:shapes"]?d.attributes["v:shapes"].split(" "):[];a=CKEDITOR.tools.array.every(d,function(a){return-1<l.indexOf(a)});if(d.length&&a)return!1},p:function(d){d.filterChildren(c);if(d.attributes.style&&d.attributes.style.match(/display:\s*none/i))return!1;if(g.thisIsAListItem(a,d))p.isEdgeListItem(a,d)&&p.cleanupEdgeListItem(d),g.convertToFakeListItem(a,d),n.array.reduce(d.children,function(a,d){"p"===d.name&& | |||||
(0<a&&(new CKEDITOR.htmlParser.element("br")).insertBefore(d),d.replaceWithChildren(),a+=1);return a},0);else{var b=d.getAscendant(function(a){return"ul"==a.name||"ol"==a.name}),e=n.parseCssText(d.attributes.style);b&&!b.attributes["cke-list-level"]&&e["mso-list"]&&e["mso-list"].match(/level/)&&(b.attributes["cke-list-level"]=e["mso-list"].match(/level(\d+)/)[1]);a.config.enterMode==CKEDITOR.ENTER_BR&&(delete d.name,d.add(new CKEDITOR.htmlParser.element("br")))}k.createStyleStack(d,c,a)},pre:function(d){g.thisIsAListItem(a, | |||||
d)&&g.convertToFakeListItem(a,d);k.createStyleStack(d,c,a)},h1:function(d){g.thisIsAListItem(a,d)&&g.convertToFakeListItem(a,d);k.createStyleStack(d,c,a)},h2:function(d){g.thisIsAListItem(a,d)&&g.convertToFakeListItem(a,d);k.createStyleStack(d,c,a)},h3:function(d){g.thisIsAListItem(a,d)&&g.convertToFakeListItem(a,d);k.createStyleStack(d,c,a)},h4:function(d){g.thisIsAListItem(a,d)&&g.convertToFakeListItem(a,d);k.createStyleStack(d,c,a)},h5:function(d){g.thisIsAListItem(a,d)&&g.convertToFakeListItem(a, | |||||
d);k.createStyleStack(d,c,a)},h6:function(d){g.thisIsAListItem(a,d)&&g.convertToFakeListItem(a,d);k.createStyleStack(d,c,a)},font:function(d){if(d.getHtml().match(/^\s*$/))return d.parent.type===CKEDITOR.NODE_ELEMENT&&(new CKEDITOR.htmlParser.text(" ")).insertAfter(d),!1;a&&!0===a.config.pasteFromWordRemoveFontStyles&&d.attributes.size&&delete d.attributes.size;CKEDITOR.dtd.tr[d.parent.name]&&CKEDITOR.tools.arrayCompare(CKEDITOR.tools.object.keys(d.attributes),["class","style"])?k.createStyleStack(d, | |||||
c,a):C(d,c)},ul:function(a){if(f)return"li"==a.parent.name&&0===n.indexOf(a.parent.children,a)&&k.setStyle(a.parent,"list-style-type","none"),g.dissolveList(a),!1},li:function(d){p.correctLevelShift(d);f&&(d.attributes.style=k.normalizedStyles(d,a),k.pushStylesLower(d))},ol:function(a){if(f)return"li"==a.parent.name&&0===n.indexOf(a.parent.children,a)&&k.setStyle(a.parent,"list-style-type","none"),g.dissolveList(a),!1},span:function(d){d.filterChildren(c);d.attributes.style=k.normalizedStyles(d,a); | |||||
if(!d.attributes.style||d.attributes.style.match(/^mso\-bookmark:OLE_LINK\d+$/)||d.getHtml().match(/^(\s| )+$/))return t.elements.replaceWithChildren(d),!1;d.attributes.style.match(/FONT-FAMILY:\s*Symbol/i)&&d.forEach(function(a){a.value=a.value.replace(/ /g,"")},CKEDITOR.NODE_TEXT,!0);k.createStyleStack(d,c,a)},"v:imagedata":r,"v:shape":function(a){var b=!1;if(null===a.getFirst("v:imagedata"))e(a);else{a.parent.find(function(c){"img"==c.name&&c.attributes&&c.attributes["v:shapes"]==a.attributes.id&& | |||||
(b=!0)},!0);if(b)return!1;var f="";"v:group"===a.parent.name?e(a):(a.forEach(function(a){a.attributes&&a.attributes.src&&(f=a.attributes.src)},CKEDITOR.NODE_ELEMENT,!0),a.filterChildren(c),a.name="img",a.attributes.src=a.attributes.src||f,delete a.attributes.type)}},style:function(){return!1},object:function(a){return!(!a.attributes||!a.attributes.data)},br:function(b){if(a.plugins.pagebreak&&(b=n.parseCssText(b.attributes.style,!0),"always"===b["page-break-before"]||"page"===b["break-before"]))return b= | |||||
CKEDITOR.plugins.pagebreak.createElement(a),CKEDITOR.htmlParser.fragment.fromHtml(b.getOuterHtml()).children[0]}},attributes:{style:function(b,c){return k.normalizedStyles(c,a)||!1},"class":function(a){a=a.replace(/(el\d+)|(font\d+)|msonormal|msolistparagraph\w*/ig,"");return""===a?!1:a},cellspacing:r,cellpadding:r,border:r,"v:shapes":r,"o:spid":r},comment:function(a){a.match(/\[if.* supportFields.*\]/)&&y++;"[endif]"==a&&(y=0<y?y-1:0);return!1},text:function(a,b){if(y)return"";var c=b.parent&&b.parent.parent; | |||||
return c&&c.attributes&&c.attributes.style&&c.attributes.style.match(/mso-list:\s*ignore/i)?a.replace(/ /g," "):a}};n.array.forEach(E,function(a){w.elements[a]=e});return w};q.lists={thisIsAListItem:function(b,a){return p.isEdgeListItem(b,a)||a.attributes.style&&a.attributes.style.match(/mso\-list:\s?l\d/)&&"li"!==a.parent.name||a.attributes["cke-dissolved"]||a.getHtml().match(/<!\-\-\[if !supportLists]\-\->/)?!0:!1},convertToFakeListItem:function(b,a){p.isDegenerateListItem(b,a)&&p.assignListLevels(b, | |||||
a);this.getListItemInfo(a);if(!a.attributes["cke-dissolved"]){var c;a.forEach(function(a){!c&&"img"==a.name&&a.attributes["cke-ignored"]&&"*"==a.attributes.alt&&(c="·",a.remove())},CKEDITOR.NODE_ELEMENT);a.forEach(function(a){c||a.value.match(/^ /)||(c=a.value)},CKEDITOR.NODE_TEXT);if("undefined"==typeof c)return;a.attributes["cke-symbol"]=c.replace(/(?: | ).*$/,"");g.removeSymbolText(a)}var e=a.attributes&&n.parseCssText(a.attributes.style);if(e["margin-left"]){var f=e["margin-left"],l=a.attributes["cke-list-level"]; | |||||
(f=Math.max(CKEDITOR.tools.convertToPx(f)-40*l,0))?e["margin-left"]=f+"px":delete e["margin-left"];a.attributes.style=CKEDITOR.tools.writeCssText(e)}a.name="cke:li"},convertToRealListItems:function(b){var a=[];b.forEach(function(b){"cke:li"==b.name&&(b.name="li",a.push(b))},CKEDITOR.NODE_ELEMENT,!1);return a},removeSymbolText:function(b){var a=b.attributes["cke-symbol"],c=b.findOne(function(b){return b.value&&-1<b.value.indexOf(a)},!0),e;c&&(c.value=c.value.replace(a,""),e=c.parent,e.getHtml().match(/^(\s| )*$/)&& | |||||
e!==b?e.remove():c.value||c.remove())},setListSymbol:function(b,a,c){c=c||1;var e=n.parseCssText(b.attributes.style);if("ol"==b.name){if(b.attributes.type||e["list-style-type"])return;var f={"[ivx]":"lower-roman","[IVX]":"upper-roman","[a-z]":"lower-alpha","[A-Z]":"upper-alpha","\\d":"decimal"},l;for(l in f)if(g.getSubsectionSymbol(a).match(new RegExp(l))){e["list-style-type"]=f[l];break}b.attributes["cke-list-style-type"]=e["list-style-type"]}else f={"·":"disc",o:"circle","§":"square"},!e["list-style-type"]&& | |||||
f[a]&&(e["list-style-type"]=f[a]);g.setListSymbol.removeRedundancies(e,c);(b.attributes.style=CKEDITOR.tools.writeCssText(e))||delete b.attributes.style},setListStart:function(b){for(var a=[],c=0,e=0;e<b.children.length;e++)a.push(b.children[e].attributes["cke-symbol"]||"");a[0]||c++;switch(b.attributes["cke-list-style-type"]){case "lower-roman":case "upper-roman":b.attributes.start=g.toArabic(g.getSubsectionSymbol(a[c]))-c;break;case "lower-alpha":case "upper-alpha":b.attributes.start=g.getSubsectionSymbol(a[c]).replace(/\W/g, | |||||
"").toLowerCase().charCodeAt(0)-96-c;break;case "decimal":b.attributes.start=parseInt(g.getSubsectionSymbol(a[c]),10)-c||1}"1"==b.attributes.start&&delete b.attributes.start;delete b.attributes["cke-list-style-type"]},numbering:{toNumber:function(b,a){function c(a){a=a.toUpperCase();for(var b=1,c=1;0<a.length;c*=26)b+="ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(a.charAt(a.length-1))*c,a=a.substr(0,a.length-1);return b}function e(a){var b=[[1E3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50, | |||||
"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];a=a.toUpperCase();for(var c=b.length,d=0,e=0;e<c;++e)for(var g=b[e],u=g[1].length;a.substr(0,u)==g[1];a=a.substr(u))d+=g[0];return d}return"decimal"==a?Number(b):"upper-roman"==a||"lower-roman"==a?e(b.toUpperCase()):"lower-alpha"==a||"upper-alpha"==a?c(b):1},getStyle:function(b){b=b.slice(0,1);var a={i:"lower-roman",v:"lower-roman",x:"lower-roman",l:"lower-roman",m:"lower-roman",I:"upper-roman",V:"upper-roman",X:"upper-roman",L:"upper-roman", | |||||
M:"upper-roman"}[b];a||(a="decimal",b.match(/[a-z]/)&&(a="lower-alpha"),b.match(/[A-Z]/)&&(a="upper-alpha"));return a}},getSubsectionSymbol:function(b){return(b.match(/([\da-zA-Z]+).?$/)||["placeholder","1"])[1]},setListDir:function(b){var a=0,c=0;b.forEach(function(b){"li"==b.name&&("rtl"==(b.attributes.dir||b.attributes.DIR||"").toLowerCase()?c++:a++)},CKEDITOR.ELEMENT_NODE);c>a&&(b.attributes.dir="rtl")},createList:function(b){return(b.attributes["cke-symbol"].match(/([\da-np-zA-NP-Z]).?/)||[])[1]? | |||||
new CKEDITOR.htmlParser.element("ol"):new CKEDITOR.htmlParser.element("ul")},createLists:function(b){function a(a){return CKEDITOR.tools.array.reduce(a,function(a,b){if(b.attributes&&b.attributes.style)var c=CKEDITOR.tools.parseCssText(b.attributes.style)["margin-left"];return c?a+parseInt(c,10):a},0)}var c,e,f,l=g.convertToRealListItems(b);if(0===l.length)return[];var k=g.groupLists(l);for(b=0;b<k.length;b++){var d=k[b],h=d[0];for(f=0;f<d.length;f++)if(1==d[f].attributes["cke-list-level"]){h=d[f]; | |||||
break}var h=[g.createList(h)],m=h[0],u=[h[0]];m.insertBefore(d[0]);for(f=0;f<d.length;f++){c=d[f];for(e=c.attributes["cke-list-level"];e>h.length;){var v=g.createList(c),x=m.children;0<x.length?x[x.length-1].add(v):(x=new CKEDITOR.htmlParser.element("li",{style:"list-style-type:none"}),x.add(v),m.add(x));h.push(v);u.push(v);m=v;e==h.length&&g.setListSymbol(v,c.attributes["cke-symbol"],e)}for(;e<h.length;)h.pop(),m=h[h.length-1],e==h.length&&g.setListSymbol(m,c.attributes["cke-symbol"],e);c.remove(); | |||||
m.add(c)}h[0].children.length&&(f=h[0].children[0].attributes["cke-symbol"],!f&&1<h[0].children.length&&(f=h[0].children[1].attributes["cke-symbol"]),f&&g.setListSymbol(h[0],f));for(f=0;f<u.length;f++)g.setListStart(u[f]);for(f=0;f<d.length;f++)this.determineListItemValue(d[f])}CKEDITOR.tools.array.forEach(l,function(b){for(var c=[],d=b.parent;d;)"li"===d.name&&c.push(d),d=d.parent;var c=a(c),e;c&&(b.attributes=b.attributes||{},d=CKEDITOR.tools.parseCssText(b.attributes.style),e=d["margin-left"]|| | |||||
0,(e=Math.max(parseInt(e,10)-c,0))?d["margin-left"]=e+"px":delete d["margin-left"],b.attributes.style=CKEDITOR.tools.writeCssText(d))});return l},cleanup:function(b){var a=["cke-list-level","cke-symbol","cke-list-id","cke-indentation","cke-dissolved"],c,e;for(c=0;c<b.length;c++)for(e=0;e<a.length;e++)delete b[c].attributes[a[e]]},determineListItemValue:function(b){if("ol"===b.parent.name){var a=this.calculateValue(b),c=b.attributes["cke-symbol"].match(/[a-z0-9]+/gi),e;c&&(c=c[c.length-1],e=b.parent.attributes["cke-list-style-type"]|| | |||||
this.numbering.getStyle(c),c=this.numbering.toNumber(c,e),c!==a&&(b.attributes.value=c))}},calculateValue:function(b){if(!b.parent)return 1;var a=b.parent;b=b.getIndex();var c=null,e,f,g;for(g=b;0<=g&&null===c;g--)f=a.children[g],f.attributes&&void 0!==f.attributes.value&&(e=g,c=parseInt(f.attributes.value,10));null===c&&(c=void 0!==a.attributes.start?parseInt(a.attributes.start,10):1,e=0);return c+(b-e)},dissolveList:function(b){function a(b){return 50<=b?"l"+a(b-50):40<=b?"xl"+a(b-40):10<=b?"x"+ | |||||
a(b-10):9==b?"ix":5<=b?"v"+a(b-5):4==b?"iv":1<=b?"i"+a(b-1):""}function c(a,b){function c(b,d){return b&&b.parent?a(b.parent)?c(b.parent,d+1):c(b.parent,d):d}return c(b,0)}var e=function(a){return function(b){return b.name==a}},f=function(a){return e("ul")(a)||e("ol")(a)},g=CKEDITOR.tools.array,w=[],d,h;b.forEach(function(a){w.push(a)},CKEDITOR.NODE_ELEMENT,!1);d=g.filter(w,e("li"));var m=g.filter(w,f);g.forEach(m,function(b){var d=b.attributes.type,h=parseInt(b.attributes.start,10)||1,m=c(f,b)+1; | |||||
d||(d=n.parseCssText(b.attributes.style)["list-style-type"]);g.forEach(g.filter(b.children,e("li")),function(c,e){var f;switch(d){case "disc":f="·";break;case "circle":f="o";break;case "square":f="§";break;case "1":case "decimal":f=h+e+".";break;case "a":case "lower-alpha":f=String.fromCharCode(97+h-1+e)+".";break;case "A":case "upper-alpha":f=String.fromCharCode(65+h-1+e)+".";break;case "i":case "lower-roman":f=a(h+e)+".";break;case "I":case "upper-roman":f=a(h+e).toUpperCase()+".";break;default:f= | |||||
"ul"==b.name?"·":h+e+"."}c.attributes["cke-symbol"]=f;c.attributes["cke-list-level"]=m})});d=g.reduce(d,function(a,b){var c=b.children[0];if(c&&c.name&&c.attributes.style&&c.attributes.style.match(/mso-list:/i)){k.pushStylesLower(b,{"list-style-type":!0,display:!0});var d=n.parseCssText(c.attributes.style,!0);k.setStyle(b,"mso-list",d["mso-list"],!0);k.setStyle(c,"mso-list","");delete b["cke-list-level"];(c=d.display?"display":d.DISPLAY?"DISPLAY":"")&&k.setStyle(b,"display",d[c],!0)}if(1===b.children.length&& | |||||
f(b.children[0]))return a;b.name="p";b.attributes["cke-dissolved"]=!0;a.push(b);return a},[]);for(h=d.length-1;0<=h;h--)d[h].insertAfter(b);for(h=m.length-1;0<=h;h--)delete m[h].name},groupLists:function(b){var a,c,e=[[b[0]]],f=e[0];c=b[0];c.attributes["cke-indentation"]=c.attributes["cke-indentation"]||z(c);for(a=1;a<b.length;a++){c=b[a];var l=b[a-1];c.attributes["cke-indentation"]=c.attributes["cke-indentation"]||z(c);c.previous!==l&&(g.chopDiscontinuousLists(f,e),e.push(f=[]));f.push(c)}g.chopDiscontinuousLists(f, | |||||
e);return e},chopDiscontinuousLists:function(b,a){for(var c={},e=[[]],f,l=0;l<b.length;l++){var k=c[b[l].attributes["cke-list-level"]],d=this.getListItemInfo(b[l]),h,m;k?(m=k.type.match(/alpha/)&&7==k.index?"alpha":m,m="o"==b[l].attributes["cke-symbol"]&&14==k.index?"alpha":m,h=g.getSymbolInfo(b[l].attributes["cke-symbol"],m),d=this.getListItemInfo(b[l]),(k.type!=h.type||f&&d.id!=f.id&&!this.isAListContinuation(b[l]))&&e.push([])):h=g.getSymbolInfo(b[l].attributes["cke-symbol"]);for(f=parseInt(b[l].attributes["cke-list-level"], | |||||
10)+1;20>f;f++)c[f]&&delete c[f];c[b[l].attributes["cke-list-level"]]=h;e[e.length-1].push(b[l]);f=d}[].splice.apply(a,[].concat([n.indexOf(a,b),1],e))},isAListContinuation:function(b){var a=b;do if((a=a.previous)&&a.type===CKEDITOR.NODE_ELEMENT){if(void 0===a.attributes["cke-list-level"])break;if(a.attributes["cke-list-level"]===b.attributes["cke-list-level"])return a.attributes["cke-list-id"]===b.attributes["cke-list-id"]}while(a);return!1},toArabic:function(b){return b.match(/[ivxl]/i)?b.match(/^l/i)? | |||||
50+g.toArabic(b.slice(1)):b.match(/^lx/i)?40+g.toArabic(b.slice(1)):b.match(/^x/i)?10+g.toArabic(b.slice(1)):b.match(/^ix/i)?9+g.toArabic(b.slice(2)):b.match(/^v/i)?5+g.toArabic(b.slice(1)):b.match(/^iv/i)?4+g.toArabic(b.slice(2)):b.match(/^i/i)?1+g.toArabic(b.slice(1)):g.toArabic(b.slice(1)):0},getSymbolInfo:function(b,a){var c=b.toUpperCase()==b?"upper-":"lower-",e={"·":["disc",-1],o:["circle",-2],"§":["square",-3]};if(b in e||a&&a.match(/(disc|circle|square)/))return{index:e[b][1],type:e[b][0]}; | |||||
if(b.match(/\d/))return{index:b?parseInt(g.getSubsectionSymbol(b),10):0,type:"decimal"};b=b.replace(/\W/g,"").toLowerCase();return!a&&b.match(/[ivxl]+/i)||a&&"alpha"!=a||"roman"==a?{index:g.toArabic(b),type:c+"roman"}:b.match(/[a-z]/i)?{index:b.charCodeAt(0)-97,type:c+"alpha"}:{index:-1,type:"disc"}},getListItemInfo:function(b){if(void 0!==b.attributes["cke-list-id"])return{id:b.attributes["cke-list-id"],level:b.attributes["cke-list-level"]};var a=n.parseCssText(b.attributes.style)["mso-list"],c= | |||||
{id:"0",level:"1"};a&&(a+=" ",c.level=a.match(/level(.+?)\s+/)[1],c.id=a.match(/l(\d+?)\s+/)[1]);b.attributes["cke-list-level"]=void 0!==b.attributes["cke-list-level"]?b.attributes["cke-list-level"]:c.level;b.attributes["cke-list-id"]=c.id;return c}};g=q.lists;q.images={extractFromRtf:function(b){var a=[],c=/\{\\pict[\s\S]+?\\bliptag\-?\d+(\\blipupi\-?\d+)?(\{\\\*\\blipuid\s?[\da-fA-F]+)?[\s\}]*?/,e;b=b.match(new RegExp("(?:("+c.source+"))([\\da-fA-F\\s]+)\\}","g"));if(!b)return a;for(var f=0;f<b.length;f++)if(c.test(b[f])){if(-1!== | |||||
b[f].indexOf("\\pngblip"))e="image/png";else if(-1!==b[f].indexOf("\\jpegblip"))e="image/jpeg";else continue;a.push({hex:e?b[f].replace(c,"").replace(/[^\da-fA-F]/g,""):null,type:e})}return a},extractTagsFromHtml:function(b){for(var a=/<img[^>]+src="([^"]+)[^>]+/g,c=[],e;e=a.exec(b);)c.push(e[1]);return c}};q.heuristics={isEdgeListItem:function(b,a){if(!CKEDITOR.env.edge||!b.config.pasteFromWord_heuristicsEdgeList)return!1;var c="";a.forEach&&a.forEach(function(a){c+=a.value},CKEDITOR.NODE_TEXT); | |||||
return c.match(/^(?: | )*\(?[a-zA-Z0-9]+?[\.\)](?: | ){2,}/)?!0:p.isDegenerateListItem(b,a)},cleanupEdgeListItem:function(b){var a=!1;b.forEach(function(b){a||(b.value=b.value.replace(/^(?: |[\s])+/,""),b.value.length&&(a=!0))},CKEDITOR.NODE_TEXT)},isDegenerateListItem:function(b,a){return!!a.attributes["cke-list-level"]||a.attributes.style&&!a.attributes.style.match(/mso\-list/)&&!!a.find(function(b){if(b.type==CKEDITOR.NODE_ELEMENT&&a.name.match(/h\d/i)&&b.getHtml().match(/^[a-zA-Z0-9]+?[\.\)]$/))return!0; | |||||
var e=n.parseCssText(b.attributes&&b.attributes.style,!0);if(!e)return!1;var f=e["font-family"]||"";return(e.font||e["font-size"]||"").match(/7pt/i)&&!!b.previous||f.match(/symbol/i)},!0).length},assignListLevels:function(b,a){if(!a.attributes||void 0===a.attributes["cke-list-level"]){for(var c=[z(a)],e=[a],f=[],g=CKEDITOR.tools.array,k=g.map;a.next&&a.next.attributes&&!a.next.attributes["cke-list-level"]&&p.isDegenerateListItem(b,a.next);)a=a.next,c.push(z(a)),e.push(a);var d=k(c,function(a,b){return 0=== | |||||
b?0:a-c[b-1]}),h=this.guessIndentationStep(g.filter(c,function(a){return 0!==a})),f=k(c,function(a){return Math.round(a/h)});-1!==g.indexOf(f,0)&&(f=k(f,function(a){return a+1}));g.forEach(e,function(a,b){a.attributes["cke-list-level"]=f[b]});return{indents:c,levels:f,diffs:d}}},guessIndentationStep:function(b){return b.length?Math.min.apply(null,b):null},correctLevelShift:function(b){if(this.isShifted(b)){var a=CKEDITOR.tools.array.filter(b.children,function(a){return"ul"==a.name||"ol"==a.name}), | |||||
c=CKEDITOR.tools.array.reduce(a,function(a,b){return(b.children&&1==b.children.length&&p.isShifted(b.children[0])?[b]:b.children).concat(a)},[]);CKEDITOR.tools.array.forEach(a,function(a){a.remove()});CKEDITOR.tools.array.forEach(c,function(a){b.add(a)});delete b.name}},isShifted:function(b){return"li"!==b.name?!1:0===CKEDITOR.tools.array.filter(b.children,function(a){return a.name&&("ul"==a.name||"ol"==a.name||"p"==a.name&&0===a.children.length)?!1:!0}).length}};p=q.heuristics;g.setListSymbol.removeRedundancies= | |||||
function(b,a){(1===a&&"disc"===b["list-style-type"]||"decimal"===b["list-style-type"])&&delete b["list-style-type"]};CKEDITOR.cleanWord=CKEDITOR.pasteFilters.word=B.createFilter({rules:[t.rules,q.rules],additionalTransforms:function(b){CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&(b=t.styles.inliner.inline(b).getBody().getHtml());return b.replace(/<!\[/g,"\x3c!--[").replace(/\]>/g,"]--\x3e")}});CKEDITOR.config.pasteFromWord_heuristicsEdgeList=!0})(); | |||||
(function(){function r(){return!1}var n=CKEDITOR.tools,B=CKEDITOR.plugins.pastetools,t=B.filters.common,k=t.styles,C=t.createAttributeStack,z=t.lists.getElementIndentation,D=["o:p","xml","script","meta","link"],E="v:arc v:curve v:line v:oval v:polyline v:rect v:roundrect v:group".split(" "),A={},y=0,q={},g,p;CKEDITOR.plugins.pastetools.filters.word=q;CKEDITOR.plugins.pastefromword=q;q.rules=function(c,b,d){function e(a){(a.attributes["o:gfxdata"]||"v:group"===a.parent.name)&&l.push(a.attributes.id)} | |||||
var f=Boolean(c.match(/mso-list:\s*l\d+\s+level\d+\s+lfo\d+/)),l=[],w={root:function(a){a.filterChildren(d);CKEDITOR.plugins.pastefromword.lists.cleanup(g.createLists(a))},elementNames:[[/^\?xml:namespace$/,""],[/^v:shapetype/,""],[new RegExp(D.join("|")),""]],elements:{a:function(a){if(a.attributes.name){if("_GoBack"==a.attributes.name){delete a.name;return}if(a.attributes.name.match(/^OLE_LINK\d+$/)){delete a.name;return}}if(a.attributes.href&&a.attributes.href.match(/#.+$/)){var b=a.attributes.href.match(/#(.+)$/)[1]; | |||||
A[b]=a}a.attributes.name&&A[a.attributes.name]&&(a=A[a.attributes.name],a.attributes.href=a.attributes.href.replace(/.*#(.*)$/,"#$1"))},div:function(a){if(b.plugins.pagebreak&&a.attributes["data-cke-pagebreak"])return a;k.createStyleStack(a,d,b)},img:function(a){if(a.parent&&a.parent.attributes){var b=a.parent.attributes;(b=b.style||b.STYLE)&&b.match(/mso\-list:\s?Ignore/)&&(a.attributes["cke-ignored"]=!0)}k.mapCommonStyles(a);a.attributes.src&&a.attributes.src.match(/^file:\/\//)&&a.attributes.alt&& | |||||
a.attributes.alt.match(/^https?:\/\//)&&(a.attributes.src=a.attributes.alt);a=a.attributes["v:shapes"]?a.attributes["v:shapes"].split(" "):[];b=CKEDITOR.tools.array.every(a,function(a){return-1<l.indexOf(a)});if(a.length&&b)return!1},p:function(a){a.filterChildren(d);if(a.attributes.style&&a.attributes.style.match(/display:\s*none/i))return!1;if(g.thisIsAListItem(b,a))p.isEdgeListItem(b,a)&&p.cleanupEdgeListItem(a),g.convertToFakeListItem(b,a),n.array.reduce(a.children,function(a,b){"p"===b.name&& | |||||
(0<a&&(new CKEDITOR.htmlParser.element("br")).insertBefore(b),b.replaceWithChildren(),a+=1);return a},0);else{var c=a.getAscendant(function(a){return"ul"==a.name||"ol"==a.name}),f=n.parseCssText(a.attributes.style);c&&!c.attributes["cke-list-level"]&&f["mso-list"]&&f["mso-list"].match(/level/)&&(c.attributes["cke-list-level"]=f["mso-list"].match(/level(\d+)/)[1]);b.config.enterMode==CKEDITOR.ENTER_BR&&(delete a.name,a.add(new CKEDITOR.htmlParser.element("br")))}k.createStyleStack(a,d,b)},pre:function(a){g.thisIsAListItem(b, | |||||
a)&&g.convertToFakeListItem(b,a);k.createStyleStack(a,d,b)},h1:function(a){g.thisIsAListItem(b,a)&&g.convertToFakeListItem(b,a);k.createStyleStack(a,d,b)},h2:function(a){g.thisIsAListItem(b,a)&&g.convertToFakeListItem(b,a);k.createStyleStack(a,d,b)},h3:function(a){g.thisIsAListItem(b,a)&&g.convertToFakeListItem(b,a);k.createStyleStack(a,d,b)},h4:function(a){g.thisIsAListItem(b,a)&&g.convertToFakeListItem(b,a);k.createStyleStack(a,d,b)},h5:function(a){g.thisIsAListItem(b,a)&&g.convertToFakeListItem(b, | |||||
a);k.createStyleStack(a,d,b)},h6:function(a){g.thisIsAListItem(b,a)&&g.convertToFakeListItem(b,a);k.createStyleStack(a,d,b)},font:function(a){if(a.getHtml().match(/^\s*$/))return a.parent.type===CKEDITOR.NODE_ELEMENT&&(new CKEDITOR.htmlParser.text(" ")).insertAfter(a),!1;b&&!0===b.config.pasteFromWordRemoveFontStyles&&a.attributes.size&&delete a.attributes.size;CKEDITOR.dtd.tr[a.parent.name]&&CKEDITOR.tools.arrayCompare(CKEDITOR.tools.object.keys(a.attributes),["class","style"])?k.createStyleStack(a, | |||||
d,b):C(a,d)},ul:function(a){if(f)return"li"==a.parent.name&&0===n.indexOf(a.parent.children,a)&&k.setStyle(a.parent,"list-style-type","none"),g.dissolveList(a),!1},li:function(a){p.correctLevelShift(a);f&&(a.attributes.style=k.normalizedStyles(a,b),k.pushStylesLower(a))},ol:function(a){if(f)return"li"==a.parent.name&&0===n.indexOf(a.parent.children,a)&&k.setStyle(a.parent,"list-style-type","none"),g.dissolveList(a),!1},span:function(a){a.filterChildren(d);a.attributes.style=k.normalizedStyles(a,b); | |||||
if(!a.attributes.style||a.attributes.style.match(/^mso\-bookmark:OLE_LINK\d+$/)||a.getHtml().match(/^(\s| )+$/))return t.elements.replaceWithChildren(a),!1;a.attributes.style.match(/FONT-FAMILY:\s*Symbol/i)&&a.forEach(function(a){a.value=a.value.replace(/ /g,"")},CKEDITOR.NODE_TEXT,!0);k.createStyleStack(a,d,b)},"v:imagedata":r,"v:shape":function(a){var b=!1;if(null===a.getFirst("v:imagedata"))e(a);else{a.parent.find(function(c){"img"==c.name&&c.attributes&&c.attributes["v:shapes"]==a.attributes.id&& | |||||
(b=!0)},!0);if(b)return!1;var c="";"v:group"===a.parent.name?e(a):(a.forEach(function(a){a.attributes&&a.attributes.src&&(c=a.attributes.src)},CKEDITOR.NODE_ELEMENT,!0),a.filterChildren(d),a.name="img",a.attributes.src=a.attributes.src||c,delete a.attributes.type)}},style:function(){return!1},object:function(a){return!(!a.attributes||!a.attributes.data)},br:function(a){if(b.plugins.pagebreak&&(a=n.parseCssText(a.attributes.style,!0),"always"===a["page-break-before"]||"page"===a["break-before"]))return a= | |||||
CKEDITOR.plugins.pagebreak.createElement(b),CKEDITOR.htmlParser.fragment.fromHtml(a.getOuterHtml()).children[0]}},attributes:{style:function(a,c){return k.normalizedStyles(c,b)||!1},"class":function(a){a=a.replace(/(el\d+)|(font\d+)|msonormal|msolistparagraph\w*/ig,"");return""===a?!1:a},cellspacing:r,cellpadding:r,border:r,"v:shapes":r,"o:spid":r},comment:function(a){a.match(/\[if.* supportFields.*\]/)&&y++;"[endif]"==a&&(y=0<y?y-1:0);return!1},text:function(a,b){if(y)return"";var c=b.parent&&b.parent.parent; | |||||
return c&&c.attributes&&c.attributes.style&&c.attributes.style.match(/mso-list:\s*ignore/i)?a.replace(/ /g," "):a}};n.array.forEach(E,function(a){w.elements[a]=e});return w};q.lists={thisIsAListItem:function(c,b){return p.isEdgeListItem(c,b)||b.attributes.style&&b.attributes.style.match(/mso\-list:\s?l\d/)&&"li"!==b.parent.name||b.attributes["cke-dissolved"]||b.getHtml().match(/<!\-\-\[if !supportLists]\-\->/)?!0:!1},convertToFakeListItem:function(c,b){p.isDegenerateListItem(c,b)&&p.assignListLevels(c, | |||||
b);this.getListItemInfo(b);if(!b.attributes["cke-dissolved"]){var d;b.forEach(function(b){!d&&"img"==b.name&&b.attributes["cke-ignored"]&&"*"==b.attributes.alt&&(d="·",b.remove())},CKEDITOR.NODE_ELEMENT);b.forEach(function(b){d||b.value.match(/^ /)||(d=b.value)},CKEDITOR.NODE_TEXT);if("undefined"==typeof d)return;b.attributes["cke-symbol"]=d.replace(/(?: | ).*$/,"");g.removeSymbolText(b)}var e=b.attributes&&n.parseCssText(b.attributes.style);if(e["margin-left"]){var f=e["margin-left"],l=b.attributes["cke-list-level"]; | |||||
(f=Math.max(CKEDITOR.tools.convertToPx(f)-40*l,0))?e["margin-left"]=f+"px":delete e["margin-left"];b.attributes.style=CKEDITOR.tools.writeCssText(e)}b.name="cke:li"},convertToRealListItems:function(c){var b=[];c.forEach(function(c){"cke:li"==c.name&&(c.name="li",b.push(c))},CKEDITOR.NODE_ELEMENT,!1);return b},removeSymbolText:function(c){var b=c.attributes["cke-symbol"],d=c.findOne(function(c){return c.value&&-1<c.value.indexOf(b)},!0),e;d&&(d.value=d.value.replace(b,""),e=d.parent,e.getHtml().match(/^(\s| )*$/)&& | |||||
e!==c?e.remove():d.value||d.remove())},setListSymbol:function(c,b,d){d=d||1;var e=n.parseCssText(c.attributes.style);if("ol"==c.name){if(c.attributes.type||e["list-style-type"])return;var f={"[ivx]":"lower-roman","[IVX]":"upper-roman","[a-z]":"lower-alpha","[A-Z]":"upper-alpha","\\d":"decimal"},l;for(l in f)if(g.getSubsectionSymbol(b).match(new RegExp(l))){e["list-style-type"]=f[l];break}c.attributes["cke-list-style-type"]=e["list-style-type"]}else f={"·":"disc",o:"circle","§":"square"},!e["list-style-type"]&& | |||||
f[b]&&(e["list-style-type"]=f[b]);g.setListSymbol.removeRedundancies(e,d);(c.attributes.style=CKEDITOR.tools.writeCssText(e))||delete c.attributes.style},setListStart:function(c){for(var b=[],d=0,e=0;e<c.children.length;e++)b.push(c.children[e].attributes["cke-symbol"]||"");b[0]||d++;switch(c.attributes["cke-list-style-type"]){case "lower-roman":case "upper-roman":c.attributes.start=g.toArabic(g.getSubsectionSymbol(b[d]))-d;break;case "lower-alpha":case "upper-alpha":c.attributes.start=g.getSubsectionSymbol(b[d]).replace(/\W/g, | |||||
"").toLowerCase().charCodeAt(0)-96-d;break;case "decimal":c.attributes.start=parseInt(g.getSubsectionSymbol(b[d]),10)-d||1}"1"==c.attributes.start&&delete c.attributes.start;delete c.attributes["cke-list-style-type"]},numbering:{toNumber:function(c,b){function d(b){b=b.toUpperCase();for(var c=1,d=1;0<b.length;d*=26)c+="ABCDEFGHIJKLMNOPQRSTUVWXYZ".indexOf(b.charAt(b.length-1))*d,b=b.substr(0,b.length-1);return c}function e(b){var c=[[1E3,"M"],[900,"CM"],[500,"D"],[400,"CD"],[100,"C"],[90,"XC"],[50, | |||||
"L"],[40,"XL"],[10,"X"],[9,"IX"],[5,"V"],[4,"IV"],[1,"I"]];b=b.toUpperCase();for(var d=c.length,a=0,e=0;e<d;++e)for(var g=c[e],u=g[1].length;b.substr(0,u)==g[1];b=b.substr(u))a+=g[0];return a}return"decimal"==b?Number(c):"upper-roman"==b||"lower-roman"==b?e(c.toUpperCase()):"lower-alpha"==b||"upper-alpha"==b?d(c):1},getStyle:function(c){c=c.slice(0,1);var b={i:"lower-roman",v:"lower-roman",x:"lower-roman",l:"lower-roman",m:"lower-roman",I:"upper-roman",V:"upper-roman",X:"upper-roman",L:"upper-roman", | |||||
M:"upper-roman"}[c];b||(b="decimal",c.match(/[a-z]/)&&(b="lower-alpha"),c.match(/[A-Z]/)&&(b="upper-alpha"));return b}},getSubsectionSymbol:function(c){return(c.match(/([\da-zA-Z]+).?$/)||["placeholder","1"])[1]},setListDir:function(c){var b=0,d=0;c.forEach(function(c){"li"==c.name&&("rtl"==(c.attributes.dir||c.attributes.DIR||"").toLowerCase()?d++:b++)},CKEDITOR.ELEMENT_NODE);d>b&&(c.attributes.dir="rtl")},createList:function(c){return(c.attributes["cke-symbol"].match(/([\da-np-zA-NP-Z]).?/)||[])[1]? | |||||
new CKEDITOR.htmlParser.element("ol"):new CKEDITOR.htmlParser.element("ul")},createLists:function(c){function b(b){return CKEDITOR.tools.array.reduce(b,function(b,a){if(a.attributes&&a.attributes.style)var c=CKEDITOR.tools.parseCssText(a.attributes.style)["margin-left"];return c?b+parseInt(c,10):b},0)}var d,e,f,l=g.convertToRealListItems(c);if(0===l.length)return[];var k=g.groupLists(l);for(c=0;c<k.length;c++){var a=k[c],h=a[0];for(f=0;f<a.length;f++)if(1==a[f].attributes["cke-list-level"]){h=a[f]; | |||||
break}var h=[g.createList(h)],m=h[0],u=[h[0]];m.insertBefore(a[0]);for(f=0;f<a.length;f++){d=a[f];for(e=d.attributes["cke-list-level"];e>h.length;){var v=g.createList(d),x=m.children;0<x.length?x[x.length-1].add(v):(x=new CKEDITOR.htmlParser.element("li",{style:"list-style-type:none"}),x.add(v),m.add(x));h.push(v);u.push(v);m=v;e==h.length&&g.setListSymbol(v,d.attributes["cke-symbol"],e)}for(;e<h.length;)h.pop(),m=h[h.length-1],e==h.length&&g.setListSymbol(m,d.attributes["cke-symbol"],e);d.remove(); | |||||
m.add(d)}h[0].children.length&&(f=h[0].children[0].attributes["cke-symbol"],!f&&1<h[0].children.length&&(f=h[0].children[1].attributes["cke-symbol"]),f&&g.setListSymbol(h[0],f));for(f=0;f<u.length;f++)g.setListStart(u[f]);for(f=0;f<a.length;f++)this.determineListItemValue(a[f])}CKEDITOR.tools.array.forEach(l,function(a){for(var c=[],d=a.parent;d;)"li"===d.name&&c.push(d),d=d.parent;var c=b(c),e;c&&(a.attributes=a.attributes||{},d=CKEDITOR.tools.parseCssText(a.attributes.style),e=d["margin-left"]|| | |||||
0,(e=Math.max(parseInt(e,10)-c,0))?d["margin-left"]=e+"px":delete d["margin-left"],a.attributes.style=CKEDITOR.tools.writeCssText(d))});return l},cleanup:function(c){var b=["cke-list-level","cke-symbol","cke-list-id","cke-indentation","cke-dissolved"],d,e;for(d=0;d<c.length;d++)for(e=0;e<b.length;e++)delete c[d].attributes[b[e]]},determineListItemValue:function(c){if("ol"===c.parent.name){var b=this.calculateValue(c),d=c.attributes["cke-symbol"].match(/[a-z0-9]+/gi),e;d&&(d=d[d.length-1],e=c.parent.attributes["cke-list-style-type"]|| | |||||
this.numbering.getStyle(d),d=this.numbering.toNumber(d,e),d!==b&&(c.attributes.value=d))}},calculateValue:function(c){if(!c.parent)return 1;var b=c.parent;c=c.getIndex();var d=null,e,f,g;for(g=c;0<=g&&null===d;g--)f=b.children[g],f.attributes&&void 0!==f.attributes.value&&(e=g,d=parseInt(f.attributes.value,10));null===d&&(d=void 0!==b.attributes.start?parseInt(b.attributes.start,10):1,e=0);return d+(c-e)},dissolveList:function(c){function b(a){return 50<=a?"l"+b(a-50):40<=a?"xl"+b(a-40):10<=a?"x"+ | |||||
b(a-10):9==a?"ix":5<=a?"v"+b(a-5):4==a?"iv":1<=a?"i"+b(a-1):""}function d(a,b){function c(b,d){return b&&b.parent?a(b.parent)?c(b.parent,d+1):c(b.parent,d):d}return c(b,0)}var e=function(b){return function(a){return a.name==b}},f=function(b){return e("ul")(b)||e("ol")(b)},g=CKEDITOR.tools.array,w=[],a,h;c.forEach(function(b){w.push(b)},CKEDITOR.NODE_ELEMENT,!1);a=g.filter(w,e("li"));var m=g.filter(w,f);g.forEach(m,function(a){var c=a.attributes.type,h=parseInt(a.attributes.start,10)||1,m=d(f,a)+1; | |||||
c||(c=n.parseCssText(a.attributes.style)["list-style-type"]);g.forEach(g.filter(a.children,e("li")),function(d,e){var f;switch(c){case "disc":f="·";break;case "circle":f="o";break;case "square":f="§";break;case "1":case "decimal":f=h+e+".";break;case "a":case "lower-alpha":f=String.fromCharCode(97+h-1+e)+".";break;case "A":case "upper-alpha":f=String.fromCharCode(65+h-1+e)+".";break;case "i":case "lower-roman":f=b(h+e)+".";break;case "I":case "upper-roman":f=b(h+e).toUpperCase()+".";break;default:f= | |||||
"ul"==a.name?"·":h+e+"."}d.attributes["cke-symbol"]=f;d.attributes["cke-list-level"]=m})});a=g.reduce(a,function(b,a){var c=a.children[0];if(c&&c.name&&c.attributes.style&&c.attributes.style.match(/mso-list:/i)){k.pushStylesLower(a,{"list-style-type":!0,display:!0});var d=n.parseCssText(c.attributes.style,!0);k.setStyle(a,"mso-list",d["mso-list"],!0);k.setStyle(c,"mso-list","");delete a["cke-list-level"];(c=d.display?"display":d.DISPLAY?"DISPLAY":"")&&k.setStyle(a,"display",d[c],!0)}if(1===a.children.length&& | |||||
f(a.children[0]))return b;a.name="p";a.attributes["cke-dissolved"]=!0;b.push(a);return b},[]);for(h=a.length-1;0<=h;h--)a[h].insertAfter(c);for(h=m.length-1;0<=h;h--)delete m[h].name},groupLists:function(c){var b,d,e=[[c[0]]],f=e[0];d=c[0];d.attributes["cke-indentation"]=d.attributes["cke-indentation"]||z(d);for(b=1;b<c.length;b++){d=c[b];var l=c[b-1];d.attributes["cke-indentation"]=d.attributes["cke-indentation"]||z(d);d.previous!==l&&(g.chopDiscontinuousLists(f,e),e.push(f=[]));f.push(d)}g.chopDiscontinuousLists(f, | |||||
e);return e},chopDiscontinuousLists:function(c,b){for(var d={},e=[[]],f,l=0;l<c.length;l++){var k=d[c[l].attributes["cke-list-level"]],a=this.getListItemInfo(c[l]),h,m;k?(m=k.type.match(/alpha/)&&7==k.index?"alpha":m,m="o"==c[l].attributes["cke-symbol"]&&14==k.index?"alpha":m,h=g.getSymbolInfo(c[l].attributes["cke-symbol"],m),a=this.getListItemInfo(c[l]),(k.type!=h.type||f&&a.id!=f.id&&!this.isAListContinuation(c[l]))&&e.push([])):h=g.getSymbolInfo(c[l].attributes["cke-symbol"]);for(f=parseInt(c[l].attributes["cke-list-level"], | |||||
10)+1;20>f;f++)d[f]&&delete d[f];d[c[l].attributes["cke-list-level"]]=h;e[e.length-1].push(c[l]);f=a}[].splice.apply(b,[].concat([n.indexOf(b,c),1],e))},isAListContinuation:function(c){var b=c;do if((b=b.previous)&&b.type===CKEDITOR.NODE_ELEMENT){if(void 0===b.attributes["cke-list-level"])break;if(b.attributes["cke-list-level"]===c.attributes["cke-list-level"])return b.attributes["cke-list-id"]===c.attributes["cke-list-id"]}while(b);return!1},toArabic:function(c){return c.match(/[ivxl]/i)?c.match(/^l/i)? | |||||
50+g.toArabic(c.slice(1)):c.match(/^lx/i)?40+g.toArabic(c.slice(1)):c.match(/^x/i)?10+g.toArabic(c.slice(1)):c.match(/^ix/i)?9+g.toArabic(c.slice(2)):c.match(/^v/i)?5+g.toArabic(c.slice(1)):c.match(/^iv/i)?4+g.toArabic(c.slice(2)):c.match(/^i/i)?1+g.toArabic(c.slice(1)):g.toArabic(c.slice(1)):0},getSymbolInfo:function(c,b){var d=c.toUpperCase()==c?"upper-":"lower-",e={"·":["disc",-1],o:["circle",-2],"§":["square",-3]};if(c in e||b&&b.match(/(disc|circle|square)/))return{index:e[c][1],type:e[c][0]}; | |||||
if(c.match(/\d/))return{index:c?parseInt(g.getSubsectionSymbol(c),10):0,type:"decimal"};c=c.replace(/\W/g,"").toLowerCase();return!b&&c.match(/[ivxl]+/i)||b&&"alpha"!=b||"roman"==b?{index:g.toArabic(c),type:d+"roman"}:c.match(/[a-z]/i)?{index:c.charCodeAt(0)-97,type:d+"alpha"}:{index:-1,type:"disc"}},getListItemInfo:function(c){if(void 0!==c.attributes["cke-list-id"])return{id:c.attributes["cke-list-id"],level:c.attributes["cke-list-level"]};var b=n.parseCssText(c.attributes.style)["mso-list"],d= | |||||
{id:"0",level:"1"};b&&(b+=" ",d.level=b.match(/level(.+?)\s+/)[1],d.id=b.match(/l(\d+?)\s+/)[1]);c.attributes["cke-list-level"]=void 0!==c.attributes["cke-list-level"]?c.attributes["cke-list-level"]:d.level;c.attributes["cke-list-id"]=d.id;return d}};g=q.lists;q.heuristics={isEdgeListItem:function(c,b){if(!CKEDITOR.env.edge||!c.config.pasteFromWord_heuristicsEdgeList)return!1;var d="";b.forEach&&b.forEach(function(b){d+=b.value},CKEDITOR.NODE_TEXT);return d.match(/^(?: | )*\(?[a-zA-Z0-9]+?[\.\)](?: | ){2,}/)? | |||||
!0:p.isDegenerateListItem(c,b)},cleanupEdgeListItem:function(c){var b=!1;c.forEach(function(c){b||(c.value=c.value.replace(/^(?: |[\s])+/,""),c.value.length&&(b=!0))},CKEDITOR.NODE_TEXT)},isDegenerateListItem:function(c,b){return!!b.attributes["cke-list-level"]||b.attributes.style&&!b.attributes.style.match(/mso\-list/)&&!!b.find(function(c){if(c.type==CKEDITOR.NODE_ELEMENT&&b.name.match(/h\d/i)&&c.getHtml().match(/^[a-zA-Z0-9]+?[\.\)]$/))return!0;var e=n.parseCssText(c.attributes&&c.attributes.style, | |||||
!0);if(!e)return!1;var f=e["font-family"]||"";return(e.font||e["font-size"]||"").match(/7pt/i)&&!!c.previous||f.match(/symbol/i)},!0).length},assignListLevels:function(c,b){if(!b.attributes||void 0===b.attributes["cke-list-level"]){for(var d=[z(b)],e=[b],f=[],g=CKEDITOR.tools.array,k=g.map;b.next&&b.next.attributes&&!b.next.attributes["cke-list-level"]&&p.isDegenerateListItem(c,b.next);)b=b.next,d.push(z(b)),e.push(b);var a=k(d,function(a,b){return 0===b?0:a-d[b-1]}),h=this.guessIndentationStep(g.filter(d, | |||||
function(a){return 0!==a})),f=k(d,function(a){return Math.round(a/h)});-1!==g.indexOf(f,0)&&(f=k(f,function(a){return a+1}));g.forEach(e,function(a,b){a.attributes["cke-list-level"]=f[b]});return{indents:d,levels:f,diffs:a}}},guessIndentationStep:function(c){return c.length?Math.min.apply(null,c):null},correctLevelShift:function(c){if(this.isShifted(c)){var b=CKEDITOR.tools.array.filter(c.children,function(b){return"ul"==b.name||"ol"==b.name}),d=CKEDITOR.tools.array.reduce(b,function(b,c){return(c.children&& | |||||
1==c.children.length&&p.isShifted(c.children[0])?[c]:c.children).concat(b)},[]);CKEDITOR.tools.array.forEach(b,function(b){b.remove()});CKEDITOR.tools.array.forEach(d,function(b){c.add(b)});delete c.name}},isShifted:function(c){return"li"!==c.name?!1:0===CKEDITOR.tools.array.filter(c.children,function(b){return b.name&&("ul"==b.name||"ol"==b.name||"p"==b.name&&0===b.children.length)?!1:!0}).length}};p=q.heuristics;g.setListSymbol.removeRedundancies=function(c,b){(1===b&&"disc"===c["list-style-type"]|| | |||||
"decimal"===c["list-style-type"])&&delete c["list-style-type"]};CKEDITOR.cleanWord=CKEDITOR.pasteFilters.word=B.createFilter({rules:[t.rules,q.rules],additionalTransforms:function(c){CKEDITOR.plugins.clipboard.isCustomDataTypesSupported&&(c=t.styles.inliner.inline(c).getBody().getHtml());return c.replace(/<!\[/g,"\x3c!--[").replace(/\]>/g,"]--\x3e")}});CKEDITOR.config.pasteFromWord_heuristicsEdgeList=!0})(); |
@@ -1,22 +1,24 @@ | |||||
/* | /* | ||||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | ||||
*/ | */ | ||||
(function(){function q(a){return/%$/.test(a)?a:a+"px"}function r(a){var b=a.margin?"margin":a.MARGIN?"MARGIN":!1,c,e;if(b){e=CKEDITOR.tools.style.parse.margin(a[b]);for(c in e)a["margin-"+c]=e[c];delete a[b]}}function t(a){var b="background-color:transparent;background:transparent;background-color:none;background:none;background-position:initial initial;background-repeat:initial initial;caret-color;font-family:-webkit-standard;font-variant-caps;letter-spacing:normal;orphans;widows;text-transform:none;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;text-indent:0px;margin-bottom:0in".split(";"), | |||||
c=CKEDITOR.tools.parseCssText(a.attributes.style),e,f;for(e in c)f=e+":"+c[e],CKEDITOR.tools.array.some(b,function(a){return f.substring(0,a.length).toLowerCase()===a})&&delete c[e];c=CKEDITOR.tools.writeCssText(c);""!==c?a.attributes.style=c:delete a.attributes.style}function u(a){a=a.config.font_names;var b=[];if(!a||!a.length)return!1;b=CKEDITOR.tools.array.map(a.split(";"),function(a){return-1===a.indexOf("/")?a:a.split("/")[1]});return b.length?b:!1}function v(a,b){var c=a.split(",");return CKEDITOR.tools.array.find(b, | |||||
function(a){for(var f=0;f<c.length;f++)if(-1===a.indexOf(CKEDITOR.tools.trim(c[f])))return!1;return!0})||a}var h,l=CKEDITOR.tools,p={};CKEDITOR.plugins.pastetools.filters.common=p;p.rules=function(a,b,c){var e=u(b);return{elements:{"^":function(a){t(a);if(a.attributes.bgcolor){var b=CKEDITOR.tools.parseCssText(a.attributes.style);b["background-color"]||(b["background-color"]=a.attributes.bgcolor,a.attributes.style=CKEDITOR.tools.writeCssText(b))}},span:function(a){if(a.hasClass("Apple-converted-space"))return new CKEDITOR.htmlParser.text(" ")}, | |||||
table:function(a){a.filterChildren(c);var b=a.parent,d=b&&b.parent,e,k;if(b.name&&"div"===b.name&&b.attributes.align&&1===l.object.keys(b.attributes).length&&1===b.children.length){a.attributes.align=b.attributes.align;e=b.children.splice(0);a.remove();for(k=e.length-1;0<=k;k--)d.add(e[k],b.getIndex());b.remove()}h.convertStyleToPx(a)},tr:function(a){a.attributes={}},td:function(a){var g=a.getAscendant("table"),g=l.parseCssText(g.attributes.style,!0),d=g.background;d&&h.setStyle(a,"background",d, | |||||
!0);(g=g["background-color"])&&h.setStyle(a,"background-color",g,!0);var g=l.parseCssText(a.attributes.style,!0),d=g.border?CKEDITOR.tools.style.border.fromCssRule(g.border):{},d=l.style.border.splitCssValues(g,d),e=CKEDITOR.tools.clone(g),k;for(k in e)0==k.indexOf("border")&&delete e[k];a.attributes.style=CKEDITOR.tools.writeCssText(e);g.background&&(k=CKEDITOR.tools.style.parse.background(g.background),k.color&&(h.setStyle(a,"background-color",k.color,!0),h.setStyle(a,"background","")));for(var m in d)k= | |||||
g[m]?CKEDITOR.tools.style.border.fromCssRule(g[m]):d[m],"none"===k.style?h.setStyle(a,m,"none"):h.setStyle(a,m,k.toString());h.mapCommonStyles(a);h.convertStyleToPx(a);h.createStyleStack(a,c,b,/margin|text\-align|padding|list\-style\-type|width|height|border|white\-space|vertical\-align|background/i)},font:function(a){a.attributes.face&&e&&(a.attributes.face=v(a.attributes.face,e))}}}};p.styles={setStyle:function(a,b,c,e){var f=l.parseCssText(a.attributes.style);e&&f[b]||(""===c?delete f[b]:f[b]= | |||||
c,a.attributes.style=CKEDITOR.tools.writeCssText(f))},convertStyleToPx:function(a){var b=a.attributes.style;b&&(a.attributes.style=b.replace(/\d+(\.\d+)?pt/g,function(a){return CKEDITOR.tools.convertToPx(a)+"px"}))},mapStyles:function(a,b){for(var c in b)if(a.attributes[c]){if("function"===typeof b[c])b[c](a.attributes[c]);else h.setStyle(a,b[c],a.attributes[c]);delete a.attributes[c]}},mapCommonStyles:function(a){return h.mapStyles(a,{vAlign:function(b){h.setStyle(a,"vertical-align",b)},width:function(b){h.setStyle(a, | |||||
"width",q(b))},height:function(b){h.setStyle(a,"height",q(b))}})},normalizedStyles:function(a,b){var c="background-color:transparent border-image:none color:windowtext direction:ltr mso- visibility:visible div:border:none".split(" "),e="font-family font font-size color background-color line-height text-decoration".split(" "),f=function(){for(var a=[],b=0;b<arguments.length;b++)arguments[b]&&a.push(arguments[b]);return-1!==l.indexOf(c,a.join(":"))},g=!0===CKEDITOR.plugins.pastetools.getConfigValue(b, | |||||
"removeFontStyles"),d=l.parseCssText(a.attributes.style);"cke:li"==a.name&&(d["TEXT-INDENT"]&&d.MARGIN?(a.attributes["cke-indentation"]=p.lists.getElementIndentation(a),d.MARGIN=d.MARGIN.replace(/(([\w\.]+ ){3,3})[\d\.]+(\w+$)/,"$10$3")):delete d["TEXT-INDENT"],delete d["text-indent"]);for(var n=l.object.keys(d),k=0;k<n.length;k++){var m=n[k].toLowerCase(),h=d[n[k]],q=CKEDITOR.tools.indexOf;(g&&-1!==q(e,m.toLowerCase())||f(null,m,h)||f(null,m.replace(/\-.*$/,"-"))||f(null,m)||f(a.name,m,h)||f(a.name, | |||||
m.replace(/\-.*$/,"-"))||f(a.name,m)||f(h))&&delete d[n[k]]}var t=CKEDITOR.plugins.pastetools.getConfigValue(b,"keepZeroMargins");r(d);(function(){CKEDITOR.tools.array.forEach(["top","right","bottom","left"],function(a){a="margin-"+a;if(a in d){var b=CKEDITOR.tools.convertToPx(d[a]);b||t?d[a]=b?b+"px":0:delete d[a]}})})();return CKEDITOR.tools.writeCssText(d)},createStyleStack:function(a,b,c,e){var f=[];a.filterChildren(b);for(b=a.children.length-1;0<=b;b--)f.unshift(a.children[b]),a.children[b].remove(); | |||||
h.sortStyles(a);b=l.parseCssText(h.normalizedStyles(a,c));c=a;var g="span"===a.name,d;for(d in b)if(!d.match(e||/margin((?!-)|-left|-top|-bottom|-right)|text-indent|text-align|width|border|padding/i))if(g)g=!1;else{var n=new CKEDITOR.htmlParser.element("span");n.attributes.style=d+":"+b[d];c.add(n);c=n;delete b[d]}CKEDITOR.tools.isEmpty(b)?delete a.attributes.style:a.attributes.style=CKEDITOR.tools.writeCssText(b);for(b=0;b<f.length;b++)c.add(f[b])},sortStyles:function(a){for(var b=["border","border-bottom", | |||||
"font-size","background"],c=l.parseCssText(a.attributes.style),e=l.object.keys(c),f=[],g=[],d=0;d<e.length;d++)-1!==l.indexOf(b,e[d].toLowerCase())?f.push(e[d]):g.push(e[d]);f.sort(function(a,c){var d=l.indexOf(b,a.toLowerCase()),f=l.indexOf(b,c.toLowerCase());return d-f});e=[].concat(f,g);f={};for(d=0;d<e.length;d++)f[e[d]]=c[e[d]];a.attributes.style=CKEDITOR.tools.writeCssText(f)},pushStylesLower:function(a,b,c){if(!a.attributes.style||0===a.children.length)return!1;b=b||{};var e={"list-style-type":!0, | |||||
width:!0,height:!0,border:!0,"border-":!0},f=l.parseCssText(a.attributes.style),g;for(g in f)if(!(g.toLowerCase()in e||e[g.toLowerCase().replace(/\-.*$/,"-")]||g.toLowerCase()in b)){for(var d=!1,n=0;n<a.children.length;n++){var k=a.children[n];if(k.type===CKEDITOR.NODE_TEXT&&c){var m=new CKEDITOR.htmlParser.element("span");m.setHtml(k.value);k.replaceWith(m);k=m}k.type===CKEDITOR.NODE_ELEMENT&&(d=!0,h.setStyle(k,g,f[g]))}d&&delete f[g]}a.attributes.style=CKEDITOR.tools.writeCssText(f);return!0},inliner:{filtered:"break-before break-after break-inside page-break page-break-before page-break-after page-break-inside".split(" "), | |||||
parse:function(a){function b(a){var b=new CKEDITOR.dom.element("style"),c=new CKEDITOR.dom.element("iframe");c.hide();CKEDITOR.document.getBody().append(c);c.$.contentDocument.documentElement.appendChild(b.$);b.$.textContent=a;c.remove();return b.$.sheet}function c(a){var b=a.indexOf("{"),c=a.indexOf("}");return e(a.substring(b+1,c),!0)}var e=CKEDITOR.tools.parseCssText,f=h.inliner.filter,g=a.is?a.$.sheet:b(a);a=[];var d;if(g)for(g=g.cssRules,d=0;d<g.length;d++)g[d].type===window.CSSRule.STYLE_RULE&& | |||||
a.push({selector:g[d].selectorText,styles:f(c(g[d].cssText))});return a},filter:function(a){var b=h.inliner.filtered,c=l.array.indexOf,e={},f;for(f in a)-1===c(b,f)&&(e[f]=a[f]);return e},sort:function(a){return a.sort(function(a){var c=CKEDITOR.tools.array.map(a,function(a){return a.selector});return function(a,b){var g=-1!==(""+a.selector).indexOf(".")?1:0,g=(-1!==(""+b.selector).indexOf(".")?1:0)-g;return 0!==g?g:c.indexOf(b.selector)-c.indexOf(a.selector)}}(a))},inline:function(a){var b=h.inliner.parse, | |||||
c=h.inliner.sort,e=function(a){a=(new DOMParser).parseFromString(a,"text/html");return new CKEDITOR.dom.document(a)}(a);a=e.find("style");c=c(function(a){var c=[],d;for(d=0;d<a.count();d++)c=c.concat(b(a.getItem(d)));return c}(a));CKEDITOR.tools.array.forEach(c,function(a){var b=a.styles;a=e.find(a.selector);var c,h,k;r(b);for(k=0;k<a.count();k++)c=a.getItem(k),h=CKEDITOR.tools.parseCssText(c.getAttribute("style")),r(h),h=CKEDITOR.tools.extend({},h,b),c.setAttribute("style",CKEDITOR.tools.writeCssText(h))}); | |||||
return e}}};h=p.styles;p.lists={getElementIndentation:function(a){a=l.parseCssText(a.attributes.style);if(a.margin||a.MARGIN){a.margin=a.margin||a.MARGIN;var b={styles:{margin:a.margin}};CKEDITOR.filter.transformationsTools.splitMarginShorthand(b);a["margin-left"]=b.styles["margin-left"]}return parseInt(l.convertToPx(a["margin-left"]||"0px"),10)}};p.elements={replaceWithChildren:function(a){for(var b=a.children.length-1;0<=b;b--)a.children[b].insertAfter(a)}};p.createAttributeStack=function(a,b){var c, | |||||
e=[];a.filterChildren(b);for(c=a.children.length-1;0<=c;c--)e.unshift(a.children[c]),a.children[c].remove();c=a.attributes;var f=a,g=!0,d;for(d in c)if(g)g=!1;else{var h=new CKEDITOR.htmlParser.element(a.name);h.attributes[d]=c[d];f.add(h);f=h;delete c[d]}for(c=0;c<e.length;c++)f.add(e[c])};p.parseShorthandMargins=r})(); | |||||
(function(){function q(a,b,c){b+=c;for(var d=a[b],e=/[\s]/;d&&e.test(d);)b+=c,d=a[b];return d}function r(a){return/%$/.test(a)?a:a+"px"}function t(a){var b=a.margin?"margin":a.MARGIN?"MARGIN":!1,c,d;if(b){d=CKEDITOR.tools.style.parse.margin(a[b]);for(c in d)a["margin-"+c]=d[c];delete a[b]}}function u(a){var b="background-color:transparent;background:transparent;background-color:none;background:none;background-position:initial initial;background-repeat:initial initial;caret-color;font-family:-webkit-standard;font-variant-caps;letter-spacing:normal;orphans;widows;text-transform:none;word-spacing:0px;-webkit-text-size-adjust:auto;-webkit-text-stroke-width:0px;text-indent:0px;margin-bottom:0in".split(";"), | |||||
c=CKEDITOR.tools.parseCssText(a.attributes.style),d,e;for(d in c)e=d+":"+c[d],CKEDITOR.tools.array.some(b,function(a){return e.substring(0,a.length).toLowerCase()===a})&&delete c[d];c=CKEDITOR.tools.writeCssText(c);""!==c?a.attributes.style=c:delete a.attributes.style}function v(a){a=a.config.font_names;var b=[];if(!a||!a.length)return!1;b=CKEDITOR.tools.array.map(a.split(";"),function(a){return-1===a.indexOf("/")?a:a.split("/")[1]});return b.length?b:!1}function w(a,b){var c=a.split(",");return CKEDITOR.tools.array.find(b, | |||||
function(a){for(var e=0;e<c.length;e++)if(-1===a.indexOf(CKEDITOR.tools.trim(c[e])))return!1;return!0})||a}var g,m=CKEDITOR.tools,p={};CKEDITOR.plugins.pastetools.filters.common=p;p.rules=function(a,b,c){var d=v(b);return{elements:{"^":function(a){u(a);if(a.attributes.bgcolor){var b=CKEDITOR.tools.parseCssText(a.attributes.style);b["background-color"]||(b["background-color"]=a.attributes.bgcolor,a.attributes.style=CKEDITOR.tools.writeCssText(b))}},span:function(a){if(a.hasClass("Apple-converted-space"))return new CKEDITOR.htmlParser.text(" ")}, | |||||
table:function(a){a.filterChildren(c);var b=a.parent,f=b&&b.parent,d,h;if(b.name&&"div"===b.name&&b.attributes.align&&1===m.object.keys(b.attributes).length&&1===b.children.length){a.attributes.align=b.attributes.align;d=b.children.splice(0);a.remove();for(h=d.length-1;0<=h;h--)f.add(d[h],b.getIndex());b.remove()}g.convertStyleToPx(a)},tr:function(a){a.attributes={}},td:function(a){var d=a.getAscendant("table"),d=m.parseCssText(d.attributes.style,!0),f=d.background;f&&g.setStyle(a,"background",f, | |||||
!0);(d=d["background-color"])&&g.setStyle(a,"background-color",d,!0);var d=m.parseCssText(a.attributes.style,!0),f=d.border?CKEDITOR.tools.style.border.fromCssRule(d.border):{},f=m.style.border.splitCssValues(d,f),l=CKEDITOR.tools.clone(d),h;for(h in l)0==h.indexOf("border")&&delete l[h];a.attributes.style=CKEDITOR.tools.writeCssText(l);d.background&&(h=CKEDITOR.tools.style.parse.background(d.background),h.color&&(g.setStyle(a,"background-color",h.color,!0),g.setStyle(a,"background","")));for(var n in f)h= | |||||
d[n]?CKEDITOR.tools.style.border.fromCssRule(d[n]):f[n],"none"===h.style?g.setStyle(a,n,"none"):g.setStyle(a,n,h.toString());g.mapCommonStyles(a);g.convertStyleToPx(a);g.createStyleStack(a,c,b,/margin|text\-align|padding|list\-style\-type|width|height|border|white\-space|vertical\-align|background/i)},font:function(a){a.attributes.face&&d&&(a.attributes.face=w(a.attributes.face,d))}}}};p.styles={setStyle:function(a,b,c,d){var e=m.parseCssText(a.attributes.style);d&&e[b]||(""===c?delete e[b]:e[b]= | |||||
c,a.attributes.style=CKEDITOR.tools.writeCssText(e))},convertStyleToPx:function(a){var b=a.attributes.style;b&&(a.attributes.style=b.replace(/\d+(\.\d+)?pt/g,function(a){return CKEDITOR.tools.convertToPx(a)+"px"}))},mapStyles:function(a,b){for(var c in b)if(a.attributes[c]){if("function"===typeof b[c])b[c](a.attributes[c]);else g.setStyle(a,b[c],a.attributes[c]);delete a.attributes[c]}},mapCommonStyles:function(a){return g.mapStyles(a,{vAlign:function(b){g.setStyle(a,"vertical-align",b)},width:function(b){g.setStyle(a, | |||||
"width",r(b))},height:function(b){g.setStyle(a,"height",r(b))}})},normalizedStyles:function(a,b){var c="background-color:transparent border-image:none color:windowtext direction:ltr mso- visibility:visible div:border:none".split(" "),d="font-family font font-size color background-color line-height text-decoration".split(" "),e=function(){for(var a=[],b=0;b<arguments.length;b++)arguments[b]&&a.push(arguments[b]);return-1!==m.indexOf(c,a.join(":"))},k=!0===CKEDITOR.plugins.pastetools.getConfigValue(b, | |||||
"removeFontStyles"),f=m.parseCssText(a.attributes.style);"cke:li"==a.name&&(f["TEXT-INDENT"]&&f.MARGIN?(a.attributes["cke-indentation"]=p.lists.getElementIndentation(a),f.MARGIN=f.MARGIN.replace(/(([\w\.]+ ){3,3})[\d\.]+(\w+$)/,"$10$3")):delete f["TEXT-INDENT"],delete f["text-indent"]);for(var l=m.object.keys(f),h=0;h<l.length;h++){var n=l[h].toLowerCase(),g=f[l[h]],q=CKEDITOR.tools.indexOf;(k&&-1!==q(d,n.toLowerCase())||e(null,n,g)||e(null,n.replace(/\-.*$/,"-"))||e(null,n)||e(a.name,n,g)||e(a.name, | |||||
n.replace(/\-.*$/,"-"))||e(a.name,n)||e(g))&&delete f[l[h]]}var r=CKEDITOR.plugins.pastetools.getConfigValue(b,"keepZeroMargins");t(f);(function(){CKEDITOR.tools.array.forEach(["top","right","bottom","left"],function(a){a="margin-"+a;if(a in f){var b=CKEDITOR.tools.convertToPx(f[a]);b||r?f[a]=b?b+"px":0:delete f[a]}})})();return CKEDITOR.tools.writeCssText(f)},createStyleStack:function(a,b,c,d){var e=[];a.filterChildren(b);for(b=a.children.length-1;0<=b;b--)e.unshift(a.children[b]),a.children[b].remove(); | |||||
g.sortStyles(a);b=m.parseCssText(g.normalizedStyles(a,c));c=a;var k="span"===a.name,f;for(f in b)if(!f.match(d||/margin((?!-)|-left|-top|-bottom|-right)|text-indent|text-align|width|border|padding/i))if(k)k=!1;else{var l=new CKEDITOR.htmlParser.element("span");l.attributes.style=f+":"+b[f];c.add(l);c=l;delete b[f]}CKEDITOR.tools.isEmpty(b)?delete a.attributes.style:a.attributes.style=CKEDITOR.tools.writeCssText(b);for(b=0;b<e.length;b++)c.add(e[b])},sortStyles:function(a){for(var b=["border","border-bottom", | |||||
"font-size","background"],c=m.parseCssText(a.attributes.style),d=m.object.keys(c),e=[],k=[],f=0;f<d.length;f++)-1!==m.indexOf(b,d[f].toLowerCase())?e.push(d[f]):k.push(d[f]);e.sort(function(a,c){var d=m.indexOf(b,a.toLowerCase()),e=m.indexOf(b,c.toLowerCase());return d-e});d=[].concat(e,k);e={};for(f=0;f<d.length;f++)e[d[f]]=c[d[f]];a.attributes.style=CKEDITOR.tools.writeCssText(e)},pushStylesLower:function(a,b,c){if(!a.attributes.style||0===a.children.length)return!1;b=b||{};var d={"list-style-type":!0, | |||||
width:!0,height:!0,border:!0,"border-":!0},e=m.parseCssText(a.attributes.style),k;for(k in e)if(!(k.toLowerCase()in d||d[k.toLowerCase().replace(/\-.*$/,"-")]||k.toLowerCase()in b)){for(var f=!1,l=0;l<a.children.length;l++){var h=a.children[l];if(h.type===CKEDITOR.NODE_TEXT&&c){var n=new CKEDITOR.htmlParser.element("span");n.setHtml(h.value);h.replaceWith(n);h=n}h.type===CKEDITOR.NODE_ELEMENT&&(f=!0,g.setStyle(h,k,e[k]))}f&&delete e[k]}a.attributes.style=CKEDITOR.tools.writeCssText(e);return!0},inliner:{filtered:"break-before break-after break-inside page-break page-break-before page-break-after page-break-inside".split(" "), | |||||
parse:function(a){function b(a){var b=new CKEDITOR.dom.element("style"),c=new CKEDITOR.dom.element("iframe");c.hide();CKEDITOR.document.getBody().append(c);c.$.contentDocument.documentElement.appendChild(b.$);b.$.textContent=a;c.remove();return b.$.sheet}function c(a){var b=a.indexOf("{"),c=a.indexOf("}");return d(a.substring(b+1,c),!0)}var d=CKEDITOR.tools.parseCssText,e=g.inliner.filter,k=a.is?a.$.sheet:b(a);a=[];var f;if(k)for(k=k.cssRules,f=0;f<k.length;f++)k[f].type===window.CSSRule.STYLE_RULE&& | |||||
a.push({selector:k[f].selectorText,styles:e(c(k[f].cssText))});return a},filter:function(a){var b=g.inliner.filtered,c=m.array.indexOf,d={},e;for(e in a)-1===c(b,e)&&(d[e]=a[e]);return d},sort:function(a){return a.sort(function(a){var c=CKEDITOR.tools.array.map(a,function(a){return a.selector});return function(a,b){var k=-1!==(""+a.selector).indexOf(".")?1:0,k=(-1!==(""+b.selector).indexOf(".")?1:0)-k;return 0!==k?k:c.indexOf(b.selector)-c.indexOf(a.selector)}}(a))},inline:function(a){var b=g.inliner.parse, | |||||
c=g.inliner.sort,d=function(a){a=(new DOMParser).parseFromString(a,"text/html");return new CKEDITOR.dom.document(a)}(a);a=d.find("style");c=c(function(a){var c=[],d;for(d=0;d<a.count();d++)c=c.concat(b(a.getItem(d)));return c}(a));CKEDITOR.tools.array.forEach(c,function(a){var b=a.styles;a=d.find(a.selector);var c,g,h;t(b);for(h=0;h<a.count();h++)c=a.getItem(h),g=CKEDITOR.tools.parseCssText(c.getAttribute("style")),t(g),g=CKEDITOR.tools.extend({},g,b),c.setAttribute("style",CKEDITOR.tools.writeCssText(g))}); | |||||
return d}}};g=p.styles;p.lists={getElementIndentation:function(a){a=m.parseCssText(a.attributes.style);if(a.margin||a.MARGIN){a.margin=a.margin||a.MARGIN;var b={styles:{margin:a.margin}};CKEDITOR.filter.transformationsTools.splitMarginShorthand(b);a["margin-left"]=b.styles["margin-left"]}return parseInt(m.convertToPx(a["margin-left"]||"0px"),10)}};p.elements={replaceWithChildren:function(a){for(var b=a.children.length-1;0<=b;b--)a.children[b].insertAfter(a)}};p.createAttributeStack=function(a,b){var c, | |||||
d=[];a.filterChildren(b);for(c=a.children.length-1;0<=c;c--)d.unshift(a.children[c]),a.children[c].remove();c=a.attributes;var e=a,g=!0,f;for(f in c)if(g)g=!1;else{var l=new CKEDITOR.htmlParser.element(a.name);l.attributes[f]=c[f];e.add(l);e=l;delete c[f]}for(c=0;c<d.length;c++)e.add(d[c])};p.parseShorthandMargins=t;p.rtf={getGroups:function(a,b){for(var c=[],d,e=0;d=p.rtf.getGroup(a,b,{start:e});)e=d.end,c.push(d);return c},removeGroups:function(a,b){for(var c;c=p.rtf.getGroup(a,b);){var d=a.substring(0, | |||||
c.start);c=a.substring(c.end);a=d+c}return a},getGroup:function(a,b,c){var d=0;b=new RegExp("\\{\\\\"+b,"g");var e;c=CKEDITOR.tools.object.merge({start:0},c||{});b.lastIndex=c.start;c=b.exec(a);if(!c)return null;b=c.index;e=a[b];do{var g="{"===e&&"\\"!==q(a,b,-1)&&"\\"===q(a,b,1);e="}"===e&&"\\"!==q(a,b,-1)&&0<d;g?d++:e&&d--;e=a[++b]}while(e&&0<d);return{start:c.index,end:b,content:a.substring(c.index,b)}},extractGroupContent:function(a){var b;b=(b=a.match(/^\{\\(\w+)/))?b[1]:null;a=a.replace(/\}([^{\s]+)/g, | |||||
"} $1");a=p.rtf.removeGroups(a,"(?!"+b+")");a=CKEDITOR.tools.trim(a.replace(/^\{(\\[\w-]+\s*)+/g,""));return a.replace(/}$/,"")}}})(); |
@@ -1,6 +1,12 @@ | |||||
/* | /* | ||||
Copyright (c) 2003-2020, CKSource - Frederico Knabben. All rights reserved. | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | ||||
*/ | */ | ||||
(function(){function f(b){var c=[],a=/(\{\\pict[^{}]+?|\{\\\*\\shppict\{\\pict\{\\\*[^*]+?)\\(?:jpeg|png)blip/,d;b=b.match(new RegExp("(?:("+a.source+"))([\\da-fA-F\\s]+)\\}","g"));if(!b)return c;for(var e=0;e<b.length;e++)if(a.test(b[e])){if(-1!==b[e].indexOf("\\pngblip"))d="image/png";else if(-1!==b[e].indexOf("\\jpegblip"))d="image/jpeg";else continue;c.push({hex:d?b[e].replace(a,"").replace(/[^\da-fA-F]/g,""):null,type:d})}return c}function g(b){for(var c=/<img[^>]+src="([^"]+)[^>]+/g,a=[],d;d= | |||||
c.exec(b);)a.push(d[1]);return a}CKEDITOR.pasteFilters.image=function(b,c,a){var d=[];if(!a)return b;c=g(b);if(0===c.length)return b;a=f(a);if(0===a.length)return b;CKEDITOR.tools.array.forEach(a,function(a){d.push(a.type?"data:"+a.type+";base64,"+CKEDITOR.tools.convertBytesToBase64(CKEDITOR.tools.convertHexStringToBytes(a.hex)):null)},this);if(c.length===d.length)for(a=0;a<c.length;a++)0===c[a].indexOf("file://")&&d[a]&&(b=b.replace(c[a],d[a]));return b}})(); | |||||
(function(){function u(a,c,b){c=l(c);var e,d;if(0===c.length)return a;e=CKEDITOR.tools.array.map(c,function(a){return h(a)},this);if(b.length!==e.length)return CKEDITOR.error("pastetools-failed-image-extraction",{rtf:c.length,html:b.length}),a;for(d=0;d<b.length;d++)if(0===b[d].indexOf("file://"))if(e[d]){var k=b[d].replace(/\\/g,"\\\\");a=a.replace(new RegExp("(\x3cimg [^\x3e]*src\x3d[\"']?)"+k),"$1"+e[d])}else CKEDITOR.error("pastetools-unsupported-image",{type:c[d].type,index:d});return a}function v(a, | |||||
c,b){var e=CKEDITOR.tools.array.unique(CKEDITOR.tools.array.filter(b,function(a){return a.match(/^blob:/i)}));b=CKEDITOR.tools.array.map(e,m);CKEDITOR.tools.promise.all(b).then(function(b){CKEDITOR.tools.array.forEach(b,function(b,c){if(b){var d=e[c],d=a.editable().find('img[src\x3d"'+d+'"]').toArray();CKEDITOR.tools.array.forEach(d,function(a){a.setAttribute("src",b);a.setAttribute("data-cke-saved-src",b)},this)}else CKEDITOR.error("pastetools-unsupported-image",{type:"blob",index:c})})});return c} | |||||
function l(a){function c(a){return"string"!==typeof a?-1:CKEDITOR.tools.array.indexOf(d,function(b){return b.id===a})}function b(a){var b=a.match(/\\blipuid (\w+)\}/);a=a.match(/\\bliptag(-?\d+)/);return b?b[1]:a?a[1]:null}var e=CKEDITOR.plugins.pastetools.filters.common.rtf,d=[];a=e.removeGroups(a,"(?:(?:header|footer)[lrf]?|nonshppict|shprslt)");a=e.getGroups(a,"pict");if(!a)return d;for(var k=0;k<a.length;k++){var f=a[k].content,h=b(f),n=t(f),g=c(h),p=-1!==g&&d[g].hex,l=p&&d[g].type===n,p=p&&d[g].type!== | |||||
n&&g===d.length-1,m=-1!==f.indexOf("\\defshp"),q=-1!==CKEDITOR.tools.array.indexOf(CKEDITOR.pasteFilters.image.supportedImageTypes,n),r=-1!==CKEDITOR.tools.indexOf(f,"fHorizRule");l?d.push(d[g]):p||m||r||(f={id:h,hex:q?e.extractGroupContent(f).replace(/\s/g,""):null,type:n},-1!==g?d.splice(g,1,f):d.push(f))}return d}function q(a){for(var c=/<img[^>]+src="([^"]+)[^>]+/g,b=[],e;e=c.exec(a);)b.push(e[1]);return b}function t(a){var c=CKEDITOR.tools.array.find(CKEDITOR.pasteFilters.image.recognizableImageTypes, | |||||
function(b){return b.marker.test(a)});return c?c.type:"unknown"}function h(a){var c=-1!==CKEDITOR.tools.array.indexOf(CKEDITOR.pasteFilters.image.supportedImageTypes,a.type),b=a.hex;if(!c)return null;"string"===typeof b&&(b=CKEDITOR.tools.convertHexStringToBytes(a.hex));return a.type?"data:"+a.type+";base64,"+CKEDITOR.tools.convertBytesToBase64(b):null}function m(a){return new CKEDITOR.tools.promise(function(c){CKEDITOR.ajax.load(a,function(a){a=new Uint8Array(a);var e=r(a);a=h({type:e,hex:a});c(a)}, | |||||
"arraybuffer")})}function r(a){a=a.subarray(0,4);var c=CKEDITOR.tools.array.map(a,function(a){return a.toString(16)}).join("");return(a=CKEDITOR.tools.array.find(CKEDITOR.pasteFilters.image.recognizableImageSignatures,function(a){return 0===c.indexOf(a.signature)}))?a.type:null}CKEDITOR.pasteFilters.image=function(a,c,b){var e;if(c.activeFilter&&!c.activeFilter.check("img[src]"))return a;e=q(a);return 0===e.length?a:b?u(a,b,e):v(c,a,e)};CKEDITOR.pasteFilters.image.extractFromRtf=l;CKEDITOR.pasteFilters.image.extractTagsFromHtml= | |||||
q;CKEDITOR.pasteFilters.image.getImageType=t;CKEDITOR.pasteFilters.image.createSrcWithBase64=h;CKEDITOR.pasteFilters.image.convertBlobUrlToBase64=m;CKEDITOR.pasteFilters.image.getImageTypeFromSignature=r;CKEDITOR.pasteFilters.image.supportedImageTypes=["image/png","image/jpeg","image/gif"];CKEDITOR.pasteFilters.image.recognizableImageTypes=[{marker:/\\pngblip/,type:"image/png"},{marker:/\\jpegblip/,type:"image/jpeg"},{marker:/\\emfblip/,type:"image/emf"},{marker:/\\wmetafile\d/,type:"image/wmf"}]; | |||||
CKEDITOR.pasteFilters.image.recognizableImageSignatures=[{signature:"ffd8ff",type:"image/jpeg"},{signature:"47494638",type:"image/gif"},{signature:"89504e47",type:"image/png"}]})(); |
@@ -1,13 +0,0 @@ | |||||
/* | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | |||||
*/ | |||||
CKEDITOR.plugins.setLang("specialchar","en-au",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", | |||||
not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", | |||||
Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", | |||||
Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", | |||||
Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", | |||||
aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", | |||||
ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", | |||||
yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", | |||||
trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); |
@@ -1,13 +0,0 @@ | |||||
/* | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | |||||
*/ | |||||
CKEDITOR.plugins.setLang("specialchar","en-ca",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", | |||||
not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", | |||||
Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", | |||||
Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", | |||||
Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", | |||||
aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", | |||||
ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", | |||||
yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", | |||||
trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); |
@@ -1,13 +0,0 @@ | |||||
/* | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | |||||
*/ | |||||
CKEDITOR.plugins.setLang("specialchar","en-gb",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", | |||||
not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", | |||||
Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", | |||||
Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", | |||||
Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", | |||||
aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", | |||||
ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", | |||||
yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", | |||||
trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); |
@@ -1,13 +0,0 @@ | |||||
/* | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | |||||
*/ | |||||
CKEDITOR.plugins.setLang("specialchar","en",{euro:"Euro sign",lsquo:"Left single quotation mark",rsquo:"Right single quotation mark",ldquo:"Left double quotation mark",rdquo:"Right double quotation mark",ndash:"En dash",mdash:"Em dash",iexcl:"Inverted exclamation mark",cent:"Cent sign",pound:"Pound sign",curren:"Currency sign",yen:"Yen sign",brvbar:"Broken bar",sect:"Section sign",uml:"Diaeresis",copy:"Copyright sign",ordf:"Feminine ordinal indicator",laquo:"Left-pointing double angle quotation mark", | |||||
not:"Not sign",reg:"Registered sign",macr:"Macron",deg:"Degree sign",sup2:"Superscript two",sup3:"Superscript three",acute:"Acute accent",micro:"Micro sign",para:"Pilcrow sign",middot:"Middle dot",cedil:"Cedilla",sup1:"Superscript one",ordm:"Masculine ordinal indicator",raquo:"Right-pointing double angle quotation mark",frac14:"Vulgar fraction one quarter",frac12:"Vulgar fraction one half",frac34:"Vulgar fraction three quarters",iquest:"Inverted question mark",Agrave:"Latin capital letter A with grave accent", | |||||
Aacute:"Latin capital letter A with acute accent",Acirc:"Latin capital letter A with circumflex",Atilde:"Latin capital letter A with tilde",Auml:"Latin capital letter A with diaeresis",Aring:"Latin capital letter A with ring above",AElig:"Latin capital letter Æ",Ccedil:"Latin capital letter C with cedilla",Egrave:"Latin capital letter E with grave accent",Eacute:"Latin capital letter E with acute accent",Ecirc:"Latin capital letter E with circumflex",Euml:"Latin capital letter E with diaeresis",Igrave:"Latin capital letter I with grave accent", | |||||
Iacute:"Latin capital letter I with acute accent",Icirc:"Latin capital letter I with circumflex",Iuml:"Latin capital letter I with diaeresis",ETH:"Latin capital letter Eth",Ntilde:"Latin capital letter N with tilde",Ograve:"Latin capital letter O with grave accent",Oacute:"Latin capital letter O with acute accent",Ocirc:"Latin capital letter O with circumflex",Otilde:"Latin capital letter O with tilde",Ouml:"Latin capital letter O with diaeresis",times:"Multiplication sign",Oslash:"Latin capital letter O with stroke", | |||||
Ugrave:"Latin capital letter U with grave accent",Uacute:"Latin capital letter U with acute accent",Ucirc:"Latin capital letter U with circumflex",Uuml:"Latin capital letter U with diaeresis",Yacute:"Latin capital letter Y with acute accent",THORN:"Latin capital letter Thorn",szlig:"Latin small letter sharp s",agrave:"Latin small letter a with grave accent",aacute:"Latin small letter a with acute accent",acirc:"Latin small letter a with circumflex",atilde:"Latin small letter a with tilde",auml:"Latin small letter a with diaeresis", | |||||
aring:"Latin small letter a with ring above",aelig:"Latin small letter æ",ccedil:"Latin small letter c with cedilla",egrave:"Latin small letter e with grave accent",eacute:"Latin small letter e with acute accent",ecirc:"Latin small letter e with circumflex",euml:"Latin small letter e with diaeresis",igrave:"Latin small letter i with grave accent",iacute:"Latin small letter i with acute accent",icirc:"Latin small letter i with circumflex",iuml:"Latin small letter i with diaeresis",eth:"Latin small letter eth", | |||||
ntilde:"Latin small letter n with tilde",ograve:"Latin small letter o with grave accent",oacute:"Latin small letter o with acute accent",ocirc:"Latin small letter o with circumflex",otilde:"Latin small letter o with tilde",ouml:"Latin small letter o with diaeresis",divide:"Division sign",oslash:"Latin small letter o with stroke",ugrave:"Latin small letter u with grave accent",uacute:"Latin small letter u with acute accent",ucirc:"Latin small letter u with circumflex",uuml:"Latin small letter u with diaeresis", | |||||
yacute:"Latin small letter y with acute accent",thorn:"Latin small letter thorn",yuml:"Latin small letter y with diaeresis",OElig:"Latin capital ligature OE",oelig:"Latin small ligature oe",372:"Latin capital letter W with circumflex",374:"Latin capital letter Y with circumflex",373:"Latin small letter w with circumflex",375:"Latin small letter y with circumflex",sbquo:"Single low-9 quotation mark",8219:"Single high-reversed-9 quotation mark",bdquo:"Double low-9 quotation mark",hellip:"Horizontal ellipsis", | |||||
trade:"Trade mark sign",9658:"Black right-pointing pointer",bull:"Bullet",rarr:"Rightwards arrow",rArr:"Rightwards double arrow",hArr:"Left right double arrow",diams:"Black diamond suit",asymp:"Almost equal to"}); |
@@ -1,9 +0,0 @@ | |||||
/* | |||||
Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved. | |||||
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license | |||||
*/ | |||||
CKEDITOR.plugins.setLang("specialchar","zh",{euro:"歐元符號",lsquo:"左單引號",rsquo:"右單引號",ldquo:"左雙引號",rdquo:"右雙引號",ndash:"短破折號",mdash:"長破折號",iexcl:"倒置的驚嘆號",cent:"美分符號",pound:"英鎊符號",curren:"貨幣符號",yen:"日圓符號",brvbar:"破折號",sect:"章節符號",uml:"分音符號",copy:"版權符號",ordf:"雌性符號",laquo:"左雙角括號",not:"Not 符號",reg:"註冊商標符號",macr:"長音符號",deg:"度數符號",sup2:"上標字 2",sup3:"上標字 3",acute:"尖音符號",micro:"微",para:"段落符號",middot:"中間點",cedil:"字母 C 下面的尾型符號 ",sup1:"上標",ordm:"雄性符號",raquo:"右雙角括號",frac14:"四分之一符號",frac12:"二分之一符號",frac34:"四分之三符號", | |||||
iquest:"倒置的問號",Agrave:"拉丁大寫字母 A 帶抑音符號",Aacute:"拉丁大寫字母 A 帶尖音符號",Acirc:"拉丁大寫字母 A 帶揚抑符",Atilde:"拉丁大寫字母 A 帶波浪號",Auml:"拉丁大寫字母 A 帶分音符號",Aring:"拉丁大寫字母 A 帶上圓圈",AElig:"拉丁大寫字母 Æ",Ccedil:"拉丁大寫字母 C 帶下尾符號",Egrave:"拉丁大寫字母 E 帶抑音符號",Eacute:"拉丁大寫字母 E 帶尖音符號",Ecirc:"拉丁大寫字母 E 帶揚抑符",Euml:"拉丁大寫字母 E 帶分音符號",Igrave:"拉丁大寫字母 I 帶抑音符號",Iacute:"拉丁大寫字母 I 帶尖音符號",Icirc:"拉丁大寫字母 I 帶揚抑符",Iuml:"拉丁大寫字母 I 帶分音符號",ETH:"拉丁大寫字母 Eth",Ntilde:"拉丁大寫字母 N 帶波浪號",Ograve:"拉丁大寫字母 O 帶抑音符號",Oacute:"拉丁大寫字母 O 帶尖音符號",Ocirc:"拉丁大寫字母 O 帶揚抑符",Otilde:"拉丁大寫字母 O 帶波浪號", | |||||
Ouml:"拉丁大寫字母 O 帶分音符號",times:"乘號",Oslash:"拉丁大寫字母 O 帶粗線符號",Ugrave:"拉丁大寫字母 U 帶抑音符號",Uacute:"拉丁大寫字母 U 帶尖音符號",Ucirc:"拉丁大寫字母 U 帶揚抑符",Uuml:"拉丁大寫字母 U 帶分音符號",Yacute:"拉丁大寫字母 Y 帶尖音符號",THORN:"拉丁大寫字母 Thorn",szlig:"拉丁小寫字母 s",agrave:"拉丁小寫字母 a 帶抑音符號",aacute:"拉丁小寫字母 a 帶尖音符號",acirc:"拉丁小寫字母 a 帶揚抑符",atilde:"拉丁小寫字母 a 帶波浪號",auml:"拉丁小寫字母 a 帶分音符號",aring:"拉丁小寫字母 a 帶上圓圈",aelig:"拉丁小寫字母 æ",ccedil:"拉丁小寫字母 c 帶下尾符號",egrave:"拉丁小寫字母 e 帶抑音符號",eacute:"拉丁小寫字母 e 帶尖音符號",ecirc:"拉丁小寫字母 e 帶揚抑符",euml:"拉丁小寫字母 e 帶分音符號",igrave:"拉丁小寫字母 i 帶抑音符號", | |||||
iacute:"拉丁小寫字母 i 帶尖音符號",icirc:"拉丁小寫字母 i 帶揚抑符",iuml:"拉丁小寫字母 i 帶分音符號",eth:"拉丁小寫字母 eth",ntilde:"拉丁小寫字母 n 帶波浪號",ograve:"拉丁小寫字母 o 帶抑音符號",oacute:"拉丁小寫字母 o 帶尖音符號",ocirc:"拉丁小寫字母 o 帶揚抑符",otilde:"拉丁小寫字母 o 帶波浪號",ouml:"拉丁小寫字母 o 帶分音符號",divide:"除號",oslash:"拉丁小寫字母 o 帶粗線符號",ugrave:"拉丁小寫字母 u 帶抑音符號",uacute:"拉丁小寫字母 u 帶尖音符號",ucirc:"拉丁小寫字母 u 帶揚抑符",uuml:"拉丁小寫字母 u 帶分音符號",yacute:"拉丁小寫字母 y 帶尖音符號",thorn:"拉丁小寫字母 thorn",yuml:"拉丁小寫字母 y 帶分音符號",OElig:"拉丁大寫字母 OE",oelig:"拉丁小寫字母 oe",372:"拉丁大寫字母 W 帶揚抑符",374:"拉丁大寫字母 Y 帶揚抑符",373:"拉丁小寫字母 w 帶揚抑符", | |||||
375:"拉丁小寫字母 y 帶揚抑符",sbquo:"低 9 單引號",8219:"高 9 反轉單引號",bdquo:"低 9 雙引號",hellip:"水平刪節號",trade:"商標符號",9658:"黑色向右指箭號",bull:"項目符號",rarr:"向右箭號",rArr:"向右雙箭號",hArr:"左右雙箭號",diams:"黑鑽套裝",asymp:"約等於"}); |
@@ -18,6 +18,20 @@ body { | |||||
color:var(--gray); | color:var(--gray); | ||||
background:var(--bg) | background:var(--bg) | ||||
} | } | ||||
p { | |||||
margin-bottom:0.5rem; | |||||
word-wrap:break-word | |||||
} | |||||
p:last-child { | |||||
margin-bottom:0 | |||||
} | |||||
ul,ol,li { | |||||
margin:0; | |||||
padding:0 | |||||
} | |||||
li { | |||||
list-style:none | |||||
} | |||||
a { | a { | ||||
color:var(--gray); | color:var(--gray); | ||||
text-decoration:none | text-decoration:none | ||||
@@ -30,13 +44,6 @@ img { | |||||
max-width:100%; | max-width:100%; | ||||
border-radius:var(--b-radius) | border-radius:var(--b-radius) | ||||
} | } | ||||
ul,ol,li { | |||||
margin:0; | |||||
padding:0 | |||||
} | |||||
li { | |||||
list-style:none | |||||
} | |||||
form,label { | form,label { | ||||
margin-bottom:0 | margin-bottom:0 | ||||
} | } | ||||
@@ -67,7 +74,8 @@ input:focus,select:focus,textarea:focus { | |||||
input[type=radio],input[type=checkbox],input[type=radio]:focus,input[type=checkbox]:focus { | input[type=radio],input[type=checkbox],input[type=radio]:focus,input[type=checkbox]:focus { | ||||
width:14px; | width:14px; | ||||
height:14px; | height:14px; | ||||
box-shadow:none | |||||
box-shadow:none; | |||||
vertical-align:middle | |||||
} | } | ||||
select { | select { | ||||
padding:0.25rem 0.5rem; | padding:0.25rem 0.5rem; | ||||
@@ -648,7 +656,7 @@ body.menu-show .admin-content { | |||||
} | } | ||||
.admin-textarea-xl { | .admin-textarea-xl { | ||||
width:100%; | width:100%; | ||||
height:90px | |||||
height:90px!important | |||||
} | } | ||||
.admin-textarea-sm { | .admin-textarea-sm { | ||||
width:350px; | width:350px; | ||||
@@ -661,7 +669,7 @@ body.menu-show .admin-content { | |||||
width:230px | width:230px | ||||
} | } | ||||
.admin-input-sm { | .admin-input-sm { | ||||
width:180px | |||||
width:190px | |||||
} | } | ||||
.admin-input-xs { | .admin-input-xs { | ||||
width:70px | width:70px | ||||
@@ -674,7 +682,8 @@ body.menu-show .admin-content { | |||||
background:none | background:none | ||||
} | } | ||||
.modal-title { | .modal-title { | ||||
font-size:16px | |||||
font-size:14px; | |||||
line-height:1.6 | |||||
} | } | ||||
.card,.modal-content { | .card,.modal-content { | ||||
border:0 | border:0 | ||||
@@ -716,7 +725,7 @@ span.page-link { | |||||
color:var(--white); | color:var(--white); | ||||
background:var(--green) | background:var(--green) | ||||
} | } | ||||
input,select,textarea,.colordlg,.pubdlg,.quickselitem .topcat,.mysource,.mywriter,#edsta,.cke_chrome,.cke_inner,.card,.form-control,.btn,.alert,.rounded { | |||||
input,select,textarea,.colordlg,.pubdlg,.quickselitem .topcat,.mysource,.mywriter,#edsta,.cke_chrome,.cke_inner,.alert,.card,.rounded,.form-control,.btn { | |||||
border-radius:var(--b-radius)!important | border-radius:var(--b-radius)!important | ||||
} | } | ||||
.cke_top { | .cke_top { | ||||
@@ -733,7 +742,10 @@ input,select,textarea,.colordlg,.pubdlg,.quickselitem .topcat,.mysource,.mywrite | |||||
border-top-right-radius:0!important; | border-top-right-radius:0!important; | ||||
border-bottom-right-radius:0!important | border-bottom-right-radius:0!important | ||||
} | } | ||||
.btn-sm { | |||||
.nav-pills .nav-link.active,.nav-pills .show>.nav-link { | |||||
background:var(--green) | |||||
} | |||||
.nav-pills .nav-link,.btn-sm { | |||||
padding:0 0.5rem; | padding:0 0.5rem; | ||||
height:30px; | height:30px; | ||||
line-height:30px; | line-height:30px; | ||||
@@ -15,6 +15,13 @@ body { | |||||
color:var(--gray); | color:var(--gray); | ||||
background:var(--bg) | background:var(--bg) | ||||
} | } | ||||
p { | |||||
margin-bottom:1rem; | |||||
word-wrap:break-word | |||||
} | |||||
p:last-child { | |||||
margin-bottom:0 | |||||
} | |||||
a { | a { | ||||
color:var(--gray); | color:var(--gray); | ||||
text-decoration:none | text-decoration:none | ||||
@@ -23,10 +30,6 @@ a:hover { | |||||
color:var(--blue); | color:var(--blue); | ||||
text-decoration:none | text-decoration:none | ||||
} | } | ||||
img { | |||||
max-width:100%; | |||||
border-radius:var(--b-radius) | |||||
} | |||||
ul,ol,li { | ul,ol,li { | ||||
margin:0; | margin:0; | ||||
padding:0; | padding:0; | ||||
@@ -50,6 +53,10 @@ h3,h4 { | |||||
h5,h6 { | h5,h6 { | ||||
font-size:16px | font-size:16px | ||||
} | } | ||||
img { | |||||
max-width:100%; | |||||
border-radius:var(--b-radius) | |||||
} | |||||
form.search { | form.search { | ||||
display:flex; | display:flex; | ||||
width:100% | width:100% | ||||
@@ -183,7 +183,7 @@ class Archives | |||||
$this->Fields[$nk] = $this->ReplaceKeyword($this->Fields['keywords'], $this->Fields[$nk]); | $this->Fields[$nk] = $this->ReplaceKeyword($this->Fields['keywords'], $this->Fields[$nk]); | ||||
} | } | ||||
} | } | ||||
} //End foreach | |||||
} | |||||
} | } | ||||
//设置全局环境变量 | //设置全局环境变量 | ||||
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; | $this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; | ||||
@@ -221,7 +221,7 @@ class Archives | |||||
if ($this->Fields['litpic'] == '-' || $this->Fields['litpic'] == '') { | if ($this->Fields['litpic'] == '-' || $this->Fields['litpic'] == '') { | ||||
$this->Fields['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $this->Fields['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
if (!preg_match("#^http:\/\/#i", $this->Fields['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $this->Fields['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$this->Fields['litpic'] = $GLOBALS['cfg_mainsite'].$this->Fields['litpic']; | $this->Fields['litpic'] = $GLOBALS['cfg_mainsite'].$this->Fields['litpic']; | ||||
} | } | ||||
$this->Fields['picname'] = $this->Fields['litpic']; | $this->Fields['picname'] = $this->Fields['litpic']; | ||||
@@ -631,8 +631,8 @@ class Archives | |||||
} | } | ||||
} | } | ||||
$this->dtp->Assign($i, $res); | $this->dtp->Assign($i, $res); | ||||
} //end case | |||||
} //结束模板循环 | |||||
} | |||||
} | |||||
} | } | ||||
} | } | ||||
/** | /** | ||||
@@ -1005,7 +1005,7 @@ class Archives | |||||
$body = preg_replace("#(<a(.*))-\]-(.*)-\[-(\/a>)#isU", '\\1>\\3<\\4', $body); | $body = preg_replace("#(<a(.*))-\]-(.*)-\[-(\/a>)#isU", '\\1>\\3<\\4', $body); | ||||
return $body; | return $body; | ||||
} | } | ||||
}//End Archives | |||||
} | |||||
function _highlightkeywords($matches) | function _highlightkeywords($matches) | ||||
{ | { | ||||
return _highlight($matches[2], $GLOBALS['_dd_karr'], $GLOBALS['_dd_kaarr'], $matches[1]); | return _highlight($matches[2], $GLOBALS['_dd_karr'], $GLOBALS['_dd_kaarr'], $matches[1]); | ||||
@@ -542,9 +542,9 @@ class FreeList | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
/*if (!preg_match("#^http:\/\/#i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
}*/ | |||||
} | |||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
$row['info'] = $row['description']; | $row['info'] = $row['description']; | ||||
$row['filename'] = $row['arcurl']; | $row['filename'] = $row['arcurl']; | ||||
@@ -595,21 +595,20 @@ class FreeList | |||||
} | } | ||||
} | } | ||||
$artlist .= $indtp->GetResult(); | $artlist .= $indtp->GetResult(); | ||||
} //if hasRow | |||||
else { | |||||
} else { | |||||
$artlist .= ''; | $artlist .= ''; | ||||
} | } | ||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</td>"; | $artlist .= "</td>"; | ||||
} | } | ||||
} //Loop Col | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$i += $col - 1; | $i += $col - 1; | ||||
} | } | ||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</tr>"; | $artlist .= "</tr>"; | ||||
} | } | ||||
} //Loop Line | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</table>"; | $artlist .= "</table>"; | ||||
} | } | ||||
@@ -855,5 +854,5 @@ class FreeList | |||||
} | } | ||||
return $nowurl; | return $nowurl; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -71,7 +71,7 @@ class ListView | |||||
$this->Fields = $this->TypeLink->TypeInfos; | $this->Fields = $this->TypeLink->TypeInfos; | ||||
$this->Fields['id'] = $typeid; | $this->Fields['id'] = $typeid; | ||||
$this->Fields['position'] = $this->TypeLink->GetPositionLink(true); | $this->Fields['position'] = $this->TypeLink->GetPositionLink(true); | ||||
$this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false)); | |||||
$this->Fields['title'] = preg_replace("/[<>]/", "-", $this->TypeLink->GetPositionLink(false)); | |||||
//添加联动单筛选 | //添加联动单筛选 | ||||
if (isset($_REQUEST['tid'])) { | if (isset($_REQUEST['tid'])) { | ||||
foreach($_GET as $key => $value) { | foreach($_GET as $key => $value) { | ||||
@@ -421,10 +421,14 @@ class ListView | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | $ordersql = " ORDER BY arc.senddate $orderWay"; | ||||
} else if ($orderby == "pubdate") { | } else if ($orderby == "pubdate") { | ||||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | $ordersql = " ORDER BY arc.pubdate $orderWay"; | ||||
} else if ($orderby == "senddate") { | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||||
} else if ($orderby == "id") { | } else if ($orderby == "id") { | ||||
$ordersql = " ORDER BY arc.id $orderWay"; | $ordersql = " ORDER BY arc.id $orderWay"; | ||||
} else if ($orderby == "hot" || $orderby == "click") { | } else if ($orderby == "hot" || $orderby == "click") { | ||||
$ordersql = " ORDER BY arc.click $orderWay"; | $ordersql = " ORDER BY arc.click $orderWay"; | ||||
} else if($orderby == "weight") { | |||||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||||
} else if ($orderby == "lastpost") { | } else if ($orderby == "lastpost") { | ||||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | $ordersql = " ORDER BY arc.lastpost $orderWay"; | ||||
} else if ($orderby == "scores") { | } else if ($orderby == "scores") { | ||||
@@ -471,7 +475,7 @@ class ListView | |||||
$addJoin = ''; | $addJoin = ''; | ||||
} | } | ||||
//如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | //如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | ||||
if (preg_match('/senddate|pubdate|hot|click|lastpost|rand/', $orderby)) { | |||||
if (preg_match('/senddate|pubdate|senddate|hot|click|weight|lastpost|rand/', $orderby)) { | |||||
$query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row"; | $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row"; | ||||
} | } | ||||
//普通情况先从arctiny表查出id,然后按id查询速度非常快 | //普通情况先从arctiny表查出id,然后按id查询速度非常快 | ||||
@@ -535,9 +539,9 @@ class ListView | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
/*if (!preg_match("/^http:\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
}*/ | |||||
} | |||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
$row['stime'] = GetDateMK($row['pubdate']); | $row['stime'] = GetDateMK($row['pubdate']); | ||||
$row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | $row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | ||||
@@ -843,10 +847,14 @@ class ListView | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | $ordersql = " ORDER BY arc.senddate $orderWay"; | ||||
} else if ($orderby == "pubdate") { | } else if ($orderby == "pubdate") { | ||||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | $ordersql = " ORDER BY arc.pubdate $orderWay"; | ||||
} else if ($orderby == "senddate") { | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||||
} else if ($orderby == "id") { | } else if ($orderby == "id") { | ||||
$ordersql = " ORDER BY arc.id $orderWay"; | $ordersql = " ORDER BY arc.id $orderWay"; | ||||
} else if ($orderby == "hot" || $orderby == "click") { | } else if ($orderby == "hot" || $orderby == "click") { | ||||
$ordersql = " ORDER BY arc.click $orderWay"; | $ordersql = " ORDER BY arc.click $orderWay"; | ||||
} else if($orderby == "weight") { | |||||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||||
} else if ($orderby == "lastpost") { | } else if ($orderby == "lastpost") { | ||||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | $ordersql = " ORDER BY arc.lastpost $orderWay"; | ||||
} else if ($orderby == "scores") { | } else if ($orderby == "scores") { | ||||
@@ -893,7 +901,7 @@ class ListView | |||||
$addJoin = ''; | $addJoin = ''; | ||||
} | } | ||||
//如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | //如果不用默认的sortrank或id排序,使用联合查询数据量大时非常缓慢 | ||||
if (preg_match('/senddate|pubdate|hot|click|lastpost|rand/', $orderby)) { | |||||
if (preg_match('/senddate|pubdate|senddate|hot|click|weight|lastpost|rand/', $orderby)) { | |||||
$query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row"; | $query = "SELECT arc.*,tp.typedir,tp.typename,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,tp.moresite,tp.siteurl,tp.sitepath,mb.uname,mb.face,mb.userid $addField FROM `#@__archives` arc LEFT JOIN `#@__arctype` tp ON arc.typeid=tp.id LEFT JOIN `#@__member` mb ON arc.mid=mb.mid $addJoin WHERE {$this->addSql} $filtersql $ordersql LIMIT $limitstart,$row"; | ||||
} | } | ||||
//普通情况先从arctiny表查出id,然后按di查询速度非常快 | //普通情况先从arctiny表查出id,然后按di查询速度非常快 | ||||
@@ -963,9 +971,9 @@ class ListView | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
/*if (!preg_match("/^http:\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
}*/ | |||||
} | |||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
$row['stime'] = GetDateMK($row['pubdate']); | $row['stime'] = GetDateMK($row['pubdate']); | ||||
$row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | $row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | ||||
@@ -1009,13 +1017,13 @@ class ListView | |||||
} | } | ||||
} | } | ||||
$artlist .= $this->dtp2->GetResult(); | $artlist .= $this->dtp2->GetResult(); | ||||
}//if hasRow | |||||
}//Loop Col | |||||
} | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$i += $col - 1; | $i += $col - 1; | ||||
$artlist .= "</div>"; | $artlist .= "</div>"; | ||||
} | } | ||||
}//Loop Line | |||||
} | |||||
$t3 = ExecTime(); | $t3 = ExecTime(); | ||||
$this->dsql->FreeResult('al'); | $this->dsql->FreeResult('al'); | ||||
return $artlist; | return $artlist; | ||||
@@ -1218,5 +1226,5 @@ class ListView | |||||
} | } | ||||
return $nowurl; | return $nowurl; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -231,5 +231,5 @@ class PartView | |||||
function Close() | function Close() | ||||
{ | { | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -575,9 +575,9 @@ class SearchView | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
/*if (!preg_match("/^(http|https):\/\//", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
}*/ | |||||
} | |||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
$row["typeurl"] = GetTypeUrl($row["typeid"], $row["typedir"], $row["isdefault"], $row["defaultname"], $row["ispart"], $row["namerule2"], $row["moresite"], $row["siteurl"], $row["sitepath"]); | $row["typeurl"] = GetTypeUrl($row["typeid"], $row["typedir"], $row["isdefault"], $row["defaultname"], $row["ispart"], $row["namerule2"], $row["moresite"], $row["siteurl"], $row["sitepath"]); | ||||
$row["info"] = $row["description"]; | $row["info"] = $row["description"]; | ||||
@@ -607,16 +607,15 @@ class SearchView | |||||
} | } | ||||
} | } | ||||
$artlist .= $this->dtp2->GetResult(); | $artlist .= $this->dtp2->GetResult(); | ||||
} //if hasRow | |||||
else { | |||||
} else { | |||||
$artlist .= ''; | $artlist .= ''; | ||||
} | } | ||||
if ($col > 1) $artlist .= "</td>"; | if ($col > 1) $artlist .= "</td>"; | ||||
} //Loop Col | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</tr>"; | $artlist .= "</tr>"; | ||||
} | } | ||||
} //Loop Line | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</table>"; | $artlist .= "</table>"; | ||||
} | } | ||||
@@ -721,5 +720,5 @@ class SearchView | |||||
} | } | ||||
return $nowurl; | return $nowurl; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -70,7 +70,7 @@ class SgListView | |||||
$this->Fields = $this->TypeLink->TypeInfos; | $this->Fields = $this->TypeLink->TypeInfos; | ||||
$this->Fields['id'] = $typeid; | $this->Fields['id'] = $typeid; | ||||
$this->Fields['position'] = $this->TypeLink->GetPositionLink(true); | $this->Fields['position'] = $this->TypeLink->GetPositionLink(true); | ||||
$this->Fields['title'] = preg_replace("/[<>]/", " / ", $this->TypeLink->GetPositionLink(false)); | |||||
$this->Fields['title'] = preg_replace("/[<>]/", "-", $this->TypeLink->GetPositionLink(false)); | |||||
//获得附加表和列表字段信息 | //获得附加表和列表字段信息 | ||||
$this->AddTable = $this->ChannelUnit->ChannelInfos['addtable']; | $this->AddTable = $this->ChannelUnit->ChannelInfos['addtable']; | ||||
$listfield = trim($this->ChannelUnit->ChannelInfos['listfields']); | $listfield = trim($this->ChannelUnit->ChannelInfos['listfields']); | ||||
@@ -364,10 +364,14 @@ class SgListView | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | $ordersql = " ORDER BY arc.senddate $orderWay"; | ||||
} else if ($orderby == "pubdate") { | } else if ($orderby == "pubdate") { | ||||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | $ordersql = " ORDER BY arc.pubdate $orderWay"; | ||||
} else if ($orderby == "senddate") { | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||||
} else if ($orderby == "id") { | } else if ($orderby == "id") { | ||||
$ordersql = " ORDER BY arc.id $orderWay"; | $ordersql = " ORDER BY arc.id $orderWay"; | ||||
} else if ($orderby == "hot" || $orderby == "click") { | } else if ($orderby == "hot" || $orderby == "click") { | ||||
$ordersql = " ORDER BY arc.click $orderWay"; | $ordersql = " ORDER BY arc.click $orderWay"; | ||||
} else if($orderby == "weight") { | |||||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||||
} else if ($orderby == "lastpost") { | } else if ($orderby == "lastpost") { | ||||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | $ordersql = " ORDER BY arc.lastpost $orderWay"; | ||||
} else if ($orderby == "scores") { | } else if ($orderby == "scores") { | ||||
@@ -443,9 +447,9 @@ class SgListView | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
/*if (!preg_match("/^http:\/\//", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
}*/ | |||||
} | |||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
$row['pubdate'] = $row['senddate']; | $row['pubdate'] = $row['senddate']; | ||||
$row['stime'] = GetDateMK($row['pubdate']); | $row['stime'] = GetDateMK($row['pubdate']); | ||||
@@ -717,10 +721,14 @@ class SgListView | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | $ordersql = " ORDER BY arc.senddate $orderWay"; | ||||
} else if ($orderby == "pubdate") { | } else if ($orderby == "pubdate") { | ||||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | $ordersql = " ORDER BY arc.pubdate $orderWay"; | ||||
} else if ($orderby == "senddate") { | |||||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||||
} else if ($orderby == "id") { | } else if ($orderby == "id") { | ||||
$ordersql = " ORDER BY arc.id $orderWay"; | $ordersql = " ORDER BY arc.id $orderWay"; | ||||
} else if ($orderby == "hot" || $orderby == "click") { | } else if ($orderby == "hot" || $orderby == "click") { | ||||
$ordersql = " ORDER BY arc.click $orderWay"; | $ordersql = " ORDER BY arc.click $orderWay"; | ||||
} else if($orderby == "weight") { | |||||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||||
} else if ($orderby == "lastpost") { | } else if ($orderby == "lastpost") { | ||||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | $ordersql = " ORDER BY arc.lastpost $orderWay"; | ||||
} else if ($orderby == "scores") { | } else if ($orderby == "scores") { | ||||
@@ -802,7 +810,7 @@ class SgListView | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
if (!preg_match("/^http:\/\//", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
} | } | ||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
@@ -842,13 +850,13 @@ class SgListView | |||||
} | } | ||||
} | } | ||||
$artlist .= $this->dtp2->GetResult(); | $artlist .= $this->dtp2->GetResult(); | ||||
} //if hasRow | |||||
}//Loop Col | |||||
} | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$i += $col - 1; | $i += $col - 1; | ||||
$artlist .= "</div>"; | $artlist .= "</div>"; | ||||
} | } | ||||
}//Loop Line | |||||
} | |||||
$t3 = ExecTime(); | $t3 = ExecTime(); | ||||
$this->dsql->FreeResult('al'); | $this->dsql->FreeResult('al'); | ||||
return $artlist; | return $artlist; | ||||
@@ -1046,5 +1054,5 @@ class SgListView | |||||
} | } | ||||
return $nowurl; | return $nowurl; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -99,5 +99,5 @@ class sgpage | |||||
function Close() | function Close() | ||||
{ | { | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -219,7 +219,7 @@ class SpecView | |||||
} | } | ||||
$this->dtp->Assign($tagid, $this->GetPageListST($list_len)); | $this->dtp->Assign($tagid, $this->GetPageListST($list_len)); | ||||
} | } | ||||
} //End foreach | |||||
} | |||||
$makeFile = $GLOBALS['cfg_special']."/spec_".$this->PageNo.$GLOBALS['art_shortname']; | $makeFile = $GLOBALS['cfg_special']."/spec_".$this->PageNo.$GLOBALS['art_shortname']; | ||||
$murl = $makeFile; | $murl = $makeFile; | ||||
$makeFile = $GLOBALS['cfg_basedir'].$makeFile; | $makeFile = $GLOBALS['cfg_basedir'].$makeFile; | ||||
@@ -350,7 +350,7 @@ class SpecView | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
if (!preg_match("/^http:\/\//", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
} | } | ||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
@@ -403,18 +403,17 @@ class SpecView | |||||
} | } | ||||
} | } | ||||
$artlist .= $this->dtp2->GetResult(); | $artlist .= $this->dtp2->GetResult(); | ||||
}//if hasRow | |||||
else { | |||||
} else { | |||||
$artlist .= ''; | $artlist .= ''; | ||||
} | } | ||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</td>"; | $artlist .= "</td>"; | ||||
} | } | ||||
}//Loop Col | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</tr>"; | $artlist .= "</tr>"; | ||||
} | } | ||||
}//Loop Line | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$artlist .= "</table>"; | $artlist .= "</table>"; | ||||
} | } | ||||
@@ -568,5 +567,5 @@ class SpecView | |||||
} | } | ||||
return $nowurl; | return $nowurl; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -105,15 +105,9 @@ class TagList | |||||
} | } | ||||
if (isset($GLOBALS['PageNo'])) { | if (isset($GLOBALS['PageNo'])) { | ||||
$this->PageNo = intval($GLOBALS['PageNo']); | $this->PageNo = intval($GLOBALS['PageNo']); | ||||
if ($this->PageNo == 0) { | |||||
$this->PageNo = 1; | |||||
} | |||||
} else { | } else { | ||||
$this->PageNo = 1; | $this->PageNo = 1; | ||||
} | } | ||||
if (stripos(GetCurUrl(), 'makehtml_taglist_action.php')) { | |||||
$this->TotalResult = 1; | |||||
} | |||||
if ($this->TotalResult == -1) { | if ($this->TotalResult == -1) { | ||||
$cquery = "SELECT COUNT(*) AS dd FROM `#@__taglist` WHERE tid = '{$this->TagInfos['id']}' AND arcrank >-1 "; | $cquery = "SELECT COUNT(*) AS dd FROM `#@__taglist` WHERE tid = '{$this->TagInfos['id']}' AND arcrank >-1 "; | ||||
$row = $this->dsql->GetOne($cquery); | $row = $this->dsql->GetOne($cquery); | ||||
@@ -348,9 +342,9 @@ class TagList | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
/*if (!preg_match("/^http:\/\//", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
}*/ | |||||
} | |||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
$row['stime'] = GetDateMK($row['pubdate']); | $row['stime'] = GetDateMK($row['pubdate']); | ||||
$row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | $row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | ||||
@@ -385,13 +379,13 @@ class TagList | |||||
} | } | ||||
} | } | ||||
$artlist .= $this->dtp2->GetResult(); | $artlist .= $this->dtp2->GetResult(); | ||||
}//if hasRow | |||||
}//Loop Col | |||||
} | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$i += $col - 1; | $i += $col - 1; | ||||
$artlist .= "</div>"; | $artlist .= "</div>"; | ||||
} | } | ||||
}//Loop Line | |||||
} | |||||
$this->dsql->FreeResult('al'); | $this->dsql->FreeResult('al'); | ||||
return $artlist; | return $artlist; | ||||
} | } | ||||
@@ -424,14 +418,14 @@ class TagList | |||||
$purl .= "?/".urlencode($this->Tag); | $purl .= "?/".urlencode($this->Tag); | ||||
//获得上页和下页的链接 | //获得上页和下页的链接 | ||||
if ($this->PageNo != 1) { | if ($this->PageNo != 1) { | ||||
$prepage .= "<li class='page-item'><a href='".$purl."/$prepagenum/' class='page-link'>上页</a></li>"; | |||||
$indexpage = "<li class='page-item'><a href='".$purl."/1/' class='page-link'>首页</a></li>"; | |||||
$prepage .= "<li class='page-item'><a href='".$purl."/$prepagenum' class='page-link'>上页</a></li>"; | |||||
$indexpage = "<li class='page-item'><a href='".$purl."/1' class='page-link'>首页</a></li>"; | |||||
} else { | } else { | ||||
$indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>"; | $indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>"; | ||||
} | } | ||||
if ($this->PageNo != $totalpage && $totalpage > 1) { | if ($this->PageNo != $totalpage && $totalpage > 1) { | ||||
$nextpage .= "<li class='page-item'><a href='".$purl."/$nextpagenum/' class='page-link'>下页</a></li>"; | |||||
$endpage = "<li class='page-item'><a href='".$purl."/$totalpage/' class='page-link'>末页</a></li>"; | |||||
$nextpage .= "<li class='page-item'><a href='".$purl."/$nextpagenum' class='page-link'>下页</a></li>"; | |||||
$endpage = "<li class='page-item'><a href='".$purl."/$totalpage' class='page-link'>末页</a></li>"; | |||||
} else { | } else { | ||||
$endpage = "<li class='page-item'><span class='page-link'>末页</span></li>"; | $endpage = "<li class='page-item'><span class='page-link'>末页</span></li>"; | ||||
} | } | ||||
@@ -454,7 +448,7 @@ class TagList | |||||
if ($j == $this->PageNo) { | if ($j == $this->PageNo) { | ||||
$listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>"; | $listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>"; | ||||
} else { | } else { | ||||
$listdd .= "<li class='page-item'><a href='".$purl."/$j/' class='page-link'>$j</a></li>"; | |||||
$listdd .= "<li class='page-item'><a href='".$purl."/$j' class='page-link'>$j</a></li>"; | |||||
} | } | ||||
} | } | ||||
$plist = ''; | $plist = ''; | ||||
@@ -478,6 +472,14 @@ class TagList | |||||
} | } | ||||
return $plist; | return $plist; | ||||
} | } | ||||
/** | |||||
* 获取静态的分页列表 | |||||
* | |||||
* @access public | |||||
* @param int $list_len 列表宽度 | |||||
* @param string $listitem 列表样式 | |||||
* @return string | |||||
*/ | |||||
function GetPageListST($list_len, $listitem = "info,index,end,pre,next,pageno") | function GetPageListST($list_len, $listitem = "info,index,end,pre,next,pageno") | ||||
{ | { | ||||
$prepage = ''; | $prepage = ''; | ||||
@@ -570,7 +572,7 @@ class TagList | |||||
$envs['makeTag'] = 1; | $envs['makeTag'] = 1; | ||||
$tagsdir = str_replace("{cmspath}", $cfg_cmspath, $cfg_tags_dir); | $tagsdir = str_replace("{cmspath}", $cfg_cmspath, $cfg_tags_dir); | ||||
if (isset($envs['makeTag']) && $envs['makeTag'] == 1) { | if (isset($envs['makeTag']) && $envs['makeTag'] == 1) { | ||||
$this->Fields['position'] = $cfg_cmsurl.$tagsdir."/"; | |||||
$this->Fields['position'] = $cfg_cmsurl.$tagsdir; | |||||
} | } | ||||
if (empty($this->TotalResult) && $this->Tag != "") $this->CountRecord(); | if (empty($this->TotalResult) && $this->Tag != "") $this->CountRecord(); | ||||
//初步给固定值的标记赋值 | //初步给固定值的标记赋值 | ||||
@@ -595,7 +597,7 @@ class TagList | |||||
if ($endpage == 1) { | if ($endpage == 1) { | ||||
$endpage = 2; | $endpage = 2; | ||||
} | } | ||||
$makeDir = $this->GetTruePath().$this->tagsDir.'/'.$this->TagInfos['id']."/"; | |||||
$makeDir = $this->GetTruePath().$this->tagsDir.'/'.$this->TagInfos['id']; | |||||
MkdirAll($makeDir, $cfg_dir_purview); | MkdirAll($makeDir, $cfg_dir_purview); | ||||
for ($this->PageNo = $startpage; $this->PageNo < $endpage; $this->PageNo++) { | for ($this->PageNo = $startpage; $this->PageNo < $endpage; $this->PageNo++) { | ||||
$this->ParseDMFields($this->PageNo, 1); | $this->ParseDMFields($this->PageNo, 1); | ||||
@@ -664,5 +666,5 @@ class TagList | |||||
} | } | ||||
return $nowurl; | return $nowurl; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -198,5 +198,5 @@ class ChannelUnit | |||||
function Close() | function Close() | ||||
{ | { | ||||
} | } | ||||
}//End class ChannelUnit | |||||
} | |||||
?> | ?> |
@@ -92,11 +92,11 @@ function GetFormItem($ctag, $admintype = 'admin') | |||||
$dfvalue = str_replace('{{', '<', $dfvalue); | $dfvalue = str_replace('{{', '<', $dfvalue); | ||||
$dfvalue = str_replace('}}', '>', $dfvalue); | $dfvalue = str_replace('}}', '>', $dfvalue); | ||||
if ($admintype == 'admin') { | if ($admintype == 'admin') { | ||||
$innertext = GetEditor($fieldname, $dfvalue, 360, 'Basic', 'string'); | |||||
$innertext = GetEditor($fieldname, $dfvalue, 350, 'Basic', 'string'); | |||||
} else if ($admintype == 'diy') { | } else if ($admintype == 'diy') { | ||||
$innertext = GetEditor($fieldname, $dfvalue, 360, 'Diy', 'string'); | |||||
$innertext = GetEditor($fieldname, $dfvalue, 350, 'Diy', 'string'); | |||||
} else { | } else { | ||||
$innertext = GetEditor($fieldname, $dfvalue, 360, 'Member', 'string'); | |||||
$innertext = GetEditor($fieldname, $dfvalue, 350, 'Member', 'string'); | |||||
} | } | ||||
} else if ($fieldType == "multitext") { | } else if ($fieldType == "multitext") { | ||||
$innertext = "<textarea name='$fieldname' id='$fieldname' class='form-control admin-textarea-sm'></textarea>"; | $innertext = "<textarea name='$fieldname' id='$fieldname' class='form-control admin-textarea-sm'></textarea>"; | ||||
@@ -337,16 +337,16 @@ function GetFormItemValue($ctag, $fvalue, $admintype = 'admin', $fieldname = '') | |||||
$okfvalue = ''; | $okfvalue = ''; | ||||
} | } | ||||
if ($admintype == 'admin') { | if ($admintype == 'admin') { | ||||
$myformItem = GetEditor($fieldname, $okfvalue, 360, 'Basic', 'string')." <input type='hidden' name='{$fieldname}_file' value='{$fvalue}'> "; | |||||
$myformItem = GetEditor($fieldname, $okfvalue, 350, 'Basic', 'string')." <input type='hidden' name='{$fieldname}_file' value='{$fvalue}'> "; | |||||
} else { | } else { | ||||
$myformItem = GetEditor($fieldname, $okfvalue, 360, 'Member', 'string')." <input type='hidden' name='{$fieldname}_file' value='{$fvalue}'> "; | |||||
$myformItem = GetEditor($fieldname, $okfvalue, 350, 'Member', 'string')." <input type='hidden' name='{$fieldname}_file' value='{$fvalue}'> "; | |||||
} | } | ||||
$innertext = $myformItem; | $innertext = $myformItem; | ||||
} else if ($ftype == "htmltext") { | } else if ($ftype == "htmltext") { | ||||
if ($admintype == 'admin') { | if ($admintype == 'admin') { | ||||
$myformItem = GetEditor($fieldname, $fvalue, 360, 'Basic', 'string')." "; | |||||
$myformItem = GetEditor($fieldname, $fvalue, 350, 'Basic', 'string')." "; | |||||
} else { | } else { | ||||
$myformItem = GetEditor($fieldname, $fvalue, 360, 'Member', 'string')." "; | |||||
$myformItem = GetEditor($fieldname, $fvalue, 350, 'Member', 'string')." "; | |||||
} | } | ||||
$innertext = $myformItem; | $innertext = $myformItem; | ||||
} else if ($ftype == "multitext") { | } else if ($ftype == "multitext") { | ||||
@@ -66,7 +66,7 @@ class DedeAtt | |||||
{ | { | ||||
return $this->Count + 1; | return $this->Count + 1; | ||||
} | } | ||||
}//End DedeAtt | |||||
} | |||||
/** | /** | ||||
* 属性解析器 | * 属性解析器 | ||||
* function c____DedeAttParse(); | * function c____DedeAttParse(); | ||||
@@ -486,9 +486,9 @@ function GetUrlFromListRule($regxurl = '', $handurl = '', $startid = 0, $endid = | |||||
} | } | ||||
} | } | ||||
} | } | ||||
} //End 匹配多栏目 | |||||
} //End使用规则匹配的情况 | |||||
} | |||||
} | |||||
} | } | ||||
return $lists; | return $lists; | ||||
}//End | |||||
} | |||||
?> | ?> |
@@ -271,5 +271,5 @@ class DedeImage | |||||
} | } | ||||
} | } | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -241,7 +241,7 @@ class DedeModule | |||||
while (!feof($fp)) { | while (!feof($fp)) { | ||||
$line = fgets($fp, 1024); | $line = fgets($fp, 1024); | ||||
if (!$start) { | if (!$start) { | ||||
//2011-6-7 修复模块打包程序中上传程序安装生成为空白文件 | |||||
//2011-6-7修复模块打包程序中上传程序安装生成为空白文件 | |||||
if (preg_match("#<{$ntype}>#i", $line)) $start = TRUE; | if (preg_match("#<{$ntype}>#i", $line)) $start = TRUE; | ||||
} else { | } else { | ||||
if (preg_match("#<\/{$ntype}#i", $line)) break; | if (preg_match("#<\/{$ntype}#i", $line)) break; | ||||
@@ -291,7 +291,7 @@ class DedeModule | |||||
* | * | ||||
* @access public | * @access public | ||||
* @param string $hashcode hash码 | * @param string $hashcode hash码 | ||||
* @return bool 如果存在则返回True,否则为False | |||||
* @return bool 如果存在则返回True,否则为False | |||||
*/ | */ | ||||
function HasModule($hashcode) | function HasModule($hashcode) | ||||
{ | { | ||||
@@ -582,5 +582,5 @@ class DedeModule | |||||
unset($this->modules); | unset($this->modules); | ||||
unset($this->fileListNames); | unset($this->fileListNames); | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -16,7 +16,7 @@ class DedeTag | |||||
var $InnerText = ''; //标记之间的文本 | var $InnerText = ''; //标记之间的文本 | ||||
var $StartPos = 0; //标记起始位置 | var $StartPos = 0; //标记起始位置 | ||||
var $EndPos = 0; //标记结束位置 | var $EndPos = 0; //标记结束位置 | ||||
var $CAttribute = null; //标记属性描述,即是class DedeAttribute | |||||
var $CAttribute = null; //标记属性描述,即是class DedeAttribute | |||||
var $TagValue = ''; //标记的值 | var $TagValue = ''; //标记的值 | ||||
var $TagID = 0; | var $TagID = 0; | ||||
/** | /** | ||||
@@ -67,7 +67,7 @@ class DedeTag | |||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* DedeTagParse 模板类 | |||||
* DedeTagParse模板类 | |||||
* function c____DedeTagParse(); | * function c____DedeTagParse(); | ||||
* | * | ||||
* @package DedeTagParse | * @package DedeTagParse | ||||
@@ -85,7 +85,7 @@ class DedeTagParse | |||||
var $TempMkTime = 0; | var $TempMkTime = 0; | ||||
var $CacheFile = ''; | var $CacheFile = ''; | ||||
var $SourceString = ''; //模板字符串 | var $SourceString = ''; //模板字符串 | ||||
var $CTags = array(); //标记集合 | |||||
var $CTags = array(); //标记集合 | |||||
var $Count = -1; //$Tags标记个数 | var $Count = -1; //$Tags标记个数 | ||||
var $refObj = ''; //引用当前模板类的对象 | var $refObj = ''; //引用当前模板类的对象 | ||||
var $taghashfile = ''; | var $taghashfile = ''; | ||||
@@ -164,9 +164,7 @@ class DedeTagParse | |||||
$this->SetDefault(); | $this->SetDefault(); | ||||
} | } | ||||
/** | /** | ||||
* CheckDisabledFunctions | |||||
* | |||||
* COMMENT : CheckDisabledFunctions : 检查是否存在禁止的函数 | |||||
* CheckDisabledFunctions COMMENT : CheckDisabledFunctions检查是否存在禁止的函数 | |||||
* | * | ||||
* @access public | * @access public | ||||
* @param string | * @param string | ||||
@@ -385,7 +383,7 @@ class DedeTagParse | |||||
return -1; | return -1; | ||||
} | } | ||||
/** | /** | ||||
* 获得指定名称的CTag数据类(如果有多个同名的Tag,则取没有被分配文档的第一个Tag) | |||||
* 获得指定名称的CTag数据类,如果有多个同名的Tag,则取没有被分配文档的第一个Tag | |||||
* | * | ||||
* @access public | * @access public | ||||
* @param string $str 字符串 | * @param string $str 字符串 | ||||
@@ -462,7 +460,6 @@ class DedeTagParse | |||||
if (isset($this->CTags[$i])) { | if (isset($this->CTags[$i])) { | ||||
$this->CTags[$i]->IsReplace = TRUE; | $this->CTags[$i]->IsReplace = TRUE; | ||||
$this->CTags[$i]->TagValue = $str; | $this->CTags[$i]->TagValue = $str; | ||||
if ($this->CTags[$i]->GetAtt('function') != '' && $runfunc) { | if ($this->CTags[$i]->GetAtt('function') != '' && $runfunc) { | ||||
$this->CTags[$i]->TagValue = $this->EvalFunc($str, $this->CTags[$i]->GetAtt('function'), $this->CTags[$i]); | $this->CTags[$i]->TagValue = $this->EvalFunc($str, $this->CTags[$i]->GetAtt('function'), $this->CTags[$i]); | ||||
} | } | ||||
@@ -526,7 +523,7 @@ class DedeTagParse | |||||
$this->CTags[$i]->IsReplace = TRUE; | $this->CTags[$i]->IsReplace = TRUE; | ||||
$this->CTags[$i]->TagValue = $str; | $this->CTags[$i]->TagValue = $str; | ||||
} | } | ||||
//设置/获取变量值 | |||||
//设置获取变量值 | |||||
else if ($CTag->TagName == 'var') { | else if ($CTag->TagName == 'var') { | ||||
$vname = $this->CTags[$i]->GetAtt('name'); | $vname = $this->CTags[$i]->GetAtt('name'); | ||||
if ($vname == '') { | if ($vname == '') { | ||||
@@ -570,8 +567,7 @@ class DedeTagParse | |||||
$this->CTags[$i]->IsReplace = TRUE; | $this->CTags[$i]->IsReplace = TRUE; | ||||
} | } | ||||
/** | /** | ||||
* 把分析模板输出到一个字符串中 | |||||
* 不替换没被处理的值 | |||||
* 把分析模板输出到一个字符串中,不替换没被处理的值 | |||||
* | * | ||||
* @access public | * @access public | ||||
* @return string | * @return string | ||||
@@ -602,7 +598,7 @@ class DedeTagParse | |||||
return $ResultString; | return $ResultString; | ||||
} | } | ||||
/** | /** | ||||
* 把分析模板输出到一个字符串中,并返回 | |||||
* 把分析模板输出到一个字符串中并返回 | |||||
* | * | ||||
* @access public | * @access public | ||||
* @return string | * @return string | ||||
@@ -628,7 +624,7 @@ class DedeTagParse | |||||
return $ResultString; | return $ResultString; | ||||
} | } | ||||
/** | /** | ||||
* 直接输出解析模板 | |||||
* 直接解析模板 | |||||
* | * | ||||
* @access public | * @access public | ||||
* @return void | * @return void | ||||
@@ -638,7 +634,7 @@ class DedeTagParse | |||||
echo $this->GetResult(); | echo $this->GetResult(); | ||||
} | } | ||||
/** | /** | ||||
* 把解析模板输出为文件 | |||||
* 解析模板为文件 | |||||
* | * | ||||
* @access public | * @access public | ||||
* @param string $filename 要保存到的文件 | * @param string $filename 要保存到的文件 | ||||
@@ -693,7 +689,7 @@ class DedeTagParse | |||||
if ($isTag === FALSE) { | if ($isTag === FALSE) { | ||||
break; | break; | ||||
} | } | ||||
//判断是否已经到倒数第三个字符(可能性几率极小,取消此逻辑) | |||||
//判断是否已经到倒数第三个字符可能性几率极小,取消此逻辑 | |||||
for ($j = ($sPos + $tsLen); $j < ($sPos + $tsLen + $this->TagMaxLen); $j++) { | for ($j = ($sPos + $tsLen); $j < ($sPos + $tsLen + $this->TagMaxLen); $j++) { | ||||
if ($j > ($sourceLen - 1)) { | if ($j > ($sourceLen - 1)) { | ||||
break; | break; | ||||
@@ -710,26 +706,19 @@ class DedeTagParse | |||||
$e1 = strpos($this->SourceString, $eTagEndWord, $i); | $e1 = strpos($this->SourceString, $eTagEndWord, $i); | ||||
$e2 = strpos($this->SourceString, $FullTagStartWord, $i); | $e2 = strpos($this->SourceString, $FullTagStartWord, $i); | ||||
$e3 = strpos($this->SourceString, $fullTagEndWordThis, $i); | $e3 = strpos($this->SourceString, $fullTagEndWordThis, $i); | ||||
//$eTagEndWord =/} $FullTagStartWord = {tag: $fullTagEndWordThis = {/tag:xxx] | |||||
$e1 = trim($e1); | $e1 = trim($e1); | ||||
$e2 = trim($e2); | $e2 = trim($e2); | ||||
$e3 = trim($e3); | $e3 = trim($e3); | ||||
$e1 = ($e1 == '' ? '-1' : $e1); | $e1 = ($e1 == '' ? '-1' : $e1); | ||||
$e2 = ($e2 == '' ? '-1' : $e2); | $e2 = ($e2 == '' ? '-1' : $e2); | ||||
$e3 = ($e3 == '' ? '-1' : $e3); | $e3 = ($e3 == '' ? '-1' : $e3); | ||||
//not found '{/tag:' | |||||
if ($e3 == -1) { | if ($e3 == -1) { | ||||
$endPos = $e1; | $endPos = $e1; | ||||
$elen = $endPos + strlen($eTagEndWord); | $elen = $endPos + strlen($eTagEndWord); | ||||
} | |||||
//not found '/}' | |||||
else if ($e1 == -1) { | |||||
} else if ($e1 == -1) { | |||||
$endPos = $e3; | $endPos = $e3; | ||||
$elen = $endPos + strlen($fullTagEndWordThis); | $elen = $endPos + strlen($fullTagEndWordThis); | ||||
} | |||||
//found '/}' and found '{/dede:' | |||||
else { | |||||
//if '/}' more near '{dede:'、'{/dede:' , end tag is '/}', else is '{/dede:' | |||||
} else { | |||||
if ($e1 < $e2 && $e1 < $e3) { | if ($e1 < $e2 && $e1 < $e3) { | ||||
$endPos = $e1; | $endPos = $e1; | ||||
$elen = $endPos + strlen($eTagEndWord); | $elen = $endPos + strlen($eTagEndWord); | ||||
@@ -738,7 +727,6 @@ class DedeTagParse | |||||
$elen = $endPos + strlen($fullTagEndWordThis); | $elen = $endPos + strlen($fullTagEndWordThis); | ||||
} | } | ||||
} | } | ||||
//not found end tag , error | |||||
if ($endPos == -1) { | if ($endPos == -1) { | ||||
echo "Tag Character postion $sPos, '$tTagName' Error<br>\r\n"; | echo "Tag Character postion $sPos, '$tTagName' Error<br>\r\n"; | ||||
break; | break; | ||||
@@ -778,7 +766,7 @@ class DedeTagParse | |||||
$i = $sPos + $tsLen; | $i = $sPos + $tsLen; | ||||
break; | break; | ||||
} | } | ||||
} //结束遍历模板字符串 | |||||
} | |||||
if ($this->IsCache) { | if ($this->IsCache) { | ||||
$this->SaveCache(); | $this->SaveCache(); | ||||
} | } | ||||
@@ -940,7 +928,7 @@ class DedeAttributeParse | |||||
$hasAttribute = FALSE; | $hasAttribute = FALSE; | ||||
$strLen = strlen($this->sourceString); | $strLen = strlen($this->sourceString); | ||||
$this->cAttributes->Items = array(); | $this->cAttributes->Items = array(); | ||||
//获得Tag的名称,解析到 cAtt->GetAtt('tagname') 中 | |||||
//获得Tag的名称,解析到cAtt->GetAtt('tagname')中 | |||||
for ($i = 0; $i < $strLen; $i++) { | for ($i = 0; $i < $strLen; $i++) { | ||||
if ($this->sourceString[$i] == ' ') { | if ($this->sourceString[$i] == ' ') { | ||||
$this->cAttributes->Count++; | $this->cAttributes->Count++; | ||||
@@ -967,7 +955,7 @@ class DedeAttributeParse | |||||
return; | return; | ||||
} | } | ||||
$tmpvalue = ''; | $tmpvalue = ''; | ||||
//如果字符串含有属性值,遍历源字符串,并获得各属性 | |||||
//如果字符串含有属性值,遍历源字符串并获得各属性 | |||||
for ($i; $i < $strLen; $i++) { | for ($i; $i < $strLen; $i++) { | ||||
$d = $this->sourceString[$i]; | $d = $this->sourceString[$i]; | ||||
//查找属性名称 | //查找属性名称 | ||||
@@ -1013,13 +1001,12 @@ class DedeAttributeParse | |||||
$tmpvalue .= $d; | $tmpvalue .= $d; | ||||
} | } | ||||
} | } | ||||
}//for | |||||
} | |||||
//最后一个属性给值 | //最后一个属性给值 | ||||
if ($tmpatt != '') { | if ($tmpatt != '') { | ||||
$this->cAttributes->Count++; | $this->cAttributes->Count++; | ||||
$this->cAttributes->Items[$tmpatt] = trim($tmpvalue); | $this->cAttributes->Items[$tmpatt] = trim($tmpvalue); | ||||
} | } | ||||
//print_r($this->cAttributes->Items); | |||||
} //end func | |||||
} | |||||
} | } | ||||
?> | ?> |
@@ -190,7 +190,7 @@ class DedeTemplate | |||||
$this->__construct($templatedir, $refDir); | $this->__construct($templatedir, $refDir); | ||||
} | } | ||||
/** | /** | ||||
* 设定本类自身实例的类引用和使用本类的类实例(如果在类中使用本模板引擎,后一参数一般为$this) | |||||
* 设定本类自身实例的类引用和使用本类的类实例,如果在类中使用本模板引擎,后一参数一般为$this | |||||
* | * | ||||
* @access public | * @access public | ||||
* @param object $refObj 实例对象 | * @param object $refObj 实例对象 | ||||
@@ -1032,7 +1032,7 @@ class TagAttribute | |||||
{ | { | ||||
return $this->count + 1; | return $this->count + 1; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
/** | /** | ||||
* 属性解析器 | * 属性解析器 | ||||
* function C__TagAttributeParse(); | * function C__TagAttributeParse(); | ||||
@@ -1158,14 +1158,14 @@ class TagAttributeParse | |||||
$tmpvalue .= $d; | $tmpvalue .= $d; | ||||
} | } | ||||
} | } | ||||
} //for | |||||
} | |||||
//最后一个属性的给值 | //最后一个属性的给值 | ||||
if ($tmpatt != '') { | if ($tmpatt != '') { | ||||
$this->cAttributes->count++; | $this->cAttributes->count++; | ||||
$this->cAttributes->items[$tmpatt] = trim($tmpvalue); | $this->cAttributes->items[$tmpatt] = trim($tmpvalue); | ||||
} //print_r($this->cAttributes->items); | } //print_r($this->cAttributes->items); | ||||
} //end func | |||||
} //End Class | |||||
} | |||||
} | |||||
/** | /** | ||||
* 私有标签编译,主要用于if标签内的字符串解析 | * 私有标签编译,主要用于if标签内的字符串解析 | ||||
* | * | ||||
@@ -237,5 +237,5 @@ class DedeVote | |||||
$res .= "</table>\r\n"; | $res .= "</table>\r\n"; | ||||
return $res; | return $res; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -104,5 +104,5 @@ class diyform | |||||
} | } | ||||
return $fields; | return $fields; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -142,7 +142,7 @@ if (!function_exists('GetTypeUrl')) { | |||||
if ($isdefault == -1) { | if ($isdefault == -1) { | ||||
if ($cfg_rewrite == 'Y') { | if ($cfg_rewrite == 'Y') { | ||||
//开启伪静态栏目/list-1、/list-2,则分页/list-1-1、/list-1-2 | //开启伪静态栏目/list-1、/list-2,则分页/list-1-1、/list-1-2 | ||||
$reurl = $GLOBALS['cfg_cmspath']."/list-".$typeid.""; | |||||
$reurl = $GLOBALS['cfg_cmspath']."/list-".$typeid; | |||||
} else { | } else { | ||||
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid; | $reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid; | ||||
} | } | ||||
@@ -84,8 +84,8 @@ if (!function_exists('WaterImg')) { | |||||
} | } | ||||
$info = ''; | $info = ''; | ||||
$srcInfo = @getimagesize($srcFile, $info); | $srcInfo = @getimagesize($srcFile, $info); | ||||
$srcFile_w = $srcInfo[0]; | |||||
$srcFile_h = $srcInfo[1]; | |||||
$srcFile_w = $srcInfo[0]; | |||||
$srcFile_h = $srcInfo[1]; | |||||
if ($srcFile_w < $photo_wwidth || $srcFile_h < $photo_wheight) { | if ($srcFile_w < $photo_wwidth || $srcFile_h < $photo_wheight) { | ||||
return; | return; | ||||
} | } | ||||
@@ -112,8 +112,8 @@ if (!function_exists('WaterImg')) { | |||||
} | } | ||||
$cfg_watermarktext['text'] = $photo_watertext; | $cfg_watermarktext['text'] = $photo_watertext; | ||||
$cfg_watermarktext['size'] = $photo_fontsize; | $cfg_watermarktext['size'] = $photo_fontsize; | ||||
$cfg_watermarktext['color'] = $photo_fontcolor; | |||||
$cfg_watermarktext['angle'] = '0'; | $cfg_watermarktext['angle'] = '0'; | ||||
$cfg_watermarktext['color'] = '255,255,255'; | |||||
$cfg_watermarktext['shadowx'] = '0'; | $cfg_watermarktext['shadowx'] = '0'; | ||||
$cfg_watermarktext['shadowy'] = '0'; | $cfg_watermarktext['shadowy'] = '0'; | ||||
$cfg_watermarktext['shadowcolor'] = '0,0,0'; | $cfg_watermarktext['shadowcolor'] = '0,0,0'; | ||||
@@ -123,7 +123,7 @@ if (!function_exists('WaterImg')) { | |||||
} | } | ||||
} | } | ||||
/** | /** | ||||
* 会对空白地方填充满 | |||||
* 对空白地方填充满 | |||||
* | * | ||||
* @access public | * @access public | ||||
* @param string $srcFile 图片路径 | * @param string $srcFile 图片路径 | ||||
@@ -138,7 +138,7 @@ if (!function_exists('ImageResizeNew')) { | |||||
{ | { | ||||
try { | try { | ||||
$image = new ImageResize($srcFile); | $image = new ImageResize($srcFile); | ||||
$image->resize($toW, $toH); | |||||
$image->resizeToBestFit($toW, $toH); | |||||
if ($issave) { | if ($issave) { | ||||
$image->save($toFile); | $image->save($toFile); | ||||
} else { | } else { | ||||
@@ -14,7 +14,7 @@ helper('image'); | |||||
//检测会员系统支持的图片格式 | //检测会员系统支持的图片格式 | ||||
global $cfg_photo_type, $cfg_photo_typenames, $cfg_photo_support; | global $cfg_photo_type, $cfg_photo_typenames, $cfg_photo_support; | ||||
$cfg_photo_type['gif'] = FALSE; | $cfg_photo_type['gif'] = FALSE; | ||||
$cfg_photo_type['jpeg'] = FALSE; | |||||
$cfg_photo_type['jpg'] = FALSE; | |||||
$cfg_photo_type['png'] = FALSE; | $cfg_photo_type['png'] = FALSE; | ||||
$cfg_photo_type['wbmp'] = FALSE; | $cfg_photo_type['wbmp'] = FALSE; | ||||
$cfg_photo_type['bmp'] = FALSE; | $cfg_photo_type['bmp'] = FALSE; | ||||
@@ -59,12 +59,12 @@ function SpGetPinyin($str, $ishead = 0, $isclose = 1) | |||||
$restr .= $pinyins[$c][0]; | $restr .= $pinyins[$c][0]; | ||||
} | } | ||||
} else { | } else { | ||||
$restr .= "_"; | |||||
$restr .= "-"; | |||||
} | } | ||||
} else if (preg_match("/[a-z0-9]/i", $str[$i])) { | } else if (preg_match("/[a-z0-9]/i", $str[$i])) { | ||||
$restr .= $str[$i]; | $restr .= $str[$i]; | ||||
} else { | } else { | ||||
$restr .= "_"; | |||||
$restr .= "-"; | |||||
} | } | ||||
} | } | ||||
if ($isclose == 0) { | if ($isclose == 0) { | ||||
@@ -627,5 +627,5 @@ class DedeHttpDown | |||||
$okurl = preg_replace("/\/{1,}/", "/", $okurl); | $okurl = preg_replace("/\/{1,}/", "/", $okurl); | ||||
return $proto.$okurl; | return $proto.$okurl; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -258,5 +258,5 @@ class smtp | |||||
echo $message; | echo $message; | ||||
} | } | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -216,7 +216,7 @@ class OxWindow | |||||
$ctp->Display(); | $ctp->Display(); | ||||
$ctp->Clear(); | $ctp->Clear(); | ||||
} | } | ||||
}//End Class | |||||
} | |||||
/** | /** | ||||
* 显示一个不带表单的普通提示 | * 显示一个不带表单的普通提示 | ||||
* | * | ||||
@@ -466,9 +466,9 @@ class SplitWord | |||||
$this->simpleResult[$s]['t'] = 5; | $this->simpleResult[$s]['t'] = 5; | ||||
$s++; | $s++; | ||||
} | } | ||||
}//2byte symbol | |||||
}//end 2byte char | |||||
}//end for | |||||
} | |||||
} | |||||
} | |||||
//处理分词后的结果 | //处理分词后的结果 | ||||
$this->_sort_finally_result(); | $this->_sort_finally_result(); | ||||
} | } | ||||
@@ -782,7 +782,7 @@ class SplitWord | |||||
} | } | ||||
$j++; | $j++; | ||||
} | } | ||||
}//end for | |||||
} | |||||
$smarr = $newarr; | $smarr = $newarr; | ||||
} | } | ||||
/** | /** | ||||
@@ -559,5 +559,5 @@ class MemberLogin | |||||
} | } | ||||
return $result; | return $result; | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -31,8 +31,8 @@ function lib_arclist(&$ctag, &$refObj) | |||||
} else { | } else { | ||||
$tagid = $ctag->GetAtt('tagid'); | $tagid = $ctag->GetAtt('tagid'); | ||||
} | } | ||||
//arclist是否需要weight排序,默认为"N",如果需要排序则设置为"Y" | |||||
$isweight = $ctag->GetAtt('isweight'); | |||||
//arclist是否需要weight排序,默认为N,如果需要排序则设置为Y | |||||
$weight = $ctag->GetAtt('weight'); | |||||
if ($tagname == 'imglist' || $tagname == 'imginfolist') { | if ($tagname == 'imglist' || $tagname == 'imginfolist') { | ||||
$listtype = 'image'; | $listtype = 'image'; | ||||
} else if ($tagname == 'specart') { | } else if ($tagname == 'specart') { | ||||
@@ -234,10 +234,12 @@ function lib_arclistDone (&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlele | |||||
$ordersql = ''; | $ordersql = ''; | ||||
if ($orderby == 'hot' || $orderby == 'click') $ordersql = " ORDER BY arc.click $orderWay"; | if ($orderby == 'hot' || $orderby == 'click') $ordersql = " ORDER BY arc.click $orderWay"; | ||||
else if ($orderby == 'sortrank' || $orderby == 'pubdate') $ordersql = " ORDER BY arc.sortrank $orderWay"; | else if ($orderby == 'sortrank' || $orderby == 'pubdate') $ordersql = " ORDER BY arc.sortrank $orderWay"; | ||||
else if ($orderby == 'senddate') $ordersql = " ORDER BY arc.senddate $orderWay"; | |||||
else if ($orderby == 'id') $ordersql = " ORDER BY arc.id $orderWay"; | else if ($orderby == 'id') $ordersql = " ORDER BY arc.id $orderWay"; | ||||
else if ($orderby == 'near') $ordersql = " ORDER BY ABS(arc.id - ".$arcid.")"; | else if ($orderby == 'near') $ordersql = " ORDER BY ABS(arc.id - ".$arcid.")"; | ||||
else if ($orderby == 'lastpost') $ordersql = " ORDER BY arc.lastpost $orderWay"; | else if ($orderby == 'lastpost') $ordersql = " ORDER BY arc.lastpost $orderWay"; | ||||
else if ($orderby == 'scores') $ordersql = " ORDER BY arc.scores $orderWay"; | else if ($orderby == 'scores') $ordersql = " ORDER BY arc.scores $orderWay"; | ||||
else if ($orderby == 'weight') $ordersql = " ORDER by arc.weight $orderWay"; | |||||
//添加按好评数和差评数调用 | //添加按好评数和差评数调用 | ||||
else if ($orderby == 'goodpost') $ordersql = " ORDER BY arc.goodpost $orderWay"; | else if ($orderby == 'goodpost') $ordersql = " ORDER BY arc.goodpost $orderWay"; | ||||
else if ($orderby == 'badpost') $ordersql = " ORDER BY arc.badpost $orderWay"; | else if ($orderby == 'badpost') $ordersql = " ORDER BY arc.badpost $orderWay"; | ||||
@@ -346,7 +348,7 @@ function lib_arclistDone (&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlele | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
if (!preg_match("#^(http|https):\/\/#i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
} | } | ||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
@@ -180,7 +180,7 @@ function lib_arclistsg(&$ctag, &$refObj) | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
if (!preg_match("#^(http|https):\/\/#i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
} | } | ||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
@@ -91,10 +91,13 @@ function lib_channel(&$ctag, &$refObj) | |||||
$row['typelink'] = GetOneTypeUrlA($row); | $row['typelink'] = GetOneTypeUrlA($row); | ||||
$linkOkstr = str_replace("~rel~", $row['rel'], $linkOkstr); | $linkOkstr = str_replace("~rel~", $row['rel'], $linkOkstr); | ||||
$linkOkstr = str_replace("~id~", $row['id'], $linkOkstr); | $linkOkstr = str_replace("~id~", $row['id'], $linkOkstr); | ||||
$linkOkstr = str_replace("~typename~", $row['typename'], $linkOkstr); | |||||
$linkOkstr = str_replace("~cnoverview~", $row['cnoverview'], $linkOkstr); | |||||
$linkOkstr = str_replace("~enname~", $row['enname'], $linkOkstr); | |||||
$linkOkstr = str_replace("~enoverview~", $row['enoverview'], $linkOkstr); | |||||
$linkOkstr = str_replace("~typelink~", $row['typelink'], $linkOkstr); | |||||
$linkOkstr = str_replace("~bigpic~", $row['bigpic'], $linkOkstr); | $linkOkstr = str_replace("~bigpic~", $row['bigpic'], $linkOkstr); | ||||
$linkOkstr = str_replace("~litimg~", $row['litimg'], $linkOkstr); | $linkOkstr = str_replace("~litimg~", $row['litimg'], $linkOkstr); | ||||
$linkOkstr = str_replace("~typelink~", $row['typelink'], $linkOkstr); | |||||
$linkOkstr = str_replace("~typename~", $row['typename'], $linkOkstr); | |||||
$likeType .= $linkOkstr; | $likeType .= $linkOkstr; | ||||
} else { | } else { | ||||
$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); | $row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); | ||||
@@ -124,7 +124,7 @@ function lib_likearticle(&$ctag, &$refObj) | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
if (!preg_match("#^(http|https):\/\/#i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
} | } | ||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
@@ -110,7 +110,7 @@ function lib_relation(&$ctag, &$refObj) | |||||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | if ($row['litpic'] == '-' || $row['litpic'] == '') { | ||||
$row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | $row['litpic'] = $GLOBALS['cfg_cmspath'].'/static/web/img/thumbnail.jpg'; | ||||
} | } | ||||
if (!preg_match("#^(http|https):\/\/#i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
if (!preg_match("/^(http|https):\/\//i", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y') { | |||||
$row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic']; | ||||
} | } | ||||
$row['picname'] = $row['litpic']; | $row['picname'] = $row['litpic']; | ||||
@@ -55,7 +55,7 @@ function lib_tag(&$ctag, &$refObj) | |||||
if (isset($envs['makeTag']) && $envs['makeTag'] == 1 || $ishtml == 1) { | if (isset($envs['makeTag']) && $envs['makeTag'] == 1 || $ishtml == 1) { | ||||
$row['link'] = $cfg_cmsurl.$tagsdir."/".$row['id']."/"; | $row['link'] = $cfg_cmsurl.$tagsdir."/".$row['id']."/"; | ||||
} else { | } else { | ||||
$row['link'] = $cfg_cmsurl."/apps/tags.php?/".$row['id']."/"; | |||||
$row['link'] = $cfg_cmsurl."/apps/tags.php?/".$row['id']; | |||||
} | } | ||||
$row['highlight'] = mt_rand(1, 10); | $row['highlight'] = mt_rand(1, 10); | ||||
foreach ($ctp->CTags as $tagid => $ctag) { | foreach ($ctp->CTags as $tagid => $ctag) { | ||||
@@ -332,19 +332,19 @@ class TypeLink | |||||
$likeType .= "</td>\r\n"; | $likeType .= "</td>\r\n"; | ||||
} | } | ||||
$GLOBALS['autoindex']++; | $GLOBALS['autoindex']++; | ||||
}//Loop Col | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$i += $col - 1; | $i += $col - 1; | ||||
} | } | ||||
if ($col > 1) { | if ($col > 1) { | ||||
$likeType .= "</tr>\r\n"; | $likeType .= "</tr>\r\n"; | ||||
} | } | ||||
}//Loop for $i | |||||
} | |||||
if ($col > 1) { | if ($col > 1) { | ||||
$likeType .= "</table>\r\n"; | $likeType .= "</table>\r\n"; | ||||
} | } | ||||
$this->dsql->FreeResult(); | $this->dsql->FreeResult(); | ||||
return $likeType; | return $likeType; | ||||
}//GetChannel | |||||
}//End Class | |||||
} | |||||
} | |||||
?> | ?> |
@@ -114,9 +114,9 @@ echo <<<tpl | |||||
<span class='btn btn-light btn-sm'><i id='icon{$id}' onclick="LoadSuns('suns{$id}',{$id});" class='fa fa-plus-square'></i></span> | <span class='btn btn-light btn-sm'><i id='icon{$id}' onclick="LoadSuns('suns{$id}',{$id});" class='fa fa-plus-square'></i></span> | ||||
<span class='btn btn-success btn-sm'>列表</span> | <span class='btn btn-success btn-sm'>列表</span> | ||||
{$nss} | {$nss} | ||||
<a href='catalog_edit.php?id={$id}' class='btn btn-sm'>id:{$id}</a> | |||||
<a href='catalog_do.php?cid={$id}&dopost=listArchives' class='btn btn-sm'>{$typeName}</a> | |||||
<span class='btn btn-sm'>文档数:{$this->GetTotalArc($id)}</span> | |||||
<span class='btn btn-sm'>id:{$id}</span> | |||||
<a href='catalog_edit.php?id={$id}' class='btn btn-sm'>{$typeName}</a> | |||||
<a href='catalog_do.php?cid={$id}&dopost=listArchives' class='btn btn-sm'>文档数:{$this->GetTotalArc($id)}</a> | |||||
</div> | </div> | ||||
<div class='right'> | <div class='right'> | ||||
<a href='{$GLOBALS['cfg_phpurl']}/list.php?tid={$id}' target='_blank' class='btn btn-light btn-sm'><i class='fa fa-eye' title='预览'></i></a> | <a href='{$GLOBALS['cfg_phpurl']}/list.php?tid={$id}' target='_blank' class='btn btn-light btn-sm'><i class='fa fa-eye' title='预览'></i></a> | ||||
@@ -225,9 +225,9 @@ echo <<<tpl | |||||
<span class='btn btn-light btn-sm'><i id='icon{$id}' onclick="LoadSuns('suns{$id}',{$id});" class='fa fa-plus-square'></i></span> | <span class='btn btn-light btn-sm'><i id='icon{$id}' onclick="LoadSuns('suns{$id}',{$id});" class='fa fa-plus-square'></i></span> | ||||
<span class='btn btn-success btn-sm'>列表</span> | <span class='btn btn-success btn-sm'>列表</span> | ||||
{$nss} | {$nss} | ||||
<a href='catalog_edit.php?id={$id}' class='btn btn-sm'>id:{$id}</a> | |||||
<a href='catalog_do.php?cid={$id}&dopost=listArchives' class='btn btn-sm'>{$typeName}</a> | |||||
<span class='btn btn-sm'>文档数:{$this->GetTotalArc($id)}</span> | |||||
<span class='btn btn-sm'>id:{$id}</span> | |||||
<a href='catalog_edit.php?id={$id}' class='btn btn-sm'>{$typeName}</a> | |||||
<a href='catalog_do.php?cid={$id}&dopost=listArchives' class='btn btn-sm'>文档数:{$this->GetTotalArc($id)}</a> | |||||
</div> | </div> | ||||
<div class='right'> | <div class='right'> | ||||
<a href='{$GLOBALS['cfg_phpurl']}/list.php?tid={$id}' target='_blank' class='btn btn-light btn-sm'><i class='fa fa-eye' title='预览'></i></a> | <a href='{$GLOBALS['cfg_phpurl']}/list.php?tid={$id}' target='_blank' class='btn btn-light btn-sm'><i class='fa fa-eye' title='预览'></i></a> | ||||
@@ -405,5 +405,5 @@ tpl; | |||||
$dh->close(); | $dh->close(); | ||||
return (1); | return (1); | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -164,5 +164,5 @@ class TypeUnit | |||||
} | } | ||||
} | } | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -127,5 +127,5 @@ class TypeUnitSelector | |||||
} | } | ||||
} | } | ||||
} | } | ||||
}//End Class | |||||
} | |||||
?> | ?> |
@@ -57,7 +57,7 @@ foreach ($_FILES as $_key => $_value) { | |||||
if (empty(${$_key.'_size'})) { | if (empty(${$_key.'_size'})) { | ||||
${$_key.'_size'} = @filesize($$_key); | ${$_key.'_size'} = @filesize($$_key); | ||||
} | } | ||||
$imtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/bmp"); | |||||
$imgtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/webp"); | |||||
if (is_array(${$_key.'_type'}) && count(${$_key.'_type'}) > 0) { | if (is_array(${$_key.'_type'}) && count(${$_key.'_type'}) > 0) { | ||||
foreach (${$_key.'_type'} as $key => $value) { | foreach (${$_key.'_type'} as $key => $value) { | ||||
if (in_array(strtolower(trim($value)), $imtypes)) { | if (in_array(strtolower(trim($value)), $imtypes)) { | ||||
@@ -70,9 +70,7 @@ foreach ($_FILES as $_key => $_value) { | |||||
exit; | exit; | ||||
} | } | ||||
} | } | ||||
$imtypes = array( | |||||
"image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/bmp" | |||||
); | |||||
$imgtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/webp"); | |||||
if (in_array(strtolower(trim($value)), $imtypes)) { | if (in_array(strtolower(trim($value)), $imtypes)) { | ||||
$image_dd = @getimagesize($$_key); | $image_dd = @getimagesize($$_key); | ||||
if ($image_dd == false) { | if ($image_dd == false) { | ||||
@@ -95,9 +93,7 @@ foreach ($_FILES as $_key => $_value) { | |||||
exit; | exit; | ||||
} | } | ||||
} | } | ||||
$imtypes = array( | |||||
"image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/bmp" | |||||
); | |||||
$imgtypes = array("image/pjpeg", "image/jpeg", "image/gif", "image/png", "image/xpng", "image/wbmp", "image/webp"); | |||||
if (in_array(strtolower(trim(${$_key.'_type'})), $imtypes)) { | if (in_array(strtolower(trim(${$_key.'_type'})), $imtypes)) { | ||||
$image_dd = @getimagesize($$_key); | $image_dd = @getimagesize($$_key); | ||||
if ($image_dd == false) { | if ($image_dd == false) { | ||||
@@ -28,14 +28,17 @@ | |||||
<h1>{dede:field.title/}</h1> | <h1>{dede:field.title/}</h1> | ||||
</div> | </div> | ||||
<div class="meta py-3"> | <div class="meta py-3"> | ||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-1">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-1"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-1"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-1"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-1"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-2">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-2"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-2"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-2"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-2"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
</div> | </div> | ||||
<div class="column py-3">{dede:pagetitle/}</div> | <div class="column py-3">{dede:pagetitle/}</div> | ||||
<div class="body py-3">{dede:field.body/}</div> | |||||
<div class="body py-3"> | |||||
{dede:field.body/} | |||||
<p>文档于 {dede:field.senddate function="MyDate('Y-m-d H:i',@me)"/} 修改</p> | |||||
</div> | |||||
<div class="edit py-3">责任编辑:{dede:adminname/}</div> | <div class="edit py-3">责任编辑:{dede:adminname/}</div> | ||||
<nav class="column-page py-3"> | <nav class="column-page py-3"> | ||||
<ul class="pagination justify-content-center">{dede:pagebreak/}</ul> | <ul class="pagination justify-content-center">{dede:pagebreak/}</ul> | ||||
@@ -27,11 +27,11 @@ | |||||
<h1>{dede:field.title/}</h1> | <h1>{dede:field.title/}</h1> | ||||
</div> | </div> | ||||
<div class="meta py-3"> | <div class="meta py-3"> | ||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-1">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-1"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-1"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-1"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-1"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-2">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-2"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-2"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-2"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-2"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
</div> | </div> | ||||
<div class="alert alert-warning my-3">您会看到这个提示,因为某个栏目无法应用模板或您的模型没对应模板,不同模型的文档浏览页的模板为:article_模型名字标识.htm更多的信息,您可以在栏目修改查看</div> | <div class="alert alert-warning my-3">您会看到这个提示,因为某个栏目无法应用模板或您的模型没对应模板,不同模型的文档浏览页的模板为:article_模型名字标识.htm更多的信息,您可以在栏目修改查看</div> | ||||
{dede:fieldlist} | {dede:fieldlist} | ||||
@@ -46,7 +46,10 @@ | |||||
</tr> | </tr> | ||||
</table> | </table> | ||||
{/dede:fieldlist} | {/dede:fieldlist} | ||||
<div class="body py-3">{dede:field.body/}</div> | |||||
<div class="body py-3"> | |||||
{dede:field.body/} | |||||
<p>文档于 {dede:field.senddate function="MyDate('Y-m-d H:i',@me)"/} 修改</p> | |||||
</div> | |||||
<div class="edit py-3">责任编辑:{dede:adminname/}</div> | <div class="edit py-3">责任编辑:{dede:adminname/}</div> | ||||
<div class="page py-3 row"> | <div class="page py-3 row"> | ||||
<div class="col-md-4 prenext"> | <div class="col-md-4 prenext"> | ||||
@@ -28,11 +28,11 @@ | |||||
<h1>{dede:field.title/}</h1> | <h1>{dede:field.title/}</h1> | ||||
</div> | </div> | ||||
<div class="meta py-3"> | <div class="meta py-3"> | ||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-1">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-1"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-1"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-1"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-1"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-2">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-2"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-2"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-2"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-2"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
</div> | </div> | ||||
<div class="alert alert-warning my-3">您会看到这个提示,因为某个栏目无法应用模板或您的模型没对应模板,不同模型的文档浏览页的模板为:article_模型名字标识.htm更多的信息,您可以在栏目修改查看</div> | <div class="alert alert-warning my-3">您会看到这个提示,因为某个栏目无法应用模板或您的模型没对应模板,不同模型的文档浏览页的模板为:article_模型名字标识.htm更多的信息,您可以在栏目修改查看</div> | ||||
{dede:fieldlist} | {dede:fieldlist} | ||||
@@ -47,7 +47,10 @@ | |||||
</tr> | </tr> | ||||
</table> | </table> | ||||
{/dede:fieldlist} | {/dede:fieldlist} | ||||
<div class="body py-3">{dede:field.body/}</div> | |||||
<div class="body py-3"> | |||||
{dede:field.body/} | |||||
<p>文档于 {dede:field.senddate function="MyDate('Y-m-d H:i',@me)"/} 修改</p> | |||||
</div> | |||||
<div class="edit py-3">责任编辑:{dede:adminname/}</div> | <div class="edit py-3">责任编辑:{dede:adminname/}</div> | ||||
<div class="page py-3 row"> | <div class="page py-3 row"> | ||||
<div class="col-md-4 prenext"> | <div class="col-md-4 prenext"> | ||||
@@ -75,11 +75,11 @@ | |||||
<h1>{dede:field.title/}</h1> | <h1>{dede:field.title/}</h1> | ||||
</div> | </div> | ||||
<div class="meta py-3"> | <div class="meta py-3"> | ||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-1">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-1"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-1"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-1"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-1"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-2">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-2"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-2"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-2"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-2"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
</div> | </div> | ||||
<div class="picbox py-3"> | <div class="picbox py-3"> | ||||
{dede:field name='pagestyle' alt='输出不同的图片头信息' runphp='yes'} | {dede:field name='pagestyle' alt='输出不同的图片头信息' runphp='yes'} | ||||
@@ -113,7 +113,10 @@ | |||||
} | } | ||||
{/dede:field} | {/dede:field} | ||||
</div> | </div> | ||||
<div class="body py-3">{dede:field.body/}</div> | |||||
<div class="body py-3"> | |||||
{dede:field.body/} | |||||
<p>图集于 {dede:field.senddate function="MyDate('Y-m-d H:i',@me)"/} 修改</p> | |||||
</div> | |||||
<div class="edit py-3">责任编辑:{dede:adminname/}</div> | <div class="edit py-3">责任编辑:{dede:adminname/}</div> | ||||
<div class="page py-3 row"> | <div class="page py-3 row"> | ||||
<div class="col-md-4 prenext"> | <div class="col-md-4 prenext"> | ||||
@@ -27,11 +27,11 @@ | |||||
<h1>{dede:field.title/}</h1> | <h1>{dede:field.title/}</h1> | ||||
</div> | </div> | ||||
<div class="meta py-3"> | <div class="meta py-3"> | ||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-1">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-1"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-1"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-1"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-1"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-2">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-2"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-2"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-2"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-2"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
</div> | </div> | ||||
<div class="img py-3">{dede:field name='image'/}</div> | <div class="img py-3">{dede:field name='image'/}</div> | ||||
<div class="info py-3"> | <div class="info py-3"> | ||||
@@ -44,7 +44,10 @@ | |||||
<p>邮箱:{dede:field.email/}</p> | <p>邮箱:{dede:field.email/}</p> | ||||
<p>地址:{dede:field.address/}</p> | <p>地址:{dede:field.address/}</p> | ||||
</div> | </div> | ||||
<div class="body py-3">{dede:field.body/}</div> | |||||
<div class="body py-3"> | |||||
{dede:field.body/} | |||||
<p>信息于 {dede:field.senddate function="MyDate('Y-m-d H:i',@me)"/} 修改</p> | |||||
</div> | |||||
<div class="edit py-3">责任编辑:{dede:adminname/}</div> | <div class="edit py-3">责任编辑:{dede:adminname/}</div> | ||||
<nav class="column-page py-3"> | <nav class="column-page py-3"> | ||||
<ul class="pagination justify-content-center">{dede:pagebreak/}</ul> | <ul class="pagination justify-content-center">{dede:pagebreak/}</ul> | ||||
@@ -27,11 +27,11 @@ | |||||
<h1>{dede:field.title/}</h1> | <h1>{dede:field.title/}</h1> | ||||
</div> | </div> | ||||
<div class="meta py-3"> | <div class="meta py-3"> | ||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-1">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-1"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-1"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-1"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-1"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-2">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-2"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-2"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-2"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-2"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
</div> | </div> | ||||
<div class="img py-3">{dede:field.image/}</div> | <div class="img py-3">{dede:field.image/}</div> | ||||
<div class="info py-3"> | <div class="info py-3"> | ||||
@@ -47,7 +47,10 @@ | |||||
<p>演示网址:{dede:field.officialdemo/}</p> | <p>演示网址:{dede:field.officialdemo/}</p> | ||||
<p>下载次数:<script src="{dede:field.phpurl/}/disdls.php?aid={dede:field.id/}"></script></p> | <p>下载次数:<script src="{dede:field.phpurl/}/disdls.php?aid={dede:field.id/}"></script></p> | ||||
</div> | </div> | ||||
<div class="body py-3">{dede:field.introduce/}</div> | |||||
<div class="body py-3"> | |||||
{dede:field.introduce/} | |||||
<p>工具于 {dede:field.senddate function="MyDate('Y-m-d H:i',@me)"/} 修改</p> | |||||
</div> | |||||
<div class="download py-3"> | <div class="download py-3"> | ||||
<h4>下载地址</h4> | <h4>下载地址</h4> | ||||
<ul class="downurllist"> | <ul class="downurllist"> | ||||
@@ -27,14 +27,17 @@ | |||||
<h1>{dede:field.title/}</h1> | <h1>{dede:field.title/}</h1> | ||||
</div> | </div> | ||||
<div class="meta py-3"> | <div class="meta py-3"> | ||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-1">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-1"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-1"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-1"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-1"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
<a href="{dede:field.userurl/}"><span><img src="{dede:field.face/}" class="user-img-xs mr-2">{dede:field.uname/}</span></a> | |||||
<span><i class="fa fa-calendar mr-2"></i>{dede:field.pubdate function="MyDate('Y-m-d',@me)"/}</span> | |||||
<span><i class="fa fa-globe mr-2"></i>{dede:field.source/}</span> | |||||
<span><i class="fa fa-user mr-2"></i>{dede:field.writer/}</span> | |||||
<span><i class="fa fa-eye mr-2"></i><script src="{dede:global.cfg_phpurl/}/count.php?view=yes&aid={dede:field.id/}&mid={dede:field name='mid'/}"></script>次</span> | |||||
</div> | </div> | ||||
<div class="speciallist row py-3">{dede:field.note/}</div> | <div class="speciallist row py-3">{dede:field.note/}</div> | ||||
<div class="body py-3">{dede:field.body/}</div> | |||||
<div class="body py-3"> | |||||
{dede:field.body/} | |||||
<p>专题于 {dede:field.senddate function="MyDate('Y-m-d H:i',@me)"/} 修改</p> | |||||
</div> | |||||
<div class="edit py-3">责任编辑:{dede:adminname/}</div> | <div class="edit py-3">责任编辑:{dede:adminname/}</div> | ||||
<div class="alert alert-success my-3">{dede:softmsg/}</div> | <div class="alert alert-success my-3">{dede:softmsg/}</div> | ||||
</article> | </article> | ||||
@@ -14,7 +14,7 @@ | |||||
<script> | <script> | ||||
$.get("{dede:global.cfg_memberurl/}/api.php?format=json",function(result) { | $.get("{dede:global.cfg_memberurl/}/api.php?format=json",function(result) { | ||||
if (result.code === 200) { | if (result.code === 200) { | ||||
$("#loginTop").html(`<a href="{dede:global.cfg_memberurl/}/" class="mr-3"><img src="${result.data.facepic}" alt="${result.data.username}" title="${result.data.username}" class="user-img-xs mr-1">${result.data.username}</a><a href="{dede:global.cfg_memberurl/}/pm.php" class="btn btn-primary btn-sm rounded-circle"><i class="fa fa-bell"></i></a><a href="{dede:global.cfg_memberurl/}/index_do.php?fmdo=login&dopost=exit" class="btn btn-success btn-sm rounded-circle"><i class="fa fa-sign-out"></i></a>`); | |||||
$("#loginTop").html(`<a href="{dede:global.cfg_memberurl/}/" class="mr-3"><img src="${result.data.facepic}" alt="${result.data.username}" title="${result.data.username}" class="user-img-xs mr-2">${result.data.username}</a><a href="{dede:global.cfg_memberurl/}/pm.php" class="btn btn-primary btn-sm rounded-circle"><i class="fa fa-bell"></i></a><a href="{dede:global.cfg_memberurl/}/index_do.php?fmdo=login&dopost=exit" class="btn btn-success btn-sm rounded-circle"><i class="fa fa-sign-out"></i></a>`); | |||||
$("#loginWin").html(`<div class="form-group"><p><img src="${result.data.facepic}" alt="${result.data.username}" title="${result.data.username}" class="user-img-md"></p><h2>${result.data.username}</h2></div><div class="form-group"><a href="{dede:global.cfg_memberurl/}/pm.php" class="btn btn-success btn-sm btn-block">消息</a></div><div class="form-group mb-0"><a href="{dede:global.cfg_memberurl/}/index_do.php?fmdo=login&dopost=exit" class="btn btn-success btn-sm btn-block">退出</a></div>`); | $("#loginWin").html(`<div class="form-group"><p><img src="${result.data.facepic}" alt="${result.data.username}" title="${result.data.username}" class="user-img-md"></p><h2>${result.data.username}</h2></div><div class="form-group"><a href="{dede:global.cfg_memberurl/}/pm.php" class="btn btn-success btn-sm btn-block">消息</a></div><div class="form-group mb-0"><a href="{dede:global.cfg_memberurl/}/index_do.php?fmdo=login&dopost=exit" class="btn btn-success btn-sm btn-block">退出</a></div>`); | ||||
$("#iptUsername").val(result.data.username); | $("#iptUsername").val(result.data.username); | ||||
$("#iptUsername").attr("disabled", "disabled"); | $("#iptUsername").attr("disabled", "disabled"); | ||||