From 749dec2fcae7b8cdd86ecc923b1af3abfadbcde2 Mon Sep 17 00:00:00 2001 From: xue <> Date: Wed, 16 Nov 2005 13:33:17 +0000 Subject: --- demos/personal/protected/application.cache | Bin 0 -> 3881 bytes demos/personal/protected/application.xml | 30 +++++++ demos/personal/protected/data/DataModule.php | 120 +++++++++++++++++++++++++++ demos/personal/protected/data/site.db | Bin 0 -> 3072 bytes demos/personal/protected/pages/HomePage.php | 21 +++++ demos/personal/protected/pages/HomePage.tpl | 3 + demos/personal/protected/pages/Layout.php | 7 ++ demos/personal/protected/pages/Layout.tpl | 27 ++++++ demos/personal/protected/pages/LoginPage.php | 15 ++++ demos/personal/protected/pages/LoginPage.tpl | 7 ++ demos/personal/protected/pages/config.xml | 8 ++ 11 files changed, 238 insertions(+) create mode 100644 demos/personal/protected/application.cache create mode 100644 demos/personal/protected/application.xml create mode 100644 demos/personal/protected/data/DataModule.php create mode 100644 demos/personal/protected/data/site.db create mode 100644 demos/personal/protected/pages/HomePage.php create mode 100644 demos/personal/protected/pages/HomePage.tpl create mode 100644 demos/personal/protected/pages/Layout.php create mode 100644 demos/personal/protected/pages/Layout.tpl create mode 100644 demos/personal/protected/pages/LoginPage.php create mode 100644 demos/personal/protected/pages/LoginPage.tpl create mode 100644 demos/personal/protected/pages/config.xml (limited to 'demos/personal/protected') diff --git a/demos/personal/protected/application.cache b/demos/personal/protected/application.cache new file mode 100644 index 00000000..34dbc18b Binary files /dev/null and b/demos/personal/protected/application.cache differ diff --git a/demos/personal/protected/application.xml b/demos/personal/protected/application.xml new file mode 100644 index 00000000..260f26c7 --- /dev/null +++ b/demos/personal/protected/application.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/demos/personal/protected/data/DataModule.php b/demos/personal/protected/data/DataModule.php new file mode 100644 index 00000000..03ee3496 --- /dev/null +++ b/demos/personal/protected/data/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 diff --git a/demos/personal/protected/data/site.db b/demos/personal/protected/data/site.db new file mode 100644 index 00000000..896c452d Binary files /dev/null and b/demos/personal/protected/data/site.db differ diff --git a/demos/personal/protected/pages/HomePage.php b/demos/personal/protected/pages/HomePage.php new file mode 100644 index 00000000..6c69e44b --- /dev/null +++ b/demos/personal/protected/pages/HomePage.php @@ -0,0 +1,21 @@ +getUser()->getIsGuest()) + $this->setTheme(''); + } + + public function testClick($sender,$param) + { + if($sender->BackColor==='') + $sender->BackColor='blue'; + else + $sender->BackColor=''; + } +} + +?> \ No newline at end of file diff --git a/demos/personal/protected/pages/HomePage.tpl b/demos/personal/protected/pages/HomePage.tpl new file mode 100644 index 00000000..9471a9b9 --- /dev/null +++ b/demos/personal/protected/pages/HomePage.tpl @@ -0,0 +1,3 @@ + +main content + \ No newline at end of file diff --git a/demos/personal/protected/pages/Layout.php b/demos/personal/protected/pages/Layout.php new file mode 100644 index 00000000..ba96038b --- /dev/null +++ b/demos/personal/protected/pages/Layout.php @@ -0,0 +1,7 @@ + \ No newline at end of file diff --git a/demos/personal/protected/pages/Layout.tpl b/demos/personal/protected/pages/Layout.tpl new file mode 100644 index 00000000..500abf3b --- /dev/null +++ b/demos/personal/protected/pages/Layout.tpl @@ -0,0 +1,27 @@ + + + + +My Personal Website + + + +
+

Your Name Here

+

My Personal Site

+ +
+ + +
+ + \ No newline at end of file diff --git a/demos/personal/protected/pages/LoginPage.php b/demos/personal/protected/pages/LoginPage.php new file mode 100644 index 00000000..3a3b8432 --- /dev/null +++ b/demos/personal/protected/pages/LoginPage.php @@ -0,0 +1,15 @@ +Application->AuthManager; + if($manager->login($this->username->Text,$this->password->Text)) + $this->Application->Response->redirect($this->Application->Request->Items['ReturnUrl']); + else + $this->error->Text='login failed'; + } +} + +?> \ No newline at end of file diff --git a/demos/personal/protected/pages/LoginPage.tpl b/demos/personal/protected/pages/LoginPage.tpl new file mode 100644 index 00000000..588b8f6a --- /dev/null +++ b/demos/personal/protected/pages/LoginPage.tpl @@ -0,0 +1,7 @@ + +Username:
+Password:
+ + +
+ diff --git a/demos/personal/protected/pages/config.xml b/demos/personal/protected/pages/config.xml new file mode 100644 index 00000000..b3d6b036 --- /dev/null +++ b/demos/personal/protected/pages/config.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file -- cgit v1.2.3