|
- <?php if(!defined('DEDEINC')) exit("Request Error!");
- /**
- * 织梦控制器基类
- *
- * @version $Id: control.class.php 1 10:33 2010年7月6日Z tianya $
- * @package DedeCMS.Libraries
- * @copyright Copyright (c) 2007 - 2019, DesDev, Inc.
- * @license http://help.dedecms.com/usersguide/license.html
- * @link http://www.dedecms.com
- */
- require_once(DEDEINC."/dedetemplate.class.php");
-
- class Control
- {
- var $tpl;
- var $dsql;
- var $style='default';
- var $_helpers = array();
-
- var $apptpl = '../templates/';
-
- function __construct()
- {
- $this->Control();
- }
-
- // 析构函数
- function Control()
- {
- global $dsql;
- $this->tpl = isset($this->tpl)? $this->tpl : new DedeTemplate();
- $sqltype = "DedeSql";
- if ($GLOBALS['cfg_mysql_type'] == 'mysqli' && function_exists("mysqli_init")) $sqltype = "DedeSql";
- else $sqltype = "DedeSqli";
- $this->dsql = isset($dsql)? $dsql : new $sqltype(FALSE);
- }
-
- //设置模板
- //如果想要使用模板中指定的pagesize,必须在调用模板后才调用 SetSource($sql)
- function SetTemplate($tplfile)
- {
- $tplfile = DEDEAPPTPL.'/'.$this->style.'/'.$tplfile;
- $this->tpl->LoadTemplate($tplfile);
- }
- function SetTemplet($tplfile)
- {
- $tplfile = DEDEAPPTPL.'/'.$this->style.'/'.$tplfile;
- $this->tpl->LoadTemplate($tplfile);
- }
-
- //设置/获取文档相关的各种变量
- function SetVar($k, $v)
- {
- $this->tpl->Assign($k, $v);
- }
-
- function GetVar($k)
- {
- global $_vars;
- return isset($_vars[$k]) ? $_vars[$k] : '';
- }
-
- function Model($name='')
- {
- $name = preg_replace("#[^\w]#", "", $name);
- $modelfile = DEDEMODEL.'/'.$name.'.php';
- if (file_exists($modelfile))
- {
- require_once $modelfile;
- }
- if (!empty($name) && class_exists($name))
- {
- return new $name;
- }
- return false;
- }
-
- function Libraries($name='',$data = '')
- {
- if(defined('APPNAME'))
- {
- $classfile = 'MY_'.$name.'.class.php';
- if ( file_exists ( '../'.APPNAME.'/libraries/'.$classfile ) )
- {
- require '../'.APPNAME.'/libraries/'.$classfile;
- return new $name($data);
- }else{
- if (!empty($name) && class_exists($name))
- {
- return new $name($data);
- }
- }
- return FALSE;
- }else{
- if (!empty($name) && class_exists($name))
- {
- return new $name($data);
- }
- return FALSE;
- }
- }
-
- //载入helper
- function helper($helper = "",$path)
- {
- $help_path = $path.'/data/helper/'.$helper.".helper.php";
- if (file_exists($help_path))
- {
- include_once($help_path);
- }else{
- exit('Unable to load the requested file: '.$helper.".helper.php");
- }
- }
-
- //显示数据
- function Display()
- {
- $this->tpl->SetObject($this);
- $this->tpl->Display();
- }
-
- //保存为HTML
- function SaveTo($filename)
- {
- $this->tpl->SetObject($this);
- $this->tpl->SaveTo($filename);
- }
-
- // 释放资源
- function __destruct() {
- unset($this->tpl);
- $this->dsql->Close(TRUE);
- }
- }
|