From e496a122dc31ca318ea5fe56ed1d8c231fd14b53 Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 16 Nov 2005 18:44:00 +0000 Subject: --- .gitattributes | 1 + demos/personal/protected/data1/DataModule.php | 120 ++++++++++++++++++++++++++ 2 files changed, 121 insertions(+) create mode 100644 demos/personal/protected/data1/DataModule.php diff --git a/.gitattributes b/.gitattributes index afb53b34..5b9b6d34 100644 --- a/.gitattributes +++ b/.gitattributes @@ -26,6 +26,7 @@ demos/personal/protected/Pages/LoginPage.tpl -text demos/personal/protected/Pages/config.xml -text demos/personal/protected/application.xml -text demos/personal/protected/data/DataModule.php -text +demos/personal/protected/data1/DataModule.php -text demos/personal/themes/BlueTheme/buttons.skin -text demos/personal/themes/BlueTheme/icon_profile.gif -text demos/personal/themes/BlueTheme/labels.skin -text diff --git a/demos/personal/protected/data1/DataModule.php b/demos/personal/protected/data1/DataModule.php new file mode 100644 index 00000000..03ee3496 --- /dev/null +++ b/demos/personal/protected/data1/DataModule.php @@ -0,0 +1,120 @@ +_db=null; + parent::__destruct(); + } + + /** + * Initializes this module. + * This method is required by the IModule interface. It checks if the DbFile + * property is set, and creates a SQLiteDatabase instance for it. + * If the database or the tables do not exist, they will be created. + * @param IApplication Prado application, can be null + * @param TXmlElement configuration for this module, can be null + * @throws TConfigurationException DbFile is set invalid + */ + public function init($application,$config) + { + if(!function_exists('sqlite_open')) + throw new TConfigurationException('SQLite extension required.'); + if($this->_file===null) + throw new TConfigurationException('SQLite db file required.'); + if(($fname=Prado::getPathOfNamespace($this->_file,self::DB_FILE_EXT))===null) + throw new TConfigurationException('SQLite db file invalid: '.$this->_file); + $error=''; + if(($this->_db=new SQLiteDatabase($fname,0666,$error))===false) + throw new TConfigurationException('SQLite db connection failed: ',$error); + $res=$this->_db->query('SELECT * FROM sqlite_master WHERE tbl_name=\'tblBlogs\' AND type=\'table\''); + if($res===false || $res->numRows()===0 && $this->_db->query(self::DB_SCHEMA)===false) + throw new TConfigurationException('SQLite db table creation failed: '.sqlite_error_string(sqlite_last_error())); + $this->_initialized=true; + } + + /** + * @return string id of this module + */ + public function getID() + { + return $this->_id; + } + + /** + * @param string id of this module + */ + public function setID($value) + { + $this->_id=$value; + } + + /** + * @return string database file path (in namespace form) + */ + public function getDbFile() + { + return $this->_file; + } + + /** + * @param string database file path (in namespace form) + * @throws TInvalidOperationException if the module is already initialized + */ + public function setDbFile($value) + { + if($this->_initialized) + throw new TInvalidOperationException('DbFile cannot be modified after the module is initialized.'); + else + $this->_file=$value; + } + + public function getBlogsByTime($time) + { + } +} + +class Blog +{ + public $id; + public $title; + public $author; + public $content; + public $lastupdate; + public $comments; +} + +class Comment +{ + public $id; + public $bid; + public $author; + public $content; + public $lastupdate; +} + +?> \ No newline at end of file -- cgit v1.2.3