summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorxue <>2007-10-01 01:10:04 +0000
committerxue <>2007-10-01 01:10:04 +0000
commit3a7602effa90c05e8f9e4fbfd6db7d774e16beb1 (patch)
tree27c6619baa39278c9f634a44e8e7b34e061eb0bc
parent769c6663a77893cfbc2270db8ba0d506ea5e493f (diff)
final fixes.3.1.1
-rw-r--r--demos/blog/protected/Common/BlogUserManager.php22
-rw-r--r--demos/chat/protected/App_Code/ChatUserManager.php28
-rw-r--r--demos/quickstart/protected/pages/Configurations/UrlMapping.page2
-rw-r--r--demos/quickstart/protected/pages/Controls/TabPanel.page14
-rw-r--r--demos/quickstart/protected/pages/Database/ActiveRecord.page16
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/NewFeatures.page2
-rw-r--r--demos/time-tracker/protected/App_Code/UserManager.php26
7 files changed, 88 insertions, 22 deletions
diff --git a/demos/blog/protected/Common/BlogUserManager.php b/demos/blog/protected/Common/BlogUserManager.php
index a3053c61..efaa7f1f 100644
--- a/demos/blog/protected/Common/BlogUserManager.php
+++ b/demos/blog/protected/Common/BlogUserManager.php
@@ -68,6 +68,28 @@ class BlogUserManager extends TModule implements IUserManager
else
return false;
}
+
+ /**
+ * Saves user auth data into a cookie.
+ * @param THttpCookie the cookie to receive the user auth data.
+ * @since 3.1.1
+ */
+ public function saveUserToCookie($cookie)
+ {
+ // do nothing since we don't support cookie-based auth in this example
+ }
+
+ /**
+ * Returns a user instance according to auth data stored in a cookie.
+ * @param THttpCookie the cookie storing user authentication information
+ * @return TUser the user instance generated based on the cookie auth data, null if the cookie does not have valid auth data.
+ * @since 3.1.1
+ */
+ public function getUserFromCookie($cookie)
+ {
+ // do nothing since we don't support cookie-based auth in this example
+ return null;
+ }
}
?> \ No newline at end of file
diff --git a/demos/chat/protected/App_Code/ChatUserManager.php b/demos/chat/protected/App_Code/ChatUserManager.php
index f8fe09cc..f28ee362 100644
--- a/demos/chat/protected/App_Code/ChatUserManager.php
+++ b/demos/chat/protected/App_Code/ChatUserManager.php
@@ -9,7 +9,7 @@ class ChatUserManager extends TModule implements IUserManager
{
return 'Guest';
}
-
+
/**
* Returns a user instance given the user name.
* @param string user name, null if it is a guest.
@@ -18,7 +18,7 @@ class ChatUserManager extends TModule implements IUserManager
public function getUser($username=null)
{
$user=new TUser($this);
- $user->setIsGuest(true);
+ $user->setIsGuest(true);
if($username !== null)
{
$user->setIsGuest(false);
@@ -27,7 +27,7 @@ class ChatUserManager extends TModule implements IUserManager
}
return $user;
}
-
+
/**
* Add a new user to the database.
* @param string username.
@@ -57,6 +57,28 @@ class ChatUserManager extends TModule implements IUserManager
{
return $this->usernameExists($username);
}
+
+ /**
+ * Saves user auth data into a cookie.
+ * @param THttpCookie the cookie to receive the user auth data.
+ * @since 3.1.1
+ */
+ public function saveUserToCookie($cookie)
+ {
+ // do nothing since we don't support cookie-based auth in this example
+ }
+
+ /**
+ * Returns a user instance according to auth data stored in a cookie.
+ * @param THttpCookie the cookie storing user authentication information
+ * @return TUser the user instance generated based on the cookie auth data, null if the cookie does not have valid auth data.
+ * @since 3.1.1
+ */
+ public function getUserFromCookie($cookie)
+ {
+ // do nothing since we don't support cookie-based auth in this example
+ return null;
+ }
}
diff --git a/demos/quickstart/protected/pages/Configurations/UrlMapping.page b/demos/quickstart/protected/pages/Configurations/UrlMapping.page
index 0837d50d..9ffec5f2 100644
--- a/demos/quickstart/protected/pages/Configurations/UrlMapping.page
+++ b/demos/quickstart/protected/pages/Configurations/UrlMapping.page
@@ -118,7 +118,7 @@ Since version 3.1.1, <tt>TUrlMapping</tt> starts to support constructing customi
<p id="230234" class="block-content">
A matching pattern is one whose <tt>ServiceID</tt> and <tt>ServiceParameter</tt> properties are the same as those passed to <tt>constructUrl()</tt> and whose named parameters are found in the GET variables. For example, <tt>constructUrl('Posts.ListPost',array('cat'=>2))</tt> will use the third pattern in the above example.
-<p>
+<p id="250001" class="block-content">
<p id="230235" class="block-content">
By default, <tt>TUrlMapping</tt> will construct URLs prefixed with the currently requesting PHP script path, such as <tt><b>/path/to/index.php</b>/article/3</tt>. Users may change this behavior by explicitly specifying the URL prefix through its <tt>UrlPrefix</tt> property. For example, if the Web server configuration treats <tt>index.php</tt> as the default script, we can set <tt>UrlPrefix</tt> as <tt>/path/to</tt> and the constructed URL will look like <tt>/path/to/article/3</tt>.
diff --git a/demos/quickstart/protected/pages/Controls/TabPanel.page b/demos/quickstart/protected/pages/Controls/TabPanel.page
index d85de681..c9faaa19 100644
--- a/demos/quickstart/protected/pages/Controls/TabPanel.page
+++ b/demos/quickstart/protected/pages/Controls/TabPanel.page
@@ -1,13 +1,13 @@
<com:TContent ID="body" >
-<h1>TTabPanel</h1>
+<h1 id="106002">TTabPanel</h1>
<com:DocLink ClassPath="System.Web.UI.WebControls.TTabPanel" />
-<p>
+<p id="530002" class="block-content">
<tt>TTabPanel</tt> displays a tabbed panel. Users can click on the tab bar to switching among different tab views. Each tab view is an independent panel that can contain arbitrary content.
</p>
-<p>
+<p id="530003" class="block-content">
A <tt>TTabPanel</tt> control consists of one or several <tt>TTabView</tt> controls representing the possible tab views. At any time, only one tab view is visible (active), which is specified by any of the following properties:
</p>
@@ -17,11 +17,11 @@ A <tt>TTabPanel</tt> control consists of one or several <tt>TTabView</tt> contro
<li><tt>ActiveView</tt> - the visible view instance.</li>
</ul>
-<p>
+<p id="530004" class="block-content">
If both <tt>ActiveViewIndex</tt> and <tt>ActiveViewID</tt> are set, the latter takes precedence.
</p>
-<p>
+<p id="530005" class="block-content">
<tt>TTabPanel</tt> uses CSS to specify the appearance of the tab bar and panel. By default, an embedded CSS file will be published which contains the default CSS for <tt>TTabPanel</tt>. You may also use your own CSS file by specifying the <tt>CssUrl</tt> property. The following properties specify the CSS classes used for elements in a <tt>TTabPanel</tt>:
</p>
@@ -32,11 +32,11 @@ If both <tt>ActiveViewIndex</tt> and <tt>ActiveViewID</tt> are set, the latter t
<li><tt>ViewCssClass</tt> - the CSS class for the div element enclosing view content (defaults to 'tab-view');</li>
</ul>
-<p>
+<p id="530006" class="block-content">
To use TTabPanel, write a template like following:
</p>
-<com:TTextHighlighter Language="prado" CssClass="source">
+<com:TTextHighlighter Language="prado" CssClass="source block-content" id="code_530114">
&lt;com:TTabPanel>
&lt;com:TTabView Caption="View 1">
content for view 1
diff --git a/demos/quickstart/protected/pages/Database/ActiveRecord.page b/demos/quickstart/protected/pages/Database/ActiveRecord.page
index a6e087b9..5fb7f41d 100644
--- a/demos/quickstart/protected/pages/Database/ActiveRecord.page
+++ b/demos/quickstart/protected/pages/Database/ActiveRecord.page
@@ -50,16 +50,16 @@
<li>Fetch relationships (related foreign objects) such as "has many", "has one", "belongs to" and "has many" via association table.</li>
<li>Lazy loading of relationships.</li>
</ul>
-<h2>Design Implications</h2>
-<p>
+<h2 id="144003">Design Implications</h2>
+<p id="720007" class="block-content">
Prado's implementation of Active Record does not maintain referential identity. Each object obtained using
Active Record is a copy of the data in the database. For example, If you ask for
a particular customer and get back a <tt>Customer</tt> object, the next time you ask for
that customer you get back another instance of a <tt>Customer</tt> object. This implies that a strict
comparison (i.e., using <tt>===</tt>) will return false, while loose comparison (i.e., using <tt>==</tt>) will
return true if the object values are equal by loose comparison.
-<p>
-<p>
+<p id="720008" class="block-content">
+<p id="720009" class="block-content">
This is design implication related to the following question.
<i>"Do you think of the customer as an object, of which there's only one,
or do you think of the objects you operate on as <b>copies</b> of the database?"</i>
@@ -1059,14 +1059,14 @@ arrays. E.g. <tt>$player->skills[] = new SkillRecord()</tt>. If <tt>array</tt> w
will be thrown.
</p>
-<h2>Column Mapping</h2>
-<p>
+<h2 id="144004">Column Mapping</h2>
+<p id="720010" class="block-content">
Since v3.1.1, Active Record starts to support column mapping. Column mapping allows developers
to address columns in Active Record using a more consistent naming convention. In particular,
using column mapping, one can access a column using whatever name he likes, rather than limited by
the name defined in the database schema.
</p>
-<p>
+<p id="720011" class="block-content">
To use column mapping, declare a static array named <tt>COLUMN_MAPPING</tt> in the Active Record class.
The keys of the array are column names (called <i>physical column names</i>) as defined in the database
schema, while the values are corresponding property names (called <i>logical column names</i>) defined
@@ -1093,7 +1093,7 @@ class UserRecord extends TActiveRecord
//....
}
</com:TTextHighlighter>
-<p>
+<p id="720012" class="block-content">
With the above column mapping, we can address <tt>first_name</tt> using <tt>$userRecord->firstName</tt>
instead of <tt>$userRecord->first_name</tt>. This helps separation of logic and model.
</p>
diff --git a/demos/quickstart/protected/pages/GettingStarted/NewFeatures.page b/demos/quickstart/protected/pages/GettingStarted/NewFeatures.page
index 595bda00..3024663f 100644
--- a/demos/quickstart/protected/pages/GettingStarted/NewFeatures.page
+++ b/demos/quickstart/protected/pages/GettingStarted/NewFeatures.page
@@ -6,7 +6,7 @@
This page summarizes the main new features that are introduced in each PRADO release.
</p>
-<h2>Version 3.1.1</h2>
+<h2 id="8001">Version 3.1.1</h2>
<ul>
<li>Added a new control <a href="?page=Controls.TabPanel">TTabPanel</a> that displays tabbed views.</li>
<li>Added a new control <a href="?page=Controls.Keyboard">TKeyboard</a> that displays a virtual keyboard for text input.</li>
diff --git a/demos/time-tracker/protected/App_Code/UserManager.php b/demos/time-tracker/protected/App_Code/UserManager.php
index b4a4ad68..66eecb95 100644
--- a/demos/time-tracker/protected/App_Code/UserManager.php
+++ b/demos/time-tracker/protected/App_Code/UserManager.php
@@ -27,7 +27,7 @@ class UserManager extends TModule implements IUserManager
{
return 'Guest';
}
-
+
/**
* Returns a user instance given the user name.
* @param string user name, null if it is a guest.
@@ -50,7 +50,7 @@ class UserManager extends TModule implements IUserManager
return $user;
}
}
-
+
/**
* Validates if the username and password are correct.
* @param string user name
@@ -63,6 +63,28 @@ class UserManager extends TModule implements IUserManager
$userDao = $daos->getDao('UserDao');
return $userDao->validateUser($username, $password);
}
+
+ /**
+ * Saves user auth data into a cookie.
+ * @param THttpCookie the cookie to receive the user auth data.
+ * @since 3.1.1
+ */
+ public function saveUserToCookie($cookie)
+ {
+ // do nothing since we don't support cookie-based auth in this example
+ }
+
+ /**
+ * Returns a user instance according to auth data stored in a cookie.
+ * @param THttpCookie the cookie storing user authentication information
+ * @return TUser the user instance generated based on the cookie auth data, null if the cookie does not have valid auth data.
+ * @since 3.1.1
+ */
+ public function getUserFromCookie($cookie)
+ {
+ // do nothing since we don't support cookie-based auth in this example
+ return null;
+ }
}
?> \ No newline at end of file