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

59 lines
1.9KB

  1. <?php
  2. /**
  3. *
  4. * 自定义标签js调用方式
  5. *
  6. * @version $Id: mytag_js.php$
  7. * @package DedeCMS.Site
  8. * @copyright Copyright (c) 2020, DedeBIZ.COM
  9. * @license https://www.dedebiz.com/license
  10. * @link https://www.dedebiz.com
  11. */
  12. require_once(dirname(__FILE__).'/../include/common.inc.php');
  13. require_once(DEDEINC.'/arc.partview.class.php');
  14. if(isset($arcID)) $aid = $arcID;
  15. $arcID = $aid = (isset($aid) && is_numeric($aid)) ? $aid : 0;
  16. if($aid==0) die(" document.write('Request Error!'); ");
  17. $cacheFile = DEDEDATA.'/cache/mytag-'.$aid.'.htm';
  18. if( isset($nocache) || !file_exists($cacheFile) || time() - filemtime($cacheFile) > $cfg_puccache_time )
  19. {
  20. $pv = new PartView();
  21. $row = $pv->dsql->GetOne(" SELECT * FROM `#@__mytag` WHERE aid='$aid' ");
  22. if(!is_array($row))
  23. {
  24. $myvalues = "<!--\r\ndocument.write('Not found input!');\r\n-->";
  25. }
  26. else
  27. {
  28. $tagbody = '';
  29. if($row['timeset']==0)
  30. {
  31. $tagbody = $row['normbody'];
  32. }
  33. else
  34. {
  35. $ntime = time();
  36. if($ntime>$row['endtime'] || $ntime < $row['starttime']) {
  37. $tagbody = $row['expbody'];
  38. }
  39. else {
  40. $tagbody = $row['normbody'];
  41. }
  42. }
  43. $pv->SetTemplet($tagbody, 'string');
  44. $myvalues = $pv->GetResult();
  45. $myvalues = str_replace('"','\"',$myvalues);
  46. $myvalues = str_replace("\r","\\r",$myvalues);
  47. $myvalues = str_replace("\n","\\n",$myvalues);
  48. $myvalues = "<!--\r\ndocument.write(\"{$myvalues}\");\r\n-->\r\n";
  49. file_put_contents($cacheFile, $myvalues);
  50. /* 使用 file_put_contents替换下列代码提高执行效率
  51. $fp = fopen($cacheFile, 'w');
  52. fwrite($fp, $myvalues);
  53. fclose($fp);
  54. */
  55. }
  56. }
  57. include $cacheFile;