summaryrefslogtreecommitdiff
path: root/demos/personal/protected
diff options
context:
space:
mode:
Diffstat (limited to 'demos/personal/protected')
-rw-r--r--demos/personal/protected/Pages/Home.php14
-rw-r--r--demos/personal/protected/Pages/Layout.php5
-rw-r--r--demos/personal/protected/Pages/Layout.tpl42
-rw-r--r--demos/personal/protected/Pages/Settings.page4
-rw-r--r--demos/personal/protected/Pages/UserLogin.page23
-rw-r--r--demos/personal/protected/Pages/UserLogin.php13
-rw-r--r--demos/personal/protected/Pages/config.xml3
-rw-r--r--demos/personal/protected/application.xml6
8 files changed, 72 insertions, 38 deletions
diff --git a/demos/personal/protected/Pages/Home.php b/demos/personal/protected/Pages/Home.php
index cca7d57b..badbca73 100644
--- a/demos/personal/protected/Pages/Home.php
+++ b/demos/personal/protected/Pages/Home.php
@@ -2,20 +2,6 @@
class Home extends TPage
{
- public function onPreInit($param)
- {
- parent::onPreInit($param);
- if(!$this->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/Layout.php b/demos/personal/protected/Pages/Layout.php
index ba96038b..37ed95d4 100644
--- a/demos/personal/protected/Pages/Layout.php
+++ b/demos/personal/protected/Pages/Layout.php
@@ -2,6 +2,11 @@
class Layout extends TTemplateControl
{
+ public function logout($sender,$param)
+ {
+ $this->Application->getModule('auth')->logout();
+ $this->Response->redirect($this->Service->constructUrl('Home'));
+ }
}
?> \ No newline at end of file
diff --git a/demos/personal/protected/Pages/Layout.tpl b/demos/personal/protected/Pages/Layout.tpl
index db6dd242..f1064231 100644
--- a/demos/personal/protected/Pages/Layout.tpl
+++ b/demos/personal/protected/Pages/Layout.tpl
@@ -1,29 +1,45 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
-<head>
-<title>My Personal Website</title>
-</head>
+
+<com:THead Title="My Personal WebSite" />
+
<body>
+
<com:TForm>
+
<div class="header">
- <h1>Your Name Here</h1>
- <h2>My Personal Site</h2>
- <div class="nav">
- <a href=<%=$this->Service->constructUrl('Home') %> >HOME</a> |
- <a href=<%=$this->Service->constructUrl('Resume') %> >RESUME</a> |
- <a href=<%=$this->Service->constructUrl('Links') %> >LINKS</a> |
- <a href=<%=$this->Service->constructUrl('Albums') %> >ALBUMS</a> |
- <a href=<%=$this->Service->constructUrl('UserLogin') %> >LOGIN</a>
- </div>
+<h1>Your Name Here</h1>
+<h2>My Personal Site</h2>
+<div class="nav">
+<a href="<%=$this->Service->constructUrl('Home') %>" >HOME</a> |
+<a href="<%=$this->Service->constructUrl('Blog') %>" >BLOG</a> |
+<a href="<%=$this->Service->constructUrl('Albums') %>" >ALBUMS</a> |
+<a href="<%=$this->Service->constructUrl('Links') %>" >LINKS</a> |
+<a href="<%=$this->Service->constructUrl('Settings') %>" >SETTINGS</a> |
+<com:THyperLink
+ NavigateUrl=<%=$this->Service->constructUrl('UserLogin') %>
+ Text="LOGIN"
+ Visible=<%= $this->User->IsGuest %>
+ />
+<com:TLinkButton
+ Text="LOGOUT"
+ Visible=<%= !$this->User->IsGuest %>
+ Click="logout"
+ />
</div>
+</div>
+<hr/>
<div class="main">
<com:TContentPlaceHolder ID="main" />
</div>
+<hr/>
<div class="footer">
- Copyright &copy; 2005 Your Name here.<br/>
+ Copyright &copy; 2006 Your Name here.<br/>
Powered by <a href="http://www.pradosoft.com/">PRADO</a>.
</div>
+
</com:TForm>
+
</body>
</html> \ No newline at end of file
diff --git a/demos/personal/protected/Pages/Settings.page b/demos/personal/protected/Pages/Settings.page
new file mode 100644
index 00000000..48dfde96
--- /dev/null
+++ b/demos/personal/protected/Pages/Settings.page
@@ -0,0 +1,4 @@
+<com:TContent ID="main" >
+Welcome, <com:TLabel Text=<%= $this->User->Name %> />!
+This page contains site settings accessible only to site admin.
+</com:TContent> \ No newline at end of file
diff --git a/demos/personal/protected/Pages/UserLogin.page b/demos/personal/protected/Pages/UserLogin.page
index 588b8f6a..4bad6780 100644
--- a/demos/personal/protected/Pages/UserLogin.page
+++ b/demos/personal/protected/Pages/UserLogin.page
@@ -1,7 +1,18 @@
<com:TContent ID="main" >
-Username: <com:TTextBox ID="username" /><br/>
-Password: <com:TTextBox ID="password" TextMode="Password" /><br/>
-<com:TButton Text="Login" Click="login" />
-<com:TLabel ID="error" />
-</com:TContent>
-
+Username:
+<com:TTextBox ID="Username" />
+<com:TRequiredFieldValidator
+ ControlToValidate="Username"
+ Text="Username is required."
+ Display="Dynamic"/>
+<br/>
+Password: <com:TTextBox ID="Password" TextMode="Password" /><br/>
+<com:TButton Text="Login" />
+<com:TCustomValidator
+ ControlToValidate="Password"
+ Text="Login failed."
+ Display="Dynamic"
+ ServerValidate="login"
+ />
+<com:TLabel ID="Error" />
+</com:TContent> \ No newline at end of file
diff --git a/demos/personal/protected/Pages/UserLogin.php b/demos/personal/protected/Pages/UserLogin.php
index 70cbc986..0dd2cd79 100644
--- a/demos/personal/protected/Pages/UserLogin.php
+++ b/demos/personal/protected/Pages/UserLogin.php
@@ -5,10 +5,15 @@ class UserLogin extends TPage
public function login($sender,$param)
{
$manager=$this->Application->getModule('auth');
- if($manager->login($this->username->Text,$this->password->Text))
- $this->Application->Response->redirect($this->Application->Request->Items['ReturnUrl']);
- else
- $this->error->Text='login failed';
+ if(!$manager->login($this->Username->Text,$this->Password->Text))
+ $param->IsValid=false;
+ }
+
+ public function onLoadComplete($param)
+ {
+ parent::onLoadComplete($param);
+ if($this->IsPostBack && $this->IsValid)
+ $this->Response->redirect($this->Request->Items['ReturnUrl']);
}
}
diff --git a/demos/personal/protected/Pages/config.xml b/demos/personal/protected/Pages/config.xml
index ca63c17b..fa047ceb 100644
--- a/demos/personal/protected/Pages/config.xml
+++ b/demos/personal/protected/Pages/config.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
+ <authorization>
+ <deny pages="Settings" users="?" />
+ </authorization>
<pages MasterClass="Application.Pages.Layout" />
</configuration> \ No newline at end of file
diff --git a/demos/personal/protected/application.xml b/demos/personal/protected/application.xml
index dbb51264..84467e98 100644
--- a/demos/personal/protected/application.xml
+++ b/demos/personal/protected/application.xml
@@ -7,6 +7,10 @@
<module id="cache" class="System.Data.TSqliteCache" />
-->
<module id="session" class="THttpSession" />
+ <module id="log" class="System.Log.TLogRouter">
+ <route class="TBrowserLogRoute" Categories="System.Web.UI.TPage" />
+ <route class="TFileLogRoute" Categories="System.Web.UI.TPage" />
+ </module>
</modules>
<services>
<!-- page service -->
@@ -18,7 +22,7 @@
<user name="demo" password="demo" />
</module>
<!-- auth manager module -->
- <module id="auth" class="System.Security.TAuthManager" UserManager="users" LoginPage="Login" />
+ <module id="auth" class="System.Security.TAuthManager" UserManager="users" LoginPage="UserLogin" />
</modules>
</service>
</services>