diff options
| author | xue <> | 2006-06-19 02:31:27 +0000 | 
|---|---|---|
| committer | xue <> | 2006-06-19 02:31:27 +0000 | 
| commit | b59ab2490b1bb82dc1d0b58d89584182b405d0a0 (patch) | |
| tree | d6770beffd006c092b3211208b686462cd279ab0 /buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML | |
| parent | 9b918c5b7fa3aac6e077f15dc06c1d8d7185f5aa (diff) | |
build script update. Fixed #82 and #165.
Diffstat (limited to 'buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML')
87 files changed, 7608 insertions, 0 deletions
diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc new file mode 100644 index 00000000..09f5af73 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/HTMLSmartyConverter.inc @@ -0,0 +1,1779 @@ +<?php
 +//
 +// +------------------------------------------------------------------------+
 +// | phpDocumentor                                                          |
 +// +------------------------------------------------------------------------+
 +// | Copyright (c) 2000-2003 Joshua Eichorn, Gregory Beaver                 |
 +// | Email         jeichorn@phpdoc.org, cellog@phpdoc.org                   |
 +// | Web           http://www.phpdoc.org                                    |
 +// | Mirror        http://phpdocu.sourceforge.net/                          |
 +// | PEAR          http://pear.php.net/package-info.php?pacid=137           |
 +// +------------------------------------------------------------------------+
 +// | This source file is subject to version 3.00 of the PHP License,        |
 +// | that is available at http://www.php.net/license/3_0.txt.               |
 +// | If you did not receive a copy of the PHP license and are unable to     |
 +// | obtain it through the world-wide-web, please send a note to            |
 +// | license@php.net so we can mail you a copy immediately.                 |
 +// +------------------------------------------------------------------------+
 +//
 +/**
 + * HTML output converter for Smarty Template.
 + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}.
 + *
 + * @package Converters
 + * @subpackage HTMLSmarty
 + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar
 + * @author Greg Beaver <cellog@users.sourceforge.net>
 + * @since 1.0rc1
 + * @version $Revision: 1.1 $
 + */
 +/**
 + * HTML output converter.
 + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}.
 + *
 + * @package Converters
 + * @subpackage HTMLSmarty
 + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar
 + * @author Greg Beaver <cellog@users.sourceforge.net>
 + * @since 1.0rc1
 + * @version $Revision: 1.1 $
 + */
 +class HTMLSmartyConverter extends Converter
 +{
 +    /**
 +     * Smarty Converter wants elements sorted by type as well as alphabetically
 +     * @see Converter::$sort_page_contents_by_type
 +     * @var boolean
 +     */
 +    var $sort_page_contents_by_type = true;
 +    /** @var string */
 +    var $outputformat = 'HTML';
 +    /** @var string */
 +    var $name = 'Smarty';
 +    /**
 +     * indexes of elements by package that need to be generated
 +     * @var array
 +     */
 +    var $leftindex = array('classes' => true, 'pages' => true, 'functions' => true, 'defines' => false, 'globals' => false);
 +    
 +    /**
 +     * output directory for the current procedural page being processed
 +     * @var string
 +     */
 +    var $page_dir;
 +    
 +    /**
 +     * target directory passed on the command-line.
 +     * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it.
 +     * @var string
 +     */
 +    var $base_dir;
 +    
 +    /**
 +     * output directory for the current class being processed
 +     * @var string
 +     */
 +    var $class_dir;
 +    
 +    /**
 +     * array of converted package page names.
 +     * Used to link to the package page in the left index
 +     * @var array Format: array(package => 1)
 +     */
 +    var $package_pages = array();
 +    
 +    /**
 +     * controls formatting of parser informative output
 +     * 
 +     * Converter prints:
 +     * "Converting /path/to/file.php... Procedural Page Elements... Classes..."
 +     * Since HTMLdefaultConverter outputs files while converting, it needs to send a \n to start a new line.  However, if there
 +     * is more than one class, output is messy, with multiple \n's just between class file output.  This variable prevents that
 +     * and is purely cosmetic
 +     * @var boolean
 +     */
 +    var $juststarted = false;
 +    
 +    /**
 +     * contains all of the template procedural page element loop data needed for the current template
 +     * @var array
 +     */
 +    var $current;
 +    
 +    /**
 +     * contains all of the template class element loop data needed for the current template
 +     * @var array
 +     */
 +    var $currentclass;
 +    var $wrote = false;
 +    var $ric_set = array();
 +    
 +    /**
 +     * sets {@link $base_dir} to $targetDir
 +     * @see Converter()
 +     */
 +    
 +    /**#@+
 +     * @access private
 +     */
 +    var $_classleft_cache = false;
 +    var $_classcontents_cache = false;
 +    var $_pagecontents_cache = false;
 +    var $_pageleft_cache = false;
 +    var $_done_package_index = false;
 +    var $_ric_done = false;
 +    var $_wrote_tdir = false;
 +    var $ric_contents = array();
 +    /**#@-*/
 +    
 +    function HTMLSmartyConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title)
 +    {
 +        Converter::Converter($allp, $packp, $classes, $procpages,$po, $pp, $qm, $targetDir, $templateDir, $title);
 +        $this->base_dir = $targetDir;
 +    }
 +    
 +    function writeSource($path, $value)
 +    {
 +        $templ = &$this->newSmarty();
 +        $pathinfo = $this->proceduralpages->getPathInfo($path, $this);
 +        $templ->assign('source',$value);
 +        $templ->assign('package',$pathinfo['package']);
 +        $templ->assign('subpackage',$pathinfo['subpackage']);
 +        $templ->assign('name',$pathinfo['name']);
 +        $templ->assign('source_loc',$pathinfo['source_loc']);
 +        $templ->assign('docs',$pathinfo['docs']);
 +        $templ->assign("subdir",'../');
 +        $templ->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->setTargetDir($this->getFileSourcePath($this->base_dir));
 +        phpDocumentor_out("\n");
 +        $this->setSourcePaths($path);
 +        $this->writefile($this->getFileSourceName($path).'.html',$templ->fetch('filesource.tpl'));
 +    }
 +    
 +    function writeExample($title, $path, $source)
 +    {
 +        $templ = &$this->newSmarty();
 +        $templ->assign('source',$source);
 +        if (empty($title))
 +        {
 +            $title = 'example';
 +            addWarning(PDERROR_EMPTY_EXAMPLE_TITLE, $path, $title);
 +        }
 +        $templ->assign('title',$title);
 +        $templ->assign('file',$path);
 +        $templ->assign("subdir",'../');
 +        $templ->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . '__examplesource');
 +        phpDocumentor_out("\n");
 +        $this->writefile('exsource_'.$path.'.html',$templ->fetch('examplesource.tpl'));
 +    }
 +    
 +    function getExampleLink($path, $title)
 +    {
 +        return $this->returnLink('{$subdir}__examplesource' . PATH_DELIMITER . 'exsource_'.$path.'.html',$title);
 +    }
 +    
 +    function getSourceLink($path)
 +    {
 +        return $this->returnLink($this->getFileSourcePath('{$subdir}') .
 +        PATH_DELIMITER . $this->getFileSourceName($path).'.html','Source Code for this file');
 +    }
 +
 +    /**
 +     * Return a line of highlighted source code with formatted line number
 +     *
 +     * If the $path is a full path, then an anchor to the line number will be
 +     * added as well
 +     * @param integer line number
 +     * @param string highlighted source code line
 +     * @param false|string full path to @filesource file this line is a part of,
 +     *        if this is a single line from a complete file.
 +     * @return string formatted source code line with line number
 +     */
 +    function sourceLine($linenumber, $line, $path = false)
 +    {
 +        $extra = '';
 +        if (strlen(str_replace("\n", '', $line)) == 0) {
 +            $extra = ' ';
 +        }
 +        if ($path)
 +        {
 +            return '<li>' . $this->getSourceAnchor($path, $linenumber) .
 +                   str_replace("\n",'',$line) . $extra .
 +                   "</li>\n";
 +        } else
 +        {
 +            return '<li>' . str_replace("\n",'',$line) . "$extra</li>\n";
 +        }
 +    }
 +    
 +    /**
 +     * Used to convert the <<code>> tag in a docblock
 +     * @param string
 +     * @param boolean
 +     * @return string
 +     */
 +    function ProgramExample($example, $tutorial = false, $inlinesourceparse = null/*false*/,
 +                            $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/)
 +    {
 +        $trans = $this->template_options['desctranslate'];
 +        $this->template_options['desctranslate'] = array();
 +        $example = '<ol>' . parent::ProgramExample($example, $tutorial, $inlinesourceparse, $class, $linenum, $filesourcepath)
 +               .'</ol>';
 +        $this->template_options['desctranslate'] = $trans;
 +        if (!isset($this->template_options['desctranslate'])) return $example;
 +        if (!isset($this->template_options['desctranslate']['code'])) return $example;
 +        $example = $this->template_options['desctranslate']['code'] . $example;
 +        if (!isset($this->template_options['desctranslate']['/code'])) return $example;
 +        return $example . $this->template_options['desctranslate']['/code'];
 +    }
 +    
 +    /**
 +     * @param string
 +     */
 +    function TutorialExample($example)
 +    {
 +        $trans = $this->template_options['desctranslate'];
 +        $this->template_options['desctranslate'] = array();
 +        $example = '<ol>' . parent::TutorialExample($example)
 +               .'</ol>';
 +        $this->template_options['desctranslate'] = $trans;
 +        if (!isset($this->template_options['desctranslate'])) return $example;
 +        if (!isset($this->template_options['desctranslate']['code'])) return $example;
 +        $example = $this->template_options['desctranslate']['code'] . $example;
 +        if (!isset($this->template_options['desctranslate']['/code'])) return $example;
 +        return $example . $this->template_options['desctranslate']['/code'];
 +    }
 +    
 +    /**
 +     * Retrieve a Converter-specific anchor to a segment of a source code file
 +     * parsed via a {@tutorial tags.filesource.pkg} tag.
 +     * @param string full path to source file
 +     * @param string name of anchor
 +     * @param string link text, if this is a link
 +     * @param boolean returns either a link or a destination based on this
 +     *                parameter
 +     * @return string link to an anchor, or the anchor
 +     */
 +    function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false)
 +    {
 +        if ($link)
 +        return $this->returnLink($this->getFileSourcePath('{$subdir}') .
 +        PATH_DELIMITER . $this->getFileSourceName($sourcefile).'.html#a'.$anchor, $text);
 +        else
 +        return '<a name="a'.$anchor.'"></a>';
 +    }
 +    
 +    function getCurrentPageLink()
 +    {
 +        return $this->curname . '.html';
 +    }
 +
 +    function unmangle($sourcecode)
 +    {
 +        $sourcecode = str_replace(' ',' ',$sourcecode);
 +        $sourcecode = str_replace('&','&',$sourcecode);
 +        $sourcecode = str_replace('<br />',"<br>",$sourcecode);
 +        $sourcecode = str_replace('<code>','<pre>',$sourcecode);
 +        $sourcecode = str_replace('</code>','</pre>',$sourcecode);
 +        $sourcecode = str_replace('<','<',$sourcecode);
 +        $sourcecode = str_replace('>','>',$sourcecode);
 +        return $sourcecode;
 +    }
 +    
 +    /**
 +     * Uses htmlspecialchars() on the input
 +     */
 +    function postProcess($text)
 +    {
 +        return htmlspecialchars($text);
 +    }
 +    
 +    /**
 +     * Use the template tutorial_toc.tpl to generate a table of contents for HTML
 +     * @return string table of contents formatted for use in the current output format
 +     * @param array format: array(array('tagname' => section, 'link' => returnsee link, 'id' => anchor name, 'title' => from title tag),...)
 +     */
 +    function formatTutorialTOC($toc)
 +    {
 +        $template = &$this->newSmarty();
 +        $template->assign('toc',$toc);
 +        return $template->fetch('tutorial_toc.tpl');
 +    }
 +    
 +    function &SmartyInit(&$templ)
 +    {
 +        $this->makeLeft();
 +        $templ->assign("ric",$this->ric_set);
 +        $templ->assign("packageindex",$this->package_index);
 +        $templ->assign('hastodos',count($this->todoList));
 +        $templ->assign('todolink','todolist.html');
 +        $templ->assign("subdir",'');
 +        return $templ;
 +    }
 +    
 +    /**
 +     * Writes out the template file of {@link $class_data} and unsets the template to save memory
 +     * @see registerCurrentClass()
 +     * @see parent::endClass()
 +     */
 +    function endClass()
 +    {
 +        $a = '../';
 +        if (!empty($this->subpackage)) $a .= '../';
 +        if ($this->juststarted)
 +        {
 +            $this->juststarted = false;
 +            phpDocumentor_out("\n");
 +            flush();
 +        }
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir);
 +        $this->class_data->assign("compiledclassindex",$this->getClassLeft());
 +        $this->class_data->assign("compiledfileindex",$this->getPageLeft());
 +        $this->class_data->assign("tutorials",$this->getTutorialList());
 +        $this->class_data->assign("contents",$this->getClassContents());
 +        $this->class_data->assign("packageindex",$this->package_index);
 +        $this->class_data->assign("package",$this->package);
 +        $this->class_data->assign("subdir",$a);
 +        $this->class_data->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->writefile($this->class . '.html',$this->class_data->fetch('class.tpl'));
 +        unset($this->class_data);
 +    }
 +    
 +    function getTutorialList()
 +    {
 +        static $cache = false;
 +        if ($cache)
 +        {
 +            if (isset($cache[$this->package])) return $cache[$this->package];
 +        }
 +        $package = $this->package;
 +        if (!isset($this->tutorials[$package])) return false;
 +        foreach($this->tutorials[$package] as $subpackage => $blah)
 +        {
 +            $subpackages[] = $subpackage;
 +        }
 +        $tutes = array();
 +        foreach($subpackages as $subpackage)
 +        {
 +            if (isset($this->tutorial_tree) && is_array($this->tutorial_tree))
 +            foreach($this->tutorial_tree as $root => $tr)
 +            {
 +                if ($tr['tutorial']->package == $package && $tr['tutorial']->subpackage == $subpackage)
 +                $tutes[$tr['tutorial']->tutorial_type][] = $this->getTutorialTree($tr['tutorial']);
 +            }
 +        }
 +        $cache[$this->package] = $tutes;
 +        return $tutes;
 +    }
 +    
 +    function getTutorialTree($tutorial,$k = false)
 +    {
 +        $ret = '';
 +        if (is_object($tutorial)) $tree = parent::getTutorialTree($tutorial); else $tree = $tutorial;
 +        if (!$tree)
 +        {
 +            $template = &$this->newSmarty();
 +            $template->assign('subtree',false);
 +            $template->assign('name',str_replace('.','',$tutorial->name));
 +            $template->assign('parent',false);
 +            $template->assign('haskids',false);
 +            $template->assign('kids','');
 +            $link = new tutorialLink;
 +            $t = $tutorial;
 +            $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this));
 +            $main = array('link' => $this->getId($link), 'title' => $link->title);
 +            $template->assign('main',$main);
 +            return $template->fetch('tutorial_tree.tpl');
 +        }
 +        if (isset($tree['kids']))
 +        {
 +            foreach($tree['kids'] as $subtree)
 +            {
 +                $ret .= $this->getTutorialTree($subtree, true);
 +            }
 +        }
 +        $template = &$this->newSmarty();
 +        $template->assign('subtree',$k);
 +        $template->assign('name',str_replace('.','',$tree['tutorial']->name));
 +        $template->assign('parent',($k ? str_replace('.','',$tree['tutorial']->parent->name) : false));
 +        $template->assign('haskids',strlen($ret));
 +        $template->assign('kids',$ret);
 +        $link = new tutorialLink;
 +        $t = $tree['tutorial'];
 +        $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this));
 +        $main = array('link' => $this->getId($link), 'title' => $link->title);
 +        $template->assign('main',$main);
 +        return $template->fetch('tutorial_tree.tpl');
 +    }
 +    
 +    function getClassLeft()
 +    {
 +        if ($this->_classleft_cache)
 +        {
 +            if (isset($this->_classleft_cache[$this->package][$this->subpackage])) return $this->_classleft_cache[$this->package][$this->subpackage];
 +        }
 +        $arr = array();
 +        if (isset($this->left['#class'][$this->package]))
 +        foreach($this->left['#class'][$this->package] as $subpackage => $pages)
 +        {
 +            $arr[$subpackage] = $pages;
 +        }
 +        $templ = &$this->newSmarty();
 +        $templ->assign('classleftindex',$arr);
 +        $arr = $templ->fetch('classleft.tpl');
 +        $this->_classleft_cache[$this->package][$this->subpackage] = $arr;
 +        return $arr;
 +    }
 +    
 +    function getClassContents()
 +    {
 +        if ($this->_classcontents_cache)
 +        {
 +            if (isset($this->_classcontents_cache[$this->package][$this->subpackage][$this->class])) return $this->_classcontents_cache[$this->package][$this->subpackage][$this->class];
 +        }
 +        $arr = array();
 +        foreach($this->class_contents[$this->package][$this->subpackage][$this->class] as $i => $link)
 +        {
 +            if (is_object($link))
 +            $arr[$link->type][] = $this->returnSee($link,$link->name);
 +        }
 +        $this->_classcontents_cache[$this->package][$this->subpackage][$this->class] = $arr;
 +        return $arr;
 +    }
 +    
 +    function getPageContents()
 +    {
 +        if (!isset($this->path)) $this->path = '#####';
 +        if ($this->_pagecontents_cache)
 +        {
 +            if (isset($this->_pagecontents_cache[$this->package][$this->subpackage][$this->path])) return $this->_pagecontents_cache[$this->package][$this->subpackage][$this->path];
 +        }
 +        $arr = array();
 +        foreach($this->page_contents[$this->curpage->package][$this->curpage->subpackage] as $i => $link)
 +        {
 +            if (is_object($link))
 +            $arr[$link->type][$i] = $this->returnSee($link);
 +        }
 +        $this->_pagecontents_cache[$this->package][$this->subpackage][$this->path] = $arr;
 +        return $arr;
 +    }
 +    
 +    function getPageLeft()
 +    {
 +        if ($this->_pageleft_cache)
 +        {
 +            if (isset($this->_pageleft_cache[$this->package][$this->subpackage])) return $this->_pageleft_cache[$this->package][$this->subpackage];
 +        }
 +        $arr = array();
 +        if (isset($this->left[$this->package]))
 +        foreach($this->left[$this->package] as $subpackage => $pages)
 +        {
 +            $arr[$subpackage] = $pages;
 +        }
 +        $templ = &$this->newSmarty();
 +        $templ->assign('fileleftindex',$arr);
 +        $arr = $templ->fetch('fileleft.tpl');
 +        $this->_pageleft_cache[$this->package][$this->subpackage] = $arr;
 +        return $arr;
 +    }
 +    
 +    /**
 +     * Writes out the template file of {@link $page_data} and unsets the template to save memory
 +     * @see registerCurrent()
 +     * @see parent::endPage()
 +     */
 +    function endPage()
 +    {
 +        $this->package = $this->curpage->package;
 +        $this->subpackage = $this->curpage->subpackage;
 +        $a = '../';
 +        if (!empty($this->subpackage)) $a .= '../';
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir);
 +        $this->page_data->assign("contents",$this->getPageContents());
 +        $this->page_data->assign("compiledfileindex",$this->getPageLeft());
 +        $this->page_data->assign("compiledclassindex",$this->getClassLeft());
 +        $this->page_data->assign("tutorials",$this->getTutorialList());
 +        $this->page_data->assign("packageindex",$this->package_index);
 +        $this->page_data->assign("package",$this->package);
 +        $this->page_data->assign("subdir",$a);
 +        $this->page_data->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->writefile($this->page . '.html',$this->page_data->fetch('page.tpl'));
 +        unset($this->page_data);
 +    }
 +    
 +    /**
 +     * @param string
 +     * @param string
 +     * @return string <a href="'.$link.'">'.$text.'</a>
 +     */
 +    function returnLink($link,$text)
 +    {
 +        return '<a href="'.$link.'">'.$text.'</a>';
 +    }
 +    
 +    function makeLeft()
 +    {
 +        if ($this->_done_package_index) return;
 +        $this->_done_package_index = true;
 +        if (!isset($this->package_index))
 +        foreach($this->all_packages as $key => $val)
 +        {
 +            if (isset($this->pkg_elements[$key]))
 +            {
 +                if (!isset($start)) $start = $key;
 +                $this->package_index[] = array('link' => "li_$key.html", 'title' => $key);
 +            }
 +        }
 +        foreach($this->page_elements as $package => $o1)
 +        {
 +            foreach($o1 as $subpackage => $links)
 +            {
 +                for($i=0;$i<count($links);$i++)
 +                {
 +                    $this->left[$package][$subpackage][] =
 +                        array("link" => $this->getId($links[$i]), "title" => $links[$i]->name);
 +                }
 +            }
 +        }
 +        foreach($this->class_elements as $package => $o1)
 +        {
 +            foreach($o1 as $subpackage => $links)
 +            {
 +                for($i=0;$i<count($links);$i++)
 +                {
 +                    $this->left['#class'][$package][$subpackage][] =
 +                        array("link" => $this->getId($links[$i]), "title" => $links[$i]->name);
 +                }
 +            }
 +        }
 +    }
 +    
 +    /**
 +     * HTMLdefaultConverter chooses to format both package indexes and the complete index here
 +     *
 +     * This function formats output for the elementindex.html and pkgelementindex.html template files.  It then
 +     * writes them to the target directory
 +     * @see generateElementIndex(), generatePkgElementIndex()
 +     */
 +    function formatPkgIndex()
 +    {
 +        list($package_indexes,$packages,$mletters) = $this->generatePkgElementIndexes();
 +        for($i=0;$i<count($package_indexes);$i++)
 +        {
 +            $template = &$this->newSmarty();
 +            $this->package = $package_indexes[$i]['package'];
 +            $this->subpackage = '';
 +            $template->assign("compiledclassindex",$this->getClassLeft());
 +            $template->assign("compiledfileindex",$this->getPageLeft());
 +            $template->assign("tutorials",$this->getTutorialList());
 +            $template->assign("index",$package_indexes[$i]['pindex']);
 +            $template->assign("package",$package_indexes[$i]['package']);
 +            $template->assign("letters",$mletters[$package_indexes[$i]['package']]);
 +            $template->assign("title","Package ".$package_indexes[$i]['package']." Element Index");
 +            $template->assign("date",date("r",time()));
 +            $template->register_outputfilter('HTMLSmarty_outputfilter');
 +            $this->setTargetDir($this->base_dir);
 +            $this->writefile('elementindex_'.$package_indexes[$i]['package'].'.html',$template->fetch('pkgelementindex.tpl'));
 +        }
 +        phpDocumentor_out("\n");
 +        flush();
 +        }
 +    
 +    /**
 +     * HTMLdefaultConverter uses this function to format template index.html and packages.html
 +     *
 +     * This function generates the package list from {@link $all_packages}, eliminating any
 +     * packages that don't have any entries in their package index (no files at all, due to @ignore
 +     * or other factors).  Then it uses the default package name as the first package index to display.
 +     * It sets the right pane to be either a blank file with instructions on making package-level docs,
 +     * or the package-level docs for the default package.
 +     * @global string Used to set the starting package to display
 +     */
 +    function formatIndex()
 +    {
 +        global $phpDocumentor_DefaultPackageName;
 +        if (!isset($this->package_index))
 +        {
 +            debug("\nERROR: Nothing parsed, check the command-line");
 +            die();
 +        }
 +        list($elindex,$mletters) = $this->generateElementIndex();
 +        $template = &$this->newSmarty();
 +        $template->assign("index",$elindex);
 +        $template->assign("letters",$mletters);
 +        $template->assign("title","Element Index");
 +        $template->assign("date",date("r",time()));
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        $template->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->writefile('elementindex.html',$template->fetch('elementindex.tpl'));
 +        usort($this->package_index,"HTMLSmarty_pindexcmp");
 +        $index = &$this->newSmarty();
 +        foreach($this->all_packages as $key => $val)
 +        {
 +            if (isset($this->pkg_elements[$key]))
 +            {
 +                if (!isset($start)) $start = $key;
 +                if (!isset($this->package_pages[$key])) $this->writeNewPPage($key);
 +            }
 +        }
 +        // Created index.html
 +        $start = $phpDocumentor_DefaultPackageName;
 +        if (!isset($this->pkg_elements[$key]))
 +        {
 +            // if there are no elements, use a random package as the default
 +            $start = array_shift(array_keys($this->pkg_elements));
 +        }
 +        $this->package = $start;
 +        $this->subpackage = '';
 +        $index->assign("compiledclassindex",$this->getClassLeft());
 +        $index->assign("compiledfileindex",$this->getPageLeft());
 +        $index->assign('hastodos',count($this->todoList));
 +        $index->assign('todolink','todolist.html');
 +        $index->assign("tutorials",$this->getTutorialList());
 +        $index->assign("date",date("r",time()));
 +        $index->assign("package",$this->package);
 +        $index->assign("title",$this->title);
 +        $index->assign("start","li_$start.html");
 +        if (isset($this->package_pages[$start]))
 +        {
 +            $index->assign("contents",$this->package_pages[$start]);
 +        }
 +        $index->register_outputfilter('HTMLSmarty_outputfilter');
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile("index.html",$index->fetch('index.tpl'));
 +        unset($index);
 +
 +    }
 +    
 +    function writeNewPPage($key)
 +    {
 +        $template = &$this->newSmarty();
 +        $this->package = $key;
 +        $this->subpackage = '';
 +        $template->assign("compiledclassindex",$this->getClassLeft());
 +        $template->assign("compiledfileindex",$this->getPageLeft());
 +        $template->assign("tutorials",$this->getTutorialList());
 +        $template->assign("date",date("r",time()));
 +        $template->assign("title",$this->title);
 +        $template->assign("package",$key);
 +        $template->register_outputfilter('HTMLSmarty_outputfilter');
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile("li_$key.html",$template->fetch('index.tpl'));
 +        unset($template);
 +    }
 +    
 +    /**
 +     * Generate indexes for li_package.html and classtree output files
 +     *
 +     * This function generates the li_package.html files from the template file left.html.  It does this by
 +     * iterating through each of the $page_elements, $class_elements and  $function_elements arrays to retrieve
 +     * the pre-sorted {@link abstractLink} descendants needed for index generation.  Conversion of these links to
 +     * text is done by {@link returnSee()}.
 +     * 
 +     * Then it uses {@link generateFormattedClassTrees()} to create class trees from the template file classtrees.html.  Output
 +     * filename is classtrees_packagename.html.  This function also unsets {@link $elements} and {@link $pkg_elements} to free
 +     * up the considerable memory these two class vars use
 +     * @see $page_elements, $class_elements, $function_elements
 +     */
 +    function formatLeftIndex()
 +    {
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        if (!isset($this->left))
 +        {
 +            debug("Nothing parsed, check the command-line");
 +            die();
 +        }
 +        foreach($this->all_packages as $package => $rest)
 +        {
 +            if (!isset($this->pkg_elements[$package])) continue;
 +            // Create class tree page
 +            $template = &$this->newSmarty();
 +            $template->assign("compiledclassindex",$this->getClassLeft());
 +            $template->assign("compiledfileindex",$this->getPageLeft());
 +            $template->assign("classtrees",$this->generateFormattedClassTrees($package));
 +            $template->assign("package",$package);
 +            $template->assign("date",date("r",time()));
 +            $template->assign("title","Class Trees for Package $package");
 +            $template->register_outputfilter('HTMLSmarty_outputfilter');
 +            $this->writefile("classtrees_$package.html",$template->fetch('classtrees.tpl'));
 +            phpDocumentor_out("\n");
 +            flush();
 +        }
 +        $this->writeRIC();
 +        // free up considerable memory
 +        unset($this->elements);
 +        unset($this->pkg_elements);
 +    }
 +    
 +    
 +    /**
 +     * This function takes an {@link abstractLink} descendant and returns an html link
 +     *
 +     * @param abstractLink a descendant of abstractlink should be passed, and never text
 +     * @param string text to display in the link
 +     * @param boolean this parameter is not used, and is deprecated
 +     * @param boolean determines whether the returned text is enclosed in an <a> tag
 +     */
 +    function returnSee(&$element, $eltext = false, $with_a = true)
 +    {
 +        if (!is_object($element) || !$element) return false;
 +        if (!$with_a) return $this->getId($element, false);
 +        if (!$eltext)
 +        {
 +            $eltext = '';
 +            switch($element->type)
 +            {
 +                case 'tutorial' :
 +                $eltext = strip_tags($element->title);
 +                break;
 +                case 'method' :
 +                case 'var' :
 +                case 'const' :
 +                $eltext .= $element->class.'::';
 +                case 'page' :
 +                case 'define' :
 +                case 'class' :
 +                case 'function' :
 +                case 'global' :
 +                default :
 +                $eltext .= $element->name;
 +                if ($element->type == 'function' || $element->type == 'method') $eltext .= '()';
 +                break;
 +            }
 +        }
 +        return '<a href="'.$this->getId($element).'">'.$eltext.'</a>';
 +    }
 +    
 +    function getId($element, $fullpath = true)
 +    {
 +        if (phpDocumentor_get_class($element) == 'parserdata')
 +        {
 +            $element = $this->addLink($element->parent);
 +            $elp = $element->parent;
 +        } elseif (is_a($element, 'parserbase'))
 +        {
 +            $elp = $element;
 +            $element = $this->addLink($element);
 +        }
 +        $c = '';
 +        if (!empty($element->subpackage))
 +        {
 +            $c = '/'.$element->subpackage;
 +        }
 +        $b = '{$subdir}';
 +        switch ($element->type)
 +        {
 +            case 'page' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->fileAlias.'.html';
 +            return 'top';
 +            break;
 +            case 'define' :
 +            case 'global' :
 +            case 'function' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->fileAlias.'.html#'.$element->type.$element->name;
 +            return $element->type.$element->name;
 +            break;
 +            case 'class' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->name.'.html';
 +            return 'top';
 +            break;
 +            case 'method' :
 +            case 'var' :
 +            case 'const' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->class.'.html#'.$element->type.$element->name;
 +            return $element->type.$element->name;
 +            break;
 +            case 'tutorial' :
 +            $d = '';
 +            if ($element->section)
 +            {
 +                $d = '#'.$element->section;
 +            }
 +            return $b.$element->package.$c.'/tutorial_'.$element->name.'.html'.$d;
 +        }
 +    }
 +    
 +    /**
 +     * Convert README/INSTALL/CHANGELOG file contents to output format
 +     * @param README|INSTALL|CHANGELOG
 +     * @param string contents of the file
 +     */
 +    function Convert_RIC($name, $contents)
 +    {
 +        $this->ric_contents[$name] = $contents;
 +        $this->ric_set[] = array('file' => 'ric_'.$name . '.html','name' => $name);
 +    }
 +    
 +    function writeRIC()
 +    {
 +        if ($this->_ric_done) return;
 +        $this->_ric_done = true;
 +        foreach($this->ric_contents as $name => $contents)
 +        {
 +            $template = &$this->newSmarty();
 +            $template->assign('contents',$contents);
 +            $template->assign('name',$name);
 +            $template->assign('title',$name);
 +            $this->setTargetDir($this->base_dir);
 +            $this->writefile('ric_'.$name . '.html',$template->fetch('ric.tpl'));
 +        }
 +    }
 +    
 +    function ConvertTodoList()
 +    {
 +        $todolist = array();
 +        foreach($this->todoList as $package => $alltodos)
 +        {
 +            foreach($alltodos as $todos)
 +            {
 +                $converted = array();
 +                $converted['link'] = $this->returnSee($todos[0]);
 +                if (!is_array($todos[1]))
 +                {
 +                    $converted['todos'][] = $todos[1]->Convert($this);
 +                } else
 +                {
 +                    foreach($todos[1] as $todo)
 +                    {
 +                        $converted['todos'][] = $todo->Convert($this);
 +                    }
 +                }
 +                $todolist[$package][] = $converted;
 +            }
 +        }
 +        $templ = &$this->newSmarty();
 +        $templ->assign('todos',$todolist);
 +        $templ->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile('todolist.html',$templ->fetch('todolist.tpl'));
 +    }
 +    
 +    /**
 +     * Create errors.html template file output
 +     *
 +     * This method takes all parsing errors and warnings and spits them out ordered by file and line number.
 +     * @global ErrorTracker We'll be using it's output facility
 +     */
 +    function ConvertErrorLog()
 +    {
 +        global $phpDocumentor_errors;
 +        $allfiles = array();
 +        $files = array();
 +        $warnings = $phpDocumentor_errors->returnWarnings();
 +        $errors = $phpDocumentor_errors->returnErrors();
 +        $template = &$this->newSmarty();
 +        foreach($warnings as $warning)
 +        {
 +            $file = '##none';
 +            $linenum = 'Warning';
 +            if ($warning->file)
 +            {
 +                $file = $warning->file;
 +                $allfiles[$file] = 1;
 +                $linenum .= ' on line '.$warning->linenum;
 +            }
 +            $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data);
 +        }
 +        foreach($errors as $error)
 +        {
 +            $file = '##none';
 +            $linenum = 'Error';
 +            if ($error->file)
 +            {
 +                $file = $error->file;
 +                $allfiles[$file] = 1;
 +                $linenum .= ' on line '.$error->linenum;
 +            }
 +            $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data);
 +        }
 +        $i=1;
 +        $af = array();
 +        foreach($allfiles as $file => $num)
 +        {
 +            $af[$i++] = $file;
 +        }
 +        $allfiles = $af;
 +        usort($allfiles,'strnatcasecmp');
 +        $allfiles[0] = "Post-parsing";
 +        foreach($allfiles as $i => $a)
 +        {
 +            $allfiles[$i] = array('file' => $a);
 +        }
 +        $out = array();
 +        foreach($files as $file => $data)
 +        {
 +            if ($file == '##none') $file = 'Post-parsing';
 +            $out[$file] = $data;
 +        }
 +        $template->assign("files",$allfiles);
 +        $template->assign("all",$out);
 +        $template->assign("title","phpDocumentor Parser Errors and Warnings");
 +        $template->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile("errors.html",$template->fetch('errors.tpl'));
 +        unset($template);
 +        phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n");
 +        flush();
 +    }
 +    
 +    function getCData($value)
 +    {
 +        return '<pre>'.htmlentities($value).'</pre>';
 +    }
 +    
 +    function getTutorialId($package,$subpackage,$tutorial,$id)
 +    {
 +        return $id;
 +    }
 +
 +    /**
 +     * Converts package page and sets its package as used in {@link $package_pages}
 +     * @param parserPackagePage
 +     */
 +    function convertPackagepage(&$element)
 +    {
 +        phpDocumentor_out("\n");
 +        flush();
 +        $template = &$this->newSmarty();
 +        $this->package = $element->package;
 +        $this->subpackage = '';
 +        $template->assign("compiledclassindex",$this->getClassLeft());
 +        $template->assign("compiledfileindex",$this->getPageLeft());
 +        $template->assign("tutorials",$this->getTutorialList());
 +        $template->assign("date",date("r",time()));
 +        $template->assign("title",$this->title);
 +        $template->assign("package",$element->package);
 +        $x = $element->Convert($this);
 +        $x = substr($x,strpos($x,'<body'));
 +        $template->assign("contents",trim(substr($x,strpos($x,'>') + 1)));
 +        $this->package_pages[$element->package] = trim(substr($x,strpos($x,'>') + 1));
 +        $template->register_outputfilter('HTMLSmarty_outputfilter');
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile("li_".$element->package.".html",$template->fetch('index.tpl'));
 +        unset($template);
 +    }
 +    
 +    /**
 +     * @param parserTutorial
 +     */
 +    function convertTutorial(&$element)
 +    {
 +        phpDocumentor_out("\n");
 +        flush();
 +        $template = &parent::convertTutorial($element);
 +        $this->package = $element->package;
 +        $this->subpackage = $element->subpackage;
 +        $template->assign("compiledclassindex",$this->getClassLeft());
 +        $template->assign("compiledfileindex",$this->getPageLeft());
 +        $template->assign("tutorials",$this->getTutorialList());
 +        $template->assign("title",strip_tags($element->getTitle($this)));
 +        $contents = $element->Convert($this);
 +        if ($element->name == $this->package . '.pkg')
 +        {
 +            $this->package_pages[$element->package] = $contents;
 +        }
 +        $a = '../';
 +        if (!empty($element->subpackage)) $a .= $a;
 +        $template->assign("subdir",$a);
 +        $a = '';
 +        if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage;
 +        $template->register_outputfilter('HTMLSmarty_outputfilter');
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package . $a);
 +        $this->writeFile('tutorial_'.$element->name.'.html',$template->fetch('tutorial.tpl'));
 +        if ($element->name == $element->package . '.pkg')
 +        {
 +            phpDocumentor_out("\n");
 +            flush();
 +            // package-level docs
 +            $this->setTargetDir($this->base_dir);
 +            $template->assign("subdir",'');
 +            $this->writeFile('li_'.$element->package.'.html',$template->fetch('tutorial.tpl'));
 +        }
 +        unset($template);
 +    }
 +
 +    /**
 +     * Converts class for template output
 +     * @see prepareDocBlock(), generateChildClassList(), generateFormattedClassTree(), getFormattedConflicts()
 +     * @see getFormattedInheritedMethods(), getFormattedInheritedVars()
 +     * @param parserClass
 +     */
 +    function convertClass(&$element)
 +    {
 +        parent::convertClass($element);
 +        $this->class_dir = $element->docblock->package;
 +        if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage;
 +        $a = '../classtrees_';
 +        if ($element->docblock->subpackage != '') $a = "../$a";
 +        
 +        $this->class_data->assign('subdir',$a);
 +        $this->class_data->assign("title","Docs For Class " . $element->getName());
 +        $this->class_data->assign("page",$element->getName() . '.html');
 +    }
 +
 +    /**
 +     * Converts class variables for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertVar(&$element)
 +    {
 +        parent::convertVar($element, array('var_dest' => $this->getId($element,false)));
 +    }
 +
 +    /**
 +     * Converts class variables for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertConst(&$element)
 +    {
 +        parent::convertConst($element, array('const_dest' => $this->getId($element,false)));
 +    }
 +
 +    /**
 +     * Converts class methods for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertMethod(&$element)
 +    {
 +        parent::convertMethod($element, array('method_dest' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * Converts function for template output
 +     * @see prepareDocBlock(), parserFunction::getFunctionCall(), getFormattedConflicts()
 +     * @param parserFunction
 +     */
 +    function convertFunction(&$element)
 +    {
 +        $funcloc = $this->getId($this->addLink($element));
 +        parent::convertFunction($element,array('function_dest' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * Converts include elements for template output
 +     * @see prepareDocBlock()
 +     * @param parserInclude
 +     */
 +    function convertInclude(&$element)
 +    {
 +        parent::convertInclude($element, array('include_file'    => '_'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '_'))));
 +    }
 +    
 +    /**
 +     * Converts defines for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertDefine(&$element)
 +    {
 +        parent::convertDefine($element, array('define_link' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * Converts global variables for template output
 +     * @param parserGlobal
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     */
 +    function convertGlobal(&$element)
 +    {
 +        parent::convertGlobal($element, array('global_link' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * converts procedural pages for template output
 +     * @see prepareDocBlock(), getClassesOnPage()
 +     * @param parserData
 +     */
 +    function convertPage(&$element)
 +    {
 +        parent::convertPage($element);
 +        $this->juststarted = true;
 +        $this->page_dir = $element->parent->package;
 +        if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage;
 +        // registering stuff on the template
 +        $a = '../';
 +        if (!empty($element->docblock->subpackage)) $a = $a . $a;
 +        $this->page_data->assign('subdir',$a);
 +        $this->page_data->assign("page",$this->getPageName($element) . '.html');
 +        $this->page_data->assign("title","Docs for page ".$element->parent->getFile());
 +    }
 +    
 +    function getPageName(&$element)
 +    {
 +        if (phpDocumentor_get_class($element) == 'parserpage') return '_'.$element->getName();
 +        return '_'.$element->parent->getName();
 +    }
 +
 +    /**
 +     * returns an array containing the class inheritance tree from the root object to the class
 +     *
 +     * @param parserClass    class variable
 +     * @return array Format: array(root,child,child,child,...,$class)
 +     * @uses parserClass::getParentClassTree()
 +     */
 +    
 +    function generateFormattedClassTree($class)
 +    {
 +        $tree = $class->getParentClassTree($this);
 +        $out = '';
 +        if (count($tree) - 1)
 +        {
 +            $result = array($class->getName());
 +            $parent = $tree[$class->getName()];
 +            $distance[] = '';
 +            while ($parent)
 +            {
 +                $x = $parent;
 +                if (is_object($parent))
 +                {
 +                    $subpackage = $parent->docblock->subpackage;
 +                    $package = $parent->docblock->package;
 +                    $x = $parent;
 +                    $x = $parent->getLink($this);
 +                    if (!$x) $x = $parent->getName();
 +                }
 +                $result[] = 
 +                    $x;
 +                $distance[] =
 +                    "\n%s|\n" .
 +                    "%s--";
 +                if (is_object($parent))
 +                $parent = $tree[$parent->getName()];
 +                elseif (isset($tree[$parent]))
 +                $parent = $tree[$parent];
 +            }
 +            $nbsp = '   ';
 +            for($i=count($result) - 1;$i>=0;$i--)
 +            {
 +                $my_nbsp = '';
 +                for($j=0;$j<count($result) - $i;$j++) $my_nbsp .= $nbsp;
 +                $distance[$i] = sprintf($distance[$i],$my_nbsp,$my_nbsp);
 +            }
 +            return array('classes'=>array_reverse($result),'distance'=>array_reverse($distance));
 +        } else
 +        {
 +            return array('classes'=>$class->getName(),'distance'=>array(''));
 +        }
 +    }
 +    
 +    /** @access private */
 +    function sortVar($a, $b)
 +    {
 +        return strnatcasecmp($a->getName(),$b->getName());
 +    }
 +    
 +    /** @access private */
 +    function sortMethod($a, $b)
 +    {
 +        if ($a->isConstructor) return -1;
 +        if ($b->isConstructor) return 1;
 +        return strnatcasecmp($a->getName(),$b->getName());
 +    }
 +
 +    /**
 +     * returns a template-enabled array of class trees
 +     * 
 +     * @param    string    $package    package to generate a class tree for
 +     * @see $roots, HTMLConverter::getRootTree()
 +     */
 +    function generateFormattedClassTrees($package)
 +    {
 +        if (!isset($this->roots[$package])) return array();
 +        $roots = $trees = array();
 +        $roots = $this->roots[$package];
 +        for($i=0;$i<count($roots);$i++)
 +        {
 +            $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n");
 +        }
 +        return $trees;
 +    }
 +    
 +    /**
 +     * return formatted class tree for the Class Trees page
 +     *
 +     * @param array $tree output from {@link getSortedClassTreeFromClass()}
 +     * @see Classes::$definitechild, generateFormattedClassTrees()
 +     * @return string
 +     */
 +    function getRootTree($tree,$package)
 +    {
 +        if (!$tree) return '';
 +        $my_tree = '';
 +        $cur = '#root';
 +        $lastcur = array(false);
 +        $kids = array();
 +        $dopar = false;
 +        if ($tree[$cur]['parent'])
 +        {
 +            $dopar = true;
 +            if (!is_object($tree[$cur]['parent']))
 +            {
 +//                debug("parent ".$tree[$cur]['parent']." not found");
 +                $my_tree .= '<li>' . $tree[$cur]['parent'] .'<ul>';
 +            }
 +            else
 +            {
 +//                        debug("parent ".$this->returnSee($tree[$cur]['parent'])." in other package");
 +                $my_tree .= '<li>' . $this->returnSee($tree[$cur]['parent']);
 +                if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <b>(Different package)</b><ul>';
 +            }
 +        }
 +        do
 +        {
 +//            fancy_debug($cur,$lastcur,$kids);
 +            if (count($tree[$cur]['children']))
 +            {
 +//                debug("$cur has children");
 +                if (!isset($kids[$cur]))
 +                {
 +//                    debug("set $cur kids");
 +                    $kids[$cur] = 1;
 +                    $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']);
 +                    $my_tree .= '<ul>'."\n";
 +                }
 +                array_push($lastcur,$cur);
 +                list(,$cur) = each($tree[$cur]['children']);
 +//                var_dump('listed',$cur);
 +                if ($cur)
 +                {
 +                    $cur = $cur['package'] . '#' . $cur['class'];
 +//                    debug("set cur to child $cur");
 +//                    $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']);
 +                    continue;
 +                } else
 +                {
 +//                    debug("end of children for $cur");
 +                    $cur = array_pop($lastcur);
 +                    $cur = array_pop($lastcur);
 +                    $my_tree .= '</ul></li>'."\n";
 +                    if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</ul></li>';
 +                }
 +            } else 
 +            {
 +//                debug("$cur has no children");
 +                $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'])."</li>";
 +                if ($dopar && $cur == '#root') $my_tree .= '</ul></li>';
 +                $cur = array_pop($lastcur);
 +            }
 +        } while ($cur);
 +        return $my_tree;
 +    }
 +        /**
 +         * Generate indexing information for given element
 +         * 
 +         * @param parserElement descendant of parserElement
 +         * @see generateElementIndex()
 +         * @return array
 +         */
 +        function getIndexInformation($elt)
 +        {
 +            $Result['type'] = $elt->type;
 +            $Result['file_name'] = $elt->file;
 +            $Result['path'] = $elt->getPath();
 +            
 +            if (isset($elt->docblock))
 +						{
 +							$Result['description'] = $elt->docblock->getSDesc($this);
 +							
 +							if ($elt->docblock->hasaccess)
 +								$Result['access'] = $elt->docblock->tags['access'][0]->value;
 +							else
 +								$Result['access'] = 'public';
 +
 +							$Result['abstract'] = isset ($elt->docblock->tags['abstract'][0]);
 +						}
 +            else
 +                $Result['description'] = '';
 +            
 +            $aa = $Result['description'];
 +            if (!empty($aa)) $aa = "<br>    $aa";
 +
 +            switch($elt->type)
 +            {
 +                    case 'class':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Class';
 +                            $Result['link'] = $this->getClassLink($elt->getName(),
 +                                                                  $elt->docblock->package,
 +                                                                  $elt->getPath(),
 +                                                                  $elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', class '.$Result['link']."$aa";
 +                    break;
 +                    case 'define':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Constant';
 +                            $Result['link'] = $this->getDefineLink($elt->getName(),
 +                                                                   $elt->docblock->package,
 +                                                                   $elt->getPath(),
 +                                                                   $elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', constant '.$Result['link']."$aa";
 +                    break;
 +                    case 'global':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Global';
 +                            $Result['link'] = $this->getGlobalLink($elt->getName(),
 +                                                                   $elt->docblock->package,
 +                                                                   $elt->getPath(),
 +                                                                   $elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', global variable '.$Result['link']."$aa";
 +                    break;
 +                    case 'function':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Function';
 +                            $Result['link'] = $this->getFunctionLink($elt->getName(),
 +                                                                     $elt->docblock->package,
 +                                                                     $elt->getPath(),
 +                                                                     $elt->getName().'()');
 +                            $Result['listing'] = 'in file '.$elt->file.', function '.$Result['link']."$aa";
 +                    break;
 +                    case 'method':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Method';
 +                            $Result['link'] = $this->getMethodLink($elt->getName(),
 +                                                                   $elt->class,
 +                                                                   $elt->docblock->package,
 +                                                                   $elt->getPath(),
 +                                                                   $elt->class.'::'.$elt->getName().'()'
 +                                                                             );
 +														if ($elt->isConstructor) $Result['constructor'] = 1;
 +                            $Result['listing'] = 'in file '.$elt->file.', method '.$Result['link']."$aa";
 +                    break;
 +                    case 'var':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Variable';
 +                            $Result['link'] = $this->getVarLink($elt->getName(),
 +                                                                $elt->class,
 +                                                                $elt->docblock->package,
 +                                                                $elt->getPath(),
 +                                                                $elt->class.'::'.$elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', variable '.$Result['link']."$aa";
 +                    break;
 +                    case 'const':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Variable';
 +                            $Result['link'] = $this->getConstLink($elt->getName(),
 +                                                                $elt->class,
 +                                                                $elt->docblock->package,
 +                                                                $elt->getPath(),
 +                                                                $elt->class.'::'.$elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', class constant '.$Result['link']."$aa";
 +                    break;
 +                    case 'page':
 +                            $Result['name'] = $elt->getFile();
 +                            $Result['title'] = 'Page';
 +                            $Result['link'] = $this->getPageLink($elt->getFile(),
 +                                                                 $elt->package,
 +                                                                 $elt->getPath(),
 +                                                                 $elt->getFile());
 +                            $Result['listing'] = 'procedural page '.$Result['link'];
 +                    break;
 +                    case 'include':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Include';
 +                            $Result['link'] = $elt->getValue();
 +                            $Result['listing'] = 'include '.$Result['name'];
 +                    break;
 +            }
 +
 +            return $Result;
 +        }
 +    /**
 +     * Generate alphabetical index of all elements
 +     *
 +     * @see $elements, walk()
 +     */
 +    function generateElementIndex()
 +    {
 +        $elementindex = array();
 +        $letters = array();
 +        $used = array();
 +        foreach($this->elements as $letter => $nutoh)
 +        {
 +            foreach($this->elements[$letter] as $i => $yuh)
 +            {
 +                if ($this->elements[$letter][$i]->type != 'include')
 +                {
 +                    if (!isset($used[$letter]))
 +                    {
 +                        $letters[]['letter'] = $letter;
 +                        $elindex['letter'] = $letter;
 +                        $used[$letter] = 1;
 +                    }
 +
 +                    $elindex['index'][] = $this->getIndexInformation($this->elements[$letter][$i]);
 +                }
 +            }
 +            if (isset($elindex['index']))
 +            {
 +                $elementindex[] = $elindex;
 +            } else
 +            {
 +                unset($letters[count($letters) - 1]);
 +            }
 +            $elindex = array();
 +        }
 +        return array($elementindex,$letters);
 +    }
 +    
 +    function copyMediaRecursively($media,$targetdir,$subdir = '')
 +    {
 +        if (!is_array($media)) {
 +            return;
 +        }
 +        foreach($media as $dir => $files)
 +        {
 +            if ($dir === '/')
 +            {
 +                $this->copyMediaRecursively($files,$targetdir);
 +            } else
 +            {
 +                if (!is_numeric($dir))
 +                {
 +                    // create the subdir
 +                    phpDocumentor_out("creating $targetdir/$dir\n");
 +                    Converter::setTargetDir($targetdir . PATH_DELIMITER . $dir);
 +                    if (!empty($subdir)) $subdir .= PATH_DELIMITER;
 +                    $this->copyMediaRecursively($files,"$targetdir/$dir",$subdir . $dir);
 +                } else
 +                {
 +                    // copy the file
 +                    phpDocumentor_out("copying $targetdir/".$files['file']."\n");
 +                    $this->copyFile($files['file'],$subdir);
 +                }
 +            }
 +        }
 +    }
 +    
 +    /**
 +     * calls the converter setTargetDir, and then copies any template images and the stylesheet if they haven't been copied
 +     * @see Converter::setTargetDir()
 +     */
 +    function setTargetDir($dir)
 +    {
 +        Converter::setTargetDir($dir);
 +        if ($this->_wrote_tdir) return;
 +        $this->_wrote_tdir = true;
 +        $template_images = array();
 +        $stylesheets = array();
 +        $tdir = $dir;
 +        $dir = $this->templateDir;
 +        $this->templateDir = $this->templateDir.'templates/';
 +        $info = new Io;
 +        $this->copyMediaRecursively($info->getDirTree($this->templateDir.'media',$this->templateDir),$tdir);
 +    }
 +    
 +    /**
 +     * Generate alphabetical index of all elements by package and subpackage
 +     *
 +     * @param string $package name of a package
 +     * @see $pkg_elements, walk(), generatePkgElementIndexes()
 +     */
 +    function generatePkgElementIndex($package)
 +    {
 +        $elementindex = array();
 +        $letters = array();
 +        $letterind = array();
 +        $used = array();
 +        $subp = '';
 +        foreach($this->pkg_elements[$package] as $subpackage => $els)
 +        {
 +            if (empty($els)) continue;
 +            if (!empty($subpackage)) $subp = " (<b>subpackage:</b> $subpackage)"; else $subp = '';
 +            foreach($els as $letter => $yuh)
 +            {
 +                foreach($els[$letter] as $i => $yuh)
 +                {
 +                    if ($els[$letter][$i]->type != 'include')
 +                    {
 +                        if (!isset($used[$letter]))
 +                        {
 +                            $letters[]['letter'] = $letter;
 +                            $letterind[$letter] = count($letters) - 1;
 +                            $used[$letter] = 1;
 +                        }
 +                        $elindex[$letter]['letter'] = $letter;
 +
 +                        $elindex[$letter]['index'][] = $this->getIndexInformation($els[$letter][$i]);
 +                    }
 +                }
 +            }
 +        }
 +        ksort($elindex);
 +        usort($letters,'HTMLSmarty_lettersort');
 +        if (isset($elindex))
 +        {
 +            while(list($letter,$tempel) = each($elindex))
 +            {
 +                if (!isset($tempel))
 +                {
 +                    unset($letters[$letterind[$tempel['letter']]]);
 +                } else
 +                $elementindex[] = $tempel;
 +            }
 +        } else $letters = array();
 +        return array($elementindex,$letters);
 +    }
 +    
 +    /**
 +     *
 +     * @see generatePkgElementIndex()
 +     */
 +    function generatePkgElementIndexes()
 +    {
 +        $packages = array();
 +        $package_names = array();
 +        $pkg = array();
 +        $letters = array();
 +        foreach($this->pkg_elements as $package => $trash)
 +        {
 +            $pkgs['package'] = $package;
 +            $pkg['package'] = $package;
 +            list($pkg['pindex'],$letters[$package]) = $this->generatePkgElementIndex($package);
 +            if (count($pkg['pindex']))
 +            {
 +                $packages[] = $pkg;
 +                $package_names[] = $pkgs;
 +            }
 +            unset($pkgs);
 +            unset($pkg);
 +        }
 +        foreach($packages as $i => $package)
 +        {
 +            $pnames = array();
 +            for($j=0;$j<count($package_names);$j++)
 +            {
 +                if ($package_names[$j]['package'] != $package['package']) $pnames[] = $package_names[$j];
 +            }
 +            $packages[$i]['packageindexes'] = $pnames;
 +        }
 +        return array($packages,$package_names,$letters);
 +    }
 +    
 +    /**
 +     * @param string name of class
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the class's documentation
 +     * @see parent::getClassLink()
 +     */
 +    function getClassLink($expr,$package, $file = false,$text = false, $with_a = true)
 +    {
 +        $a = Converter::getClassLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text, $with_a);
 +    }
 +
 +    /**
 +     * @param string name of function
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the function's documentation
 +     * @see parent::getFunctionLink()
 +     */
 +    function getFunctionLink($expr,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getFunctionLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of define
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the define's documentation
 +     * @see parent::getDefineLink()
 +     */
 +    function getDefineLink($expr,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getDefineLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of global variable
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the global variable's documentation
 +     * @see parent::getGlobalLink()
 +     */
 +    function getGlobalLink($expr,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getGlobalLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of procedural page
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the procedural page's documentation
 +     * @see parent::getPageLink()
 +     */
 +    function getPageLink($expr,$package, $path = false,$text = false)
 +    {
 +        $a = Converter::getPageLink($expr,$package,$path);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of method
 +     * @param string class containing method
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the method's documentation
 +     * @see parent::getMethodLink()
 +     */
 +    function getMethodLink($expr,$class,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getMethodLink($expr,$class,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of var
 +     * @param string class containing var
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the var's documentation
 +     * @see parent::getVarLink()
 +     */
 +    function getVarLink($expr,$class,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getVarLink($expr,$class,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of class constant
 +     * @param string class containing class constant
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the var's documentation
 +     * @see parent::getVarLink()
 +     */
 +    function getConstLink($expr,$class,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getConstLink($expr,$class,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +    
 +    /**
 +     * does a nat case sort on the specified second level value of the array
 +     *
 +     * @param    mixed    $a
 +     * @param    mixed    $b
 +     * @return    int
 +     */
 +    function rcNatCmp ($a, $b)
 +    {
 +        $aa = strtoupper($a[$this->rcnatcmpkey]);
 +        $bb = strtoupper($b[$this->rcnatcmpkey]);
 +        
 +        return strnatcasecmp($aa, $bb);
 +    }
 +    
 +    /**
 +     * does a nat case sort on the specified second level value of the array.
 +     * this one puts constructors first
 +     *
 +     * @param    mixed    $a
 +     * @param    mixed    $b
 +     * @return    int
 +     */
 +    function rcNatCmp1 ($a, $b)
 +    {
 +        $aa = strtoupper($a[$this->rcnatcmpkey]);
 +        $bb = strtoupper($b[$this->rcnatcmpkey]);
 +        
 +        if (strpos($aa,'CONSTRUCTOR') === 0)
 +        {
 +            return -1;
 +        }
 +        if (strpos($bb,'CONSTRUCTOR') === 0)
 +        {
 +            return 1;
 +        }
 +        if (strpos($aa,strtoupper($this->class)) === 0)
 +        {
 +            return -1;
 +        }
 +        if (strpos($bb,strtoupper($this->class)) === 0)
 +        {
 +            return -1;
 +        }
 +        return strnatcasecmp($aa, $bb);
 +    }
 +    
 +    /**
 +     * This function is not used by HTMLdefaultConverter, but is required by Converter
 +     */
 +    function Output()
 +    {
 +    }
 +}
 +
 +/**
 + * @access private
 + * @global string name of the package to set as the first package
 + */
 +function HTMLSmarty_pindexcmp($a, $b)
 +{
 +    global $phpDocumentor_DefaultPackageName;
 +    if ($a['title'] == $phpDocumentor_DefaultPackageName) return -1;
 +    if ($b['title'] == $phpDocumentor_DefaultPackageName) return 1;
 +    return strnatcasecmp($a['title'],$b['title']);
 +}
 +
 +/** @access private */
 +function HTMLSmarty_lettersort($a, $b)
 +{
 +    return strnatcasecmp($a['letter'],$b['letter']);
 +}
 +
 +/** @access private */
 +function HTMLSmarty_outputfilter($src, &$smarty)
 +{
 +    return str_replace('{$subdir}',$smarty->_tpl_vars['subdir'],$src);
 +}
 +?>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini new file mode 100644 index 00000000..4566db60 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false
 +
 +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag
 +[highlightSourceTokens]
 +;; format:
 +;; T_CONSTANTNAME = open
 +;; /T_CONSTANTNAME = close
 +
 +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
 +@ = <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 = <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
 +;; <tag>
 +opentag = <span class="tute-tag">
 +/opentag = </span>
 +;; </tag>
 +closetag = <span class="tute-tag">
 +/closetag = </span>
 +;; <tag attribute="value">
 +attribute = <span class="tute-attribute-name">
 +/attribute = </span>
 +;; <tag attribute="value">
 +attributevalue = <span class="tute-attribute-value">
 +/attributevalue = </span>
 +;; &entity;
 +entity = <span class="tute-entity">
 +/entity = </span>
 +;; <!-- comment -->
 +comment = <span class="tute-comment">
 +/comment = </span>
 +;; {@inline tag}
 +itag = <span class="tute-inline-tag">
 +/itag = </span>
 +
 +;; used for translation of html in DocBlocks
 +[desctranslate]
 +ul = <ul>
 +/ul = </ul>
 +ol = <ol>
 +/ol = </ol>
 +li = <li>
 +/li = </li>
 +code = <div class="listing"><pre>
 +/code = </pre></div>
 +var = <var>
 +/var = </var>
 +samp = <samp>
 +/samp = </samp>
 +kbd = <kbd>
 +/kbd = </kbd>
 +pre = <pre>
 +/pre = </pre>
 +p = <p>
 +/p = </p>
 +b = <strong>
 +/b = </strong>
 +i = <em>
 +/i = </em>
 +br = <br />
 +
 +[ppage]
 +;; this is the DocBook package page translation section.  All DocBook tags
 +;; that have a corresponding html tag must be listed here.  Entities should
 +;; also be listed here
 +;;
 +;; examples:
 +;; 1)
 +;; tagname = newtagname
 +;;
 +;; This is the simplest case, where all attributes will be added into the
 +;; starting tag and the ending tag will be html/xml style </tranlatedtagname>
 +;; <tagname></tagname> becomes <newtagname></newtagname> and
 +;; <tagname attr="value"></tagname> becomes
 +;; <newtagname attr="value"></newtagname>
 +;;
 +;; 2)
 +;; tagname = newtagname
 +;; tagname->attr = newattrname
 +;;
 +;; in this case, everything will be like the first case, except tags like:
 +;; <tagname attr="value"></tagname> will become
 +;; <newtagname newattrname="value"></newtagname>
 +;;
 +;; 3)
 +;; tagname = newtagname
 +;; tagname->attr = newattrname
 +;; tagname->attr+value = newvalue
 +;;
 +;; in this case, the value is also translated to another.  This can be useful
 +;; for instances such as focus="middle" changing to align="center" or something
 +;; of that nature.
 +;; <tagname attr="value"></tagname> will become
 +;; <newtagname newattrname="newvalue"></newtagname>
 +;;
 +;; 4)
 +;; tagname = newtagname
 +;; tagname->attr1 = newattrname
 +;; tagname->attr2 = newattrname
 +;; tagname->attr1+value|attr2+value = newvalue
 +;;
 +;; in this case, two attributes combine to make one new attribute, and the combined
 +;; value is translated into a new value
 +;; <tagname attr1="value1" attr2="value2"></tagname> will become
 +;; <newtagname newattrname="newvalue"></newtagname>
 +;;
 +;; 5)
 +;; tagname = newtagname
 +;; tagname!attr = dummy
 +;;
 +;; here, the attribute will be ignored.  dummy is not used and may be any value
 +;; <tagname attr="value"></tagname> will become
 +;; <newtagname></newtagname>
 +;;
 +;; 6)
 +;; tagname = newtagname
 +;; tagname! = dummy
 +;;
 +;; here, all attributes will be ignored.  dummy is not used and may be any value
 +;; <tagname attr1="value" attr2="foo"></tagname> will become
 +;; <newtagname></newtagname>
 +;;
 +;; 7)
 +;; tagname = newtagname
 +;; tagname/ = 1
 +;;
 +;; here, the tag will be translated as a single tag with no closing tag, and all
 +;; attributes
 +;; <tagname attr="val">{text text}</tagname> will become
 +;; <newtagname attr="val" />
 +;;
 +;; 8)
 +;; tagname = <starttaginfo />
 +;; /tagname = closetagtext
 +;;
 +;; in this case, the text <starttaginfo> will be inserted exactly as entered for
 +;; <tagname> and closetagtext for </tagname>
 +;; <tagname attr="val"></tagname> will become
 +;; <starttaginfo />closetagtext
 +;;
 +;; 9)
 +;; $attr$my_attribute = newattrname
 +;;
 +;; tagname = newtagname
 +;;
 +;; in this case, all occurences of my_attribute in any tag will be changed to
 +;; newattrname.  This is useful for changing things like role="php" to
 +;; class="php," for example.  Note that the text "$attr$" MUST be on the line
 +;; start for phpDocumentor to recognize it.
 +;;
 +;; 10)
 +;; &entity; = translation text
 +;; " = "
 +;; " = """
 +;; < = <
 +;;
 +;; Use this to control translation of entities to their appropriate values
 +
 +  =  
 +" = "
 +” = ”
 +“ = “
 +& = &
 +< = <
 +> = >
 +© = ©
 +
 +$attr$role = class
 +
 +abbrev = abbr
 +
 +blockquote = blockquote
 +
 +arg = span
 +arg->choice = class
 +
 +author = <span class="author">
 +/author = </span>
 +author! = 0
 +
 +authorblurb = <div class="author-blurb">
 +/authorblurb = </div>
 +
 +authorgroup = <div class="authors"><h2 class="title">Authors</h2>
 +/authorgroup = </div>
 +authorgroup! = 0
 +
 +caution = <span class="warning">
 +/caution = </span>
 +caution! = 0
 +
 +cmdsynopsis = <div class="cmd-synopsis">
 +/cmdsynopsis = </div>
 +
 +command = <span class="cmd-title">
 +/command = </span>
 +
 +copyright = <div class="notes">
 +/copyright = </div>
 +
 +emphasis = strong
 +
 +example = <pre class="example">
 +/example = </pre>
 +example! = 0
 +
 +function =
 +/function = ()
 +
 +formalpara = p
 +
 +graphic = img
 +graphic->fileref = src
 +graphic/ =
 +
 +important = strong
 +
 +informalequation = blockquote
 +
 +informalexample = div
 +
 +inlineequation = em
 +
 +itemizedlist = ul
 +
 +listitem = li
 +
 +literal = code
 +
 +literallayout = span
 +
 +option = " "
 +/option = 
 +
 +orderedlist = ol
 +
 +para = p
 +
 +programlisting = <pre class="listing">
 +/programlisting = </pre>
 +programlisting! = 0
 +
 +refentry = div
 +
 +refnamediv = <div class="ref-title-box">
 +/refnamediv = </div>
 +refnamediv! = 0
 +
 +refname = <h1 class="ref-title">
 +/refname = </h1>
 +
 +refpurpose = <h2 class="ref-purpose">
 +/refpurpose = </h2>
 +
 +refsynopsisdiv = <div class="ref-synopsis">
 +/refsynopsisdiv = </div>
 +refsynopsisdiv! = 0
 +
 +refsect1 = span
 +
 +refsect2 = 
 +/refsect2 = <hr />
 +
 +refsect3 = 
 +/refsect3 = <br />
 +
 +releaseinfo = <div class="release-info">(
 +/releaseinfo = )</div>
 +
 +simpara = 
 +/simpara = <br />
 +simpara! = 0
 +
 +subscript = sub
 +
 +superscript = super
 +
 +table = table
 +
 +table->colsep = rules
 +table->rowsep = rules
 +table->colsep+1|rowsep+1 = all
 +table->colsep+1|rowsep+0 = cols
 +table->colsep+0|rowsep+1 = rows
 +
 +table->frame = frame
 +table->frame+all = border
 +table->frame+none = void
 +table->frame+sides = vsides
 +table->frame+top = above
 +table->frame+topbot = hsides
 +
 +thead = thead
 +
 +tfoot = tfoot
 +
 +tbody = tbody
 +
 +colspec = col
 +
 +tgroup = colgroup
 +tgroup/ = 1
 +tgroup->cols = span
 +
 +row = tr
 +
 +entry = td
 +entry->morerows = colspan
 +entry->morerows+1 = 2
 +entry->morerows+2 = 3
 +entry->morerows+3 = 4
 +entry->morerows+4 = 5
 +entry->morerows+5 = 6
 +entry->morerows+6 = 7
 +entry->morerows+7 = 8
 +entry->morerows+8 = 9
 +entry->morerows+9 = 10
 +entry->morerows+10 = 11
 +;; add more if you need more colspans
 +
 +warning = <span class="warning">
 +/warning = </span>
 +warning! = 0
 +
 +;; now begins the attributes that should be tags in cdata
 +[$attr$id]
 +open = a
 +;close = /a
 +cdata! = true
 +quotevalues = true
 +separator = "="
 +;separateall = true
 +$id = name
 +
 +;; now begins the sections that deal with <title>
 +[refsynopsisdiv_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h1 class="title">
 +close = </h1>
 +
 +[refsect1_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h2 class="title">
 +close = </h2>
 +
 +[refsect2_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h3 class="title">
 +close = </h3>
 +
 +[refsect3_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h4 class="title">
 +close = </h4>
 +
 +[para_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <div class="title">
 +close = </div>
 +
 +[formalpara_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <div class="title">
 +close = </div>
 +
 +[example_title]
 +;tag_attr = true
 +;attr_name = title
 +;cdata_start = true
 +cdata_end = true
 +open = </td></tr><tr><td><strong>
 +close = </strong>
 +
 +[table_title]
 +;tag_attr = true
 +;attr_name = true
 +cdata_start = true
 +open = <caption>
 +close = </caption>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/__tags.tpl new file mode 100644 index 00000000..221830c4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_declaration.tpl new file mode 100644 index 00000000..d7fe2f82 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_description.tpl new file mode 100644 index 00000000..12025c1c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl new file mode 100644 index 00000000..d6a1d398 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_class_list.tpl @@ -0,0 +1 @@ +{eval var=$compiledclassindex}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_details.tpl new file mode 100644 index 00000000..bca71e17 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constant_summary.tpl new file mode 100644 index 00000000..8049c4b0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_details.tpl new file mode 100644 index 00000000..ec4fd0a2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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 
 +                                    {/if}
 +
 +                                    {if $methods[method].access == "public"}
 +                                        public 
 +                                    {/if}
 +
 +                                    {if $methods[method].abstract == "1"}
 +                                        abstract 
 +                                    {/if}
 +
 +                                    {if $methods[method].static == "1"}
 +                                        static 
 +                                    {/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/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_constructor_summary.tpl new file mode 100644 index 00000000..8819f63e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_details.tpl new file mode 100644 index 00000000..3cb5534a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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 
 +                                    {/if}
 +
 +                                    {if $methods[method].access == "public"}
 +                                        public 
 +                                    {/if}
 +
 +                                    {if $methods[method].abstract == "1"}
 +                                        abstract 
 +                                    {/if}
 +
 +                                    {if $methods[method].static == "1"}
 +                                        static 
 +                                    {/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/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_destructor_summary.tpl new file mode 100644 index 00000000..53e8f1d2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl new file mode 100644 index 00000000..0c2eddc2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_footer.tpl @@ -0,0 +1 @@ +</div>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_get_constant_type.tpl new file mode 100644 index 00000000..48301da4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_header.tpl new file mode 100644 index 00000000..f92571a4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_constants.tpl new file mode 100644 index 00000000..66c37633 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inherited_methods.tpl new file mode 100644 index 00000000..55aafb17 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_inheritence_tree.tpl new file mode 100644 index 00000000..471c7972 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_details.tpl new file mode 100644 index 00000000..b5ddfb10 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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 
 +                                    {/if}
 +
 +                                    {if $methods[method].access == "public"}
 +                                        public 
 +                                    {/if}
 +
 +                                    {if $methods[method].abstract == 1}
 +                                        abstract 
 +                                    {/if}
 +
 +                                    {if $methods[method].static == 1}
 +                                        static 
 +                                    {/if}
 +
 +                                    {$methods[method].function_return} 
 +
 +
 +                                    <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/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_method_summary.tpl new file mode 100644 index 00000000..8fefd671 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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 
 +                        {/if}
 +
 +                        {if $methods[method].abstract == 1}
 +                            abstract 
 +                        {/if}
 +
 +                        {if $methods[method].static == 1}
 +                            static 
 +                        {/if}
 +
 +                        {$methods[method].function_return}
 +{*
 +                        {if $ref == "true"}
 +                             &
 +                        {/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/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_sub_classes.tpl new file mode 100644 index 00000000..e605b314 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/_tags.tpl new file mode 100644 index 00000000..221830c4 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl new file mode 100644 index 00000000..37e94343 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/basicindex.tpl @@ -0,0 +1,18 @@ +{section name=letter loop=$letters}
 +	[ <a href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a> ]
 +{/section}
 +
 +{section name=index loop=$index}
 +  <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}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl new file mode 100644 index 00000000..b503c142 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/blank.tpl @@ -0,0 +1,5 @@ +<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 />
 +
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl new file mode 100644 index 00000000..e791bbba --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/class.tpl @@ -0,0 +1,29 @@ +{include file="header.tpl" eltype="class" hasel=true contents=$classcontents}
 +
 +<h1>{if $is_interface}Interface{else}Class{/if} {$class_name}</h1>
 +
 +{*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>
 +
 +{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"}
 +
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl new file mode 100644 index 00000000..c07fc33a --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classleft.tpl @@ -0,0 +1,9 @@ +{foreach key=subpackage item=files from=$classleftindex}
 +  <div class="package">
 +	{if $subpackage != ""}{$subpackage}<br />{/if}
 +	{section name=files loop=$files}
 +    {if $subpackage != ""}  {/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/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl new file mode 100644 index 00000000..4020e3a8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/classtrees.tpl @@ -0,0 +1,8 @@ +{include file="header.tpl" noleftindex=true}
 +<h1>{$title}</h1>
 +{section name=classtrees loop=$classtrees}
 +<hr />
 +<div class="classtree">Root class {$classtrees[classtrees].class}</div><br>
 +{$classtrees[classtrees].class_tree}
 +{/section}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl new file mode 100644 index 00000000..88856c4b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/const.tpl @@ -0,0 +1,14 @@ +{section name=consts loop=$consts}
 +{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:" ":" "|replace:"\t":"   "}</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}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl new file mode 100644 index 00000000..04ce5b48 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/define.tpl @@ -0,0 +1,32 @@ +{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}
 +  <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>
 +
 +    {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}
 +	</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/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl new file mode 100644 index 00000000..09a603f8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/docblock.tpl @@ -0,0 +1,15 @@ +{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>  </td><td>{$tags[tag].data}</td>
 +  </tr>
 +{/section}
 +</table>
 +</div>
 +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl new file mode 100644 index 00000000..175a5136 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/elementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl" noleftindex=true}
 +<a name="top"></a>
 +<h1>Index of all elements</h1>
 +{include file="basicindex.tpl" indexname="elementindex"}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl new file mode 100644 index 00000000..1576a822 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true}
 +{section name=files loop=$files}
 +<a href="#{$files[files].file}">{$files[files].file}</a><br>
 +{/section}
 +{foreach key=file item=issues from=$all}
 +<a name="{$file}"></a>
 +<h1>{$file}</h1>
 +{if count($issues.warnings)}
 +<h2>Warnings:</h2><br>
 +{section name=warnings loop=$issues.warnings}
 +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br>
 +{/section}
 +{/if}
 +{if count($issues.errors)}
 +<h2>Errors:</h2><br>
 +{section name=errors loop=$issues.errors}
 +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br>
 +{/section}
 +{/if}
 +{/foreach}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/examplesource.tpl new file mode 100644 index 00000000..fb85654b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/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/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl new file mode 100644 index 00000000..50f108d7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/fileleft.tpl @@ -0,0 +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="{$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/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl new file mode 100644 index 00000000..b23076a0 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture}
 +{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/HTML/Smarty/templates/PradoSoft/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl new file mode 100644 index 00000000..0bb7a7dd --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/footer.tpl @@ -0,0 +1,25 @@ +      <!-- content end --></td></tr></table>
 +    </td>
 +  </tr>
 +</table>
 +
 +</div><!-- main -->
 +
 +<div id="footer">
 +  <a href="/tos/">Terms of Service</a> |
 +  <a href="/support/">Contact Us</a>
 +  <br/>
 +  Copyright © 2006 by Prado Software Group.<br/>
 +  <a title="Powered by PRADO" href="http://www.pradosoft.com/"><img src="http://www.pradosoft.com/images/powered.gif" style="border-width:0px;" alt="Powered by PRADO" /></a>
 +</div>
 +
 +</div><!-- page -->
 +<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
 +</script>
 +<script type="text/javascript">
 +_uacct = "UA-186303-3";
 +urchinTracker();
 +</script>
 +
 +</body>
 +</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl new file mode 100644 index 00000000..098aeb17 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/function.tpl @@ -0,0 +1,48 @@ +{section name=func loop=$functions}
 +{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}&{/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})</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}  </td>
 +        <td><b>{$functions[func].params[params].var}</b>  </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}
 +{/section}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl new file mode 100644 index 00000000..1053f748 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/global.tpl @@ -0,0 +1,40 @@ +{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}
 +  <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}
 +
 +  <table border="0" cellspacing="0" cellpadding="0">
 +    <tr>
 +      <td><b>Default value:</b>  </td>
 +      <td>{$globals[glob].global_value|replace:" ":" "|replace:"\n":"<br />\n"|replace:"\t":"   "}</td>
 +    </tr>
 +	{if $globals[glob].global_conflicts.conflict_type}
 +	<tr>
 +	  <td><b>Conflicts with globals:</b>  </td>
 +	  <td>
 +	{section name=me loop=$globals[glob].global_conflicts.conflicts}
 +	{$globals[glob].global_conflicts.conflicts[me]}<br />
 +	{/section}
 +	  </td>
 +	</tr>
 +	{/if}
 +{* original    {if $globals[glob].global_conflicts != ""
 +    <tr>
 +      <td><b>Conflicts:</b>  </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/HTML/Smarty/templates/PradoSoft/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl new file mode 100644 index 00000000..b35b0f57 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/header.tpl @@ -0,0 +1,121 @@ +<!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="Shortcut Icon" href="/favicon.ico" />
 +<link rel="stylesheet" type="text/css" href="/css/style.css" />
 +<link rel="stylesheet" type="text/css" href="/css/manual.css" />
 +</head>
 +<body>
 +
 +<div id="page">
 +
 +    <div id="header">
 +
 +      <div id="logo">
 +        <img src="/css/pradoheader.gif" alt="PRADO Component Framework for PHP 5" />
 +      </div>
 +      <div id="mainmenu">
 +        <ul>
 +          <li><a href="/">Home</a></li>
 +          <li><a href="/about/" >About</a></li>
 +          <li><a href="/testimonials/" >Testimonials</a></li>
 +          <li><a href="/demos/" >Demos</a></li>
 +          <li><a href="/download/" >Download</a></li>
 +          <li><a href="/documentation/" class="active">Documentation</a></li>
 +          <li><a href="/community/" >Community</a></li>
 +          <li><a href="/support/" >Support</a></li>
 +        </ul>
 +      </div><!-- mainmenu -->
 +    </div><!-- header -->
 +
 +<div id="main">
 +
 +<div id="navbar">
 +<ul>
 +<li><a href="/tutorials/">Tutorials</a></li>
 +<li><a href="/wiki/">Wiki</a></li>
 +<li><a href="/docs/classdoc/">Classes</a></li>
 +<li><a href="/docs/manual/" class="active">Manual</a></li>
 +</ul>
 +</div>
 +
 +<table width="100%" border="0" cellpadding="0" cellspacing="0">
 +  <tr valign="top">
 +    <td width="200" id="infobar">
 +{if count($ric) >= 1}
 +	<div id="ric">
 +		{section name=ric loop=$ric}
 +			<p><a href="{$subdir}{$ric[ric].file}">{$ric[ric].name}</a></p>
 +		{/section}
 +	</div>
 +{/if}
 +      <b>Packages:</b><br />
 +      {section name=packagelist loop=$packageindex}
 +        <a href="{$subdir}{$packageindex[packagelist].link}">{$packageindex[packagelist].title}</a><br />
 +      {/section}
 +      <br /><br />
 +{if $tutorials}
 +		<b>Tutorials/Manuals:</b><br />
 +		{if $tutorials.pkg}
 +			<strong>Package-level:</strong>
 +			{section name=ext loop=$tutorials.pkg}
 +				{$tutorials.pkg[ext]}
 +			{/section}
 +		{/if}
 +		{if $tutorials.cls}
 +			<strong>Class-level:</strong>
 +			{section name=ext loop=$tutorials.cls}
 +				{$tutorials.cls[ext]}
 +			{/section}
 +		{/if}
 +		{if $tutorials.proc}
 +			<strong>Procedural-level:</strong>
 +			{section name=ext loop=$tutorials.proc}
 +				{$tutorials.proc[ext]}
 +			{/section}
 +		{/if}
 +{/if}
 +      {if !$noleftindex}{assign var="noleftindex" value=false}{/if}
 +      {if !$noleftindex}
 +{*
 +{if $compiledfileindex}
 +      <b>Files:</b><br />
 +      {eval var=$compiledfileindex}
 +      {/if}
 +*}
 +      {if $compiledclassindex}
 +      <b>Classes:</b><br />
 +      {eval var=$compiledclassindex}
 +      {/if}
 +      {/if}
 +    </td>
 +    <td>
 +      <table cellpadding="10" cellspacing="0" width="100%" border="0">
 +      <tr><td valign="top" align="center">
 +      <form type="get" action="/docs/manual/search.php">
 +      Keyword <input type="text" name="keyword" size="50" />
 +      <input type="submit" value="Search" />
 +      </form>
 +      </td></tr>
 +      <tr><td valign="top"><!-- content begin -->
 +{*
 +{if !$hasel}{assign var="hasel" value=false}{/if}
 +{if $hasel}
 +<h1>{$eltype|capitalize}: {$class_name}</h1>
 +Source Location: {$source_location}<br /><br />
 +{/if}
 +*}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl new file mode 100644 index 00000000..cff067db --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/include.tpl @@ -0,0 +1,9 @@ +{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/HTML/Smarty/templates/PradoSoft/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl new file mode 100644 index 00000000..60c74b47 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/index.tpl @@ -0,0 +1,7 @@ +{include file="header.tpl"}
 +{if $contents}
 +{$contents}
 +{else}
 +{include file="blank.tpl"}
 +{/if}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png Binary files differnew file mode 100644 index 00000000..d6f36f60 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/background.png diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png Binary files differnew file mode 100644 index 00000000..a9f29bb1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/empty.png 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 new file mode 100644 index 00000000..9419ca62 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/media/style.css @@ -0,0 +1,197 @@ +.php {
 +	padding: 1em;
 +}
 +/* This will not be executed by IE, so now we have a fix! */
 +*[class="php-src"], *[class="php"], *[class="listing"] {
 +	line-height:    0px;
 +}
 +
 +body
 +{
 +  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;
 +}
 +
 +a
 +{
 +  color:              #000099;
 +  background-color:   transparent;
 +  text-decoration:    none;
 +}
 +
 +a:hover
 +{
 +  text-decoration:    underline;
 +}
 +
 +a.menu
 +{
 +  color:              #ffffff;
 +  background-color:   transparent;
 +}
 +
 +td
 +{
 +  font-size:          10pt;
 +}
 +
 +td.header_top
 +{
 +  color:              #ffffff;
 +  background-color:   #9999cc;
 +  font-size:          16pt;
 +  font-weight:        bold;
 +  text-align:         right;
 +  padding:            10px;
 +}
 +
 +td.header_line
 +{
 +  color:              #ffffff;
 +  background-color:   #333366;
 +}
 +
 +td.header_menu
 +{
 +  color:              #ffffff;
 +  background-color:   #666699;
 +  font-size:          8pt;
 +  text-align:         right;
 +  padding:            2px;
 +  padding-right:      5px;
 +}
 +
 +td.menu
 +{
 +  padding:            2px;
 +  padding-left:       5px;
 +}
 +
 +td.code_border
 +{
 +  color:              #000000;
 +  background-color:   #c0c0c0;
 +}
 +
 +td.code
 +{
 +  color:              #000000;
 +  background-color:   #f0f0f0;
 +}
 +
 +td.type
 +{
 +  font-style:         italic;
 +}
 +
 +div.credit
 +{
 +  font-size:          8pt;
 +  text-align:         center;
 +}
 +
 +div.package
 +{
 +  padding-left:       5px;
 +}
 +
 +div.tags
 +{
 +  padding-left:       15px;
 +}
 +
 +div.function
 +{
 +  padding-left:       15px;
 +}
 +
 +div.top
 +{
 +  font-size:          8pt;
 +}
 +
 +div.warning
 +{
 +  color:              #ff0000;
 +  background-color:   transparent;
 +}
 +
 +div.description
 +{
 +  padding-left:       15px;
 +}
 +
 +hr
 +{
 +  height:             1px;
 +  border-style:       solid;
 +  border-color:       #c0c0c0;
 +  margin-top:         10px;
 +  margin-bottom:      10px;
 +}
 +
 +span.smalllinenumber
 +{
 +  font-size:          8pt;
 +}
 +
 +ul {
 +	margin-left:		0px;
 +	padding-left:		8px;
 +}
 +/* Syntax highlighting */
 +
 +.src-code { background-color: #f5f5f5; border: 1px solid #ccc9a4; padding: 0px; margin : 0px}
 +/*.src-code pre {	}*/
 +
 +.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 { }
 +
 +.src-php { font-weight: bold; }
 +
 +.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 }
 +
 +.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 */
 +
 +.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 }
 +
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl new file mode 100644 index 00000000..07cb76e5 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/method.tpl @@ -0,0 +1,58 @@ +{section name=methods loop=$methods}
 +{if $show == 'summary'}
 +method {$methods[methods].function_call}, {$methods[methods].sdesc}<br />
 +{else}
 +  <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}&{/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}{$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})</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 />
 +	{section name=dm loop=$methods[methods].descmethod}
 +	<dl>
 +	<dt>{$methods[methods].descmethod[dm].link}</dt>
 +		<dd>{$methods[methods].descmethod[dm].sdesc}</dd>
 +	</dl>
 +	{/section}</p>
 +{/if}
 +{* 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}  </td>
 +        <td><b>{$methods[methods].params[params].var}</b>  </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}
 +{/section}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl new file mode 100644 index 00000000..b48b6719 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/packages.tpl @@ -0,0 +1,3 @@ +{section name=packages loop=$packages}
 +<a href="{$packages[packages].link}">{$packages[packages].title}</a>
 +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl new file mode 100644 index 00000000..6dd8683d --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/page.tpl @@ -0,0 +1,31 @@ +{include file="header.tpl" eltype="Procedural file" class_name=$name hasel=true contents=$pagecontents}
 +
 +<br>
 +<br>
 +
 +{if $classes}
 +<div class="contents">
 +{if $tutorial}
 +<span class="maintutorial">Main Tutorial: {$tutorial}</span>
 +{/if}
 +<h2>Classes:</h2>
 +{section name=classes loop=$classes}
 +<dt>{$classes[classes].link}</dt>
 +	<dd>{$classes[classes].sdesc}</dd>
 +{/section}
 +</div><br /><br />
 +{/if}
 +
 +<h2>Page Details:</h2>
 +{include file="docblock.tpl" type="page"}
 +<br /><br />
 +{include file="include.tpl"}
 +<br /><br />
 +{include file="global.tpl"}
 +<br /><br />
 +{include file="define.tpl"}
 +<br />
 +{include file="function.tpl"}
 +
 +{include file="footer.tpl"}
 +
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl new file mode 100644 index 00000000..753ad7cf --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/pkgelementindex.tpl @@ -0,0 +1,5 @@ +{include file="header.tpl"}
 +<a name="top"></a>
 +<h1>Element index for package {$package}</h1>
 +{include file="basicindex.tpl" indexname=elementindex_$package}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl new file mode 100644 index 00000000..c4cb83f9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"}
 +<h1 align="center">{$name}</h1>
 +<pre>
 +{$contents|htmlentities}
 +</pre>
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl new file mode 100644 index 00000000..5ab0bca2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"}
 +<div align="center"><h1>Todo List</h1></div>
 +{foreach from=$todos key=todopackage item=todo}
 +<h2>{$todopackage}</h2>
 +{section name=todo loop=$todo}
 +<h3>{$todo[todo].link}</h3>
 +<ul>
 +{section name=t loop=$todo[todo].todos}
 +    <li>{$todo[todo].todos[t]}</li>
 +{/section}
 +</ul>
 +{/section}
 +{/foreach}
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl new file mode 100644 index 00000000..22c71c3b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial.tpl @@ -0,0 +1,32 @@ +{include file="header.tpl" title=$title}
 +{if $nav}
 +<table width="100%" border="0" cellpadding="0" cellspacing="0">
 +<tr>
 +<td width="10%" align="left" valign="bottom">{if $prev}<a href=
 +"{$prev}">{/if}Prev{if $prev}</a>{/if}</td>
 +<td width="80%" align="center" valign="bottom"></td>
 +<td width="10%" align="right" valign="bottom">{if $next}<a href=
 +"{$next}">{/if}Next{if $next}</a>{/if}</td>
 +</tr>
 +</table>
 +{/if}
 +{$contents}
 +{if $nav}
 +<table width="100%" border="0" cellpadding="0" cellspacing="0">
 +<tr>
 +<td width="33%" align="left" valign="top">{if $prev}<a href="{$prev}">{/if}
 +Prev{if $prev}</a>{/if}</td>
 +<td width="34%" align="center" valign="top">{if $up}<a href=
 +"{$up}">Up</a>{else} {/if}</td>
 +<td width="33%" align="right" valign="top">{if $next}<a href=
 +"{$next}">{/if}Next{if $next}</a>{/if}</td>
 +</tr>
 +
 +<tr>
 +<td width="33%" align="left" valign="top">{if $prevtitle}{$prevtitle}{/if}</td>
 +<td width="34%" align="center" valign="top">{if $uptitle}{$uptitle}{/if}</td>
 +<td width="33%" align="right" valign="top">{if $nexttitle}{$nexttitle}{/if}</td>
 +</tr>
 +</table>
 +{/if}
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl new file mode 100644 index 00000000..1db34438 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_toc.tpl @@ -0,0 +1,29 @@ +{if count($toc)}
 +<h1 align="center">Table of Contents</h1>
 +<ul>
 +{section name=toc loop=$toc}
 +{if $toc[toc].tagname == 'refsect1'}
 +{assign var="context" value="refsect1"}
 +{$toc[toc].link}<br />
 +{/if}
 +{if $toc[toc].tagname == 'refsect2'}
 +{assign var="context" value="refsect2"}
 +   {$toc[toc].link}<br />
 +{/if}
 +{if $toc[toc].tagname == 'refsect3'}
 +{assign var="context" value="refsect3"}
 +      {$toc[toc].link}<br />
 +{/if}
 +{if $toc[toc].tagname == 'table'}
 +{if $context == 'refsect2'}   {/if}
 +{if $context == 'refsect3'}   {/if}
 +Table: {$toc[toc].link}
 +{/if}
 +{if $toc[toc].tagname == 'example'}
 +{if $context == 'refsect2'}   {/if}
 +{if $context == 'refsect3'}   {/if}
 +Table: {$toc[toc].link}
 +{/if}
 +{/section}
 +</ul>
 +{/if}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl new file mode 100644 index 00000000..faf7bcef --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/tutorial_tree.tpl @@ -0,0 +1,5 @@ +<ul>
 +	<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/HTML/Smarty/templates/PradoSoft/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl new file mode 100644 index 00000000..c76929fe --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/Smarty/templates/PradoSoft/templates/var.tpl @@ -0,0 +1,28 @@ +{section name=vars loop=$vars}
 +{if $show == 'summary'}
 +	var {$vars[vars].var_name}, {$vars[vars].sdesc}<br>
 +{else}
 +	<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:" ":" "|replace:"\t":"   "}</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}
 +
 +  <br />
 +	<div class="tags">
 +  <table border="0" cellspacing="0" cellpadding="0">
 +    <tr>
 +      <td><b>Type:</b>  </td>
 +      <td>{$vars[vars].var_type}</td>
 +    </tr>
 +    {if $vars[vars].var_overrides != ""}
 +    <tr>
 +      <td><b>Overrides:</b>  </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}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc new file mode 100644 index 00000000..d1b8751c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/HTMLframesConverter.inc @@ -0,0 +1,1747 @@ +<?php
 +//
 +// +------------------------------------------------------------------------+
 +// | phpDocumentor                                                          |
 +// +------------------------------------------------------------------------+
 +// | Copyright (c) 2000-2003 Joshua Eichorn, Gregory Beaver                 |
 +// | Email         jeichorn@phpdoc.org, cellog@phpdoc.org                   |
 +// | Web           http://www.phpdoc.org                                    |
 +// | Mirror        http://phpdocu.sourceforge.net/                          |
 +// | PEAR          http://pear.php.net/package-info.php?pacid=137           |
 +// +------------------------------------------------------------------------+
 +// | This source file is subject to version 3.00 of the PHP License,        |
 +// | that is available at http://www.php.net/license/3_0.txt.               |
 +// | If you did not receive a copy of the PHP license and are unable to     |
 +// | obtain it through the world-wide-web, please send a note to            |
 +// | license@php.net so we can mail you a copy immediately.                 |
 +// +------------------------------------------------------------------------+
 +//
 +/**
 + * HTML original framed output converter, modified to use Smarty Template.
 + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}.
 + *
 + * @package Converters
 + * @subpackage HTMLframes
 + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar
 + * @author Greg Beaver <cellog@users.sourceforge.net>
 + * @since 1.0rc1
 + * @version $Id: HTMLframesConverter.inc,v 1.1 2005/10/17 18:37:03 jeichorn Exp $
 + */
 +/**
 + * HTML output converter.
 + * This Converter takes output from the {@link Parser} and converts it to HTML-ready output for use with {@link Smarty}.
 + *
 + * @package Converters
 + * @subpackage HTMLframes
 + * @see parserDocBlock, parserInclude, parserPage, parserClass, parserDefine, parserFunction, parserMethod, parserVar
 + * @author Greg Beaver <cellog@users.sourceforge.net>
 + * @since 1.2
 + * @version $Id: HTMLframesConverter.inc,v 1.1 2005/10/17 18:37:03 jeichorn Exp $
 + */
 +class HTMLframesConverter extends Converter
 +{
 +    /**
 +     * Smarty Converter wants elements sorted by type as well as alphabetically
 +     * @see Converter::$sort_page_contents_by_type
 +     * @var boolean
 +     */
 +    var $sort_page_contents_by_type = true;
 +    /** @var string */
 +    var $outputformat = 'HTML';
 +    /** @var string */
 +    var $name = 'frames';
 +    /**
 +     * indexes of elements by package that need to be generated
 +     * @var array
 +     */
 +    var $leftindex = array('classes' => true, 'pages' => true, 'functions' => true, 'defines' => false, 'globals' => false);
 +    
 +    /**
 +     * output directory for the current procedural page being processed
 +     * @var string
 +     */
 +    var $page_dir;
 +    
 +    /**
 +     * target directory passed on the command-line.
 +     * {@link $targetDir} is malleable, always adding package/ and package/subpackage/ subdirectories onto it.
 +     * @var string
 +     */
 +    var $base_dir;
 +    
 +    /**
 +     * output directory for the current class being processed
 +     * @var string
 +     */
 +    var $class_dir;
 +    
 +    /**
 +     * array of converted package page names.
 +     * Used to link to the package page in the left index
 +     * @var array Format: array(package => 1)
 +     */
 +    var $package_pages = array();
 +    
 +    /**
 +     * controls formatting of parser informative output
 +     * 
 +     * Converter prints:
 +     * "Converting /path/to/file.php... Procedural Page Elements... Classes..."
 +     * Since HTMLdefaultConverter outputs files while converting, it needs to send a \n to start a new line.  However, if there
 +     * is more than one class, output is messy, with multiple \n's just between class file output.  This variable prevents that
 +     * and is purely cosmetic
 +     * @var boolean
 +     */
 +    var $juststarted = false;
 +    
 +    /**
 +     * contains all of the template procedural page element loop data needed for the current template
 +     * @var array
 +     */
 +    var $current;
 +    
 +    /**
 +     * contains all of the template class element loop data needed for the current template
 +     * @var array
 +     */
 +    var $currentclass;
 +    var $wrote = false;
 +    var $ric_set = array();
 +    
 +    /**
 +     * sets {@link $base_dir} to $targetDir
 +     * @see Converter()
 +     */
 +    function HTMLframesConverter(&$allp, &$packp, &$classes, &$procpages, $po, $pp, $qm, $targetDir, $templateDir, $title)
 +    {
 +        Converter::Converter($allp, $packp, $classes, $procpages,$po, $pp, $qm, $targetDir, $templateDir, $title);
 +        $this->base_dir = $targetDir;
 +    }
 +    
 +    /**
 +     * @deprecated in favor of PHP 4.3.0+ tokenizer-based source highlighting
 +     */
 +    function unmangle($sourcecode)
 +    {
 +        $sourcecode = str_replace('<code>','<pre>',$sourcecode);
 +        $sourcecode = str_replace('</code>','</pre>',$sourcecode);
 +        $sourcecode = str_replace('<br />',"\n",$sourcecode);
 +        $sourcecode = str_replace(' ',' ',$sourcecode);
 +        $sourcecode = str_replace('<','<',$sourcecode);
 +        $sourcecode = str_replace('>','>',$sourcecode);
 +        $sourcecode = str_replace('&','&',$sourcecode);
 +        return $sourcecode;
 +    }
 +
 +    /**
 +     * @param string full path to the source file
 +     * @param string fully highlighted source code
 +     */
 +    function writeSource($path, $value)
 +    {
 +        $templ = &$this->newSmarty();
 +        $pathinfo = $this->proceduralpages->getPathInfo($path, $this);
 +        $templ->assign('source',$value);
 +        $templ->assign('package',$pathinfo['package']);
 +        $templ->assign('subpackage',$pathinfo['subpackage']);
 +        $templ->assign('name',$pathinfo['name']);
 +        $templ->assign('source_loc',$pathinfo['source_loc']);
 +        $templ->assign('docs',$pathinfo['docs']);
 +        $templ->assign("subdir",'../');
 +        $templ->register_outputfilter('HTMLframes_outputfilter');
 +        $this->setTargetDir($this->getFileSourcePath($this->base_dir));
 +        phpDocumentor_out("\n");
 +        $this->setSourcePaths($path);
 +        $this->writefile($this->getFileSourceName($path).'.html',$templ->fetch('filesource.tpl'));
 +    }
 +    
 +    function writeExample($title, $path, $source)
 +    {
 +        $templ = &$this->newSmarty();
 +        $templ->assign('source',$source);
 +        if (empty($title))
 +        {
 +            $title = 'example';
 +            addWarning(PDERROR_EMPTY_EXAMPLE_TITLE, $path, $title);
 +        }
 +        $templ->assign('title',$title);
 +        $templ->assign('file',$path);
 +        $templ->assign("subdir",'../');
 +        $templ->register_outputfilter('HTMLframes_outputfilter');
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . '__examplesource');
 +        phpDocumentor_out("\n");
 +        $this->writefile('exsource_'.$path.'.html',$templ->fetch('examplesource.tpl'));
 +    }
 +    
 +    function getExampleLink($path, $title)
 +    {
 +        return $this->returnLink('{$subdir}__examplesource' . PATH_DELIMITER . 'exsource_'.$path.'.html',$title);
 +    }
 +    
 +    function getSourceLink($path)
 +    {
 +        return $this->returnLink($this->getFileSourcePath('{$subdir}') .
 +        PATH_DELIMITER . $this->getFileSourceName($path).'.html','Source Code for this file');
 +    }
 +
 +    /**
 +     * Return a line of highlighted source code with formatted line number
 +     *
 +     * If the $path is a full path, then an anchor to the line number will be
 +     * added as well
 +     * @param integer line number
 +     * @param string highlighted source code line
 +     * @param false|string full path to @filesource file this line is a part of,
 +     *        if this is a single line from a complete file.
 +     * @return string formatted source code line with line number
 +     */
 +    function sourceLine($linenumber, $line, $path = false)
 +    {
 +        $extra = '';
 +        if (strlen(str_replace("\n", '', $line)) == 0) {
 +            $extra = ' ';
 +        }
 +        if ($path)
 +        {
 +            return '<li>' . $this->getSourceAnchor($path, $linenumber) .
 +                   str_replace("\n",'',$line) . $extra .
 +                   "</li>\n";
 +        } else
 +        {
 +            return '<li>' . str_replace("\n",'',$line) . "$extra</li>\n";
 +        }
 +    }
 +    
 +    /**
 +     * Used to convert the <<code>> tag in a docblock
 +     * @param string
 +     * @param boolean
 +     * @return string
 +     */
 +    function ProgramExample($example, $tutorial = false, $inlinesourceparse = null/*false*/,
 +                            $class = null/*false*/, $linenum = null/*false*/, $filesourcepath = null/*false*/)
 +    {
 +        return '<pre><ol>' . parent::ProgramExample($example, $tutorial, $inlinesourceparse, $class, $linenum, $filesourcepath)
 +               .'</ol></pre>';
 +    }
 +    
 +    /**
 +     * @param string
 +     */
 +    function TutorialExample($example)
 +    {
 +        $trans = $this->template_options['desctranslate'];
 +        $this->template_options['desctranslate'] = array();
 +        $example = '<ol>' . parent::TutorialExample($example)
 +               .'</ol>';
 +        $this->template_options['desctranslate'] = $trans;
 +        if (!isset($this->template_options['desctranslate'])) return $example;
 +        if (!isset($this->template_options['desctranslate']['code'])) return $example;
 +        $example = $this->template_options['desctranslate']['code'] . $example;
 +        if (!isset($this->template_options['desctranslate']['/code'])) return $example;
 +        return $example . $this->template_options['desctranslate']['/code'];
 +    }
 +    
 +    /**
 +     * Retrieve a Converter-specific anchor to a segment of a source code file
 +     * parsed via a {@tutorial tags.filesource.pkg} tag.
 +     * @param string full path to source file
 +     * @param string name of anchor
 +     * @param string link text, if this is a link
 +     * @param boolean returns either a link or a destination based on this
 +     *                parameter
 +     * @return string link to an anchor, or the anchor
 +     */
 +    function getSourceAnchor($sourcefile,$anchor,$text = '',$link = false)
 +    {
 +        if ($link)
 +        return $this->returnLink($this->getFileSourcePath('{$subdir}') .
 +        PATH_DELIMITER . $this->getFileSourceName($sourcefile).'.html#a'.$anchor, $text);
 +        else
 +        return '<a name="a'.$anchor.'"></a>';
 +    }
 +    
 +    function getCurrentPageLink()
 +    {
 +        return $this->curname . '.html';
 +    }
 +
 +    /**
 +     * Uses htmlspecialchars() on the input
 +     */
 +    function postProcess($text)
 +    {
 +        return htmlspecialchars($text);
 +    }
 +    
 +    /**
 +     * Use the template tutorial_toc.tpl to generate a table of contents for HTML
 +     * @return string table of contents formatted for use in the current output format
 +     * @param array format: array(array('tagname' => section, 'link' => returnsee link, 'id' => anchor name, 'title' => from title tag),...)
 +     */
 +    function formatTutorialTOC($toc)
 +    {
 +        $template = &$this->newSmarty();
 +        $template->assign('toc',$toc);
 +        return $template->fetch('tutorial_toc.tpl');
 +    }
 +    
 +    function &SmartyInit(&$templ)
 +    {
 +        if (!isset($this->package_index))
 +        foreach($this->all_packages as $key => $val)
 +        {
 +            if (isset($this->pkg_elements[$key]))
 +            {
 +                if (!isset($start)) $start = $key;
 +                $this->package_index[] = array('link' => "li_$key.html", 'title' => $key);
 +            }
 +        }
 +        $templ->assign("packageindex",$this->package_index);
 +        $templ->assign("subdir",'');
 +        return $templ;
 +    }
 +    
 +    /**
 +     * Writes out the template file of {@link $class_data} and unsets the template to save memory
 +     * @see registerCurrentClass()
 +     * @see parent::endClass()
 +     */
 +    function endClass()
 +    {
 +        $a = '../';
 +        if (!empty($this->subpackage)) $a .= '../';
 +        if ($this->juststarted)
 +        {
 +            $this->juststarted = false;
 +            phpDocumentor_out("\n");
 +            flush();
 +        }
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->class_dir);
 +        $this->class_data->assign("subdir",$a);
 +        $this->class_data->register_outputfilter('HTMLframes_outputfilter');
 +        $this->writefile($this->class . '.html',$this->class_data->fetch('class.tpl'));
 +        unset($this->class_data);
 +    }
 +    
 +    /**
 +     * Writes out the template file of {@link $page_data} and unsets the template to save memory
 +     * @see registerCurrent()
 +     * @see parent::endPage()
 +     */
 +    function endPage()
 +    {
 +        $this->package = $this->curpage->package;
 +        $this->subpackage = $this->curpage->subpackage;
 +        $a = '../';
 +        if (!empty($this->subpackage)) $a .= '../';
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . $this->page_dir);
 +        $this->page_data->assign("package",$this->package);
 +        $this->page_data->assign("subdir",$a);
 +        $this->page_data->register_outputfilter('HTMLframes_outputfilter');
 +        $this->writefile($this->page . '.html',$this->page_data->fetch('page.tpl'));
 +        unset($this->page_data);
 +    }
 +    
 +    /**
 +     * @param string
 +     * @param string
 +     * @return string <a href="'.$link.'">'.$text.'</a>
 +     */
 +    function returnLink($link,$text)
 +    {
 +        return '<a href="'.$link.'">'.$text.'</a>';
 +    }
 +    
 +    function makeLeft()
 +    {
 +        foreach($this->page_elements as $package => $o1)
 +        {
 +            foreach($o1 as $subpackage => $links)
 +            {
 +                for($i=0;$i<count($links);$i++)
 +                {
 +                    $left[$package][$subpackage]['files'][] =
 +                        array("link" => $this->getId($links[$i]), "title" => $links[$i]->name);
 +                }
 +            }
 +        }
 +        foreach($this->class_elements as $package => $o1)
 +        {
 +            foreach($o1 as $subpackage => $links)
 +            {
 +                for($i=0;$i<count($links);$i++)
 +                {
 +										$class = $this->classes->getClassByPackage($links[$i]->name, $links[$i]->package);
 +										if ($class && isset($class->docblock) && $class->docblock->hasaccess)
 +												$left[$package][$subpackage]['classes'][] =
 +												array("link" => $this->getId($links[$i]), 
 +															"title" => $links[$i]->name,
 +															"access" => $class->docblock->tags['access'][0]->value,
 +															"abstract" => isset ($class->docblock->tags['abstract'][0]));
 +										else
 +												$left[$package][$subpackage]['classes'][] =
 +												array("link" => $this->getId($links[$i]), 
 +															"title" => $links[$i]->name,
 +															"access" => 'public',
 +															"abstract" => isset ($class->docblock->tags['abstract'][0]));
 +                }
 +            }
 +        }
 +        foreach($this->function_elements as $package => $o1)
 +        {
 +            foreach($o1 as $subpackage => $links)
 +            {
 +                for($i=0;$i<count($links);$i++)
 +                {
 +                    $left[$package][$subpackage]['functions'][] =
 +                        array("link" => $this->getId($links[$i]), "title" => $links[$i]->name);
 +                }
 +            }
 +        }
 +        $ret = array();
 +        foreach($left as $package => $r)
 +        {
 +            $pd = 'blank';
 +            if (isset($this->package_pages[$package])) $pd = $package.'/package_'.$package.'.html';
 +            if (!isset($r['']))
 +            {
 +                $pt = false;
 +                $ptnoa = false;
 +                $ptt = $package;
 +                if ($t = $this->hasTutorial('pkg',$package,$package,''))
 +                {
 +                    $pt = $t->getLink($this);
 +                    $ptnoa = $this->getId($t->getLink($this,true));
 +                    $ptt = $t->getTitle($this);
 +                }
 +                $tutes = array();
 +                foreach($this->tutorial_tree as $root => $tr)
 +                {
 +                    if ($tr['tutorial']->package == $package && $tr['tutorial']->subpackage == $subpackage)
 +                    $tutes[$tr['tutorial']->tutorial_type][] = $this->getTutorialTree($tr['tutorial']);
 +                }
 +                if (isset($this->childless_tutorials[$package][$subpackage]))
 +                {
 +                    foreach($this->childless_tutorials[$package][$subpackage] as $ext => $other)
 +                    {
 +                        foreach($other as $tutorial)
 +                        {
 +                            $tutes[$tutorial->tutorial_type][] = $this->getTutorialTree($tutorial);
 +                        }
 +                    }
 +                }
 +                $ret[$package][] =
 +                    array(
 +                        'package' => $package,
 +                        'subpackage' => '',
 +                        'packagedoc' => $pd,
 +                        'packagetutorial' => $pt,
 +                        'packagetutorialnoa' => $ptnoa,
 +                        'packagetutorialtitle' => $ptt,
 +                        'files' => array(),
 +                        'functions' => array(),
 +                        'classes' => array(),
 +                        'tutorials' => $tutes,
 +                        );
 +            }
 +            foreach($r as $subpackage => $info)
 +            {
 +                $my = array();
 +                $my['package'] = $package;
 +                if (isset($this->package_pages[$package]))
 +                $my['packagedoc'] = $pd;
 +                else
 +                $my['packagedoc'] = 'blank';
 +                $my['subpackage'] = $subpackage;
 +                if (empty($subpackage))
 +                {
 +                    if ($t = $this->hasTutorial('pkg',$package,$package,$subpackage))
 +                    {
 +                        $my['packagetutorial'] = $t->getLink($this);
 +                        $my['packagetutorialnoa'] = $this->getId($t->getLink($this,true));
 +                        $my['packagetutorialtitle'] = $t->getTitle($this);
 +                    } else
 +                    {
 +                        $my['packagetutorial'] = '<a href="blank.html">No Package-Level Tutorial</a>';
 +                        $my['packagetutorialnoa'] = 'blank.html';
 +                        $my['packagetutorialtitle'] = $package;
 +                    }
 +                } else
 +                {
 +                    if ($t = $this->hasTutorial('pkg',$subpackage,$package,$subpackage))
 +                    {
 +                        $my['subpackagetutorial'] = $this->returnSee($this->getTutorialLink($t));
 +                        $my['subpackagetutorialnoa'] = $this->getId($t->getLink($this,true));
 +                        $my['subpackagetutorialtitle'] = $t->getTitle($this);
 +                    } else
 +                    {
 +                        $my['subpackagetutorial'] = false;
 +                        $my['subpackagetutorialnoa'] = false;
 +                        $my['subpackagetutorialtitle'] = $subpackage;
 +                    }
 +                }
 +                $tutes = array();
 +                foreach($this->tutorial_tree as $root => $tr)
 +                {
 +                    if ($tr['tutorial']->package == $package && $tr['tutorial']->subpackage == $subpackage)
 +                    {
 +                        $tutes[$tr['tutorial']->tutorial_type][] = $this->getTutorialTree($tr['tutorial']);
 +                    }
 +                }
 +                $my['tutorials'] = $tutes;
 +                $my['files'] = $my['classes'] = $my['functions'] = array();
 +                if (isset($info['files']))
 +                $my['files'] = $info['files'];
 +                if (isset($info['classes']))
 +                $my['classes'] = $info['classes'];
 +                if (isset($info['functions']))
 +                $my['functions'] = $info['functions'];
 +                $ret[$package][] = $my;
 +            }
 +        }
 +        return $ret;
 +    }
 +    
 +    function getTutorialTree($tutorial,$k = false)
 +    {
 +        $ret = '';
 +        if (is_object($tutorial)) $tree = parent::getTutorialTree($tutorial); else $tree = $tutorial;
 +//        debug($this->vardump_tree($tree));exit;
 +        if (!$tree)
 +        {
 +            $template = &$this->newSmarty();
 +            $template->assign('subtree',false);
 +            $template->assign('name',str_replace('.','',$tutorial->name));
 +            $template->assign('parent',false);
 +            $template->assign('haskids',false);
 +            $template->assign('kids','');
 +            $link = new tutorialLink;
 +            $t = $tutorial;
 +            $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this));
 +            $main = array('link' => $this->getId($link), 'title' => $link->title);
 +            $template->assign('main',$main);
 +            return $template->fetch('tutorial_tree.tpl');
 +        }
 +        if (isset($tree['kids']))
 +        {
 +            foreach($tree['kids'] as $subtree)
 +            {
 +                $ret .= $this->getTutorialTree($subtree, true);
 +            }
 +        }
 +        $template = &$this->newSmarty();
 +        $template->assign('subtree',$k);
 +        $template->assign('name',str_replace('.','',$tree['tutorial']->name));
 +        $template->assign('parent',($k ? str_replace('.','',$tree['tutorial']->parent->name) : false));
 +        $template->assign('haskids',strlen($ret));
 +        $template->assign('kids',$ret);
 +        $link = new tutorialLink;
 +        $t = $tree['tutorial'];
 +        $link->addLink('',$t->path,$t->name,$t->package,$t->subpackage,$t->getTitle($this));
 +        $main = array('link' => $this->getId($link), 'title' => $link->title);
 +        $template->assign('main',$main);
 +        $ret = $template->fetch('tutorial_tree.tpl');
 +				return $ret;
 +    }
 +    
 +    /**
 +     * HTMLdefaultConverter chooses to format both package indexes and the complete index here
 +     *
 +     * This function formats output for the elementindex.html and pkgelementindex.html template files.  It then
 +     * writes them to the target directory
 +     * @see generateElementIndex(), generatePkgElementIndex()
 +     */
 +    function formatPkgIndex()
 +    {
 +        list($package_indexes,$packages,$mletters) = $this->generatePkgElementIndexes();
 +        for($i=0;$i<count($package_indexes);$i++)
 +        {
 +            $template = &$this->newSmarty();
 +            $this->package = $package_indexes[$i]['package'];
 +            $this->subpackage = '';
 +            $template->assign("index",$package_indexes[$i]['pindex']);
 +            $template->assign("package",$package_indexes[$i]['package']);
 +            $template->assign("letters",$mletters[$package_indexes[$i]['package']]);
 +            $template->register_outputfilter('HTMLframes_outputfilter');
 +            $this->setTargetDir($this->base_dir);
 +            $this->writefile('elementindex_'.$package_indexes[$i]['package'].'.html',$template->fetch('pkgelementindex.tpl'));
 +        }
 +        phpDocumentor_out("\n");
 +        flush();
 +        }
 +    
 +    /**
 +     * HTMLdefaultConverter uses this function to format template index.html and packages.html
 +     *
 +     * This function generates the package list from {@link $all_packages}, eliminating any
 +     * packages that don't have any entries in their package index (no files at all, due to @ignore
 +     * or other factors).  Then it uses the default package name as the first package index to display.
 +     * It sets the right pane to be either a blank file with instructions on making package-level docs,
 +     * or the package-level docs for the default package.
 +     * @global string Used to set the starting package to display
 +     */
 +    function formatIndex()
 +    {
 +        global $phpDocumentor_DefaultPackageName;
 +        list($elindex,$mletters) = $this->generateElementIndex();
 +        $template = &$this->newSmarty();
 +        $template->assign("index",$elindex);
 +        $template->assign("letters",$mletters);
 +        $template->register_outputfilter('HTMLframes_outputfilter');
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile('elementindex.html',$template->fetch('elementindex.tpl'));
 +        usort($this->package_index,"HTMLframes_pindexcmp");
 +        $index = &$this->newSmarty();
 +        foreach($this->all_packages as $key => $val)
 +        {
 +            if (isset($this->pkg_elements[$key]))
 +            {
 +                if (!isset($start)) $start = $key;
 +                if (!isset($this->package_pages[$key])) $this->writeNewPPage($key);
 +            }
 +        }
 +        // Created index.html
 +        if (isset($this->pkg_elements[$phpDocumentor_DefaultPackageName])) $start = $phpDocumentor_DefaultPackageName;
 +        $this->package = $start;
 +        $this->subpackage = '';
 +        $index->assign("package_count",count($this->pkg_elements));
 +        if (count($this->ric_set))
 +        $index->assign("package_count",2);
 +        $index->assign("date",date("r",time()));
 +        $index->assign("title",$this->title);
 +        $index->assign("start","li_$start.html");
 +        $index->register_outputfilter('HTMLframes_outputfilter');
 +        if (isset($this->tutorials[$start]['']['pkg'][$start . '.pkg']))
 +        {
 +            $index->assign("blank",$start.'/tutorial_'.$start.'.pkg');
 +        } elseif (isset($this->package_pages[$start]))
 +        {
 +            $index->assign("blank",$start.'/package_'.$start);
 +        }
 +        else
 +        {
 +            $index->assign("blank","blank");
 +            $blank = &$this->newSmarty();
 +            $blank->assign('package',$phpDocumentor_DefaultPackageName);
 +            $this->setTargetDir($this->base_dir);
 +            $this->writefile("blank.html",$blank->fetch('blank.tpl'));
 +        }
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile("index.html",$index->fetch('index.tpl'));
 +
 +        // Create package index
 +        $package = &$this->newSmarty();
 +        $package->assign('ric',array());
 +        if (isset($this->ric_set))
 +        {
 +            foreach($this->ric_set as $name => $u)
 +            {
 +                $package->append('ric',array('file' => 'ric_'.$name.'.html','name' => $name));
 +            }
 +        }
 +        $package->assign("packages",$this->package_index);
 +        $package->register_outputfilter('HTMLframes_outputfilter');
 +        $this->writefile("packages.html",$package->fetch('top_frame.tpl'));
 +        unset($index);
 +    }
 +    
 +    function writeNewPPage($key)
 +    {
 +        return;
 +        $template = &$this->newSmarty();
 +        $this->package = $key;
 +        $this->subpackage = '';
 +        $template->assign("date",date("r",time()));
 +        $template->assign("title",$this->title);
 +        $template->assign("package",$key);
 +        $template->register_outputfilter('HTMLframes_outputfilter');
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +    
 +        $this->writefile("li_$key.html",$template->fetch('index.tpl'));
 +        unset($template);
 +    }
 +    
 +    /**
 +     * Generate indexes for li_package.html and classtree output files
 +     *
 +     * This function generates the li_package.html files from the template file left.html.  It does this by
 +     * iterating through each of the $page_elements, $class_elements and  $function_elements arrays to retrieve
 +     * the pre-sorted {@link abstractLink} descendants needed for index generation.  Conversion of these links to
 +     * text is done by {@link returnSee()}.  The {@link $local} parameter is set to false to ensure that paths are correct.
 +     * 
 +     * Then it uses {@link generateFormattedClassTrees()} to create class trees from the template file classtrees.html.  Output
 +     * filename is classtrees_packagename.html.  This function also unsets {@link $elements} and {@link $pkg_elements} to free
 +     * up the considerable memory these two class vars use
 +     * @see $page_elements, $class_elements, $function_elements
 +     */
 +    function formatLeftIndex()
 +    {
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir);
 +        if (0)//!isset($this->left))
 +        {
 +            debug("Nothing parsed, check the command-line");
 +            die();
 +        }
 +        $x = $this->makeLeft();
 +        foreach($this->all_packages as $package => $rest)
 +        {
 +            if (!isset($this->pkg_elements[$package])) continue;
 +            $template = &$this->newSmarty();
 +            $template->assign("info",$x[$package]);
 +            $template->assign('package',$package);
 +            $template->assign("hastutorials",isset($this->tutorials[$package]));
 +            $template->assign('hastodos',count($this->todoList));
 +            $template->assign('todolink','todolist.html');
 +            $template->assign("classtreepage","classtrees_$package");
 +            $template->assign("elementindex","elementindex_$package");
 +            $template->register_outputfilter('HTMLframes_outputfilter');
 +            if (isset($this->package_pages[$package]))
 +            {
 +                $template->assign("packagedoc",$package.'/package_' . $package . '.html');
 +            } else
 +            {
 +                $template->assign("packagedoc",false);
 +            }
 +            $this->writefile("li_$package.html",$template->fetch('left_frame.tpl'));
 +            
 +            // Create class tree page
 +            $template = &$this->newSmarty();
 +            $template->assign("classtrees",$this->generateFormattedClassTrees($package));
 +            $template->assign("package",$package);
 +            $template->register_outputfilter('HTMLframes_outputfilter');
 +            $this->writefile("classtrees_$package.html",$template->fetch('classtrees.tpl'));
 +            phpDocumentor_out("\n");
 +            flush();
 +        }
 +        // free up considerable memory
 +        unset($this->elements);
 +        unset($this->pkg_elements);
 +    }
 +    
 +    /**
 +     * This function takes an {@link abstractLink} descendant and returns an html link
 +     *
 +     * @param abstractLink a descendant of abstractlink should be passed, and never text
 +     * @param string text to display in the link
 +     * @param boolean this parameter is not used, and is deprecated
 +     * @param boolean determines whether the returned text is enclosed in an <a> tag
 +     */
 +    function returnSee(&$element, $eltext = false, $with_a = true)
 +    {
 +        if (!is_object($element) || !$element) return false;
 +        if (!$with_a) return $this->getId($element, false);
 +        if (!$eltext)
 +        {
 +            $eltext = '';
 +            switch($element->type)
 +            {
 +                case 'tutorial' :
 +                $eltext = strip_tags($element->title);
 +                break;
 +                case 'method' :
 +                case 'var' :
 +                case 'const' :
 +                $eltext .= $element->class.'::';
 +                case 'page' :
 +                case 'define' :
 +                case 'class' :
 +                case 'function' :
 +                case 'global' :
 +                default :
 +                $eltext .= $element->name;
 +                if ($element->type == 'function' || $element->type == 'method') $eltext .= '()';
 +                break;
 +            }
 +        }
 +        return '<a href="'.$this->getId($element).'">'.$eltext.'</a>';
 +    }
 +    
 +    function getId($element, $fullpath = true)
 +    {
 +        if (phpDocumentor_get_class($element) == 'parserdata')
 +        {
 +            $element = $this->addLink($element->parent);
 +            $elp = $element->parent;
 +        } elseif (is_a($element, 'parserbase'))
 +        {
 +            $elp = $element;
 +            $element = $this->addLink($element);
 +        }
 +        $c = '';
 +        if (!empty($element->subpackage))
 +        {
 +            $c = '/'.$element->subpackage;
 +        }
 +        $b = '{$subdir}';
 +        switch ($element->type)
 +        {
 +            case 'page' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->fileAlias.'.html';
 +            return 'top';
 +            break;
 +            case 'define' :
 +            case 'global' :
 +            case 'function' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->fileAlias.'.html#'.$element->type.$element->name;
 +            return $element->type.$element->name;
 +            break;
 +            case 'class' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->name.'.html';
 +            return 'top';
 +            break;
 +            case 'method' :
 +            case 'var' :
 +            case 'const' :
 +            if ($fullpath)
 +            return $b.$element->package.$c.'/'.$element->class.'.html#'.$element->type.$element->name;
 +            return $element->type.$element->name;
 +            break;
 +            case 'tutorial' :
 +            $d = '';
 +            if ($element->section)
 +            {
 +                $d = '#'.$element->section;
 +            }
 +            return $b.$element->package.$c.'/tutorial_'.$element->name.'.html'.$d;
 +        }
 +    }
 +    
 +    /**
 +     * Convert README/INSTALL/CHANGELOG file contents to output format
 +     * @param README|INSTALL|CHANGELOG
 +     * @param string contents of the file
 +     */
 +    function Convert_RIC($name, $contents)
 +    {
 +        $template = &$this->newSmarty();
 +        $template->assign('contents',$contents);
 +        $template->assign('name',$name);
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile('ric_'.$name . '.html',$template->fetch('ric.tpl'));
 +        $this->ric_set[$name] = true;
 +    }
 +    
 +    function ConvertTodoList()
 +    {
 +        $todolist = array();
 +        foreach($this->todoList as $package => $alltodos)
 +        {
 +            foreach($alltodos as $todos)
 +            {
 +                $converted = array();
 +                $converted['link'] = $this->returnSee($todos[0]);
 +                if (!is_array($todos[1]))
 +                {
 +                    $converted['todos'][] = $todos[1]->Convert($this);
 +                } else
 +                {
 +                    foreach($todos[1] as $todo)
 +                    {
 +                        $converted['todos'][] = $todo->Convert($this);
 +                    }
 +                }
 +                $todolist[$package][] = $converted;
 +            }
 +        }
 +        $templ = &$this->newSmarty();
 +        $templ->assign('todos',$todolist);
 +        $templ->register_outputfilter('HTMLframes_outputfilter');
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile('todolist.html',$templ->fetch('todolist.tpl'));
 +    }
 +    
 +    /**
 +     * Create errors.html template file output
 +     *
 +     * This method takes all parsing errors and warnings and spits them out ordered by file and line number.
 +     * @global ErrorTracker We'll be using it's output facility
 +     */
 +    function ConvertErrorLog()
 +    {
 +        global $phpDocumentor_errors;
 +        $allfiles = array();
 +        $files = array();
 +        $warnings = $phpDocumentor_errors->returnWarnings();
 +        $errors = $phpDocumentor_errors->returnErrors();
 +        $template = &$this->newSmarty();
 +        foreach($warnings as $warning)
 +        {
 +            $file = '##none';
 +            $linenum = 'Warning';
 +            if ($warning->file)
 +            {
 +                $file = $warning->file;
 +                $allfiles[$file] = 1;
 +                $linenum .= ' on line '.$warning->linenum;
 +            }
 +            $files[$file]['warnings'][] = array('name' => $linenum, 'listing' => $warning->data);
 +        }
 +        foreach($errors as $error)
 +        {
 +            $file = '##none';
 +            $linenum = 'Error';
 +            if ($error->file)
 +            {
 +                $file = $error->file;
 +                $allfiles[$file] = 1;
 +                $linenum .= ' on line '.$error->linenum;
 +            }
 +            $files[$file]['errors'][] = array('name' => $linenum, 'listing' => $error->data);
 +        }
 +        $i=1;
 +        $af = array();
 +        foreach($allfiles as $file => $num)
 +        {
 +            $af[$i++] = $file;
 +        }
 +        $allfiles = $af;
 +        usort($allfiles,'strnatcasecmp');
 +        $allfiles[0] = "Post-parsing";
 +        foreach($allfiles as $i => $a)
 +        {
 +            $allfiles[$i] = array('file' => $a);
 +        }
 +        $out = array();
 +        foreach($files as $file => $data)
 +        {
 +            if ($file == '##none') $file = 'Post-parsing';
 +            $out[$file] = $data;
 +        }
 +        $template->assign("files",$allfiles);
 +        $template->assign("all",$out);
 +        $template->assign("title","phpDocumentor Parser Errors and Warnings");
 +        $this->setTargetDir($this->base_dir);
 +        $this->writefile("errors.html",$template->fetch('errors.tpl'));
 +        unset($template);
 +        phpDocumentor_out("\n\nTo view errors and warnings, look at ".$this->base_dir. PATH_DELIMITER . "errors.html\n");
 +        flush();
 +    }
 +    
 +    function getTutorialId($package,$subpackage,$tutorial,$id)
 +    {
 +        return $id;
 +    }
 +    
 +    function getCData($value)
 +    {
 +        return '<pre>'.htmlentities($value).'</pre>';
 +    }
 +    
 +    /**
 +     * Converts package page and sets its package as used in {@link $package_pages}
 +     * @param parserPackagePage
 +     */
 +    function convertPackagepage(&$element)
 +    {
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->package = $element->package;
 +        $this->subpackage = '';
 +        $contents = $element->Convert($this);
 +        $this->package_pages[$element->package] = str_replace('{$subdir}','../',$contents);
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package);
 +        $this->writeFile('package_'.$element->package.'.html',str_replace('{$subdir}','../',$contents));
 +    }
 +    
 +    /**
 +     * @param parserTutorial
 +     */
 +    function convertTutorial(&$element)
 +    {
 +        phpDocumentor_out("\n");
 +        flush();
 +        $template = &parent::convertTutorial($element);
 +        $a = '../';
 +        if ($element->subpackage) $a .= '../';
 +        $template->assign('subdir',$a);
 +        $template->register_outputfilter('HTMLframes_outputfilter');
 +        $contents = $template->fetch('tutorial.tpl');
 +        $a = '';
 +        if ($element->subpackage) $a = PATH_DELIMITER . $element->subpackage;
 +        phpDocumentor_out("\n");
 +        flush();
 +        $this->setTargetDir($this->base_dir . PATH_DELIMITER . $element->package . $a);
 +        $this->writeFile('tutorial_'.$element->name.'.html',$contents);
 +    }
 +    
 +    /**
 +     * Converts class for template output
 +     * @see prepareDocBlock(), generateChildClassList(), generateFormattedClassTree(), getFormattedConflicts()
 +     * @see getFormattedInheritedMethods(), getFormattedInheritedVars()
 +     * @param parserClass
 +     */
 +    function convertClass(&$element)
 +    {
 +        parent::convertClass($element);
 +        $this->class_dir = $element->docblock->package;
 +        if (!empty($element->docblock->subpackage)) $this->class_dir .= PATH_DELIMITER . $element->docblock->subpackage;
 +        $a = '../';
 +        if ($element->docblock->subpackage != '') $a = "../$a";
 +        
 +        $this->class_data->assign('subdir',$a);
 +        $this->class_data->assign("title","Docs For Class " . $element->getName());
 +        $this->class_data->assign("page",$element->getName() . '.html');
 +    }
 +
 +    /**
 +     * Converts class variables for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertVar(&$element)
 +    {
 +        parent::convertVar($element, array('var_dest' => $this->getId($element,false)));
 +    }
 +
 +    /**
 +     * Converts class variables for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertConst(&$element)
 +    {
 +        parent::convertConst($element, array('const_dest' => $this->getId($element,false)));
 +    }
 +
 +    /**
 +     * Converts class methods for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertMethod(&$element)
 +    {
 +        parent::convertMethod($element, array('method_dest' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * Converts function for template output
 +     * @see prepareDocBlock(), parserFunction::getFunctionCall(), getFormattedConflicts()
 +     * @param parserFunction
 +     */
 +    function convertFunction(&$element)
 +    {
 +        $funcloc = $this->getId($this->addLink($element));
 +        parent::convertFunction($element,array('function_dest' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * Converts include elements for template output
 +     * @see prepareDocBlock()
 +     * @param parserInclude
 +     */
 +    function convertInclude(&$element)
 +    {
 +        parent::convertInclude($element, array('include_file'    => '_'.strtr($element->getValue(),array('"' => '', "'" => '','.' => '_'))));
 +    }
 +    
 +    /**
 +     * Converts defines for template output
 +     * @see prepareDocBlock(), getFormattedConflicts()
 +     * @param parserDefine
 +     */
 +    function convertDefine(&$element)
 +    {
 +        parent::convertDefine($element, array('define_link' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * Converts global variables for template output
 +     * @param parserGlobal
 +     */
 +    function convertGlobal(&$element)
 +    {
 +        parent::convertGlobal($element, array('global_link' => $this->getId($element,false)));
 +    }
 +    
 +    /**
 +     * converts procedural pages for template output
 +     * @see prepareDocBlock(), getClassesOnPage()
 +     * @param parserData
 +     */
 +    function convertPage(&$element)
 +    {
 +        parent::convertPage($element);
 +        $this->juststarted = true;
 +        $this->page_dir = $element->parent->package;
 +        if (!empty($element->parent->subpackage)) $this->page_dir .= PATH_DELIMITER . $element->parent->subpackage;
 +        // registering stuff on the template
 +        $this->page_data->assign("page",$this->getPageName($element) . '.html');
 +        $this->page_data->assign("title","Docs for page ".$element->parent->getFile());
 +    }
 +    
 +    function getPageName(&$element)
 +    {
 +        if (phpDocumentor_get_class($element) == 'parserpage') return '_'.$element->getName();
 +        return '_'.$element->parent->getName();
 +    }
 +
 +    /**
 +     * returns an array containing the class inheritance tree from the root object to the class
 +     *
 +     * @param parserClass    class variable
 +     * @return array Format: array(root,child,child,child,...,$class)
 +     * @uses parserClass::getParentClassTree()
 +     */
 +    
 +    function generateFormattedClassTree($class)
 +    {
 +        $tree = $class->getParentClassTree($this);
 +        $out = '';
 +        if (count($tree) - 1)
 +        {
 +            $result = array($class->getName());
 +            $parent = $tree[$class->getName()];
 +            $distance[] = '';
 +            while ($parent)
 +            {
 +                $x = $parent;
 +                if (is_object($parent))
 +                {
 +                    $subpackage = $parent->docblock->subpackage;
 +                    $package = $parent->docblock->package;
 +                    $x = $parent;
 +                    $x = $parent->getLink($this);
 +                    if (!$x) $x = $parent->getName();
 +                }
 +                $result[] = 
 +                    $x;
 +                $distance[] =
 +                    "\n%s|\n" .
 +                    "%s--";
 +                if (is_object($parent))
 +                $parent = $tree[$parent->getName()];
 +                elseif (isset($tree[$parent]))
 +                $parent = $tree[$parent];
 +            }
 +            $nbsp = '   ';
 +            for($i=count($result) - 1;$i>=0;$i--)
 +            {
 +                $my_nbsp = '';
 +                for($j=0;$j<count($result) - $i;$j++) $my_nbsp .= $nbsp;
 +                $distance[$i] = sprintf($distance[$i],$my_nbsp,$my_nbsp);
 +            }
 +            return array('classes'=>array_reverse($result),'distance'=>array_reverse($distance));
 +        } else
 +        {
 +            return array('classes'=>$class->getName(),'distance'=>array(''));
 +        }
 +    }
 +    
 +    /** @access private */
 +    function sortVar($a, $b)
 +    {
 +        return strnatcasecmp($a->getName(),$b->getName());
 +    }
 +    
 +    /** @access private */
 +    function sortMethod($a, $b)
 +    {
 +        if ($a->isConstructor) return -1;
 +        if ($b->isConstructor) return 1;
 +        return strnatcasecmp($a->getName(),$b->getName());
 +    }
 +
 +    /**
 +     * returns a template-enabled array of class trees
 +     * 
 +     * @param    string    $package    package to generate a class tree for
 +     * @see $roots, HTMLConverter::getRootTree()
 +     */
 +    function generateFormattedClassTrees($package)
 +    {
 +        if (!isset($this->roots[$package])) return array();
 +        $roots = $trees = array();
 +        $roots = $this->roots[$package];
 +        for($i=0;$i<count($roots);$i++)
 +        {
 +            $trees[] = array('class' => $roots[$i],'class_tree' => "<ul>\n".$this->getRootTree($this->getSortedClassTreeFromClass($roots[$i],$package,''),$package)."</ul>\n");
 +        }
 +        return $trees;
 +    }
 +    
 +    /**
 +     * return formatted class tree for the Class Trees page
 +     *
 +     * @param array $tree output from {@link getSortedClassTreeFromClass()}
 +     * @see Classes::$definitechild, generateFormattedClassTrees()
 +     * @return string
 +     */
 +    function getRootTree($tree,$package)
 +    {
 +        if (!$tree) return '';
 +        $my_tree = '';
 +        $cur = '#root';
 +        $lastcur = array(false);
 +        $kids = array();
 +        $dopar = false;
 +        if ($tree[$cur]['parent'])
 +        {
 +            $dopar = true;
 +            if (!is_object($tree[$cur]['parent']))
 +            {
 +//                debug("parent ".$tree[$cur]['parent']." not found");
 +                $my_tree .= '<li>' . $tree[$cur]['parent'] .'<ul>';
 +            }
 +            else
 +            {
 +//                        debug("parent ".$this->returnSee($tree[$cur]['parent'])." in other package");
 +                $my_tree .= '<li>' . $this->returnSee($tree[$cur]['parent']);
 +                if ($tree[$cur]['parent']->package != $package) $my_tree .= ' <b>(Different package)</b><ul>';
 +            }
 +        }
 +        do
 +        {
 +//            fancy_debug($cur,$lastcur,$kids);
 +            if (count($tree[$cur]['children']))
 +            {
 +//                debug("$cur has children");
 +                if (!isset($kids[$cur]))
 +                {
 +//                    debug("set $cur kids");
 +                    $kids[$cur] = 1;
 +                    $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']);
 +                    $my_tree .= '<ul>'."\n";
 +                }
 +                array_push($lastcur,$cur);
 +                list(,$cur) = each($tree[$cur]['children']);
 +//                var_dump('listed',$cur);
 +                if ($cur)
 +                {
 +                    $cur = $cur['package'] . '#' . $cur['class'];
 +//                    debug("set cur to child $cur");
 +//                    $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link']);
 +                    continue;
 +                } else
 +                {
 +//                    debug("end of children for $cur");
 +                    $cur = array_pop($lastcur);
 +                    $cur = array_pop($lastcur);
 +                    $my_tree .= '</ul></li>'."\n";
 +                    if ($dopar && ($cur == '#root' || !$cur)) $my_tree .= '</ul></li>';
 +                }
 +            } else 
 +            {
 +//                debug("$cur has no children");
 +                $my_tree .= '<li>'.$this->returnSee($tree[$cur]['link'])."</li>";
 +                if ($dopar && $cur == '#root') $my_tree .= '</ul></li>';
 +                $cur = array_pop($lastcur);
 +            }
 +        } while ($cur);
 +        return $my_tree;
 +    }
 +        /**
 +         * Generate indexing information for given element
 +         * 
 +         * @param parserElement descendant of parserElement
 +         * @see generateElementIndex()
 +         * @return array
 +         */
 +        function getIndexInformation($elt)
 +        {
 +            $Result['type'] = $elt->type;
 +            $Result['file_name'] = $elt->file;
 +            $Result['path'] = $elt->getPath();
 +            
 +            if (isset($elt->docblock))
 +						{
 +							$Result['description'] = $elt->docblock->getSDesc($this);
 +							
 +							if ($elt->docblock->hasaccess)
 +								$Result['access'] = $elt->docblock->tags['access'][0]->value;
 +							else
 +								$Result['access'] = 'public';
 +
 +							$Result['abstract'] = isset ($elt->docblock->tags['abstract'][0]);
 +						}
 +            else
 +                $Result['description'] = '';
 +            
 +            $aa = $Result['description'];
 +            if (!empty($aa)) $aa = "<br>    $aa";
 +
 +            switch($elt->type)
 +            {
 +                    case 'class':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Class';
 +                            $Result['link'] = $this->getClassLink($elt->getName(),
 +                                                                  $elt->docblock->package,
 +                                                                  $elt->getPath(),
 +                                                                  $elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', class '.$Result['link']."$aa";
 +                    break;
 +                    case 'define':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Constant';
 +                            $Result['link'] = $this->getDefineLink($elt->getName(),
 +                                                                   $elt->docblock->package,
 +                                                                   $elt->getPath(),
 +                                                                   $elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', constant '.$Result['link']."$aa";
 +                    break;
 +                    case 'global':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Global';
 +                            $Result['link'] = $this->getGlobalLink($elt->getName(),
 +                                                                   $elt->docblock->package,
 +                                                                   $elt->getPath(),
 +                                                                   $elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', global variable '.$Result['link']."$aa";
 +                    break;
 +                    case 'function':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Function';
 +                            $Result['link'] = $this->getFunctionLink($elt->getName(),
 +                                                                     $elt->docblock->package,
 +                                                                     $elt->getPath(),
 +                                                                     $elt->getName().'()');
 +                            $Result['listing'] = 'in file '.$elt->file.', function '.$Result['link']."$aa";
 +                    break;
 +                    case 'method':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Method';
 +                            $Result['link'] = $this->getMethodLink($elt->getName(),
 +                                                                   $elt->class,
 +                                                                   $elt->docblock->package,
 +                                                                   $elt->getPath(),
 +                                                                   $elt->class.'::'.$elt->getName().'()'
 +                                                                             );
 +														if ($elt->isConstructor) $Result['constructor'] = 1;
 +                            $Result['listing'] = 'in file '.$elt->file.', method '.$Result['link']."$aa";
 +                    break;
 +                    case 'var':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Variable';
 +                            $Result['link'] = $this->getVarLink($elt->getName(),
 +                                                                $elt->class,
 +                                                                $elt->docblock->package,
 +                                                                $elt->getPath(),
 +                                                                $elt->class.'::'.$elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', variable '.$Result['link']."$aa";
 +                    break;
 +                    case 'const':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Class Constant';
 +                            $Result['link'] = $this->getConstLink($elt->getName(),
 +                                                                $elt->class,
 +                                                                $elt->docblock->package,
 +                                                                $elt->getPath(),
 +                                                                $elt->class.'::'.$elt->getName());
 +                            $Result['listing'] = 'in file '.$elt->file.', class constant '.$Result['link']."$aa";
 +                    break;
 +                    case 'page':
 +                            $Result['name'] = $elt->getFile();
 +                            $Result['title'] = 'Page';
 +                            $Result['link'] = $this->getPageLink($elt->getFile(),
 +                                                                 $elt->package,
 +                                                                 $elt->getPath(),
 +                                                                 $elt->getFile());
 +                            $Result['listing'] = 'procedural page '.$Result['link'];
 +                    break;
 +                    case 'include':
 +                            $Result['name'] = $elt->getName();
 +                            $Result['title'] = 'Include';
 +                            $Result['link'] = $elt->getValue();
 +                            $Result['listing'] = 'include '.$Result['name'];
 +                    break;
 +            }
 +
 +            return $Result;
 +        }
 +    /**
 +     * Generate alphabetical index of all elements
 +     *
 +     * @see $elements, walk()
 +     */
 +    function generateElementIndex()
 +    {
 +        $elementindex = array();
 +        $letters = array();
 +        $used = array();
 +        foreach($this->elements as $letter => $nutoh)
 +        {
 +            foreach($this->elements[$letter] as $i => $yuh)
 +            {
 +                if ($this->elements[$letter][$i]->type != 'include')
 +                {
 +                    if (!isset($used[$letter]))
 +                    {
 +                        $letters[]['letter'] = $letter;
 +                        $elindex['letter'] = $letter;
 +                        $used[$letter] = 1;
 +                    }
 +
 +                    $elindex['index'][] = $this->getIndexInformation($this->elements[$letter][$i]);
 +                }
 +            }
 +            if (isset($elindex['index']))
 +            {
 +                $elementindex[] = $elindex;
 +            } else
 +            {
 +                unset($letters[count($letters) - 1]);
 +            }
 +            $elindex = array();
 +        }
 +        return array($elementindex,$letters);
 +    }
 +    
 +    function copyMediaRecursively($media,$targetdir,$subdir = '')
 +    {
 +        if (!is_array($media)) {
 +            return;
 +        }
 +        foreach($media as $dir => $files)
 +        {
 +            if ($dir === '/')
 +            {
 +                $this->copyMediaRecursively($files,$targetdir);
 +            } else
 +            {
 +                if (!is_numeric($dir))
 +                {
 +                    // create the subdir
 +                    phpDocumentor_out("creating $targetdir/$dir\n");
 +                    Converter::setTargetDir($targetdir . PATH_DELIMITER . $dir);
 +                    if (!empty($subdir)) $subdir .= PATH_DELIMITER;
 +                    $this->copyMediaRecursively($files,"$targetdir/$dir",$subdir . $dir);
 +                } else
 +                {
 +                    // copy the file
 +                    phpDocumentor_out("copying $targetdir/".$files['file']."\n");
 +                    $this->copyFile($files['file'],$subdir);
 +                }
 +            }
 +        }
 +    }
 +    
 +    /**
 +     * calls the converter setTargetDir, and then copies any template images and the stylesheet if they haven't been copied
 +     * @see Converter::setTargetDir()
 +     */
 +    function setTargetDir($dir)
 +    {
 +        Converter::setTargetDir($dir);
 +        if ($this->wrote) return;
 +        $this->wrote = true;
 +        $template_images = array();
 +        $stylesheets = array();
 +        $tdir = $dir;
 +        $dir = $this->templateDir;
 +        $this->templateDir = $this->templateDir.'templates/';
 +        $info = new Io;
 +        $this->copyMediaRecursively($info->getDirTree($this->templateDir.'media',$this->templateDir),$tdir);
 +    }
 +    
 +    /**
 +     * Generate alphabetical index of all elements by package and subpackage
 +     *
 +     * @param string $package name of a package
 +     * @see $pkg_elements, walk(), generatePkgElementIndexes()
 +     */
 +    function generatePkgElementIndex($package)
 +    {
 +//        var_dump($this->pkg_elements[$package]);
 +        $elementindex = array();
 +        $letters = array();
 +        $letterind = array();
 +        $used = array();
 +        $subp = '';
 +        foreach($this->pkg_elements[$package] as $subpackage => $els)
 +        {
 +            if (empty($els)) continue;
 +            if (!empty($subpackage)) $subp = " (<b>subpackage:</b> $subpackage)"; else $subp = '';
 +            foreach($els as $letter => $yuh)
 +            {
 +                foreach($els[$letter] as $i => $yuh)
 +                {
 +                    if ($els[$letter][$i]->type != 'include')
 +                    {
 +                        if (!isset($used[$letter]))
 +                        {
 +                            $letters[]['letter'] = $letter;
 +                            $letterind[$letter] = count($letters) - 1;
 +                            $used[$letter] = 1;
 +                        }
 +                        $elindex[$letter]['letter'] = $letter;
 +
 +                        $elindex[$letter]['index'][] = $this->getIndexInformation($els[$letter][$i]);
 +                    }
 +                }
 +            }
 +        }
 +        ksort($elindex);
 +        usort($letters,'HTMLframes_lettersort');
 +        if (isset($elindex))
 +        {
 +            while(list($letter,$tempel) = each($elindex))
 +            {
 +                if (!isset($tempel))
 +                {
 +                    unset($letters[$letterind[$tempel['letter']]]);
 +                } else
 +                $elementindex[] = $tempel;
 +            }
 +        } else $letters = array();
 +        return array($elementindex,$letters);
 +    }
 +    
 +    /**
 +     *
 +     * @see generatePkgElementIndex()
 +     */
 +    function generatePkgElementIndexes()
 +    {
 +        $packages = array();
 +        $package_names = array();
 +        $pkg = array();
 +        $letters = array();
 +        foreach($this->pkg_elements as $package => $trash)
 +        {
 +            $pkgs['package'] = $package;
 +            $pkg['package'] = $package;
 +            list($pkg['pindex'],$letters[$package]) = $this->generatePkgElementIndex($package);
 +            if (count($pkg['pindex']))
 +            {
 +                $packages[] = $pkg;
 +                $package_names[] = $pkgs;
 +            }
 +            unset($pkgs);
 +            unset($pkg);
 +        }
 +        foreach($packages as $i => $package)
 +        {
 +            $pnames = array();
 +            for($j=0;$j<count($package_names);$j++)
 +            {
 +                if ($package_names[$j]['package'] != $package['package']) $pnames[] = $package_names[$j];
 +            }
 +            $packages[$i]['packageindexes'] = $pnames;
 +        }
 +        return array($packages,$package_names,$letters);
 +    }
 +    
 +    /**
 +     * @param string name of class
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the class's documentation
 +     * @see parent::getClassLink()
 +     */
 +    function getClassLink($expr,$package, $file = false,$text = false, $with_a = true)
 +    {
 +        $a = Converter::getClassLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text, $with_a);
 +    }
 +
 +    /**
 +     * @param string name of function
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the function's documentation
 +     * @see parent::getFunctionLink()
 +     */
 +    function getFunctionLink($expr,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getFunctionLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of define
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the define's documentation
 +     * @see parent::getDefineLink()
 +     */
 +    function getDefineLink($expr,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getDefineLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of global variable
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the global variable's documentation
 +     * @see parent::getGlobalLink()
 +     */
 +    function getGlobalLink($expr,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getGlobalLink($expr,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of procedural page
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the procedural page's documentation
 +     * @see parent::getPageLink()
 +     */
 +    function getPageLink($expr,$package, $path = false,$text = false)
 +    {
 +        $a = Converter::getPageLink($expr,$package,$path);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of method
 +     * @param string class containing method
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the method's documentation
 +     * @see parent::getMethodLink()
 +     */
 +    function getMethodLink($expr,$class,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getMethodLink($expr,$class,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of var
 +     * @param string class containing var
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the var's documentation
 +     * @see parent::getVarLink()
 +     */
 +    function getVarLink($expr,$class,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getVarLink($expr,$class,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +
 +    /**
 +     * @param string name of class constant
 +     * @param string class containing class constant
 +     * @param string package name
 +     * @param string full path to look in (used in index generation)
 +     * @param boolean deprecated
 +     * @param boolean return just the URL, or enclose it in an html a tag
 +     * @return mixed false if not found, or an html a link to the var's documentation
 +     * @see parent::getVarLink()
 +     */
 +    function getConstLink($expr,$class,$package, $file = false,$text = false)
 +    {
 +        $a = Converter::getConstLink($expr,$class,$package,$file);
 +        if (!$a) return false;
 +        return $this->returnSee($a, $text);
 +    }
 +    
 +    /**
 +     * does a nat case sort on the specified second level value of the array
 +     *
 +     * @param    mixed    $a
 +     * @param    mixed    $b
 +     * @return    int
 +     */
 +    function rcNatCmp ($a, $b)
 +    {
 +        $aa = strtoupper($a[$this->rcnatcmpkey]);
 +        $bb = strtoupper($b[$this->rcnatcmpkey]);
 +        
 +        return strnatcasecmp($aa, $bb);
 +    }
 +    
 +    /**
 +     * does a nat case sort on the specified second level value of the array.
 +     * this one puts constructors first
 +     *
 +     * @param    mixed    $a
 +     * @param    mixed    $b
 +     * @return    int
 +     */
 +    function rcNatCmp1 ($a, $b)
 +    {
 +        $aa = strtoupper($a[$this->rcnatcmpkey]);
 +        $bb = strtoupper($b[$this->rcnatcmpkey]);
 +        
 +        if (strpos($aa,'CONSTRUCTOR') === 0)
 +        {
 +            return -1;
 +        }
 +        if (strpos($bb,'CONSTRUCTOR') === 0)
 +        {
 +            return 1;
 +        }
 +        if (strpos($aa,strtoupper($this->class)) === 0)
 +        {
 +            return -1;
 +        }
 +        if (strpos($bb,strtoupper($this->class)) === 0)
 +        {
 +            return -1;
 +        }
 +        return strnatcasecmp($aa, $bb);
 +    }
 +    
 +    /**
 +     * This function is not used by HTMLdefaultConverter, but is required by Converter
 +     */
 +    function Output()
 +    {
 +    }
 +}
 +
 +/**
 + * @access private
 + * @global string name of the package to set as the first package
 + */
 +function HTMLframes_pindexcmp($a, $b)
 +{
 +    global $phpDocumentor_DefaultPackageName;
 +    if ($a['title'] == $phpDocumentor_DefaultPackageName) return -1;
 +    if ($b['title'] == $phpDocumentor_DefaultPackageName) return 1;
 +    return strnatcasecmp($a['title'],$b['title']);
 +}
 +
 +/** @access private */
 +function HTMLframes_lettersort($a, $b)
 +{
 +    return strnatcasecmp($a['letter'],$b['letter']);
 +}
 +
 +/** @access private */
 +function HTMLframes_outputfilter($src, &$smarty)
 +{
 +    return str_replace('{$subdir}',$smarty->_tpl_vars['subdir'],$src);
 +}
 +?>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/options.ini b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/options.ini new file mode 100644 index 00000000..73164a39 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/options.ini @@ -0,0 +1,577 @@ +preservedocbooktags = false
 +
 +;; used to highlight the {@source} inline tag, @filesource tag, and @example tag
 +[highlightSourceTokens]
 +;; format:
 +;; T_CONSTANTNAME = open
 +;; /T_CONSTANTNAME = close
 +
 +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
 +@ = <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 = <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
 +;; <tag>
 +opentag = <span class="tute-tag">
 +/opentag = </span>
 +;; </tag>
 +closetag = <span class="tute-tag">
 +/closetag = </span>
 +;; <tag attribute="value">
 +attribute = <span class="tute-attribute-name">
 +/attribute = </span>
 +;; <tag attribute="value">
 +attributevalue = <span class="tute-attribute-value">
 +/attributevalue = </span>
 +;; &entity;
 +entity = <span class="tute-entity">
 +/entity = </span>
 +;; <!-- comment -->
 +comment = <span class="tute-comment">
 +/comment = </span>
 +;; {@inline tag}
 +itag = <span class="tute-inline-tag">
 +/itag = </span>
 +
 +;; used for translation of html in DocBlocks
 +[desctranslate]
 +ul = <ul>
 +/ul = </ul>
 +ol = <ol>
 +/ol = </ol>
 +li = <li>
 +/li = </li>
 +code = <code><pre>
 +/code = </pre></code>
 +var = <var>
 +/var = </var>
 +samp = <samp>
 +/samp = </samp>
 +kbd = <kbd>
 +/kbd = </kbd>
 +pre = <pre>
 +/pre = </pre>
 +p = <p>
 +/p = </p>
 +b = <strong>
 +/b = </strong>
 +i = <em>
 +/i = </em>
 +br = <br />
 +
 +[ppage]
 +;; this is the DocBook package page translation section.  All DocBook tags
 +;; that have a corresponding html tag must be listed here.  Entities should
 +;; also be listed here
 +;;
 +;; examples:
 +;; 1)
 +;; tagname = newtagname
 +;;
 +;; This is the simplest case, where all attributes will be added into the
 +;; starting tag and the ending tag will be html/xml style </tranlatedtagname>
 +;; <tagname></tagname> becomes <newtagname></newtagname> and
 +;; <tagname attr="value"></tagname> becomes
 +;; <newtagname attr="value"></newtagname>
 +;;
 +;; 2)
 +;; tagname = newtagname
 +;; tagname->attr = newattrname
 +;;
 +;; in this case, everything will be like the first case, except tags like:
 +;; <tagname attr="value"></tagname> will become
 +;; <newtagname newattrname="value"></newtagname>
 +;;
 +;; 3)
 +;; tagname = newtagname
 +;; tagname->attr = newattrname
 +;; tagname->attr+value = newvalue
 +;;
 +;; in this case, the value is also translated to another.  This can be useful
 +;; for instances such as focus="middle" changing to align="center" or something
 +;; of that nature.
 +;; <tagname attr="value"></tagname> will become
 +;; <newtagname newattrname="newvalue"></newtagname>
 +;;
 +;; 4)
 +;; tagname = newtagname
 +;; tagname->attr1 = newattrname
 +;; tagname->attr2 = newattrname
 +;; tagname->attr1+value|attr2+value = newvalue
 +;;
 +;; in this case, two attributes combine to make one new attribute, and the combined
 +;; value is translated into a new value
 +;; <tagname attr1="value1" attr2="value2"></tagname> will become
 +;; <newtagname newattrname="newvalue"></newtagname>
 +;;
 +;; 5)
 +;; tagname = newtagname
 +;; tagname!attr = dummy
 +;;
 +;; here, the attribute will be ignored.  dummy is not used and may be any value
 +;; <tagname attr="value"></tagname> will become
 +;; <newtagname></newtagname>
 +;;
 +;; 6)
 +;; tagname = newtagname
 +;; tagname! = dummy
 +;;
 +;; here, all attributes will be ignored.  dummy is not used and may be any value
 +;; <tagname attr1="value" attr2="foo"></tagname> will become
 +;; <newtagname></newtagname>
 +;;
 +;; 7)
 +;; tagname = newtagname
 +;; tagname/ = 1
 +;;
 +;; here, the tag will be translated as a single tag with no closing tag, and all
 +;; attributes
 +;; <tagname attr="val">{text text}</tagname> will become
 +;; <newtagname attr="val" />
 +;;
 +;; 8)
 +;; tagname = <starttaginfo />
 +;; /tagname = closetagtext
 +;;
 +;; in this case, the text <starttaginfo> will be inserted exactly as entered for
 +;; <tagname> and closetagtext for </tagname>
 +;; <tagname attr="val"></tagname> will become
 +;; <starttaginfo />closetagtext
 +;;
 +;; 9)
 +;; $attr$my_attribute = newattrname
 +;;
 +;; tagname = newtagname
 +;;
 +;; in this case, all occurences of my_attribute in any tag will be changed to
 +;; newattrname.  This is useful for changing things like role="php" to
 +;; class="php," for example.  Note that the text "$attr$" MUST be on the line
 +;; start for phpDocumentor to recognize it.
 +;;
 +;; 10)
 +;; &entity; = translation text
 +;; " = "
 +;; " = """
 +;; < = <
 +;;
 +;; Use this to control translation of entities to their appropriate values
 +
 +  =  
 +" = "
 +” = ”
 +“ = “
 +& = &
 +< = <
 +> = >
 +© = ©
 +
 +
 +$attr$role = class
 +
 +abbrev = abbr
 +
 +blockquote = blockquote
 +
 +arg = span
 +arg->choice = class
 +
 +author = <span class="author">
 +/author = </span>
 +author! = 0
 +
 +authorblurb = <div class="author-blurb">
 +/authorblurb = </div>
 +
 +authorgroup = <div class="authors"><h2 class="title">Authors</h2>
 +/authorgroup = </div>
 +authorgroup! = 0
 +
 +caution = <span class="warning">
 +/caution = </span>
 +caution! = 0
 +
 +cmdsynopsis = <div class="cmd-synopsis">
 +/cmdsynopsis = </div>
 +
 +command = <span class="cmd-title">
 +/command = </span>
 +
 +copyright = <div class="notes">
 +/copyright = </div>
 +
 +emphasis = em
 +
 +example = <pre class="example">
 +/example = </pre>
 +example! = 0
 +
 +function =
 +/function = ()
 +
 +formalpara = p
 +
 +graphic = img
 +graphic->fileref = src
 +graphic/ =
 +
 +important = strong
 +
 +informalequation = blockquote
 +
 +informalexample = div
 +
 +inlineequation = em
 +
 +itemizedlist = ul
 +
 +listitem = li
 +
 +literal = code
 +
 +literallayout = span
 +
 +option = " "
 +/option = 
 +
 +orderedlist = ol
 +
 +para = p
 +
 +programlisting = <pre class="listing">
 +/programlisting = </pre>
 +programlisting! = 0
 +
 +refentry = div
 +
 +refnamediv = <div class="ref-title-box">
 +/refnamediv = </div>
 +refnamediv! = 0
 +
 +refname = <h1 class="ref-title">
 +/refname = </h1>
 +
 +refpurpose = <h2 class="ref-purpose">
 +/refpurpose = </h2>
 +
 +refsynopsisdiv = <div class="ref-synopsis">
 +/refsynopsisdiv = </div>
 +refsynopsisdiv! = 0
 +
 +refsect1 = span
 +
 +refsect2 = span
 +
 +refsect3 = 
 +/refsect3 = <br />
 +
 +releaseinfo = <div class="release-info">(
 +/releaseinfo = )</div>
 +
 +simpara = 
 +/simpara = <br />
 +simpara! = 0
 +
 +subscript = sub
 +
 +superscript = super
 +
 +table = table
 +
 +table->colsep = rules
 +table->rowsep = rules
 +table->colsep+1|rowsep+1 =all
 +table->colsep+1|rowsep+0 =cols
 +table->colsep+0|rowsep+1 =rows
 +
 +table->frame =frame
 +table->frame+all =border
 +table->frame+none =void
 +table->frame+sides =vsides
 +table->frame+top =above
 +table->frame+topbot =hsides
 +
 +thead = thead
 +
 +tfoot = tfoot
 +
 +tbody = tbody
 +
 +colspec = col
 +
 +tgroup = colgroup
 +tgroup/ = 1
 +tgroup->cols = span
 +
 +row = tr
 +
 +entry = td
 +entry->morerows = colspan
 +entry->morerows+1 =2
 +entry->morerows+2 =3
 +entry->morerows+3 =4
 +entry->morerows+4 =5
 +entry->morerows+5 =6
 +entry->morerows+6 =7
 +entry->morerows+7 =8
 +entry->morerows+8 =9
 +entry->morerows+9 =10
 +entry->morerows+10 =11
 +;; add more if you need more colspans
 +
 +warning = <span class="warning">
 +/warning = </span>
 +warning! = 0
 +
 +;; now begins the attributes that should be tags in cdata
 +[$attr$id]
 +open = a
 +;close = /a
 +cdata! = true
 +quotevalues = true
 +separator = "="
 +;separateall = true
 +$id = name
 +
 +;; now begins the sections that deal with <title>
 +[refsynopsisdiv_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h1 class="title">
 +close = </h1>
 +
 +[refsect1_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h2 class="title">
 +close = </h2>
 +
 +[refsect2_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h3 class="title">
 +close = </h3>
 +
 +[refsect3_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <h4 class="title">
 +close = </h4>
 +
 +[para_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <div class="title">
 +close = </div>
 +
 +[formalpara_title]
 +;tag_attr = true
 +;attr_name = title
 +cdata_start = true
 +;cdata_end = true
 +open = <div class="title">
 +close = </div>
 +
 +[example_title]
 +;tag_attr = true
 +;attr_name = title
 +;cdata_start = true
 +cdata_end = true
 +open = </td></tr><tr><td><strong>
 +close = </strong>
 +
 +[table_title]
 +;tag_attr = true
 +;attr_name = true
 +cdata_start = true
 +open = <caption>
 +close = </caption>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl new file mode 100644 index 00000000..711e1d2e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/basicindex.tpl @@ -0,0 +1,47 @@ +<div class="index-letter-menu">
 +{section name=letter loop=$letters}
 +	<a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a>
 +{/section}
 +</div>
 +
 +{section name=index loop=$index}
 +	<a name="{$index[index].letter}"></a>
 +	<div class="index-letter-section">
 +		<div style="float: left" class="index-letter-title">{$index[index].letter}</div>
 +		<div style="float: right"><a href="#top">top</a></div>
 +		<div style="clear: both"></div>
 +	</div>
 +	<dl>
 +	{section name=contents loop=$index[index].index}
 +		<dt class="field">
 +			{if ($index[index].index[contents].title == "Variable")}
 +			<span class="var-title">{$index[index].index[contents].name}</span>
 +			{elseif ($index[index].index[contents].title == "Global")}
 +			<span class="var-title">{$index[index].index[contents].name}</span>
 +			{elseif ($index[index].index[contents].title == "Method")}
 +			<span class="method-title">{$index[index].index[contents].name}</span>
 +			{elseif ($index[index].index[contents].title == "Function")}
 +			<span class="method-title">{$index[index].index[contents].name}</span>
 +			{elseif ($index[index].index[contents].title == "Constant")}
 +			<span class="const-title">{$index[index].index[contents].name}</span>
 +			{elseif ($index[index].index[contents].title == "Page") || ($index[index].index[contents].title == "Include")}
 +			<span class="include-title">{$index[index].index[contents].name}</span>
 +			{else}
 +			{$index[index].index[contents].name}
 +			{/if}
 +		</dt>
 +		<dd class="index-item-body">
 +			<div class="index-item-details">{$index[index].index[contents].link} in {$index[index].index[contents].file_name}</div>
 +			{if $index[index].index[contents].description}
 +				<div class="index-item-description">{$index[index].index[contents].description}</div>
 +			{/if}
 +		</dd>
 +	{/section}
 +	</dl>
 +{/section}
 +
 +<div class="index-letter-menu">
 +{section name=letter loop=$letters}
 +	<a class="index-letter" href="{$indexname}.html#{$letters[letter].letter}">{$letters[letter].letter}</a>
 +{/section}
 +</div>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl new file mode 100644 index 00000000..1fbaca2f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/blank.tpl @@ -0,0 +1,13 @@ +<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/HTML/frames/templates/default/templates/class.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl new file mode 100644 index 00000000..cc1c080b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/class.tpl @@ -0,0 +1,402 @@ +{include file="header.tpl" top3=true}
 +
 +<h2 class="class-name">{if $is_interface}Interface{else}Class{/if} {$class_name}</h2>
 +
 +<a name="sec-description"></a>
 +<div class="info-box">
 +	<div class="info-box-title">Description</div>
 +	<div class="nav-bar">
 +		{if $children || $vars || $ivars || $methods || $imethods || $consts || $iconsts }
 +			<span class="disabled">Description</span> |
 +		{/if}
 +		{if $children}
 +			<a href="#sec-descendents">Descendents</a>
 +			{if $vars || $ivars || $methods || $imethods || $consts || $iconsts}|{/if}
 +		{/if}
 +		{if $vars || $ivars}
 +			{if $vars}
 +				<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
 +			{else}
 +				<a href="#sec-vars">Vars</a>
 +			{/if}
 +			{if $methods || $imethods}|{/if}
 +		{/if}
 +		{if $methods || $imethods}
 +			{if $methods}
 +				<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
 +			{else}
 +				<a href="#sec-methods">Methods</a>
 +			{/if}			
 +		{/if}
 +		{if $consts || $iconsts}
 +			{if $consts}
 +				<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
 +			{else}
 +				<a href="#sec-consts">Constants</a>
 +			{/if}			
 +		{/if}
 +	</div>
 +	<div class="info-box-body">
 +        {if $implements}
 +        <p class="implements">
 +            Implements interfaces:
 +            <ul>
 +                {foreach item="int" from=$implements}<li>{$int}</li>{/foreach}
 +            </ul>
 +        </p>
 +        {/if}
 +		{include file="docblock.tpl" type="class" sdesc=$sdesc desc=$desc}
 +		<p class="notes">
 +			Located in <a class="field" href="{$page_link}">{$source_location}</a> (line <span class="field">{if $class_slink}{$class_slink}{else}{$line_number}{/if}</span>)
 +		</p>
 +		
 +		{if $tutorial}
 +			<hr class="separator" />
 +			<div class="notes">Tutorial: <span class="tutorial">{$tutorial}</span></div>
 +		{/if}
 +		
 +		<pre>{section name=tree loop=$class_tree.classes}{$class_tree.classes[tree]}{$class_tree.distance[tree]}{/section}</pre>
 +	
 +		{if $conflicts.conflict_type}
 +			<hr class="separator" />
 +			<div><span class="warning">Conflicts with classes:</span><br /> 
 +			{section name=me loop=$conflicts.conflicts}
 +				{$conflicts.conflicts[me]}<br />
 +			{/section}
 +			</div>
 +		{/if}
 +	</div>
 +</div>
 +
 +{if $children}
 +	<a name="sec-descendents"></a>
 +	<div class="info-box">
 +		<div class="info-box-title">Direct descendents</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			<span class="disabled">Descendents</span>
 +			{if $vars || $ivars || $methods || $imethods}|{/if}
 +			{if $vars || $ivars}
 +				{if $vars}
 +					<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
 +				{else}
 +					<a href="#sec-vars">Vars</a>
 +				{/if}
 +				{if $methods || $imethods}|{/if}
 +			{/if}
 +			{if $methods || $imethods}
 +				{if $methods}
 +					<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
 +				{else}
 +					<a href="#sec-methods">Methods</a>
 +				{/if}			
 +			{/if}
 +			{if $consts || $iconsts}
 +				{if $consts}
 +					<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
 +				{else}
 +					<a href="#sec-consts">Constants</a>
 +				{/if}			
 +			{/if}
 +		</div>
 +		<div class="info-box-body">
 +			<table cellpadding="2" cellspacing="0" class="class-table">
 +				<tr>
 +					<th class="class-table-header">Class</th>
 +					<th class="class-table-header">Description</th>
 +				</tr>
 +				{section name=kids loop=$children}
 +				<tr>
 +					<td style="padding-right: 2em">{$children[kids].link}</td>
 +					<td>
 +					{if $children[kids].sdesc}
 +						{$children[kids].sdesc}
 +					{else}
 +						{$children[kids].desc}
 +					{/if}
 +					</td>
 +				</tr>
 +				{/section}
 +			</table>
 +		</div>
 +	</div>
 +{/if}
 +
 +{if $consts}
 +	<a name="sec-const-summary"></a>
 +	<div class="info-box">
 +		<div class="info-box-title">Class Constant Summary</span></div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $children}
 +				<a href="#sec-descendents">Descendants</a> |
 +			{/if}
 +			<span class="disabled">Constants</span> (<a href="#sec-consts">details</a>)
 +			{if $vars || $ivars}
 +				{if $vars}
 +					<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
 +				{else}
 +					<a href="#sec-vars">Vars</a>
 +				{/if} 
 +				|
 +			{/if}
 +			{if $methods || $imethods}
 +				| 
 +				{if $methods}
 +					<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
 +				{else}
 +					<a href="#sec-methods">Methods</a>
 +				{/if}			
 +			{/if}
 +		</div>
 +		<div class="info-box-body">
 +			<div class="const-summary">
 +				{section name=consts loop=$consts}
 +				<div class="const-title">
 +					<img src="{$subdir}media/images/Constant.png" alt=" " />
 +					<a href="#{$consts[consts].const_name}" title="details" class="const-name">{$consts[consts].const_name}</a> = 					<span class="var-type">{$consts[consts].const_value}</span>
 +
 +				</div>
 +				{/section}
 +			</div>
 +		</div>
 +	</div>
 +{/if}
 +
 +{if $vars}
 +	<a name="sec-var-summary"></a>
 +	<div class="info-box">
 +		<div class="info-box-title">Variable Summary</span></div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $children}
 +				<a href="#sec-descendents">Descendents</a> |
 +			{/if}
 +			<span class="disabled">Vars</span> (<a href="#sec-vars">details</a>)
 +			{if $methods || $imethods}
 +				| 
 +				{if $methods}
 +					<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
 +				{else}
 +					<a href="#sec-methods">Methods</a>
 +				{/if}			
 +			{/if}
 +			{if $consts || $iconsts}
 +				{if $consts}
 +					<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
 +				{else}
 +					<a href="#sec-consts">Constants</a>
 +				{/if}			
 +			{/if}
 +		</div>
 +		<div class="info-box-body">
 +			<div class="var-summary">
 +				{section name=vars loop=$vars}
 +				<div class="var-title">
 +					<span class="var-type">{$vars[vars].var_type}</span>
 +					<a href="#{$vars[vars].var_name}" title="details" class="var-name">{$vars[vars].var_name}</a>
 +				</div>
 +				{/section}
 +			</div>
 +		</div>
 +	</div>
 +{/if}
 +
 +{if $methods}
 +	<a name="sec-method-summary"></a>
 +	<div class="info-box">
 +		<div class="info-box-title">Method Summary</span></div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $children}
 +				<a href="#sec-descendents">Descendents</a> |
 +			{/if}
 +			{if $consts || $iconsts}
 +				{if $consts}
 +					<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
 +				{else}
 +					<a href="#sec-consts">Constants</a>
 +				{/if}			
 +			{/if}
 +			{if $vars || $ivars}
 +				{if $vars}
 +					<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
 +				{else}
 +					<a href="#sec-vars">Vars</a>
 +				{/if} 
 +				|
 +			{/if}
 +			<span class="disabled">Methods</span> (<a href="#sec-methods">details</a>)
 +		</div>
 +		<div class="info-box-body">			
 +			<div class="method-summary">
 +				{section name=methods loop=$methods}				
 +				<div class="method-definition">
 +					{if $methods[methods].function_return}
 +						<span class="method-result">{$methods[methods].function_return}</span>
 +					{/if}
 +					<a href="#{$methods[methods].function_name}" title="details" class="method-name">{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}</a>
 +					{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}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].default} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section})
 +					{else}
 +					()
 +					{/if}
 +				</div>
 +				{/section}
 +			</div>
 +		</div>
 +	</div>		
 +{/if}
 +
 +{if $vars || $ivars}
 +	<a name="sec-vars"></a>
 +	<div class="info-box">
 +		<div class="info-box-title">Variables</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $children}
 +				<a href="#sec-descendents">Descendents</a> |
 +			{/if}
 +			{if $methods}
 +				<a href="#sec-var-summary">Vars</a> (<span class="disabled">details</span>)
 +			{else}
 +				<span class="disabled">Vars</span>
 +			{/if}			
 +			
 +			{if $consts || $iconsts}
 +				{if $consts}
 +					<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
 +				{else}
 +					<a href="#sec-consts">Constants</a>
 +				{/if}			
 +			{/if}
 +			{if $methods || $imethods}
 +				| 
 +				{if $methods}
 +					<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
 +				{else}
 +					<a href="#sec-methods">Methods</a>
 +				{/if}			
 +			{/if}
 +		</div>
 +		<div class="info-box-body">
 +			{include file="var.tpl"}
 +			{if $ivars}
 +				<h4>Inherited Variables</h4>
 +				<A NAME='inherited_vars'><!-- --></A>
 +				{section name=ivars loop=$ivars}
 +					<p>Inherited from <span class="classname">{$ivars[ivars].parent_class}</span></p>
 +					<blockquote>
 +						{section name=ivars2 loop=$ivars[ivars].ivars}
 +							<span class="var-title">
 +								<span class="var-name">{$ivars[ivars].ivars[ivars2].link}</span>{if $ivars[ivars].ivars[ivars2].ivar_sdesc}: {$ivars[ivars].ivars[ivars2].ivar_sdesc}{/if}<br>
 +							</span>
 +						{/section}
 +					</blockquote> 
 +				{/section}
 +			{/if}			
 +		</div>
 +	</div>
 +{/if}
 +	
 +{if $methods || $imethods}
 +	<a name="sec-methods"></a>
 +	<div class="info-box">
 +		<div class="info-box-title">Methods</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $children}
 +				<a href="#sec-descendents">Descendents</a> |
 +			{/if}
 +			{if $vars || $ivars}
 +				{if $vars}
 +					<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
 +				{else}
 +					<a href="#sec-vars">Vars</a>
 +				{/if}
 +			{/if}
 +			{if $consts || $iconsts}
 +				{if $consts}
 +					<a href="#sec-const-summary">Constants</a> (<a href="#sec-consts">details</a>)
 +				{else}
 +					<a href="#sec-consts">Constants</a>
 +				{/if}			
 +			{/if}
 +			{if $methods}
 +				<a href="#sec-method-summary">Methods</a> (<span class="disabled">details</span>)
 +			{else}
 +				<span class="disabled">Methods</span>
 +			{/if}			
 +		</div>
 +		<div class="info-box-body">
 +			{include file="method.tpl"}
 +			{if $imethods}
 +				<h4>Inherited Methods</h4>
 +				<a name='inherited_methods'><!-- --></a>	
 +				{section name=imethods loop=$imethods}
 +					<!-- =========== Summary =========== -->
 +					<p>Inherited From <span class="classname">{$imethods[imethods].parent_class}</span></p>
 +					<blockquote>
 +						{section name=im2 loop=$imethods[imethods].imethods}
 +							<span class="method-name">{$imethods[imethods].imethods[im2].link}</span>{if $imethods[imethods].imethods[im2].ifunction_sdesc}: {$imethods[imethods].imethods[im2].ifunction_sdesc}{/if}<br>
 +						{/section}
 +					</blockquote>
 +				{/section}
 +			{/if}			
 +		</div>
 +	</div>
 +{/if}
 +
 +{if $consts || $iconsts}
 +	<a name="sec-consts"></a>
 +	<div class="info-box">
 +		<div class="info-box-title">Class Constants</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $children}
 +				<a href="#sec-descendents">Descendants</a> |
 +			{/if}
 +			{if $methods}
 +				<a href="#sec-var-summary">Constants</a> (<span class="disabled">details</span>)
 +			{else}
 +				<span class="disabled">Constants</span>
 +			{/if}			
 +			
 +			{if $vars || $ivars}
 +				{if $vars}
 +					<a href="#sec-var-summary">Vars</a> (<a href="#sec-vars">details</a>)
 +				{else}
 +					<a href="#sec-vars">Vars</a>
 +				{/if}
 +			{/if}
 +			{if $methods || $imethods}
 +				| 
 +				{if $methods}
 +					<a href="#sec-method-summary">Methods</a> (<a href="#sec-methods">details</a>)
 +				{else}
 +					<a href="#sec-methods">Methods</a>
 +				{/if}			
 +			{/if}
 +		</div>
 +		<div class="info-box-body">
 +			{include file="const.tpl"}
 +			{if $iconsts}
 +				<h4>Inherited Constants</h4>
 +				<A NAME='inherited_vars'><!-- --></A>
 +				{section name=iconsts loop=$iconsts}
 +					<p>Inherited from <span class="classname">{$iconsts[iconsts].parent_class}</span></p>
 +					<blockquote>
 +						{section name=iconsts2 loop=$iconsts[iconsts].iconsts}
 +							<img src="{$subdir}media/images/{if $iconsts[iconsts].iconsts[iconsts2].access == 'private'}PrivateVariable{else}Variable{/if}.png" />
 +							<span class="const-title">
 +								<span class="const-name">{$iconsts[iconsts].iconsts[iconsts2].link}</span>{if $iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}: {$iconsts[iconsts].iconsts[iconsts2].iconst_sdesc}{/if}<br>
 +							</span>
 +						{/section}
 +					</blockquote> 
 +				{/section}
 +			{/if}			
 +		</div>
 +	</div>
 +{/if}
 +
 +{include file="footer.tpl" top3=true}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl new file mode 100644 index 00000000..5188e8cf --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/classtrees.tpl @@ -0,0 +1,11 @@ +{include file="header.tpl" top1=true}
 +
 +<!-- Start of Class Data -->
 +<H2>
 +	{$smarty.capture.title}
 +</H2>
 +{section name=classtrees loop=$classtrees}
 +<h2>Root class {$classtrees[classtrees].class}</h2>
 +{$classtrees[classtrees].class_tree}
 +{/section}
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl new file mode 100644 index 00000000..4157488f --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/const.tpl @@ -0,0 +1,18 @@ +{section name=consts loop=$consts}
 +<a name="const{$consts[consts].const_name}" id="{$consts[consts].const_name}"><!-- --></A>
 +<div class="{cycle values="evenrow,oddrow"}">
 +
 +	<div class="const-header">
 +		<img src="{$subdir}media/images/{if $consts[consts].access == 'private'}PrivateVariable{else}Variable{/if}.png" />
 +		<span class="const-title">
 +			<span class="const-name">{$consts[consts].const_name}</span>
 +			 = <span class="const-default">{$consts[consts].const_value|replace:"\n":"<br />"}</span>
 +			(line <span class="line-number">{if $consts[consts].slink}{$consts[consts].slink}{else}{$consts[consts].line_number}{/if}</span>)
 +		</span>
 +	</div>
 +
 +	{include file="docblock.tpl" sdesc=$consts[consts].sdesc desc=$consts[consts].desc tags=$consts[consts].tags}	
 +	
 +</div>
 +{/section}
 +
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl new file mode 100644 index 00000000..ab76faa2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/define.tpl @@ -0,0 +1,24 @@ +{section name=def loop=$defines}
 +<a name="{$defines[def].define_link}"><!-- --></a>
 +<div class="{cycle values="evenrow,oddrow"}">
 +	
 +	<div>
 +		<span class="const-title">
 +			<span class="const-name">{$defines[def].define_name}</span> = {$defines[def].define_value|replace:"\n":"<br />"}
 +			(line <span class="line-number">{if $defines[def].slink}{$defines[def].slink}{else}{$defines[def].line_number}{/if}</span>)
 +		</span>
 +	</div>
 +	
 +	{include file="docblock.tpl" sdesc=$defines[def].sdesc desc=$defines[def].desc tags=$defines[def].tags}
 +	
 +	{if $globals[glob].global_conflicts.conflict_type}
 +		<hr class="separator" />
 +		<div><span class="warning">Conflicts with constants:</span><br /> 
 +			{section name=me loop=$defines[def].define_conflicts.conflicts}
 +				{$defines[def].define_conflicts.conflicts[me]}<br />
 +			{/section}
 +		</div>
 +	{/if}
 +	
 +</div>
 +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl new file mode 100644 index 00000000..8a87c9b7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/docblock.tpl @@ -0,0 +1,14 @@ +<!-- ========== Info from phpDoc block ========= -->
 +{if $sdesc}
 +<p class="short-description">{$sdesc}</p>
 +{/if}
 +{if $desc}
 +<p class="description">{$desc}</p>
 +{/if}
 +{if $tags}
 +	<ul class="tags">
 +		{section name=tags loop=$tags}
 +		<li><span class="field">{$tags[tags].keyword}:</span> {$tags[tags].data}</li>
 +		{/section}
 +	</ul>
 +{/if}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl new file mode 100644 index 00000000..6e651db1 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/elementindex.tpl @@ -0,0 +1,12 @@ +{include file="header.tpl" noleftindex=true}
 +<a name="top"></a>
 +<h2>Full index</h2>
 +<h3>Package indexes</h3>
 +<ul>
 +{section name=p loop=$packageindex}
 +	<li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li>
 +{/section}
 +</ul>
 +<br />
 +{include file="basicindex.tpl" indexname="elementindex"}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl new file mode 100644 index 00000000..1576a822 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/errors.tpl @@ -0,0 +1,21 @@ +{include file="header.tpl" noleftindex=true}
 +{section name=files loop=$files}
 +<a href="#{$files[files].file}">{$files[files].file}</a><br>
 +{/section}
 +{foreach key=file item=issues from=$all}
 +<a name="{$file}"></a>
 +<h1>{$file}</h1>
 +{if count($issues.warnings)}
 +<h2>Warnings:</h2><br>
 +{section name=warnings loop=$issues.warnings}
 +<b>{$issues.warnings[warnings].name}</b> - {$issues.warnings[warnings].listing}<br>
 +{/section}
 +{/if}
 +{if count($issues.errors)}
 +<h2>Errors:</h2><br>
 +{section name=errors loop=$issues.errors}
 +<b>{$issues.errors[errors].name}</b> - {$issues.errors[errors].listing}<br>
 +{/section}
 +{/if}
 +{/foreach}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl new file mode 100644 index 00000000..c813280b --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/examplesource.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl" title=$title}
 +<h1>{$title}</h1>
 +<div class="listing">
 +{$source}
 +</div>
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl new file mode 100644 index 00000000..4fd821a2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/filesource.tpl @@ -0,0 +1,8 @@ +{capture name="tutle"}File Source for {$name}{/capture}
 +{include file="header.tpl" title=$smarty.capture.tutle}
 +<h1>Source for file {$name}</h1>
 +<p>Documentation is available at {$docs}</p>
 +<div class="src-code">
 +{$source}
 +</div>
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl new file mode 100644 index 00000000..424ebbe2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/footer.tpl @@ -0,0 +1,8 @@ +{if !$index}
 +	<p class="notes" id="credit">
 +		Documentation generated on {$date} by <a href="{$phpdocwebsite}" target="_blank">phpDocumentor {$phpdocversion}</a>
 +	</p>
 +{/if}
 +	{if $top3}</div>{/if}
 +</body>
 +</html>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl new file mode 100644 index 00000000..2750a97e --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/function.tpl @@ -0,0 +1,44 @@ +{section name=func loop=$functions}
 +<a name="{$functions[func].function_dest}" id="{$functions[func].function_dest}"><!-- --></a>
 +<div class="{cycle values="evenrow,oddrow"}">
 +	
 +	<div>
 +		<span class="method-title">{$functions[func].function_name}</span> (line <span class="line-number">{if $functions[func].slink}{$functions[func].slink}{else}{$functions[func].line_number}{/if}</span>)
 +	</div> 
 +
 +	{include file="docblock.tpl" sdesc=$functions[func].sdesc desc=$functions[func].desc tags=$functions[func].tags params=$functions[func].params function=false}
 +	
 +	<div class="method-signature">
 +		<span class="method-result">{$functions[func].function_return}</span>
 +		<span class="method-name">
 +			{if $functions[func].ifunction_call.returnsref}&{/if}{$functions[func].function_name}
 +		</span>
 +		{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].hasdefault}[{/if}<span class="var-type">{$functions[func].ifunction_call.params[params].type}</span> <span class="var-name">{$functions[func].ifunction_call.params[params].name}</span>{if $functions[func].ifunction_call.params[params].hasdefault} = <span class="var-default">{$functions[func].ifunction_call.params[params].default|escape:"html"}</span>]{/if}{/section})
 +		{else}
 +		()
 +		{/if}
 +	</div>
 +
 +	{if $functions[func].params}
 +		<ul class="parameters">
 +		{section name=params loop=$functions[func].params}
 +			<li>
 +				<span class="var-type">{$functions[func].params[params].datatype}</span>
 +				<span class="var-name">{$functions[func].params[params].var}</span>{if $functions[func].params[params].data}<span class="var-description">: {$functions[func].params[params].data}</span>{/if}
 +			</li>
 +		{/section}
 +		</ul>
 +	{/if}
 +	
 +	{if $functions[func].function_conflicts.conflict_type}
 +		<hr class="separator" />
 +		<div><span class="warning">Conflicts with functions:</span><br /> 
 +			{section name=me loop=$functions[func].function_conflicts.conflicts}
 +				{$functions[func].function_conflicts.conflicts[me]}<br />
 +			{/section}
 +		</div>
 +	{/if}
 +
 +</div>
 +{/section}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl new file mode 100644 index 00000000..3c89ddfc --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/global.tpl @@ -0,0 +1,26 @@ +{section name=glob loop=$globals}
 +<a name="{$globals[glob].global_link}" id="{$globals[glob].global_link}"><!-- --></a>
 +<div class="{cycle values="evenrow,oddrow"}">
 +	
 +	<div>
 +		<span class="var-title">
 +			<span class="var-type">{$globals[glob].global_type}</span>
 +			<span class="var-name">{$globals[glob].global_name}</span>
 +			{if $vars[vars].var_default} = <span class="var-default">{$globals[glob].global_value|replace:"\n":"<br />"}</span>{/if}
 +			(line <span class="line-number">{if $globals[glob].slink}{$globals[glob].slink}{else}{$globals[glob].line_number}{/if}</span>)
 +		</span>
 +	</div>
 +
 +	{include file="docblock.tpl" sdesc=$globals[glob].sdesc desc=$globals[glob].desc tags=$globals[glob].tags}
 +	
 +	{if $globals[glob].global_conflicts.conflict_type}
 +		<hr class="separator" />
 +		<div><span class="warning">Conflicts with global variables:</span><br /> 
 +			{section name=me loop=$globals[glob].global_conflicts.conflicts}
 +				{$globals[glob].global_conflicts.conflicts[me]}<br />
 +			{/section}
 +		</div>
 +	{/if}
 +	
 +</div>
 +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl new file mode 100644 index 00000000..d5e26dfa --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/header.tpl @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="iso-8859-1"?>
 +<!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">
 +		<head>
 +			<!-- template designed by Marco Von Ballmoos -->
 +			<title>{$title}</title>
 +			<link rel="stylesheet" href="{$subdir}media/stylesheet.css" />
 +			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
 +		</head>
 +		<body>
 +			{if $top3}<div class="page-body">{/if}
 +			
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl new file mode 100644 index 00000000..bd408aff --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/include.tpl @@ -0,0 +1,16 @@ +{section name=includes loop=$includes}
 +<a name="{$includes[includes].include_file}"><!-- --></a>
 +<div class="{cycle values="evenrow,oddrow"}">
 +	
 +	<div>
 +		<span class="include-title">
 +			<span class="include-type">{$includes[includes].include_name}</span>
 +			(<span class="include-name">{$includes[includes].include_value}</span>)
 +			(line <span class="line-number">{if $includes[includes].slink}{$includes[includes].slink}{else}{$includes[includes].line_number}{/if}</span>)
 +		</span>
 +	</div>
 +
 +	{include file="docblock.tpl" sdesc=$includes[includes].sdesc desc=$includes[includes].desc tags=$includes[includes].tags}
 +	
 +</div>
 +{/section}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl new file mode 100644 index 00000000..477d2b17 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/index.tpl @@ -0,0 +1,24 @@ +<?xml version="1.0" encoding="iso-8859-1"?>
 +<!DOCTYPE html 
 +     PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//FR"
 +     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd">
 +   <html xmlns="http://www.w3.org/1999/xhtml">
 +<head>
 +	<!-- Generated by phpDocumentor on {$date}  -->
 +  <title>{$title}</title>
 +  <meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
 +</head>
 +
 +<FRAMESET rows='120,*'>
 +	<FRAME src='packages.html' name='left_top' frameborder="1" bordercolor="#999999">
 +	<FRAMESET cols='25%,*'>
 +		<FRAME src='{$start}' name='left_bottom' frameborder="1" bordercolor="#999999">
 +		<FRAME src='{$blank}.html' name='right' frameborder="1" bordercolor="#999999">
 +	</FRAMESET>
 +	<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>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl new file mode 100644 index 00000000..4232d845 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/left_frame.tpl @@ -0,0 +1,149 @@ +{include file="header.tpl" top2=true}
 +<div class="package-title">{$package}</div>
 +<div class="package-details">
 +
 +	<dl class="tree">
 +		
 +		<dt class="folder-title">Description</dt>
 +		<dd>
 +			<a href='{$classtreepage}.html' target='right'>Class trees</a><br />
 +			<a href='{$elementindex}.html' target='right'>Index of elements</a><br />
 +			{if $hastodos}
 +				<a href="{$todolink}" target="right">Todo List</a><br />
 +			{/if}
 +		</dd>
 +	
 +		{section name=p loop=$info}
 +					
 +			{if $info[p].subpackage == ""}
 +				
 +				{if $info[p].tutorials}
 +					<dt class="folder-title">Tutorials/Manuals</dt>
 +					<dd>
 +					{if $info[p].tutorials.pkg}
 +						<dl class="tree">
 +						<dt class="folder-title">Package-level</dt>
 +						<dd>
 +						{section name=ext loop=$info[p].tutorials.pkg}
 +							{$info[p].tutorials.pkg[ext]}
 +						{/section}
 +						</dd>
 +						</dl>
 +					{/if}
 +					
 +					{if $info[p].tutorials.cls}
 +						<dl class="tree">
 +						<dt class="folder-title">Class-level</dt>
 +						<dd>
 +						{section name=ext loop=$info[p].tutorials.cls}
 +							{$info[p].tutorials.cls[ext]}
 +						{/section}
 +						</dd>
 +						</dl>
 +					{/if}
 +					
 +					{if $info[p].tutorials.proc}
 +						<dl class="tree">
 +						<dt class="folder-title">Function-level</dt>
 +						<dd>
 +						{section name=ext loop=$info[p].tutorials.proc}
 +							{$info[p].tutorials.proc[ext]}
 +						{/section}
 +						</dd>
 +						</dl>
 +					{/if}
 +					</dd>
 +				{/if}
 +				{if $info[p].classes}
 +					<dt class="folder-title">Classes</dt>
 +					{section name=class loop=$info[p].classes}
 +						<dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd>
 +					{/section}
 +				{/if}
 +				{if $info[p].functions}
 +					<dt class="folder-title">Functions</dt>
 +					{section name=f loop=$info[p].functions}
 +						<dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd>
 +					{/section}
 +				{/if}
 +				{if $info[p].files}
 +					<dt class="folder-title">Files</dt>
 +					{section name=nonclass loop=$info[p].files}
 +						<dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd>
 +					{/section}
 +				{/if}
 +								
 +			{else}
 +				{if $info[p].tutorials}			
 +					<dt class="folder-title">Tutorials/Manuals</dt>
 +					<dd>
 +					{if $info[p].tutorials.pkg}
 +						<dl class="tree">
 +						<dt class="folder-title">Package-level</dt>
 +						<dd>
 +						{section name=ext loop=$info[p].tutorials.pkg}
 +							{$info[p].tutorials.pkg[ext]}
 +						{/section}
 +						</dd>
 +						</dl>
 +					{/if}
 +					
 +					{if $info[p].tutorials.cls}
 +						<dl class="tree">
 +						<dt class="folder-title">Class-level</dt>
 +						<dd>
 +						{section name=ext loop=$info[p].tutorials.cls}
 +							{$info[p].tutorials.cls[ext]}
 +						{/section}
 +						</dd>
 +						</dl>
 +					{/if}
 +					
 +					{if $info[p].tutorials.proc}
 +						<dl class="tree">
 +						<dt class="folder-title">Function-level</dt>
 +						<dd>
 +						{section name=ext loop=$info[p].tutorials.proc}
 +							{$info[p].tutorials.proc[ext]}
 +						{/section}
 +						</dd>
 +						</dl>
 +					{/if}
 +					</dd>
 +				{/if}
 +				
 +				<dt class="sub-package">{$info[p].subpackage}</dt>
 +				<dd>
 +					<dl class="tree">
 +						{if $info[p].subpackagetutorial}
 +							<div><a href="{$info.0.subpackagetutorialnoa}" target="right">{$info.0.subpackagetutorialtitle}</a></div>
 +						{/if}
 +						{if $info[p].classes}
 +							<dt class="folder-title">Classes</dt>
 +							{section name=class loop=$info[p].classes}
 +								<dd><a href='{$info[p].classes[class].link}' target='right'>{$info[p].classes[class].title}</a></dd>
 +							{/section}
 +						{/if}
 +						{if $info[p].functions}
 +							<dt class="folder-title">Functions</dt>
 +							{section name=f loop=$info[p].functions}
 +								<dd><a href='{$info[p].functions[f].link}' target='right'>{$info[p].functions[f].title}</a></dd>
 +							{/section}
 +						{/if}
 +						{if $info[p].files}
 +							<dt class="folder-title">Files</dt>
 +							{section name=nonclass loop=$info[p].files}
 +								<dd><a href='{$info[p].files[nonclass].link}' target='right'>{$info[p].files[nonclass].title}</a></dd>
 +							{/section}
 +						{/if}
 +					</dl>
 +				</dd>
 +								
 +			{/if}
 +			
 +		{/section}
 +	</dl>
 +</div>
 +<p class="notes"><a href="{$phpdocwebsite}" target="_blank">phpDocumentor v <span class="field">{$phpdocversion}</span></a></p>
 +</BODY>
 +</HTML>
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/banner.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/banner.css new file mode 100644 index 00000000..e67227b7 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/banner.css @@ -0,0 +1,32 @@ +body 
 +{ 
 +	background-color: #CCCCFF; 
 +	margin: 0px; 
 +	padding: 0px;
 +}
 +
 +/* Banner (top bar) classes */
 +
 +.banner {  }
 +
 +.banner-menu 
 +{ 
 +	clear: both;
 +	padding: .5em;
 +	border-top: 2px solid #6666AA;	
 +}
 +
 +.banner-title 
 +{ 
 +	text-align: right; 
 +	font-size: 20pt; 
 +	font-weight: bold; 
 +	margin: .2em;
 +}
 +
 +.package-selector 
 +{ 
 +	background-color: #AAAADD; 
 +	border: 1px solid black; 
 +	color: yellow;
 +}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/stylesheet.css b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/stylesheet.css new file mode 100644 index 00000000..88f471f2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/media/stylesheet.css @@ -0,0 +1,144 @@ +a { color: #336699; text-decoration: none; }
 +a:hover { color: #6699CC; text-decoration: underline; }
 +a:active { color: #6699CC; text-decoration: underline; }
 +
 +body { background : #FFFFFF; }
 +body, table { font-family: Georgia, Times New Roman, Times, serif; font-size: 10pt }
 +p, li { line-height: 140% }
 +a img { border: 0px; }
 +dd { margin-left: 0px; padding-left: 1em; }
 +
 +/* Page layout/boxes */
 +
 +.info-box {}
 +.info-box-title { margin: 1em 0em 0em 0em; padding: .25em; font-weight: normal; font-size: 14pt; border: 2px solid #999999; background-color: #CCCCFF }
 +.info-box-body { border: 1px solid #999999; padding: .5em; }
 +.nav-bar { font-size: 8pt; white-space: nowrap; text-align: right; padding: .2em; margin: 0em 0em 1em 0em; }
 +
 +.oddrow { background-color: #F8F8F8; border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}
 +.evenrow { border: 1px solid #AAAAAA; padding: .5em; margin-bottom: 1em}
 +
 +.page-body { max-width: 800px; margin: auto; }
 +.tree dl { margin: 0px }
 +
 +/* Index formatting classes */
 +
 +.index-item-body { margin-top: .5em; margin-bottom: .5em}
 +.index-item-description { margin-top: .25em }
 +.index-item-details { font-weight: normal; font-style: italic; font-size: 8pt }
 +.index-letter-section { background-color: #EEEEEE; border: 1px dotted #999999; padding: .5em; margin-bottom: 1em}
 +.index-letter-title { font-size: 12pt; font-weight: bold }
 +.index-letter-menu { text-align: center; margin: 1em }
 +.index-letter { font-size: 12pt }
 +
 +/* Docbook classes */
 +
 +.description {}
 +.short-description { font-weight: bold; color: #666666; }
 +.tags {	padding-left: 0em; margin-left: 3em; color: #666666; list-style-type: square; }
 +.parameters {	padding-left: 0em; margin-left: 3em; font-style: italic; list-style-type: square; }
 +.redefinitions { font-size: 8pt; padding-left: 0em; margin-left: 2em; }
 +.package {  }
 +.package-title { font-weight: bold; font-size: 14pt; border-bottom: 1px solid black }
 +.package-details { font-size: 85%; }
 +.sub-package { font-weight: bold; font-size: 120% }
 +.tutorial { border-width: thin; border-color: #0066ff }
 +.tutorial-nav-box { width: 100%; border: 1px solid #999999; background-color: #F8F8F8; }
 +.nav-button-disabled { color: #999999; }
 +.nav-button:active, 
 +.nav-button:focus, 
 +.nav-button:hover { background-color: #DDDDDD; outline: 1px solid #999999; text-decoration: none }
 +.folder-title { font-style: italic }
 +
 +/* Generic formatting */
 +
 +.field { font-weight: bold; }
 +.detail { font-size: 8pt; }
 +.notes { font-style: italic; font-size: 8pt; }
 +.separator { background-color: #999999; height: 2px; }
 +.warning {  color: #FF6600; }
 +.disabled { font-style: italic; color: #999999; }
 +
 +/* Code elements */
 +
 +.line-number {  }
 +
 +.class-table { width: 100%; }
 +.class-table-header { border-bottom: 1px dotted #666666; text-align: left}
 +.class-name { color: #000000; font-weight: bold; }
 +
 +.method-summary { padding-left: 1em; font-size: 8pt }
 +.method-header { }
 +.method-definition { margin-bottom: .3em }
 +.method-title { font-weight: bold; }
 +.method-name { font-weight: bold; }
 +.method-signature { font-size: 85%; color: #666666; margin: .5em 0em }
 +.method-result { font-style: italic; }
 +
 +.var-summary { padding-left: 1em; font-size: 8pt; }
 +.var-header { }
 +.var-title { margin-bottom: .3em }
 +.var-type { font-style: italic; }
 +.var-name { font-weight: bold; }
 +.var-default {}
 +.var-description { font-weight: normal; color: #000000; }
 +
 +.include-title {  }
 +.include-type { font-style: italic; }
 +.include-name { font-weight: bold; }
 +
 +.const-title {  }
 +.const-name { font-weight: bold; }
 +
 +/* Syntax highlighting */
 +
 +.src-code {  border: 1px solid #336699; padding: 1em; background-color: #EEEEEE; }
 +*[class="src-code"] {	line-height : 0.5em }
 +
 +.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 { }
 +
 +.src-php { font-weight: bold; }
 +
 +.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 }
 +
 +.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 */
 +
 +.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; }
 +*[class="example"] { line-height : 0.5em }
 +.listing { border: 1px dashed #999999; background-color: #EEEEEE; padding: .5em; white-space: nowrap; }
 +*[class="listing"] { line-height : 0.5em }
 +.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: #CCCCFF  }
 +.cmd-synopsis { margin: 1em 0em }
 +.cmd-title { font-weight: bold }
 +.toc { margin-left: 2em; padding-left: 0em }
 +
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl new file mode 100644 index 00000000..3138a925 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/method.tpl @@ -0,0 +1,61 @@ +<A NAME='method_detail'></A>
 +{section name=methods loop=$methods}
 +<a name="method{$methods[methods].function_name}" id="{$methods[methods].function_name}"><!-- --></a>
 +<div class="{cycle values="evenrow,oddrow"}">
 +	
 +	<div class="method-header">
 +		<span class="method-title">{if $methods[methods].ifunction_call.constructor}Constructor {elseif $methods[methods].ifunction_call.destructor}Destructor {/if}{$methods[methods].function_name}</span> (line <span class="line-number">{if $methods[methods].slink}{$methods[methods].slink}{else}{$methods[methods].line_number}{/if}</span>)
 +	</div> 
 +	
 +	{include file="docblock.tpl" sdesc=$methods[methods].sdesc desc=$methods[methods].desc tags=$methods[methods].tags params=$methods[methods].params function=false}
 +	
 +	<div class="method-signature">
 +		<span class="method-result">{$methods[methods].function_return}</span>
 +		<span class="method-name">
 +			{if $methods[methods].ifunction_call.returnsref}&{/if}{$methods[methods].function_name}
 +		</span>
 +		{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}<span class="var-type">{$methods[methods].ifunction_call.params[params].type}</span> <span class="var-name">{$methods[methods].ifunction_call.params[params].name}</span>{if $methods[methods].ifunction_call.params[params].default} = <span class="var-default">{$methods[methods].ifunction_call.params[params].default}</span>]{/if}{/section})
 +		{else}
 +		()
 +		{/if}
 +	</div>
 +	
 +	{if $methods[methods].params}
 +		<ul class="parameters">
 +		{section name=params loop=$methods[methods].params}
 +			<li>
 +				<span class="var-type">{$methods[methods].params[params].datatype}</span>
 +				<span class="var-name">{$methods[methods].params[params].var}</span>{if $methods[methods].params[params].data}<span class="var-description">: {$methods[methods].params[params].data}</span>{/if}
 +			</li>
 +		{/section}
 +		</ul>
 +	{/if}
 +	
 +	{if $methods[methods].method_overrides}
 +		<hr class="separator" />
 +		<div class="notes">Redefinition of:</div>
 +		<dl>
 +			<dt>{$methods[methods].method_overrides.link}</dt>
 +			{if $methods[methods].method_overrides.sdesc}
 +			<dd>{$methods[methods].method_overrides.sdesc}</dd>
 +			{/if}
 +		</dl>
 +	{/if}
 +	
 +	{if $methods[methods].descmethod}
 +		<hr class="separator" />
 +		<div class="notes">Redefined in descendants as:</div>
 +		<ul class="redefinitions">
 +		{section name=dm loop=$methods[methods].descmethod}
 +			<li>
 +				{$methods[methods].descmethod[dm].link}
 +				{if $methods[methods].descmethod[dm].sdesc}
 +				: {$methods[methods].descmethod[dm].sdesc}
 +				{/if}
 +			</li>
 +		{/section}
 +		</ul>
 +	{/if}
 +</div>
 +{/section}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl new file mode 100644 index 00000000..e5e1913c --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/page.tpl @@ -0,0 +1,211 @@ +{include file="header.tpl" top3=true}
 +
 +<h2 class="file-name">{$source_location}</h2>
 +
 +<a name="sec-description"></a>
 +<div class="info-box">
 +	<div class="info-box-title">Description</div>
 +	<div class="nav-bar">
 +		{if $classes || $includes || $defines || $globals || $functions}
 +			<span class="disabled">Description</span> |
 +		{/if}
 +		{if $classes}
 +			<a href="#sec-classes">Classes</a>
 +			{if $includes || $defines || $globals || $functions}|{/if}
 +		{/if}
 +		{if $includes}
 +			<a href="#sec-includes">Includes</a>
 +			{if $defines || $globals || $functions}|{/if}
 +		{/if}
 +		{if $defines}
 +			<a href="#sec-constants">Constants</a>
 +			{if $globals || $functions}|{/if}
 +		{/if}
 +		{if $globals}
 +			<a href="#sec-variables">Variables</a>
 +			{if $functions}|{/if}
 +		{/if}
 +		{if $functions}
 +			<a href="#sec-functions">Functions</a>
 +		{/if}
 +	</div>
 +	<div class="info-box-body">	
 +		{include file="docblock.tpl" desc=$desc sdesc=$sdesc tags=$tags}
 +		
 +		{if $tutorial}
 +			<hr class="separator" />
 +			<div class="notes">Tutorial: <span class="tutorial">{$tutorial}</div>
 +		{/if}
 +	</div>
 +</div>
 +		
 +{if $classes}
 +	<a name="sec-classes"></a>	
 +	<div class="info-box">
 +		<div class="info-box-title">Classes</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			<span class="disabled">Classes</span>
 +			{if $includes || $defines || $globals || $functions}|{/if}
 +			{if $includes}
 +				<a href="#sec-includes">Includes</a>
 +				{if $defines || $globals || $functions}|{/if}
 +			{/if}
 +			{if $defines}
 +				<a href="#sec-constants">Constants</a>
 +				{if $globals || $functions}|{/if}
 +			{/if}
 +			{if $globals}
 +				<a href="#sec-variables">Variables</a>
 +				{if $functions}|{/if}
 +			{/if}
 +			{if $functions}
 +				<a href="#sec-functions">Functions</a>
 +			{/if}
 +		</div>
 +		<div class="info-box-body">	
 +			<table cellpadding="2" cellspacing="0" class="class-table">
 +				<tr>
 +					<th class="class-table-header">Class</th>
 +					<th class="class-table-header">Description</th>
 +				</tr>
 +				{section name=classes loop=$classes}
 +				<tr>
 +					<td style="padding-right: 2em; vertical-align: top">
 +						{$classes[classes].link}
 +					</td>
 +					<td>
 +					{if $classes[classes].sdesc}
 +						{$classes[classes].sdesc}
 +					{else}
 +						{$classes[classes].desc}
 +					{/if}
 +					</td>
 +				</tr>
 +				{/section}
 +			</table>
 +		</div>
 +	</div>
 +{/if}
 +
 +{if $includes}
 +	<a name="sec-includes"></a>	
 +	<div class="info-box">
 +		<div class="info-box-title">Includes</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $classes}
 +				<a href="#sec-classes">Classes</a>
 +				{if $includes || $defines || $globals || $functions}|{/if}
 +			{/if}
 +			<span class="disabled">Includes</span>
 +			{if $defines || $globals || $functions}|{/if}
 +			{if $defines}
 +				<a href="#sec-constants">Constants</a>
 +				{if $globals || $functions}|{/if}
 +			{/if}
 +			{if $globals}
 +				<a href="#sec-variables">Variables</a>
 +				{if $functions}|{/if}
 +			{/if}
 +			{if $functions}
 +				<a href="#sec-functions">Functions</a>
 +			{/if}
 +		</div>
 +		<div class="info-box-body">	
 +			{include file="include.tpl"}
 +		</div>
 +	</div>
 +{/if}
 +	
 +{if $defines}
 +	<a name="sec-constants"></a>	
 +	<div class="info-box">
 +		<div class="info-box-title">Constants</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $classes}
 +				<a href="#sec-classes">Classes</a>
 +				{if $includes || $defines || $globals || $functions}|{/if}
 +			{/if}
 +			{if $includes}
 +				<a href="#sec-includes">Includes</a>
 +				{if $defines || $globals || $functions}|{/if}
 +			{/if}
 +			<span class="disabled">Constants</span>
 +			{if $globals || $functions}|{/if}
 +			{if $globals}
 +				<a href="#sec-variables">Variables</a>
 +				{if $functions}|{/if}
 +			{/if}
 +			{if $functions}
 +				<a href="#sec-functions">Functions</a>
 +			{/if}
 +		</div>
 +		<div class="info-box-body">	
 +			{include file="define.tpl"}
 +		</div>
 +	</div>
 +{/if}
 +	
 +{if $globals}
 +	<a name="sec-variables"></a>	
 +	<div class="info-box">
 +		<div class="info-box-title">Variables</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $classes}
 +				<a href="#sec-classes">Classes</a>
 +				{if $includes || $defines || $globals || $functions}|{/if}
 +			{/if}
 +			{if $includes}
 +				<a href="#sec-includes">Includes</a>
 +				{if $defines || $globals || $functions}|{/if}
 +			{/if}
 +			{if $defines}
 +				<a href="#sec-constants">Constants</a>
 +				{if $globals || $functions}|{/if}
 +			{/if}
 +			<span class="disabled">Variables</span>
 +			{if $functions}|{/if}
 +			{if $globals}
 +				<a href="#sec-functions">Functions</a>
 +			{/if}
 +		</div>
 +		<div class="info-box-body">	
 +			{include file="global.tpl"}
 +		</div>
 +	</div>
 +{/if}
 +	
 +{if $functions}
 +	<a name="sec-functions"></a>	
 +	<div class="info-box">
 +		<div class="info-box-title">Functions</div>
 +		<div class="nav-bar">
 +			<a href="#sec-description">Description</a> |
 +			{if $classes}
 +				<a href="#sec-classes">Classes</a>
 +				{if $includes || $defines || $globals || $functions}|{/if}
 +			{/if}
 +			{if $includes}
 +				<a href="#sec-includes">Includes</a>
 +				{if $defines || $globals || $functions}|{/if}
 +			{/if}
 +			{if $defines}
 +				<a href="#sec-constants">Constants</a>
 +				{if $globals || $functions}|{/if}
 +			{/if}
 +			{if $globals}
 +				<a href="#sec-variables">Variables</a>
 +				{if $functions}|{/if}
 +			{/if}
 +			<span class="disabled">Functions</span>
 +		</div>
 +		<div class="info-box-body">	
 +			{include file="function.tpl"}
 +		</div>
 +	</div>
 +{/if}
 +	
 +{include file="footer.tpl" top3=true}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl new file mode 100644 index 00000000..542af8ed --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/pkgelementindex.tpl @@ -0,0 +1,17 @@ +{include file="header.tpl"}
 +<a name="top"></a>
 +<h2>[{$package}] element index</h2>
 +{if count($packageindex) > 1}
 +	<h3>Package indexes</h3>
 +	<ul>
 +	{section name=p loop=$packageindex}
 +	{if $packageindex[p].title != $package}
 +		<li><a href="elementindex_{$packageindex[p].title}.html">{$packageindex[p].title}</a></li>
 +	{/if}
 +	{/section}
 +	</ul>
 +{/if}
 +<a href="elementindex.html">All elements</a>
 +<br />
 +{include file="basicindex.tpl" indexname=elementindex_$package}
 +{include file="footer.tpl"}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl new file mode 100644 index 00000000..c4cb83f9 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/ric.tpl @@ -0,0 +1,6 @@ +{include file="header.tpl"}
 +<h1 align="center">{$name}</h1>
 +<pre>
 +{$contents|htmlentities}
 +</pre>
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl new file mode 100644 index 00000000..5ab0bca2 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/todolist.tpl @@ -0,0 +1,14 @@ +{include file="header.tpl" title="Todo List"}
 +<div align="center"><h1>Todo List</h1></div>
 +{foreach from=$todos key=todopackage item=todo}
 +<h2>{$todopackage}</h2>
 +{section name=todo loop=$todo}
 +<h3>{$todo[todo].link}</h3>
 +<ul>
 +{section name=t loop=$todo[todo].todos}
 +    <li>{$todo[todo].todos[t]}</li>
 +{/section}
 +</ul>
 +{/section}
 +{/foreach}
 +{include file="footer.tpl"}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl new file mode 100644 index 00000000..31f559cb --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/top_frame.tpl @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="iso-8859-1"?>
 +<!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">
 +		<head>
 +			<!-- template designed by Marco Von Ballmoos -->
 +			<title>{$title}</title>
 +			<link rel="stylesheet" href="{$subdir}media/stylesheet.css" />
 +			<link rel="stylesheet" href="{$subdir}media/banner.css" />
 +			<meta http-equiv='Content-Type' content='text/html; charset=iso-8859-1'/>
 +		</head>
 +		<body>
 +			<div class="banner">
 +				<div class="banner-title">PRADO API Manual</div>
 +				<div class="banner-menu">
 +	        <table cellpadding="0" cellspacing="0" style="width: 100%">
 +	          <tr>
 +              <td>
 +								{if count($ric) >= 1}
 +									{assign var="last_ric_name" value=""}
 +									{section name=ric loop=$ric}
 +										{if $last_ric_name != ""} | {/if}
 +										<a href="{$ric[ric].file}" target="right">{$ric[ric].name}</a>
 +										{assign var="last_ric_name" value=$ric[ric].name}
 +									{/section}
 +								{/if}
 +              </td>
 +              <td style="width: 2em"> </td>
 +              <td style="text-align: right">
 +								{if count($packages) > 1}
 +									{assign var="last_package_name" value=""}
 +									{section name=p loop=$packages}
 +										{if $last_package_name != ""} | {/if}
 +										<a href="{$packages[p].link}" target="left_bottom">{$packages[p].title}</a>
 +										{assign var="last_package_name" value=$packages[p].title}
 +									{/section}
 +								{/if}
 +              </td>
 +						</tr>
 +          </table>
 +				</div>
 +			</div>
 +		</body>
 +	</html>
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl new file mode 100644 index 00000000..deb1ee04 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial.tpl @@ -0,0 +1,13 @@ +{include file="header.tpl" title=$title top3=true}
 +
 +{if $nav}
 +	{include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle}
 +{/if}
 +
 +{$contents}
 +
 +{if $nav}
 +	{include file="tutorial_nav.tpl" prev=$prev next=$next up=$up prevtitle=$prevtitle nexttitle=$nexttitle uptitle=$uptitle}
 +{/if}
 +
 +{include file="footer.tpl" top3=true}
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl new file mode 100644 index 00000000..9b42fec8 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_nav.tpl @@ -0,0 +1,41 @@ +<table class="tutorial-nav-box">
 +	<tr>
 +		<td style="width: 30%">
 +			{if $prev}
 +				<a href="{$prev}" class="nav-button">Previous</a>
 +			{else}
 +				<span class="nav-button-disabled">Previous</span>
 +			{/if}
 +		</td>
 +		<td style="text-align: center">
 +			{if $up}
 +				<a href="{$up}" class="nav-button">Up</a>
 +			{/if}
 +		</td>
 +		<td style="text-align: right; width: 30%">
 +			{if $next}
 +				<a href="{$next}" class="nav-button">Next</a>
 +			{else}
 +				<span class="nav-button-disabled">Next</span>
 +			{/if}
 +		</td>
 +	</tr>
 +	<tr>
 +		<td style="width: 30%">
 +			{if $prevtitle}
 +				<span class="detail">{$prevtitle}</span>
 +			{/if}
 +		</td>
 +		<td style="text-align: center">
 +			{if $uptitle}
 +				<span class="detail">{$uptitle}</span>
 +			{/if}
 +		</td>
 +		<td style="text-align: right; width: 30%">
 +			{if $nexttitle}
 +				<span class="detail">{$nexttitle}</span>
 +			{/if}
 +		</td>
 +	</tr>
 +</table>
 +	
\ No newline at end of file diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl new file mode 100644 index 00000000..314ebd81 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_toc.tpl @@ -0,0 +1,39 @@ +{if count($toc)}
 +<h1 class="title">Table of Contents</h1>
 +<ul class="toc">
 +	{assign var="lastcontext" value='refsect1'}
 +	{section name=toc loop=$toc}
 +		
 +		{if $toc[toc].tagname != $lastcontext}
 +		  {if $lastcontext == 'refsect1'}
 +				<ul class="toc">
 +					<li>{$toc[toc].link}</li>
 +			{else}
 +				{if $lastcontext == 'refsect2'}
 +					{if $toc[toc].tagname == 'refsect1'}
 +						</ul>
 +						<li>{$toc[toc].link}</li>
 +					{/if}
 +					{if $toc[toc].tagname == 'refsect3'}
 +						<ul class="toc">
 +							<li>{$toc[toc].link}</li>
 +					{/if}
 +				{else}
 +					</ul>
 +					<li>{$toc[toc].link}</li>
 +				{/if}
 +			{/if}
 +			{assign var="lastcontext" value=$toc[toc].tagname}
 +		{else}
 +			<li>{$toc[toc].link}</li>
 +		{/if}
 +	{/section}
 +	{if $lastcontext == 'refsect2'}
 +		</ul>
 +	{/if}
 +	{if $lastcontext == 'refsect3'}
 +			</ul>
 +		</ul>
 +	{/if}
 +</ul>
 +{/if}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl new file mode 100644 index 00000000..d5a18355 --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/tutorial_tree.tpl @@ -0,0 +1,6 @@ +<div><a href="{$main.link}" target="right">{$main.title|strip_tags}</a></div>
 +{if $haskids}
 +<div style="margin-left: 1em">
 +	{$kids}
 +</div>
 +{/if}
 diff --git a/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl new file mode 100644 index 00000000..59c4d8cd --- /dev/null +++ b/buildscripts/PhpDocumentor/phpDocumentor/Converters/HTML/frames/templates/default/templates/var.tpl @@ -0,0 +1,44 @@ +{section name=vars loop=$vars}
 +<a name="var{$vars[vars].var_name}" id="{$vars[vars].var_name}"><!-- --></A>
 +<div class="{cycle values="evenrow,oddrow"}">
 +
 +	<div class="var-header">
 +		<span class="var-title">
 +			<span class="var-type">{$vars[vars].var_type}</span>
 +			<span class="var-name">{$vars[vars].var_name}</span>
 +			{if $vars[vars].var_default} = <span class="var-default">{$vars[vars].var_default|replace:"\n":"<br />"}</span>{/if}
 +			(line <span class="line-number">{if $vars[vars].slink}{$vars[vars].slink}{else}{$vars[vars].line_number}{/if}</span>)
 +		</span>
 +	</div>
 +
 +	{include file="docblock.tpl" sdesc=$vars[vars].sdesc desc=$vars[vars].desc tags=$vars[vars].tags}	
 +	
 +	{if $vars[vars].var_overrides}
 +		<hr class="separator" />
 +		<div class="notes">Redefinition of:</div>
 +		<dl>
 +			<dt>{$vars[vars].var_overrides.link}</dt>
 +			{if $vars[vars].var_overrides.sdesc}
 +			<dd>{$vars[vars].var_overrides.sdesc}</dd>
 +			{/if}
 +		</dl>
 +	{/if}
 +	
 +	{if $vars[vars].descvar}
 +		<hr class="separator" />
 +		<div class="notes">Redefined in descendants as:</div>
 +		<ul class="redefinitions">
 +		{section name=vm loop=$vars[vars].descvar}
 +			<li>
 +				{$vars[vars].descvar[vm].link}
 +				{if $vars[vars].descvar[vm].sdesc}
 +				: {$vars[vars].descvar[vm].sdesc}
 +				{/if}
 +			</li>
 +		{/section}
 +		</ul>
 +	{/if}	
 +
 +</div>
 +{/section}
 +
  | 
