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

110 lines
2.9KB

  1. <?php
  2. if (!defined('DEDEINC')) exit('dedebiz');
  3. /**
  4. * 单表模型视图类
  5. *
  6. * @version $id:sgpage.class.php 15:48 2010年7月7日 tianya $
  7. * @package DedeBIZ.Libraries
  8. * @copyright Copyright (c) 2022 DedeBIZ.COM
  9. * @license https://www.dedebiz.com/license
  10. * @link https://www.dedebiz.com
  11. */
  12. require_once(DEDEINC."/archive/partview.class.php");
  13. /**
  14. * 单表模型列表视图类
  15. *
  16. * @package SgListView
  17. * @subpackage DedeBIZ.Libraries
  18. * @link https://www.dedebiz.com
  19. */
  20. class sgpage
  21. {
  22. var $dsql;
  23. var $dtp;
  24. var $TypeID;
  25. var $Fields;
  26. var $TypeLink;
  27. var $partView;
  28. /**
  29. * php5构造函数
  30. *
  31. * @access public
  32. * @param int $aid 文档ID
  33. * @return string
  34. */
  35. function __construct($aid)
  36. {
  37. global $cfg_basedir, $cfg_templets_dir, $cfg_df_style, $envs;
  38. $this->dsql = $GLOBALS['dsql'];
  39. $this->dtp = new DedeTagParse();
  40. $this->dtp->refObj = $this;
  41. $this->dtp->SetNameSpace("dede", "{", "}");
  42. $this->Fields = $this->dsql->GetOne("SELECT * FROM `#@__sgpage` WHERE aid='$aid' ");
  43. $envs['aid'] = $this->Fields['aid'];
  44. //设置一些全局参数的值
  45. foreach ($GLOBALS['PubFields'] as $k => $v) {
  46. $this->Fields[$k] = $v;
  47. }
  48. if ($this->Fields['ismake'] == 1) {
  49. $pv = new PartView();
  50. $pv->SetTemplet($this->Fields['body'], 'string');
  51. $this->Fields['body'] = $pv->GetResult();
  52. }
  53. $tplfile = $cfg_basedir.str_replace('{style}', $cfg_templets_dir.'/'.$cfg_df_style, $this->Fields['template']);
  54. $this->dtp->LoadTemplate($tplfile);
  55. $this->ParseTemplet();
  56. }
  57. //php4构造函数
  58. function sgpage($aid)
  59. {
  60. $this->__construct($aid);
  61. }
  62. /**
  63. * 显示文档
  64. *
  65. * @access public
  66. * @return void
  67. */
  68. function Display()
  69. {
  70. $this->dtp->Display();
  71. }
  72. /**
  73. * 获取文档
  74. *
  75. * @access public
  76. * @return void
  77. */
  78. function GetResult()
  79. {
  80. return $this->dtp->GetResult();
  81. }
  82. /**
  83. * 保存结果为文件
  84. *
  85. * @access public
  86. * @return void
  87. */
  88. function SaveToHtml()
  89. {
  90. $filename = $GLOBALS['cfg_basedir'].$GLOBALS['cfg_cmspath'].'/'.$this->Fields['filename'];
  91. $filename = preg_replace("/\/{1,}/", '/', $filename);
  92. $this->dtp->SaveTo($filename);
  93. }
  94. /**
  95. * 解析模板里的标签
  96. *
  97. * @access public
  98. * @return string
  99. */
  100. function ParseTemplet()
  101. {
  102. $GLOBALS['envs']['likeid'] = $this->Fields['likeid'];
  103. MakeOneTag($this->dtp, $this);
  104. }
  105. //关闭所占用的资源
  106. function Close()
  107. {
  108. }
  109. }//End Class
  110. ?>