国内流行的内容管理系统(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.

120 lines
3.9KB

  1. <?php
  2. /**
  3. * 文档随机模板
  4. *
  5. * @version $Id: article_template_rand.php 1 14:31 2010年7月12日Z tianya $
  6. * @package DedeBIZ.Administrator
  7. * @copyright Copyright (c) 2022, DedeBIZ.COM
  8. * @license https://www.dedebiz.com/license
  9. * @link https://www.dedebiz.com
  10. */
  11. use DedeBIZ\libraries\DedeWin;
  12. use DedeBIZ\Login\UserLogin;
  13. require_once(dirname(__FILE__).'/config.php');
  14. UserLogin::CheckPurview('sys_StringMix');
  15. if (empty($dopost)) $dopost = '';
  16. $templates = empty($templates) ? '' : stripslashes($templates);
  17. $m_file = DEDEDATA.'/template.rand.txt';
  18. $okmsg = '';
  19. //保存配置
  20. if ($dopost == 'save') {
  21. CheckCSRF();
  22. $fp = fopen($m_file, 'w');
  23. flock($fp, 3);
  24. fwrite($fp, $templates);
  25. fclose($fp);
  26. $okmsg = Lang('article_template_rand_success_save');
  27. }
  28. //对旧文档进行随机模板处理
  29. else if ($dopost == 'makeold') {
  30. CheckCSRF();
  31. set_time_limit(3600);
  32. if (!file_exists($m_file)) {
  33. AjaxHead();
  34. echo Lang("article_template_rand_err_filenotexists");
  35. exit();
  36. }
  37. $fileData = file_get_contents($m_file);
  38. $arrs = preg_split("#[\t\r\n]#", $fileData);
  39. $cfg_tamplate_arr = array();
  40. foreach ($arrs as $value) {
  41. if (trim($value) !== "") {
  42. $cfg_tamplate_arr[] = trim($value);
  43. }
  44. }
  45. if ($cfg_tamplate_rand == 0) {
  46. AjaxHead();
  47. echo Lang("article_template_rand_err_cfg");
  48. exit();
  49. }
  50. $totalTmp = count($cfg_tamplate_arr) - 1;
  51. if ($totalTmp < 1) {
  52. AjaxHead();
  53. echo Lang("article_template_rand_err_tt");
  54. exit();
  55. }
  56. for ($i = 0; $i < 10; $i++) {
  57. $temp = $cfg_tamplate_arr[mt_rand(0, $totalTmp)];
  58. $dsql->ExecuteNoneQuery("UPDATE `#@__addonarticle` set templet='$temp' where RIGHT(aid, 1)='$i'");
  59. }
  60. AjaxHead();
  61. echo Lang("article_template_rand_success");
  62. exit();
  63. }
  64. //清除全部的指定模板
  65. else if ($dopost == 'clearold') {
  66. CheckCSRF();
  67. $dsql->ExecuteNoneQuery("UPDATE `#@__addonarticle` set templet=''");
  68. $dsql->ExecuteNoneQuery(" OPTIMIZE TABLE `#@__addonarticle`");
  69. AjaxHead();
  70. echo Lang("article_template_rand_success");
  71. exit();
  72. }
  73. //读出
  74. if (empty($templates) && filesize($m_file) > 0) {
  75. $fp = fopen($m_file, 'r');
  76. $templates = fread($fp, filesize($m_file));
  77. fclose($fp);
  78. }
  79. $wintitle = Lang("article_template_rand");
  80. $wecome_info = Lang("article_template_rand");
  81. make_hash();
  82. $msg = "
  83. <link rel='stylesheet' href='../static/web/css/admin.min.css'>
  84. <script src='js/main.js'></script>
  85. <script src='../static/web/js/webajax.js'></script>
  86. <script>
  87. function DoRand(jobname)
  88. {
  89. ChangeFullDiv('show');
  90. \$DE('loading').style.display = 'block';
  91. fetch('article_template_rand.php?dopost='+jobname+'&token={$_SESSION['token']}').then(resp=>resp.text()).then((d)=>{
  92. \$DE('tmpct').innerHTML = d;
  93. \$DE('loading').style.display = 'none';
  94. ChangeFullDiv('hide');
  95. });
  96. }
  97. </script>
  98. <div id='loading' style='position:absolute;top:160;display:none;z-index:3000'>
  99. <img src='../static/web/img/load.gif'>".Lang('article_template_rand_doing')."
  100. </div>
  101. <table width='100%' align='center'>
  102. <tr>
  103. <td>
  104. ".Lang('article_template_rand_tip')."
  105. <a href='javascript:;' onclick='DoRand(\"makeold\")' class='btn btn-success btn-sm'>".Lang('article_template_rand_makeold')."</a>
  106. <a href='javascript:;' onclick='DoRand(\"clearold\")' class='btn btn-success btn-sm'>".Lang('article_template_rand_clearold')."</a>
  107. <span id='tmpct' style='color:#dc3545;font-weight:bold'>$okmsg</span>
  108. </td>
  109. </tr>
  110. <tr>
  111. <td><textarea name='templates' id='templates' style='width:100%;height:250px'>$templates</textarea></td>
  112. </tr>
  113. </table>";
  114. DedeWin::Instance()->Init('article_template_rand.php', 'js/blank.js', 'POST')
  115. ->AddHidden('dopost', 'save')
  116. ->AddHidden('token', $_SESSION['token'])
  117. ->AddTitle(Lang("article_template_rand_title"))
  118. ->AddMsgItem($msg)
  119. ->GetWindow('ok')->Display();
  120. ?>