国内流行的内容管理系统(CMS)多端全媒体解决方案 https://www.dedebiz.com
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
4.0KB

  1. <?php
  2. /**
  3. * 文档随机模板
  4. *
  5. * @version $Id: article_template_rand.php 1 14:31 2010年7月12日Z tianya $
  6. * @package DedeCMS.Administrator
  7. * @copyright Copyright (c) 2007 - 2020, DesDev, Inc.
  8. * @license http://help.dedecms.com/usersguide/license.html
  9. * @link http://www.dedecms.com
  10. */
  11. require_once(dirname(__FILE__).'/config.php');
  12. require_once(DEDEINC.'/oxwindow.class.php');
  13. CheckPurview('sys_StringMix');
  14. if(empty($dopost)) $dopost = '';
  15. $templates = empty($templates) ? '' : stripslashes($templates);
  16. $m_file = DEDEDATA.'/template.rand.php';
  17. //----------------------action
  18. $okmsg = '';
  19. //保存配置
  20. if($dopost=='save')
  21. {
  22. csrf_check();
  23. $fp = fopen($m_file,'w');
  24. flock($fp,3);
  25. fwrite($fp,$templates);
  26. fclose($fp);
  27. $okmsg = '成功保存配置信息 AT:('.MyDate('H:i:s', time()).')';
  28. }
  29. //对旧文档进行随机模板处理
  30. else if($dopost=='makeold')
  31. {
  32. csrf_check();
  33. set_time_limit(3600);
  34. if(!file_exists($m_file))
  35. {
  36. AjaxHead();
  37. echo "配置文件不存在!";
  38. exit();
  39. }
  40. require_once($m_file);
  41. if($cfg_tamplate_rand==0)
  42. {
  43. AjaxHead();
  44. echo "系统没开启允许随机模板的选项!";
  45. exit();
  46. }
  47. $totalTmp = count($cfg_tamplate_arr) - 1;
  48. if( $totalTmp < 1 )
  49. {
  50. AjaxHead();
  51. echo "随机模板的数量必须为2个或以上!";
  52. exit();
  53. }
  54. for($i=0; $i < 10; $i++)
  55. {
  56. $temp = $cfg_tamplate_arr[mt_rand(0, $totalTmp)];
  57. $dsql->ExecuteNoneQuery(" Update `#@__addonarticle` set templet='$temp' where RIGHT(aid, 1)='$i' ");
  58. }
  59. AjaxHead();
  60. echo "全部随机操作成功!";
  61. exit();
  62. }
  63. //清除全部的指定模板
  64. else if($dopost=='clearold')
  65. {
  66. csrf_check();
  67. $dsql->ExecuteNoneQuery(" Update `#@__addonarticle` set templet='' ");
  68. $dsql->ExecuteNoneQuery(" OPTIMIZE TABLE `#@__addonarticle` ");
  69. AjaxHead();
  70. echo "全部清除操作成功!";
  71. exit();
  72. }
  73. //-------------------------read
  74. //读出
  75. if(empty($templates) && filesize($m_file)>0)
  76. {
  77. $fp = fopen($m_file,'r');
  78. $templates = fread($fp,filesize($m_file));
  79. fclose($fp);
  80. }
  81. $wintitle = "随机模板防采集设置";
  82. $wecome_info = "随机模板防采集设置";
  83. make_hash();
  84. $msg = "
  85. <link href='images/base.css' rel='stylesheet' type='text/css' />
  86. <script language='javascript' src='js/main.js'></script>
  87. <script language='javascript' src='../static/js/dedeajax2.js'></script>
  88. <script language='javascript'>
  89. function DoRand(jobname)
  90. {
  91. ChangeFullDiv('show');
  92. \$DE('loading').style.display = 'block';
  93. var myajax = new DedeAjax(\$DE('tmpct'));
  94. myajax.SendGet2('article_template_rand.php?dopost='+jobname+'&token={$_SESSION['token']}');
  95. \$DE('loading').style.display = 'none';
  96. ChangeFullDiv('hide');
  97. }
  98. </script>
  99. <div id='loading' style='z-index:3000;top:160;left:300;position:absolute;display:none;'>
  100. <img src='images/loadinglit.gif' /> 请稍后,正在操作中...
  101. </div>
  102. <table width='98%' align='center'>
  103. <tr>
  104. <td height='28'>
  105. 如果你想对旧的文章应用随机模板设置,请点击此对旧文章进行处理(必须设置好模板项)!
  106. &nbsp; <a href='#' onclick='DoRand(\"makeold\")'>[<u>设置全部</u>]</a>
  107. &nbsp; <a href='#' onclick='DoRand(\"clearold\")'>[<u>取消全部</u>]</a>
  108. &nbsp; <span id='tmpct' style='color:red;font-weight:bold'>$okmsg</span>
  109. </td>
  110. </tr>
  111. <tr>
  112. <td bgcolor='#F9FCEF'><b>请按说明修改设置:</b></td>
  113. </tr>
  114. <tr>
  115. <td><textarea name='templates' id='templates' style='width:100%;height:250px'>$templates</textarea></td>
  116. </tr>
  117. </table>";
  118. $win = new OxWindow();
  119. $win->Init('article_template_rand.php','js/blank.js','POST');
  120. $win->AddHidden('dopost','save');
  121. $win->AddHidden('token',$_SESSION['token']);
  122. $win->AddTitle("本设置仅适用于系统默认的文章模型,设置后发布文章时会自动按指定的模板随机获取一个,如果不想使用此功能,把它设置为空即可!");
  123. $win->AddMsgItem($msg);
  124. $winform = $win->GetWindow('ok');
  125. $win->Display();