diff options
| -rw-r--r-- | build.xml | 1044 | ||||
| -rw-r--r-- | buildscripts/texbuilder/Page2Tex.php | 5 | ||||
| -rw-r--r-- | demos/quickstart/protected/pages/Advanced/I18N.page | 6 | ||||
| -rw-r--r-- | demos/quickstart/protected/pages/Configurations/UrlMapping.page | 6 | ||||
| -rw-r--r-- | demos/quickstart/protected/pages/Controls/TabPanel.page | 14 | ||||
| -rw-r--r-- | demos/quickstart/protected/pages/Database/ActiveRecord.page | 20 | ||||
| -rw-r--r-- | demos/quickstart/protected/pages/GettingStarted/NewFeatures.page | 6 | 
7 files changed, 552 insertions, 549 deletions
@@ -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   <target name> - -    where <target name> 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   <target name>
 +
 +    where <target name> 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">
   <com:TTabPanel>
     <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>
  | 
