Przeglądaj źródła

Merge branch 'adminstyle' into develop

tags/6.5.0
tianya 1 miesiąc temu
rodzic
commit
460caee42a
100 zmienionych plików z 1853 dodań i 1781 usunięć
  1. +6
    -0
      docs/changelog.md
  2. +2
    -1
      src/admin/album_edit.php
  3. +2
    -1
      src/admin/archives_edit.php
  4. +2
    -1
      src/admin/article_edit.php
  5. +1
    -1
      src/admin/catalog_add.php
  6. +2
    -3
      src/admin/catalog_edit.php
  7. +2
    -2
      src/admin/inc/inc_archives_functions.php
  8. +1
    -1
      src/admin/inc/inc_batchup.php
  9. +1
    -1
      src/admin/inc/inc_menu_func.php
  10. +1
    -1
      src/admin/media_add.php
  11. +2
    -1
      src/admin/member_operations.php
  12. +7
    -5
      src/admin/search_keywords_main.php
  13. +2
    -2
      src/admin/soft_edit.php
  14. +2
    -1
      src/admin/spec_edit.php
  15. +6
    -4
      src/admin/statistics_list.php
  16. +11
    -2
      src/admin/templets/album_edit.htm
  17. +11
    -2
      src/admin/templets/archives_edit.htm
  18. +1
    -1
      src/admin/templets/archives_sg_edit.htm
  19. +1
    -1
      src/admin/templets/article_add.htm
  20. +11
    -2
      src/admin/templets/article_edit.htm
  21. +2
    -2
      src/admin/templets/catalog_add.htm
  22. +2
    -2
      src/admin/templets/catalog_add_quick.htm
  23. +16
    -16
      src/admin/templets/catalog_edit.htm
  24. +1
    -1
      src/admin/templets/content_i_list.htm
  25. +1
    -1
      src/admin/templets/content_list.htm
  26. +1
    -1
      src/admin/templets/content_s_list.htm
  27. +1
    -1
      src/admin/templets/content_sg_list.htm
  28. +1
    -2
      src/admin/templets/index.htm
  29. +6
    -6
      src/admin/templets/index_body.htm
  30. +3
    -3
      src/admin/templets/makehtml_tag_list.htm
  31. +12
    -3
      src/admin/templets/soft_edit.htm
  32. +11
    -2
      src/admin/templets/spec_edit.htm
  33. +5
    -5
      src/admin/templets/sys_info_mark.htm
  34. +34
    -24
      src/admin/templets/sys_payment.htm
  35. +6
    -6
      src/admin/templets/tags_main.htm
  36. +16
    -5
      src/apps/diy.php
  37. +7
    -3
      src/apps/search.php
  38. +4
    -4
      src/data/mark/inc_photowatermark_config.php
  39. +3
    -3
      src/install/sql-dfdata.txt
  40. +13
    -13
      src/install/sql-dftables.txt
  41. +1294
    -1294
      src/static/ckeditor/plugins/image/dialogs/image.js
  42. +1
    -1
      src/static/ckeditor/plugins/pastefromgdocs/filter/default.js
  43. +1
    -1
      src/static/ckeditor/plugins/pastefromlibreoffice/filter/default.js
  44. +39
    -40
      src/static/ckeditor/plugins/pastefromword/filter/default.js
  45. +21
    -19
      src/static/ckeditor/plugins/pastetools/filter/common.js
  46. +9
    -3
      src/static/ckeditor/plugins/pastetools/filter/image.js
  47. +0
    -13
      src/static/ckeditor/plugins/specialchar/dialogs/lang/en-au.js
  48. +0
    -13
      src/static/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js
  49. +0
    -13
      src/static/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js
  50. +0
    -13
      src/static/ckeditor/plugins/specialchar/dialogs/lang/en.js
  51. +0
    -9
      src/static/ckeditor/plugins/specialchar/dialogs/lang/zh.js
  52. +25
    -13
      src/static/web/css/admin.css
  53. +11
    -4
      src/static/web/css/style.css
  54. +5
    -5
      src/system/archive/archives.class.php
  55. +6
    -7
      src/system/archive/freelist.class.php
  56. +19
    -11
      src/system/archive/listview.class.php
  57. +1
    -1
      src/system/archive/partview.class.php
  58. +6
    -7
      src/system/archive/searchview.class.php
  59. +16
    -8
      src/system/archive/sglistview.class.php
  60. +1
    -1
      src/system/archive/sgpage.class.php
  61. +6
    -7
      src/system/archive/specview.class.php
  62. +21
    -19
      src/system/archive/taglist.class.php
  63. +1
    -1
      src/system/channelunit.class.php
  64. +7
    -7
      src/system/customfields.func.php
  65. +1
    -1
      src/system/dedeatt.class.php
  66. +3
    -3
      src/system/dedecollection.func.php
  67. +1
    -1
      src/system/dedeimage.class.php
  68. +3
    -3
      src/system/dedemodule.class.php
  69. +18
    -31
      src/system/dedetag.class.php
  70. +5
    -5
      src/system/dedetemplate.class.php
  71. +1
    -1
      src/system/dedevote.class.php
  72. +1
    -1
      src/system/diyform.class.php
  73. +1
    -1
      src/system/helpers/channelunit.helper.php
  74. +5
    -5
      src/system/helpers/image.helper.php
  75. +1
    -1
      src/system/image.func.php
  76. +2
    -2
      src/system/inc/inc_fun_funAdmin.php
  77. +1
    -1
      src/system/libraries/dedehttpdown.class.php
  78. +1
    -1
      src/system/libraries/mail.class.php
  79. +1
    -1
      src/system/libraries/oxwindow.class.php
  80. +4
    -4
      src/system/libraries/splitword.class.php
  81. +1
    -1
      src/system/memberlogin.class.php
  82. +5
    -3
      src/system/taglib/arclist.lib.php
  83. +1
    -1
      src/system/taglib/arclistsg.lib.php
  84. +5
    -2
      src/system/taglib/channel.lib.php
  85. +1
    -1
      src/system/taglib/likearticle.lib.php
  86. +1
    -1
      src/system/taglib/relation.lib.php
  87. +1
    -1
      src/system/taglib/tag.lib.php
  88. +4
    -4
      src/system/typelink/typelink.class.php
  89. +7
    -7
      src/system/typelink/typeunit.class.admin.php
  90. +1
    -1
      src/system/typelink/typeunit.class.menu.php
  91. +1
    -1
      src/system/typelink/typeunit.class.selector.php
  92. +3
    -7
      src/system/uploadsafe.inc.php
  93. +9
    -6
      src/theme/dedebiz/article_article.htm
  94. +9
    -6
      src/theme/dedebiz/article_default.htm
  95. +9
    -6
      src/theme/dedebiz/article_default_sg.htm
  96. +9
    -6
      src/theme/dedebiz/article_image.htm
  97. +9
    -6
      src/theme/dedebiz/article_infos.htm
  98. +9
    -6
      src/theme/dedebiz/article_soft.htm
  99. +9
    -6
      src/theme/dedebiz/article_spec.htm
  100. +1
    -1
      src/theme/dedebiz/foot.htm

+ 6
- 0
docs/changelog.md Wyświetl plik

@@ -3,6 +3,12 @@

# V6.5.0
- 增加AI助手,可自动化构建站点内容;
- 优化tag动态和静态生成;
- 优化搜索词和tag标签管理;
- 调整文档发布和修改时间;
- 调整支付配置布局;
- 优化后台提示文字;
- 优化php8.4部分兼容问题;

# V6.3.2
- 重做后台管理,手机端更好访问后台;


+ 2
- 1
src/admin/album_edit.php Wyświetl plik

@@ -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();


+ 2
- 1
src/admin/archives_edit.php Wyświetl plik

@@ -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();


+ 2
- 1
src/admin/article_edit.php Wyświetl plik

@@ -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();


+ 1
- 1
src/admin/catalog_add.php Wyświetl plik

@@ -184,7 +184,7 @@ if ($dopost == 'quick') {
}
ShowMsg("成功创建一个栏目", "catalog_main.php");
exit();
}//End dopost==save
}
//获取从父目录继承的默认参数
if ($dopost == '') {
$channelid = 1;


+ 2
- 3
src/admin/catalog_edit.php Wyświetl plik

@@ -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).")";
//顶级栏目二级域名根目录处理


+ 2
- 2
src/admin/inc/inc_archives_functions.php Wyświetl plik

@@ -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分词组件分词


+ 1
- 1
src/admin/inc/inc_batchup.php Wyświetl plik

@@ -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';");


+ 1
- 1
src/admin/inc/inc_menu_func.php Wyświetl plik

@@ -60,5 +60,5 @@ function GetMenus($userrank, $topos = 'main')
echo $footTemplet;
}
}
}//End Function
}
?>

+ 1
- 1
src/admin/media_add.php Wyświetl plik

@@ -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();


+ 2
- 1
src/admin/member_operations.php Wyświetl plik

@@ -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";


+ 7
- 5
src/admin/search_keywords_main.php Wyświetl plik

@@ -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>


+ 2
- 2
src/admin/soft_edit.php Wyświetl plik

@@ -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();


+ 2
- 1
src/admin/spec_edit.php Wyświetl plik

@@ -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();


+ 6
- 4
src/admin/statistics_list.php Wyświetl plik

@@ -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)


+ 11
- 2
src/admin/templets/album_edit.htm Wyświetl plik

@@ -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>


+ 11
- 2
src/admin/templets/archives_edit.htm Wyświetl plik

@@ -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>


+ 1
- 1
src/admin/templets/archives_sg_edit.htm Wyświetl plik

@@ -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">


+ 1
- 1
src/admin/templets/article_add.htm Wyświetl plik

@@ -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>


+ 11
- 2
src/admin/templets/article_edit.htm Wyświetl plik

@@ -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>


+ 2
- 2
src/admin/templets/catalog_add.htm Wyświetl plik

@@ -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>


+ 2
- 2
src/admin/templets/catalog_add_quick.htm Wyświetl plik

@@ -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>


+ 16
- 16
src/admin/templets/catalog_edit.htm Wyświetl plik

@@ -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>


+ 1
- 1
src/admin/templets/content_i_list.htm Wyświetl plik

@@ -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>


+ 1
- 1
src/admin/templets/content_list.htm Wyświetl plik

@@ -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>


+ 1
- 1
src/admin/templets/content_s_list.htm Wyświetl plik

@@ -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>


+ 1
- 1
src/admin/templets/content_sg_list.htm Wyświetl plik

@@ -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>


+ 1
- 2
src/admin/templets/index.htm Wyświetl plik

@@ -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 {?>


+ 6
- 6
src/admin/templets/index_body.htm Wyświetl plik

@@ -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>


+ 3
- 3
src/admin/templets/makehtml_tag_list.htm Wyświetl plik

@@ -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>


+ 12
- 3
src/admin/templets/soft_edit.htm Wyświetl plik

@@ -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>


+ 11
- 2
src/admin/templets/spec_edit.htm Wyświetl plik

@@ -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>


+ 5
- 5
src/admin/templets/sys_info_mark.htm Wyświetl plik

@@ -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>


+ 34
- 24
src/admin/templets/sys_payment.htm Wyświetl plik

@@ -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("保存支付接口设置失败");
}
}
})


+ 6
- 6
src/admin/templets/tags_main.htm Wyświetl plik

@@ -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>`,
});


+ 16
- 5
src/apps/diy.php Wyświetl plik

@@ -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');


+ 7
- 3
src/apps/search.php Wyświetl plik

@@ -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();
}
//检查搜索间隔时间


+ 4
- 4
src/data/mark/inc_photowatermark_config.php Wyświetl plik

@@ -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';

+ 3
- 3
src/install/sql-dfdata.txt Wyświetl plik

@@ -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'),


+ 13
- 13
src/install/sql-dftables.txt Wyświetl plik

@@ -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`),


+ 1294
- 1294
src/static/ckeditor/plugins/image/dialogs/image.js
Plik diff jest za duży
Wyświetl plik


+ 1
- 1
src/static/ckeditor/plugins/pastefromgdocs/filter/default.js Wyświetl plik

@@ -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
- 1
src/static/ckeditor/plugins/pastefromlibreoffice/filter/default.js Wyświetl plik

@@ -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"===


+ 39
- 40
src/static/ckeditor/plugins/pastefromword/filter/default.js Wyświetl plik

@@ -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|&nbsp;)+$/))return t.elements.replaceWithChildren(d),!1;d.attributes.style.match(/FONT-FAMILY:\s*Symbol/i)&&d.forEach(function(a){a.value=a.value.replace(/&nbsp;/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(/&nbsp;/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(/(?: |&nbsp;).*$/,"");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|&nbsp;)*$/)&&
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(/^(?: |&nbsp;)*\(?[a-zA-Z0-9]+?[\.\)](?: |&nbsp;){2,}/)?!0:p.isDegenerateListItem(b,a)},cleanupEdgeListItem:function(b){var a=!1;b.forEach(function(b){a||(b.value=b.value.replace(/^(?:&nbsp;|[\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|&nbsp;)+$/))return t.elements.replaceWithChildren(a),!1;a.attributes.style.match(/FONT-FAMILY:\s*Symbol/i)&&a.forEach(function(a){a.value=a.value.replace(/&nbsp;/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(/&nbsp;/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(/(?: |&nbsp;).*$/,"");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|&nbsp;)*$/)&&
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(/^(?: |&nbsp;)*\(?[a-zA-Z0-9]+?[\.\)](?: |&nbsp;){2,}/)?
!0:p.isDegenerateListItem(c,b)},cleanupEdgeListItem:function(c){var b=!1;c.forEach(function(c){b||(c.value=c.value.replace(/^(?:&nbsp;|[\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})();

+ 21
- 19
src/static/ckeditor/plugins/pastetools/filter/common.js Wyświetl plik

@@ -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(/}$/,"")}}})();

+ 9
- 3
src/static/ckeditor/plugins/pastetools/filter/image.js Wyświetl plik

@@ -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"}]})();

+ 0
- 13
src/static/ckeditor/plugins/specialchar/dialogs/lang/en-au.js Wyświetl plik

@@ -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"});

+ 0
- 13
src/static/ckeditor/plugins/specialchar/dialogs/lang/en-ca.js Wyświetl plik

@@ -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"});

+ 0
- 13
src/static/ckeditor/plugins/specialchar/dialogs/lang/en-gb.js Wyświetl plik

@@ -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"});

+ 0
- 13
src/static/ckeditor/plugins/specialchar/dialogs/lang/en.js Wyświetl plik

@@ -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"});

+ 0
- 9
src/static/ckeditor/plugins/specialchar/dialogs/lang/zh.js Wyświetl plik

@@ -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:"約等於"});

+ 25
- 13
src/static/web/css/admin.css Wyświetl plik

@@ -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;


+ 11
- 4
src/static/web/css/style.css Wyświetl plik

@@ -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%


+ 5
- 5
src/system/archive/archives.class.php Wyświetl plik

@@ -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]);


+ 6
- 7
src/system/archive/freelist.class.php Wyświetl plik

@@ -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
}
?>

+ 19
- 11
src/system/archive/listview.class.php Wyświetl plik

@@ -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
}
?>

+ 1
- 1
src/system/archive/partview.class.php Wyświetl plik

@@ -231,5 +231,5 @@ class PartView
function Close()
{
}
}//End Class
}
?>

+ 6
- 7
src/system/archive/searchview.class.php Wyświetl plik

@@ -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
}
?>

+ 16
- 8
src/system/archive/sglistview.class.php Wyświetl plik

@@ -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
}
?>

+ 1
- 1
src/system/archive/sgpage.class.php Wyświetl plik

@@ -99,5 +99,5 @@ class sgpage
function Close()
{
}
}//End Class
}
?>

+ 6
- 7
src/system/archive/specview.class.php Wyświetl plik

@@ -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
}
?>

+ 21
- 19
src/system/archive/taglist.class.php Wyświetl plik

@@ -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
}
?>

+ 1
- 1
src/system/channelunit.class.php Wyświetl plik

@@ -198,5 +198,5 @@ class ChannelUnit
function Close()
{
}
}//End class ChannelUnit
}
?>

+ 7
- 7
src/system/customfields.func.php Wyświetl plik

@@ -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") {


+ 1
- 1
src/system/dedeatt.class.php Wyświetl plik

@@ -66,7 +66,7 @@ class DedeAtt
{
return $this->Count + 1;
}
}//End DedeAtt
}
/**
* 属性解析器
* function c____DedeAttParse();


+ 3
- 3
src/system/dedecollection.func.php Wyświetl plik

@@ -486,9 +486,9 @@ function GetUrlFromListRule($regxurl = '', $handurl = '', $startid = 0, $endid =
}
}
}
} //End 匹配多栏目
} //End使用规则匹配的情况
}
}
}
return $lists;
}//End
}
?>

+ 1
- 1
src/system/dedeimage.class.php Wyświetl plik

@@ -271,5 +271,5 @@ class DedeImage
}
}
}
}//End Class
}
?>

+ 3
- 3
src/system/dedemodule.class.php Wyświetl plik

@@ -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
}
?>

+ 18
- 31
src/system/dedetag.class.php Wyświetl plik

@@ -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
}
}
?>

+ 5
- 5
src/system/dedetemplate.class.php Wyświetl plik

@@ -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标签内的字符串解析
*


+ 1
- 1
src/system/dedevote.class.php Wyświetl plik

@@ -237,5 +237,5 @@ class DedeVote
$res .= "</table>\r\n";
return $res;
}
}//End Class
}
?>

+ 1
- 1
src/system/diyform.class.php Wyświetl plik

@@ -104,5 +104,5 @@ class diyform
}
return $fields;
}
}//End Class
}
?>

+ 1
- 1
src/system/helpers/channelunit.helper.php Wyświetl plik

@@ -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;
}


+ 5
- 5
src/system/helpers/image.helper.php Wyświetl plik

@@ -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 {


+ 1
- 1
src/system/image.func.php Wyświetl plik

@@ -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;


+ 2
- 2
src/system/inc/inc_fun_funAdmin.php Wyświetl plik

@@ -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) {


+ 1
- 1
src/system/libraries/dedehttpdown.class.php Wyświetl plik

@@ -627,5 +627,5 @@ class DedeHttpDown
$okurl = preg_replace("/\/{1,}/", "/", $okurl);
return $proto.$okurl;
}
}//End Class
}
?>

+ 1
- 1
src/system/libraries/mail.class.php Wyświetl plik

@@ -258,5 +258,5 @@ class smtp
echo $message;
}
}
}//End Class
}
?>

+ 1
- 1
src/system/libraries/oxwindow.class.php Wyświetl plik

@@ -216,7 +216,7 @@ class OxWindow
$ctp->Display();
$ctp->Clear();
}
}//End Class
}
/**
* 显示一个不带表单的普通提示
*


+ 4
- 4
src/system/libraries/splitword.class.php Wyświetl plik

@@ -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;
}
/**


+ 1
- 1
src/system/memberlogin.class.php Wyświetl plik

@@ -559,5 +559,5 @@ class MemberLogin
}
return $result;
}
}//End Class
}
?>

+ 5
- 3
src/system/taglib/arclist.lib.php Wyświetl plik

@@ -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'];


+ 1
- 1
src/system/taglib/arclistsg.lib.php Wyświetl plik

@@ -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'];


+ 5
- 2
src/system/taglib/channel.lib.php Wyświetl plik

@@ -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);


+ 1
- 1
src/system/taglib/likearticle.lib.php Wyświetl plik

@@ -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'];


+ 1
- 1
src/system/taglib/relation.lib.php Wyświetl plik

@@ -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'];


+ 1
- 1
src/system/taglib/tag.lib.php Wyświetl plik

@@ -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) {


+ 4
- 4
src/system/typelink/typelink.class.php Wyświetl plik

@@ -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
}
}
?>

+ 7
- 7
src/system/typelink/typeunit.class.admin.php Wyświetl plik

@@ -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
}
?>

+ 1
- 1
src/system/typelink/typeunit.class.menu.php Wyświetl plik

@@ -164,5 +164,5 @@ class TypeUnit
}
}
}
}//End Class
}
?>

+ 1
- 1
src/system/typelink/typeunit.class.selector.php Wyświetl plik

@@ -127,5 +127,5 @@ class TypeUnitSelector
}
}
}
}//End Class
}
?>

+ 3
- 7
src/system/uploadsafe.inc.php Wyświetl plik

@@ -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) {


+ 9
- 6
src/theme/dedebiz/article_article.htm Wyświetl plik

@@ -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>


+ 9
- 6
src/theme/dedebiz/article_default.htm Wyświetl plik

@@ -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">


+ 9
- 6
src/theme/dedebiz/article_default_sg.htm Wyświetl plik

@@ -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">


+ 9
- 6
src/theme/dedebiz/article_image.htm Wyświetl plik

@@ -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">


+ 9
- 6
src/theme/dedebiz/article_infos.htm Wyświetl plik

@@ -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>


+ 9
- 6
src/theme/dedebiz/article_soft.htm Wyświetl plik

@@ -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">


+ 9
- 6
src/theme/dedebiz/article_spec.htm Wyświetl plik

@@ -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>


+ 1
- 1
src/theme/dedebiz/foot.htm Wyświetl plik

@@ -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");


Niektóre pliki nie zostały wyświetlone z powodu dużej ilości zmienionych plików

Ładowanie…
Anuluj
Zapisz