summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--build.xml1044
-rw-r--r--buildscripts/texbuilder/Page2Tex.php5
-rw-r--r--demos/quickstart/protected/pages/Advanced/I18N.page6
-rw-r--r--demos/quickstart/protected/pages/Configurations/UrlMapping.page6
-rw-r--r--demos/quickstart/protected/pages/Controls/TabPanel.page14
-rw-r--r--demos/quickstart/protected/pages/Database/ActiveRecord.page20
-rw-r--r--demos/quickstart/protected/pages/GettingStarted/NewFeatures.page6
7 files changed, 552 insertions, 549 deletions
diff --git a/build.xml b/build.xml
index e159f68b..7f412865 100644
--- a/build.xml
+++ b/build.xml
@@ -1,110 +1,110 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- PRADO 3.1 build file - Copyright (C) 2006 PradoSoft
-
- Requirements
- ============
- xdebug >= 2.0.0beta4
--->
-<project name="prado" basedir="." default="help">
- <taskdef name="prado-version-check" classname="PradoVersionTask" classpath="buildscripts/phing/tasks"/>
- <taskdef name="prado-doc" classname="PradoDocTask" classpath="buildscripts/phing/tasks"/>
-<!-- <taskdef name="prado-pear" classname="PradoPearTask" classpath="buildscripts/phing/tasks"/>-->
- <taskdef name="prado-quickstart-index" classname="QuickstartIndexTask" classpath="buildscripts/phing/tasks"/>
- <taskdef name="prado-api-index" classname="ManualIndexTask" classpath="buildscripts/phing/tasks"/>
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ PRADO 3.1 build file - Copyright (C) 2006 PradoSoft
+
+ Requirements
+ ============
+ xdebug >= 2.0.0beta4
+-->
+<project name="prado" basedir="." default="help">
+ <taskdef name="prado-version-check" classname="PradoVersionTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="prado-doc" classname="PradoDocTask" classpath="buildscripts/phing/tasks"/>
+<!-- <taskdef name="prado-pear" classname="PradoPearTask" classpath="buildscripts/phing/tasks"/>-->
+ <taskdef name="prado-quickstart-index" classname="QuickstartIndexTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="prado-api-index" classname="ManualIndexTask" classpath="buildscripts/phing/tasks"/>
<!-- <taskdef name="prado-test" classname="PradoTestTask" classpath="buildscripts/phing/tasks"/>-->
- <taskdef name="compact-package" classname="PradoPackageTask" classpath="buildscripts/phing/tasks"/>
- <taskdef name="prado-quickstart-docs" classname="PradoQuickStartDocs" classpath="buildscripts/phing/tasks" />
-
- <!-- generates ${prado.version} and ${prado.revision} -->
- <prado-version-check />
-
- <!-- these are required external commands -->
- <property name="php" value="php" /> <!-- PHP parser -->
- <property name="hhc" value="hhc" /> <!-- compile phpdoc into CHM -->
- <property name="pdflatex" value="pdflatex" /> <!-- generates PDF from LaTex -->
- <property name="zip" value="zip" /> <!-- zip compression -->
-
- <property name="pkgname" value="${phing.project.name}-${prado.version}.r${prado.revision}"/>
+ <taskdef name="compact-package" classname="PradoPackageTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="prado-quickstart-docs" classname="PradoQuickStartDocs" classpath="buildscripts/phing/tasks" />
+
+ <!-- generates ${prado.version} and ${prado.revision} -->
+ <prado-version-check />
+
+ <!-- these are required external commands -->
+ <property name="php" value="php" /> <!-- PHP parser -->
+ <property name="hhc" value="hhc" /> <!-- compile phpdoc into CHM -->
+ <property name="pdflatex" value="pdflatex" /> <!-- generates PDF from LaTex -->
+ <property name="zip" value="zip" /> <!-- zip compression -->
+
+ <property name="pkgname" value="${phing.project.name}-${prado.version}.r${prado.revision}"/>
<property name="compact-strip-comments" value="false" />
-
- <property name="build.base.dir" value="build"/>
- <property name="build.dist.dir" value="${build.base.dir}/dist"/>
- <property name="build.src.dir" value="${build.base.dir}/${pkgname}"/>
- <property name="build.doc.dir" value="${build.base.dir}/docs"/>
- <property name="build.pear.dir" value="${build.base.dir}/pear"/>
- <property name="build.web.dir" value="${build.base.dir}/web"/>
- <property name="build.test.dir" value="${build.base.dir}/test-reports"/>
- <property name="build.coverage.dir" value="${build.base.dir}/code-coverage"/>
+
+ <property name="build.base.dir" value="build"/>
+ <property name="build.dist.dir" value="${build.base.dir}/dist"/>
+ <property name="build.src.dir" value="${build.base.dir}/${pkgname}"/>
+ <property name="build.doc.dir" value="${build.base.dir}/docs"/>
+ <property name="build.pear.dir" value="${build.base.dir}/pear"/>
+ <property name="build.web.dir" value="${build.base.dir}/web"/>
+ <property name="build.test.dir" value="${build.base.dir}/test-reports"/>
+ <property name="build.coverage.dir" value="${build.base.dir}/code-coverage"/>
<property name="build.snapshot.dir" value="${build.base.dir}/snapshot"/>
<property name="build.compact.dir" value="${build.base.dir}/${pkgname}/compact" />
-
- <!--
- All Source Files in framework
- -->
- <fileset dir="." id="framework">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <exclude name="**/pradolite.php" /><!-- will be generated -->
- <exclude name="**/prado-cli.php" /><!-- will be copied later -->
- <include name="framework/**/*"/>
- </fileset>
-
- <!--
- Surrounding files
- -->
- <fileset dir="." id="misc">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <include name="COPYRIGHT"/>
- <include name="HISTORY"/>
- <include name="UPGRADE"/>
- <include name="index.html"/>
- <include name="requirements/*"/>
- </fileset>
-
- <!--
- Documentation ????
- -->
- <fileset dir="." id="docs">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <exclude name="**/latex" />
- <exclude name="**/sqlmap_tut.pdf" />
- <include name="docs/specs/*"/>
- <include name="docs/sqlmap/sqlmap.pdf" />
- </fileset>
-
- <!--
- Demos
- -->
- <fileset dir="." id="demos">
- <exclude name="**/.svn"/>
- <exclude name="**/*.bak"/>
- <exclude name="**/*~"/>
- <exclude name="**/runtime/*"/>
- <exclude name="**/assets/*"/>
- <exclude name="**/runtime/*/**"/>
- <exclude name="**/assets/*/**"/>
- <exclude name="demos/blog/protected/Data/Blog.db" />
- <include name="demos/address-book/**/*"/>
- <include name="demos/blog/**/*"/>
- <include name="demos/blog-tutorial/**/*"/>
- <include name="demos/chat/**/*"/>
- <include name="demos/composer/**/*"/>
- <include name="demos/currency-converter/**/*"/>
- <include name="demos/helloworld/**/*"/>
- <include name="demos/northwind-db/**/*"/>
- <include name="demos/personal/**/*"/>
- <include name="demos/quickstart/**/*"/>
- <include name="demos/soap/**/*"/>
- <include name="demos/sqlmap/**/*"/>
- <include name="demos/time-tracker/**/*"/>
- </fileset>
+
+ <!--
+ All Source Files in framework
+ -->
+ <fileset dir="." id="framework">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <exclude name="**/pradolite.php" /><!-- will be generated -->
+ <exclude name="**/prado-cli.php" /><!-- will be copied later -->
+ <include name="framework/**/*"/>
+ </fileset>
+
+ <!--
+ Surrounding files
+ -->
+ <fileset dir="." id="misc">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <include name="COPYRIGHT"/>
+ <include name="HISTORY"/>
+ <include name="UPGRADE"/>
+ <include name="index.html"/>
+ <include name="requirements/*"/>
+ </fileset>
+
+ <!--
+ Documentation ????
+ -->
+ <fileset dir="." id="docs">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <exclude name="**/latex" />
+ <exclude name="**/sqlmap_tut.pdf" />
+ <include name="docs/specs/*"/>
+ <include name="docs/sqlmap/sqlmap.pdf" />
+ </fileset>
+
+ <!--
+ Demos
+ -->
+ <fileset dir="." id="demos">
+ <exclude name="**/.svn"/>
+ <exclude name="**/*.bak"/>
+ <exclude name="**/*~"/>
+ <exclude name="**/runtime/*"/>
+ <exclude name="**/assets/*"/>
+ <exclude name="**/runtime/*/**"/>
+ <exclude name="**/assets/*/**"/>
+ <exclude name="demos/blog/protected/Data/Blog.db" />
+ <include name="demos/address-book/**/*"/>
+ <include name="demos/blog/**/*"/>
+ <include name="demos/blog-tutorial/**/*"/>
+ <include name="demos/chat/**/*"/>
+ <include name="demos/composer/**/*"/>
+ <include name="demos/currency-converter/**/*"/>
+ <include name="demos/helloworld/**/*"/>
+ <include name="demos/northwind-db/**/*"/>
+ <include name="demos/personal/**/*"/>
+ <include name="demos/quickstart/**/*"/>
+ <include name="demos/soap/**/*"/>
+ <include name="demos/sqlmap/**/*"/>
+ <include name="demos/time-tracker/**/*"/>
+ </fileset>
<!--
Test tools
@@ -112,47 +112,47 @@
<fileset dir="." id="test-tools">
<include name="tests/test_tools/**/*"/>
</fileset>
-
- <!--
- Writable files and directories
- -->
- <fileset dir="." id="writables">
- <include name="${build.src.dir}/demos/**/runtime" />
- <include name="${build.src.dir}/demos/**/assets" />
- <include name="${build.src.dir}/demos/blog/protected/Data" />
- </fileset>
-
- <target name="help">
- <echo>
-
- Welcome to use PRADO build script!
- ----------------------------------
- You may use the following command format to build a target:
-
- phing &lt;target name&gt;
-
- where &lt;target name&gt; can be one of the following:
-
- For all PRADO developers:
- - test : run unit tests (results are under /build/test-reports);
-
- For PRADO release manager:
- - dist : create release files;
- - build : prepare a directory for distribution;
- - clean : clean up the build directory;
- - rebuild : clean first and then build;
- - docs : generate documentation;
- - pear : generate PEAR packages;
- - snapshot: generate nightly snapshot;
- </echo>
+
+ <!--
+ Writable files and directories
+ -->
+ <fileset dir="." id="writables">
+ <include name="${build.src.dir}/demos/**/runtime" />
+ <include name="${build.src.dir}/demos/**/assets" />
+ <include name="${build.src.dir}/demos/blog/protected/Data" />
+ </fileset>
+
+ <target name="help">
+ <echo>
+
+ Welcome to use PRADO build script!
+ ----------------------------------
+ You may use the following command format to build a target:
+
+ phing &lt;target name&gt;
+
+ where &lt;target name&gt; can be one of the following:
+
+ For all PRADO developers:
+ - test : run unit tests (results are under /build/test-reports);
+
+ For PRADO release manager:
+ - dist : create release files;
+ - build : prepare a directory for distribution;
+ - clean : clean up the build directory;
+ - rebuild : clean first and then build;
+ - docs : generate documentation;
+ - pear : generate PEAR packages;
+ - snapshot: generate nightly snapshot;
+ </echo>
</target>
<!-- bulid compact prado package definitions -->
<target name="compact-collections" description="Collections">
<mkdir dir="${build.compact.dir}" />
- <mkdir dir="${build.compact.dir}/docs" />
- <mkdir dir="${build.compact.dir}/prado-dao" />
+ <mkdir dir="${build.compact.dir}/docs" />
+ <mkdir dir="${build.compact.dir}/prado-dao" />
<compact-package output="${build.compact.dir}/prado-dao/collections.php" strip="${compact-strip-comments}">
<filelist dir="framework" files="PradoBase.php,TComponent.php,Exceptions/TException.php,interfaces.php" />
<filelist dir="framework/Collections" files="TList.php,TMap.php,TAttributeCollection.php,TPagedList.php,TPagedDataSource.php" />
@@ -163,9 +163,9 @@
<copy file="HISTORY" tofile="${build.compact.dir}/HISTORY" />
<delete file="${build.compact.dir}/readme.txt" />
<append destFile="${build.compact.dir}/readme.txt">PRADO Framework for PHP 5, version ${prado.version}. See docs/ directory for documentation.</append>
-
- <prado-quickstart-docs output="${build.compact.dir}/docs"
- pages="Advanced/Collections.page,Fundamentals/Components.page"/>
+
+ <prado-quickstart-docs output="${build.compact.dir}/docs"
+ pages="Advanced/Collections.page,Fundamentals/Components.page"/>
</target>
<target name="compact-db" description="Database" depends="compact-collections">
@@ -175,7 +175,7 @@
<filelist dir="framework/Data/Common"
files="TDbTableInfo.php, TDbTableColumn.php, TDbCommandBuilder.php, TDbMetaData.php" />
</compact-package>
- <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/DAO.page" />
+ <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/DAO.page" />
</target>
<target name="compact-db-sqlite" description="Sqlite Database" depends="compact-db">
@@ -225,8 +225,8 @@
</compact-package>
<append file="framework/Data/ActiveRecord/Exceptions/messages.txt"
destfile="${build.compact.dir}/prado-dao/messages.txt" />
- <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/ActiveRecord.page" />
- </target>
+ <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/ActiveRecord.page" />
+ </target>
<target name="compact-sqlmap" description="Package SqlMap" depends="compact-db-all">
<compact-package output="${build.compact.dir}/prado-dao/sqlmap.php" strip="${compact-strip-comments}">
@@ -240,388 +240,388 @@
</compact-package>
<append file="framework/Data/SqlMap/DataMapper/messages.txt"
destfile="${build.compact.dir}/prado-dao/messages.txt" />
- <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/SqlMap.page" />
+ <prado-quickstart-docs output="${build.compact.dir}/docs" pages="Database/SqlMap.page" />
</target>
-
- <target name="compact-northwind" description="Northwind example">
- <copy todir="${build.compact.dir}/examples">
- <fileset dir="demos/northwind-db/protected/" >
- <include name="database/**/*"/>
- <include name="data/**/*"/>
- </fileset>
- </copy>
- <delete file="${build.compact.dir}/examples/example.php" />
- <append destfile="${build.compact.dir}/examples/example.php"><![CDATA[<?php
-
-include('../prado-dao/collections.php');
-include('../prado-dao/db.php');
-include('../prado-dao/db-sqlite.php');
-include('../prado-dao/table-gateway.php');
-include('../prado-dao/active-record.php');
-include('../prado-dao/sqlmap.php');
-
-$sqlite_dir = './data';
-$sqlite_db = $sqlite_dir.'/Northwind.db';
-if(!is_file($sqlite_db))
- die("Unable to find database file $sqlite_db");
-if(!is_writable($sqlite_dir))
- die("Please make sure that the directory $sqlite_dir is writable by PHP process.");
-if(!is_writable($sqlite_db))
- die("Please make sure that the sqlite database file $sqlite_db is writable by PHP process.");
-
-//add directory "database" for autoload
-$class_dir = realpath(dirname(__FILE__).'/database');
-set_include_path(get_include_path().PATH_SEPARATOR.$class_dir);
-spl_autoload_register(array('PradoBase', 'autoload'));
-//other forms of auto load may be used.
-
-$conn = new TDbConnection("sqlite:$sqlite_db");
-//set default database connection
-TActiveRecordManager::getInstance()->setDbConnection($conn);
-
-//start playing
-
-foreach(Employee::finder()->findAll() as $employee)
- var_dump($employee->LastName);
-
-//fetch all regions and its territories.
-foreach(Region::finder()->withTerritories()->findAll() as $region)
-{
- var_dump($region->RegionDescription);
- foreach($region->Territories as $territory)
- var_dump($territory->TerritoryDescription);
-}
-
-//sqlmap example
-$manager = new TSqlMapManager($conn);
-$manager->configureXml('./database/sqlmap.xml');
-$sqlmap = $manager->getSqlMapGateway();
-
-var_dump($sqlmap->queryForList('products-with-price', 50));
-
-//similar query, but not identical
-//Product::finder()->withCategory()->findAll('UnitPrice < ?', 50)
-
-?>]]></append>
+
+ <target name="compact-northwind" description="Northwind example">
+ <copy todir="${build.compact.dir}/examples">
+ <fileset dir="demos/northwind-db/protected/" >
+ <include name="database/**/*"/>
+ <include name="data/**/*"/>
+ </fileset>
+ </copy>
+ <delete file="${build.compact.dir}/examples/example.php" />
+ <append destfile="${build.compact.dir}/examples/example.php"><![CDATA[<?php
+
+include('../prado-dao/collections.php');
+include('../prado-dao/db.php');
+include('../prado-dao/db-sqlite.php');
+include('../prado-dao/table-gateway.php');
+include('../prado-dao/active-record.php');
+include('../prado-dao/sqlmap.php');
+
+$sqlite_dir = './data';
+$sqlite_db = $sqlite_dir.'/Northwind.db';
+if(!is_file($sqlite_db))
+ die("Unable to find database file $sqlite_db");
+if(!is_writable($sqlite_dir))
+ die("Please make sure that the directory $sqlite_dir is writable by PHP process.");
+if(!is_writable($sqlite_db))
+ die("Please make sure that the sqlite database file $sqlite_db is writable by PHP process.");
+
+//add directory "database" for autoload
+$class_dir = realpath(dirname(__FILE__).'/database');
+set_include_path(get_include_path().PATH_SEPARATOR.$class_dir);
+spl_autoload_register(array('PradoBase', 'autoload'));
+//other forms of auto load may be used.
+
+$conn = new TDbConnection("sqlite:$sqlite_db");
+//set default database connection
+TActiveRecordManager::getInstance()->setDbConnection($conn);
+
+//start playing
+
+foreach(Employee::finder()->findAll() as $employee)
+ var_dump($employee->LastName);
+
+//fetch all regions and its territories.
+foreach(Region::finder()->withTerritories()->findAll() as $region)
+{
+ var_dump($region->RegionDescription);
+ foreach($region->Territories as $territory)
+ var_dump($territory->TerritoryDescription);
+}
+
+//sqlmap example
+$manager = new TSqlMapManager($conn);
+$manager->configureXml('./database/sqlmap.xml');
+$sqlmap = $manager->getSqlMapGateway();
+
+var_dump($sqlmap->queryForList('products-with-price', 50));
+
+//similar query, but not identical
+//Product::finder()->withCategory()->findAll('UnitPrice < ?', 50)
+
+?>]]></append>
</target>
<target name="compact-dao" description="All packages" depends="compact-active-record,compact-sqlmap,compact-northwind" />
<!-- end compact packaging -->
-
- <target name="build" description="Building standard PRADO package v${prado.version}.${prado.revision}">
- <echo>Building pradolite.php...</echo>
- <delete file="framework/pradolite.php"/>
- <exec command="${php} build.php" dir="buildscripts/phpbuilder" passthru="true"/>
-
- <echo>Copying files to build directory...</echo>
- <copy todir="${build.src.dir}">
- <fileset refid="demos"/>
- <fileset refid="docs"/>
- <fileset refid="framework"/>
+
+ <target name="build" description="Building standard PRADO package v${prado.version}.${prado.revision}">
+ <echo>Building pradolite.php...</echo>
+ <delete file="framework/pradolite.php"/>
+ <exec command="${php} build.php" dir="buildscripts/phpbuilder" passthru="true"/>
+
+ <echo>Copying files to build directory...</echo>
+ <copy todir="${build.src.dir}">
+ <fileset refid="demos"/>
+ <fileset refid="docs"/>
+ <fileset refid="framework"/>
<fileset refid="misc"/>
- <fileset refid="test-tools" />
- </copy>
-
- <copy file="buildscripts/classtree/DWExtensionReadme.txt" tofile="${build.src.dir}/editors/Dreamweaver/readme.txt" />
- <copy file="framework/pradolite.php" tofile="${build.src.dir}/framework/pradolite.php" />
- <copy file="framework/prado-cli.php" tofile="${build.src.dir}/framework/prado-cli.php" />
-
- <echo>Changing file permissions...</echo>
- <chmod mode="0777">
- <fileset refid="writables" />
- </chmod>
-
- <echo>Building quickstart demo search indices...</echo>
- <prado-quickstart-index todir="${build.src.dir}/demos/quickstart/protected/index/quickstart" />
- </target>
-
- <target name="clean">
- <echo>Cleaning up the mess</echo>
- <delete dir="${build.base.dir}"/>
- </target>
-
- <target name="rebuild" depends="clean,build" />
-
- <target name="docs" depends="build">
- <echo>Build PDF + CHM + HTML Docs, it may take about 30 mins</echo>
-
- <echo>Building quickstart.pdf...</echo>
- <delete>
- <fileset dir=".">
- <include name="buildscripts/texbuilder/quickstart/*.aux" />
- </fileset>
- </delete>
- <exec command="${php} build.php" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
- <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
- <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
- <exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
- <move file="buildscripts/texbuilder/quickstart/quickstart.pdf" todir="${build.doc.dir}"/>
-
- <echo>Building API manuals...</echo>
- <delete dir="${build.doc.dir}/manual"/>
- <mkdir dir="${build.doc.dir}/manual" />
- <prado-doc phpdoc="${php} buildscripts/PhpDocumentor/phpdoc"
- title="PRADO v${prado.version} API Manual"
- destdir="${build.doc.dir}/manual"
- sourcepath="${build.src.dir}/framework"
- ignorelist="*pradolite.php,*prado-cli.php,*3rdParty/*,*Javascripts/*,*I18N/core/*"
- output="HTML:frames:default,CHM:default:default,HTML:Smarty:PradoSoft" />
-
- <echo>Indexing API manuals...</echo>
- <prado-api-index docdir="${build.doc.dir}/manual/HTMLSmartyConverter" todir="${build.doc.dir}/manual/HTMLSmartyConverter" />
-
- <copy file="buildscripts/index/search.php" todir="${build.doc.dir}/manual/HTMLSmartyConverter" />
-
- <exec command="${php} build.php" dir="buildscripts/classtree" passthru="true"/>
-
- <echo>Generating CHM Content (Quickstart + ClassDocs)</echo>
- <exec command="${php} build.php" dir="buildscripts/chmbuilder" passthru="true"/>
- <!-- done on project website
- <echo>Generating CHM Content (WIKI)</echo>
- <exec command="${php} build.php" dir="buildscripts/wikibuilder" passthru="true"/>
- -->
- <if>
- <equals arg1="${prado.winbuild}" arg2="true"/>
- <then>
- <exec command="${hhc} ${build.doc.dir}/prado3_manual.hhp" />
- </then>
- </if>
- </target>
-
- <target name="dist" depends="rebuild,docs">
- <echo>Moving doc files to build...</echo>
- <mkdir dir="${build.dist.dir}" />
- <move file="${build.doc.dir}/quickstart.pdf" todir="${build.src.dir}/docs" />
- <move todir="${build.src.dir}/docs/manual">
- <fileset dir="${build.doc.dir}/manual/HTMLframesConverter">
- <include name="**/**" />
- </fileset>
- </move>
- <if>
- <equals arg1="${prado.winbuild}" arg2="true"/>
- <then>
- <move file="${build.doc.dir}/prado3_manual.chm" tofile="${build.src.dir}/docs/prado3_manual.chm" />
- </then>
- </if>
-
- <echo>Generating compressed distribution files...</echo>
- <if>
- <equals arg1="${prado.winbuild}" arg2="false"/>
- <then>
- <exec command="tar czvf ${pkgname}.tar.gz ${pkgname}" dir="${build.base.dir}"/>
- <move file="${build.base.dir}/${pkgname}.tar.gz" todir="${build.dist.dir}" />
- </then>
- </if>
-
- <!--
- <exec command="zip ${pkgname}.zip -r ${pkgname}" dir="${build.base.dir}" />
- <move file="${build.base.dir}/${pkgname}.zip" todir="${build.dist.dir}" />
- -->
-
- <echo>Generating files for pradosoft.com...</echo>
- <echo>Compiling class docs...</echo>
- <exec command="${php} build.php" dir="buildscripts/classtree" passthru="true"/>
- <move file="buildscripts/classtree/classes.data" todir="${build.web.dir}/protected/Data" />
-
- <echo>Moving HTML docs to Web folder...</echo>
- <mkdir dir="${build.web.dir}" />
- <move todir="${build.web.dir}/docs/manual">
- <fileset dir="${build.doc.dir}/manual/HTMLSmartyConverter">
- <include name="**/**" />
- </fileset>
- </move>
-
- <echo>
-
-
- Distribution Not Completed Yet!!!
-
-The following steps need to be manually performed in order to complete
-the PRADO distribution:
-
-1. Package DreamWeaver extension by running DW extension manager with
- buildscripts/classtree/PRADO.mxi and saving the generated file as
- "${build.src.dir}/editors/Dreamweaver/PRADO.mxp"
-
-2. Use winzip (on Windows) and gzip (on Linux) to generate the compressed
- release files of the direcotry
- "${build.src.dir}".
-
- </echo>
- </target>
-
- <target name="test" description="Running unit tests">
- <delete dir="${build.test.dir}"/>
- <mkdir dir="${build.test.dir}"/>
- <prado-test codecoverage="false" haltonfailure="false" haltonerror="false" printsummary="true">
- <batchtest>
- <fileset dir="tests/unit">
- <include name="**/*Test.php"/>
- </fileset>
- </batchtest>
- <formatter type="xml" todir="${build.test.dir}" outfile="unit-tests.xml"/>
- </prado-test>
- <phpunit2report infile="${build.test.dir}/unit-tests.xml" format="frames" styledir="buildscripts/phing/style" todir="${build.test.dir}"/>
- </target>
-
- <target name="snapshot" depends="rebuild">
- <echo>Generating compressed distribution files...</echo>
- <if>
- <equals arg1="${prado.winbuild}" arg2="false"/>
- <then>
- <exec command="tar czvf ${pkgname}.tar.gz ${pkgname}" dir="${build.base.dir}"/>
- <move file="${build.base.dir}/${pkgname}.tar.gz" todir="${build.dist.dir}" />
- </then>
- </if>
- <exec command="zip ${pkgname}.zip -r ${pkgname}" dir="${build.base.dir}" />
- <move file="${build.base.dir}/${pkgname}.zip" tofile="${build.snapshot.dir}/prado-latest.zip" />
- <copy file="${build.src.dir}/HISTORY" tofile="${build.snapshot.dir}/changelog-latest.txt" />
- </target>
-
-<!--
- <taskdef name="phplint" classname="PhpLintTask" classpath="buildscripts/phing/tasks"/>
- <taskdef name="xmllint" classname="XmlLintTask" classpath="buildscripts/phing/tasks"/>
- <taskdef name="analyze" classname="ZendCodeAnalyzerTask" classpath="buildscripts/phing/tasks"/>
- <taskdef name="pear-package" classname="BuildPradoPEARPackageTask" classpath="buildscripts/phing/tasks"/>
-
- <target name="pear" depends="" description="Creating PEAR package">
- <mkdir dir="${build.pear.dir}" />
- <prado-pear pkgdir="${build.pear.dir}"
- channel="pear.php.net"
- version="${prado.version}"
- state="stable"
- category="framework"
- package="prado"
- summary="PRADO is a ...."
- pkgdescription="detailed description..."
- notes="www.pradosoft.com"
- license="BSD"
- />
- </target>
- <target name="test" description="Run unit tests">
- <echo>Preparing directory structure</echo>
- <delete dir="${reports.dir}"/>
- <mkdir dir="${reports.dir}"/>
- <delete dir="${reports.unit.dir}"/>
- <delete dir="${reports.codecoverage.dir}"/>
-
- <if>
- <equals arg1="${codecoverage}" arg2="true"/>
- <then>
- <mkdir dir="${reports.codecoverage.dir}"/>
- <echo>Preparing Code Coverage Database</echo>
- <coverage-setup database="${reports.codecoverage.dir}/coverage.db">
- <fileset dir="${src.dir}">
- <include name="**/*.php"/>
- <exclude name="Web/Javascripts/js/clientscripts.php"/>
- <exclude name="Data/TCache.php"/>
- <exclude name="DataAccess/**/*.php"/>
- <exclude name="I18N/core/Gettext/MO.php"/>
- <exclude name="I18N/core/Gettext/PO.php"/>
- <exclude name="I18N/core/util.php"/>
- <exclude name="I18N/TGlobalization.php"/>
- <exclude name="I18N/TGlobalizationAutoDetect.php"/>
- <exclude name="Security/TUserManager.php"/>
- <exclude name="Security/TMembershipManager.php"/>
- <exclude name="core.php"/>
- <exclude name="3rdParty/**/*.php"/>
- <exclude name="pradolite.php"/>
- <exclude name="prado.php"/>
- </fileset>
- </coverage-setup>
- </then>
- </if>
-
- <echo>Running Unit Tests</echo>
- <phpunit2 codecoverage="${codecoverage}" haltonfailure="false" haltonerror="false" printsummary="true">
- <batchtest>
- <fileset dir="${tests.dir}">
- <include name="**/*Test.php"/>
- </fileset>
- </batchtest>
- <formatter type="xml" todir="${reports.dir}" outfile="logfile.xml"/>
- </phpunit2>
-
- <echo>Creating Unit Test Report</echo>
- <mkdir dir="${reports.unit.dir}"/>
- <phpunit2report infile="${reports.dir}/logfile.xml" format="frames" styledir="${reports.style.dir}" todir="${reports.unit.dir}"/>
-
- <if>
- <equals arg1="${codecoverage}" arg2="true"/>
- <then>
- <echo>Creating Code Coverage Report</echo>
- <coverage-report outfile="${reports.dir}/coverage.xml" geshipath="${reports.geshi.dir}" geshilanguagespath="${reports.geshi.dir}/geshi">
- <report todir="${reports.codecoverage.dir}" styledir="${reports.style.dir}"/>
- </coverage-report>
- </then>
- </if>
- </target>
-
- <target name="lint" description="Check syntax of PHP source files">
- <phplint>
- <fileset refid="src"/>
- </phplint>
- </target>
-
- <target name="lint-demos" description="Check syntax of demo files and configuration files">
- <echo>Validate application configuration</echo>
- <xmllint schema="${application.xsd}">
- <fileset dir="demos">
- <exclude name="**/.svn"/>
- <include name="**/application.xml"/>
- </fileset>
- </xmllint>
- <echo>Validate page configuration</echo>
- <xmllint schema="${config.xsd}">
- <fileset dir="demos">
- <exclude name="**/.svn"/>
- <include name="**/config.xml"/>
- </fileset>
- </xmllint>
- <phplint>
- <fileset dir="demos">
- <exclude name="**/.svn"/>
- <include name="**/*.php"/>
- </fileset>
- </phplint>
- </target>
- <target name="build-pear-package">
- <echo>Preparing files for PEAR package...</echo>
- <delete dir="${build.pear.dir}"/>
- <mkdir dir="${build.pear.dir}"/>
- <copy todir="${build.pear.dir}">
- <fileset refid="framework"/>
- <fileset dir="${build.base.dir}">
- <include name="${prado.lite}"/>
- </fileset>
- </copy>
-
- <echo>Creating package.xml...</echo>
- <pear-package dir="${build.pear.dir}" destFile="${build.base.dir}/pear/package.xml" version="${version}" state="${pear.state}" notes="${notes}">
- <fileset refid="framework"/>
- <fileset dir="${build.base.dir}">
- <include name="${prado.lite}"/>
- </fileset>
- </pear-package>
- </target>
- <target name="dist-pear" depends="build-pear-package" description="Create PRADO PEAR package">
- <delete file="${dist.pearfile}"/>
- <mkdir dir="${dist.base.dir}"/>
- <exec command="pear package" dir="${build.pear.dir}" passthru="true"/>
- <move file="${build.pear.dir}/prado3-${version}.tgz" tofile="${dist.pearfile}"/>
- </target>
- <target name="analyze" description="Analyze PHP source files with Zend Code Analyzer">
- <analyze analyzerPath="${zca}" disable="var-ref-notmodified,var-use-before-def,var-arg-unused,if-if-else">
- <fileset refid="src"/>
- </analyze>
- </target>
-
- <target name="install" description="Install PEAR package locally">
- <exec command="sudo pear install ${dist.pearfile}" dir="." passthru="true"/>
- </target>
-
- <target name="uninstall" description="Uninstall PEAR package locally">
- <exec command="sudo pear uninstall pear.pradosoft.com/prado3" dir="." passthru="true"/>
- </target>
--->
-</project>
+ <fileset refid="test-tools" />
+ </copy>
+
+ <copy file="buildscripts/classtree/DWExtensionReadme.txt" tofile="${build.src.dir}/editors/Dreamweaver/readme.txt" />
+ <copy file="framework/pradolite.php" tofile="${build.src.dir}/framework/pradolite.php" />
+ <copy file="framework/prado-cli.php" tofile="${build.src.dir}/framework/prado-cli.php" />
+
+ <echo>Changing file permissions...</echo>
+ <chmod mode="0777">
+ <fileset refid="writables" />
+ </chmod>
+
+ <echo>Building quickstart demo search indices...</echo>
+ <prado-quickstart-index todir="${build.src.dir}/demos/quickstart/protected/index/quickstart" />
+ </target>
+
+ <target name="clean">
+ <echo>Cleaning up the mess</echo>
+ <delete dir="${build.base.dir}"/>
+ </target>
+
+ <target name="rebuild" depends="clean,build" />
+
+ <target name="docs" depends="build">
+ <echo>Build PDF + CHM + HTML Docs, it may take about 30 mins</echo>
+
+ <echo>Building quickstart.pdf...</echo>
+ <delete>
+ <fileset dir=".">
+ <include name="buildscripts/texbuilder/quickstart/*.aux" />
+ </fileset>
+ </delete>
+ <exec command="${php} build.php" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <exec command="${pdflatex} -interaction=nonstopmode -max-print-line=120 quickstart.tex" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <exec command="${pdflatex} -interaction=nonstopmode -max-print-line=120 quickstart.tex" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <exec command="${pdflatex} -interaction=nonstopmode -max-print-line=120 quickstart.tex" dir="buildscripts/texbuilder/quickstart" passthru="true"/>
+ <move file="buildscripts/texbuilder/quickstart/quickstart.pdf" todir="${build.doc.dir}"/>
+
+ <echo>Building API manuals...</echo>
+ <delete dir="${build.doc.dir}/manual"/>
+ <mkdir dir="${build.doc.dir}/manual" />
+ <prado-doc phpdoc="${php} buildscripts/PhpDocumentor/phpdoc"
+ title="PRADO v${prado.version} API Manual"
+ destdir="${build.doc.dir}/manual"
+ sourcepath="${build.src.dir}/framework"
+ ignorelist="*pradolite.php,*prado-cli.php,*3rdParty/*,*Javascripts/*,*I18N/core/*"
+ output="HTML:frames:default,CHM:default:default,HTML:Smarty:PradoSoft" />
+
+ <echo>Indexing API manuals...</echo>
+ <prado-api-index docdir="${build.doc.dir}/manual/HTMLSmartyConverter" todir="${build.doc.dir}/manual/HTMLSmartyConverter" />
+
+ <copy file="buildscripts/index/search.php" todir="${build.doc.dir}/manual/HTMLSmartyConverter" />
+
+ <exec command="${php} build.php" dir="buildscripts/classtree" passthru="true"/>
+
+ <echo>Generating CHM Content (Quickstart + ClassDocs)</echo>
+ <exec command="${php} build.php" dir="buildscripts/chmbuilder" passthru="true"/>
+ <!-- done on project website
+ <echo>Generating CHM Content (WIKI)</echo>
+ <exec command="${php} build.php" dir="buildscripts/wikibuilder" passthru="true"/>
+ -->
+ <if>
+ <equals arg1="${prado.winbuild}" arg2="true"/>
+ <then>
+ <exec command="${hhc} ${build.doc.dir}/prado3_manual.hhp" />
+ </then>
+ </if>
+ </target>
+
+ <target name="dist" depends="rebuild,docs">
+ <echo>Moving doc files to build...</echo>
+ <mkdir dir="${build.dist.dir}" />
+ <move file="${build.doc.dir}/quickstart.pdf" todir="${build.src.dir}/docs" />
+ <move todir="${build.src.dir}/docs/manual">
+ <fileset dir="${build.doc.dir}/manual/HTMLframesConverter">
+ <include name="**/**" />
+ </fileset>
+ </move>
+ <if>
+ <equals arg1="${prado.winbuild}" arg2="true"/>
+ <then>
+ <move file="${build.doc.dir}/prado3_manual.chm" tofile="${build.src.dir}/docs/prado3_manual.chm" />
+ </then>
+ </if>
+
+ <echo>Generating compressed distribution files...</echo>
+ <if>
+ <equals arg1="${prado.winbuild}" arg2="false"/>
+ <then>
+ <exec command="tar czvf ${pkgname}.tar.gz ${pkgname}" dir="${build.base.dir}"/>
+ <move file="${build.base.dir}/${pkgname}.tar.gz" todir="${build.dist.dir}" />
+ </then>
+ </if>
+
+ <!--
+ <exec command="zip ${pkgname}.zip -r ${pkgname}" dir="${build.base.dir}" />
+ <move file="${build.base.dir}/${pkgname}.zip" todir="${build.dist.dir}" />
+ -->
+
+ <echo>Generating files for pradosoft.com...</echo>
+ <echo>Compiling class docs...</echo>
+ <exec command="${php} build.php" dir="buildscripts/classtree" passthru="true"/>
+ <move file="buildscripts/classtree/classes.data" todir="${build.web.dir}/protected/Data" />
+
+ <echo>Moving HTML docs to Web folder...</echo>
+ <mkdir dir="${build.web.dir}" />
+ <move todir="${build.web.dir}/docs/manual">
+ <fileset dir="${build.doc.dir}/manual/HTMLSmartyConverter">
+ <include name="**/**" />
+ </fileset>
+ </move>
+
+ <echo>
+
+
+ Distribution Not Completed Yet!!!
+
+The following steps need to be manually performed in order to complete
+the PRADO distribution:
+
+1. Package DreamWeaver extension by running DW extension manager with
+ buildscripts/classtree/PRADO.mxi and saving the generated file as
+ "${build.src.dir}/editors/Dreamweaver/PRADO.mxp"
+
+2. Use winzip (on Windows) and gzip (on Linux) to generate the compressed
+ release files of the direcotry
+ "${build.src.dir}".
+
+ </echo>
+ </target>
+
+ <target name="test" description="Running unit tests">
+ <delete dir="${build.test.dir}"/>
+ <mkdir dir="${build.test.dir}"/>
+ <prado-test codecoverage="false" haltonfailure="false" haltonerror="false" printsummary="true">
+ <batchtest>
+ <fileset dir="tests/unit">
+ <include name="**/*Test.php"/>
+ </fileset>
+ </batchtest>
+ <formatter type="xml" todir="${build.test.dir}" outfile="unit-tests.xml"/>
+ </prado-test>
+ <phpunit2report infile="${build.test.dir}/unit-tests.xml" format="frames" styledir="buildscripts/phing/style" todir="${build.test.dir}"/>
+ </target>
+
+ <target name="snapshot" depends="rebuild">
+ <echo>Generating compressed distribution files...</echo>
+ <if>
+ <equals arg1="${prado.winbuild}" arg2="false"/>
+ <then>
+ <exec command="tar czvf ${pkgname}.tar.gz ${pkgname}" dir="${build.base.dir}"/>
+ <move file="${build.base.dir}/${pkgname}.tar.gz" todir="${build.dist.dir}" />
+ </then>
+ </if>
+ <exec command="zip ${pkgname}.zip -r ${pkgname}" dir="${build.base.dir}" />
+ <move file="${build.base.dir}/${pkgname}.zip" tofile="${build.snapshot.dir}/prado-latest.zip" />
+ <copy file="${build.src.dir}/HISTORY" tofile="${build.snapshot.dir}/changelog-latest.txt" />
+ </target>
+
+<!--
+ <taskdef name="phplint" classname="PhpLintTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="xmllint" classname="XmlLintTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="analyze" classname="ZendCodeAnalyzerTask" classpath="buildscripts/phing/tasks"/>
+ <taskdef name="pear-package" classname="BuildPradoPEARPackageTask" classpath="buildscripts/phing/tasks"/>
+
+ <target name="pear" depends="" description="Creating PEAR package">
+ <mkdir dir="${build.pear.dir}" />
+ <prado-pear pkgdir="${build.pear.dir}"
+ channel="pear.php.net"
+ version="${prado.version}"
+ state="stable"
+ category="framework"
+ package="prado"
+ summary="PRADO is a ...."
+ pkgdescription="detailed description..."
+ notes="www.pradosoft.com"
+ license="BSD"
+ />
+ </target>
+ <target name="test" description="Run unit tests">
+ <echo>Preparing directory structure</echo>
+ <delete dir="${reports.dir}"/>
+ <mkdir dir="${reports.dir}"/>
+ <delete dir="${reports.unit.dir}"/>
+ <delete dir="${reports.codecoverage.dir}"/>
+
+ <if>
+ <equals arg1="${codecoverage}" arg2="true"/>
+ <then>
+ <mkdir dir="${reports.codecoverage.dir}"/>
+ <echo>Preparing Code Coverage Database</echo>
+ <coverage-setup database="${reports.codecoverage.dir}/coverage.db">
+ <fileset dir="${src.dir}">
+ <include name="**/*.php"/>
+ <exclude name="Web/Javascripts/js/clientscripts.php"/>
+ <exclude name="Data/TCache.php"/>
+ <exclude name="DataAccess/**/*.php"/>
+ <exclude name="I18N/core/Gettext/MO.php"/>
+ <exclude name="I18N/core/Gettext/PO.php"/>
+ <exclude name="I18N/core/util.php"/>
+ <exclude name="I18N/TGlobalization.php"/>
+ <exclude name="I18N/TGlobalizationAutoDetect.php"/>
+ <exclude name="Security/TUserManager.php"/>
+ <exclude name="Security/TMembershipManager.php"/>
+ <exclude name="core.php"/>
+ <exclude name="3rdParty/**/*.php"/>
+ <exclude name="pradolite.php"/>
+ <exclude name="prado.php"/>
+ </fileset>
+ </coverage-setup>
+ </then>
+ </if>
+
+ <echo>Running Unit Tests</echo>
+ <phpunit2 codecoverage="${codecoverage}" haltonfailure="false" haltonerror="false" printsummary="true">
+ <batchtest>
+ <fileset dir="${tests.dir}">
+ <include name="**/*Test.php"/>
+ </fileset>
+ </batchtest>
+ <formatter type="xml" todir="${reports.dir}" outfile="logfile.xml"/>
+ </phpunit2>
+
+ <echo>Creating Unit Test Report</echo>
+ <mkdir dir="${reports.unit.dir}"/>
+ <phpunit2report infile="${reports.dir}/logfile.xml" format="frames" styledir="${reports.style.dir}" todir="${reports.unit.dir}"/>
+
+ <if>
+ <equals arg1="${codecoverage}" arg2="true"/>
+ <then>
+ <echo>Creating Code Coverage Report</echo>
+ <coverage-report outfile="${reports.dir}/coverage.xml" geshipath="${reports.geshi.dir}" geshilanguagespath="${reports.geshi.dir}/geshi">
+ <report todir="${reports.codecoverage.dir}" styledir="${reports.style.dir}"/>
+ </coverage-report>
+ </then>
+ </if>
+ </target>
+
+ <target name="lint" description="Check syntax of PHP source files">
+ <phplint>
+ <fileset refid="src"/>
+ </phplint>
+ </target>
+
+ <target name="lint-demos" description="Check syntax of demo files and configuration files">
+ <echo>Validate application configuration</echo>
+ <xmllint schema="${application.xsd}">
+ <fileset dir="demos">
+ <exclude name="**/.svn"/>
+ <include name="**/application.xml"/>
+ </fileset>
+ </xmllint>
+ <echo>Validate page configuration</echo>
+ <xmllint schema="${config.xsd}">
+ <fileset dir="demos">
+ <exclude name="**/.svn"/>
+ <include name="**/config.xml"/>
+ </fileset>
+ </xmllint>
+ <phplint>
+ <fileset dir="demos">
+ <exclude name="**/.svn"/>
+ <include name="**/*.php"/>
+ </fileset>
+ </phplint>
+ </target>
+ <target name="build-pear-package">
+ <echo>Preparing files for PEAR package...</echo>
+ <delete dir="${build.pear.dir}"/>
+ <mkdir dir="${build.pear.dir}"/>
+ <copy todir="${build.pear.dir}">
+ <fileset refid="framework"/>
+ <fileset dir="${build.base.dir}">
+ <include name="${prado.lite}"/>
+ </fileset>
+ </copy>
+
+ <echo>Creating package.xml...</echo>
+ <pear-package dir="${build.pear.dir}" destFile="${build.base.dir}/pear/package.xml" version="${version}" state="${pear.state}" notes="${notes}">
+ <fileset refid="framework"/>
+ <fileset dir="${build.base.dir}">
+ <include name="${prado.lite}"/>
+ </fileset>
+ </pear-package>
+ </target>
+ <target name="dist-pear" depends="build-pear-package" description="Create PRADO PEAR package">
+ <delete file="${dist.pearfile}"/>
+ <mkdir dir="${dist.base.dir}"/>
+ <exec command="pear package" dir="${build.pear.dir}" passthru="true"/>
+ <move file="${build.pear.dir}/prado3-${version}.tgz" tofile="${dist.pearfile}"/>
+ </target>
+ <target name="analyze" description="Analyze PHP source files with Zend Code Analyzer">
+ <analyze analyzerPath="${zca}" disable="var-ref-notmodified,var-use-before-def,var-arg-unused,if-if-else">
+ <fileset refid="src"/>
+ </analyze>
+ </target>
+
+ <target name="install" description="Install PEAR package locally">
+ <exec command="sudo pear install ${dist.pearfile}" dir="." passthru="true"/>
+ </target>
+
+ <target name="uninstall" description="Uninstall PEAR package locally">
+ <exec command="sudo pear uninstall pear.pradosoft.com/prado3" dir="." passthru="true"/>
+ </target>
+-->
+</project>
diff --git a/buildscripts/texbuilder/Page2Tex.php b/buildscripts/texbuilder/Page2Tex.php
index 04a60f93..008b30fa 100644
--- a/buildscripts/texbuilder/Page2Tex.php
+++ b/buildscripts/texbuilder/Page2Tex.php
@@ -210,9 +210,12 @@ class Page2Tex
$html = preg_replace_callback('/<!--\s*tabular:([^-]*)-->\s*<table[^>]*>((.|\n)*?)<\/table>/',
array($this, 'tabular'), $html);
- $html = preg_replace('/<!--(.*)-->/', '', $html);
+ $html = preg_replace('/<!--((.|\n)*?)-->/', '', $html);
$html = preg_replace('/<div class="last-modified">((.|\n)*?)<\/div>/', '', $html);
+ //useless divs
+ $html = preg_replace('/<div [^>]*">((.|\n)*?)<\/div>/', '$1', $html);
+
//since
$html = preg_replace('/<com:SinceVersion[^>]+>/', '', $html);
diff --git a/demos/quickstart/protected/pages/Advanced/I18N.page b/demos/quickstart/protected/pages/Advanced/I18N.page
index 5d3e05b5..1840e69b 100644
--- a/demos/quickstart/protected/pages/Advanced/I18N.page
+++ b/demos/quickstart/protected/pages/Advanced/I18N.page
@@ -78,10 +78,10 @@ The <tt>marker</tt> value is used to surround any untranslated text.
Each translation message is wrapped within a <tt>trans-unit</tt> tag, where <tt>source</tt> is the original message, and <tt>target</tt> is the translated message. Editors such as <a href="http://www.heartsome.net/EN/xlfedit.html">Heartsome XLIFF Translation Editor</a> can help in editing these XML files.
-<h2>Using a Database for translation</h2>
+<h2 id="166008">Using a Database for translation</h2>
<com:SinceVersion Version="3.1.3" />
-<p>Since version 3.1.3 the messages can also be stored in a database using the connection id from an existing <tt>TDataSourceConfig</tt>. You have to create two tables in your database: <tt>catalogue</tt> and <tt>trans_unit</tt>. The catalogue table needs an entry for each catalogue you want to use. Example schemas for different databases can be found in the framework's <tt>I18N/schema</tt> directory. To configure translation with a database use:</>
+<p id="830016" class="block-content">Since version 3.1.3 the messages can also be stored in a database using the connection id from an existing <tt>TDataSourceConfig</tt>. You have to create two tables in your database: <tt>catalogue</tt> and <tt>trans_unit</tt>. The catalogue table needs an entry for each catalogue you want to use. Example schemas for different databases can be found in the framework's <tt>I18N/schema</tt> directory. To configure translation with a database use:</>
<com:TTextHighlighter Language="xml" CssClass="source block-content">
<module id="db1" class="System.Data.TDataSourceConfig">
@@ -97,7 +97,7 @@ Each translation message is wrapped within a <tt>trans-unit</tt> tag, where <tt>
</module>
</com:TTextHighlighter>
-<p>The translation messages will be stored in the <tt>trans_unit</tt> table. Add your translation in the <tt>target</tt> field of that table. You should make sure that you are working on the right catalogue by comparing the message's <tt>cat_id</tt> with that from the catalogue table.</p>
+<p id="830017" class="block-content">The translation messages will be stored in the <tt>trans_unit</tt> table. Add your translation in the <tt>target</tt> field of that table. You should make sure that you are working on the right catalogue by comparing the message's <tt>cat_id</tt> with that from the catalogue table.</p>
<h2 id="6206">Setting and Changing Culture</h2>
<p id="790633" class="block-content">Once globalization is enabled, you can access the globalization settings, such as, <tt>Culture</tt>, <tt>Charset</tt>, etc, using </p>
diff --git a/demos/quickstart/protected/pages/Configurations/UrlMapping.page b/demos/quickstart/protected/pages/Configurations/UrlMapping.page
index bdd0b81d..6bbedc28 100644
--- a/demos/quickstart/protected/pages/Configurations/UrlMapping.page
+++ b/demos/quickstart/protected/pages/Configurations/UrlMapping.page
@@ -133,9 +133,9 @@ parameters with these patterns if a lot of pages share common parameters.</p>
</ul>
</p>
-<p>As above, put more specific rules before more common rules as the first matching rule will be used.</p>
+<p id="250001" class="block-content">As above, put more specific rules before more common rules as the first matching rule will be used.</p>
-<p>To make configuration of friendly URLs for multiple pages even easier, you can also use <tt>UrlFormat="Path"</tt>
+<p id="250002" class="block-content">To make configuration of friendly URLs for multiple pages even easier, you can also use <tt>UrlFormat="Path"</tt>
in combination with wildcard patterns. In fact, this feature only is available in combination with wildcard rules:</P>
<com:TTextHighlighter Language="xml" CssClass="source block-content">
@@ -160,7 +160,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="250003" 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..f4c9962d 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="106004">TTabPanel</h1>
<com:DocLink ClassPath="System.Web.UI.WebControls.TTabPanel" />
-<p>
+<p id="530004" 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="530005" 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="530006" class="block-content">
If both <tt>ActiveViewIndex</tt> and <tt>ActiveViewID</tt> are set, the latter takes precedence.
</p>
-<p>
+<p id="530007" 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="530008" 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_530117">
&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 bc0df529..78947faf 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 "many to many" via association table.</li>
<li>Lazy loading of relationships.</li>
</ul>
-<h2>Design Implications</h2>
-<p>
+<h2 id="144005">Design Implications</h2>
+<p id="720009" 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="720010" class="block-content">
+<p id="720011" 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>
@@ -876,8 +876,8 @@ class Category extends TActiveRecord
}
</com:TTextHighlighter>
-<h3>Query Criteria for Related Objects</h3>
-<p>
+<h3 id="144007">Query Criteria for Related Objects</h3>
+<p id="720012" class="block-content">
In the above, we show that an Active Record object can reference to its related objects by
declaring a static class member $RELATIONS which specifies a list of relations. Each relation
is specified as an array consisting of three elements: relation type, related AR class name,
@@ -1147,14 +1147,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="144006">Column Mapping</h2>
+<p id="720013" 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="720014" 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
@@ -1181,7 +1181,7 @@ class UserRecord extends TActiveRecord
//....
}
</com:TTextHighlighter>
-<p>
+<p id="720015" 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 51dbb981..8d509bdb 100644
--- a/demos/quickstart/protected/pages/GettingStarted/NewFeatures.page
+++ b/demos/quickstart/protected/pages/GettingStarted/NewFeatures.page
@@ -6,19 +6,19 @@
This page summarizes the main new features that are introduced in each PRADO release.
</p>
-<h2>Version 3.1.3</h2>
+<h2 id="8001">Version 3.1.3</h2>
<ul>
<li>Added <a href="?page=ActiveControls.DragDrop">Drag and drop controls</a></li>
<li>Added TActiveDatePicker control</li>
</ul>
-<h2>Version 3.1.2</h2>
+<h2 id="8002">Version 3.1.2</h2>
<ul>
<li>Added a new active control <a href="?page=ActiveControls.ActivePager">TActivePager</a> that allows to paginate a databound control with an ajax callback.</li>
<li>Added TFirebugLogRoute to send logs to the Firebug console</li>
</ul>
-<h2>Version 3.1.1</h2>
+<h2 id="8003">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>