summaryrefslogtreecommitdiff
path: root/demos/quickstart/protected/pages/Advanced
diff options
context:
space:
mode:
authorrojaro <>2011-06-03 21:57:48 +0000
committerrojaro <>2011-06-03 21:57:48 +0000
commitf70d017d69274a49bfccd8003ddfc27e6132edd1 (patch)
tree8d65551efb36413b378ff8d1f826cd8388331dd5 /demos/quickstart/protected/pages/Advanced
parentff051c0628c1b9cc5aa2a6556f25a95d446e077d (diff)
removed last-modified message from templates
Diffstat (limited to 'demos/quickstart/protected/pages/Advanced')
-rw-r--r--demos/quickstart/protected/pages/Advanced/Assets.page138
-rw-r--r--demos/quickstart/protected/pages/Advanced/Auth.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Collections.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Error.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/I18N.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Logging.page122
-rw-r--r--demos/quickstart/protected/pages/Advanced/MasterContent.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Performance.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.de.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.es.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.fr.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.pl.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.zh.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/id/Home.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Samples/I18N/zh_TW/Home.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Scripts.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Scripts1.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Scripts2.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Scripts3.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Security.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/State.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/Themes.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Assets.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Auth.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Collections.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Error.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/I18N.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Logging.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/MasterContent.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Performance.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Scripts.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Scripts1.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Scripts2.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Scripts3.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Security.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/State.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/es/Themes.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Assets.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Auth.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Collections.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Error.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/I18N.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Logging.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/MasterContent.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Performance.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Scripts.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Scripts1.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Scripts2.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Scripts3.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Security.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/State.page2
-rw-r--r--demos/quickstart/protected/pages/Advanced/id/Themes.page2
53 files changed, 181 insertions, 181 deletions
diff --git a/demos/quickstart/protected/pages/Advanced/Assets.page b/demos/quickstart/protected/pages/Advanced/Assets.page
index 952b2a9b..fc40aa17 100644
--- a/demos/quickstart/protected/pages/Advanced/Assets.page
+++ b/demos/quickstart/protected/pages/Advanced/Assets.page
@@ -1,69 +1,69 @@
-<com:TContent ID="body" >
-
-<h1 id="5701">Assets</h1>
-<p id="740577" class="block-content">
-Assets are resource files (such as images, sounds, videos, CSS stylesheets, javascripts, etc.) that belong to specific component classes. Assets are meant to be provided to Web users. For better reusability and easier deployment of the corresponding component classes, assets should reside together with the component class files . For example, a toggle button may use two images, stored in file <tt>down.gif</tt> and <tt>up.gif</tt>, to show different toggle states. If we require the image files be stored under <tt>images</tt> directory under the Web server document root, it would be inconvenient for the users of the toggle button component, because each time they develop or deploy a new application, they would have to manually copy the image files to that specific directory. To eliminate this requirement, a directory relative to the component class file should be used for storing the image files. A common strategy is to use the directory containing the component class file to store the asset files.
-</p>
-<p id="740578" class="block-content">
-Because directories containing component class files are normally inaccessible by Web users, PRADO implements an asset publishing scheme to make available the assets to Web users. An asset, after being published, will have a URL by which Web users can retrieve the asset file.
-</p>
-
-<h2 id="5702">Asset Publishing</h2>
-<p id="740579" class="block-content">
-PRADO provides several methods for publishing assets or directories containing assets:
-</p>
-<ul id="u1" class="block-content">
-<li>In a template file, you can use <a href="?page=Configurations.Templates2#at">asset tags</a> to publish assets and obtain their URLs. Note, the assets must be relative to the directory containing the template file.</li>
-<li>In PHP code, you can call <tt>$object->publishAsset($assetPath)</tt> to publish an asset and obtain its URL. Here, <tt>$object</tt> refers to an instance of <tt>TApplicationComponent</tt> or derived class, and <tt>$assetPath</tt> is a file or directory relative to the directory containing the class file.</li>
-<li>If you want to publish an arbitrary asset, you need to call <tt>TAssetManager::publishFilePath($path)</tt>.</li>
-</ul>
-<p id="740580" class="block-content">
-BE AWARE: Be very careful with assets publishing, because it gives Web users access to files that were previously inaccessible to them. Make sure that you do not publish files that do not want Web users to see.
-</p>
-
-<h2 id="5703">Customization</h2>
-<p id="740581" class="block-content">
-Asset publishing is managed by the <tt>System.Web.TAssetManager</tt> module. By default, all published asset files are stored under the <tt>[AppEntryPath]/assets</tt> directory, where <tt>AppEntryPath</tt> refers to the directory containing the application entry script. Make sure the <tt>assets</tt> directory is writable by the Web server process. You may change this directory to another by configuring the <tt>BasePath</tt> and <tt>BaseUrl</tt> properties of the <tt>TAssetManager</tt> module in application configuration,
-</p>
-<com:TTextHighlighter Language="xml" CssClass="source block-content" id="code1">
-&lt;modules&gt;
- &lt;module id="asset"
- class="System.Web.TAssetManager"
- BasePath="Web.images"
- BaseUrl="images" /&gt;
-&lt;/modules&gt;
-</com:TTextHighlighter>
-
-<h2 id="5704">Performance</h2>
-<p id="740582" class="block-content">
-PRADO uses caching techniques to ensure the efficiency of asset publishing. Publishing an asset essentially requires file copy operation, which is expensive. To save unnecessary file copy operations, <tt>System.Web.TAssetManager</tt> only publishes an asset when it has a newer file modification time than the published file. When an application runs under the <tt>Performance</tt> mode, such timestamp checking is also omitted.
-</p>
-<p id="740583" class="block-content">
-ADVISORY: Do not overuse asset publishing. The asset concept is mainly used to help better reuse and redistribute component classes. Normally, you should not use asset publishing for resources that are not bound to any component in an application. For example, you should not use asset publishing for images that are mainly used as design elements (e.g. logos, background images, etc.) Let Web server to directly serve these images will help improve the performance of your application.
-</p>
-
-<h2 id="5705">A Toggle Button Example</h2>
-<p id="740584" class="block-content">
-We now use the toggle button example to explain the usage of assets. The control uses two image files <tt>up.gif</tt> and <tt>down.gif</tt>, which are stored under the directory containing the control class file. When the button is in <tt>Up</tt> state, we would like to show the <tt>up.gif</tt> image. This can be done as follows,
-</p>
-<com:TTextHighlighter CssClass="source block-content" id="code2">
-class ToggleButton extends TWebControl {
- ...
- protected function addAttributesToRender($writer) {
- ...
- if($this->getState()==='Up') {
- $url=$this->getAsset('up.gif');
- $writer->addAttribute('src',$url);
- }
- ...
- }
- ...
-}
-</com:TTextHighlighter>
-<p id="740585" class="block-content">
-In the above, the call <tt>$this->getAsset('up.gif')</tt> will publish the <tt>up.gif</tt> image file and return a URL for the published image file. The URL is then rendered as the <tt>src</tt> attribute of the HTML image tag.
-</p>
-<p id="740586" class="block-content">
-To redistribute <tt>ToggleButton</tt>, simply pack together the class file and the image files. Users of <tt>ToggleButton</tt> merely need to unpack the file, and they can use it right away, without worrying about where to copy the image files to.
-</p>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+<com:TContent ID="body" >
+
+<h1 id="5701">Assets</h1>
+<p id="740577" class="block-content">
+Assets are resource files (such as images, sounds, videos, CSS stylesheets, javascripts, etc.) that belong to specific component classes. Assets are meant to be provided to Web users. For better reusability and easier deployment of the corresponding component classes, assets should reside together with the component class files . For example, a toggle button may use two images, stored in file <tt>down.gif</tt> and <tt>up.gif</tt>, to show different toggle states. If we require the image files be stored under <tt>images</tt> directory under the Web server document root, it would be inconvenient for the users of the toggle button component, because each time they develop or deploy a new application, they would have to manually copy the image files to that specific directory. To eliminate this requirement, a directory relative to the component class file should be used for storing the image files. A common strategy is to use the directory containing the component class file to store the asset files.
+</p>
+<p id="740578" class="block-content">
+Because directories containing component class files are normally inaccessible by Web users, PRADO implements an asset publishing scheme to make available the assets to Web users. An asset, after being published, will have a URL by which Web users can retrieve the asset file.
+</p>
+
+<h2 id="5702">Asset Publishing</h2>
+<p id="740579" class="block-content">
+PRADO provides several methods for publishing assets or directories containing assets:
+</p>
+<ul id="u1" class="block-content">
+<li>In a template file, you can use <a href="?page=Configurations.Templates2#at">asset tags</a> to publish assets and obtain their URLs. Note, the assets must be relative to the directory containing the template file.</li>
+<li>In PHP code, you can call <tt>$object->publishAsset($assetPath)</tt> to publish an asset and obtain its URL. Here, <tt>$object</tt> refers to an instance of <tt>TApplicationComponent</tt> or derived class, and <tt>$assetPath</tt> is a file or directory relative to the directory containing the class file.</li>
+<li>If you want to publish an arbitrary asset, you need to call <tt>TAssetManager::publishFilePath($path)</tt>.</li>
+</ul>
+<p id="740580" class="block-content">
+BE AWARE: Be very careful with assets publishing, because it gives Web users access to files that were previously inaccessible to them. Make sure that you do not publish files that do not want Web users to see.
+</p>
+
+<h2 id="5703">Customization</h2>
+<p id="740581" class="block-content">
+Asset publishing is managed by the <tt>System.Web.TAssetManager</tt> module. By default, all published asset files are stored under the <tt>[AppEntryPath]/assets</tt> directory, where <tt>AppEntryPath</tt> refers to the directory containing the application entry script. Make sure the <tt>assets</tt> directory is writable by the Web server process. You may change this directory to another by configuring the <tt>BasePath</tt> and <tt>BaseUrl</tt> properties of the <tt>TAssetManager</tt> module in application configuration,
+</p>
+<com:TTextHighlighter Language="xml" CssClass="source block-content" id="code1">
+&lt;modules&gt;
+ &lt;module id="asset"
+ class="System.Web.TAssetManager"
+ BasePath="Web.images"
+ BaseUrl="images" /&gt;
+&lt;/modules&gt;
+</com:TTextHighlighter>
+
+<h2 id="5704">Performance</h2>
+<p id="740582" class="block-content">
+PRADO uses caching techniques to ensure the efficiency of asset publishing. Publishing an asset essentially requires file copy operation, which is expensive. To save unnecessary file copy operations, <tt>System.Web.TAssetManager</tt> only publishes an asset when it has a newer file modification time than the published file. When an application runs under the <tt>Performance</tt> mode, such timestamp checking is also omitted.
+</p>
+<p id="740583" class="block-content">
+ADVISORY: Do not overuse asset publishing. The asset concept is mainly used to help better reuse and redistribute component classes. Normally, you should not use asset publishing for resources that are not bound to any component in an application. For example, you should not use asset publishing for images that are mainly used as design elements (e.g. logos, background images, etc.) Let Web server to directly serve these images will help improve the performance of your application.
+</p>
+
+<h2 id="5705">A Toggle Button Example</h2>
+<p id="740584" class="block-content">
+We now use the toggle button example to explain the usage of assets. The control uses two image files <tt>up.gif</tt> and <tt>down.gif</tt>, which are stored under the directory containing the control class file. When the button is in <tt>Up</tt> state, we would like to show the <tt>up.gif</tt> image. This can be done as follows,
+</p>
+<com:TTextHighlighter CssClass="source block-content" id="code2">
+class ToggleButton extends TWebControl {
+ ...
+ protected function addAttributesToRender($writer) {
+ ...
+ if($this->getState()==='Up') {
+ $url=$this->getAsset('up.gif');
+ $writer->addAttribute('src',$url);
+ }
+ ...
+ }
+ ...
+}
+</com:TTextHighlighter>
+<p id="740585" class="block-content">
+In the above, the call <tt>$this->getAsset('up.gif')</tt> will publish the <tt>up.gif</tt> image file and return a URL for the published image file. The URL is then rendered as the <tt>src</tt> attribute of the HTML image tag.
+</p>
+<p id="740586" class="block-content">
+To redistribute <tt>ToggleButton</tt>, simply pack together the class file and the image files. Users of <tt>ToggleButton</tt> merely need to unpack the file, and they can use it right away, without worrying about where to copy the image files to.
+</p>
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Auth.page b/demos/quickstart/protected/pages/Advanced/Auth.page
index c5a18f79..776466f4 100644
--- a/demos/quickstart/protected/pages/Advanced/Auth.page
+++ b/demos/quickstart/protected/pages/Advanced/Auth.page
@@ -167,4 +167,4 @@ public function saveUserToCookie($cookie)
}
</com:TTextHighlighter>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Collections.page b/demos/quickstart/protected/pages/Advanced/Collections.page
index 20e436a2..55f0d554 100644
--- a/demos/quickstart/protected/pages/Advanced/Collections.page
+++ b/demos/quickstart/protected/pages/Advanced/Collections.page
@@ -132,4 +132,4 @@ Because of the above new features, when dealing with the <tt>Attributes</tt> pro
<p id="710548" class="block-content">
which adds an attribute named <tt>onclick</tt> to the <tt>TButton</tt> control.
</p>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Error.page b/demos/quickstart/protected/pages/Advanced/Error.page
index 4438fcfa..24c7ead0 100644
--- a/demos/quickstart/protected/pages/Advanced/Error.page
+++ b/demos/quickstart/protected/pages/Advanced/Error.page
@@ -74,4 +74,4 @@ Again, if the preferred language is not found, PRADO will try to use <tt>excepti
<b class="tip">CAUTION:</b> When saving a template file, please make sure the file is saved using UTF-8 encoding. On Windows, you may use <tt>Notepad.exe</tt> to accomplish such saving.
</div>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/I18N.page b/demos/quickstart/protected/pages/Advanced/I18N.page
index 1840e69b..5eb458cf 100644
--- a/demos/quickstart/protected/pages/Advanced/I18N.page
+++ b/demos/quickstart/protected/pages/Advanced/I18N.page
@@ -415,4 +415,4 @@ represents ordinal values in English such as: "0th", "1st", "2nd", "3rd", "4th",
-<div class="last-modified">$Id$</div></com:TContent>
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Logging.page b/demos/quickstart/protected/pages/Advanced/Logging.page
index 9161f9fb..357a303a 100644
--- a/demos/quickstart/protected/pages/Advanced/Logging.page
+++ b/demos/quickstart/protected/pages/Advanced/Logging.page
@@ -1,62 +1,62 @@
-<com:TContent ID="body" >
-
-<h1 id="6101">Logging</h1>
-<p id="780615" class="block-content">
-PRADO provides a highly flexible and extensible logging functionality. Messages logged can be classified according to log levels and message categories. Using level and category filters, the messages can be further routed to different destinations, such as files, emails, browser windows, etc. The following diagram shows the basic architecture of PRADO logging mechanism,
-</p>
-<img src="<%~ logrouter.gif %>" alt="Log router" />
-
-<h2 id="6102">Using Logging Functions</h2>
-<p id="780616" class="block-content">
-The following two methods are provided for logging messages in PRADO,
-</p>
-<com:TTextHighlighter CssClass="source block-content" id="code_780201">
-Prado::log($message, $logLevel, $category);
-Prado::trace($message, $category);
-</com:TTextHighlighter>
-<p id="780617" class="block-content">
-The difference between <tt>Prado::log()</tt> and <tt>Prado::trace()</tt> is that the latter automatically selects the log level according to the application mode. If the application is in <tt>Debug</tt> mode, stack trace information is appended to the messages. <tt>Prado::trace()</tt> is widely used in the core code of the PRADO framework.
-</p>
-
-<h2 id="6103">Message Routing</h2>
-<p id="780618" class="block-content">
-Messages logged using the above two functions are kept in memory. To make use of the messages, developers need to route them to specific destinations, such as files, emails, or browser windows. The message routing is managed by <tt>System.Util.TLogRouter</tt> module. When plugged into an application, it can route the messages to different destination in parallel. Currently, PRADO provides four types of routes:
-</p>
-<ul id="u1" class="block-content">
- <li><tt>TFileLogRoute</tt> - filtered messages are stored in a specified log file. By default, this file is named <tt>prado.log</tt> under the runtime directory of the application. File rotation is provided.</li>
- <li><tt>TEmailLogRoute</tt> - filtered messages are sent to pre-specified email addresses.</li>
+<com:TContent ID="body" >
+
+<h1 id="6101">Logging</h1>
+<p id="780615" class="block-content">
+PRADO provides a highly flexible and extensible logging functionality. Messages logged can be classified according to log levels and message categories. Using level and category filters, the messages can be further routed to different destinations, such as files, emails, browser windows, etc. The following diagram shows the basic architecture of PRADO logging mechanism,
+</p>
+<img src="<%~ logrouter.gif %>" alt="Log router" />
+
+<h2 id="6102">Using Logging Functions</h2>
+<p id="780616" class="block-content">
+The following two methods are provided for logging messages in PRADO,
+</p>
+<com:TTextHighlighter CssClass="source block-content" id="code_780201">
+Prado::log($message, $logLevel, $category);
+Prado::trace($message, $category);
+</com:TTextHighlighter>
+<p id="780617" class="block-content">
+The difference between <tt>Prado::log()</tt> and <tt>Prado::trace()</tt> is that the latter automatically selects the log level according to the application mode. If the application is in <tt>Debug</tt> mode, stack trace information is appended to the messages. <tt>Prado::trace()</tt> is widely used in the core code of the PRADO framework.
+</p>
+
+<h2 id="6103">Message Routing</h2>
+<p id="780618" class="block-content">
+Messages logged using the above two functions are kept in memory. To make use of the messages, developers need to route them to specific destinations, such as files, emails, or browser windows. The message routing is managed by <tt>System.Util.TLogRouter</tt> module. When plugged into an application, it can route the messages to different destination in parallel. Currently, PRADO provides four types of routes:
+</p>
+<ul id="u1" class="block-content">
+ <li><tt>TFileLogRoute</tt> - filtered messages are stored in a specified log file. By default, this file is named <tt>prado.log</tt> under the runtime directory of the application. File rotation is provided.</li>
+ <li><tt>TEmailLogRoute</tt> - filtered messages are sent to pre-specified email addresses.</li>
<li><tt>TBrowserLogRoute</tt> - filtered messages are appended to the end of the current page output.</li>
- <li><tt>TFirebugLogRoute</tt> - filtered messages are sent to the <a href="http://www.getfirebug.com">Firebug</a> console</li>
-</ul>
-<p id="780619" class="block-content">
-To enable message routing, plug in and configure the <tt>TLogRouter</tt> module in application configuration,
-</p>
-<com:TTextHighlighter Language="xml" CssClass="source block-content" id="code_780202">
-&lt;module id="log" class="System.Util.TLogRouter"&gt;
- &lt;route class="TBrowserLogRoute"
- Levels="Info"
- Categories="System.Web.UI.TPage, System.Web.UI.WebControls" /&gt;
- &lt;route class="TFileLogRoute"
- Levels="Warning, Error"
- Categories="System.Web" /&gt;
-&lt;/module&gt;
-</com:TTextHighlighter>
-<p id="780620" class="block-content">
-In the above, the <tt>Levels</tt> and <tt>Categories</tt> specify the log and category filters to selectively retrieve the messages to the corresponding destinations.
-</p>
-
-<h2 id="6104">Message Filtering</h2>
-<p id="780621" class="block-content">
-Messages can be filtered according to their log levels and categories. Each log message is associated with a log level and a category. With levels and categories, developers can selectively retrieve messages that they are interested on.
-</p>
-<p id="780622" class="block-content">
-Log levels defined in <tt>System.Util.TLogger</tt> include : <tt>DEBUG</tt>, <tt>INFO</tt>, <tt>NOTICE</tt>, <tt>WARNING</tt>, <tt>ERROR</tt>, <tt>ALERT</tt>, <tt>FATAL</tt>. Messages can be filtered according log level criteria. For example, if a filter specifies <tt>WARNING</tt> and <tt>ERROR</tt> levels, then only those messages that are of <tt>WARNING</tt> and <tt>ERROR</tt> will be returned.
-</p>
-<p id="780623" class="block-content">
-Message categories are hierarchical. A category whose name is the prefix of another is said to be the ancestor category of the other category. For example, <tt>System.Web</tt> category is the ancestor of <tt>System.Web.UI</tt> and <tt>System.Web.UI.WebControls</tt> categories. Messages can be selectively retrieved using such hierarchical category filters. For example, if the category filter is <tt>System.Web</tt>, then all messages in the <tt>System.Web</tt> are returned. In addition, messages in the child categories, such as <tt>System.Web.UI.WebControls</tt>, are also returned.
-</p>
-<p id="780624" class="block-content">
-By convention, the messages logged in the core code of PRADO are categorized according to the namespace of the corresponding classes. For example, messages logged in <tt>TPage</tt> will be of category <tt>System.Web.UI.TPage</tt>.
-</p>
-
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+ <li><tt>TFirebugLogRoute</tt> - filtered messages are sent to the <a href="http://www.getfirebug.com">Firebug</a> console</li>
+</ul>
+<p id="780619" class="block-content">
+To enable message routing, plug in and configure the <tt>TLogRouter</tt> module in application configuration,
+</p>
+<com:TTextHighlighter Language="xml" CssClass="source block-content" id="code_780202">
+&lt;module id="log" class="System.Util.TLogRouter"&gt;
+ &lt;route class="TBrowserLogRoute"
+ Levels="Info"
+ Categories="System.Web.UI.TPage, System.Web.UI.WebControls" /&gt;
+ &lt;route class="TFileLogRoute"
+ Levels="Warning, Error"
+ Categories="System.Web" /&gt;
+&lt;/module&gt;
+</com:TTextHighlighter>
+<p id="780620" class="block-content">
+In the above, the <tt>Levels</tt> and <tt>Categories</tt> specify the log and category filters to selectively retrieve the messages to the corresponding destinations.
+</p>
+
+<h2 id="6104">Message Filtering</h2>
+<p id="780621" class="block-content">
+Messages can be filtered according to their log levels and categories. Each log message is associated with a log level and a category. With levels and categories, developers can selectively retrieve messages that they are interested on.
+</p>
+<p id="780622" class="block-content">
+Log levels defined in <tt>System.Util.TLogger</tt> include : <tt>DEBUG</tt>, <tt>INFO</tt>, <tt>NOTICE</tt>, <tt>WARNING</tt>, <tt>ERROR</tt>, <tt>ALERT</tt>, <tt>FATAL</tt>. Messages can be filtered according log level criteria. For example, if a filter specifies <tt>WARNING</tt> and <tt>ERROR</tt> levels, then only those messages that are of <tt>WARNING</tt> and <tt>ERROR</tt> will be returned.
+</p>
+<p id="780623" class="block-content">
+Message categories are hierarchical. A category whose name is the prefix of another is said to be the ancestor category of the other category. For example, <tt>System.Web</tt> category is the ancestor of <tt>System.Web.UI</tt> and <tt>System.Web.UI.WebControls</tt> categories. Messages can be selectively retrieved using such hierarchical category filters. For example, if the category filter is <tt>System.Web</tt>, then all messages in the <tt>System.Web</tt> are returned. In addition, messages in the child categories, such as <tt>System.Web.UI.WebControls</tt>, are also returned.
+</p>
+<p id="780624" class="block-content">
+By convention, the messages logged in the core code of PRADO are categorized according to the namespace of the corresponding classes. For example, messages logged in <tt>TPage</tt> will be of category <tt>System.Web.UI.TPage</tt>.
+</p>
+
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/MasterContent.page b/demos/quickstart/protected/pages/Advanced/MasterContent.page
index 15535af4..f99a64dc 100644
--- a/demos/quickstart/protected/pages/Advanced/MasterContent.page
+++ b/demos/quickstart/protected/pages/Advanced/MasterContent.page
@@ -54,4 +54,4 @@ Therefore, use master control if the common content has to be associated with so
Performancewise, external template is lighter than master as the latter is a self-contained control participating the page lifecycles, while the former is used only when the template is being parsed.
</p>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Performance.page b/demos/quickstart/protected/pages/Advanced/Performance.page
index 9d557150..7bdd4589 100644
--- a/demos/quickstart/protected/pages/Advanced/Performance.page
+++ b/demos/quickstart/protected/pages/Advanced/Performance.page
@@ -85,4 +85,4 @@ Note, in the above the <tt>SpecialPage</tt> will use <tt>MyPersister2</tt> as it
Server caching techniques are proven to be very effective in improving the performance of PRADO applications. For example, we have observed that by using Zend Optimizer, the RPS (request per second) of a PRADO application can be increased by more than ten times. Of course, this is at the cost of stale output, while PRADO's caching techniques always ensure the correctness of the output.
</p>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.de.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.de.page
index 6053a1db..e66afe7f 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.de.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.de.page
@@ -149,4 +149,4 @@ Weiter mit dem Thema kulturell angepasster Templates. Text kann unter Zuhilfenah
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.es.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.es.page
index 48d018e4..8070ca2a 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.es.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.es.page
@@ -147,4 +147,4 @@
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.fr.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.fr.page
index 251ac32e..6d44c7f6 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.fr.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.fr.page
@@ -199,4 +199,4 @@
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.page
index b44514e3..9f66bad8 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.page
@@ -158,4 +158,4 @@ Your current culture is <%= $this->Page->CurrentCulture %>.
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.pl.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.pl.page
index 4c633779..fa35ecaf 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.pl.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.pl.page
@@ -146,4 +146,4 @@ Twoim obecnym językiem jest: <%= $this->Page->CurrentCulture %>.
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.zh.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.zh.page
index 1d7301f8..6b06a842 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.zh.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/Home.zh.page
@@ -153,4 +153,4 @@ PRADO提供了gettext,XML,SQLite以及MySQL等手段用于存放消息的各
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/id/Home.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/id/Home.page
index 597b1ca7..a490abce 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/id/Home.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/id/Home.page
@@ -158,4 +158,4 @@ Saat ini kultur Anda adalah <%= $this->Page->CurrentCulture %>.
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id: Home.id.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Samples/I18N/zh_TW/Home.page b/demos/quickstart/protected/pages/Advanced/Samples/I18N/zh_TW/Home.page
index a2937fb0..7629e7bb 100644
--- a/demos/quickstart/protected/pages/Advanced/Samples/I18N/zh_TW/Home.page
+++ b/demos/quickstart/protected/pages/Advanced/Samples/I18N/zh_TW/Home.page
@@ -152,4 +152,4 @@
<com:TTranslateParameter Key="time" Value="<%= Time() %>" />
</com:TTranslate>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Scripts.page b/demos/quickstart/protected/pages/Advanced/Scripts.page
index cbbfed67..cca6530e 100644
--- a/demos/quickstart/protected/pages/Advanced/Scripts.page
+++ b/demos/quickstart/protected/pages/Advanced/Scripts.page
@@ -394,4 +394,4 @@ clearButton.onclick = function()
<p id="820725" class="block-content">
That way we create a brand new function that calls our helper method within the helper object's context.
</p>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Scripts1.page b/demos/quickstart/protected/pages/Advanced/Scripts1.page
index 9c203e54..96ab7760 100644
--- a/demos/quickstart/protected/pages/Advanced/Scripts1.page
+++ b/demos/quickstart/protected/pages/Advanced/Scripts1.page
@@ -93,4 +93,4 @@ function test3()
</script>
</com:TTextHighlighter>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Scripts2.page b/demos/quickstart/protected/pages/Advanced/Scripts2.page
index 12f68387..5d88b065 100644
--- a/demos/quickstart/protected/pages/Advanced/Scripts2.page
+++ b/demos/quickstart/protected/pages/Advanced/Scripts2.page
@@ -250,4 +250,4 @@ $$(this.list + " li").each(function(item)
}.bind(this));
</com:TTextHighlighter>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Scripts3.page b/demos/quickstart/protected/pages/Advanced/Scripts3.page
index 96420219..416df4f8 100644
--- a/demos/quickstart/protected/pages/Advanced/Scripts3.page
+++ b/demos/quickstart/protected/pages/Advanced/Scripts3.page
@@ -88,4 +88,4 @@ class TestComp extends TControl
</com:TTextHighlighter>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Security.page b/demos/quickstart/protected/pages/Advanced/Security.page
index 7aaab552..c3d0b511 100644
--- a/demos/quickstart/protected/pages/Advanced/Security.page
+++ b/demos/quickstart/protected/pages/Advanced/Security.page
@@ -76,4 +76,4 @@ $cookie=new THttpCookie($name,$value);
$this->Response->Cookies[]=$cookie;
</com:TTextHighlighter>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/State.page b/demos/quickstart/protected/pages/Advanced/State.page
index 0c9109ce..c43a9dff 100644
--- a/demos/quickstart/protected/pages/Advanced/State.page
+++ b/demos/quickstart/protected/pages/Advanced/State.page
@@ -51,4 +51,4 @@ $caption = $application->getGlobalState('Caption');
PRADO encapsulates the traditional session management in <tt>THttpSession</tt> module. The module can be accessed from within any component by using <tt>$this->Session</tt>, where <tt>$this</tt> refers to the component object.
</p>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/Themes.page b/demos/quickstart/protected/pages/Advanced/Themes.page
index 0535f3b8..4e440ce5 100644
--- a/demos/quickstart/protected/pages/Advanced/Themes.page
+++ b/demos/quickstart/protected/pages/Advanced/Themes.page
@@ -57,4 +57,4 @@ Creating a theme involves creating the theme directory and writing skin files (a
<p id="760605" class="block-content">
As aforementioned, you can put several skins within a single skin file, or split them into several files. A commonly used strategy is that each skin file only contains skins for one type of controls. For example, <tt>Button.skin</tt> would contain skins only for the <tt>TButton</tt> control type.
</p>
-<div class="last-modified">$Id$</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Assets.page b/demos/quickstart/protected/pages/Advanced/es/Assets.page
index 8a894f23..fc40b561 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Assets.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Assets.page
@@ -66,4 +66,4 @@ In the above, the call <tt>$this->getAsset('up.gif')</tt> will publish the <tt>u
<p id="740586" class="block-content">
To redistribute <tt>ToggleButton</tt>, simply pack together the class file and the image files. Users of <tt>ToggleButton</tt> merely need to unpack the file, and they can use it right away, without worrying about where to copy the image files to.
</p>
-<div class="last-modified">$Id: Assets.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Auth.page b/demos/quickstart/protected/pages/Advanced/es/Auth.page
index 3b2ede05..82af40bb 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Auth.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Auth.page
@@ -168,4 +168,4 @@ public function saveUserToCookie($cookie)
}
</com:TTextHighlighter>
-<div class="last-modified">$Id: Auth.page 2245 2007-09-26 13:22:02Z xue $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Collections.page b/demos/quickstart/protected/pages/Advanced/es/Collections.page
index 11022c70..55f0d554 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Collections.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Collections.page
@@ -132,4 +132,4 @@ Because of the above new features, when dealing with the <tt>Attributes</tt> pro
<p id="710548" class="block-content">
which adds an attribute named <tt>onclick</tt> to the <tt>TButton</tt> control.
</p>
-<div class="last-modified">$Id: Collections.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Error.page b/demos/quickstart/protected/pages/Advanced/es/Error.page
index 4713c876..24c7ead0 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Error.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Error.page
@@ -74,4 +74,4 @@ Again, if the preferred language is not found, PRADO will try to use <tt>excepti
<b class="tip">CAUTION:</b> When saving a template file, please make sure the file is saved using UTF-8 encoding. On Windows, you may use <tt>Notepad.exe</tt> to accomplish such saving.
</div>
-<div class="last-modified">$Id: Error.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/I18N.page b/demos/quickstart/protected/pages/Advanced/es/I18N.page
index 89eedee9..1a559036 100644
--- a/demos/quickstart/protected/pages/Advanced/es/I18N.page
+++ b/demos/quickstart/protected/pages/Advanced/es/I18N.page
@@ -357,4 +357,4 @@ is "One Apple". If the <tt>Value</tt> was "2", then it will show "Two Apples".</
The string chosen for display depends on the <tt>Value</tt> property. The <tt>Value</tt> is evaluated for each set until the <tt>Value</tt> is found to belong to a particular set.</p>
-<div class="last-modified">$Id: I18N.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Logging.page b/demos/quickstart/protected/pages/Advanced/es/Logging.page
index bfe9d10e..de67b5f6 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Logging.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Logging.page
@@ -58,4 +58,4 @@ Message categories are hierarchical. A category whose name is the prefix of anot
By convention, the messages logged in the core code of PRADO are categorized according to the namespace of the corresponding classes. For example, messages logged in <tt>TPage</tt> will be of category <tt>System.Web.UI.TPage</tt>.
</p>
-<div class="last-modified">$Id: Logging.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/MasterContent.page b/demos/quickstart/protected/pages/Advanced/es/MasterContent.page
index 2ca115c4..f99a64dc 100644
--- a/demos/quickstart/protected/pages/Advanced/es/MasterContent.page
+++ b/demos/quickstart/protected/pages/Advanced/es/MasterContent.page
@@ -54,4 +54,4 @@ Therefore, use master control if the common content has to be associated with so
Performancewise, external template is lighter than master as the latter is a self-contained control participating the page lifecycles, while the former is used only when the template is being parsed.
</p>
-<div class="last-modified">$Id: MasterContent.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Performance.page b/demos/quickstart/protected/pages/Advanced/es/Performance.page
index 6e66079b..7bdd4589 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Performance.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Performance.page
@@ -85,4 +85,4 @@ Note, in the above the <tt>SpecialPage</tt> will use <tt>MyPersister2</tt> as it
Server caching techniques are proven to be very effective in improving the performance of PRADO applications. For example, we have observed that by using Zend Optimizer, the RPS (request per second) of a PRADO application can be increased by more than ten times. Of course, this is at the cost of stale output, while PRADO's caching techniques always ensure the correctness of the output.
</p>
-<div class="last-modified">$Id: Performance.page 1902 2007-05-07 04:17:37Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Scripts.page b/demos/quickstart/protected/pages/Advanced/es/Scripts.page
index 7d05b624..cca6530e 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Scripts.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Scripts.page
@@ -394,4 +394,4 @@ clearButton.onclick = function()
<p id="820725" class="block-content">
That way we create a brand new function that calls our helper method within the helper object's context.
</p>
-<div class="last-modified">$Id: Scripts.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Scripts1.page b/demos/quickstart/protected/pages/Advanced/es/Scripts1.page
index 928ea5e5..96ab7760 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Scripts1.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Scripts1.page
@@ -93,4 +93,4 @@ function test3()
</script>
</com:TTextHighlighter>
-<div class="last-modified">$Id: Scripts1.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Scripts2.page b/demos/quickstart/protected/pages/Advanced/es/Scripts2.page
index 2994e2b3..5d88b065 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Scripts2.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Scripts2.page
@@ -250,4 +250,4 @@ $$(this.list + " li").each(function(item)
}.bind(this));
</com:TTextHighlighter>
-<div class="last-modified">$Id: Scripts2.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Scripts3.page b/demos/quickstart/protected/pages/Advanced/es/Scripts3.page
index c06a8a6b..416df4f8 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Scripts3.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Scripts3.page
@@ -88,4 +88,4 @@ class TestComp extends TControl
</com:TTextHighlighter>
-<div class="last-modified">$Id: Scripts3.page 1902 2007-05-07 04:17:37Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Security.page b/demos/quickstart/protected/pages/Advanced/es/Security.page
index 8024c122..c3d0b511 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Security.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Security.page
@@ -76,4 +76,4 @@ $cookie=new THttpCookie($name,$value);
$this->Response->Cookies[]=$cookie;
</com:TTextHighlighter>
-<div class="last-modified">$Id: Security.page 1741 2007-03-05 16:05:43Z xue $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/State.page b/demos/quickstart/protected/pages/Advanced/es/State.page
index af52ec49..c43a9dff 100644
--- a/demos/quickstart/protected/pages/Advanced/es/State.page
+++ b/demos/quickstart/protected/pages/Advanced/es/State.page
@@ -51,4 +51,4 @@ $caption = $application->getGlobalState('Caption');
PRADO encapsulates the traditional session management in <tt>THttpSession</tt> module. The module can be accessed from within any component by using <tt>$this->Session</tt>, where <tt>$this</tt> refers to the component object.
</p>
-<div class="last-modified">$Id: State.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/es/Themes.page b/demos/quickstart/protected/pages/Advanced/es/Themes.page
index b737b6f8..4e440ce5 100644
--- a/demos/quickstart/protected/pages/Advanced/es/Themes.page
+++ b/demos/quickstart/protected/pages/Advanced/es/Themes.page
@@ -57,4 +57,4 @@ Creating a theme involves creating the theme directory and writing skin files (a
<p id="760605" class="block-content">
As aforementioned, you can put several skins within a single skin file, or split them into several files. A commonly used strategy is that each skin file only contains skins for one type of controls. For example, <tt>Button.skin</tt> would contain skins only for the <tt>TButton</tt> control type.
</p>
-<div class="last-modified">$Id: Themes.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Assets.page b/demos/quickstart/protected/pages/Advanced/id/Assets.page
index cf441278..b34426ea 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Assets.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Assets.page
@@ -66,4 +66,4 @@ Dalam contoh di atas, pemanggilan <tt>$this->getAsset('up.gif')</tt> akan menerb
<p id="740586" class="block-content">
Untuk meredistribusi <tt>ToggleButton</tt>, cukup paketkan bersama file kelas dan file gambar. Para pengguna <tt>ToggleButton</tt> cuma perlu untuk mengurai file, dan mereka bisa menggunakannya secara langsung tanpa mencemaskan mengenai ke mana meng-copy file gambar itu.
</p>
-<div class="last-modified">$Id: Assets.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Auth.page b/demos/quickstart/protected/pages/Advanced/id/Auth.page
index 49db655e..eb7ab026 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Auth.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Auth.page
@@ -167,4 +167,4 @@ public function saveUserToCookie($cookie)
}
</com:TTextHighlighter>
-<div class="last-modified">$Id: Auth.page 2245 2007-09-26 13:22:02Z xue $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Collections.page b/demos/quickstart/protected/pages/Advanced/id/Collections.page
index 70defa8c..e79da29c 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Collections.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Collections.page
@@ -132,4 +132,4 @@ Karena fitur baru di atas, ketika berhadapan dengan properti <tt>Attributes</tt>
<p id="710548" class="block-content">
yang menambahkan atribut bernama <tt>onclick</tt> ke kontrol <tt>TButton</tt>.
</p>
-<div class="last-modified">$Id: Collections.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Error.page b/demos/quickstart/protected/pages/Advanced/id/Error.page
index 50ebc7b9..419b390f 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Error.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Error.page
@@ -74,4 +74,4 @@ Sekali lagi, jika bahasa yang diinginkan tidak ditemukan, sebaliknya PRADO akan
<b class="tip">PERHATIAN:</b> Ketika menyimpan file template, pastikan file disimpan menggunakan pengkodean UTF-8. Pada Windows, Anda bisa menggunakan <tt>Notepad.exe</tt> untuk melakukan penyimpanan tersebut.
</div>
-<div class="last-modified">$Id: Error.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/I18N.page b/demos/quickstart/protected/pages/Advanced/id/I18N.page
index 15426b79..16c234f6 100644
--- a/demos/quickstart/protected/pages/Advanced/id/I18N.page
+++ b/demos/quickstart/protected/pages/Advanced/id/I18N.page
@@ -333,4 +333,4 @@ Dalam contoh berikut, string "{greeting}" dan "{name}" masing-masing akan digant
String yang dipilih untuk tampilan tergantung pada properti <tt>Value</tt>. <tt>Value</tt> dievaluiasi untuk setiap set-nya sampai <tt>Value</tt> ditemukan milik set tertentu.</p>
-<div class="last-modified">$Id: I18N.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Logging.page b/demos/quickstart/protected/pages/Advanced/id/Logging.page
index 40367812..169329a0 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Logging.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Logging.page
@@ -58,4 +58,4 @@ Kategori pesan adalah hirarkis. Kategori yang namanya awalan dari yang lain dise
Dengan ketentuan, pesan yang dicatat dalam kode inti PRADO dikategorikan berdasarkan namespace dari kelas terkait. Sebagai contoh, pesan yang dicatat dalam <tt>TPage</tt> akan menjadi kategori <tt>System.Web.UI.TPage</tt>.
</p>
-<div class="last-modified">$Id: Logging.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/MasterContent.page b/demos/quickstart/protected/pages/Advanced/id/MasterContent.page
index 5a2cb6b6..a5480ce3 100644
--- a/demos/quickstart/protected/pages/Advanced/id/MasterContent.page
+++ b/demos/quickstart/protected/pages/Advanced/id/MasterContent.page
@@ -54,4 +54,4 @@ Oleh karena itu, gunakan kontrol master jika konten umum harus dikaitkan dengan
Performansinya, template eksternal lebih ringan daripada master seperti berisi kontrol sendiri yang berparisipasi dalam masa hidup halaman, karena pembentuk hanya dipakai saat template sedang diuraikan.
</p>
-<div class="last-modified">$Id: MasterContent.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Performance.page b/demos/quickstart/protected/pages/Advanced/id/Performance.page
index 98e89644..68c88bf0 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Performance.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Performance.page
@@ -85,4 +85,4 @@ Catatan, dalam <tt>SpecialPage</tt> di atas akan menggunakan <tt>MyPersister2</t
Teknik cache server terbukti sangat efektif meningkatkan performansi aplikasi PRADO. Sebagai contoh, kita telah mengamati bahwa dengan menggunakan Zend Optimizer, RPS (request per second) dari aplikasi PRADO bisa meningkat lebih dari sepuluh kali. Tentunya, ini merupakan harga dari output yang stabil, sementara teknik cache PRADO selalu memastikan kebenaran output.
</p>
-<div class="last-modified">$Id: Performance.page 1902 2007-05-07 04:17:37Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Scripts.page b/demos/quickstart/protected/pages/Advanced/id/Scripts.page
index fcc135fb..714678ab 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Scripts.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Scripts.page
@@ -331,4 +331,4 @@ clearButton.onclick = function()
<p id="820725" class="block-content">
Cara itu kita membuat fungsi baru yang memanggil metode penolong di dalam konteks obyek penolong.
</p>
-<div class="last-modified">$Id: Scripts.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Scripts1.page b/demos/quickstart/protected/pages/Advanced/id/Scripts1.page
index 8fc2eb0c..51535de1 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Scripts1.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Scripts1.page
@@ -83,4 +83,4 @@ function test3()
</script>
</com:TTextHighlighter>
-<div class="last-modified">$Id: Scripts1.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Scripts2.page b/demos/quickstart/protected/pages/Advanced/id/Scripts2.page
index 72016fbc..80277628 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Scripts2.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Scripts2.page
@@ -211,4 +211,4 @@ $$(this.list + " li").each(function(item)
}.bind(this));
</com:TTextHighlighter>
-<div class="last-modified">$Id: Scripts2.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Scripts3.page b/demos/quickstart/protected/pages/Advanced/id/Scripts3.page
index 4df27143..d2ce269b 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Scripts3.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Scripts3.page
@@ -81,4 +81,4 @@ class TestComp extends TControl
</com:TTextHighlighter>
-<div class="last-modified">$Id: Scripts3.page 1902 2007-05-07 04:17:37Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Security.page b/demos/quickstart/protected/pages/Advanced/id/Security.page
index 2c0c765d..5e6a8602 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Security.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Security.page
@@ -76,4 +76,4 @@ $cookie=new THttpCookie($name,$value);
$this->Response->Cookies[]=$cookie;
</com:TTextHighlighter>
-<div class="last-modified">$Id: Security.page 1741 2007-03-05 16:05:43Z xue $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/State.page b/demos/quickstart/protected/pages/Advanced/id/State.page
index a99f9774..42c5a0c4 100644
--- a/demos/quickstart/protected/pages/Advanced/id/State.page
+++ b/demos/quickstart/protected/pages/Advanced/id/State.page
@@ -51,4 +51,4 @@ $caption = $application->getGlobalState('Caption');
PRADO melapisi manajemen sesi tradisional dalam modul <tt>THttpSession</tt>. Modul dapat diakses dari dalam setiap komponen dengan menggunakan <tt>$this->Session</tt>, di mana <tt>$this</tt> merujuk ke obyek komponen.
</p>
-<div class="last-modified">$Id: State.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>
diff --git a/demos/quickstart/protected/pages/Advanced/id/Themes.page b/demos/quickstart/protected/pages/Advanced/id/Themes.page
index 4dcab499..5a917484 100644
--- a/demos/quickstart/protected/pages/Advanced/id/Themes.page
+++ b/demos/quickstart/protected/pages/Advanced/id/Themes.page
@@ -57,4 +57,4 @@ Membuat sebuah tema melibatkan pembuatan direktori tema dan penulisan file skin
<p id="760605" class="block-content">
Seperti sudah disebutan di atas, Anda dapat menyimpan beberapa skin dalam satu file skin, atau memisahkannya ke dalam beberapa file. Strategi yang umum digunakan adalah bahwa setiap file skin hanya berisi skin untuk satu tipe kontrol. Sebagai contoh, <tt>Button.skin</tt> akan berisi skin hanya untuk tipe kontrol <tt>TButton</tt>.
</p>
-<div class="last-modified">$Id: Themes.page 1650 2007-01-24 06:55:32Z wei $</div></com:TContent> \ No newline at end of file
+</com:TContent>