summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.gitattributes42
-rw-r--r--HISTORY2
-rw-r--r--build.xml29
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc22
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini368
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/__tags.tpl13
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_declaration.tpl38
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_description.tpl7
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_list.tpl1
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_details.tpl33
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_summary.tpl22
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_details.tpl55
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_summary.tpl25
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_details.tpl55
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_summary.tpl27
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_footer.tpl1
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_get_constant_type.tpl10
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_header.tpl4
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_constants.tpl34
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_methods.tpl42
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inheritence_tree.tpl3
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_details.tpl101
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_summary.tpl61
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_sub_classes.tpl19
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_tags.tpl13
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl31
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl10
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl113
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl9
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl16
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl39
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl12
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl57
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl44
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl6
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/examplesource.tpl6
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl4
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl2
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl17
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl78
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl64
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl45
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl33
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl29
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl77
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl41
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl9
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl2
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl52
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.pngbin0 -> 991 bytes
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css260
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css641
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css129
-rw-r--r--buildscripts/PhpDocumentor/phpDocumentor/Setup.inc.php2
-rw-r--r--buildscripts/PhpDocumentor/phpdoc2
-rw-r--r--buildscripts/chmbuilder/ChmQuickstartBuilder.php435
-rw-r--r--buildscripts/chmbuilder/build.php80
-rw-r--r--buildscripts/chmbuilder/build_child.php7
-rw-r--r--buildscripts/chmbuilder/chm_style.css629
-rw-r--r--buildscripts/chmbuilder/classes/application.xml12
-rw-r--r--buildscripts/chmbuilder/classes/pages/ClassDoc.page30
-rw-r--r--buildscripts/chmbuilder/classes/pages/ClassDoc.php228
-rw-r--r--buildscripts/chmbuilder/classes/pages/Classes.page9
-rw-r--r--buildscripts/chmbuilder/classes/pages/Classes.php19
-rw-r--r--buildscripts/chmbuilder/classes/pages/MainLayout.php8
-rw-r--r--buildscripts/chmbuilder/classes/pages/MainLayout.tpl33
-rw-r--r--buildscripts/chmbuilder/classes/pages/style.css647
-rw-r--r--buildscripts/phing/tasks/PradoDocTask.php16
-rw-r--r--buildscripts/texbuilder/Page2Tex.php4
-rw-r--r--buildscripts/wikibuilder/DumpSkin.php93
-rw-r--r--buildscripts/wikibuilder/build.php18
-rw-r--r--buildscripts/wikibuilder/dumpHTML.inc390
-rw-r--r--buildscripts/wikibuilder/dumpHTML.php102
-rw-r--r--buildscripts/wikibuilder/external.pngbin0 -> 165 bytes
-rw-r--r--buildscripts/wikibuilder/main.css501
-rw-r--r--demos/quickstart/protected/pages/ViewSource.php2
-rw-r--r--framework/Collections/TList.php2
-rw-r--r--framework/PradoBase.php5
-rw-r--r--framework/Web/Services/TPageService.php4
-rw-r--r--tests/FunctionalTests/tickets/tests/Ticket21TestCase.php3
-rw-r--r--tests/FunctionalTests/tickets/tests/Ticket225TestCase.php9
-rw-r--r--tests/FunctionalTests/tickets/tests/Ticket278TestCase.php23
-rw-r--r--tests/FunctionalTests/validators/tests/CheckBoxTestCase.php3
-rw-r--r--tests/FunctionalTests/validators/tests/ListControlTestCase.php3
-rw-r--r--tests/FunctionalTests/validators/tests/RequiredFieldTestCase.php13
-rw-r--r--tests/FunctionalTests/validators/tests/RequiredListTestCase.php3
86 files changed, 5404 insertions, 784 deletions
diff --git a/.gitattributes b/.gitattributes
index 80a04237..a48aaa8b 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -60,6 +60,26 @@ buildscripts/PhpDocumentor/phpDocumentor/Classes.inc -text
buildscripts/PhpDocumentor/phpDocumentor/Converter.inc -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/__tags.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_declaration.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_description.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_list.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_details.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_summary.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_details.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_summary.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_details.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_summary.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_footer.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_get_constant_type.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_header.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_constants.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_methods.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inheritence_tree.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_details.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_summary.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_sub_classes.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_tags.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl -text
@@ -71,6 +91,7 @@ buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/defaul
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/errors.tpl -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/examplesource.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl -text
@@ -136,8 +157,11 @@ buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoS
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png -text svneol=unset#unset
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css -text
+buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl -text
buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl -text
@@ -310,6 +334,18 @@ buildscripts/PhpDocumentor/user/error.ini -text
buildscripts/PhpDocumentor/user/pear-makedocs.ini -text
buildscripts/PhpDocumentor/user/prado.ini -text
buildscripts/PhpDocumentor/user/testdocbook.ini -text
+buildscripts/chmbuilder/ChmQuickstartBuilder.php -text
+buildscripts/chmbuilder/build.php -text
+buildscripts/chmbuilder/build_child.php -text
+buildscripts/chmbuilder/chm_style.css -text
+buildscripts/chmbuilder/classes/application.xml -text
+buildscripts/chmbuilder/classes/pages/ClassDoc.page -text
+buildscripts/chmbuilder/classes/pages/ClassDoc.php -text
+buildscripts/chmbuilder/classes/pages/Classes.page -text
+buildscripts/chmbuilder/classes/pages/Classes.php -text
+buildscripts/chmbuilder/classes/pages/MainLayout.php -text
+buildscripts/chmbuilder/classes/pages/MainLayout.tpl -text
+buildscripts/chmbuilder/classes/pages/style.css -text
buildscripts/classtree/DWExtension.php -text
buildscripts/classtree/DWExtensionReadme.txt -text
buildscripts/classtree/build.php -text
@@ -598,6 +634,12 @@ buildscripts/texbuilder/time-tracker/db.vsd -text
buildscripts/texbuilder/time-tracker/pages.php -text
buildscripts/texbuilder/time-tracker/preface.tex -text
buildscripts/texbuilder/time-tracker/time-tracker.tex -text
+buildscripts/wikibuilder/DumpSkin.php -text
+buildscripts/wikibuilder/build.php -text
+buildscripts/wikibuilder/dumpHTML.inc -text
+buildscripts/wikibuilder/dumpHTML.php -text
+buildscripts/wikibuilder/external.png -text
+buildscripts/wikibuilder/main.css -text
demos/blog/index.php -text
demos/blog/protected/.htaccess -text
demos/blog/protected/Common/BlogDataModule.php -text
diff --git a/HISTORY b/HISTORY
index 2ba199cb..b0e80d65 100644
--- a/HISTORY
+++ b/HISTORY
@@ -13,6 +13,8 @@ NEW: TJsonService
Version 3.0.5 October 8, 2006
===============================
+BUG: Ticket#409 - Multiple page services will mess up page caching (Qiang)
+BUG: Ticket#417 - SelectedIndex in template incorrect caused by bug in TList (Qiang)
CHG: Ticket#358 - TFileUpload::saveAs() now returns false instead of exception when error (Qiang)
ENH: Ticket#361 - Introduced include template tag that supports including external templates (Qiang)
ENH: Ticket#366 - white spaces are now allowed around attribute names in template (Qiang)
diff --git a/build.xml b/build.xml
index e0bb733f..dd29c547 100644
--- a/build.xml
+++ b/build.xml
@@ -160,7 +160,9 @@
<target name="rebuild" depends="clean,build" />
<target name="docs">
- <echo>Building quickstart.pdf...</echo>
+ <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/*.aux" />
@@ -172,26 +174,33 @@
<exec command="${pdflatex} quickstart.tex -interaction=nonstopmode -max-print-line=120" dir="buildscripts/texbuilder" passthru="true"/>
<move file="buildscripts/texbuilder/quickstart.pdf" todir="${build.doc.dir}"/>
- <echo>Building API manuals...</echo>
+ <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="framework"
- ignorelist="*pradolite.php,*3rdParty/*,*Javascripts/*,*I18N/core/*"
- output="HTML:frames:default,CHM:default:default,HTML:Smarty:PradoSoft" />
- <!-- generate CHM file -->
+ ignorelist="*pradolite.php,*prado-cli.php,*3rdParty/*,*Javascripts/*,*I18N/core/*"
+ output="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"/>
+ <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}/manual/CHMdefaultConverter/phpdoc.hhp" />
+ <exec command="${hhc} ${build.doc.dir}/prado3_manual.hhp" />
</then>
</if>
-
- <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" />
</target>
<target name="dist" depends="rebuild,docs">
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc
index ac38031b..87674ac0 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/CHMdefaultConverter.inc
@@ -158,7 +158,7 @@ class CHMdefaultConverter extends Converter
$templ->assign("subdir",'../');
$templ->register_outputfilter('CHMdefault_outputfilter');
$this->setTargetDir($this->getFileSourcePath($this->base_dir));
- $this->addSourceTOC($pathinfo['name'],$this->getFileSourceName($path),$pathinfo['package'],$pathinfo['subpackage'], true);
+ //$this->addSourceTOC($pathinfo['name'],$this->getFileSourceName($path),$pathinfo['package'],$pathinfo['subpackage'], true);
phpDocumentor_out("\n");
$this->setSourcePaths($path);
$this->writefile($this->getFileSourceName($path).'.html',$templ->fetch('filesource.tpl'));
@@ -179,7 +179,7 @@ class CHMdefaultConverter extends Converter
$templ->register_outputfilter('CHMdefault_outputfilter');
$pathinfo = $this->proceduralpages->getPathInfo($path, $this);
$this->setTargetDir($this->base_dir . PATH_DELIMITER . '__examplesource');
- $this->addSourceTOC($title,'exsource_'.$path,$pathinfo['package'],$pathinfo['subpackage'], false);
+ //$this->addSourceTOC($title,'exsource_'.$path,$pathinfo['package'],$pathinfo['subpackage'], false);
phpDocumentor_out("\n");
$this->writefile('exsource_'.$path.'.html',$templ->fetch('examplesource.tpl'));
}
@@ -328,7 +328,7 @@ class CHMdefaultConverter extends Converter
$this->page_data->assign("package",$this->package);
$this->page_data->assign("subdir",$a);
$this->page_data->register_outputfilter('CHMdefault_outputfilter');
- $this->addTOC($this->curpage->file,$this->page,$this->package,$this->subpackage);
+ //$this->addTOC($this->curpage->file,$this->page,$this->package,$this->subpackage);
$this->writefile($this->page . '.html',$this->page_data->fetch('page.tpl'));
unset($this->page_data);
}
@@ -460,7 +460,7 @@ class CHMdefaultConverter extends Converter
flush();
$this->setTargetDir($this->base_dir);
- $this->addTOC("$key Index","li_$key",$key,'');
+ //$this->addTOC("$key Index","li_$key",$key,'');
$this->writefile("li_$key.html",$template->fetch('index.tpl'));
unset($template);
}
@@ -1568,17 +1568,18 @@ class CHMdefaultConverter extends Converter
{
$comp_subs = '';
$comp_subs1 = false;
- foreach($TOC1 as $subpackage => $types)
+ foreach($TOC1 as $subpackage => $files)
{
$comp_types = '';
- foreach($types as $type => $files)
- {
$comp = '';
$templ1 = &$this->newSmarty();
$templ1->assign('entry', array());
+ $type = 'Classes';
+ //foreach($types as $type => $files)
+ //{
foreach($files as $file)
{
- // use book icon for classes
+ //use book icon for classes
if ($type == 'Classes') {
$templ1->append('entry', array('paramname' => $file[0],'outputfile' => $file[1],'isclass' => 1));
} else {
@@ -1589,7 +1590,7 @@ class CHMdefaultConverter extends Converter
$templ->assign('tocsubentries',$templ1->fetch('tocentry.tpl'));
$templ->assign('entry', array(array('paramname' => $type)));
$comp_types .= $templ->fetch('tocentry.tpl');
- }
+ //}
if (!empty($subpackage))
{
$templ = &$this->newSmarty();
@@ -1633,7 +1634,8 @@ class CHMdefaultConverter extends Converter
$file = str_replace($this->base_dir . '\\', '', $file);
$sub = $class ? 'Classes' : 'Files';
if ($tutorial) $sub = 'Manual';
- $this->TOC[$package][$subpackage][$sub][] = array($name,$file);
+ if($class)
+ $this->TOC[$package][$subpackage][] = array($name,$file);
}
/**
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini
index 56474470..4566db60 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/options.ini
@@ -5,122 +5,189 @@ preservedocbooktags = false
;; format:
;; T_CONSTANTNAME = open
;; /T_CONSTANTNAME = close
-T_ABSTRACT = <font color="blue">
-/T_ABSTRACT = </font>
-T_CLONE = <font color="blue">
-/T_CLONE = </font>
-T_HALT_COMPILER = <font color="red">
-/T_HALT_COMPILER = </font>
-T_PUBLIC = <font color="blue">
-/T_PUBLIC = </font>
-T_PRIVATE = <font color="blue">
-/T_PRIVATE = </font>
-T_PROTECTED = <font color="blue">
-/T_PROTECTED = </font>
-T_FINAL = <font color="blue">
-/T_FINAL = </font>
-T_IMPLEMENTS = <font color="blue">
-/T_IMPLEMENTS = </font>
-T_CLASS = <font color="blue">
-/T_CLASS = </font>
-T_INTERFACE = <font color="blue">
-/T_INTERFACE = </font>
-T_INCLUDE = <font color="blue">
-/T_INCLUDE = </font>
-T_INCLUDE_ONCE = <font color="blue">
-/T_INCLUDE_ONCE = </font>
-T_REQUIRE_ONCE = <font color="blue">
-/T_REQUIRE_ONCE = </font>
-T_FUNCTION = <font color="blue">
-/T_FUNCTION = </font>
-T_VARIABLE = <strong>
-/T_VARIABLE = </strong>
-T_CONSTANT_ENCAPSED_STRING = <font color="#66cccc">
-/T_CONSTANT_ENCAPSED_STRING = </font>
-T_COMMENT = <font color="green">
-/T_COMMENT = </font>
-T_OBJECT_OPERATOR = <strong>
-/T_OBJECT_OPERATOR = </strong>
-T_RETURN = <font color="blue">
-/T_RETURN = </font>
-T_STATIC = <font color="blue">
-/T_STATIC = </font>
-T_SWITCH = <font color="blue">
-/T_SWITCH = </font>
-T_IF = <font color="blue">
-/T_IF = </font>
-T_FOREACH = <font color="blue">
-/T_FOREACH = </font>
-T_FOR = <font color="blue">
-/T_FOR = </font>
-T_VAR = <font color="blue">
-/T_VAR = </font>
-T_EXTENDS = <font color="blue">
-/T_EXTENDS = </font>
-T_RETURN = <font color="blue">
-/T_RETURN = </font>
-T_GLOBAL = <font color="blue">
-/T_GLOBAL = </font>
-T_DOUBLE_COLON = <strong>
-/T_DOUBLE_COLON = </strong>
-T_OBJECT_OPERATOR = <strong>
-/T_OBJECT_OPERATOR = </strong>
-T_OPEN_TAG = <strong>
-/T_OPEN_TAG = </strong>
-T_CLOSE_TAG = <strong>
-/T_CLOSE_TAG = </strong>
+
+T_INCLUDE = <span class="src-inc">
+/T_INCLUDE = </span>
+T_INCLUDE_ONCE = <span class="src-inc">
+/T_INCLUDE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+T_REQUIRE_ONCE = <span class="src-inc">
+/T_REQUIRE_ONCE = </span>
+
+T_CONSTANT_ENCAPSED_STRING = <span class="src-str">
+/T_CONSTANT_ENCAPSED_STRING = </span>
+T_STRING_VARNAME = <span class="src-str">
+/T_STRING_VARNAME = </span>
+
+T_STRING = <span class="src-id">
+/T_STRING = </span>
+
+T_DNUMBER = <span class="src-num">
+/T_DNUMBER = </span>
+T_LNUMBER = <span class="src-num">
+/T_LNUMBER = </span>
+
+T_VARIABLE = <span class="src-var">
+/T_VARIABLE = </span>
+
+T_COMMENT = <span class="src-comm">
+/T_COMMENT = </span>
+T_ML_COMMENT = <span class="src-comm">
+/T_ML_COMMENT = </span>
+
+T_OBJECT_OPERATOR = <span class="src-sym">
+/T_OBJECT_OPERATOR = </span>
+
+T_ABSTRACT = <span class="src-key">
+/T_ABSTRACT = </span>
+T_CLONE = <span class="src-key">
+/T_CLONE = </span>
+T_HALT_COMPILER = <span class="src-key">
+/T_HALT_COMPILER = </span>
+T_ARRAY = <span class="src-key">
+/T_ARRAY = </span>
+T_AS = <span class="src-key">
+/T_AS = </span>
+T_BREAK = <span class="src-key">
+/T_BREAK = </span>
+T_CLASS = <span class="src-key">
+/T_CLASS = </span>
+T_CASE = <span class="src-key">
+/T_CASE = </span>
+T_CONST = <span class="src-key">
+/T_CONST = </span>
+T_CONTINUE = <span class="src-key">
+/T_CONTINUE = </span>
+T_DECLARE = <span class="src-key">
+/T_DECLARE = </span>
+T_DEFAULT = <span class="src-key">
+/T_DEFAULT = </span>
+T_ELSE = <span class="src-key">
+/T_ELSE = </span>
+T_ELSEIF = <span class="src-key">
+/T_ELSEIF = </span>
+T_EMPTY = <span class="src-key">
+/T_EMPTY = </span>
+T_ENDDECLARE = <span class="src-key">
+/T_ENDDECLARE = </span>
+T_ENDFOR = <span class="src-key">
+/T_ENDFOR = </span>
+T_ENDSWITCH = <span class="src-key">
+/T_ENDSWITCH = </span>
+T_ENDFOREACH = <span class="src-key">
+/T_ENDFOREACH = </span>
+T_ENDIF = <span class="src-key">
+/T_ENDIF = </span>
+T_ENDWHILE = <span class="src-key">
+/T_ENDWHILE = </span>
+T_EXIT = <span class="src-key">
+/T_EXIT = </span>
+T_EXTENDS = <span class="src-key">
+/T_EXTENDS = </span>
+T_FINAL = <span class="src-key">
+/T_FINAL = </span>
+T_FOR = <span class="src-key">
+/T_FOR = </span>
+T_FOREACH = <span class="src-key">
+/T_FOREACH = </span>
+T_FUNCTION = <span class="src-key">
+/T_FUNCTION = </span>
+T_GLOBAL = <span class="src-key">
+/T_GLOBAL = </span>
+T_IF = <span class="src-key">
+/T_IF = </span>
+T_IMPLEMENTS = <span class="src-key">
+/T_IMPLEMENTS = </span>
+T_INTERFACE = <span class="src-key">
+/T_INTERFACE = </span>
+T_LOGICAL_AND = <span class="src-key">
+/T_LOGICAL_AND = </span>
+T_LOGICAL_OR = <span class="src-key">
+/T_LOGICAL_OR = </span>
+T_LOGICAL_XOR = <span class="src-key">
+/T_LOGICAL_XOR = </span>
+T_NEW = <span class="src-key">
+/T_NEW = </span>
+T_PRIVATE = <span class="src-key">
+/T_PRIVATE = </span>
+T_PROTECTED = <span class="src-key">
+/T_PROTECTED = </span>
+T_PUBLIC = <span class="src-key">
+/T_PUBLIC = </span>
+T_RETURN = <span class="src-key">
+/T_RETURN = </span>
+T_STATIC = <span class="src-key">
+/T_STATIC = </span>
+T_SWITCH = <span class="src-key">
+/T_SWITCH = </span>
+T_VAR = <span class="src-key">
+/T_VAR = </span>
+T_WHILE = <span class="src-key">
+/T_WHILE = </span>
+
+T_DOUBLE_COLON = <span class="src-sym">
+/T_DOUBLE_COLON = </span>
+
+T_OPEN_TAG = <span class="src-php">
+/T_OPEN_TAG = </span>
+T_OPEN_TAG_WITH_ECHO = <span class="src-php">
+/T_OPEN_TAG_WITH_ECHO = </span>
+T_CLOSE_TAG = <span class="src-php">
+/T_CLOSE_TAG = </span>
+
[highlightSource]
;; this is for highlighting things that aren't tokens like "&"
;; format:
;; word = open
;; /word = close
-@ = <strong>
-/@ = </strong>
-& = <strong>
-/& = </strong>
-[ = <strong>
-/[ = </strong>
-] = <strong>
-/] = </strong>
-! = <strong>
-/! = </strong>
-";" = <strong>
-/; = </strong>
-( = <strong>
-/( = </strong>
-) = <strong>
-/) = </strong>
-, = <strong>
-/, = </strong>
-{ = <strong>
-/{ = </strong>
-} = <strong>
-/} = </strong>
-""" = <font color="#66cccc">
-/" = </font>
+@ = <span class="src-sym">
+/@ = </span>
+& = <span class="src-sym">
+/& = </span>
+[ = <span class="src-sym">
+/[ = </span>
+] = <span class="src-sym">
+/] = </span>
+! = <span class="src-sym">
+/! = </span>
+";" = <span class="src-sym">
+/; = </span>
+( = <span class="src-sym">
+/( = </span>
+) = <span class="src-sym">
+/) = </span>
+, = <span class="src-sym">
+/, = </span>
+{ = <span class="src-sym">
+/{ = </span>
+} = <span class="src-sym">
+/} = </span>
+""" = <span class="src-str">
+/" = </span>
[highlightDocBlockSourceTokens]
;; this is for docblock tokens, using by phpDocumentor_HighlightParser
;; tagphptype is for "string" in @param string description, for example
-docblock = <font color="#009999">
-/docblock = </font>
-tagphptype = <em>
-/tagphptype = </em>
-tagvarname = <strong>
-/tagvarname = </strong>
-coretag = <strong><font color = "#0099FF">
-/coretag = </font></strong>
-tag = <strong><font color="#009999">
-/tag = </font></strong>
-inlinetag = <em><font color="#0099FF">
-/inlinetag = </font></em>
-internal = <em><font color = "#6699cc">
-/internal = </font></em>
-closetemplate = <strong><font color="blue">
-/closetemplate = </font></strong>
-docblocktemplate = <font color="blue">
-/docblocktemplate = </font color="blue">
+docblock = <span class="src-doc">
+/docblock = </span>
+tagphptype = <span class="src-doc-type">
+/tagphptype = </span>
+tagvarname = <span class="src-doc-var">
+/tagvarname = </span>
+coretag = <span class="src-doc-coretag">
+/coretag = </span>
+tag = <span class="src-doc-tag">
+/tag = </span>
+inlinetag = <span class="src-doc-inlinetag">
+/inlinetag = </span>
+internal = <span class="src-doc-internal">
+/internal = </span>
+closetemplate = <span class="src-doc-close-template">
+/closetemplate = </span>
+docblocktemplate = <span class="src-doc-template">
+/docblocktemplate = </span>
[highlightTutorialSourceTokens]
;; this is for XML DocBook-based tutorials, highlighted by phpDocumentor_TutorialHighlightParser
@@ -154,8 +221,8 @@ ol = <ol>
/ol = </ol>
li = <li>
/li = </li>
-code = <code><pre>
-/code = </pre></code>
+code = <div class="listing"><pre>
+/code = </pre></div>
var = <var>
/var = </var>
samp = <samp>
@@ -174,7 +241,8 @@ br = <br />
[ppage]
;; this is the DocBook package page translation section. All DocBook tags
-;; that have a corresponding html tag must be listed here
+;; that have a corresponding html tag must be listed here. Entities should
+;; also be listed here
;;
;; examples:
;; 1)
@@ -286,33 +354,34 @@ blockquote = blockquote
arg = span
arg->choice = class
-author = <font size="-1"><strong>by <em>
-/author = </em></strong></font>
+author = <span class="author">
+/author = </span>
author! = 0
-authorblurb = blockquote
+authorblurb = <div class="author-blurb">
+/authorblurb = </div>
-authorgroup = <strong>Authors:</strong><br />
-/authorgroup =
+authorgroup = <div class="authors"><h2 class="title">Authors</h2>
+/authorgroup = </div>
authorgroup! = 0
-caution = <table border="1"><th align="center">Caution</th><tr><td>
-/caution = </td></tr></table>
+caution = <span class="warning">
+/caution = </span>
caution! = 0
-command = <b class="cmd">
-/command = </b>
-
-cmdsynopsis = <div id="cmdsynopsis">
+cmdsynopsis = <div class="cmd-synopsis">
/cmdsynopsis = </div>
-copyright = <em>
-/copyright = </em><br />
+command = <span class="cmd-title">
+/command = </span>
+
+copyright = <div class="notes">
+/copyright = </div>
emphasis = strong
-example = <table class="example" width="100%" border="1"><tr><td>
-/example = </td></tr></table>
+example = <pre class="example">
+/example = </pre>
example! = 0
function =
@@ -324,11 +393,11 @@ graphic = img
graphic->fileref = src
graphic/ =
-important = u
+important = strong
informalequation = blockquote
-informalexample = pre
+informalexample = div
inlineequation = em
@@ -338,7 +407,7 @@ listitem = li
literal = code
-literallayout = pre
+literallayout = span
option = " "
/option =
@@ -347,22 +416,23 @@ orderedlist = ol
para = p
-programlisting = <table border="0" bgcolor="#E0E0E0" cellpadding="5"><tr><td><pre class="php">
-/programlisting = </pre></td></tr></table>
+programlisting = <pre class="listing">
+/programlisting = </pre>
programlisting! = 0
refentry = div
-refnamediv = <div class="refname">
+refnamediv = <div class="ref-title-box">
/refnamediv = </div>
refnamediv! = 0
-refname = h1
+refname = <h1 class="ref-title">
+/refname = </h1>
-refpurpose = <h2 class="refpurpose"><em>
-/refpurpose = </em></h2>
+refpurpose = <h2 class="ref-purpose">
+/refpurpose = </h2>
-refsynopsisdiv = <div class="refsynopsis">
+refsynopsisdiv = <div class="ref-synopsis">
/refsynopsisdiv = </div>
refsynopsisdiv! = 0
@@ -374,8 +444,8 @@ refsect2 =
refsect3 =
/refsect3 = <br />
-releaseinfo = (
-/releaseinfo = )<br />
+releaseinfo = <div class="release-info">(
+/releaseinfo = )</div>
simpara =
/simpara = <br />
@@ -428,8 +498,8 @@ entry->morerows+9 = 10
entry->morerows+10 = 11
;; add more if you need more colspans
-warning = <table border="1"><tr><td>
-/warning = </td></tr></table>
+warning = <span class="warning">
+/warning = </span>
warning! = 0
;; now begins the attributes that should be tags in cdata
@@ -448,7 +518,7 @@ $id = name
;attr_name = title
cdata_start = true
;cdata_end = true
-open = <h1 class="title" align="center">
+open = <h1 class="title">
close = </h1>
[refsect1_title]
@@ -456,40 +526,40 @@ close = </h1>
;attr_name = title
cdata_start = true
;cdata_end = true
-open = <h2 class="title" align="center">
-close = </h1>
+open = <h2 class="title">
+close = </h2>
[refsect2_title]
;tag_attr = true
;attr_name = title
cdata_start = true
;cdata_end = true
-open = <h2 class="title" align="center">
-close = </h2>
+open = <h3 class="title">
+close = </h3>
[refsect3_title]
;tag_attr = true
;attr_name = title
cdata_start = true
;cdata_end = true
-open = <h3 class="title" align="center">
-close = </h3>
+open = <h4 class="title">
+close = </h4>
[para_title]
;tag_attr = true
;attr_name = title
cdata_start = true
;cdata_end = true
-open = <strong class="title" align="center">
-close = </strong>
+open = <div class="title">
+close = </div>
[formalpara_title]
;tag_attr = true
;attr_name = title
cdata_start = true
;cdata_end = true
-open = <strong class="title" align="center">
-close = </strong>
+open = <div class="title">
+close = </div>
[example_title]
;tag_attr = true
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/__tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/__tags.tpl
new file mode 100644
index 00000000..221830c4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/__tags.tpl
@@ -0,0 +1,13 @@
+<div class="tag-list">
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword != "abstract" &&
+ $tags[tag].keyword != "access" &&
+ $tags[tag].keyword != "static" &&
+ $tags[tag].keyword != "version"
+ }
+
+ <strong>{$tags[tag].keyword|capitalize}:</strong>
+ {$tags[tag].data}<br />
+ {/if}
+ {/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_declaration.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_declaration.tpl
new file mode 100644
index 00000000..d7fe2f82
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_declaration.tpl
@@ -0,0 +1,38 @@
+<hr size="1" noshade="noshade"/>
+<div class="class-declaration">
+ {if count($tags) > 0}
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword == "abstract"}
+ abstract
+ {/if}
+ {/section}
+ {/if}
+
+ {if $is_interface}
+ interface
+ {else}
+ class
+ {/if}
+
+ <strong>{$class_name}</strong>
+
+ {if count($class_tree) > 1}
+ {section name=tree loop=$class_tree.classes}
+ {if $smarty.section.tree.last}
+ extends {$class_tree.classes[$smarty.section.tree.index_prev]}
+ {/if}
+ {/section}
+ {/if}
+
+ {if $implements}
+ <br/>
+ implements
+ {foreach item="interface" from=$implements}
+ {if !$smarty.foreach.interface.first}
+ , {$interface}
+ {else}
+ {$interface}
+ {/if}
+ {/foreach}
+ {/if}
+</div> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_description.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_description.tpl
new file mode 100644
index 00000000..12025c1c
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_description.tpl
@@ -0,0 +1,7 @@
+<div class="class-description">
+ <p>{$sdesc}</p>
+
+ {if $desc != ""}{$desc}{/if}
+</div>
+
+{include file="_tags.tpl" tags=$tags}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_list.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_list.tpl
new file mode 100644
index 00000000..d6a1d398
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_class_list.tpl
@@ -0,0 +1 @@
+{eval var=$compiledclassindex} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_details.tpl
new file mode 100644
index 00000000..bca71e17
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_details.tpl
@@ -0,0 +1,33 @@
+{if $consts}
+ <hr size="1" noshade="noshade"/>
+ <a name="constant-details"></a>
+ <table class="constant-details" cellspacing="1">
+ <tr>
+ <th>Constant Details</th>
+ </tr>
+ {section name=const loop=$consts}
+ <tr>
+ <td>
+ <a name="{$consts[const].const_dest}"></a>
+
+ <h3>{$consts[const].const_name}</h3>
+
+ <p>{$consts[const].sdesc}</p>
+
+ {if $consts[const].desc}
+ {$consts[const].desc}
+ {/if}
+
+ <div class="tag-list">
+ <h4 class="tag">Type:</h4>
+ <div class="tag-data">{include file="_get_constant_type.tpl" const=$consts[const].const_value}</div>
+ <h4 class="tag">Value:</h4>
+ <div class="tag-data">{$consts[const].const_value}</div>
+ </div>
+ {include file="_tags.tpl" tags=$consts[const].tags}
+ <p/>
+ </td>
+ </tr>
+ {/section}
+ </table>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_summary.tpl
new file mode 100644
index 00000000..8049c4b0
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constant_summary.tpl
@@ -0,0 +1,22 @@
+{if $consts || $iconsts}
+ <hr size="1" noshade="noshade"/>
+ <a name="constant-summary"></a>
+ <table class="constant-summary" cellspacing="1">
+ <tr>
+ <th colspan="3">Constant Summary</th>
+ </tr>
+ {section name=const loop=$consts}
+ <tr>
+ <td class="type" nowrap="nowrap">{strip}{include file="_get_constant_type.tpl" const=$consts[const].const_value}{/strip}</td>
+ <td class="name"><a href="{$consts[const].id}">{$consts[const].const_name}</a></td>
+ <td class="description" width="100%">
+ {$consts[const].sdesc}
+
+ {if $consts[const].desc}
+ {$consts[const].desc}
+ {/if}
+ </td>
+ </tr>
+ {/section}
+ </table>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_details.tpl
new file mode 100644
index 00000000..ec4fd0a2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_details.tpl
@@ -0,0 +1,55 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__construct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="sec-method"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th colspan="3">Constructor Details</th>
+ </tr>
+ <tr>
+ <td class="method-data">
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == "1"}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == "1"}
+ static&nbsp;
+ {/if}
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td nowrap="nowrap">{strip}
+ {$methods[method].ifunction_call.params}
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+
+ {include file="_tags.tpl" tags=$methods[method].tags}
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_summary.tpl
new file mode 100644
index 00000000..8819f63e
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_constructor_summary.tpl
@@ -0,0 +1,25 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__construct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="constructor-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Constructor Summary</th>
+ </tr>
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">{$methods[method].access}</td>
+ <td>
+ <div class="declaration">
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ {$methods[method].ifunction_call.params}
+ </div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_details.tpl
new file mode 100644
index 00000000..3cb5534a
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_details.tpl
@@ -0,0 +1,55 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__destruct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="sec-method"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th colspan="3">Destructor Details</th>
+ </tr>
+ <tr>
+ <td class="method-data">
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == "1"}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == "1"}
+ static&nbsp;
+ {/if}
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td nowrap="nowrap">{strip}
+ {build_argument_list args=$methods[method].ifunction_call.params style="vertical"}
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+
+ {include file="_tags.tpl" tags=$methods[method].tags}
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_summary.tpl
new file mode 100644
index 00000000..53e8f1d2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_destructor_summary.tpl
@@ -0,0 +1,27 @@
+{if $methods}
+ {section name=method loop=$methods}
+ {if $methods[method].function_name == "__destruct"}
+ <hr size="1" noshade="noshade"/>
+ <a name="desructor-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Destructor Summary</th>
+ </tr>
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">{strip}
+ {$methods[method].access}
+ {/strip}</td>
+ <td>
+ <div class="declaration">{strip}
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ {$methods[method].ifunction_call.params}
+ {/strip}</div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_footer.tpl
new file mode 100644
index 00000000..0c2eddc2
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_footer.tpl
@@ -0,0 +1 @@
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_get_constant_type.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_get_constant_type.tpl
new file mode 100644
index 00000000..48301da4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_get_constant_type.tpl
@@ -0,0 +1,10 @@
+{if is_numeric(strtolower(trim($const)))}
+ int
+{elseif strtolower(trim($const)) == "true" ||
+ strtolower(trim($const)) == "false"}
+ bool
+{elseif strtolower(trim($const)) == "null"}
+ null
+{else}
+ string
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_header.tpl
new file mode 100644
index 00000000..f92571a4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_header.tpl
@@ -0,0 +1,4 @@
+<div id="bar" nowrap="nowrap">
+ {include file="_class_list.tpl"}
+</div>
+<div id="content1">
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_constants.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_constants.tpl
new file mode 100644
index 00000000..66c37633
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_constants.tpl
@@ -0,0 +1,34 @@
+{if $iconsts}
+ {section name=iconst loop=$iconsts}
+ <table class="inherited-constants" cellspacing="1">
+ <tr>
+ <th>Constants Inherited From {$iconsts[iconst].parent_class}</th>
+ </tr>
+ <tr>
+ <td>
+ {assign var="_consts" value=""}
+
+ {section name=_const loop=$iconsts[iconst].iconsts}
+ {if $_consts != ""},
+ {* append var="_consts" value=", "*}
+ {/if}
+ <a href="{$href}">{$iconsts[iconst].iconsts[_const].name}</a>{if !$smarty.section.name.last},{/if}
+ {*
+ {extract_attribute attribute="href"
+ element=$iconsts[iconst].iconsts[_const].link
+ var="href" append="no"}
+
+ {append var="_consts" value="<a href=\""}
+ {append var="_consts" value=$href}
+ {append var="_consts" value="\">"}
+ {append var="_consts" value=$iconsts[iconst].iconsts[_const].name}
+ {append var="_consts" value="</a>"}
+ *}
+{/section}
+
+ {*$_consts*}
+ </td>
+ </tr>
+ </table>
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_methods.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_methods.tpl
new file mode 100644
index 00000000..55aafb17
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inherited_methods.tpl
@@ -0,0 +1,42 @@
+{if $imethods}
+ {section name=imethod loop=$imethods}
+ {if count($imethods[imethod].imethods) > 1 ||
+ ($imethods[imethod].imethods[0].name != "__construct" &&
+ $imethods[imethod].imethods[0].name != "__destruct" &&
+ $imethods[imethod].imethods[0].abstract != "1")}
+ <table class="inherited-methods" cellspacing="1">
+ <tr>
+ <th>Methods Inherited From {$imethods[imethod].parent_class}</th>
+ </tr>
+ <tr>
+ <td>
+ {* assign var="_methods" value="" *}
+
+ {section name=_method loop=$imethods[imethod].imethods}
+ {if $imethods[imethod].imethods[_method].name != "__construct" &&
+ $imethods[imethod].imethods[_method].abstract != "1"}
+ {*
+ {if $_methods != ""}
+ {append var="_methods" value=", "}
+ {/if}
+
+ {extract_attribute attribute="href"
+ element=$imethods[imethod].imethods[_method].link
+ var="href" append="no"}
+
+ {append var="_methods" value="<a href=\""}
+ {append var="_methods" value=$href}
+ {append var="_methods" value="\">"}
+ {append var="_methods" value=$imethods[imethod].imethods[_method].name}
+ {append var="_methods" value="</a>"}
+ *}
+ {$imethods[imethod].imethods[_method].link}{if !$smarty.section._method.last},{/if}
+ {/if}
+ {/section}
+
+ </td>
+ </tr>
+ </table>
+ {/if}
+ {/section}
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inheritence_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inheritence_tree.tpl
new file mode 100644
index 00000000..471c7972
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_inheritence_tree.tpl
@@ -0,0 +1,3 @@
+<div class="inheritence-tree">
+ <pre>{section name=tree loop=$class_tree.classes}{if $smarty.section.tree.last}<strong>{$class_tree.classes[tree]}</strong>{else}{$class_tree.classes[tree]}{/if}{$class_tree.distance[tree]}{/section}</pre>
+</div> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_details.tpl
new file mode 100644
index 00000000..b5ddfb10
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_details.tpl
@@ -0,0 +1,101 @@
+{if $methods && (count($methods) > 1 ||
+ ($methods[0].function_name != "__construct" &&
+ $methods[0].function_name != "__destruct"))}
+
+ <hr size="1" noshade="noshade"/>
+ <a name="method-details"></a>
+ <table class="method-details" cellspacing="1">
+ <tr>
+ <th>Method Details</th>
+ </tr>
+ {section name=method loop=$methods}
+ {if $methods[method].function_name != "__construct" &&
+ $methods[method].function_name != "__destruct"}
+
+ <tr>
+ <td class="method-data">
+
+ <a name="{$methods[method].method_dest}"></a>
+
+ <h2>{$methods[method].function_name}</h2>
+
+ <table class="method-detail" cellspacing="0">
+ <tr>
+ <td nowrap="nowrap">{strip}
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].access == "public"}
+ public&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == 1}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == 1}
+ static&nbsp;
+ {/if}
+
+ {$methods[method].function_return}&nbsp;
+
+
+ <strong>{$methods[method].function_name}</strong>
+ {/strip}</td>
+ <td width="100%">{strip}
+ (
+ {if $methods[method].ifunction_call.params}
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ {$param.type} {$param.name} {if !$smarty.foreach.method.last}, {/if}
+ {/foreach}
+
+ {/if}
+ )
+ {/strip}</td>
+ </tr>
+ </table>
+
+ <p>{$methods[method].sdesc}</p>
+
+ {if $methods[method].desc}
+ {$methods[method].desc}
+ {/if}
+ {* $methods[method]|print_r *}
+ <div class="tag-list"><table class="method-summary" cellspacing="1">
+ {if $methods[method].ifunction_call.params}
+ <tr><th colspan="3" class="small">Input</th></tr>
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ <tr><td valign="top">{$param.type}</td><td valign="top"><strong>{$param.name}</strong><td valign="top">{$param.description}</td></tr>
+ {/foreach}
+ {/if}
+ {if $methods[method].tags}
+ <tr><th colspan="3" class="small">Output</th></tr>
+
+ {foreach item=param name="method" from=$methods[method].tags}
+ {if $param.keyword == "return"}
+ <tr><td valign="top">
+ {$methods[method].function_return}
+ </td><td valign="top" colspan="2">{$param.data}</td></tr>
+ {/if}
+ {/foreach}
+ {/if}
+ {if $methods[method].tags}
+ <tr><th colspan="3" class="small">Exception</th></tr>
+
+ {foreach item=param name="method" from=$methods[method].tags}
+ {if $param.keyword == "throws"}
+ <tr><td valign="top">{$param.keyword}</td><td valign="top" colspan="2">{$param.data}</td></tr>
+ {/if}
+ {/foreach}
+ {/if}
+ </table></div>
+
+ {* include file="_tags.tpl" tags=$methods[method].tags *}
+ <p/>
+ </td>
+ </tr>
+ {/if}
+ {/section}
+ </table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_summary.tpl
new file mode 100644
index 00000000..8fefd671
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_method_summary.tpl
@@ -0,0 +1,61 @@
+{if $methods || $imethods}
+ <hr size="1" noshade="noshade"/>
+ <a name="method-summary"></a>
+ <table class="method-summary" cellspacing="1">
+ <tr>
+ <th colspan="2">Method Summary</th>
+ </tr>
+ {section name=method loop=$methods}
+ {if $methods[method].function_name != "__construct" &&
+ $methods[method].function_name != "__destruct"}
+ {*
+ {if trim(substr($methods[method].function_call, 0, 1)) == "&"}
+ {assign var="ref" value="true"}
+ {assign var="css" value=" class=\"reference\""}
+ {else}
+ {assign var="ref" value="false"}
+ {assign var="css" value=""}
+ {/if}
+ *}
+ <tr>
+ <td class="type" nowrap="nowrap" width="1%">
+ {if $methods[method].access == "protected"}
+ protected&nbsp;
+ {/if}
+
+ {if $methods[method].abstract == 1}
+ abstract&nbsp;
+ {/if}
+
+ {if $methods[method].static == 1}
+ static&nbsp;
+ {/if}
+
+ {$methods[method].function_return}
+{*
+ {if $ref == "true"}
+ &nbsp;&amp;
+ {/if}
+*}
+ </td>
+ <td>
+ <div class="declaration">
+ <a href="{$methods[method].id}">{$methods[method].function_name}</a>
+ ({strip}
+ {if $methods[method].ifunction_call.params}
+ {foreach item=param name="method" from=$methods[method].ifunction_call.params}
+ {$param.type} {$param.name}{if !$smarty.foreach.method.last}, {/if}
+ {/foreach}
+
+ {/if}
+ {/strip})
+ </div>
+ <div class="description">
+ {$methods[method].sdesc}
+ </div>
+ </td>
+ </tr>
+ {/if}
+ {/section}
+ </table>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_sub_classes.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_sub_classes.tpl
new file mode 100644
index 00000000..e605b314
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_sub_classes.tpl
@@ -0,0 +1,19 @@
+{if $children}
+ <div class="sub-classes">
+ {if $is_interface}
+ <h4>Direct Known Sub-interfaces:</h4>
+ {else}
+ <h4>Direct Known Sub-classes:</h4>
+ {/if}
+
+ <div><small>
+ {section name=child loop=$children}
+ {if !$smarty.section.child.first}
+ , {$children[child].link}
+ {else}
+ {$children[child].link}
+ {/if}
+ {/section}
+ </small></div>
+ </div>
+{/if}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_tags.tpl
new file mode 100644
index 00000000..221830c4
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/_tags.tpl
@@ -0,0 +1,13 @@
+<div class="tag-list">
+ {section name=tag loop=$tags}
+ {if $tags[tag].keyword != "abstract" &&
+ $tags[tag].keyword != "access" &&
+ $tags[tag].keyword != "static" &&
+ $tags[tag].keyword != "version"
+ }
+
+ <strong>{$tags[tag].keyword|capitalize}:</strong>
+ {$tags[tag].data}<br />
+ {/if}
+ {/section}
+</div>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl
index a040830b..37e94343 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/basicindex.tpl
@@ -1,21 +1,18 @@
{section name=letter loop=$letters}
- <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a>
+ [ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ]
{/section}
-<table>
+
{section name=index loop=$index}
-<tr><td colspan = "2"><a name="{$index[index].letter}">&nbsp; </a>
-<a href="#top">top</a><br>
-<TABLE CELLPADDING='3' CELLSPACING='0' WIDTH='100%' CLASS="border">
- <TR CLASS='TableHeadingColor'>
- <TD>
- <FONT SIZE='+2'><B>{$index[index].letter}</B></FONT>
- </TD>
- </TR>
-</TABLE>
-</td></tr>
- {section name=contents loop=$index[index].index}
- <tr><td><b>{$index[index].index[contents].name}</b></td><td width="100%" align="left" valign="top">{$index[index].index[contents].listing}</td></tr>
- {/section}
+ <hr />
+ <a name="{$index[index].letter}"></a>
+ <div>
+ <h2>{$index[index].letter}</h2>
+ <dl>
+ {section name=contents loop=$index[index].index}
+ <dt><b>{$index[index].index[contents].name}</b></dt>
+ <dd>{$index[index].index[contents].listing}</dd>
+ {/section}
+ </dl>
+ </div>
+ <a href="{$indexname}.html#top">top</a><br>
{/section}
-</table>
-
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl
index 1fbaca2f..b503c142 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/blank.tpl
@@ -1,13 +1,5 @@
-<html>
-<head>
- <title>{$maintitle}</title>
- <link rel="stylesheet" href="{$subdir}media/stylesheet.css" />
- <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
-</head>
-<body>
<div align="center"><h1>{$maintitle}</h1></div>
<b>Welcome to {$package}!</b><br />
<br />
This documentation was generated by <a href="{$phpdocwebsite}">phpDocumentor v{$phpdocversion}</a><br />
-</body>
-</html> \ No newline at end of file
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl
index 1ed17562..49e8c142 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/class.tpl
@@ -1,94 +1,31 @@
{include file="header.tpl" eltype="class" hasel=true contents=$classcontents}
-<!-- Start of Class Data -->
-<H3>
- <SPAN class="type">{if $is_interface}Interface{else}Class{/if}</SPAN> {$class_name}
- <HR>
-</H3>
-[line <span class="linenumber">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>]<br />
-<pre>
-{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}
-</pre>
-{if $tutorial}
-<div class="maintutorial">Class Tutorial: {$tutorial}</div>
-{/if}
-{if $children}
-<SPAN class="type">Classes extended from {$class_name}:</SPAN>
- {section name=kids loop=$children}
- <dl>
- <dt>{$children[kids].link}</dt>
- <dd>{$children[kids].sdesc}</dd>
- </dl>
- {/section}</p>
-{/if}
-{if $conflicts.conflict_type}<p class="warning">Conflicts with classes:<br />
- {section name=me loop=$conflicts.conflicts}
- {$conflicts.conflicts[me]}<br />
- {/section}
-<p>
-{/if}
-<SPAN class="type">Location:</SPAN> {$source_location}
-<hr>
-{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc}
-<hr>
-{include file="var.tpl" show="summary"}
-<hr>
-{include file="const.tpl" show="summary"}
-<hr>
-<!-- =========== INHERITED CONST SUMMARY =========== -->
-<A NAME='inheritedconst_summary'><!-- --></A>
-<H3>Inherited Class Constant Summary</H3>
-{section name=iconsts loop=$iconsts}
-<H4>Inherited From Class {$iconsts[iconsts].parent_class}</H4>
-<UL>
- {section name=iconsts2 loop=$iconsts[iconsts].iconsts}
- <!-- =========== Summary =========== -->
- <LI><CODE>{$iconsts[iconsts].iconsts[iconsts2].link}</CODE> = <CODE class="varsummarydefault">{$iconsts[iconsts].iconsts[iconsts2].value}</CODE>
- <BR>
- {$iconsts[iconsts].iconsts[iconsts2].sdesc}
- {/section}
- </LI>
-</UL>
-{/section}
-<hr>
-<!-- =========== INHERITED VAR SUMMARY =========== -->
-<A NAME='inheritedvar_summary'><!-- --></A>
-<H3>Inherited Class Variable Summary</H3>
+<h1><a href="../../../classdoc/{$class_name}.html">{if $is_interface}Interface{else}Class{/if} {$class_name}</a>
+<span style="font-size:11pt">(<a href="../../../classdoc/{$class_name}.html">Class Overview</a>)</span>
+</h1>
-{section name=ivars loop=$ivars}
-<H4>Inherited From Class {$ivars[ivars].parent_class}</H4>
-<UL>
- {section name=ivars2 loop=$ivars[ivars].ivars}
- <!-- =========== Summary =========== -->
- <LI><CODE>{$ivars[ivars].ivars[ivars2].link}</CODE> = <CODE class="varsummarydefault">{$ivars[ivars].ivars[ivars2].default}</CODE>
- <BR>
- {$ivars[ivars].ivars[ivars2].sdesc}
- {/section}
- </LI>
-</UL>
-{/section}
+{*inheritence tree*}
+<div class="inheritence-tree">
+ <pre>{section name=tree loop=$class_tree.classes}{if $smarty.section.tree.last}<strong>{$class_tree.classes[tree]}</strong>{else}{$class_tree.classes[tree]}{/if}{$class_tree.distance[tree]}{/section}</pre>
+</div>
-<hr>
-{include file="method.tpl" show="summary"}
-<!-- =========== INHERITED METHOD SUMMARY =========== -->
-<A NAME='methods_inherited'><!-- --></A>
-<H3>Inherited Method Summary</H3>
+{include file="_sub_classes.tpl"}
+{include file="_class_description.tpl"}
+{include file="_inherited_constants.tpl"}
+
+{include file="_constructor_summary.tpl"}
+{* include file="_destructor_summary.tpl" *}
+
+{include file="_method_summary.tpl"}
+
+{include file="_inherited_methods.tpl"}
+{include file="_constant_summary.tpl"}
+{include file="_constructor_details.tpl"}
+
+{* include file="_destructor_details.tpl" *}
+
+{include file="_method_details.tpl"}
+
+{include file="_constant_details.tpl"}
-{section name=imethods loop=$imethods}
-<H4>Inherited From Class {$imethods[imethods].parent_class}</h4>
-<UL>
- {section name=im2 loop=$imethods[imethods].imethods}
- <!-- =========== Summary =========== -->
- <LI><CODE>{$imethods[imethods].imethods[im2].link}</CODE><br>
- {$imethods[imethods].imethods[im2].sdesc}
- {/section}
-</UL>
-{/section}
-<hr>
-{include file="method.tpl"}
-<hr>
-{include file="var.tpl"}
-<hr>
-{include file="const.tpl"}
-<hr>
{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl
index 15bf6b7e..c07fc33a 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classleft.tpl
@@ -1,8 +1,9 @@
{foreach key=subpackage item=files from=$classleftindex}
- {if $subpackage != ""}<b>{$subpackage}</b><br>{/if}
+ <div class="package">
+ {if $subpackage != ""}{$subpackage}<br />{/if}
{section name=files loop=$files}
- {if $files[files].link != ''}<a href="{ldelim}$subdir{rdelim}{$files[files].link}">{/if}
- {$files[files].title}
- {if $files[files].link != ''}</a>{/if}<br>
+ {if $subpackage != ""}&nbsp;&nbsp;{/if}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}{$files[files].title}{if $files[files].link != ''}</a>{/if}<br />
{/section}
+ </div>
{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl
index 28c648be..4020e3a8 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/classtrees.tpl
@@ -1,12 +1,8 @@
-{capture name="title"}Class Trees for Package {$package}{/capture}
-{include file="header.tpl" title=$smarty.capture.title}
-
-<!-- Start of Class Data -->
-<H2>
- {$smarty.capture.title}
-</H2>
+{include file="header.tpl" noleftindex=true}
+<h1>{$title}</h1>
{section name=classtrees loop=$classtrees}
-<SPAN class="code">Root class {$classtrees[classtrees].class}</SPAN>
-<code class="vardefaultsummary">{$classtrees[classtrees].class_tree}</code>
+<hr />
+<div class="classtree">Root class {$classtrees[classtrees].class}</div><br>
+{$classtrees[classtrees].class_tree}
{/section}
-{include file="footer.tpl"} \ No newline at end of file
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl
index 207491a5..88856c4b 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/const.tpl
@@ -1,29 +1,14 @@
-{if $show=="summary"}
-<!-- =========== CONST SUMMARY =========== -->
-<A NAME='const_summary'><!-- --></A>
-<H3>Class Constant Summary</H3>
-
-<UL>
- {section name=consts loop=$consts}
- <!-- =========== Summary =========== -->
- <LI><CODE><a href="{$consts[consts].id}">{$consts[consts].const_name}</a></CODE> = <CODE class="varsummarydefault">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</CODE>
- <BR>
- {$consts[consts].sdesc}
- {/section}
-</UL>
-{else}
-<!-- ============ VARIABLE DETAIL =========== -->
-
-<A NAME='variable_detail'></A>
-
-<H3>Class Constant Detail</H3>
-
-<UL>
{section name=consts loop=$consts}
-<A NAME="{$consts[consts].const_dest}"><!-- --></A>
-<LI><SPAN class="code">{$consts[consts].const_name}</SPAN> = <CODE class="varsummarydefault">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</CODE> [line <span class="linenumber">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>]</LI>
-{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags}
-<BR>
+{if $show == 'summary'}
+ var {$consts[consts].const_name}, {$consts[consts].sdesc}<br>
+{else}
+ <a name="{$consts[consts].const_dest}"></a>
+ <p></p>
+ <h4>{$consts[consts].const_name} = <span class="value">{$consts[consts].const_value|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <p>[line {if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags}
+
+ <br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
{/section}
-</UL>
-{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl
index cf7ee7cb..a1c71a0d 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/contents.hhc.tpl
@@ -1,11 +1 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
-<HTML>
-<HEAD>
-<meta name="GENERATOR" content="phpDocumentor version {$phpdocversion}">
-<!-- Sitemap 1.0 -->
-</HEAD><BODY>
-<OBJECT type="text/site properties">
- <param name="ImageType" value="Folder">
-</OBJECT>
-{$toc}
-</BODY></HTML>
+{$toc} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl
index 3917cc70..04ce5b48 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/define.tpl
@@ -1,33 +1,32 @@
-{if $summary}
-<!-- =========== CONSTANT SUMMARY =========== -->
-<A NAME='constant_summary'><!-- --></A>
-<H3>Constant Summary</H3>
-
-<UL>
- {section name=def loop=$defines}
- <LI><CODE><A HREF="{$defines[def].id}">{$defines[def].define_name}</A></CODE> = <CODE class="varsummarydefault">{$defines[def].define_value}</CODE>
- <BR>{$defines[def].sdesc}
- {/section}
-</UL>
+{if count($defines) > 0}
+{section name=def loop=$defines}
+{if $show == 'summary'}
+define constant <a href="{$defines[def].id}">{$defines[def].define_name}</a> = {$defines[def].define_value}, {$defines[def].sdesc}<br>
{else}
-<!-- ============ CONSTANT DETAIL =========== -->
-
-<A NAME='constant_detail'></A>
-<H3>Constant Detail</H3>
+ <hr />
+ <a name="{$defines[def].define_link}"></a>
+ <h3>{$defines[def].define_name} <span class="smalllinenumber">[line {if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}]</span></h3>
+ <div class="tags">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$defines[def].define_name} = {$defines[def].define_value}</code>
+ </td></tr></table>
+ </td></tr></table>
-<UL>
- {section name=def loop=$defines}
- <A NAME="{$defines[def].define_link}"><!-- --></A>
- <LI><SPAN class="code">{$defines[def].define_name}</SPAN> = <CODE class="varsummarydefault">{$defines[def].define_value}</CODE> [line <span class="linenumber">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>]<br />
- {if $defines[def].define_conflicts.conflict_type}
- <p><b>Conflicts with defines:</b>
- {section name=me loop=$defines[def].define_conflicts.conflicts}
- {$defines[def].define_conflicts.conflicts[me]}<br />
- {/section}
- </p>
- {/if}
-<BR><BR>
- {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags}
+ {include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags}
+ <br />
+ {if $defines[def].define_conflicts.conflict_type}
+ <p><b>Conflicts with defines:</b>
+ {section name=me loop=$defines[def].define_conflicts.conflicts}
+ {$defines[def].define_conflicts.conflicts[me]}<br />
{/section}
-</UL>
+ </p>
+ {/if}
+{* original {if $defines[def].define_conflicts != ""
+ <b>Conflicts:</b> {$defines[def].define_conflicts<br /><br />
+ {/if *}
+ </div>
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl
index 0de18b67..09a603f8 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/docblock.tpl
@@ -1,31 +1,15 @@
-<!-- ========== Info from phpDoc block ========= -->
-{if $function}
- {if $params}
- <p class="label"><b>Parameters</b></p>
- {section name=params loop=$params}
- <p class=dt><i>{$params[params].var}</i></p>
- <p class=indent>{$params[params].data}</p>
- {/section}
- {/if}
-{/if}
-{section name=tags loop=$tags}
-{if $tags[tags].keyword == 'return'}
- <p class="label"><b>Returns</b></p>
- <p class=indent>{$tags[tags].data}</p>
-{/if}
+{if $sdesc != ''}{$sdesc|default:''}<br /><br />{/if}
+{if $desc != ''}{$desc|default:''}<br />{/if}
+{if count($tags) > 0}
+<br /><br />
+<h4>Tags:</h4>
+<div class="tags">
+<table border="0" cellspacing="0" cellpadding="0">
+{section name=tag loop=$tags}
+ <tr>
+ <td><b>{$tags[tag].keyword}:</b>&nbsp;&nbsp;</td><td>{$tags[tag].data}</td>
+ </tr>
{/section}
-{if $sdesc || $desc}
-<p class="label"><b>Remarks</b></p>
-{/if}
-{if $sdesc}
-<p>{$sdesc}</p>
-{/if}
-{if $desc}
-<p>{$desc}</p>
-{/if}
-{section name=tags loop=$tags}
-{if $tags[tags].keyword != 'return'}
- <p class="label"><b>{$tags[tags].keyword}</b></p>
- <p class=indent>{$tags[tags].data}</p>
-{/if}
-{/section} \ No newline at end of file
+</table>
+</div>
+{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl
index 8e25db5c..175a5136 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/elementindex.tpl
@@ -1,9 +1,5 @@
{include file="header.tpl" noleftindex=true}
<a name="top"></a>
-<h1>Index of All Elements</h1>
-<b>Indexes by package:</b><br>
-{section name=p loop=$packageindex}
-<a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a><br>
-{/section}<br>
+<h1>Index of all elements</h1>
{include file="basicindex.tpl" indexname="elementindex"}
{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/examplesource.tpl
new file mode 100644
index 00000000..fb85654b
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/examplesource.tpl
@@ -0,0 +1,6 @@
+{include file="header.tpl" title=$title}
+<h1 align="center">{$title}</h1>
+<div class="php">
+{$source}
+</div>
+{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl
index c85acbe0..50f108d7 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/fileleft.tpl
@@ -1,8 +1,10 @@
{foreach key=subpackage item=files from=$fileleftindex}
{if $subpackage != ""}subpackage <b>{$subpackage}</b><br>{/if}
+ <div class="package">
{section name=files loop=$files}
- {if $files[files].link != ''}<a href="{ldelim}$subdir{rdelim}{$files[files].link}">{/if}
+ {if $files[files].link != ''}<a href="{$files[files].link}">{/if}
{$files[files].title}
{if $files[files].link != ''}</a>{/if}<br>
{/section}
+ </div><br />
{/foreach}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl
index a0d7119e..b23076a0 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/filesource.tpl
@@ -2,5 +2,7 @@
{include file="header.tpl" title=$smarty.capture.tutle}
<h1 align="center">Source for file {$name}</h1>
<p>Documentation is available at {$docs}</p>
+<div class="php">
{$source}
+</div>
{include file="footer.tpl"} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl
index a015ceea..0b744c20 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/footer.tpl
@@ -1,8 +1,11 @@
-{if !$index}
- <div id="credit">
- <hr>
- Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a>
- </div>
-{/if}
+
+
+<div id="footer">
+ Copyright &copy; 2006 by Prado Software Group.
+</div>
+
+</div><!-- page -->
+
+
</body>
-</html>
+</html> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl
index ea314935..098aeb17 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/function.tpl
@@ -1,44 +1,48 @@
-{if $summary}
-<!-- =========== FUNCTION SUMMARY =========== -->
-<A NAME='function_summary'><!-- --></A>
-<H3>Function Summary</H3>
-
-<UL>
- {section name=func loop=$functions}
- <!-- =========== Summary =========== -->
- <LI><CODE><A HREF="{$functions[func].id}">{$functions[func].function_return} {$functions[func].function_name}()</A></CODE>
- <BR>{$functions[func].sdesc}
- {/section}
-</UL>
-{else}
-<!-- ============ FUNCTION DETAIL =========== -->
-
-<A NAME='function_detail'></A>
-<H3>Function Detail</H3>
-
-<UL>
{section name=func loop=$functions}
-<A NAME="{$functions[func].function_dest}"><!-- --></A>
-
-<LI><SPAN class="code">{$functions[func].function_return} {$functions[func].function_name}()</SPAN> [line <span class="linenumber">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>]<br />
-<BR><BR>
-<SPAN class="type">Usage:</SPAN> <SPAN class="code">{if $functions[func].ifunction_call.returnsref}&amp;{/if}{$functions[func].function_name}(
+{if $show == 'summary'}
+function {$functions[func].id}, {$functions[func].sdesc}<br />
+{else}
+ <hr />
+ <a name="{$functions[func].function_dest}"></a>
+ <h3>{$functions[func].function_name} <span class="smalllinenumber">[line {if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$functions[func].function_return} {if $functions[func].ifunction_call.returnsref}&amp;{/if}{$functions[func].function_name}(
{if count($functions[func].ifunction_call.params)}
{section name=params loop=$functions[func].ifunction_call.params}
{if $smarty.section.params.iteration != 1}, {/if}{if $functions[func].ifunction_call.params[params].default != ''}[{/if}{$functions[func].ifunction_call.params[params].type} {$functions[func].ifunction_call.params[params].name}{if $functions[func].ifunction_call.params[params].default != ''} = {$functions[func].ifunction_call.params[params].default|escape:"html"}]{/if}
{/section}
-{/if})</SPAN>
-<BR><BR>
-{if $functions[func].function_conflicts.conflict_type}
-<p><b>Conflicts with functions:</b>
-{section name=me loop=$functions[func].function_conflicts.conflicts}
-{$functions[func].function_conflicts.conflicts[me]}<br />
-{/section}
-</p>
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags}
+ <br /><br />
+ {if $functions[func].function_conflicts.conflict_type}
+ <p><b>Conflicts with functions:</b>
+ {section name=me loop=$functions[func].function_conflicts.conflicts}
+ {$functions[func].function_conflicts.conflicts[me]}<br />
+ {/section}
+ </p>
+ {/if}
+{* original {if $functions[func].function_conflicts != ""
+ <b>Conflicts:</b> {$functions[func].function_conflicts<br /><br />
+ {/if *}
+
+ {if count($functions[func].params) > 0}
+ <h4>Parameters</h4>
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$functions[func].params}
+ <tr>
+ <td class="type">{$functions[func].params[params].datatype}&nbsp;&nbsp;</td>
+ <td><b>{$functions[func].params[params].var}</b>&nbsp;&nbsp;</td>
+ <td>{$functions[func].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+ </div>
{/if}
-{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=true}
-<BR>
-<p class="top">[ <a href="#top">Top</a> ]</p>
{/section}
-</UL>
-{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl
index c1b74a1c..1053f748 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/global.tpl
@@ -1,32 +1,40 @@
-{if $summary}
-<!-- =========== GLOBAL VARIABLE SUMMARY =========== -->
-<A NAME='global_summary'><!-- --></A>
-<H3>Global Variable Summary</H3>
-
-<UL>
- {section name=glob loop=$globals}
- <LI><CODE><A HREF="{$globals[glob].id}">{$globals[glob].global_name}</A></CODE> = <CODE class="varsummarydefault">{$globals[glob].global_value}</CODE>
- <BR>{$globals[glob].sdesc}
- {/section}
-</UL>
-
+{if count($globals) > 0}
+{section name=glob loop=$globals}
+{if $show == 'summary'}
+global variable <a href="{$globals[glob].id}">{$globals[glob].global_name}</a> = {$globals[glob].global_value}, {$globals[glob].sdesc}<br>
{else}
-<!-- ============ GLOBAL VARIABLE DETAIL =========== -->
-
-<A NAME='global_detail'></A>
-<H3>Global Variable Detail</H3>
+ <hr />
+ <a name="{$globals[glob].global_link}"></a>
+ <h4><i>{$globals[glob].global_type}</i> {$globals[glob].global_name} <span class="smalllinenumber">[line {if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}]</span></h4>
+ <div class="tags">
+ {if $globals[glob].sdesc != ""}
+ {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags}
+ {/if}
-<UL>
- {section name=glob loop=$globals}
- <A NAME="{$globals[glob].global_link}"><!-- --></A>
- <LI><i>{$globals[glob].global_type}</i> <SPAN class="code">{$globals[glob].global_name}</SPAN> = <CODE class="varsummarydefault">{$globals[glob].global_value}</CODE> [line <span class="linenumber">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>]<br />
- {if $globals[glob].global_conflicts.conflict_type}
- <p><b>Conflicts with globals:</b>
- {section name=me loop=$globals[glob].global_conflicts.conflicts}
- {$globals[glob].global_conflicts.conflicts[me]}<br />
- {/section}
- {/if}<BR><BR>
- {include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags}
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Default value:</b>&nbsp;&nbsp;</td>
+ <td>{$globals[glob].global_value|replace:" ":"&nbsp;"|replace:"\n":"<br />\n"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</td>
+ </tr>
+ {if $globals[glob].global_conflicts.conflict_type}
+ <tr>
+ <td><b>Conflicts with globals:</b>&nbsp;&nbsp;</td>
+ <td>
+ {section name=me loop=$globals[glob].global_conflicts.conflicts}
+ {$globals[glob].global_conflicts.conflicts[me]}<br />
{/section}
-</UL>
+ </td>
+ </tr>
+ {/if}
+{* original {if $globals[glob].global_conflicts != ""
+ <tr>
+ <td><b>Conflicts:</b>&nbsp;&nbsp;</td>
+ <td>{$globals[glob].global_conflicts</td>
+ </tr>
+ {/if *}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br /><br />
+{/if}
+{/section}
{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl
index bdf6173e..83b0c66b 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/header.tpl
@@ -1,22 +1,23 @@
-<!--
- IE 6 makes the page to wide with the following doctype. I accept
- standards if they help me, not if they make anything even harder!
-//-->
-<!--<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0 Transitional//EN' 'http://www.w3.org/TR/REC-html40/loose.dtd'>//-->
-<!--NewPage-->
-<HTML>
-<HEAD>
- <!-- Generated by PhpDoc date: '{$date}' -->
- <TITLE>{$title}</TITLE>
-<LINK REL ='stylesheet' TYPE='text/css' HREF='{$subdir}media/stylesheet.css' TITLE='Style'>
-{if $bgleft}
-<STYLE type="text/css"><!--
- BODY {ldelim}
- background-image : url("{$subdir}media/bg_left.png");
- background-repeat : repeat-y;
- {rdelim}
-//--></STYLE>
-{/if}
-</HEAD>
-<BODY {if !$bgleft}BGCOLOR='white'{/if}>
-<a name="top"><!-- --></a> \ No newline at end of file
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
+
+<head>
+<title>PRADO API Manual: {$title}</title>
+
+<meta http-equiv="Expires" content="Fri, Jan 01 1900 00:00:00 GMT"/>
+<meta http-equiv="Pragma" content="no-cache"/>
+<meta http-equiv="Cache-Control" content="no-cache"/>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
+<meta http-equiv="content-language" content="en"/>
+<meta name="Keywords" content="PRADO PHP framework component template delphi asp.net event property OOP PHP5 object oriented programming Web programming development" />
+<meta name="Description" content="PRADO is a component-based and event-driven framework for Web application development in PHP 5." />
+<meta name="Author" content="Qiang Xue" />
+<meta name="Subject" content="Web programming, PHP framework" />
+<meta name="Language" content="en" />
+<link rel="stylesheet" type="text/css" href="{$subdir}media/style.css" />
+<link rel="stylesheet" type="text/css" href="{$subdir}media/manual.css" />
+</head>
+<body>
+
+<div id="page">
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl
index 1ab7440b..cff067db 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/include.tpl
@@ -1,26 +1,9 @@
-{if $summary}
-<!-- =========== INCLUDE SUMMARY =========== -->
-<A NAME='include_summary'><!-- --></A>
-<H3>Include Statements Summary</H3>
-
-<UL>
- {section name=includes loop=$includes}
- <LI><CODE><A HREF="#{$includes[includes].include_file}">{$includes[includes].include_name}</A></CODE> = <CODE class="varsummarydefault">{$includes[includes].include_value}</CODE>
- <BR>{$includes[includes].sdesc}
- {/section}
-</UL>
-{else}
-<!-- ============ INCLUDE DETAIL =========== -->
-
-<A NAME='include_detail'></A>
-<H3>Include Statements Detail</H3>
-
-<UL>
- {section name=includes loop=$includes}
- <A NAME="{$includes[includes].include_file}"><!-- --></A>
- <LI><SPAN class="code">{$includes[includes].include_name} file:</SPAN> = <CODE class="varsummarydefault">{$includes[includes].include_value}</CODE> [line <span class="linenumber">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>]<br />
- <BR><BR>
- {include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
- {/section}
-</UL>
+{if count($includes) > 0}
+<h4>Includes:</h4>
+<div class="tags">
+{section name=includes loop=$includes}
+{$includes[includes].include_name}({$includes[includes].include_value}) [line {if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}]<br />
+{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
+{/section}
+</div>
{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl
index f73fb8a3..60c74b47 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/index.tpl
@@ -1,24 +1,7 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
-<!--NewPage-->
-<HTML>
-<HEAD>
- <!-- Generated by PhpDoc on {$date} -->
- <TITLE>{$title}</TITLE>
-</HEAD>
-<FRAMESET cols='220,*'>
-{if $package_count > 1}
- <FRAMESET rows='220,*'>
- <FRAME src='packages.html' name='left_top'>
+{include file="header.tpl"}
+{if $contents}
+{$contents}
+{else}
+{include file="blank.tpl"}
{/if}
- <FRAME src='{$start}' name='left_bottom'>
-{if $package_count > 1}
- </FRAMESET>
-{/if}
- <FRAME src='{$blank}.html' name='right'>
- <NOFRAMES>
- <H2>Frame Alert</H2>
- <P>This document is designed to be viewed using the frames feature.
- If you see this message, you are using a non-frame-capable web client.</P>
- </NOFRAMES>
-</FRAMESET>
-</HTML>
+{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl
index 9309962b..07cb76e5 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/method.tpl
@@ -1,38 +1,25 @@
+{section name=methods loop=$methods}
{if $show == 'summary'}
-<!-- =========== METHOD SUMMARY =========== -->
-<A NAME='method_summary'><!-- --></A>
-<H3>Method Summary</H3>
-
-<UL>
- {section name=methods loop=$methods}
- <!-- =========== Summary =========== -->
- <LI><CODE><A HREF='{$methods[methods].id}'>{$methods[methods].function_return} {$methods[methods].function_name}()</A></CODE>
- <BR>{$methods[methods].sdesc}
- {/section}
-</UL>
-
+method {$methods[methods].function_call}, {$methods[methods].sdesc}<br />
{else}
-<!-- ============ METHOD DETAIL =========== -->
-
-<A NAME='method_detail'></A>
-<H3>Method Detail</H3>
-
-<UL>
-{section name=methods loop=$methods}
-<A NAME='{$methods[methods].method_dest}'><!-- --></A>
-
-<h1><A name="{$methods[methods].function_name}"></A>{$class_name}::{$methods[methods].function_name}</h1>
-
-<p class=method>
-<b>{if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(</b>
+ <hr />
+ <a name="{$methods[methods].method_dest}"></a>
+ <h3>{if $methods[methods].ifunction_call.constructor}constructor {elseif $methods[methods].ifunction_call.destructor}destructor {else}method {/if}{$methods[methods].function_name} <span class="smalllinenumber">[line {if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}]</span></h3>
+ <div class="function">
+ <table width="90%" border="0" cellspacing="0" cellpadding="1"><tr><td class="code_border">
+ <table width="100%" border="0" cellspacing="0" cellpadding="2"><tr><td class="code">
+ <code>{$methods[methods].function_return} {if $methods[methods].ifunction_call.returnsref}&amp;{/if}{$methods[methods].function_name}(
{if count($methods[methods].ifunction_call.params)}
{section name=params loop=$methods[methods].ifunction_call.params}
{if $smarty.section.params.iteration != 1}, {/if}
-{if $methods[methods].ifunction_call.params[params].default != ''}[{/if}<b>{$methods[methods].ifunction_call.params[params].type}</b>
-<i>{$methods[methods].ifunction_call.params[params].name}</i>{if $methods[methods].ifunction_call.params[params].default != ''} = {$methods[methods].ifunction_call.params[params].default}]{/if}
+{if $methods[methods].ifunction_call.params[params].default != ''}[{/if}{$methods[methods].ifunction_call.params[params].type}
+{$methods[methods].ifunction_call.params[params].name}{if $methods[methods].ifunction_call.params[params].default != ''} = {$methods[methods].ifunction_call.params[params].default}]{/if}
{/section}
-{/if}<b> );</b>
-</p>
+{/if})</code>
+ </td></tr></table>
+ </td></tr></table><br />
+
+ {include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags}<br /><br />
{if $methods[methods].descmethod}
<p>Overridden in child classes as:<br />
@@ -43,13 +30,29 @@
</dl>
{/section}</p>
{/if}
-{if $methods[methods].method_overrides}
-<p>Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})</p>
+{* original {if $methods[methods].descmethod != ""
+ {$methods[methods].descmethod<br /><br />
+ {/if *}
+{if $methods[methods].method_overrides}Overrides {$methods[methods].method_overrides.link} ({$methods[methods].method_overrides.sdesc|default:"parent method not documented"})<br /><br />{/if}
+{* original {if $methods[methods].method_overrides != ""
+ {$methods[methods].method_overrides<br /><br />
+ {/if *}
+
+ {if count($methods[methods].params) > 0}
+ <h4>Parameters:</h4>
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ {section name=params loop=$methods[methods].params}
+ <tr>
+ <td class="type">{$methods[methods].params[params].datatype}&nbsp;&nbsp;</td>
+ <td><b>{$methods[methods].params[params].var}</b>&nbsp;&nbsp;</td>
+ <td>{$methods[methods].params[params].data}</td>
+ </tr>
+ {/section}
+ </table>
+ </div><br />
+ {/if}
+ <div class="top">[ <a href="#top">Top</a> ]</div>
+ </div>
{/if}
-
-{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=true}
- <p class="top">[ <a href="#top">Top</a> ]</p>
-<BR>
{/section}
-</UL>
-{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl
index dc93b0a1..6dd8683d 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/page.tpl
@@ -1,34 +1,31 @@
-{include file="header.tpl" eltype="Procedural file"}
-<h3><SPAN class="type">File:</SPAN> {$source_location}<HR>
-</h3>
+{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents}
+
+<br>
+<br>
+
+{if $classes}
+<div class="contents">
{if $tutorial}
-<div class="maintutorial">Main Tutorial: {$tutorial}</div>
+<span class="maintutorial">Main Tutorial: {$tutorial}</span>
{/if}
-{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags}
-Classes in this file:
-<dl>
+<h2>Classes:</h2>
{section name=classes loop=$classes}
<dt>{$classes[classes].link}</dt>
<dd>{$classes[classes].sdesc}</dd>
{/section}
-</dl>
-<hr>
-{include file="include.tpl" summary=true}
-<hr>
-{include file="global.tpl" summary=true}
-<hr>
-{include file="define.tpl" summary=true}
-<hr>
-{include file="function.tpl" summary=true}
-<hr>
+</div><br /><br />
+{/if}
+
+<h2>Page Details:</h2>
+{include file="docblock.tpl" type="page"}
+<br /><br />
{include file="include.tpl"}
-<hr>
+<br /><br />
{include file="global.tpl"}
-<hr>
+<br /><br />
{include file="define.tpl"}
-<hr>
+<br />
{include file="function.tpl"}
-<hr>
+
{include file="footer.tpl"}
-</HTML> \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl
index 68897450..753ad7cf 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/pkgelementindex.tpl
@@ -1,14 +1,5 @@
{include file="header.tpl"}
<a name="top"></a>
<h1>Element index for package {$package}</h1>
-{if count($packageindex) > 1}
-<b>Indexes by package:</b><br>
-{/if}
-{section name=p loop=$packageindex}
-{if $packageindex[p].title != $package}
-<a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a><br>
-{/if}
-{/section}<br>
-<a href="elementindex.html"><b>Index of all elements</b></a><br>
{include file="basicindex.tpl" indexname=elementindex_$package}
{include file="footer.tpl"}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl
index 6997545a..faf7bcef 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/tutorial_tree.tpl
@@ -1,5 +1,5 @@
<ul>
- <li><a href="{$main.link}" target="right">{$main.title|strip_tags}</a>
+ <li type="square"><a href="{$main.link}">{$main.title|strip_tags}</a>
{if $kids}{$kids}</li>{/if}
</ul>
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl
index d6f04b53..c76929fe 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/CHM/default/templates/default/templates/var.tpl
@@ -1,30 +1,28 @@
-{if $show=="summary"}
-<!-- =========== VAR SUMMARY =========== -->
-<A NAME='var_summary'><!-- --></A>
-<H3>Class Variable Summary</H3>
-
-<UL>
- {section name=vars loop=$vars}
- <!-- =========== Summary =========== -->
- <LI><CODE><a href="{$vars[vars].id}">{$vars[vars].var_name}</a></CODE> = <CODE class="varsummarydefault">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</CODE>
- <BR>
- {$vars[vars].sdesc}
- {/section}
-</UL>
+{section name=vars loop=$vars}
+{if $show == 'summary'}
+ var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
{else}
-<!-- ============ VARIABLE DETAIL =========== -->
-
-<A NAME='variable_detail'></A>
+ <a name="{$vars[vars].var_dest}"></a>
+ <p></p>
+ <h4>{$vars[vars].var_name} = <span class="value">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</span></h4>
+ <p>[line {if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}]</p>
+ {include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
-<H3>Variable Detail</H3>
-
-<UL>
-{section name=vars loop=$vars}
-<A NAME="{$vars[vars].var_dest}"><!-- --></A>
-<LI><SPAN class="code">{$vars[vars].var_name}</SPAN> = <CODE class="varsummarydefault">{$vars[vars].var_default|replace:"\n":"<br>\n"|replace:" ":"&nbsp;"|replace:"\t":"&nbsp;&nbsp;&nbsp;"}</CODE> [line <span class="linenumber">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>]</LI>
-<LI><b>Data type:</b> <CODE class="varsummarydefault">{$vars[vars].var_type}</CODE>{if $vars[vars].var_overrides}<b>Overrides:</b> {$vars[vars].var_overrides}<br>{/if}</LI>
-{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}
-<BR>
+ <br />
+ <div class="tags">
+ <table border="0" cellspacing="0" cellpadding="0">
+ <tr>
+ <td><b>Type:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_type}</td>
+ </tr>
+ {if $vars[vars].var_overrides != ""}
+ <tr>
+ <td><b>Overrides:</b>&nbsp;&nbsp;</td>
+ <td>{$vars[vars].var_overrides}</td>
+ </tr>
+ {/if}
+ </table>
+ </div><br /><br />
+ <div class="top">[ <a href="#top">Top</a> ]</div><br />
+{/if}
{/section}
-</UL>
-{/if} \ No newline at end of file
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png
new file mode 100644
index 00000000..19fdf05d
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/bg_left.png
Binary files differ
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css
new file mode 100644
index 00000000..8aaa937d
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/manual.css
@@ -0,0 +1,260 @@
+/* thanks to symfony for a great base template for phpdoc */
+/* symfony-project.com */
+
+#page
+{
+ width: 99%;
+}
+
+div.credit
+{
+ font-size: 10px;
+ color: #888;
+}
+
+.inherited-methods
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ margin-top: 10px;
+ width: 100%;
+}
+
+.inherited-methods td
+{
+ background-color: #FFFFFF;
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding: 5px;
+}
+
+.inherited-methods th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-detail
+{
+ font-size: 1.0em;
+}
+
+.method-detail a
+{
+ font-weight: bold;
+}
+
+.method-detail td
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding-top: 10px;
+ vertical-align: top;
+}
+
+.method-details
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.method-details td
+{
+ background-color: #FFFFFF;
+}
+
+.method-details td.method-data
+{
+ padding: 5px;
+}
+
+.method-details h2
+{
+ color: #750000;
+}
+
+.method-details th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-summary
+{
+ background-color: #aaa;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.method-summary td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.method-summary td a
+{
+ font-weight: bold;
+}
+
+.method-summary td.type
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+ text-align: right;
+ vertical-align: top;
+}
+
+.method-summary div.declaration
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+}
+
+.method-summary th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.method-summary th.small
+{
+ font-size: 1.0em;
+}
+
+.method-summary tr.reference td {
+ background-color: #FFEDED;
+}
+
+
+.constant-details
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.constant-details h3
+{
+ color: #750000;
+}
+
+.constant-details td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.constant-details th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.constant-summary
+{
+ background-color: #ddd;
+ font-size: 1.0em;
+ width: 100%;
+}
+
+.constant-summary td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+}
+
+.constant-summary td.name a
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+ font-weight: bold;
+}
+
+.constant-summary td.type
+{
+ font-family: "courier new", courier;
+ font-size: 1.0em;
+}
+
+.constant-summary th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ font-size: 1.2em;
+ padding: 5px;
+ text-align: left;
+}
+
+.inherited-constants
+{
+ background-color: #eee;
+ font-size: 1.0em;
+ margin-top: 10px;
+ width: 100%;
+}
+
+.inherited-constants td
+{
+ background-color: #FFFFFF;
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ padding: 5px;
+}
+
+.inherited-constants th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.class-declaration
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+}
+
+.class-description
+{
+ background-color: #F0F0F0;
+ margin-top: 10px;
+ padding: 1px 8px 1px 8px;
+ margin-bottom: 5px;
+}
+
+.inheritence-tree pre
+{
+ margin-bottom: 0;
+}
+
+.sub-classes h4
+{
+ margin: 10px 0 0 0;
+}
+
+.sub-classes div
+{
+ font-family: "courier new", courier;
+ font-size: 1.1em;
+ margin: 5px 0 0 40px;
+}
+
+.sub-classes div small
+{
+ font-size: 1.0em;
+}
+
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css
index 9419ca62..918d43e4 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css
@@ -1,197 +1,598 @@
-.php {
- padding: 1em;
+/**
+ * PradoSoft profile by Carl G. Mathisen and Stefan A. Petrov
+ * http://decart.no
+ */
+
+body
+{
+ text-align: center;
}
-/* This will not be executed by IE, so now we have a fix! */
-*[class="php-src"], *[class="php"], *[class="listing"] {
- line-height: 0px;
+
+body, div, span, p, input
+{
+ font-family: Verdana, sans-serif, Arial;
+ font-size: 10pt;
+ color: #333333;
}
-body
+h1, h2, h3, h4
{
- color: #000000;
- background-color: #ffffff;
- background-image: url("background.png");
- background-repeat: repeat-y;
- font-family: tahoma, verdana, arial, sans-serif;
- font-size: 10pt;
- margin: 0;
- padding: 0;
+ font-family: Verdana, Helvetica, Arial, Lucida Grande, Trebuchet MS;
+ padding: 0px;
+ margin: 0px;
+ margin-bottom: 10px;
+ color: #821B18;
+ font-weight: normal;
+}
+
+h2
+{
+ font-size: 18px;
+}
+
+h3
+{
+ font-size: 16px;
+}
+
+div
+{
+ text-align: left;
+}
+
+.instructions
+{
+ background-color: #EEEEEE;
+}
+
+img
+{
+ border: none;
}
a
{
- color: #000099;
- background-color: transparent;
- text-decoration: none;
+ color: #CD2C27;
+ text-decoration: none;
}
a:hover
{
- text-decoration: underline;
+ color: #821B18;
+ text-decoration: underline;
+}
+
+#page
+{
+ margin: 0 auto;
+ padding: 0;
+ position: relative;
+}
+
+#header
+{
+ position: relative;
+ height: 98px;
+}
+
+#logo
+{
+ height: 99px;
+}
+
+/* main page */
+
+div.intro
+{
+ height: 190px;
+ background-image: url('bigmantis.jpg');
+ background-repeat: no-repeat;
+ background-position: top right;
+ background-color: #fff;
+}
+
+div.statements
+{
+ height: 135px;
+ background-image: url('statementsbg.gif');
+ background-repeat: repeat-x;
+ position: relative;
+ border-bottom : 1px solid #EEE;
+}
+
+div.statements div
+{
+ position: absolute;
+ width: 250px;
+ top: 20px;
+}
+
+div.statements div p
+{
+ font-size: 13px;
+ color: #818181;
+}
+
+div.statements div.whatis
+{
+ left: 20px;
+}
+
+div.statements div.whatreq
+{
+ left: 290px;
+}
+
+div.statements div.cani
+{
+ left: 600px;
+ width: 210px;
+}
+
+/* navbar */
+#navbar
+{
+ border-bottom: 2px solid #E9EEEF;
+ height: 30px;
+ margin-bottom: 20px;
+}
+
+#navbar ul
+{
+ margin-left: 0;
+ padding-left: 0;
+ display: inline;
+}
+
+#navbar ul li
+{
+ margin-left: 0px;
+ list-style: none;
+ display: inline;
+}
+
+#navbar ul li a
+{
+ display: block;
+ float: left;
+ font-size: 14px;
+ font-weight: bold;
+ padding-right: 14px;
+ padding-top: 5px;
+ color: #CD2B26;
+ text-decoration: none;
+ height: 29px;
+}
+
+#navbar ul li a.active, #navbar ul li a.hover
+{
+ color: #821B18;
+}
+
+/* infobar */
+div#infobar
+{
+ float: right;
+ width: 200px;
+ padding-left: 20px;
+ border-left: 2px solid #E9EEEF;
+}
+
+div#infobar div
+{
+ margin-bottom: 20px;
+}
+
+div#infobar div#featured img
+{
+ margin-top: 10px;
+}
+
+/* articles */
+
+div#articles
+{
+ width: 560px;
+ float: left;
+}
+
+/* article */
+
+div.article
+{
+ margin-bottom: 40px;
+}
+
+div.article .date
+{
+ color: #9F9291;
+}
+
+div.article .more
+{
+ margin-right: 10px;
+ display: block;
+ text-align: right;
+}
+
+.logo
+{
+ position: absolute;
+ margin-left: 15px;
+ margin-top: 0px;
+ z-index: 1;
+}
+
+#main
+{
+ padding: 20px;
+ padding-top: 20px;
+ background-color: #fff;
+}
+
+div.mantis
+{
+ height: 190px;
+ background-color: #fff;
+ border-bottom: 1px solid #DCDCDC;
}
-a.menu
+div.releases
{
- color: #ffffff;
- background-color: transparent;
+ float: left;
+ width: 240px;
+ height: 190px;
}
-td
+div.releases div.official
{
- font-size: 10pt;
+ width: 190px;
+ position: relative;
+ left: 52px;
+ top: 128px;
+ font-size: 8pt;
+ color: #6D6D6D;
}
-td.header_top
+div.releases div.official a
{
- color: #ffffff;
- background-color: #9999cc;
- font-size: 16pt;
- font-weight: bold;
- text-align: right;
- padding: 10px;
+ display: block;
}
-td.header_line
+div.whyprado
{
- color: #ffffff;
- background-color: #333366;
+ display: block;
+ float: left;
}
-td.header_menu
+div.whyprado ul.list
{
- color: #ffffff;
- background-color: #666699;
- font-size: 8pt;
- text-align: right;
- padding: 2px;
- padding-right: 5px;
+ margin-top: 40px;
+ margin-left: 40px;
}
-td.menu
+div.whyprado ul.list li
{
- padding: 2px;
- padding-left: 5px;
+ display: block;
+ margin: 5px;
+ padding: 0px;
+ font-size: 18px;
+ background-repeat: no-repeat;
+ background-position: bottom left;
+ padding-left: 30px;
+ list-style: none;
}
-td.code_border
+
+#footer
+{
+ border-top: 1px solid #e9eeef;
+ background-color: #fff;
+ clear: both;
+ color: #A7A7A7;
+ font-size: 8pt;
+ text-align: center;
+ padding-top: 10px;
+ padding-bottom: 30px;
+ background-repeat: repeat-x;
+ background-position: bottom;
+}
+
+#features
+{
+ margin-left: 610px;
+ padding: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #BEDD75;
+ color: #344A1E;
+ font-size: 9pt;
+}
+
+#features ul
+{
+ margin: 10px;
+ padding: 0px;
+}
+
+#features ul li
+{
+ font-size: 8pt;
+ padding: 0px;
+ margin: 0px;
+ margin-top: 8px;
+}
+
+#features h3
+{
+ margin: 0px;
+ padding: 0px;
+ font-size: 10pt;
+ color: #292E1D;
+ text-align: center;
+ border-bottom: 1px solid silver;
+}
+
+#news
+{
+ float: left;
+ width: 590px;
+}
+
+.newstitle
+{
+ font-size: 12pt;
+ font-weight: bold;
+ color: #555;
+ margin-top: 10px;
+ margin-bottom: 0px;
+ border-bottom: 1px solid silver;
+}
+
+.newscontentmore
+{
+ margin-right: 10px;
+ display: block;
+ color: #50811A;
+ text-align: right;
+}
+
+.newscontentmore:hover
{
- color: #000000;
- background-color: #c0c0c0;
+ color: red;
}
-td.code
+.newstime
{
- color: #000000;
- background-color: #f0f0f0;
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ text-align: right;
}
-td.type
+.newscontent
{
- font-style: italic;
+ margin-top: 5px;
}
-div.credit
+#leftpanel
{
- font-size: 8pt;
- text-align: center;
+ float: left;
+ width: 550px;
}
-div.package
+#topics
{
- padding-left: 5px;
+ border: 1px solid #804040;
+ margin-left: 610px;
+ padding-bottom: 10px;
}
-div.tags
+#topicsheader
{
- padding-left: 15px;
+ text-align:center;
+ font-weight:bold;
+ background-color:#804040;
+ color:#FFFFBC;
+ padding: 3px;
+ margin-bottom:0px;
}
-div.function
+.topicitem
{
- padding-left: 15px;
+ padding: 5px;
}
-div.top
+.topicitem a:hover
{
- font-size: 8pt;
+ text-decoration: underline;
}
-div.warning
+.topicitem p
{
- color: #ff0000;
- background-color: transparent;
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ white-space:nowrap;
}
-div.description
+.reference
{
- padding-left: 15px;
}
-hr
+.reference img
{
- height: 1px;
- border-style: solid;
- border-color: #c0c0c0;
- margin-top: 10px;
- margin-bottom: 10px;
+ margin: 10px;
}
-span.smalllinenumber
+.reference h3
{
- font-size: 8pt;
}
-ul {
- margin-left: 0px;
- padding-left: 8px;
+
+.download
+{
+ width: 100%;
+ background-color: #aaa;
}
-/* Syntax highlighting */
-.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 0px; margin : 0px}
-/*.src-code pre { }*/
+.download td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+ font-size: 9pt;
+}
-.src-comm { color: green; }
-.src-id { }
-.src-inc { color: #0000FF; }
-.src-key { color: #0000FF; }
-.src-num { color: #CC0000; }
-.src-str { color: #66cccc; }
-.src-sym { font-weight: bold; }
-.src-var { }
+.download td a
+{
+ font-weight: bold;
+}
-.src-php { font-weight: bold; }
+.download td.type
+{
+ font-family: "courier new", courier;
+ text-align: right;
+ vertical-align: top;
+}
-.src-doc { color: #009999 }
-.src-doc-close-template { color: #0000FF }
-.src-doc-coretag { color: #0099FF; font-weight: bold }
-.src-doc-inlinetag { color: #0099FF }
-.src-doc-internal { color: #6699cc }
-.src-doc-tag { color: #0080CC }
-.src-doc-template { color: #0000FF }
-.src-doc-type { font-style: italic }
-.src-doc-var { font-style: italic }
+.download div.declaration
+{
+ font-family: "courier new", courier;
+}
-.tute-tag { color: #009999 }
-.tute-attribute-name { color: #0000FF }
-.tute-attribute-value { color: #0099FF }
-.tute-entity { font-weight: bold; }
-.tute-comment { font-style: italic }
-.tute-inline-tag { color: #636311; font-weight: bold }
-/* tutorial */
+.download th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
-.authors { }
-.author { font-style: italic; font-weight: bold }
-.author-blurb { margin: .5em 0em .5em 2em; font-size: 85%; font-weight: normal; font-style: normal }
-.example { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; }
-.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; }
-.release-info { font-size: 85%; font-style: italic; margin: 1em 0em }
-.ref-title-box { }
-.ref-title { }
-.ref-purpose { font-style: italic; color: #666666 }
-.ref-synopsis { }
-.title { font-weight: bold; margin: 1em 0em 0em 0em; padding: .25em; border: 2px solid #999999; background-color: #9999CC }
-.cmd-synopsis { margin: 1em 0em }
-.cmd-title { font-weight: bold }
-.toc { margin-left: 2em; padding-left: 0em }
+.download th.small
+{
+ font-size: 1.0em;
+}
+
+.download tr.reference td {
+ background-color: #FFEDED;
+}
+
+
+.doc-title
+{
+ font-size: 14pt;
+ font-weight: bold;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.doc-subtitle
+{
+ font-size: 11pt;
+ font-weight: bold;
+ background-color: #EEE;
+ padding: 5px;
+ margin-top: 20px;
+}
+.doc-namespace
+{
+ font-size: 8pt;
+}
+
+
+.doc-menu
+{
+}
+
+.doc-classes
+{
+}
+
+.doc-ancestors
+{
+ font-size: 8pt;
+}
+
+.doc-properties
+{
+ font-size: 9pt;
+}
+
+.doc-properties table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-properties td, .doc-properties th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-events
+{
+ font-size: 9pt;
+}
+
+.doc-events table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-events td, .doc-events th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-methods
+{
+ font-size: 9pt;
+}
+
+.doc-methods table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-methods td, .doc-methods th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-derived
+{
+}
+
+.doc-inherited
+{
+}
+
+.doc-native td
+{
+ background-color: lightyellow;
+}
+
+.forum-topic
+{
+ padding: 10px;
+ border:1px solid silver;
+ margin-bottom: 10px;
+}
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css
new file mode 100644
index 00000000..2c08f94f
--- /dev/null
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/stylesheet.css
@@ -0,0 +1,129 @@
+BODY, DIV, SPAN, PRE, CODE, TD, TH {
+ line-height: 140%;
+ font-size: 10pt;
+ font-family: verdana,arial,sans-serif;
+}
+
+H1 {
+ font-size: 12pt;
+}
+
+H4 {
+ font-size: 10pt;
+ font-weight: bold;
+}
+
+P.label {
+ margin-bottom: 5px;
+}
+P.dt {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+P.indent {
+ margin-top: 0px;
+ margin-left: 20px;
+ margin-bottom: 0px;
+}
+P.method {
+ background-color: #f0f0f0;
+ padding: 2px;
+ border: 1px #cccccc solid;
+}
+
+A {
+ text-decoration: none;
+}
+
+A:link{
+ color: #336699;
+}
+
+A:visited {
+ color: #003366;
+}
+
+A:active, A:hover {
+ color: #6699CC;
+}
+
+A:hover{
+ text-decoration: underline;
+}
+
+SPAN.type {
+ color: #336699;
+ font-size: xx-small;
+ font-weight: normal;
+ }
+
+PRE {
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+HR {
+ color: #336699;
+ background-color: #336699;
+ border-width: 0px;
+ height: 1px;
+ filter: Alpha (opacity=100,finishopacity=0,style=1);
+}
+
+DIV.sdesc {
+ font-weight: bold;
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+DIV.desc {
+ font-family: monospace;
+ background-color: #EEEEEE;
+ padding: 10px;
+ border-width: 1px;
+ border-color: #336699;
+ border-style: solid;
+}
+
+SPAN.code {
+ font-family: monospace;
+}
+
+CODE.varsummarydefault{
+ padding: 1px;
+ border-width: 1px;
+ border-style: dashed;
+ border-color: #336699;
+}
+
+UL.tute {
+ margin: 0px;
+ padding: 0px;
+ padding-left: 5px;
+ }
+
+LI.tute {
+ line-height: 140%;
+ font-size: 10pt;
+ text-indent: -15px;
+ padding-bottom: 2px;
+ padding-left: 14px;
+}
+
+.small{
+ font-size: 9pt;
+}
+
+
+.tute-tag { color: #009999 }
+.tute-attribute-name { color: #0000FF }
+.tute-attribute-value { color: #0099FF }
+.tute-entity { font-weight: bold; }
+.tute-comment { font-style: italic }
+.tute-inline-tag { color: #636311; font-weight: bold }
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Setup.inc.php b/buildscripts/PhpDocumentor/phpDocumentor/Setup.inc.php
index 1d953088..c1e7095f 100644
--- a/buildscripts/PhpDocumentor/phpDocumentor/Setup.inc.php
+++ b/buildscripts/PhpDocumentor/phpDocumentor/Setup.inc.php
@@ -24,7 +24,7 @@
* @package phpDocumentor
* @since 1.2
*/
-error_reporting(E_ALL);
+error_reporting(E_ALL & ~E_NOTICE & ~E_STRICT);
/** common settings */
include_once("phpDocumentor/common.inc.php");
diff --git a/buildscripts/PhpDocumentor/phpdoc b/buildscripts/PhpDocumentor/phpdoc
index 725b5aaf..0b02a7c8 100644
--- a/buildscripts/PhpDocumentor/phpdoc
+++ b/buildscripts/PhpDocumentor/phpdoc
@@ -29,6 +29,7 @@ exec $PHP -C -q -d output_buffering=1 $0 $@
// Project http://sourceforge.net/projects/phpdocu/
//
+
ob_end_clean(); // make output from autofind php code disapear
/**
@@ -44,6 +45,7 @@ ob_end_clean(); // make output from autofind php code disapear
$test = @include("phpDocumentor/find_phpdoc.php");
if ($test == 6) // find_phpdoc.php returns 6
{
+ error_reporting(0);
include("phpDocumentor/phpdoc.inc");
} else
{
diff --git a/buildscripts/chmbuilder/ChmQuickstartBuilder.php b/buildscripts/chmbuilder/ChmQuickstartBuilder.php
new file mode 100644
index 00000000..6087d5d8
--- /dev/null
+++ b/buildscripts/chmbuilder/ChmQuickstartBuilder.php
@@ -0,0 +1,435 @@
+<?php
+
+class ChmQuickstartBuilder
+{
+ private $base;
+ const DEMO_URL = 'http://www.pradosoft.com/demos/quickstart/';
+ const CSS_URL = 'assets/chm_style.css';
+ private $output_dir;
+ private $app;
+
+ private $_viewed=array();
+
+ public function __construct($base,$output)
+ {
+ $this->base = $base;
+ $this->output_dir = $output.'/quickstart';
+
+ if(!is_dir($this->output_dir))
+ {
+ mkdir($this->output_dir);
+ mkdir($this->output_dir.'/assets/');
+ copy(dirname(__FILE__).'/chm_style.css', $this->output_dir.'/assets/chm_style.css');
+ }
+
+ Prado::setPathOfAlias('Output', realpath($this->output_dir));
+ }
+
+ public function buildDoc($pages)
+ {
+ foreach($pages as $section)
+ {
+ foreach($section as $page)
+ {
+ $this->parsePage($page);
+ }
+ }
+ }
+
+ protected function initApp()
+ {
+ $this->app = new TApplication($this->base);
+ $response = new THttpResponse();
+ $response->setBufferOutput(false);
+ $this->app->setResponse($response);
+ $assets = new TAssetManager();
+ $assets->setBasePath('Output.assets.*');
+ $this->app->setAssetManager($assets);
+ }
+
+ public function parsePage($page)
+ {
+ $_GET['page'] = str_replace(array('/','.page'),array('.',''),$page);
+ $_GET['notheme'] = 'true';
+
+ $html = $this->parseHtmlContent($this->getApplicationContent());
+ $file = str_replace(array('/','.page'), array('_','.html'),$page);
+ echo 'writing file '.$file."\n";
+ file_put_contents($this->output_dir.'/'.$file, $html);
+ }
+
+ protected function getApplicationContent()
+ {
+ ob_start();
+ $this->initApp();
+ $this->app->run();
+ $content = ob_get_contents();
+ ob_end_clean();
+ return $content;
+ }
+
+ protected function parseHtmlContent($content)
+ {
+ $html = preg_replace('/<input.*name="PRADO_PAGESTATE" [^>]+\/>/m', '', $content);
+$html = str_replace('<div id="header">
+<div class="title">Prado QuickStart Tutorial</div>
+<div class="image"></div>
+</div>', '', $html);
+$html = preg_replace('/<div id="footer">.*?<\/div>/ms', '<div id="footer">
+Copyright &copy; 2005-2006 <a href="http://www.pradosoft.com">PradoSoft</a>.</div>', $html);
+
+
+ $html = str_replace('</head>', '<link rel="stylesheet" type="text/css" href="'.self::CSS_URL.'" /></head>', $html);
+
+ $html = preg_replace_callback('/(?<!RunButton" )href=".*\?page=([a-zA-Z0-9\.#]+)"/',
+ array($this, 'update_page_url'), $html);
+ $html = preg_replace_callback('/(?<=RunButton" )href=".*\?page=([a-zA-Z0-9\.#]+)"/',
+ array($this, 'update_run_url'), $html);
+
+ $html = preg_replace('/(src|href)="\//', 'src="assets/',$html);
+ $html = str_replace('http://www.pradosoft.com/docs/manual', '../manual/CHMdefaultConverter', $html);
+ $html = str_replace('target="_blank">View Source', '>View Source', $html);
+ $html = preg_replace_callback('/href="\?page=ViewSource&(amp;){0,1}path=([a-zA-z0-9\.\/]+)"/',
+ array($this, 'update_source_url'), $html);
+
+ return $html;
+ }
+
+ protected function update_source_url($matches)
+ {
+ $page = $matches[2];
+ $file = str_replace('/', '_',$page).'.html';
+
+ if(!isset($this->_viewed[$page]))
+ {
+ $this->_viewed[$page]=true;
+ $this->view_source_page($page);
+ }
+ return 'href="'.$file.'"';
+ }
+
+ protected function view_source_page($page)
+ {
+ $_GET['page'] = 'ViewSource';
+ $_GET['path'] = $page;
+ $_GET['lines'] = 'false';
+
+ $html = $this->parseHtmlContent($this->getApplicationContent());
+ $file = str_replace('/', '_',$page).'.html';
+ echo 'writing file '.$file."\n";
+ file_put_contents($this->output_dir.'/'.$file, $html);
+ }
+
+ protected function update_page_url($matches)
+ {
+ $bits = explode('#',str_replace('.','_',$matches[1]));
+ $anchor = isset($bits[1]) ? '#'.$bits[1] : '';
+ return 'href="'.$bits[0].'.html'.$anchor.'"';
+ }
+
+ protected function update_run_url($matches)
+ {
+ return 'href="'.self::DEMO_URL.'?page='.$matches[1].'"';
+ }
+}
+
+class HTMLHelpTOCBuilder
+{
+
+ public function buildToc($file,$output,$classes)
+ {
+ $contents = file_get_contents($file);
+ $content = $this->prepareContent($contents);
+ $ul = $this->parseUl($content);
+ $toc = $this->header();
+ $toc .= $this->to_string($ul);
+ $toc .= $this->footer();
+ $toc = $this->appendApiToc($output,$toc);
+ $toc = $this->appendClassesToc($classes,$toc);
+ file_put_contents($output.'/toc.hhc', $toc);
+ file_put_contents($output.'/prado3_manual.hhp', $this->getHHP());
+ file_put_contents($output.'/manual.html', $this->getIndexPage());
+ $index = $output.'/manual/CHMdefaultConverter/index.hhk';
+ file_put_contents($index, $this->updateIndex($index));
+ }
+
+ protected function updateIndex($file)
+ {
+ $content = file_get_contents($file);
+ return preg_replace('/"Local" value="/', '"Local" value="manual\\CHMdefaultConverter\\', $content);
+ }
+
+ protected function appendClassesToc($classes, $toc)
+ {
+ $version = Prado::getVersion();
+ $ul['classes']['params'][] = array('Name' => "Prado {$version} Class Index");
+ foreach($classes as $class)
+ {
+ $ul['classes']['ul'][0]['params'][] =
+ array('Name'=>$class, 'Local'=>'classdoc/'.$class.'.html');
+ }
+ $ul['wiki']['params'][] = array('Name' => "Prado Wiki", 'Local'=>'wiki\\index.html');
+ $content = $this->to_string($ul);
+ $toc = preg_replace('!(</BODY></HTML>)!', $content.'$1', $toc);
+ return $toc;
+ }
+
+ protected function appendApiToc($output,$toc)
+ {
+ $content = file_get_contents($output.'/manual/CHMdefaultConverter/contents.hhc');
+ $content = preg_replace('/"Local" value="/', '"Local" value="manual\\CHMdefaultConverter\\', $content);
+ $toc = preg_replace('!(API Manual">\s*</OBJECT>)\s*(</UL>\s*</BODY></HTML>)!', '$1'."\n".$content.'$2', $toc);
+ return preg_replace("/\r/","\n",$toc);
+ }
+
+ protected function getIndexPage()
+ {
+ $version = Prado::getVersion();
+ $date = date('d M Y', time());
+ $year = date('Y',time());
+$content = <<<EOD
+<!doctype html public "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <title>Prado Manual</title>
+ <style type="text/css">
+ /*<![CDATA[*/
+ body
+ {
+ font-family: 'Lucida Grande', Verdana, Geneva, Lucida, Helvetica, Arial, sans-serif;
+ font-weight:normal;
+ }
+ h1
+ {
+ color: #600;
+ }
+ /*]]>*/
+ </style>
+</head>
+
+<body style="text-align:center">
+
+<h1>Prado {$version} Manual</h1>
+
+<div>Created On: {$date}</div>
+
+<div style="margin-top:3em;margin-bottom:0.75em"><strong>Written By:</strong> Qiang Xue, Wei Zhuo</div>
+<div style="margin-bottom:3em;"><strong>Edited By:</strong> Wei Zhuo</div>
+
+<div id="footer">
+Copyright &copy; 2005-{$year} <a href="http://www.pradosoft.com">PradoSoft</a>.</div>
+
+</body>
+</html>
+EOD;
+ return $content;
+ }
+
+ protected function getHHP()
+ {
+ $version = Prado::getVersion();
+$content = <<<EOD
+[OPTIONS]
+Binary TOC=Yes
+Compatibility=1.1 or later
+Compiled File=prado3_manual.chm
+Contents File=toc.hhc
+Default Window=main
+Default Topic=manual.html
+Display compile progress=Yes
+Error log file=_errorlog.txt
+Full-text search=Yes
+Language=0x409 English (United States)
+Title=Prado {$version} Manual
+Binary Index=Yes
+Index file=manual\CHMdefaultConverter\index.hhk
+Default Font=
+Auto Index=Yes
+Create CHI file=No
+Full text search stop list file=
+Display compile notes=Yes
+
+[WINDOWS]
+main="Prado {$version} Manual","toc.hhc","manual\CHMdefaultConverter\index.hhk","manual.html","manual.html",,,,,0x63520,250,0x104e,[10,10,900,700],0xb0000,,,,,,0
+
+EOD;
+ return $content;
+ }
+
+ protected function parseUl($content)
+ {
+ $ul = array();
+ $current = null;
+ $ul['index']['params'][] = array('Name'=>'Prado Manual', 'Local'=>'manual.html');
+
+ foreach(explode("\n", $content) as $line)
+ {
+ $line = trim($line);
+ if(strlen($line) > 0)
+ {
+ if(strpos($line,'^')===false)
+ {
+ $current = $line;
+ $ul[$current]['params'][]['Name'] = $current;
+ }
+ else
+ {
+ list($page,$title) = explode('^', $line);
+ $ul[$current]['ul'][0]['params'][] = array('Name'=>$title, 'Local'=>$this->getFileName($page));
+ }
+ }
+ }
+ $version = Prado::getVersion();
+ $ul['api']['params'][] = array('Name' => "Prado {$version} API Manual");
+
+ return $ul;
+ }
+
+ protected function getFileName($page)
+ {
+ return 'quickstart\\'.str_replace('.', '_',$page).'.html';
+ }
+
+ protected function prepareContent($content)
+ {
+ $content = preg_replace('/<\/?div[^>]*>/','', $content);
+ $content = preg_replace('/<\/?ul>|<\/?li>|<\/a>/ms', '', $content);
+ $content = str_replace('<a href="?page=', '', $content);
+ $content = str_replace('">', '^', $content);
+ return $content;
+ }
+
+ public function to_string($ul)
+ {
+ $contents = "<UL>\n";
+ foreach($ul as $li)
+ {
+ if(isset($li['params']))
+ {
+ $contents .= $this->li_to_string($li);
+ }
+ if(isset($li['ul']))
+ {
+ $contents .= $this->to_string($li['ul']);
+ }
+ }
+ $contents .= "</UL>\n";
+ return $contents;
+ }
+
+ protected function li_to_string($li)
+ {
+ $content = '';
+ foreach($li['params'] as $param)
+ {
+ $contents .= "\t<LI>";
+ $contents .= "<OBJECT type=\"text/sitemap\">\n";
+ foreach($param as $name => $value)
+ $contents .= "\t\t\t<param name=\"$name\" value=\"$value\">\n";
+ $contents .= "\t\t</OBJECT>\n";
+ }
+ return $contents;
+ }
+
+ public function header()
+ {
+ $content = <<<EOD
+<HTML>
+<HEAD>
+</HEAD>
+<BODY>
+ <OBJECT type="text/site properties">
+ <param name="Window Styles" value="0x800025">
+ <param name="FrameName" value="right">
+ <param name="ImageType" value="Folder">
+ <param name="comment" value="title:Online Help">
+ <param name="comment" value="base:index.htm">
+ </OBJECT>
+
+EOD;
+ return $content;
+ }
+
+ public function footer()
+ {
+ return '</BODY></HTML>';
+ }
+}
+
+class ClassDocBuilder
+{
+ private $output;
+ private $base;
+
+ function __construct($base, $output)
+ {
+ $this->base = $base;
+ $this->output = $output.'/classdoc';
+ if(!is_dir($this->output))
+ {
+ mkdir($this->output);
+ mkdir($this->output.'/assets/');
+ }
+ Prado::setPathOfAlias('Output', $this->output);
+ }
+
+ protected function initApp()
+ {
+ $this->app = new TApplication($this->base);
+ $response = new THttpResponse();
+ $response->setBufferOutput(false);
+ $this->app->setResponse($response);
+ $assets = new TAssetManager();
+ $assets->setBasePath('Output.assets.*');
+ $this->app->setAssetManager($assets);
+ }
+
+ public function buildDoc($class)
+ {
+ $this->parsePage($class);
+ }
+
+ public function parseBasePage()
+ {
+ $_GET['page'] = 'Classes';
+
+ $html = $this->parseHtmlContent($this->getApplicationContent());
+ $file = 'Classes.html';
+ echo 'writing file '.$file."\n";
+ file_put_contents($this->output.'/'.$file, $html);
+ }
+
+ public function parsePage($class)
+ {
+ $_GET['page'] = 'ClassDoc';
+ $_GET['class'] = $class;
+
+ $html = $this->parseHtmlContent($this->getApplicationContent());
+ $file = $class.'.html';
+ echo 'writing file '.$file."\n";
+ file_put_contents($this->output.'/'.$file, $html);
+ }
+
+ protected function getApplicationContent()
+ {
+ ob_start();
+ $this->initApp();
+ $this->app->run();
+ $content = ob_get_contents();
+ ob_end_clean();
+ $this->app->completeRequest();
+ $this->app=null;
+ return $content;
+ }
+
+ protected function parseHtmlContent($content)
+ {
+ $html = preg_replace('/<input.*name="PRADO_PAGESTATE" [^>]+\/>/m', '', $content);
+ $html = preg_replace('!href="/(\w+)/style.css"!', 'href="assets/$1/style.css"', $html);
+ return $html;
+ }
+}
+
+
+?> \ No newline at end of file
diff --git a/buildscripts/chmbuilder/build.php b/buildscripts/chmbuilder/build.php
new file mode 100644
index 00000000..6c352964
--- /dev/null
+++ b/buildscripts/chmbuilder/build.php
@@ -0,0 +1,80 @@
+<?php
+
+$ROOT = dirname(__FILE__);
+
+//page root location
+$base = realpath($ROOT.'/../../demos/quickstart/protected/');
+$output_dir = realpath($ROOT.'/../../build/docs');
+$classData = realpath($ROOT.'/../classtree/classes.data');
+$classDocBase = realpath($ROOT.'/classes/');
+
+//-------------- END CONFIG ------------------
+
+if(!isset($isChild))
+ $isChild = false;
+
+$toc_file = $base.'/controls/TopicList.tpl';
+
+$pages = include($ROOT.'/../texbuilder/pages.php');
+
+include($ROOT.'/ChmQuickstartBuilder.php');
+include($ROOT.'/../../framework/PradoBase.php');
+class Prado extends PradoBase
+{
+ protected static $app;
+
+ public static function setApplication($application)
+ {
+ self::$app=$application;
+ }
+
+ public static function getApplication()
+ {
+ return self::$app;
+ }
+
+ public static function setPathOfAlias($alias,$path)
+ {
+ $aliases = self::getPathAliases();
+ if(!isset($aliases[$alias]))
+ parent::setPathOfAlias($alias,$path);
+ }
+}
+
+include($ROOT.'/../../framework/prado.php');
+
+if($isChild)
+{
+ $classBuilder = new ClassDocBuilder($classDocBase,$output_dir);
+ $classBuilder->buildDoc($argv[1]);
+}
+else
+{
+ $pages['Control Reference : Standard Controls'][] = 'Controls/Standard.page';
+
+
+ $quickstart= new ChmQuickstartBuilder($base,$output_dir);
+ $quickstart->buildDoc($pages);
+
+ //move class data to protected data directory for prado app.
+ $classFile = $ROOT.'/classes/Data/classes.data';
+ if(is_file($classData) && !is_file($classFile))
+ copy($classData, $classFile);
+ $classes = unserialize(file_get_contents($classFile));
+
+ $classBuilder = new ClassDocBuilder($classDocBase,$output_dir);
+
+ //use child process to build doc, otherwise it consumes too much memory
+ $child_builder = realpath($ROOT.'/build_child.php');
+ foreach($classes as $class =>$data)
+ {
+ passthru('php '.$child_builder.' '.$class);
+ }
+
+ $classBuilder->parseBasePage();
+
+ $toc = new HTMLHelpTOCBuilder();
+ $toc->buildToc($toc_file,$output_dir,array_keys($classes));
+}
+
+?> \ No newline at end of file
diff --git a/buildscripts/chmbuilder/build_child.php b/buildscripts/chmbuilder/build_child.php
new file mode 100644
index 00000000..91662373
--- /dev/null
+++ b/buildscripts/chmbuilder/build_child.php
@@ -0,0 +1,7 @@
+<?php
+
+$isChild = true;
+
+include(dirname(__FILE__).'/build.php');
+
+?> \ No newline at end of file
diff --git a/buildscripts/chmbuilder/chm_style.css b/buildscripts/chmbuilder/chm_style.css
new file mode 100644
index 00000000..344d3176
--- /dev/null
+++ b/buildscripts/chmbuilder/chm_style.css
@@ -0,0 +1,629 @@
+body {
+ font-family: 'Lucida Grande', Verdana, Geneva, Lucida, Helvetica, Arial, sans-serif;
+ font-weight:normal;
+ font-size:10pt;
+ color:black;
+}
+
+h1, h2, h3, h4
+{
+ color: #333;
+}
+
+h1, h2
+{
+ padding-bottom: 3px;
+ border-bottom: 1px solid #ccc;
+}
+
+h1 {
+ font-size:13pt;
+}
+
+h2 {
+ font-size:12pt;
+}
+
+h3 {
+ font-size:10pt;
+ font-weight:bold;
+}
+
+a
+{
+ color: #cc3333;
+}
+
+
+#content {
+ background:#fff;
+ padding: 1em 1em 1em 1em;
+ line-height: 135%;
+}
+
+#footer {
+ clear:both;
+ color: gray;
+ font-size:8pt;
+ text-align:center;
+ margin-top:25px;
+ padding:10px;
+}
+
+.topic {
+ font-size: 9pt;
+ padding: 0px 0px 0px 0px;
+}
+
+.topic div {
+ background-repeat: no-repeat;
+ background-position: left center;
+ margin: 0px;
+ font-size: 8pt;
+ font-weight:bold;
+ color:#2A480A;
+ padding: 5px;
+ padding-left: 15px;
+ border-top: 1px solid #fff;
+ border-bottom: 1px solid #E2E2E2;
+}
+
+.topic ul
+{
+ margin: 0px;
+ padding: 0px;
+}
+
+.topic ul li
+{
+ list-style: none;
+ margin: 0px;
+ padding: 5px;
+ padding-left: 15px;
+ border-bottom: 1px dotted #D8D8D8;
+}
+
+.topic a {
+ color:#4F811A;
+ font-size: 8pt;
+ text-decoration: none;
+}
+
+.topic a:hover {
+ color:#2A480A;
+}
+
+.source {
+ padding: 0.5em;
+ border-style:solid;
+ border-width:1px;
+ border-color:#eeeeee;
+ background-color:#ffffee;
+ font-family: "Courier New", Courier, mono;
+ margin: 0.2em;
+}
+
+.source pre {
+ font-family: "Courier New", Courier, mono;
+ margin: 0;
+}
+
+.runbar
+{
+ margin: 1em 0 1em 0;
+}
+
+.runbar a:link, .runbar a:visited {
+ background-color:#E2E2E2;
+ font-size: 12px;
+ font-weight: normal;
+ padding: 3px;
+ padding-left: 6px;
+ padding-right: 6px;
+ border-top: 1px solid white;
+ border-left: 1px solid white;
+ border-bottom: 1px solid #aaaaaa;
+ border-right: 1px solid #aaaaaa;
+ text-decoration: none;
+}
+
+.runbar a:link.active, .runbar a:visited.active, .runbar a:hover {
+ background-color:#E2E2E2;
+ font-size: 12px;
+ font-weight: normal;
+ padding: 3px;
+ padding-left: 6px;
+ padding-right: 6px;
+ border-top: 1px solid #aaaaaa;
+ border-left: 1px solid #aaaaaa;
+ border-bottom: 1px solid white;
+ border-right: 1px solid white;
+}
+
+#sourceList {
+ background-color:#E2E2E2;
+ margin:10px 10px 0px 10px;
+ padding:10px;
+ border:1px solid silver;
+}
+
+#sourceView {
+ font-family: "Courier New", Courier, mono;
+ background-color:#ffffee;
+ margin:5px 10px 10px 10px;
+ border:1px solid silver;
+}
+
+code {
+ font-family: "Courier New", Courier, mono;
+}
+
+tt {
+ font-family: "Courier New", Courier, mono;
+ border-bottom: 1px dotted silver;
+}
+
+.sampleheader {
+ font-size:30px;
+ font-weight:bold;
+ text-align: right;
+ color: #666;
+ height:100px;
+}
+
+.sampleheader div.title
+{
+ display: none;
+}
+
+.sampleheader div.image
+{
+ display: block;
+ float: right;
+ width: 900px;
+ height: 100px;
+}
+
+.samplemenu
+{
+ padding:10px;
+ padding-right:10px;
+ background:#EDEDED;
+ border-bottom: 1px solid #A6A6A6;
+ border-top: 1px solid #DCDCDC;
+ text-align:right;
+ font-size: 9pt;
+}
+
+.samplemenu a {
+ color:#737373;
+ text-decoration:none;
+}
+
+.samplemenu a:hover {
+ color: #FF0000;
+}
+
+.sampleheader a {
+ font-size:30px;
+ font-weight:bold;
+ color: #666;
+ text-decoration: none;
+}
+
+.samplepanel {
+ margin: 0px;
+ border: 1px solid silver;
+ padding: 10px;
+ margin-bottom:10px;
+}
+
+.sampletitle {
+ width: 100%;
+ border-bottom:1px solid silver;
+ font-weight:bold;
+ margin-bottom:5px;
+}
+
+.sampletable {
+ width: 100%;
+ border-collapse: collapse;
+}
+
+td.samplenote {
+ width: 300px;
+ text-align: right;
+ background: #BFE4FF;
+ border: 1px solid silver;
+ padding: 5px;
+ vertical-align: top;
+}
+
+td.sampleaction {
+ background: #ffffee;
+ border: 1px solid silver;
+ padding: 5px;
+ vertical-align: top;
+}
+
+
+dl
+{
+ margin: 0 2em;
+}
+
+dt
+{
+ font-weight: bold;
+ margin-bottom: 0.15em;
+}
+
+dd
+{
+ margin-left: 2em;
+ margin-bottom: 0.75em;
+}
+
+.quicksearch .search .searchBox
+{
+ width: 25em;
+}
+
+.quicksearch .search
+{
+ text-align: center;
+ padding: 2em;
+}
+
+.searchItem
+{
+ margin-top: 20px;
+ margin-left: 20px;
+ margin-right: 20px;
+}
+
+.searchItemBody
+{
+ margin-top: 0em;
+ font-size: 0.9em;
+}
+
+.searchItemLink
+{
+ font-size: 1.05em;
+}
+
+.searchterm
+{
+ font-weight: bold;
+}
+
+.searchAPIItem
+{
+ margin-top: 5px;
+ margin-left: 20px;
+ margin-right: 20px;
+}
+
+.searchHeader, .emptyResult
+{
+ margin-top: 30px;
+}
+
+.empty_search_result
+{
+ text-align: center;
+ margin: 30px;
+}
+
+/** Comments **/
+#comments
+{
+ margin: 10px;
+}
+
+.comment_header
+{
+ border-bottom: 1px solid silver;
+}
+
+.comment_item
+{
+ padding: 10px;
+ border: 1px solid silver;
+ margin: 0 10px 10px 10px;
+}
+
+.comment_item .number
+{
+ float: right;
+ font-size: 1.5em;
+ font-weight: bold;
+ color: silver;
+}
+
+.comment_item1
+{
+ background-color: #EDEDED;
+}
+
+.comment_item .email
+{
+ font-weight: bold;
+ display: block;
+}
+
+.comment_item .date
+{
+ font-size: 0.85em;
+ display: block;
+ border-bottom: 1px dotted silver;
+}
+
+.comment_item .comment
+{
+ padding: 10px;
+}
+
+.add_comments
+{
+ margin-top: 2em;
+}
+
+.add_comments .comment_email
+{
+ margin-bottom: 5px;
+}
+
+.add_comments .comment_email input
+{
+ width: 25em;
+}
+
+.add_comments .comment_content textarea
+{
+ width: 75%;
+ height: 200px;
+ padding: 5px;
+}
+
+.add_comments .comment_email label, .add_comments .comment_content label
+{
+ width: 8em;
+ float: left;
+ text-align: right;
+ padding-right: 5px;
+}
+
+.add_comments .add_comment
+{
+ padding-left: 8.2em;
+ padding-top: 0.5em;
+}
+
+.add_comments .please_add
+{
+ padding-left: 8.2em;
+}
+
+.add_comments h3, .comment_added h3
+{
+ border-bottom: 1px solid silver;
+}
+
+.comment_preview
+{
+ margin: 10px;
+ padding: 10px;
+ border: 1px solid silver;
+}
+
+.comment_preview .comment
+{
+ padding: 10px;
+}
+
+.comment_added
+{
+ margin-top: 3em;
+ border-top: 1px dotted silver;
+ padding: 10px;
+}
+
+.comment_added .comment
+{
+ padding: 10px;
+ margin-top: 10px;
+}
+
+.comment_added .thank
+{
+ background-color: #ffffcc;
+ padding: 20px;
+}
+
+pre code
+{
+ display: block;
+ padding: 0.5em;
+ border-style:solid;
+ border-width:1px;
+ border-color:#eeeeee;
+ background-color:#ffffee;
+ font-family: "Courier New", Courier, mono;
+ margin: 0.2em;
+}
+
+div.tip, div.info, div.note
+{
+ border:1px solid #0cf;
+ padding:1em;
+ margin: 1em 2em;
+ background-color: #eff;
+}
+
+div.info
+{
+ border-color: #32CD32;
+ background-color: #EBFFCE;
+}
+
+div.note
+{
+ border-color: Orange;
+ background-color: #FFF5E1;
+}
+
+div b.tip
+{
+ font-size: 1em;
+ padding-right: 0.5em;
+}
+
+img.figure
+{
+ display: block;
+ margin: 1em auto;
+ background-color: White;
+ padding: 15px;
+ border: 1px solid #eee;
+}
+
+div.caption
+{
+ text-align: center;
+}
+
+table.tabular, table.tabular td, table.tabular th
+{
+ border: 1px solid #ccc;
+ border-collapse: collapse;
+ padding: 0.3em;
+}
+
+table.tabular
+{
+ margin: 1em auto;
+ width: 80%;
+}
+
+table.tabular td
+{
+ padding: 0.75em;
+}
+
+
+/** highlight */
+.php .de1, .php .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
+.php .imp {font-weight: bold; color: red;}
+.php li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
+.php .kw1 {color: #b1b100;}
+.php .kw2 {color: #000000; font-weight: bold;}
+.php .kw3 {color: #000066;}
+.php .co1 {color: #808080; font-style: italic;}
+.php .co2 {color: #808080; font-style: italic;}
+.php .coMULTI {color: #808080; font-style: italic;}
+.php .es0 {color: #000099; font-weight: bold;}
+.php .br0 {color: #66cc66;}
+.php .st0 {color: #ff0000;}
+.php .nu0 {color: #cc66cc;}
+.php .me1 {color: #006600;}
+.php .me2 {color: #006600;}
+.php .re0 {color: #0000ff;}
+
+.xml .de1, .xml .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
+.xml .imp {font-weight: bold; color: red;}
+.xml li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
+.xml .coMULTI {color: #808080; font-style: italic;}
+.xml .es0 {color: #000099; font-weight: bold;}
+.xml .br0 {color: #66cc66;}
+.xml .st0 {color: #ff0000;}
+.xml .nu0 {color: #cc66cc;}
+.xml .sc0 {color: #00bbdd;}
+.xml .sc1 {color: #ddbb00;}
+.xml .sc2 {color: #339933;}
+.xml .sc3 {color: #009900;}
+.xml .re0 {color: #000066;}
+.xml .re1 {font-weight: bold; color: black;}
+.xml .re2 {font-weight: bold; color: black;}
+
+
+.prado .de1, .prado .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
+.prado .imp {font-weight: bold; color: red;}
+.prado li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
+.prado .coMULTI {color: #808080; font-style: italic;}
+.prado .es0 {color: #000099; font-weight: bold;}
+.prado .br0 {color: #66cc66;}
+.prado .st0 {color: #ff0000;}
+.prado .nu0 {color: #cc66cc;}
+.prado .sc0 {color: #00bbdd;}
+.prado .sc1 {color: #ddbb00;}
+.prado .sc2 {color: #339933;}
+.prado .sc3 {color: #009900;}
+.prado .re0 {color: #006; font-weight: bold; } /* prado com:ComponentName tags */
+.prado .re0 a.api { color: #006; text-decoration: none; border-bottom: 1px dotted #33f; }
+.prado .re1 {color: #006; font-weight: bold; } /* prado </com:TComponentName> tags */
+.prado .re2 {color: #c66; font-weight: bold; } /* prado </com:TComponentName> tags */
+
+
+.html .de1, .html .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
+.html .imp {font-weight: bold; color: red;}
+.html li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
+.html .kw1 {color: #b1b100;}
+.html .kw2 {color: #000000; font-weight: bold;}
+.html .kw3 {color: #000066;}
+.html .coMULTI {color: #808080; font-style: italic;}
+.html .es0 {color: #000099; font-weight: bold;}
+.html .br0 {color: #66cc66;}
+.html .st0 {color: #ff0000;}
+.html .nu0 {color: #cc66cc;}
+.html .sc0 {color: #00bbdd;}
+.html .sc1 {color: #ddbb00;}
+.html .sc2 {color: #009900;}
+
+.css .de1, .css .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
+.css .imp {font-weight: bold; color: red;}
+.css li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
+.css .kw1 {color: #000000; font-weight: bold;}
+.css .kw2 {color: #993333;}
+.css .co1 {color: #a1a100;}
+.css .coMULTI {color: #808080; font-style: italic;}
+.css .es0 {color: #000099; font-weight: bold;}
+.css .br0 {color: #66cc66;}
+.css .st0 {color: #ff0000;}
+.css .nu0 {color: #cc66cc;}
+.css .re0 {color: #cc00cc;}
+.css .re1 {color: #6666ff;}
+.css .re2 {color: #3333ff;}
+
+.javascript .de1, .javascript .de2 {font-family: 'Courier New', Courier, monospace; font-weight: normal;}
+.javascript .imp {font-weight: bold; color: red;}
+.javascript li {font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;}
+.javascript .kw1 {color: #000066; font-weight: bold;}
+.javascript .kw2 {color: #003366; font-weight: bold;}
+.javascript .kw3 {color: #000066;}
+.javascript .co1 {color: #009900; font-style: italic;}
+.javascript .coMULTI {color: #009900; font-style: italic;}
+.javascript .es0 {color: #000099; font-weight: bold;}
+.javascript .br0 {color: #66cc66;}
+.javascript .st0 {color: #3366CC;}
+.javascript .nu0 {color: #CC0000;}
+.javascript .me1 {color: #006600;}
+.javascript .re0 {color: #0066FF;}
+
+.source .copycode
+{
+ text-align: right;
+ float: right;
+}
+
+.source .copycode a
+{
+ cursor: pointer;
+ color: blue;
+}
+
+.source .copycode_hover a
+{
+ color: red;
+}
diff --git a/buildscripts/chmbuilder/classes/application.xml b/buildscripts/chmbuilder/classes/application.xml
new file mode 100644
index 00000000..13533b0c
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/application.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<application mode="Normal">
+ <paths>
+ <using namespace="Application.pages.*" />
+ </paths>
+ <services>
+ <service id="page" class="TPageService" BasePath="Application.pages">
+ <pages MasterClass="MainLayout" />
+ </service>
+ </services>
+</application>
diff --git a/buildscripts/chmbuilder/classes/pages/ClassDoc.page b/buildscripts/chmbuilder/classes/pages/ClassDoc.page
new file mode 100644
index 00000000..ef941c5b
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/pages/ClassDoc.page
@@ -0,0 +1,30 @@
+<%@ Title="PRADO - Documentation" %>
+
+<com:TContent ID="main">
+
+<div class="doc-namespace">
+Namespace: <a href="../manual/CHMdefaultConverter/li_<%= $this->Class['Package'] %>.html"><%= $this->Class['Package'] %></a>
+</div>
+<%= $this->Ancestors %>
+
+<div class="doc-title">
+<a href="../manual/CHMdefaultConverter/<%= $this->Class['Package'].'/'.$this->Class['Name'] %>.html"><%= $this->Class['Name'] %></a>
+</div>
+
+<div class="doc-menu">
+<a href="#properties">Properties</a> | <a href="#events">Events</a> | <a href="#methods">Methods</a> | <a href="#child">Derived classes</a> | <a href="Classes.html">All classes</a>
+</div>
+
+<div class="doc-subtitle"><a name="properties"></a>Properties</div>
+<%= $this->Properties %>
+
+<div class="doc-subtitle"><a name="events"></a>Events</div>
+<%= $this->Events %>
+
+<div class="doc-subtitle"><a name="methods"></a>Methods</div>
+<%= $this->Methods %>
+
+<div class="doc-subtitle"><a name="child"></a>Derived classes</div>
+<%= $this->Derived %>
+
+</com:TContent>
diff --git a/buildscripts/chmbuilder/classes/pages/ClassDoc.php b/buildscripts/chmbuilder/classes/pages/ClassDoc.php
new file mode 100644
index 00000000..733cfc5b
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/pages/ClassDoc.php
@@ -0,0 +1,228 @@
+<?php
+
+class ClassDoc extends TPage
+{
+ public $Class;
+ private $_classes;
+
+ public function onLoad($param)
+ {
+ parent::onLoad($param);
+ $dataFile=Prado::getPathOfNamespace('Application.Data.classes','.data');
+ $this->_classes=unserialize(file_get_contents($dataFile));
+
+ if(($className=$this->Request['class'])!==null && isset($this->_classes[$className]))
+ {
+ $this->Class=$this->_classes[$className];
+ $this->Class['Name']=$className;
+ $this->Title='PRADO - Documentation of '.$className;
+ }
+ else
+ $this->Response->redirect('/docs/classdoc/');
+ }
+
+ public function getAncestors()
+ {
+ $ancestors=array();
+ $thisClass=$this->Class;
+ while(true)
+ {
+ $parentClass=$thisClass['ParentClass'];
+ if(isset($this->_classes[$parentClass]))
+ {
+ $ancestors[]=$parentClass;
+ $thisClass=$this->_classes[$parentClass];
+ }
+ else
+ break;
+ }
+ $ancestors=array_reverse($ancestors);
+ $s='';
+ foreach($ancestors as $ancestor)
+ $s.="<a href=\"$ancestor.html\">$ancestor</a> &raquo;\n";
+ if($s!=='')
+ $s="<div class=\"doc-ancestors\">\nInheritance: $s</div>\n";
+ return $s;
+ }
+
+ public function getProperties()
+ {
+ $class=$this->Class;
+ $className=$this->Class['Name'];
+ $s='';
+ foreach($class['Properties'] as $name=>$property)
+ {
+ $inherited=strcasecmp($property['class'],$className)!==0;
+ $rowclass=$inherited?'doc-inherited':'doc-native';
+ $s.="<tr class=\"$rowclass\">\n";
+ $access='';
+ if($property['readonly'])
+ $access.='R';
+ if($property['protected'])
+ $access.='P';
+ if($access==='')
+ $access='&nbsp;';
+ $s.="<td width=\"1\" nowrap=\"nowrap\" align=\"center\">$access</td>\n";
+
+ if($inherited)
+ {
+ $parentClass=$property['class'];
+ if(isset($this->_classes[$parentClass]))
+ {
+ $url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#methodget{$name}";
+ $s.="<td><a href=\"$url\">$name</a></td>\n";
+ }
+ else
+ $s.="<td>$name</td>\n";
+ }
+ else
+ {
+ $url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#methodget{$name}";
+ $s.="<td><a href=\"$url\">$name</a></td>\n";
+ }
+
+ $type=$property['type'];
+ if(isset($this->_classes[$type]))
+ {
+ $url="$type.html";
+ $s.="<td><a href=\"$url\">$type</a></td>\n";
+ }
+ else
+ $s.="<td>$type</td>\n";
+
+ $comments=rtrim($property['comments'],'.').'.';
+ if($inherited)
+ {
+ $parentClass=$property['class'];
+ if(isset($this->_classes[$parentClass]))
+ {
+ $url="$parentClass.html";
+ $comments.=" (inherited from <a href=\"$url\">$parentClass</a>)";
+ }
+ else
+ $comments.=" (inherited from {$parentClass})";
+ }
+ $s.="<td>$comments</td>\n";
+ $s.="</tr>\n";
+ }
+
+ $header="<tr>\n<th>&nbsp;</th><th>Name</th><th>Type</th><th>Description</th>\n</tr>\n";
+ return $s===''?'':"<div class=\"doc-properties\">\n<table>\n$header$s</table>\n</div>\n";
+ }
+
+ public function getEvents()
+ {
+ $class=$this->Class;
+ $className=$this->Class['Name'];
+ $s='';
+ foreach($class['Events'] as $name=>$event)
+ {
+ $inherited=strcasecmp($event['class'],$className)!==0;
+ $rowclass=$inherited?'doc-inherited':'doc-native';
+ $s.="<tr class=\"$rowclass\">\n";
+
+ $methodName=$name;
+ $methodName[0]='o';
+ if($inherited)
+ {
+ $parentClass=$event['class'];
+ if(isset($this->_classes[$parentClass]))
+ {
+ $url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#method{$methodName}";
+ $s.="<td><a href=\"$url\">$name</a></td>\n";
+ }
+ else
+ $s.="<td>$name</td>\n";
+ }
+ else
+ {
+ $url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#method{$methodName}";
+ $s.="<td><a href=\"$url\">$name</a></td>\n";
+ }
+
+ $comments=rtrim($event['comments'],'.').'.';
+ if($inherited)
+ {
+ $parentClass=$event['class'];
+ if(isset($this->_classes[$parentClass]))
+ {
+ $url="$parentClass.html";
+ $comments.=" (inherited from <a href=\"$url\">$parentClass</a>)";
+ }
+ else
+ $comments.=" (inherited from {$parentClass})";
+ }
+ $s.="<td>$comments</td>\n";
+ $s.="</tr>\n";
+ }
+ $header="<tr>\n<th>Name</th><th>Description</th>\n</tr>\n";
+ return $s===''?'':"<div class=\"doc-events\">\n<table>\n$header$s</table>\n</div>\n";
+ }
+
+ public function getMethods()
+ {
+ $class=$this->Class;
+ $className=$this->Class['Name'];
+ $s='';
+ foreach($class['Methods'] as $name=>$method)
+ {
+ $inherited=strcasecmp($method['class'],$className)!==0;
+ $rowclass=$inherited?'doc-inherited':'doc-native';
+ $s.="<tr class=\"$rowclass\">\n";
+ $access='';
+ if($method['static'])
+ $access.='S';
+ if($method['protected'])
+ $access.='P';
+ if($access==='')
+ $access='&nbsp;';
+ $s.="<td nowrap=\"nowrap\" width=\"1\" align=\"center\">$access</td>\n";
+
+ if($inherited)
+ {
+ $parentClass=$method['class'];
+ if(isset($this->_classes[$parentClass]))
+ {
+ $url="../manual/CHMdefaultConverter/{$this->_classes[$parentClass]['Package']}/{$parentClass}.html#method{$name}";
+ $s.="<td><a href=\"$url\">$name</a></td>\n";
+ }
+ else
+ $s.="<td>$name</td>\n";
+ }
+ else
+ {
+ $url="../manual/CHMdefaultConverter/{$class['Package']}/{$className}.html#method{$name}";
+ $s.="<td><a href=\"$url\">$name</a></td>\n";
+ }
+
+ $comments=rtrim($method['comments'],'.').'.';
+ if($inherited)
+ {
+ $parentClass=$method['class'];
+ if(isset($this->_classes[$parentClass]))
+ {
+ $url="$parentClass.html";
+ $comments.=" (inherited from <a href=\"$url\">$parentClass</a>)";
+ }
+ else
+ $comments.=" (inherited from {$parentClass})";
+ }
+ $s.="<td>$comments</td>\n";
+ $s.="</tr>\n";
+ }
+ $header="<tr>\n<th>&nbsp;</th><th>Name</th><th>Description</th>\n</tr>\n";
+ return $s===''?'':"<div class=\"doc-methods\">\n<table>\n$header$s</table>\n</div>\n";
+ }
+
+ public function getDerived()
+ {
+ $class=$this->Class;
+ $s='';
+ foreach($class['ChildClasses'] as $childName)
+ $s.="<li><a href=\"$childName.html\">$childName</a></li>\n";
+ return $s===''?'':"<div class=\"doc-derived\">\n<ul>\n$s</ul>\n</div>\n";
+ }
+
+}
+
+?>
diff --git a/buildscripts/chmbuilder/classes/pages/Classes.page b/buildscripts/chmbuilder/classes/pages/Classes.page
new file mode 100644
index 00000000..dd8f3440
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/pages/Classes.page
@@ -0,0 +1,9 @@
+<%@ Title="PRADO - Class Documentation" %>
+
+<com:TContent ID="main">
+
+<h2>PRADO Framework Classes</h2>
+
+<com:TBulletedList ID="ClassList" DisplayMode="HyperLink" />
+
+</com:TContent>
diff --git a/buildscripts/chmbuilder/classes/pages/Classes.php b/buildscripts/chmbuilder/classes/pages/Classes.php
new file mode 100644
index 00000000..ee2672b4
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/pages/Classes.php
@@ -0,0 +1,19 @@
+<?php
+
+class Classes extends TPage
+{
+ public function onLoad($param)
+ {
+ parent::onLoad($param);
+ $dataFile=Prado::getPathOfNamespace('Application.Data.classes','.data');
+ $classes=unserialize(file_get_contents($dataFile));
+ $data=array();
+ $baseUrl=$this->Request->ApplicationUrl;
+ foreach(array_keys($classes) as $className)
+ $data["$className.html"]=$className;
+ $this->ClassList->DataSource=$data;
+ $this->ClassList->dataBind();
+ }
+}
+
+?>
diff --git a/buildscripts/chmbuilder/classes/pages/MainLayout.php b/buildscripts/chmbuilder/classes/pages/MainLayout.php
new file mode 100644
index 00000000..e536e71d
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/pages/MainLayout.php
@@ -0,0 +1,8 @@
+<?php
+
+class MainLayout extends TTemplateControl
+{
+
+}
+
+?> \ No newline at end of file
diff --git a/buildscripts/chmbuilder/classes/pages/MainLayout.tpl b/buildscripts/chmbuilder/classes/pages/MainLayout.tpl
new file mode 100644
index 00000000..47fcfc85
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/pages/MainLayout.tpl
@@ -0,0 +1,33 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or
+g/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" >
+
+<com:THead Title="PRADO PHP Framework">
+<meta name="Keywords" content="PHP framework" />
+<meta name="Description" content="PRADO is a component-based and event-driven framework for Web application development in PHP 5." />
+<meta name="Author" content="Qiang Xue" />
+<meta name="Subject" content="PHP framework, Web programming" />
+<com:TStyleSheet StyleSheetUrl=<%~ style.css %> />
+</com:THead>
+
+<body>
+
+<com:TForm>
+<div id="page">
+
+<div id="main">
+<com:TContentPlaceHolder ID="main" />
+<div style="clear: both;"></div>
+</div>
+
+</com:TForm>
+
+<div id="footer">
+ Copyright &copy; 2006 by the PRADO Group.<br/>
+</div>
+
+</div>
+
+</body>
+</html>
diff --git a/buildscripts/chmbuilder/classes/pages/style.css b/buildscripts/chmbuilder/classes/pages/style.css
new file mode 100644
index 00000000..64f6a892
--- /dev/null
+++ b/buildscripts/chmbuilder/classes/pages/style.css
@@ -0,0 +1,647 @@
+/**
+ * PradoSoft profile by Carl G. Mathisen and Stefan A. Petrov
+ * http://decart.no
+ */
+
+body
+{
+ text-align: center;
+}
+
+body, div, span, p, input
+{
+ font-family: Verdana, sans-serif, Arial;
+ font-size: 10pt;
+ color: #333333;
+}
+
+h1, h2, h3, h4
+{
+ font-family: Verdana, Helvetica, Arial, Lucida Grande, Trebuchet MS;
+ padding: 0px;
+ margin: 0px;
+ margin-bottom: 10px;
+ color: #821B18;
+ font-weight: normal;
+}
+
+h2
+{
+ font-size: 18px;
+}
+
+h3
+{
+ font-size: 16px;
+}
+
+div
+{
+ text-align: left;
+}
+
+.instructions
+{
+ background-color: #EEEEEE;
+}
+
+img
+{
+ border: none;
+}
+
+a
+{
+ color: #CD2C27;
+ text-decoration: none;
+}
+
+a:hover
+{
+ color: #821B18;
+ text-decoration: underline;
+}
+
+#page
+{
+ margin: 0 auto;
+ padding: 0;
+}
+
+#header
+{
+ position: relative;
+ height: 98px;
+}
+
+#logo
+{
+ height: 99px;
+}
+
+#mainmenu
+{
+ position: absolute;
+ top: 69px;
+}
+
+#mainmenu ul
+{
+ margin-left: 0;
+ padding-left: 0;
+ display: inline;
+}
+
+#mainmenu ul li
+{
+ margin-left: 0px;
+ list-style: none;
+ display: inline;
+}
+
+#mainmenu ul li a
+{
+ display: block;
+ float: left;
+ font-size: 14px;
+ font-weight: bold;
+ padding-left: 7px;
+ padding-right: 7px;
+ padding-top: 5px;
+ color: #FFFFCC;
+ text-decoration: none;
+ height: 29px;
+}
+
+#mainmenu ul li a:hover
+{
+ color: #fff;
+}
+
+#mainmenu ul li a.active
+{
+ color: #91A412;
+}
+
+/* main page */
+
+div.intro
+{
+}
+
+div.statements
+{
+}
+
+div.statements div
+{
+ position: absolute;
+ width: 250px;
+ top: 20px;
+}
+
+div.statements div p
+{
+ font-size: 13px;
+ color: #818181;
+}
+
+div.statements div.whatis
+{
+ left: 20px;
+}
+
+div.statements div.whatreq
+{
+ left: 290px;
+}
+
+div.statements div.cani
+{
+ left: 600px;
+ width: 210px;
+}
+
+/* navbar */
+#navbar
+{
+ border-bottom: 2px solid #E9EEEF;
+ height: 30px;
+ margin-bottom: 20px;
+}
+
+#navbar ul
+{
+ margin-left: 0;
+ padding-left: 0;
+ display: inline;
+}
+
+#navbar ul li
+{
+ margin-left: 0px;
+ list-style: none;
+ display: inline;
+}
+
+#navbar ul li a
+{
+ display: block;
+ float: left;
+ font-size: 14px;
+ font-weight: bold;
+ padding-right: 14px;
+ padding-top: 5px;
+ color: #CD2B26;
+ text-decoration: none;
+ height: 29px;
+}
+
+#navbar ul li a.active, #navbar ul li a.hover
+{
+ color: #821B18;
+}
+
+/* infobar */
+div#infobar
+{
+ float: right;
+ width: 200px;
+ padding-left: 20px;
+ border-left: 2px solid #E9EEEF;
+}
+
+div#infobar div
+{
+ margin-bottom: 20px;
+}
+
+div#infobar div#featured img
+{
+ margin-top: 10px;
+}
+
+/* articles */
+
+div#articles
+{
+ width: 560px;
+ float: left;
+}
+
+/* article */
+
+div.article
+{
+ margin-bottom: 40px;
+}
+
+div.article .date
+{
+ color: #9F9291;
+}
+
+div.article .more
+{
+ margin-right: 10px;
+ display: block;
+ text-align: right;
+}
+
+.logo
+{
+ position: absolute;
+ margin-left: 15px;
+ margin-top: 0px;
+ z-index: 1;
+}
+
+#main
+{
+ padding: 20px;
+ padding-top: 20px;
+ background-color: #fff;
+}
+
+div.mantis
+{
+ height: 190px;
+ background-color: #fff;
+ border-bottom: 1px solid #DCDCDC;
+}
+
+div.releases
+{
+ float: left;
+ width: 240px;
+ height: 190px;
+}
+
+div.releases div.official
+{
+ width: 190px;
+ position: relative;
+ left: 52px;
+ top: 128px;
+ font-size: 8pt;
+ color: #6D6D6D;
+}
+
+div.releases div.official a
+{
+ display: block;
+}
+
+div.whyprado
+{
+ display: block;
+ float: left;
+}
+
+div.whyprado ul.list
+{
+ margin-top: 40px;
+ margin-left: 40px;
+}
+
+div.whyprado ul.list li
+{
+ display: block;
+ margin: 5px;
+ padding: 0px;
+ font-size: 18px;
+ background-repeat: no-repeat;
+ background-position: bottom left;
+ padding-left: 30px;
+ list-style: none;
+}
+
+div.whyprado ul.list li.one
+{
+}
+
+div.whyprado ul.list li.two
+{
+}
+
+div.whyprado ul.list li.three
+{
+}
+
+div.whyprado ul.list li a
+{
+ color: #9F9291;
+ text-decoration: none;
+}
+
+#footer
+{
+ border-top: 1px solid #e9eeef;
+ background-color: #fff;
+ clear: both;
+ color: #A7A7A7;
+ font-size: 8pt;
+ text-align: center;
+ padding-top: 10px;
+ padding-bottom: 30px;
+}
+
+#features
+{
+ margin-left: 610px;
+ padding: 10px;
+ padding-left: 10px;
+ padding-right: 10px;
+ background-color: #BEDD75;
+ color: #344A1E;
+ font-size: 9pt;
+}
+
+#features ul
+{
+ margin: 10px;
+ padding: 0px;
+}
+
+#features ul li
+{
+ font-size: 8pt;
+ padding: 0px;
+ margin: 0px;
+ margin-top: 8px;
+}
+
+#features h3
+{
+ margin: 0px;
+ padding: 0px;
+ font-size: 10pt;
+ color: #292E1D;
+ text-align: center;
+ border-bottom: 1px solid silver;
+}
+
+#news
+{
+ float: left;
+ width: 590px;
+}
+
+.newstitle
+{
+ font-size: 12pt;
+ font-weight: bold;
+ color: #555;
+ margin-top: 10px;
+ margin-bottom: 0px;
+ border-bottom: 1px solid silver;
+}
+
+.newscontentmore
+{
+ margin-right: 10px;
+ display: block;
+ color: #50811A;
+ text-align: right;
+}
+
+.newscontentmore:hover
+{
+ color: red;
+}
+
+.newstime
+{
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ text-align: right;
+}
+
+.newscontent
+{
+ margin-top: 5px;
+}
+
+#leftpanel
+{
+ float: left;
+ width: 550px;
+}
+
+#topics
+{
+ border: 1px solid #804040;
+ margin-left: 610px;
+ padding-bottom: 10px;
+}
+
+#topicsheader
+{
+ text-align:center;
+ font-weight:bold;
+ background-color:#804040;
+ color:#FFFFBC;
+ padding: 3px;
+ margin-bottom:0px;
+}
+
+.topicitem
+{
+ padding: 5px;
+}
+
+.topicitem a:hover
+{
+ text-decoration: underline;
+}
+
+.topicitem p
+{
+ margin: 0px;
+ font-size:0.8em;
+ color:#aaa;
+ padding-left:10px;
+ white-space:nowrap;
+}
+
+.reference
+{
+}
+
+.reference img
+{
+ margin: 10px;
+}
+
+.reference h3
+{
+}
+
+
+.download
+{
+ width: 100%;
+ background-color: #aaa;
+}
+
+.download td
+{
+ background-color: #FFFFFF;
+ padding: 5px;
+ font-size: 9pt;
+}
+
+.download td a
+{
+ font-weight: bold;
+}
+
+.download td.type
+{
+ font-family: "courier new", courier;
+ text-align: right;
+ vertical-align: top;
+}
+
+.download div.declaration
+{
+ font-family: "courier new", courier;
+}
+
+
+.download th
+{
+ background-color: #F0F0F0;
+ font-weight: bold;
+ padding: 5px;
+ text-align: left;
+}
+
+.download th.small
+{
+ font-size: 1.0em;
+}
+
+.download tr.reference td {
+ background-color: #FFEDED;
+}
+
+
+.doc-title
+{
+ font-size: 14pt;
+ font-weight: bold;
+ margin-top: 10px;
+ margin-bottom: 10px;
+}
+
+.doc-subtitle
+{
+ font-size: 11pt;
+ font-weight: bold;
+ background-color: #EEE;
+ padding: 5px;
+ margin-top: 20px;
+}
+
+.doc-namespace
+{
+ font-size: 8pt;
+}
+
+
+.doc-menu
+{
+}
+
+.doc-classes
+{
+}
+
+.doc-ancestors
+{
+ font-size: 8pt;
+}
+
+.doc-properties
+{
+ font-size: 9pt;
+}
+
+.doc-properties table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-properties td, .doc-properties th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-events
+{
+ font-size: 9pt;
+}
+
+.doc-events table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-events td, .doc-events th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-methods
+{
+ font-size: 9pt;
+}
+
+.doc-methods table
+{
+ border-collapse: collapse;
+ background-color: silver;
+ width: 100%;
+}
+
+.doc-methods td, .doc-methods th
+{
+ padding: 3px;
+ vertical-align: top;
+ background-color: white;
+ border: 1px solid silver;
+}
+
+.doc-derived
+{
+}
+
+.doc-inherited
+{
+}
+
+.doc-native td
+{
+ background-color: lightyellow;
+}
+
+.forum-topic
+{
+ padding: 10px;
+ border:1px solid silver;
+ margin-bottom: 10px;
+}
+
diff --git a/buildscripts/phing/tasks/PradoDocTask.php b/buildscripts/phing/tasks/PradoDocTask.php
index 3ab891bd..ac64ac5a 100644
--- a/buildscripts/phing/tasks/PradoDocTask.php
+++ b/buildscripts/phing/tasks/PradoDocTask.php
@@ -22,11 +22,18 @@ class PradoDocTask extends Task
private $parseprivate = false;
+ private $quite = false;
+
function setPhpdoc($phpdoc)
{
$this->phpdoc=$phpdoc;
}
+ function setQuite($quite)
+ {
+ $this->quite=$quite;
+ }
+
/**
* Set the title for the generated documentation
*/
@@ -85,7 +92,7 @@ class PradoDocTask extends Task
function main()
{
$arguments = $this->constructArguments();
- exec($this->phpdoc . " " . $arguments, $output, $retval);
+ passthru($this->phpdoc . " " . $arguments, $retval);
}
/**
@@ -93,7 +100,12 @@ class PradoDocTask extends Task
*/
private function constructArguments()
{
- $arguments = "-q \"on\" ";
+ $arguments = " ";
+
+ if($this->quite)
+ {
+ $arguments .= '-q "on" ';
+ }
if ($this->title)
{
diff --git a/buildscripts/texbuilder/Page2Tex.php b/buildscripts/texbuilder/Page2Tex.php
index 912fb82a..9c779a64 100644
--- a/buildscripts/texbuilder/Page2Tex.php
+++ b/buildscripts/texbuilder/Page2Tex.php
@@ -19,6 +19,7 @@ class Page2Tex
function setCurrentPage($current)
{
+ self::$header_count = self::$header_count+1000;
$this->_current_page = $current;
}
@@ -261,9 +262,8 @@ class Page2Tex
}
- function set_header_id($content, $count)
+ function set_header_id($content)
{
- self::$header_count = $count*100;
$content = preg_replace_callback('/<h1>/', array($this,"h1"), $content);
$content = preg_replace_callback('/<h2>/', array($this,"h2"), $content);
$content = preg_replace_callback('/<h3>/', array($this,"h3"), $content);
diff --git a/buildscripts/wikibuilder/DumpSkin.php b/buildscripts/wikibuilder/DumpSkin.php
new file mode 100644
index 00000000..6d4ba4b3
--- /dev/null
+++ b/buildscripts/wikibuilder/DumpSkin.php
@@ -0,0 +1,93 @@
+<?php
+/**
+ * MonoBook nouveau
+ *
+ * Translated from gwicke's previous TAL template version to remove
+ * dependency on PHPTAL.
+ *
+ * @todo document
+ * @package MediaWiki
+ * @subpackage Skins
+ */
+
+/**
+ * MonoBook modified and redesigned by JasonPearce.com for FraternityManuals.com
+ * Launched April 7, 2005
+ */
+
+if( !defined( 'MEDIAWIKI' ) )
+ die();
+
+/** */
+require_once('includes/SkinTemplate.php');
+
+/**
+ * Inherit main code from SkinTemplate, set the CSS and template filter.
+ * @todo document
+ * @package MediaWiki
+ * @subpackage Skins
+ */
+class DumpSkin extends SkinTemplate {
+ /** Using monobook. */
+ function initPage( &$out ) {
+ SkinTemplate::initPage( $out );
+ $this->skinname = 'dump';
+ $this->stylename = '';
+ $this->template = 'DumpTemplate';
+ }
+}
+
+class DumpTemplate extends QuickTemplate {
+ /**
+ * Template filter callback for MonoBook skin.
+ * Takes an associative array of data set from a SkinTemplate-based
+ * class, and a wrapper for MediaWiki's localization database, and
+ * outputs a formatted page.
+ *
+ * @access private
+ */
+ function execute() {
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php $this->text('lang') ?>" lang="<?php $this->text('lang') ?>" dir="<?php $this->text('dir') ?>">
+<head>
+<meta http-equiv="Content-Type" content="<?php $this->text('mimetype') ?>; charset=<?php $this->text('charset') ?>" />
+<title>WIKI: <?php $this->text('pagetitle') ?>
+</title>
+<link rel="stylesheet" type="text/css" href="<?php $this->text('stylepath') ?>main.css" />
+</head>
+<body>
+<div id="globalWrapper">
+ <div id="column-content">
+ <div id="content"> <a name="top" id="contentTop"></a>
+
+ <h1 class="firstHeading">
+ <?php $this->text('title') ?>
+ </h1>
+ <h3 id="siteSub">
+ <?php $this->msg('tagline') ?>
+ </h3>
+
+ <div id="bodyContent">
+ <div id="contentSub">
+ <?php $this->html('subtitle') ?>
+ </div>
+
+ <!-- BEGIN content -->
+ <?php $this->html('bodytext') ?>
+ <?php if($this->data['catlinks']) { ?>
+ <div id="catlinks">
+ <?php $this->html('catlinks') ?>
+ </div>
+ <?php } ?>
+
+ <!-- END content -->
+ </div>
+
+ </div>
+ </div>
+</div>
+<!-- end of the left (by default at least) column -->
+<img src="<?php $this->text('stylepath') ?>external.png" style="display:none"/>
+</body></html>
+<?php } } ?>
diff --git a/buildscripts/wikibuilder/build.php b/buildscripts/wikibuilder/build.php
new file mode 100644
index 00000000..3ee8a078
--- /dev/null
+++ b/buildscripts/wikibuilder/build.php
@@ -0,0 +1,18 @@
+<?php
+
+$wiki_dir = 'c:/Wei/workspace/wiki/';
+$wiki_url = 'http://www.pradosoft.com/wiki/';
+
+$ROOT = dirname(__FILE__);
+
+$output_dir = $ROOT.'/../../build/docs/wiki';
+
+include_once(dirname(__FILE__).'/dumpHTML.php');
+
+if(!is_file($output_dir.'/external.png'))
+{
+ copy($ROOT.'/external.png', $output_dir.'/external.png');
+ copy($ROOT.'/main.css', $output_dir.'/main.css');
+}
+
+?> \ No newline at end of file
diff --git a/buildscripts/wikibuilder/dumpHTML.inc b/buildscripts/wikibuilder/dumpHTML.inc
new file mode 100644
index 00000000..5b8ca15a
--- /dev/null
+++ b/buildscripts/wikibuilder/dumpHTML.inc
@@ -0,0 +1,390 @@
+<?php
+/**
+ * @package MediaWiki
+ * @subpackage Maintenance
+ */
+
+define( 'REPORTING_INTERVAL', 10 );
+
+require_once( 'includes/ImagePage.php' );
+require_once( 'includes/CategoryPage.php' );
+
+class DumpHTML {
+ # Destination directory
+ var $dest;
+
+ # Show interlanguage links?
+ var $interwiki = true;
+
+ # Depth of HTML directory tree
+ var $depth = 3;
+
+ # Directory that commons images are copied into
+ var $sharedStaticPath;
+
+ # Relative path to image directory
+ var $imageRel = 'upload';
+
+ # Copy commons images instead of symlinking
+ var $forceCopy = false;
+
+ # Make links assuming the script path is in the same directory as
+ # the destination
+ var $alternateScriptPath = false;
+
+ function DumpHTML( $settings ) {
+ foreach ( $settings as $var => $value ) {
+ $this->$var = $value;
+ }
+ }
+
+ /**
+ * Write a set of articles specified by start and end page_id
+ * Skip categories and images, they will be done separately
+ */
+ function doArticles( $start, $end = false ) {
+ $fname = 'DumpHTML::doArticles';
+
+ $this->setupGlobals();
+
+ if ( $end === false ) {
+ $dbr =& wfGetDB( DB_SLAVE );
+ $end = $dbr->selectField( 'page', 'max(page_id)', false, $fname );
+ }
+
+
+ for ($id = $start; $id <= $end; $id++) {
+ if ( !($id % REPORTING_INTERVAL) ) {
+ print "Processing ID: $id\r";
+ }
+ $title = DumpTitle::newFromID( $id );
+ if ( $title ) {
+ $ns = $title->getNamespace() ;
+ if ( $ns != NS_CATEGORY ) {
+ $this->doArticle( $title );
+ }
+ }
+ }
+ print "\n";
+ }
+
+ function doSpecials() {
+ $this->doMainPage();
+
+ $this->setupGlobals();
+ print "Special:Categories...";
+ $this->doArticle( DumpTitle::makeTitle( NS_SPECIAL, 'Categories' ) );
+ print "\n";
+ }
+
+ /** Write the main page as index.html */
+ function doMainPage() {
+ global $wgMakeDumpLinks;
+
+ print "Making index.html ";
+
+ // Set up globals with no ../../.. in the link URLs
+ $this->setupGlobals( 0 );
+
+ // But still use that directory style
+ $wgMakeDumpLinks = 3;
+
+ $title = DumpTitle::newMainPage();
+
+ $text = $this->getArticleHTML( $title );
+ $file = fopen( "{$this->dest}/index.html", "w" );
+ if ( !$file ) {
+ print "\nCan't open index.html for writing\n";
+ return false;
+ }
+ fwrite( $file, $text );
+ fclose( $file );
+ print "\n";
+ }
+
+ function doImageDescriptions() {
+ global $wgSharedUploadDirectory;
+
+ $fname = 'DumpHTML::doImageDescriptions';
+
+ $this->setupGlobals( 3 );
+
+ /**
+ * Dump image description pages that don't have an associated article, but do
+ * have a local image
+ */
+ $dbr =& wfGetDB( DB_SLAVE );
+ extract( $dbr->tableNames( 'image', 'page' ) );
+ $res = $dbr->select( 'image', array( 'img_name' ), false, $fname );
+
+ $i = 0;
+ print "Writing image description pages for local images\n";
+ $num = $dbr->numRows( $res );
+ while ( $row = $dbr->fetchObject( $res ) ) {
+ if ( !( ++$i % REPORTING_INTERVAL ) ) {
+ print "Done $i of $num\r";
+ }
+ $title = DumpTitle::makeTitle( NS_IMAGE, $row->img_name );
+ if ( $title->getArticleID() ) {
+ // Already done by dumpHTML
+ continue;
+ }
+ $this->doArticle( $title );
+ }
+ print "\n";
+
+ /**
+ * Dump images which only have a real description page on commons
+ */
+ print "Writing description pages for commons images\n";
+ $i = 0;
+ for ( $hash = 0; $hash < 256; $hash++ ) {
+ $dir = sprintf( "%01x/%02x", intval( $hash / 16 ), $hash );
+ $paths = glob( "{$this->sharedStaticPath}/$dir/*" );
+ $paths += glob( "{$this->sharedStaticPath}/thumb/$dir/*" );
+
+ foreach ( $paths as $path ) {
+ $file = basename( $path );
+ if ( !(++$i % REPORTING_INTERVAL ) ) {
+ print "$i\r";
+ }
+
+ $title = DumpTitle::makeTitle( NS_IMAGE, $file );
+ $this->doArticle( $title );
+ }
+ }
+ print "\n";
+ }
+
+ function doCategories() {
+ $fname = 'DumpHTML::doCategories';
+ $this->setupGlobals();
+
+ $dbr =& wfGetDB( DB_SLAVE );
+ print "Selecting categories...";
+ $sql = 'SELECT DISTINCT cl_to FROM ' . $dbr->tableName( 'categorylinks' );
+ $res = $dbr->query( $sql, $fname );
+
+ print "\nWriting " . $dbr->numRows( $res ). " category pages\n";
+ $i = 0;
+ while ( $row = $dbr->fetchObject( $res ) ) {
+ if ( !(++$i % REPORTING_INTERVAL ) ) {
+ print "$i\r";
+ }
+ $title = DumpTitle::makeTitle( NS_CATEGORY, $row->cl_to );
+ $this->doArticle( $title );
+ }
+ print "\n";
+ }
+
+
+ /** Write an article specified by title */
+ function doArticle( $title ) {
+ global $wgTitle, $wgSharedUploadPath, $wgSharedUploadDirectory;
+ global $wgUploadDirectory;
+
+ $text = $this->getArticleHTML( $title );
+ if ( $text === false ) {
+ return;
+ }
+
+ # Parse the XHTML to find the images
+ $images = $this->findImages( $text );
+ $this->copyImages( $images );
+
+ # Write to file
+ $this->writeArticle( $title, $text );
+ }
+
+ /** Write the given text to the file identified by the given title object */
+ function writeArticle( &$title, $text ) {
+ $filename = strtr($title->getHashedFilename(),':~','__');
+ $fullName = "{$this->dest}/$filename";
+ $fullDir = dirname( $fullName );
+
+ wfMkdirParents( $fullDir, 0755 );
+
+ $file = fopen( $fullName, 'w' );
+ if ( !$file ) {
+ print("Can't open file $fullName for writing\n");
+ return;
+ }
+
+ fwrite( $file, $text );
+ fclose( $file );
+ }
+
+ /** Set up globals required for parsing */
+ function setupGlobals( $depth = NULL ) {
+ global $wgUser, $wgTitle, $wgMakeDumpLinks, $wgStylePath, $wgArticlePath;
+ global $wgUploadPath, $wgLogo, $wgMaxCredits, $wgSharedUploadPath;
+ global $wgHideInterlanguageLinks, $wgUploadDirectory, $wgThumbnailScriptPath;
+ global $wgSharedThumbnailScriptPath, $wgEnableParserCache;
+
+ static $oldLogo = NULL;
+
+ if ( is_null( $depth ) ) {
+ $wgMakeDumpLinks = $this->depth;
+ } else {
+ $wgMakeDumpLinks = $depth;
+ }
+
+ if ( $this->alternateScriptPath ) {
+ if ( $wgMakeDumpLinks == 0 ) {
+ $wgScriptPath = '.';
+ } else {
+ $wgScriptPath = '..' . str_repeat( '/..', $wgMakeDumpLinks - 1 );
+ }
+ } else {
+ $wgScriptPath = '..' . str_repeat( '/..', $wgMakeDumpLinks );
+ }
+
+ $wgArticlePath = str_repeat( '../', $wgMakeDumpLinks ) . '$1';
+
+ # Logo image
+ # Allow for repeated setup
+ if ( !is_null( $oldLogo ) ) {
+ $wgLogo = $oldLogo;
+ } else {
+ $oldLogo = $wgLogo;
+ }
+
+ if ( strpos( $wgLogo, $wgUploadPath ) === 0 ) {
+ # If it's in the upload directory, rewrite it to the new upload directory
+ $wgLogo = "$wgScriptPath/{$this->imageRel}/" . substr( $wgLogo, strlen( $wgUploadPath ) + 1 );
+ } elseif ( $wgLogo{0} == '/' ) {
+ # This is basically heuristic
+ # Rewrite an absolute logo path to one relative to the the script path
+ $wgLogo = $wgScriptPath . $wgLogo;
+ }
+
+ $wgScriptPath = substr($wgScriptPath,3);
+
+ $wgStylePath = $wgScriptPath ? "$wgScriptPath/" : '';
+ $wgUploadPath = "$wgScriptPath/{$this->imageRel}";
+ $wgSharedUploadPath = "$wgUploadPath/shared";
+ $wgMaxCredits = -1;
+ $wgHideInterlangageLinks = !$this->interwiki;
+ $wgThumbnailScriptPath = $wgSharedThumbnailScriptPath = false;
+ $wgEnableParserCache = false;
+
+ $wgUser = new User;
+ $wgUser->setOption( 'skin', 'htmldump' );
+ $wgUser->setOption( 'editsection', 0 );
+
+ $this->sharedStaticPath = "$wgUploadDirectory/shared";
+
+ }
+
+ /** Reads the content of a title object, executes the skin and captures the result */
+ function getArticleHTML( &$title ) {
+ global $wgOut, $wgTitle, $wgArticle, $wgUser, $wgUseCategoryMagic;
+
+ $wgOut = new OutputPage;
+ $wgOut->setParserOptions( new ParserOptions );
+
+ $wgTitle = $title;
+ if ( is_null( $wgTitle ) ) {
+ return false;
+ }
+
+ $ns = $wgTitle->getNamespace();
+ if ( $ns == NS_SPECIAL ) {
+ SpecialPage::executePath( $wgTitle );
+ } else {
+ if ( $ns == NS_IMAGE ) {
+ $wgArticle = new ImagePage( $wgTitle );
+ } elseif ( $wgUseCategoryMagic && $ns == NS_CATEGORY ) {
+ $wgArticle = new CategoryPage( $wgTitle );
+ } else {
+ $wgArticle = new Article( $wgTitle );
+ }
+ $wgArticle->view();
+ }
+
+ $sk =& $wgUser->getSkin();
+ ob_start();
+ $sk->outputPage( $wgOut );
+ $text = ob_get_contents();
+ ob_end_clean();
+
+ $text = str_replace(array('/:/','%7E'), array('/_/','_'), $text);
+
+ return $text;
+ }
+
+ /** Returns image paths used in an XHTML document */
+ function findImages( $text ) {
+ global $wgOutputEncoding, $wgDumpImages;
+ $parser = xml_parser_create( $wgOutputEncoding );
+ xml_set_element_handler( $parser, 'wfDumpStartTagHandler', 'wfDumpEndTagHandler' );
+
+ $wgDumpImages = array();
+ xml_parse( $parser, $text );
+ xml_parser_free( $parser );
+
+ return $wgDumpImages;
+ }
+
+ /**
+ * Copy images (or create symlinks) from commons to a static directory.
+ * This is necessary even if you intend to distribute all of commons, because
+ * the directory contents is used to work out which image description pages
+ * are needed.
+ */
+ function copyImages( $images ) {
+ global $wiki_dir, $output_dir;
+ global $wgSharedUploadPath, $wgSharedUploadDirectory;
+ # Find shared uploads and copy them into the static directory
+ $sharedPathLength = strlen( $wgSharedUploadPath );
+ foreach ( $images as $image => $dummy ) {
+ # Is it shared?
+ if ( strpos($image, 'upload') > 0) {
+ # Reconstruct full filename
+ $rel = substr( $image, strpos($image,'upload')+7 ); // +1 for slash
+ $sourceLoc = $wiki_dir."images/$rel";
+ $staticLoc = "$output_dir/upload/$rel";
+// print "Copying $sourceLoc to $staticLoc\n";
+
+ # Copy to static directory
+ if ( !file_exists( $staticLoc ) ) {
+ wfMkdirParents( dirname( $staticLoc ), 0755 );
+ //if ( function_exists( 'symlink' ) && !$this->forceCopy ) {
+ // symlink( $sourceLoc, $staticLoc );
+ //} else {
+ copy( $sourceLoc, $staticLoc );
+ //}
+ }
+
+ if ( substr( $rel, 0, 6 ) == 'thumb/' ) {
+ # That was a thumbnail
+ # We will also copy the real image
+ $parts = explode( '/', $rel );
+ $rel = "{$parts[1]}/{$parts[2]}/{$parts[3]}";
+ $sourceLoc = $wiki_dir."images/$rel";
+ $staticLoc = "$output_dir/upload/$rel";
+# print "Copying $sourceLoc to $staticLoc\n";
+ if ( !file_exists( $staticLoc ) ) {
+ wfMkdirParents( dirname( $staticLoc ), 0755 );
+ copy( $sourceLoc, $staticLoc );
+ }
+ }
+ }
+ }
+ }
+}
+
+/** XML parser callback */
+function wfDumpStartTagHandler( $parser, $name, $attribs ) {
+ global $wgDumpImages;
+
+ if ( $name == 'IMG' && isset( $attribs['SRC'] ) ) {
+ $wgDumpImages[$attribs['SRC']] = true;
+ }
+}
+
+/** XML parser callback */
+function wfDumpEndTagHandler( $parser, $name ) {}
+
+# vim: syn=php
+?>
diff --git a/buildscripts/wikibuilder/dumpHTML.php b/buildscripts/wikibuilder/dumpHTML.php
new file mode 100644
index 00000000..d34e53ed
--- /dev/null
+++ b/buildscripts/wikibuilder/dumpHTML.php
@@ -0,0 +1,102 @@
+<?php
+/**
+ * @todo document
+ * @package MediaWiki
+ * @subpackage Maintenance
+ */
+
+/**
+ * Usage:
+ * php dumpHTML.php [options...]
+ *
+ * -d <dest> destination directory
+ * -s <start> start ID
+ * -e <end> end ID
+ * --images only do image description pages
+ * --categories only do category pages
+ * --special only do miscellaneous stuff
+ * --force-copy copy commons instead of symlink, needed for Wikimedia
+ * --interlang allow interlanguage links
+ */
+
+
+$optionsWithArgs = array( 's', 'd', 'e' );
+
+require_once($wiki_dir. "/maintenance/commandLine.inc" );
+require_once(dirname(__FILE__)."/dumpHTML.inc" );
+
+class DummyUser extends User
+{
+ function getSkin()
+ {
+ require_once(dirname(__FILE__).'/DumpSkin.php' );
+ $this->mSkin =& new DumpSkin;
+ return $this->mSkin;
+ }
+}
+
+class DumpTitle extends Title
+{
+ function getHashedDirectory()
+ {
+ return strtr(parent::getHashedDirectory(), '~:', '__');
+ }
+}
+
+error_reporting( E_ALL & (~E_NOTICE) );
+define( 'CHUNK_SIZE', 50 );
+
+if ( !empty( $options['s'] ) ) {
+ $start = $options['s'];
+} else {
+ $start = 1280;
+}
+
+if ( !empty( $options['e'] ) ) {
+ $end = $options['e'];
+} else {
+ $dbr =& wfGetDB( DB_SLAVE );
+ $end = $dbr->selectField( 'page', 'max(page_id)', false );
+}
+
+if ( !empty( $options['d'] ) ) {
+ $dest = $options['d'];
+} else {
+ $dest = $output_dir;
+}
+
+class DumpHTMLSkined extends DumpHTML
+{
+ function setupGlobals( $depth = NULL )
+ {
+ parent::setupGlobals($depth);
+ global $wgUser,$wgServer,$wiki_url;
+ $wgUser = new DummyUser;
+ $wgServer = $wiki_url;
+ }
+}
+
+$d = new DumpHTMLSkined( array(
+ 'dest' => $dest,
+ 'forceCopy' => $options['force-copy'],
+ 'alternateScriptPath' => $options['interlang'],
+ 'interwiki' => $options['interlang'],
+));
+
+
+if ( $options['special'] ) {
+ $d->doSpecials();
+} elseif ( $options['images'] ) {
+ $d->doImageDescriptions();
+} elseif ( $options['categories'] ) {
+ $d->doCategories();
+} else {
+ print("Creating static HTML dump in directory $dest. \n".
+ "Starting from page_id $start of $end.\n");
+ $d->doArticles( $start, $end );
+ $d->doImageDescriptions();
+ $d->doCategories();
+ $d->doMainPage();
+}
+
+?> \ No newline at end of file
diff --git a/buildscripts/wikibuilder/external.png b/buildscripts/wikibuilder/external.png
new file mode 100644
index 00000000..419c06fb
--- /dev/null
+++ b/buildscripts/wikibuilder/external.png
Binary files differ
diff --git a/buildscripts/wikibuilder/main.css b/buildscripts/wikibuilder/main.css
new file mode 100644
index 00000000..c237dfc1
--- /dev/null
+++ b/buildscripts/wikibuilder/main.css
@@ -0,0 +1,501 @@
+/*
+-----------------------------------------------------
+FraternityManuals.org MediaWiki 'monobook' style sheet for CSS2-capable browsers
+FileName: main.css
+Version: 2005.04.06
+Author: jasonpearce.com
+-----------------------------------------------------
+*/
+
+/*
+-----------------------------------------------------
+FraternityManuals.org basic tags rules CSS file for screen media
+FileName: browserdefaults_compact.css
+Version: 2005.04.06
+Author: jasonpearce.com
+-----------------------------------------------------
+*/
+
+@namespace url(http://www.w3.org/1999/xhtml);/* set default namespace to HTML */
+
+/* zero padding and margins */
+* {margin:0;padding:0;}
+
+/* set font size */
+
+/* blocks */
+address,blockquote,body,center,dd,dir,div,dl,dt,frameset,h1,h2,h3,h4,h5,h6,hr,html,isindex,listing,map,marquee,menu,multicol,ol,p,plaintext,pre,ul,xmp {display:block;}
+blockquote {margin:1em 40px;}
+blockquote[type=cite] {border-color:blue;border-left:solid;border-width:thin;margin:1em 0px;padding-left:1em;}
+listing {font-size:medium;margin:1em 0;white-space:pre;}
+p,dl,multicol {margin:1em 0;}
+plaintext,xmp,pre {margin:1em 0;white-space:pre;}
+
+/* headings */
+h1,h2,h3,h4,h5,h6 {font-weight:bold;}
+h1 {font-size:1.75em;}
+h2 {font-size:1.5em;}
+h3 {font-size:1.33em;}
+h4 {font-size:1.2em;}
+h5 {font-size:1em;}
+h6 {font-size:0.85em;}
+h1,h2,h3,h4,h5,h6 {margin:1.5em 0 0.25em 0;}
+h1 {margin-top:0;}
+
+/* link pseudo-classes */
+a:link {text-decoration:none;}
+a:visited {text-decoration:none;}
+a:hover {text-decoration:underline;}
+a:active {text-decoration:none;}
+
+/* tables */
+table {border-collapse:separate;border-spacing:2px;display:table;margin-bottom:0;margin-top:0;text-indent:0;}
+table[align="left"] {float:left;}
+table[align="right"] {float:right;text-align:start;}
+table[rules] {border-collapse:collapse;}
+caption {display:table-caption;text-align:center;}
+table[align="center"] > caption {margin-left:auto;margin-right:auto;}
+table[align="center"] > caption[align="left"] {margin-right:0;}
+table[align="center"] > caption[align="right"] {margin-left:0;}
+tr {display:table-row;vertical-align:inherit;}
+col {display:table-column;}
+colgroup {display:table-column-group;}
+tbody {display:table-row-group;vertical-align:middle;}
+thead {display:table-header-group;vertical-align:middle;}
+tfoot {display:table-footer-group;vertical-align:middle;}
+
+/* for XHTML tables without tbody */
+table > tr {vertical-align:middle;}
+td { display:table-cell;padding:1px;text-align:inherit; vertical-align:inherit;}
+th {display:table-cell;font-weight:bold;padding:1px;vertical-align:inherit;}
+
+/* inlines */
+b,strong {font-weight:bolder;}
+big {font-size:larger;}
+blink {text-decoration:blink;}
+i,address,cite,dfn,em,var {font-style:italic;}
+nobr {white-space:nowrap;}
+q:after {content:close-quote;}
+q:before {content:open-quote;}
+s,strike,del {text-decoration:line-through;}
+small {font-size:smaller;}
+sub {font-size:smaller;line-height:normal;vertical-align:sub;}
+sup {font-size:smaller;line-height:normal;vertical-align:super;}
+u,ins {text-decoration:underline;}
+
+/* titles */
+abbr[title],acronym[title] {border-bottom:dotted 1px;}
+
+/* lists */
+ul,menu,dir {list-style-type:disc;margin:1em 2em;}
+ol {list-style-type:decimal;margin:1em 2em;}
+li {display:list-item;}
+
+/* nested lists have no top/bottom margins */
+ul ul,ul ol,ul dir,ul menu,ul dl,ol ul,ol ol,ol dir,ol menu,ol dl,dir ul, dir ol, dir dir, dir menu, dir dl,menu ul,menu ol,menu dir,menu menu,menu dl,dl ul,dl ol,dl dir,dl menu,dl dl {margin-top:0;margin-bottom:0;}
+
+/* 2 deep unordered lists use a circle */
+ol ul,ul ul,menu ul,dir ul,ol menu,ul menu,menu menu,dir menu,ol dir, ul dir, menu dir, dir dir {list-style-type:circle;}
+
+/* 3 deep (or more) unordered lists use a square */
+ol ol ul, ol ul ul, ol menu ul, ol dir ul,ol ol menu,ol ul menu,ol menu menu,ol dir menu,ol ol dir, ol ul dir, ol menu dir, ol dir dir,ul ol ul, ul ul ul, ul menu ul, ul dir ul,ul ol menu,ul ul menu,ul menu menu,ul dir menu,ul ol dir, ul ul dir, ul menu dir, ul dir dir,menu ol ul,menu ul ul,menu menu ul,menu dir ul,menu ol menu,menu ul menu,menu menu menu,menu dir menu,menu ol dir, menu ul dir, menu menu dir, menu dir dir,dir ol ul, dir ul ul, dir menu ul, dir dir ul,dir ol menu, dir ul menu, dir menu menu, dir dir menu,dir ol dir,dir ul dir,dir menu dir,dir dir dir {list-style-type:square;}
+
+/* leafs */
+hr {border:1px;height:2px;margin:0.5em auto 0.5em auto;}
+img[usemap],object[usemap] {color:blue;cursor:pointer;}
+iframe {border:2px inset;}
+
+/* hidden elements */
+area,base,basefont,head,meta,noembed,noframes,noscript,param,script,style,title { display:none;}
+
+/* bidirectionality elements */
+*[dir="ltr"] {direction:ltr;unicode-bidi:embed;}
+*[dir="rtl"] {direction:rtl;unicode-bidi:embed;}
+address,blockquote,body,dd,div,dl,dt,fieldset,form,frame,frameset,h1,h2,h3,h4,h5,h6,iframe,noscript,noframes,object,ol,p,ul,applet,center,dir,hr,menu,pre,li,table,tr,thead,tbody,tfoot,col,colgroup,td,th,caption {unicode-bidi:embed;}
+bdo[dir="ltr"] {direction:ltr;unicode-bidi:bidi-override;}
+bdo[dir="rtl"] {direction:rtl;unicode-bidi:bidi-override;}
+
+/* print settings */
+@media print {
+ @page {margin:10%;}
+ blockquote,fieldset,pre {page-break-inside:avoid;}
+ h1,h2,h3,h4,h5,h6 {page-break-after:avoid;page-break-inside:avoid;}
+ ul,ol,dl {page-break-before:avoid;}
+}
+
+/* speech settings */
+@media speech {
+ a:active {voice-family:betty,female;pitch-range:80;pitch:x-high;}
+ a:link {voice-family:harry,male;}
+ a:visited {voice-family:betty,female;}
+ b {pitch:medium;pitch-range:60;stress:90;richness:90;}
+ dfn {pitch:high;pitch-range:60;stress:60;}
+ dt {stress:80;}
+ em {pitch:medium;pitch-range:60;stress:60;richness:50;}
+ h1 {pitch:x-low;pitch-range:90;}
+ h1,h2,h3,h4,h5,h6 {voice-family:paul,male;stress:20;richness:90;}
+ h2 {pitch:x-low;pitch-range:80;}
+ h3 {pitch:low;pitch-range:70;}
+ h4 {pitch:medium;pitch-range:60;}
+ h5 {pitch:medium;pitch-range:50;}
+ h6 {pitch:medium;pitch-range:40;}
+ i {pitch:medium;pitch-range:60;stress:60;richness:50;}
+ li,dt,dd {pitch:medium;richness:60;}
+ pre,code,tt {pitch:medium;pitch-range:0;stress:0;richness:80;}
+ s,strike {richness:0;}
+ strong {pitch:medium;pitch-range:60;stress:90;richness:90;}
+ u {richness:0;}
+}
+
+
+/* Typography & Colors -----------------------------------------------*/
+body {
+ background-color: #ffffff; /* white */
+ color: #333; /* dark grey */
+ font-family: 'Lucida Grande', Verdana, Arial, Sans-Serif;
+ }
+img { border: 0px;}
+
+#titleBar {
+ border-bottom: 1px solid #DBDBDB; /* light grey */
+ }
+
+#content {
+ font-size: 10pt;
+ line-height: 1.5em;
+ }
+
+code {
+ font: 11pt 'Courier New', Courier, Fixed;
+ background-color: #f9f9f9;
+}
+pre {
+ padding: 0.5em;
+ color: Black;
+ background-color: #EEEEEE;
+ line-height: 1.1em;
+ font-size: 11pt;
+}
+
+acronym, abbr, span.caps {
+ font-size: 0.9em;
+ letter-spacing: .07em;
+ }
+
+#column-one {
+ font-size: 10pt;
+ line-height: 1.2em;
+ }
+
+#column-one {
+ color: #444444;
+ background-color: #F0F0F0;
+ }
+
+#toc { /* table of contents */
+ background: #FFF6EB; /* very light orange */
+ border: 1px solid #FEBA63; /* light orange */
+ }
+
+#toctitle {
+ background: #FEBA63; /* light orange */
+ color: #3F290C; /* very dark orange */
+ }
+
+#footer {
+ border-top: 1px solid silver;
+ color: #999999;
+ }
+
+
+/* Links -------------------------------------------------------------*/
+a {color: #3366CC;} /* red */
+a:hover {color: #3366CC;} /* red */
+
+p a:visited {color: #3366CC;} /* red */
+#content a.new {color: #DE0000;} /* green */
+
+#column-one a {color: #2F7300;} /* green */
+#column-one a:hover {color: #183A00;} /* dark green */
+#column-one .selected a {
+ color: #183A00; /* dark green bold */
+ font-weight: bolder;
+ }
+
+#toc a {color: #2153B0;} /* blue */
+#toc a:hover {color: #173A7B;} /* dark blue */
+#toc p a:visited {color: #2153B0;} /* blue */
+
+#footer a {color: #999999;}
+#footer a:hover {color: #173A7B;} /* dark blue */
+
+/* LINK ICONS
+** keep the whitespace in front of the ^=, hides rule from konqueror
+** this is css3, the validator doesn't like it when validating as css2
+*/
+#bodyContent a[href ^="http://"], #bodyContent a[href ^="gopher://"] {
+ background: url("external.png") center right no-repeat;
+ padding-right: 13px;
+ }
+
+#bodyContent a[href ^="https://"], .link-https {
+ background: url("lock_icon.gif") center right no-repeat;
+ padding-right: 16px;
+ }
+
+#bodyContent a[href ^="mailto:"], .link-mailto {
+ background: url("mail_icon.gif") center right no-repeat;
+ padding-right: 18px;
+ }
+
+#bodyContent a[href ^="news://"] {
+ background: url("news_icon.png") center right no-repeat;
+ padding-right: 18px;
+ }
+
+#bodyContent a[href ^="ftp://"], .link-ftp {
+ background: url("file_icon.gif") center right no-repeat;
+ padding-right: 18px;
+ }
+
+#bodyContent a[href ^="irc://"], .link-irc {
+ background: url("discussionitem_icon.gif") center right no-repeat;
+ padding-right: 18px;
+}
+
+
+
+
+/* Structure & Frame -------------------------------------------------*/
+body {
+ text-align: center;
+ font-size:10pt;
+ }
+
+#titleBar {
+ height: 100px;
+ text-align: left;
+ width: 100%;
+ }
+
+#globalWrapper {
+ margin: 20px;
+ text-align: left;
+ }
+
+
+/* Headers -----------------------------------------------------------*/
+h1, h2, h3, h4 {font-family: 'Trebuchet MS', 'Lucida Grande', Verdana, Arial, Sans-Serif;}
+h1, h2 {border-bottom: 1px solid silver; line-height: 1.1em; padding-bottom: 0.2em;}
+
+.firstHeading {border-bottom-style: solid; font-size: 2em;}
+.editsection {margin-top: 1em;}
+
+.portlet h5 { /* blocks within #column-one */
+ border-top: 1px solid #eeeeee;
+ margin-top: 0;
+ padding-top: 0.25em;
+ }
+
+
+/* Images ------------------------------------------------------------*/
+#titleBar {
+ background-image: url('pradomantis.gif'); /* blue and white background */
+ background-repeat: no-repeat;
+ background-position: top right;
+ }
+
+#titleBar img {
+ margin-left: 2.5%;
+ }
+
+#p-poweredby img {
+ border: 0;
+ clear: both;
+ float: right;
+ margin: 2px 0;
+ }
+
+
+/* Lists -------------------------------------------------------------*/
+.portlet ul {
+ margin-bottom: 2em;
+ }
+
+.portlet li {
+ margin: 0.5em 0;
+ }
+
+/* Special stylized non-IE bullets
+ Does not work in Internet Explorer, which merely default to normal bullets. */
+html>body .portlet ul {
+ list-style: none;
+ margin-left: 0px;
+ padding: 0 0 0 30px;
+ padding-left: 10px;
+ text-indent: -10px;
+ }
+
+html>body .portlet li {
+ margin-left: 10px;
+ }
+
+html>body .portlet ul li:before {
+ content: "\00BB \0020";
+ }
+
+
+/* Form Elements -----------------------------------------------------*/
+.portlet #searchform {
+ margin-left: 10px;
+ margin-bottom: 2em;
+ }
+
+.portlet #searchform input {
+ margin: 0.15em 0;
+ }
+
+
+/* Various Tags & Classes --------------------------------------------*/
+#siteSub, .urlexpansion, .printfooter {
+ display: none;
+ }
+
+.visualClear {
+ clear: both;
+ }
+
+/* BEGIN user notifications */
+.usermessage {
+ background-color: #ffce7b; /* yellow */
+ border: 1px solid #ffa500; /* orange */
+ color: Black;
+ font-weight: bold;
+ margin: 2em 0em 1em 0em;
+ padding: 0.5em 1em;
+ vertical-align: middle;
+ }
+
+#siteNotice {
+ font-size: 95%;
+ padding: 0 0.9em 0 0.9em;
+ text-align: center;
+ }
+
+#siteNotice p {margin: 0; padding: 0;}
+
+.error {color: red; font-size: larger;}
+
+#catlinks {
+ background-color: #F2F6FF; /* very light blue */
+ border: 1px solid #CBDDFF; /* light blue */
+ clear: both;
+ margin: 1em 0;
+ }
+
+#catlinks p {margin: 0.5em;}
+/* END user notifications */
+
+
+
+/* Content -----------------------------------------------------------*/
+/* BEGIN Table of Contents */
+#toc {
+ float: right;
+ margin: 0 0 1em 1em;
+ }
+#toc td {padding: 0.5em;}
+#toc .tocindent {margin-left: 1em;}
+#toc .tocline {margin-bottom: 0px;}
+#toc p {margin: 0}
+#toc .editsection {margin-top: 0.7em;}
+/* END Table of Contents */
+
+/* BEGIN Page history styling */
+.autocomment {color: gray;}
+#pagehistory span.user {margin-left: 1.4em; margin-right: 0.4em;}
+#pagehistory span.minor {font-weight: bold;}
+#pagehistory input {margin: 0.2em;}
+#pagehistory li {border: 1px solid #ffffff; margin-top: 1px; margin-bottom: 1px;}
+#pagehistory li.selected {
+ background-color: #CBDDFF; /* light blue */
+ border:1px dashed #FDA32F; /* orange */
+ }
+/* END Page history styling */
+
+/* BEGIN Diff rendering */
+table.diff {background: #FEFEFE; border: 1px solid #cccccc; padding: 0.5em}
+table.diff td {vertical-align: top;}
+td.diff-otitle a, td.diff-ntitle a, td.diff-otitle a:visited, td.diff-ntitle a:visited {color: #2153B0;}
+td.diff-otitle a:hover, td.diff-ntitle a:hover {text-decoration: underline;}
+td.diff-otitle {}
+td.diff-ntitle {}
+td.diff-addedline {background:#F2F6FF;}
+td.diff-addedline span.diffchange {
+ background: #CDDEFF;
+ border: 1px dashed #676F80;
+ color: green;
+ font-weight: bold;
+ }
+td.diff-deletedline {background:#FFF9F2;}
+td.diff-deletedline span.diffchange {
+ background: #FFE9CB;
+ border: 1px dashed #B3A38E;
+ color: red;
+ font-weight: bold;
+ text-decoration: line-through;
+ }
+td.diff-context {background:#eeeeee;}
+.newpage {color: green; font-weight: bolder;}
+/* END Diff rendering */
+
+/* BEGIN forms */
+fieldset {
+ background: #FAFCFF;
+ border: 1px solid #CBDDFF;
+ margin: 1em;
+ padding: 0.5em 1em;
+ }
+
+fieldset div {
+ margin: 0.25em 0;
+ }
+
+fieldset input {
+ margin: 0 0.5em;
+ }
+
+legend {
+ color: #2153B0;
+ font-size: 1.25em;
+ font-weight: bolder;
+ padding: 0.2em 0.5em;
+ }
+/* END forms */
+
+
+
+
+/* Footer ------------------------------------------------------------*/
+#footer ul {
+ list-style: none;
+ margin: 0;
+ }
+
+#footer ul li {
+ margin: 0.1em;
+ margin-right: 1em;
+ }
+
+#f-lastmod {}
+#f-viewcount {display: none;}
+#f-copyright {}
+#f-about {float: left;}
+#f-disclaimer {float: left;}
+#f-developedby {float: left;}
+
+a.external
+{
+ background: url("external.png") center right no-repeat;
+ padding-right: 13px;
+} \ No newline at end of file
diff --git a/demos/quickstart/protected/pages/ViewSource.php b/demos/quickstart/protected/pages/ViewSource.php
index 9a8d7d09..f267f318 100644
--- a/demos/quickstart/protected/pages/ViewSource.php
+++ b/demos/quickstart/protected/pages/ViewSource.php
@@ -27,6 +27,8 @@ class ViewSource extends TPage
$this->SourceList->dataBind();
$this->Highlighter->Language=$this->getFileLanguage($fileExt);
+ if($this->Request['lines']==='false')
+ $this->Highlighter->ShowLineNumbers=false;
$this->SourceView->Text=file_get_contents($this->_fullPath);
}
diff --git a/framework/Collections/TList.php b/framework/Collections/TList.php
index f22d6e7b..e646e203 100644
--- a/framework/Collections/TList.php
+++ b/framework/Collections/TList.php
@@ -134,7 +134,7 @@ class TList extends TComponent implements IteratorAggregate,ArrayAccess,Countabl
public function add($item)
{
$this->insertAt($this->_c,$item);
- return $this->_c;
+ return $this->_c-1;
}
/**
diff --git a/framework/PradoBase.php b/framework/PradoBase.php
index 93bdd084..4cfedb09 100644
--- a/framework/PradoBase.php
+++ b/framework/PradoBase.php
@@ -340,6 +340,11 @@ class PradoBase
return isset(self::$_aliases[$alias])?self::$_aliases[$alias]:null;
}
+ protected static function getPathAliases()
+ {
+ return self::$_aliases;
+ }
+
/**
* @param string alias to the path
* @param string the path corresponding to the alias
diff --git a/framework/Web/Services/TPageService.php b/framework/Web/Services/TPageService.php
index 087cb12a..ac4787f2 100644
--- a/framework/Web/Services/TPageService.php
+++ b/framework/Web/Services/TPageService.php
@@ -240,7 +240,7 @@ class TPageService extends TService
{
$configCached=true;
$currentTimestamp=array();
- $arr=$cache->get(self::CONFIG_CACHE_PREFIX.$pagePath);
+ $arr=$cache->get(self::CONFIG_CACHE_PREFIX.$this->getID().$pagePath);
if(is_array($arr))
{
list($pageConfig,$timestamps)=$arr;
@@ -284,7 +284,7 @@ class TPageService extends TService
if($config!==null)
$pageConfig->loadXmlElement($config,$application->getBasePath(),null);
$pageConfig->loadConfigurationFiles($pagePath,$this->getBasePath());
- $cache->set(self::CONFIG_CACHE_PREFIX.$pagePath,array($pageConfig,$currentTimestamp));
+ $cache->set(self::CONFIG_CACHE_PREFIX.$this->getID().$pagePath,array($pageConfig,$currentTimestamp));
}
}
return $pageConfig;
diff --git a/tests/FunctionalTests/tickets/tests/Ticket21TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket21TestCase.php
index d9677779..394f8c95 100644
--- a/tests/FunctionalTests/tickets/tests/Ticket21TestCase.php
+++ b/tests/FunctionalTests/tickets/tests/Ticket21TestCase.php
@@ -4,6 +4,9 @@ class Ticket21TestCase extends SeleniumTestCase
{
function test()
{
+ //problem with test runner clicking on radio buttons
+ $this->skipBrowsers(self::OPERA);
+
$this->open('tickets/index.php?page=Ticket21');
$this->assertTitle("Verifying Ticket 21");
$this->clickAndWait("ctl0_Content_button1");
diff --git a/tests/FunctionalTests/tickets/tests/Ticket225TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket225TestCase.php
index 966e8383..e8c0f612 100644
--- a/tests/FunctionalTests/tickets/tests/Ticket225TestCase.php
+++ b/tests/FunctionalTests/tickets/tests/Ticket225TestCase.php
@@ -4,18 +4,21 @@ class Ticket225TestCase extends SeleniumTestCase
{
function test()
{
+ //problem with test runner clicking on radio buttons
+ $this->skipBrowsers(self::OPERA);
+
$base="ctl0_Content_";
$this->open('tickets/index.php?page=Ticket225');
$this->assertTextPresent('RadioButton Group Tests');
$this->assertText("{$base}label1", "Label 1");
-
+
$this->assertNotVisible("{$base}validator1");
$this->click("{$base}button4");
$this->assertVisible("{$base}validator1");
-
+
$this->click("{$base}button2");
$this->clickAndWait("{$base}button4");
-
+
$this->assertText("{$base}label1", 'ctl0$Content$button1 ctl0$Content$button2 ctl0$Content$button3');
$this->assertNotVisible("{$base}validator1");
}
diff --git a/tests/FunctionalTests/tickets/tests/Ticket278TestCase.php b/tests/FunctionalTests/tickets/tests/Ticket278TestCase.php
index bd631c14..6e3666b9 100644
--- a/tests/FunctionalTests/tickets/tests/Ticket278TestCase.php
+++ b/tests/FunctionalTests/tickets/tests/Ticket278TestCase.php
@@ -4,47 +4,50 @@ class Ticket278TestCase extends SeleniumTestCase
{
function test()
{
+ //problem with test runner clicking on radio buttons
+ $this->skipBrowsers(self::OPERA);
+
$base = 'ctl0_Content_';
$this->open('tickets/index.php?page=Ticket278');
$this->assertTitle('Verifying Ticket 278');
$this->assertNotVisible($base.'validator1');
$this->assertNotVisible($base.'validator2');
$this->assertNotVisible($base.'panel1');
-
- $this->click($base.'button1');
+
+ $this->click($base.'button1');
$this->assertVisible($base.'validator1');
$this->assertNotVisible($base.'validator2');
-
+
$this->type($base.'text1', 'asd');
$this->clickAndWait($base.'button1');
$this->assertNotVisible($base.'validator1');
$this->assertNotVisible($base.'validator2');
$this->assertNotVisible($base.'panel1');
-
+
$this->click($base.'check1');
$this->click($base.'button1');
$this->assertNotVisible($base.'validator1');
$this->assertVisible($base.'validator2');
$this->assertVisible($base.'panel1');
-
-
+
+
$this->type($base.'text1', '');
$this->type($base.'text2', 'asd');
$this->click($base.'button1');
$this->assertVisible($base.'validator1');
$this->assertNotVisible($base.'validator2');
$this->assertVisible($base.'panel1');
-
-
+
+
$this->type($base.'text1', 'asd');
$this->clickAndWait($base.'button1');
$this->assertNotVisible($base.'validator1');
$this->assertNotVisible($base.'validator2');
$this->assertVisible($base.'panel1');
-
+
$this->type($base.'text1', '');
$this->type($base.'text2', '');
- $this->click($base.'button1');
+ $this->click($base.'button1');
$this->assertVisible($base.'validator1');
$this->assertVisible($base.'validator2');
$this->assertVisible($base.'panel1');
diff --git a/tests/FunctionalTests/validators/tests/CheckBoxTestCase.php b/tests/FunctionalTests/validators/tests/CheckBoxTestCase.php
index 6783572d..41c588ee 100644
--- a/tests/FunctionalTests/validators/tests/CheckBoxTestCase.php
+++ b/tests/FunctionalTests/validators/tests/CheckBoxTestCase.php
@@ -4,6 +4,9 @@ class CheckBoxTestCase extends SeleniumTestCase
{
function test()
{
+ //problem with test runner clicking on radio buttons
+ $this->skipBrowsers(self::OPERA);
+
$this->open('validators/index.php?page=CheckBox');
diff --git a/tests/FunctionalTests/validators/tests/ListControlTestCase.php b/tests/FunctionalTests/validators/tests/ListControlTestCase.php
index 76d84eff..37f35d1b 100644
--- a/tests/FunctionalTests/validators/tests/ListControlTestCase.php
+++ b/tests/FunctionalTests/validators/tests/ListControlTestCase.php
@@ -7,6 +7,9 @@ class ListControlTestCase extends SeleniumTestCase
{
function test()
{
+ //problem with test runner clicking on radio buttons
+ $this->skipBrowsers(self::OPERA);
+
$base = "ctl0_Content_";
$this->open("validators/index.php?page=ListControl", "");
$this->verifyTextPresent("List Control Required Field Validation Test", "");
diff --git a/tests/FunctionalTests/validators/tests/RequiredFieldTestCase.php b/tests/FunctionalTests/validators/tests/RequiredFieldTestCase.php
index 41372b93..5ba23133 100644
--- a/tests/FunctionalTests/validators/tests/RequiredFieldTestCase.php
+++ b/tests/FunctionalTests/validators/tests/RequiredFieldTestCase.php
@@ -1,9 +1,12 @@
<?php
-class RequiredFieldTestCase extends SeleniumTestCase
+class RequiredFieldTestCase extends SeleniumTestCase
{
function test()
{
+ //problem with test runner clicking on radio buttons
+ $this->skipBrowsers(self::OPERA);
+
$base = "ctl0_Content_";
$this->open("validators/index.php?page=RequiredFieldValidator");
$this->assertTextPresent("RequiredFieldValidator Tests");
@@ -45,11 +48,11 @@ class RequiredFieldTestCase extends SeleniumTestCase
$this->assertVisible("{$base}validator2");
$this->click("{$base}check2");
$this->clickAndWait("{$base}submit2");
-
+
$this->type("{$base}text1", "Hello");
$this->click("{$base}check1");
$this->click("{$base}submit2");
-
+
$this->assertNotVisible("{$base}validator5");
$this->assertNotVisible("{$base}validator6");
$this->assertNotVisible("{$base}validator7");
@@ -67,9 +70,9 @@ class RequiredFieldTestCase extends SeleniumTestCase
$this->assertNotVisible("{$base}validator5");
$this->assertNotVisible("{$base}validator6");
$this->assertNotVisible("{$base}validator7");
- $this->assertNotVisible("{$base}validator8");
+ $this->assertNotVisible("{$base}validator8");
}
-
+
function testInitialValue()
{
$base = "ctl0_Content_";
diff --git a/tests/FunctionalTests/validators/tests/RequiredListTestCase.php b/tests/FunctionalTests/validators/tests/RequiredListTestCase.php
index 23e0f045..9f652583 100644
--- a/tests/FunctionalTests/validators/tests/RequiredListTestCase.php
+++ b/tests/FunctionalTests/validators/tests/RequiredListTestCase.php
@@ -5,6 +5,9 @@ class RequiredListTestCase extends SeleniumTestCase
function test()
{
+ //problem with test runner clicking on radio buttons
+ $this->skipBrowsers(self::OPERA);
+
$base = "ctl0_Content_";
$this->open("validators/index.php?page=RequiredListValidator");
$this->click("{$base}submit1");