@@ -3,6 +3,12 @@ | |||
# V6.5.0 | |||
- 增加AI助手,可自动化构建站点内容; | |||
- 优化tag动态和静态生成; | |||
- 优化搜索词和tag标签管理; | |||
- 调整文档发布和修改时间; | |||
- 调整支付配置布局; | |||
- 优化后台提示文字; | |||
- 优化php8.4部分兼容问题; | |||
# V6.3.2 | |||
- 重做后台管理,手机端更好访问后台; | |||
@@ -83,6 +83,7 @@ if ($dopost != 'save') { | |||
} | |||
//对保存的文档进行处理 | |||
$pubdate = GetMkTime($pubdate); | |||
$senddate = GetMkTime($senddate); | |||
$sortrank = AddDay($pubdate, $sortup); | |||
$ismake = $ishtml == 0 ? -1 : 0; | |||
$title = cn_substrR($title, $cfg_title_maxlen); | |||
@@ -117,7 +118,7 @@ if ($dopost != 'save') { | |||
if (preg_match("#j#", $flag)) $ismake = -1; | |||
//更新数据库的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',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)) { | |||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段".$dsql->GetError(), "javascript:;"); | |||
exit(); | |||
@@ -69,6 +69,7 @@ if ($dopost != 'save') { | |||
} | |||
//对保存的文档进行处理 | |||
$pubdate = GetMkTime($pubdate); | |||
$senddate = GetMkTime($senddate); | |||
$sortrank = AddDay($pubdate, $sortup); | |||
$ismake = $ishtml == 0 ? -1 : 0; | |||
$title = cn_substrR($title, $cfg_title_maxlen); | |||
@@ -122,7 +123,7 @@ if ($dopost != 'save') { | |||
//跳转网址的文档强制为动态 | |||
if (preg_match("#j#", $flag)) $ismake = -1; | |||
//更新数据库的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)) { | |||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | |||
exit(); | |||
@@ -72,6 +72,7 @@ if ($dopost != 'save') { | |||
} | |||
//对保存的文档进行处理 | |||
$pubdate = GetMkTime($pubdate); | |||
$senddate = GetMkTime($senddate); | |||
$sortrank = AddDay($pubdate, $sortup); | |||
$ismake = $ishtml == 0 ? -1 : 0; | |||
$autokey = 1; | |||
@@ -132,7 +133,7 @@ if ($dopost != 'save') { | |||
//跳转网址的文档强制为动态 | |||
if (preg_match("#j#", $flag)) $ismake = -1; | |||
//更新数据库的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)) { | |||
ShowMsg('数据保存到数据库文档主表出错,请检查数据库字段', -1); | |||
exit(); | |||
@@ -184,7 +184,7 @@ if ($dopost == 'quick') { | |||
} | |||
ShowMsg("成功创建一个栏目", "catalog_main.php"); | |||
exit(); | |||
}//End dopost==save | |||
} | |||
//获取从父目录继承的默认参数 | |||
if ($dopost == '') { | |||
$channelid = 1; | |||
@@ -30,7 +30,7 @@ if ($dopost == "save") { | |||
$uptopsql = " ,siteurl='$siteurl',sitepath='$sitepath',ishidden='$ishidden' "; | |||
} | |||
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)) { | |||
ShowMsg("保存栏目失败,请您检查栏目字段是否存在问题", "-1"); | |||
exit(); | |||
@@ -56,8 +56,7 @@ if ($dopost == "save") { | |||
UpDateCatCache(); | |||
ShowMsg("成功修改一个栏目", "catalog_main.php"); | |||
exit(); | |||
} //End Save Action | |||
else if ($dopost == "savetime") { | |||
} else if ($dopost == "savetime") { | |||
$uptopsql = ''; | |||
$slinks = " id IN (".GetSonIds($id).")"; | |||
//顶级栏目二级域名根目录处理 | |||
@@ -525,7 +525,7 @@ function AnalyseHtmlBody($body, &$description, &$litpic, &$keywords, $dtype = '' | |||
$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 = trim(preg_replace('/#p#|#e#/', '', $description)); | |||
$description = addslashes($description); | |||
@@ -535,7 +535,7 @@ function AnalyseHtmlBody($body, &$description, &$litpic, &$keywords, $dtype = '' | |||
$litpic = GetDDImgFromBody($body); | |||
} | |||
//自动获取关键词 | |||
if ($autokey == 1 && $keywords == '') { | |||
if ($autokey == 1) { | |||
$subject = $title; | |||
$message = $body; | |||
//采用DedeBIZ Core分词组件分词 | |||
@@ -57,7 +57,7 @@ function DelArc($aid, $type = 'ON', $onlyfile = FALSE, $recycle = 0) | |||
//$issystem==-1是自定义模型,不使用回收站 | |||
if ($issystem == -1) $type = 'OK'; | |||
if (!is_array($arcRow)) return FALSE; | |||
/** 删除到回收站 **/ | |||
//删除到回收站 | |||
if ($cfg_delete == 'Y' && $type == 'ON') { | |||
$dsql->ExecuteNoneQuery("UPDATE `$maintable` 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; | |||
} | |||
} | |||
}//End Function | |||
} | |||
?> |
@@ -15,7 +15,7 @@ if (empty($dopost)) $dopost = ''; | |||
if ($dopost == "upload") { | |||
CheckCSRF(); | |||
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"); | |||
$okdd = 0; | |||
$uptime = time(); | |||
@@ -14,7 +14,8 @@ DedeSetCookie("ENV_GOBACK_URL", $dedeNowurl, time() + 3600, "/"); | |||
require_once(DEDEINC.'/datalistcp.class.php'); | |||
if (empty($buyid)) $buyid = ''; | |||
$buyid = HtmlReplace($buyid , 1); | |||
$sta = HtmlReplace($sta , 1); | |||
$sta = ''; //初始化$sta变量,感谢:乖乖女 | |||
$sta = HtmlReplace($sta, 1); | |||
$addsql = " WHERE buyid LIKE '%$buyid%' "; | |||
if (!empty($sta)) $addsql .= " AND sta='$sta' "; | |||
$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'><a href=\"javascript:ReloadPage('aid');\">id</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'>关键词调整</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'>操作</td> | |||
</tr> | |||
@@ -87,10 +88,11 @@ function GetKeywordList($dsql, $pageno, $pagesize, $orderby = 'aid') | |||
<tr> | |||
<td><input name='aids[]' type='checkbox' value=\"{$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='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><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> | |||
<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 "<tr> | |||
<td colspan='8'> | |||
<td colspan='9'> | |||
<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:delall();\" class='btn btn-danger btn-sm'>删除</a> | |||
@@ -93,7 +93,7 @@ if ($dopost != 'save') { | |||
} | |||
//对保存的文档进行处理 | |||
$pubdate = GetMkTime($pubdate); | |||
$senddate = time(); | |||
$senddate = GetMkTime($senddate); | |||
$sortrank = AddDay($pubdate, $sortup); | |||
if ($ishtml == 0) { | |||
$ismake = -1; | |||
@@ -155,7 +155,7 @@ if ($dopost != 'save') { | |||
//跳转网址的文档强制为动态 | |||
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)) { | |||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | |||
exit(); | |||
@@ -49,6 +49,7 @@ if ($dopost != 'save') { | |||
if (!isset($autolitpic)) $autolitpic = 0; | |||
//对保存的文档进行处理 | |||
$pubdate = GetMkTime($pubdate); | |||
$senddate = GetMkTime($senddate); | |||
$sortrank = AddDay($pubdate, $sortup); | |||
if ($ishtml == 0) $ismake = -1; | |||
else $ismake = 0; | |||
@@ -101,7 +102,7 @@ if ($dopost != 'save') { | |||
if ($litpic != '' && !preg_match('#p#', $flag)) { | |||
$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)) { | |||
ShowMsg("数据保存到数据库文档主表出错,请检查数据库字段", "-1"); | |||
exit(); | |||
@@ -24,13 +24,15 @@ function RenderUrlType($t) { | |||
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)) : ''; | |||
if (empty($mobile)) $mobile = ''; | |||
if ($dopost == "delete") { | |||
if (isset($dopost) && $dopost == "delete") { | |||
$ids = explode('`',$aids); | |||
$dquery = ""; | |||
foreach ($ids as $id) | |||
@@ -23,7 +23,7 @@ | |||
<div class="container-fluid"> | |||
<ol class="breadcrumb"> | |||
<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> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
@@ -264,12 +264,21 @@ | |||
</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> | |||
<?php | |||
$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> | |||
</tr> | |||
<tr> | |||
<td>浏览次数</td> | |||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | |||
</tr> | |||
@@ -22,7 +22,7 @@ | |||
<div class="container-fluid"> | |||
<ol class="breadcrumb"> | |||
<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> | |||
</ol> | |||
<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> | |||
</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> | |||
<?php | |||
$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> | |||
</tr> | |||
<tr> | |||
<td>浏览次数</td> | |||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | |||
</tr> | |||
@@ -22,7 +22,7 @@ | |||
<div class="container-fluid"> | |||
<ol class="breadcrumb"> | |||
<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> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
@@ -204,7 +204,7 @@ | |||
<td> | |||
<?php | |||
$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> | |||
@@ -22,7 +22,7 @@ | |||
<div class="container-fluid"> | |||
<ol class="breadcrumb"> | |||
<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> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
@@ -195,13 +195,22 @@ | |||
<td><?php echo "<input type='hidden' name='templet' value='{$addRow['templet']}'>";?></td> | |||
</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> | |||
<?php | |||
$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> | |||
</tr> | |||
<tr> | |||
<td>浏览次数</td> | |||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | |||
</tr> | |||
@@ -228,7 +228,7 @@ | |||
<p>{page} 栏目页码数</p> | |||
<p>伪静态规则(Nginx)</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> | |||
</td> | |||
</tr> | |||
@@ -248,7 +248,7 @@ | |||
<p>{cc} 日期加混编id后用转换为适合字母</p> | |||
<p>伪静态规则(Nginx)</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> | |||
</td> | |||
<td>SEO标题</td> | |||
@@ -86,7 +86,7 @@ | |||
<p>{page} 栏目页码数</p> | |||
<p>伪静态规则(Nginx)</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> | |||
</td> | |||
</tr> | |||
@@ -106,7 +106,7 @@ | |||
<p>{cc} 日期加混编id后用转换为适合字母</p> | |||
<p>伪静态规则(Nginx)</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> | |||
</td> | |||
<td>默认页的名称</td> | |||
@@ -191,7 +191,7 @@ | |||
<a href="javascript:ShowHide('helpvar1');" class="btn btn-success btn-sm">说明</a> | |||
<div id="helpvar1" class="alert alert-secondary my-2" style="display:none"> | |||
<p>{tid} 栏目id</p> | |||
<span>{cid} 栏目模型名字id</span> | |||
<p>{cid} 栏目模型名字id</p> | |||
</div> | |||
</td> | |||
</tr> | |||
@@ -211,7 +211,7 @@ | |||
<p>{page} 栏目页码数</p> | |||
<p>伪静态规则(Nginx)</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> | |||
</td> | |||
</tr> | |||
@@ -231,7 +231,7 @@ | |||
<p>{cc} 日期加混编id后用转换为适合字母</p> | |||
<p>伪静态规则(Nginx)</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> | |||
</td> | |||
<td>SEO标题</td> | |||
@@ -287,32 +287,32 @@ | |||
<div class="modal-body"> | |||
<form> | |||
<div class="form-group"> | |||
<span>本功能主要用于移动客户端或第三方系统调用栏目数据进行展现。</span> | |||
<span>跨站调用功能用于同后台管理或其他网站之间调用栏目文档数据</span> | |||
</div> | |||
<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 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> | |||
<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> | |||
</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> | |||
</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> | |||
</div> | |||
</div> | |||
</div> | |||
<div class="form-group"> | |||
<label for="iptAPITag" class="pb-3">标签调用</label> | |||
<label for="iptAPITag" class="mb-3">标签示例</label> | |||
<pre><code id="codetag"></code></pre> | |||
</div> | |||
</form> | |||
@@ -55,7 +55,7 @@ | |||
<option value="scores">评论积分</option> | |||
<option value="lastpost">最后评论</option> | |||
</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> | |||
</form> | |||
</div> | |||
@@ -58,7 +58,7 @@ | |||
<option value="">选择属性</option> | |||
{dede:global.flagsArr/} | |||
</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> | |||
</form> | |||
</div> | |||
@@ -37,7 +37,7 @@ | |||
<option value="0">选择分类</option> | |||
<?php echo $optionarr?> | |||
</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> | |||
</form> | |||
</div> | |||
@@ -46,7 +46,7 @@ | |||
<option value="0">选择分类</option> | |||
{dede:global.optionarr/} | |||
</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> | |||
</form> | |||
</div> | |||
@@ -14,8 +14,7 @@ | |||
<body class="menu-show"> | |||
<header class="admin-head navbar navbar-expand navbar-dark"> | |||
<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) {?> | |||
<a href="index_body.php?dopost=safe_mode" target="main" class="btn btn-primary btn-xs">安全</a> | |||
<?php } else {?> | |||
@@ -75,17 +75,17 @@ | |||
<tbody> | |||
<tr> | |||
<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 width="16%"> | |||
<p>IP地址</p> | |||
<span><?php echo gethostbyname($_SERVER['SERVER_NAME']);?></span> | |||
</td> | |||
<td width="16%"> | |||
<p>系统服务器</p> | |||
<span><?php echo PHP_OS;?> / <?php echo GetSimpleServerSoftware();?></span> | |||
</td> | |||
<td width="16%"> | |||
<p>PHP版本</p> | |||
<span><?php echo @phpversion();?></span> | |||
@@ -12,10 +12,10 @@ | |||
<div class="container-fluid"> | |||
<ol class="breadcrumb"> | |||
<li class="breadcrumb-item"><a href="index_body.php">后台面板</a></li> | |||
<li class="breadcrumb-item active">更新专题</li> | |||
<li class="breadcrumb-item active">更新标签</li> | |||
</ol> | |||
<div class="card shadow-sm"> | |||
<div class="card-header">更新专题</div> | |||
<div class="card-header">更新标签</div> | |||
<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> | |||
<form name="form1" action="makehtml_tag_action_list.php" method="get" target="stafrm"> | |||
@@ -42,7 +42,7 @@ | |||
<?php }?> | |||
<tr> | |||
<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> | |||
<td>每页更新</td> | |||
@@ -37,7 +37,7 @@ | |||
<div class="container-fluid"> | |||
<ol class="breadcrumb"> | |||
<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> | |||
</ol> | |||
<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> | |||
</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> | |||
<?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> | |||
</tr> | |||
<tr> | |||
<td>浏览次数</td> | |||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | |||
</tr> | |||
@@ -301,13 +301,22 @@ | |||
</td> | |||
</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> | |||
<?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> | |||
</tr> | |||
<tr> | |||
<td>浏览次数</td> | |||
<td><input type="text" name="click" value="<?php echo $arcRow['click'];?>" class="admin-input-sm"></td> | |||
</tr> | |||
@@ -50,14 +50,14 @@ | |||
<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_wheight" type=text id="get_photo_wheight" value="<?php echo $photo_wheight?>" class="admin-input-sm"></label> | |||
<span>(设置为0为不限)</span> | |||
<span>(0表示不限)</span> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td>水印图片文件名</td> | |||
<td> | |||
<img src="/data/mark/<?php echo $photo_markimg;?>"> | |||
<span>(如果不存在,则使用文字水印)</span> | |||
<span>(如果不存在,请使用文字水印)</span> | |||
</td> | |||
</tr> | |||
<tr> | |||
@@ -66,7 +66,7 @@ | |||
</tr> | |||
<tr> | |||
<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> | |||
<td>水印图片文字字体大小</td> | |||
@@ -78,11 +78,11 @@ | |||
</tr> | |||
<tr> | |||
<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> | |||
<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> | |||
<td>水印位置</td> | |||
@@ -20,19 +20,29 @@ | |||
<div class="card shadow-sm mb-3"> | |||
<div class="card-header">支付接口设置</div> | |||
<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> | |||
<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"> | |||
<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 class="form-group"> | |||
<label for="iptWechatAppID">AppID</label> | |||
@@ -54,9 +64,9 @@ | |||
</div> | |||
<div class="tab-pane fade" id="alipay" role="tabpanel" aria-labelledby="alipay-tab"> | |||
<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 class="form-group"> | |||
<label for="iptAlipayAPPID">APPID</label> | |||
@@ -82,9 +92,9 @@ | |||
</div> | |||
<div class="tab-pane fade" id="bank" role="tabpanel" aria-labelledby="bank-tab"> | |||
<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> | |||
</div> | |||
<div class="form-group"> | |||
@@ -107,9 +117,9 @@ | |||
</div> | |||
<div class="tab-pane fade" id="balance" role="tabpanel" aria-labelledby="balance-tab"> | |||
<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> | |||
</div> | |||
<div class="form-group"> | |||
@@ -120,9 +130,9 @@ | |||
</div> | |||
<div class="tab-pane fade" id="cod" role="tabpanel" aria-labelledby="cod-tab"> | |||
<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> | |||
</div> | |||
<div class="form-group"> | |||
@@ -244,9 +254,9 @@ | |||
dataType: "json", | |||
success: function(data) { | |||
if (data.code === 0) { | |||
ShowMsg("保存支付配置成功"); | |||
ShowMsg("保存支付接口设置成功"); | |||
} else { | |||
ShowMsg("保存失败"); | |||
ShowMsg("保存支付接口设置失败"); | |||
} | |||
} | |||
}) | |||
@@ -59,14 +59,14 @@ | |||
<tr> | |||
<td><input type="checkbox" name="ids[]" value="<?php echo $fields['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><?php echo $fields['total'];?></td> | |||
<td><?php echo $fields['addtime'];?></td> | |||
<td><?php echo $fields['uptime'];?></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: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="javascript:DeleteOne(<?php echo $fields['id'];?>);" class="btn btn-danger btn-sm"><i class="fa fa-trash" title="删除"></i></a> | |||
</td> | |||
@@ -117,16 +117,16 @@ | |||
<div class="col-sm-9"><input type="text" name="title" class="form-control" disabled value="${tag}"></div> | |||
</div> | |||
<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 class="form-group row"> | |||
<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 class="form-group row"> | |||
<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>`, { | |||
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的值要最新,下面是重复提交表单限制,恢复注释代码使用 | |||
/*$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) { | |||
showmsg('您已经重复提交啦,请等待平台处理', '-1'); | |||
showmsg('您重复提交太多了,请等待平台联系', '-1'); | |||
exit(); | |||
}*/ | |||
$query = "INSERT INTO `{$diy->table}` (`id`, `ifcheck` $addvar) VALUES (NULL, 0 $addvalue); "; | |||
@@ -89,7 +99,7 @@ if ($action == 'post') { | |||
$bkmsg = '提交成功,正在前往表单列表'; | |||
} else { | |||
$goto = 'javascript:history.go(-1);'; | |||
$bkmsg = '提交成功,请等待平台处理'; | |||
$bkmsg = '提交成功,请等待平台联系'; | |||
} | |||
ShowMsg($bkmsg, $goto); | |||
} | |||
@@ -100,10 +110,11 @@ if ($action == 'post') { | |||
exit(); | |||
} | |||
include_once DEDEINC.'/datalistcp.class.php'; | |||
if ($diy->public == 2) | |||
if ($diy->public == 2) { | |||
$query = "SELECT * FROM `{$diy->table}` ORDER BY id DESC"; | |||
else | |||
} else { | |||
$query = "SELECT * FROM `{$diy->table}` WHERE ifcheck=1 ORDER BY id DESC"; | |||
} | |||
$datalist = new DataListCP(); | |||
$datalist->pagesize = 10; | |||
$datalist->SetParameter('action', 'list'); | |||
@@ -54,14 +54,18 @@ if (empty($typeid)) { | |||
} | |||
} | |||
$typeid = intval($typeid); | |||
$keyword = addslashes(cn_substr($keyword,30)); | |||
$keyword = addslashes(cn_substr($keyword, 30)); | |||
$typeid = intval($typeid); | |||
if ($cfg_notallowstr != '' && preg_match("#".$cfg_notallowstr."#i", $keyword)) { | |||
ShowMsg("搜索关键词中存在非法文档,被系统禁止", "-1"); | |||
ShowMsg("关键词中存在非法文档,被系统禁止", "-1"); | |||
exit(); | |||
} | |||
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(); | |||
} | |||
//检查搜索间隔时间 | |||
@@ -1,13 +1,13 @@ | |||
<?php | |||
$photo_markup = '1'; | |||
$photo_markdown = '1'; | |||
$photo_markup = '0'; | |||
$photo_markdown = '0'; | |||
$photo_marktype = '1'; | |||
$photo_wwidth = '120'; | |||
$photo_wheight = '120'; | |||
$photo_waterpos = '9'; | |||
$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_diaphaneity = '100'; | |||
$photo_markimg = 'mark.png'; |
@@ -3952,7 +3952,7 @@ INSERT INTO `#@__sysconfig` VALUES ('1','cfg_basehost','站点网址','1','strin | |||
('23','cfg_rewrite','是否启用伪静态,开启后必须添加伪静态规则','1','bool','N'), | |||
('24','cfg_df_style','默认主题模板风格','1','string','dedebiz'), | |||
('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'), | |||
('28','cfg_powerby','网站版权信息','1','bstring','Copyright © 2025 DedeBIZ 版权所有'), | |||
('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'), | |||
('39','cfg_mb_upload_size','会员上传文件大小(KB)','4','number','5024'), | |||
('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'), | |||
('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'), | |||
@@ -3978,7 +3978,7 @@ INSERT INTO `#@__sysconfig` VALUES ('1','cfg_basehost','站点网址','1','strin | |||
('49','cfg_tplcache','是否启用模板缓存','6','bool','Y'), | |||
('50','cfg_tplcache_dir','模板缓存目录','6','string','/data/tplcache'), | |||
('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'), | |||
('54','cfg_arc_autokeyword','自动提取关键词','7','bool','N'), | |||
('55','cfg_title_maxlen','文档标题最大长度,修改后需要手工修改数据表','7','number','255'), | |||
@@ -240,7 +240,7 @@ CREATE TABLE `#@__arctype` ( | |||
`reid` smallint(5) unsigned NOT NULL default '0', | |||
`topid` smallint(5) unsigned NOT NULL default '0', | |||
`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 '', | |||
`enname` char(255) NOT NULL default '', | |||
`enoverview` char(255) NOT NULL default '', | |||
@@ -260,8 +260,8 @@ CREATE TABLE `#@__arctype` ( | |||
`namerule` char(50) NOT NULL default '', | |||
`namerule2` char(50) 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 '', | |||
`moresite` tinyint(1) unsigned NOT NULL default '0', | |||
`sitepath` char(60) NOT NULL default '', | |||
@@ -805,25 +805,25 @@ CREATE TABLE `#@__search_limits` ( | |||
) TYPE=MyISAM; | |||
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; | |||
DROP TABLE IF EXISTS `#@__sgpage`; | |||
CREATE TABLE `#@__sgpage` ( | |||
`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', | |||
`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 '', | |||
`likeid` varchar(20) NOT NULL default '', | |||
`description` varchar(255) NOT NULL default '', | |||
`uptime` int(10) unsigned NOT NULL default '0', | |||
`body` mediumtext, | |||
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 | |||
*/ | |||
(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 | |||
*/ | |||
(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 | |||
*/ | |||
(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 | |||
*/ | |||
(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 | |||
*/ | |||
(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); | |||
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 { | |||
color:var(--gray); | |||
text-decoration:none | |||
@@ -30,13 +44,6 @@ img { | |||
max-width:100%; | |||
border-radius:var(--b-radius) | |||
} | |||
ul,ol,li { | |||
margin:0; | |||
padding:0 | |||
} | |||
li { | |||
list-style:none | |||
} | |||
form,label { | |||
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 { | |||
width:14px; | |||
height:14px; | |||
box-shadow:none | |||
box-shadow:none; | |||
vertical-align:middle | |||
} | |||
select { | |||
padding:0.25rem 0.5rem; | |||
@@ -648,7 +656,7 @@ body.menu-show .admin-content { | |||
} | |||
.admin-textarea-xl { | |||
width:100%; | |||
height:90px | |||
height:90px!important | |||
} | |||
.admin-textarea-sm { | |||
width:350px; | |||
@@ -661,7 +669,7 @@ body.menu-show .admin-content { | |||
width:230px | |||
} | |||
.admin-input-sm { | |||
width:180px | |||
width:190px | |||
} | |||
.admin-input-xs { | |||
width:70px | |||
@@ -674,7 +682,8 @@ body.menu-show .admin-content { | |||
background:none | |||
} | |||
.modal-title { | |||
font-size:16px | |||
font-size:14px; | |||
line-height:1.6 | |||
} | |||
.card,.modal-content { | |||
border:0 | |||
@@ -716,7 +725,7 @@ span.page-link { | |||
color:var(--white); | |||
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 | |||
} | |||
.cke_top { | |||
@@ -733,7 +742,10 @@ input,select,textarea,.colordlg,.pubdlg,.quickselitem .topcat,.mysource,.mywrite | |||
border-top-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; | |||
height:30px; | |||
line-height:30px; | |||
@@ -15,6 +15,13 @@ body { | |||
color:var(--gray); | |||
background:var(--bg) | |||
} | |||
p { | |||
margin-bottom:1rem; | |||
word-wrap:break-word | |||
} | |||
p:last-child { | |||
margin-bottom:0 | |||
} | |||
a { | |||
color:var(--gray); | |||
text-decoration:none | |||
@@ -23,10 +30,6 @@ a:hover { | |||
color:var(--blue); | |||
text-decoration:none | |||
} | |||
img { | |||
max-width:100%; | |||
border-radius:var(--b-radius) | |||
} | |||
ul,ol,li { | |||
margin:0; | |||
padding:0; | |||
@@ -50,6 +53,10 @@ h3,h4 { | |||
h5,h6 { | |||
font-size:16px | |||
} | |||
img { | |||
max-width:100%; | |||
border-radius:var(--b-radius) | |||
} | |||
form.search { | |||
display:flex; | |||
width:100% | |||
@@ -183,7 +183,7 @@ class Archives | |||
$this->Fields[$nk] = $this->ReplaceKeyword($this->Fields['keywords'], $this->Fields[$nk]); | |||
} | |||
} | |||
} //End foreach | |||
} | |||
} | |||
//设置全局环境变量 | |||
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename']; | |||
@@ -221,7 +221,7 @@ class Archives | |||
if ($this->Fields['litpic'] == '-' || $this->Fields['litpic'] == '') { | |||
$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['picname'] = $this->Fields['litpic']; | |||
@@ -631,8 +631,8 @@ class Archives | |||
} | |||
} | |||
$this->dtp->Assign($i, $res); | |||
} //end case | |||
} //结束模板循环 | |||
} | |||
} | |||
} | |||
} | |||
/** | |||
@@ -1005,7 +1005,7 @@ class Archives | |||
$body = preg_replace("#(<a(.*))-\]-(.*)-\[-(\/a>)#isU", '\\1>\\3<\\4', $body); | |||
return $body; | |||
} | |||
}//End Archives | |||
} | |||
function _highlightkeywords($matches) | |||
{ | |||
return _highlight($matches[2], $GLOBALS['_dd_karr'], $GLOBALS['_dd_kaarr'], $matches[1]); | |||
@@ -542,9 +542,9 @@ class FreeList | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
$row['info'] = $row['description']; | |||
$row['filename'] = $row['arcurl']; | |||
@@ -595,21 +595,20 @@ class FreeList | |||
} | |||
} | |||
$artlist .= $indtp->GetResult(); | |||
} //if hasRow | |||
else { | |||
} else { | |||
$artlist .= ''; | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</td>"; | |||
} | |||
} //Loop Col | |||
} | |||
if ($col > 1) { | |||
$i += $col - 1; | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</tr>"; | |||
} | |||
} //Loop Line | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</table>"; | |||
} | |||
@@ -855,5 +854,5 @@ class FreeList | |||
} | |||
return $nowurl; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -71,7 +71,7 @@ class ListView | |||
$this->Fields = $this->TypeLink->TypeInfos; | |||
$this->Fields['id'] = $typeid; | |||
$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'])) { | |||
foreach($_GET as $key => $value) { | |||
@@ -421,10 +421,14 @@ class ListView | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "pubdate") { | |||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | |||
} else if ($orderby == "senddate") { | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "id") { | |||
$ordersql = " ORDER BY arc.id $orderWay"; | |||
} else if ($orderby == "hot" || $orderby == "click") { | |||
$ordersql = " ORDER BY arc.click $orderWay"; | |||
} else if($orderby == "weight") { | |||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||
} else if ($orderby == "lastpost") { | |||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | |||
} else if ($orderby == "scores") { | |||
@@ -471,7 +475,7 @@ class ListView | |||
$addJoin = ''; | |||
} | |||
//如果不用默认的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"; | |||
} | |||
//普通情况先从arctiny表查出id,然后按id查询速度非常快 | |||
@@ -535,9 +539,9 @@ class ListView | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
$row['stime'] = GetDateMK($row['pubdate']); | |||
$row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | |||
@@ -843,10 +847,14 @@ class ListView | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "pubdate") { | |||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | |||
} else if ($orderby == "senddate") { | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "id") { | |||
$ordersql = " ORDER BY arc.id $orderWay"; | |||
} else if ($orderby == "hot" || $orderby == "click") { | |||
$ordersql = " ORDER BY arc.click $orderWay"; | |||
} else if($orderby == "weight") { | |||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||
} else if ($orderby == "lastpost") { | |||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | |||
} else if ($orderby == "scores") { | |||
@@ -893,7 +901,7 @@ class ListView | |||
$addJoin = ''; | |||
} | |||
//如果不用默认的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"; | |||
} | |||
//普通情况先从arctiny表查出id,然后按di查询速度非常快 | |||
@@ -963,9 +971,9 @@ class ListView | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
$row['stime'] = GetDateMK($row['pubdate']); | |||
$row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | |||
@@ -1009,13 +1017,13 @@ class ListView | |||
} | |||
} | |||
$artlist .= $this->dtp2->GetResult(); | |||
}//if hasRow | |||
}//Loop Col | |||
} | |||
} | |||
if ($col > 1) { | |||
$i += $col - 1; | |||
$artlist .= "</div>"; | |||
} | |||
}//Loop Line | |||
} | |||
$t3 = ExecTime(); | |||
$this->dsql->FreeResult('al'); | |||
return $artlist; | |||
@@ -1218,5 +1226,5 @@ class ListView | |||
} | |||
return $nowurl; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -231,5 +231,5 @@ class PartView | |||
function Close() | |||
{ | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -575,9 +575,9 @@ class SearchView | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['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["info"] = $row["description"]; | |||
@@ -607,16 +607,15 @@ class SearchView | |||
} | |||
} | |||
$artlist .= $this->dtp2->GetResult(); | |||
} //if hasRow | |||
else { | |||
} else { | |||
$artlist .= ''; | |||
} | |||
if ($col > 1) $artlist .= "</td>"; | |||
} //Loop Col | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</tr>"; | |||
} | |||
} //Loop Line | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</table>"; | |||
} | |||
@@ -721,5 +720,5 @@ class SearchView | |||
} | |||
return $nowurl; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -70,7 +70,7 @@ class SgListView | |||
$this->Fields = $this->TypeLink->TypeInfos; | |||
$this->Fields['id'] = $typeid; | |||
$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']; | |||
$listfield = trim($this->ChannelUnit->ChannelInfos['listfields']); | |||
@@ -364,10 +364,14 @@ class SgListView | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "pubdate") { | |||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | |||
} else if ($orderby == "senddate") { | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "id") { | |||
$ordersql = " ORDER BY arc.id $orderWay"; | |||
} else if ($orderby == "hot" || $orderby == "click") { | |||
$ordersql = " ORDER BY arc.click $orderWay"; | |||
} else if($orderby == "weight") { | |||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||
} else if ($orderby == "lastpost") { | |||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | |||
} else if ($orderby == "scores") { | |||
@@ -443,9 +447,9 @@ class SgListView | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
$row['pubdate'] = $row['senddate']; | |||
$row['stime'] = GetDateMK($row['pubdate']); | |||
@@ -717,10 +721,14 @@ class SgListView | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "pubdate") { | |||
$ordersql = " ORDER BY arc.pubdate $orderWay"; | |||
} else if ($orderby == "senddate") { | |||
$ordersql = " ORDER BY arc.senddate $orderWay"; | |||
} else if ($orderby == "id") { | |||
$ordersql = " ORDER BY arc.id $orderWay"; | |||
} else if ($orderby == "hot" || $orderby == "click") { | |||
$ordersql = " ORDER BY arc.click $orderWay"; | |||
} else if($orderby == "weight") { | |||
$ordersql = " ORDER BY arc.weight $orderWay"; | |||
} else if ($orderby == "lastpost") { | |||
$ordersql = " ORDER BY arc.lastpost $orderWay"; | |||
} else if ($orderby == "scores") { | |||
@@ -802,7 +810,7 @@ class SgListView | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
@@ -842,13 +850,13 @@ class SgListView | |||
} | |||
} | |||
$artlist .= $this->dtp2->GetResult(); | |||
} //if hasRow | |||
}//Loop Col | |||
} | |||
} | |||
if ($col > 1) { | |||
$i += $col - 1; | |||
$artlist .= "</div>"; | |||
} | |||
}//Loop Line | |||
} | |||
$t3 = ExecTime(); | |||
$this->dsql->FreeResult('al'); | |||
return $artlist; | |||
@@ -1046,5 +1054,5 @@ class SgListView | |||
} | |||
return $nowurl; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -99,5 +99,5 @@ class sgpage | |||
function Close() | |||
{ | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -219,7 +219,7 @@ class SpecView | |||
} | |||
$this->dtp->Assign($tagid, $this->GetPageListST($list_len)); | |||
} | |||
} //End foreach | |||
} | |||
$makeFile = $GLOBALS['cfg_special']."/spec_".$this->PageNo.$GLOBALS['art_shortname']; | |||
$murl = $makeFile; | |||
$makeFile = $GLOBALS['cfg_basedir'].$makeFile; | |||
@@ -350,7 +350,7 @@ class SpecView | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
@@ -403,18 +403,17 @@ class SpecView | |||
} | |||
} | |||
$artlist .= $this->dtp2->GetResult(); | |||
}//if hasRow | |||
else { | |||
} else { | |||
$artlist .= ''; | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</td>"; | |||
} | |||
}//Loop Col | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</tr>"; | |||
} | |||
}//Loop Line | |||
} | |||
if ($col > 1) { | |||
$artlist .= "</table>"; | |||
} | |||
@@ -568,5 +567,5 @@ class SpecView | |||
} | |||
return $nowurl; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -105,15 +105,9 @@ class TagList | |||
} | |||
if (isset($GLOBALS['PageNo'])) { | |||
$this->PageNo = intval($GLOBALS['PageNo']); | |||
if ($this->PageNo == 0) { | |||
$this->PageNo = 1; | |||
} | |||
} else { | |||
$this->PageNo = 1; | |||
} | |||
if (stripos(GetCurUrl(), 'makehtml_taglist_action.php')) { | |||
$this->TotalResult = 1; | |||
} | |||
if ($this->TotalResult == -1) { | |||
$cquery = "SELECT COUNT(*) AS dd FROM `#@__taglist` WHERE tid = '{$this->TagInfos['id']}' AND arcrank >-1 "; | |||
$row = $this->dsql->GetOne($cquery); | |||
@@ -348,9 +342,9 @@ class TagList | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
$row['stime'] = GetDateMK($row['pubdate']); | |||
$row['typelink'] = "<a href='".$row['typeurl']."'>".$row['typename']."</a>"; | |||
@@ -385,13 +379,13 @@ class TagList | |||
} | |||
} | |||
$artlist .= $this->dtp2->GetResult(); | |||
}//if hasRow | |||
}//Loop Col | |||
} | |||
} | |||
if ($col > 1) { | |||
$i += $col - 1; | |||
$artlist .= "</div>"; | |||
} | |||
}//Loop Line | |||
} | |||
$this->dsql->FreeResult('al'); | |||
return $artlist; | |||
} | |||
@@ -424,14 +418,14 @@ class TagList | |||
$purl .= "?/".urlencode($this->Tag); | |||
//获得上页和下页的链接 | |||
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 { | |||
$indexpage = "<li class='page-item'><span class='page-link'>首页</span></li>"; | |||
} | |||
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 { | |||
$endpage = "<li class='page-item'><span class='page-link'>末页</span></li>"; | |||
} | |||
@@ -454,7 +448,7 @@ class TagList | |||
if ($j == $this->PageNo) { | |||
$listdd .= "<li class='page-item active'><span class='page-link'>$j</span></li>"; | |||
} 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 = ''; | |||
@@ -478,6 +472,14 @@ class TagList | |||
} | |||
return $plist; | |||
} | |||
/** | |||
* 获取静态的分页列表 | |||
* | |||
* @access public | |||
* @param int $list_len 列表宽度 | |||
* @param string $listitem 列表样式 | |||
* @return string | |||
*/ | |||
function GetPageListST($list_len, $listitem = "info,index,end,pre,next,pageno") | |||
{ | |||
$prepage = ''; | |||
@@ -570,7 +572,7 @@ class TagList | |||
$envs['makeTag'] = 1; | |||
$tagsdir = str_replace("{cmspath}", $cfg_cmspath, $cfg_tags_dir); | |||
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(); | |||
//初步给固定值的标记赋值 | |||
@@ -595,7 +597,7 @@ class TagList | |||
if ($endpage == 1) { | |||
$endpage = 2; | |||
} | |||
$makeDir = $this->GetTruePath().$this->tagsDir.'/'.$this->TagInfos['id']."/"; | |||
$makeDir = $this->GetTruePath().$this->tagsDir.'/'.$this->TagInfos['id']; | |||
MkdirAll($makeDir, $cfg_dir_purview); | |||
for ($this->PageNo = $startpage; $this->PageNo < $endpage; $this->PageNo++) { | |||
$this->ParseDMFields($this->PageNo, 1); | |||
@@ -664,5 +666,5 @@ class TagList | |||
} | |||
return $nowurl; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -198,5 +198,5 @@ class ChannelUnit | |||
function Close() | |||
{ | |||
} | |||
}//End class ChannelUnit | |||
} | |||
?> |
@@ -92,11 +92,11 @@ function GetFormItem($ctag, $admintype = 'admin') | |||
$dfvalue = str_replace('{{', '<', $dfvalue); | |||
$dfvalue = str_replace('}}', '>', $dfvalue); | |||
if ($admintype == 'admin') { | |||
$innertext = GetEditor($fieldname, $dfvalue, 360, 'Basic', 'string'); | |||
$innertext = GetEditor($fieldname, $dfvalue, 350, 'Basic', 'string'); | |||
} else if ($admintype == 'diy') { | |||
$innertext = GetEditor($fieldname, $dfvalue, 360, 'Diy', 'string'); | |||
$innertext = GetEditor($fieldname, $dfvalue, 350, 'Diy', 'string'); | |||
} else { | |||
$innertext = GetEditor($fieldname, $dfvalue, 360, 'Member', 'string'); | |||
$innertext = GetEditor($fieldname, $dfvalue, 350, 'Member', 'string'); | |||
} | |||
} else if ($fieldType == "multitext") { | |||
$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 = ''; | |||
} | |||
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 { | |||
$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; | |||
} else if ($ftype == "htmltext") { | |||
if ($admintype == 'admin') { | |||
$myformItem = GetEditor($fieldname, $fvalue, 360, 'Basic', 'string')." "; | |||
$myformItem = GetEditor($fieldname, $fvalue, 350, 'Basic', 'string')." "; | |||
} else { | |||
$myformItem = GetEditor($fieldname, $fvalue, 360, 'Member', 'string')." "; | |||
$myformItem = GetEditor($fieldname, $fvalue, 350, 'Member', 'string')." "; | |||
} | |||
$innertext = $myformItem; | |||
} else if ($ftype == "multitext") { | |||
@@ -66,7 +66,7 @@ class DedeAtt | |||
{ | |||
return $this->Count + 1; | |||
} | |||
}//End DedeAtt | |||
} | |||
/** | |||
* 属性解析器 | |||
* function c____DedeAttParse(); | |||
@@ -486,9 +486,9 @@ function GetUrlFromListRule($regxurl = '', $handurl = '', $startid = 0, $endid = | |||
} | |||
} | |||
} | |||
} //End 匹配多栏目 | |||
} //End使用规则匹配的情况 | |||
} | |||
} | |||
} | |||
return $lists; | |||
}//End | |||
} | |||
?> |
@@ -271,5 +271,5 @@ class DedeImage | |||
} | |||
} | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -241,7 +241,7 @@ class DedeModule | |||
while (!feof($fp)) { | |||
$line = fgets($fp, 1024); | |||
if (!$start) { | |||
//2011-6-7 修复模块打包程序中上传程序安装生成为空白文件 | |||
//2011-6-7修复模块打包程序中上传程序安装生成为空白文件 | |||
if (preg_match("#<{$ntype}>#i", $line)) $start = TRUE; | |||
} else { | |||
if (preg_match("#<\/{$ntype}#i", $line)) break; | |||
@@ -291,7 +291,7 @@ class DedeModule | |||
* | |||
* @access public | |||
* @param string $hashcode hash码 | |||
* @return bool 如果存在则返回True,否则为False | |||
* @return bool 如果存在则返回True,否则为False | |||
*/ | |||
function HasModule($hashcode) | |||
{ | |||
@@ -582,5 +582,5 @@ class DedeModule | |||
unset($this->modules); | |||
unset($this->fileListNames); | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -16,7 +16,7 @@ class DedeTag | |||
var $InnerText = ''; //标记之间的文本 | |||
var $StartPos = 0; //标记起始位置 | |||
var $EndPos = 0; //标记结束位置 | |||
var $CAttribute = null; //标记属性描述,即是class DedeAttribute | |||
var $CAttribute = null; //标记属性描述,即是class DedeAttribute | |||
var $TagValue = ''; //标记的值 | |||
var $TagID = 0; | |||
/** | |||
@@ -67,7 +67,7 @@ class DedeTag | |||
} | |||
} | |||
/** | |||
* DedeTagParse 模板类 | |||
* DedeTagParse模板类 | |||
* function c____DedeTagParse(); | |||
* | |||
* @package DedeTagParse | |||
@@ -85,7 +85,7 @@ class DedeTagParse | |||
var $TempMkTime = 0; | |||
var $CacheFile = ''; | |||
var $SourceString = ''; //模板字符串 | |||
var $CTags = array(); //标记集合 | |||
var $CTags = array(); //标记集合 | |||
var $Count = -1; //$Tags标记个数 | |||
var $refObj = ''; //引用当前模板类的对象 | |||
var $taghashfile = ''; | |||
@@ -164,9 +164,7 @@ class DedeTagParse | |||
$this->SetDefault(); | |||
} | |||
/** | |||
* CheckDisabledFunctions | |||
* | |||
* COMMENT : CheckDisabledFunctions : 检查是否存在禁止的函数 | |||
* CheckDisabledFunctions COMMENT : CheckDisabledFunctions检查是否存在禁止的函数 | |||
* | |||
* @access public | |||
* @param string | |||
@@ -385,7 +383,7 @@ class DedeTagParse | |||
return -1; | |||
} | |||
/** | |||
* 获得指定名称的CTag数据类(如果有多个同名的Tag,则取没有被分配文档的第一个Tag) | |||
* 获得指定名称的CTag数据类,如果有多个同名的Tag,则取没有被分配文档的第一个Tag | |||
* | |||
* @access public | |||
* @param string $str 字符串 | |||
@@ -462,7 +460,6 @@ class DedeTagParse | |||
if (isset($this->CTags[$i])) { | |||
$this->CTags[$i]->IsReplace = TRUE; | |||
$this->CTags[$i]->TagValue = $str; | |||
if ($this->CTags[$i]->GetAtt('function') != '' && $runfunc) { | |||
$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]->TagValue = $str; | |||
} | |||
//设置/获取变量值 | |||
//设置获取变量值 | |||
else if ($CTag->TagName == 'var') { | |||
$vname = $this->CTags[$i]->GetAtt('name'); | |||
if ($vname == '') { | |||
@@ -570,8 +567,7 @@ class DedeTagParse | |||
$this->CTags[$i]->IsReplace = TRUE; | |||
} | |||
/** | |||
* 把分析模板输出到一个字符串中 | |||
* 不替换没被处理的值 | |||
* 把分析模板输出到一个字符串中,不替换没被处理的值 | |||
* | |||
* @access public | |||
* @return string | |||
@@ -602,7 +598,7 @@ class DedeTagParse | |||
return $ResultString; | |||
} | |||
/** | |||
* 把分析模板输出到一个字符串中,并返回 | |||
* 把分析模板输出到一个字符串中并返回 | |||
* | |||
* @access public | |||
* @return string | |||
@@ -628,7 +624,7 @@ class DedeTagParse | |||
return $ResultString; | |||
} | |||
/** | |||
* 直接输出解析模板 | |||
* 直接解析模板 | |||
* | |||
* @access public | |||
* @return void | |||
@@ -638,7 +634,7 @@ class DedeTagParse | |||
echo $this->GetResult(); | |||
} | |||
/** | |||
* 把解析模板输出为文件 | |||
* 解析模板为文件 | |||
* | |||
* @access public | |||
* @param string $filename 要保存到的文件 | |||
@@ -693,7 +689,7 @@ class DedeTagParse | |||
if ($isTag === FALSE) { | |||
break; | |||
} | |||
//判断是否已经到倒数第三个字符(可能性几率极小,取消此逻辑) | |||
//判断是否已经到倒数第三个字符可能性几率极小,取消此逻辑 | |||
for ($j = ($sPos + $tsLen); $j < ($sPos + $tsLen + $this->TagMaxLen); $j++) { | |||
if ($j > ($sourceLen - 1)) { | |||
break; | |||
@@ -710,26 +706,19 @@ class DedeTagParse | |||
$e1 = strpos($this->SourceString, $eTagEndWord, $i); | |||
$e2 = strpos($this->SourceString, $FullTagStartWord, $i); | |||
$e3 = strpos($this->SourceString, $fullTagEndWordThis, $i); | |||
//$eTagEndWord =/} $FullTagStartWord = {tag: $fullTagEndWordThis = {/tag:xxx] | |||
$e1 = trim($e1); | |||
$e2 = trim($e2); | |||
$e3 = trim($e3); | |||
$e1 = ($e1 == '' ? '-1' : $e1); | |||
$e2 = ($e2 == '' ? '-1' : $e2); | |||
$e3 = ($e3 == '' ? '-1' : $e3); | |||
//not found '{/tag:' | |||
if ($e3 == -1) { | |||
$endPos = $e1; | |||
$elen = $endPos + strlen($eTagEndWord); | |||
} | |||
//not found '/}' | |||
else if ($e1 == -1) { | |||
} else if ($e1 == -1) { | |||
$endPos = $e3; | |||
$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) { | |||
$endPos = $e1; | |||
$elen = $endPos + strlen($eTagEndWord); | |||
@@ -738,7 +727,6 @@ class DedeTagParse | |||
$elen = $endPos + strlen($fullTagEndWordThis); | |||
} | |||
} | |||
//not found end tag , error | |||
if ($endPos == -1) { | |||
echo "Tag Character postion $sPos, '$tTagName' Error<br>\r\n"; | |||
break; | |||
@@ -778,7 +766,7 @@ class DedeTagParse | |||
$i = $sPos + $tsLen; | |||
break; | |||
} | |||
} //结束遍历模板字符串 | |||
} | |||
if ($this->IsCache) { | |||
$this->SaveCache(); | |||
} | |||
@@ -940,7 +928,7 @@ class DedeAttributeParse | |||
$hasAttribute = FALSE; | |||
$strLen = strlen($this->sourceString); | |||
$this->cAttributes->Items = array(); | |||
//获得Tag的名称,解析到 cAtt->GetAtt('tagname') 中 | |||
//获得Tag的名称,解析到cAtt->GetAtt('tagname')中 | |||
for ($i = 0; $i < $strLen; $i++) { | |||
if ($this->sourceString[$i] == ' ') { | |||
$this->cAttributes->Count++; | |||
@@ -967,7 +955,7 @@ class DedeAttributeParse | |||
return; | |||
} | |||
$tmpvalue = ''; | |||
//如果字符串含有属性值,遍历源字符串,并获得各属性 | |||
//如果字符串含有属性值,遍历源字符串并获得各属性 | |||
for ($i; $i < $strLen; $i++) { | |||
$d = $this->sourceString[$i]; | |||
//查找属性名称 | |||
@@ -1013,13 +1001,12 @@ class DedeAttributeParse | |||
$tmpvalue .= $d; | |||
} | |||
} | |||
}//for | |||
} | |||
//最后一个属性给值 | |||
if ($tmpatt != '') { | |||
$this->cAttributes->Count++; | |||
$this->cAttributes->Items[$tmpatt] = trim($tmpvalue); | |||
} | |||
//print_r($this->cAttributes->Items); | |||
} //end func | |||
} | |||
} | |||
?> |
@@ -190,7 +190,7 @@ class DedeTemplate | |||
$this->__construct($templatedir, $refDir); | |||
} | |||
/** | |||
* 设定本类自身实例的类引用和使用本类的类实例(如果在类中使用本模板引擎,后一参数一般为$this) | |||
* 设定本类自身实例的类引用和使用本类的类实例,如果在类中使用本模板引擎,后一参数一般为$this | |||
* | |||
* @access public | |||
* @param object $refObj 实例对象 | |||
@@ -1032,7 +1032,7 @@ class TagAttribute | |||
{ | |||
return $this->count + 1; | |||
} | |||
}//End Class | |||
} | |||
/** | |||
* 属性解析器 | |||
* function C__TagAttributeParse(); | |||
@@ -1158,14 +1158,14 @@ class TagAttributeParse | |||
$tmpvalue .= $d; | |||
} | |||
} | |||
} //for | |||
} | |||
//最后一个属性的给值 | |||
if ($tmpatt != '') { | |||
$this->cAttributes->count++; | |||
$this->cAttributes->items[$tmpatt] = trim($tmpvalue); | |||
} //print_r($this->cAttributes->items); | |||
} //end func | |||
} //End Class | |||
} | |||
} | |||
/** | |||
* 私有标签编译,主要用于if标签内的字符串解析 | |||
* | |||
@@ -237,5 +237,5 @@ class DedeVote | |||
$res .= "</table>\r\n"; | |||
return $res; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -104,5 +104,5 @@ class diyform | |||
} | |||
return $fields; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -142,7 +142,7 @@ if (!function_exists('GetTypeUrl')) { | |||
if ($isdefault == -1) { | |||
if ($cfg_rewrite == 'Y') { | |||
//开启伪静态栏目/list-1、/list-2,则分页/list-1-1、/list-1-2 | |||
$reurl = $GLOBALS['cfg_cmspath']."/list-".$typeid.""; | |||
$reurl = $GLOBALS['cfg_cmspath']."/list-".$typeid; | |||
} else { | |||
$reurl = $GLOBALS['cfg_phpurl']."/list.php?tid=".$typeid; | |||
} | |||
@@ -84,8 +84,8 @@ if (!function_exists('WaterImg')) { | |||
} | |||
$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) { | |||
return; | |||
} | |||
@@ -112,8 +112,8 @@ if (!function_exists('WaterImg')) { | |||
} | |||
$cfg_watermarktext['text'] = $photo_watertext; | |||
$cfg_watermarktext['size'] = $photo_fontsize; | |||
$cfg_watermarktext['color'] = $photo_fontcolor; | |||
$cfg_watermarktext['angle'] = '0'; | |||
$cfg_watermarktext['color'] = '255,255,255'; | |||
$cfg_watermarktext['shadowx'] = '0'; | |||
$cfg_watermarktext['shadowy'] = '0'; | |||
$cfg_watermarktext['shadowcolor'] = '0,0,0'; | |||
@@ -123,7 +123,7 @@ if (!function_exists('WaterImg')) { | |||
} | |||
} | |||
/** | |||
* 会对空白地方填充满 | |||
* 对空白地方填充满 | |||
* | |||
* @access public | |||
* @param string $srcFile 图片路径 | |||
@@ -138,7 +138,7 @@ if (!function_exists('ImageResizeNew')) { | |||
{ | |||
try { | |||
$image = new ImageResize($srcFile); | |||
$image->resize($toW, $toH); | |||
$image->resizeToBestFit($toW, $toH); | |||
if ($issave) { | |||
$image->save($toFile); | |||
} else { | |||
@@ -14,7 +14,7 @@ helper('image'); | |||
//检测会员系统支持的图片格式 | |||
global $cfg_photo_type, $cfg_photo_typenames, $cfg_photo_support; | |||
$cfg_photo_type['gif'] = FALSE; | |||
$cfg_photo_type['jpeg'] = FALSE; | |||
$cfg_photo_type['jpg'] = FALSE; | |||
$cfg_photo_type['png'] = FALSE; | |||
$cfg_photo_type['wbmp'] = FALSE; | |||
$cfg_photo_type['bmp'] = FALSE; | |||
@@ -59,12 +59,12 @@ function SpGetPinyin($str, $ishead = 0, $isclose = 1) | |||
$restr .= $pinyins[$c][0]; | |||
} | |||
} else { | |||
$restr .= "_"; | |||
$restr .= "-"; | |||
} | |||
} else if (preg_match("/[a-z0-9]/i", $str[$i])) { | |||
$restr .= $str[$i]; | |||
} else { | |||
$restr .= "_"; | |||
$restr .= "-"; | |||
} | |||
} | |||
if ($isclose == 0) { | |||
@@ -627,5 +627,5 @@ class DedeHttpDown | |||
$okurl = preg_replace("/\/{1,}/", "/", $okurl); | |||
return $proto.$okurl; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -258,5 +258,5 @@ class smtp | |||
echo $message; | |||
} | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -216,7 +216,7 @@ class OxWindow | |||
$ctp->Display(); | |||
$ctp->Clear(); | |||
} | |||
}//End Class | |||
} | |||
/** | |||
* 显示一个不带表单的普通提示 | |||
* | |||
@@ -466,9 +466,9 @@ class SplitWord | |||
$this->simpleResult[$s]['t'] = 5; | |||
$s++; | |||
} | |||
}//2byte symbol | |||
}//end 2byte char | |||
}//end for | |||
} | |||
} | |||
} | |||
//处理分词后的结果 | |||
$this->_sort_finally_result(); | |||
} | |||
@@ -782,7 +782,7 @@ class SplitWord | |||
} | |||
$j++; | |||
} | |||
}//end for | |||
} | |||
$smarr = $newarr; | |||
} | |||
/** | |||
@@ -559,5 +559,5 @@ class MemberLogin | |||
} | |||
return $result; | |||
} | |||
}//End Class | |||
} | |||
?> |
@@ -31,8 +31,8 @@ function lib_arclist(&$ctag, &$refObj) | |||
} else { | |||
$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') { | |||
$listtype = 'image'; | |||
} else if ($tagname == 'specart') { | |||
@@ -234,10 +234,12 @@ function lib_arclistDone (&$refObj, &$ctag, $typeid=0, $row=10, $col=1, $titlele | |||
$ordersql = ''; | |||
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 == 'senddate') $ordersql = " ORDER BY arc.senddate $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 == 'lastpost') $ordersql = " ORDER BY arc.lastpost $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 == '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'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
@@ -180,7 +180,7 @@ function lib_arclistsg(&$ctag, &$refObj) | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
@@ -91,10 +91,13 @@ function lib_channel(&$ctag, &$refObj) | |||
$row['typelink'] = GetOneTypeUrlA($row); | |||
$linkOkstr = str_replace("~rel~", $row['rel'], $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("~litimg~", $row['litimg'], $linkOkstr); | |||
$linkOkstr = str_replace("~typelink~", $row['typelink'], $linkOkstr); | |||
$linkOkstr = str_replace("~typename~", $row['typename'], $linkOkstr); | |||
$likeType .= $linkOkstr; | |||
} else { | |||
$row['typelink'] = $row['typeurl'] = GetOneTypeUrlA($row); | |||
@@ -124,7 +124,7 @@ function lib_likearticle(&$ctag, &$refObj) | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
@@ -110,7 +110,7 @@ function lib_relation(&$ctag, &$refObj) | |||
if ($row['litpic'] == '-' || $row['litpic'] == '') { | |||
$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['picname'] = $row['litpic']; | |||
@@ -55,7 +55,7 @@ function lib_tag(&$ctag, &$refObj) | |||
if (isset($envs['makeTag']) && $envs['makeTag'] == 1 || $ishtml == 1) { | |||
$row['link'] = $cfg_cmsurl.$tagsdir."/".$row['id']."/"; | |||
} 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); | |||
foreach ($ctp->CTags as $tagid => $ctag) { | |||
@@ -332,19 +332,19 @@ class TypeLink | |||
$likeType .= "</td>\r\n"; | |||
} | |||
$GLOBALS['autoindex']++; | |||
}//Loop Col | |||
} | |||
if ($col > 1) { | |||
$i += $col - 1; | |||
} | |||
if ($col > 1) { | |||
$likeType .= "</tr>\r\n"; | |||
} | |||
}//Loop for $i | |||
} | |||
if ($col > 1) { | |||
$likeType .= "</table>\r\n"; | |||
} | |||
$this->dsql->FreeResult(); | |||
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-success btn-sm'>列表</span> | |||
{$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 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> | |||
@@ -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-success btn-sm'>列表</span> | |||
{$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 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> | |||
@@ -405,5 +405,5 @@ tpl; | |||
$dh->close(); | |||
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'})) { | |||
${$_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) { | |||
foreach (${$_key.'_type'} as $key => $value) { | |||
if (in_array(strtolower(trim($value)), $imtypes)) { | |||
@@ -70,9 +70,7 @@ foreach ($_FILES as $_key => $_value) { | |||
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)) { | |||
$image_dd = @getimagesize($$_key); | |||
if ($image_dd == false) { | |||
@@ -95,9 +93,7 @@ foreach ($_FILES as $_key => $_value) { | |||
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)) { | |||
$image_dd = @getimagesize($$_key); | |||
if ($image_dd == false) { | |||
@@ -28,14 +28,17 @@ | |||
<h1>{dede:field.title/}</h1> | |||
</div> | |||
<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 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> | |||
<nav class="column-page py-3"> | |||
<ul class="pagination justify-content-center">{dede:pagebreak/}</ul> | |||
@@ -27,11 +27,11 @@ | |||
<h1>{dede:field.title/}</h1> | |||
</div> | |||
<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 class="alert alert-warning my-3">您会看到这个提示,因为某个栏目无法应用模板或您的模型没对应模板,不同模型的文档浏览页的模板为:article_模型名字标识.htm更多的信息,您可以在栏目修改查看</div> | |||
{dede:fieldlist} | |||
@@ -46,7 +46,10 @@ | |||
</tr> | |||
</table> | |||
{/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="page py-3 row"> | |||
<div class="col-md-4 prenext"> | |||
@@ -28,11 +28,11 @@ | |||
<h1>{dede:field.title/}</h1> | |||
</div> | |||
<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 class="alert alert-warning my-3">您会看到这个提示,因为某个栏目无法应用模板或您的模型没对应模板,不同模型的文档浏览页的模板为:article_模型名字标识.htm更多的信息,您可以在栏目修改查看</div> | |||
{dede:fieldlist} | |||
@@ -47,7 +47,10 @@ | |||
</tr> | |||
</table> | |||
{/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="page py-3 row"> | |||
<div class="col-md-4 prenext"> | |||
@@ -75,11 +75,11 @@ | |||
<h1>{dede:field.title/}</h1> | |||
</div> | |||
<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 class="picbox py-3"> | |||
{dede:field name='pagestyle' alt='输出不同的图片头信息' runphp='yes'} | |||
@@ -113,7 +113,10 @@ | |||
} | |||
{/dede:field} | |||
</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="page py-3 row"> | |||
<div class="col-md-4 prenext"> | |||
@@ -27,11 +27,11 @@ | |||
<h1>{dede:field.title/}</h1> | |||
</div> | |||
<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 class="img py-3">{dede:field name='image'/}</div> | |||
<div class="info py-3"> | |||
@@ -44,7 +44,10 @@ | |||
<p>邮箱:{dede:field.email/}</p> | |||
<p>地址:{dede:field.address/}</p> | |||
</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> | |||
<nav class="column-page py-3"> | |||
<ul class="pagination justify-content-center">{dede:pagebreak/}</ul> | |||
@@ -27,11 +27,11 @@ | |||
<h1>{dede:field.title/}</h1> | |||
</div> | |||
<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 class="img py-3">{dede:field.image/}</div> | |||
<div class="info py-3"> | |||
@@ -47,7 +47,10 @@ | |||
<p>演示网址:{dede:field.officialdemo/}</p> | |||
<p>下载次数:<script src="{dede:field.phpurl/}/disdls.php?aid={dede:field.id/}"></script></p> | |||
</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"> | |||
<h4>下载地址</h4> | |||
<ul class="downurllist"> | |||
@@ -27,14 +27,17 @@ | |||
<h1>{dede:field.title/}</h1> | |||
</div> | |||
<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 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="alert alert-success my-3">{dede:softmsg/}</div> | |||
</article> | |||
@@ -14,7 +14,7 @@ | |||
<script> | |||
$.get("{dede:global.cfg_memberurl/}/api.php?format=json",function(result) { | |||
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>`); | |||
$("#iptUsername").val(result.data.username); | |||
$("#iptUsername").attr("disabled", "disabled"); | |||