phpDocumentor phpDocumentor
DescHTML
[ class tree: phpDocumentor ] [ index: phpDocumentor ] [ all elements ]

Source for file DescHTML.inc

Documentation is available at DescHTML.inc

  1. <?php
  2. /**
  3.  * All abstract representations of html tags in DocBlocks are handled by the
  4.  * classes in this file
  5.  *
  6.  * Before version 1.2, phpDocumentor simply passed html to converters, without
  7.  * much thought, except the {@link adv_htmlentities()} function was provided
  8.  * along with a list of allowed html.  That list is no longer used, in favor
  9.  * of these classes.
  10.  *
  11.  * The PDF Converter output looked wretched in version 1.1.0 because line breaks
  12.  * in DocBlocks were honored.  This meant that output often had just a few words
  13.  * on every other line!  To fix this problem, DocBlock descriptions are now
  14.  * parsed using the {@link ParserDescParser}, and split into paragraphs.  In
  15.  * addition, html in DocBlocks are parsed into these objects to allow for easy
  16.  * conversion in destination converters.  This design also allows different
  17.  * conversion for different templates within a converter, which separates
  18.  * design from logic almost 100%
  19.  *
  20.  * phpDocumentor :: automatic documentation generator
  21.  * 
  22.  * PHP versions 4 and 5
  23.  *
  24.  * Copyright (c) 2002-2006 Gregory Beaver
  25.  * 
  26.  * LICENSE:
  27.  * 
  28.  * This library is free software; you can redistribute it
  29.  * and/or modify it under the terms of the GNU Lesser General
  30.  * Public License as published by the Free Software Foundation;
  31.  * either version 2.1 of the License, or (at your option) any
  32.  * later version.
  33.  * 
  34.  * This library is distributed in the hope that it will be useful,
  35.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  36.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  37.  * Lesser General Public License for more details.
  38.  * 
  39.  * You should have received a copy of the GNU Lesser General Public
  40.  * License along with this library; if not, write to the Free Software
  41.  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
  42.  *
  43.  * @package    phpDocumentor
  44.  * @subpackage DescHTML
  45.  * @author     Greg Beaver <cellog@php.net>
  46.  * @copyright  2002-2006 Gregory Beaver
  47.  * @license    http://www.opensource.org/licenses/lgpl-license.php LGPL
  48.  * @version    CVS: $Id: DescHTML.inc,v 1.3 2006/04/30 22:18:13 cellog Exp $
  49.  * @filesource
  50.  * @link       http://www.phpdoc.org
  51.  * @link       http://pear.php.net/PhpDocumentor
  52.  * @see        parserDocBlock, parserInclude, parserPage, parserClass
  53.  * @see        parserDefine, parserFunction, parserMethod, parserVar
  54.  * @since      1.2
  55.  */
  56. /**
  57.  * Used for <<code>> in a description
  58.  * @package phpDocumentor
  59.  * @subpackage DescHTML
  60.  */
  61. {
  62.     /**
  63.      * @param Converter 
  64.      * @uses Converter::ProgramExample()
  65.      */
  66.     function Convert(&$c)
  67.     {
  68.         if (!isset($this->value[0])) return '';
  69.         if (is_string($this->value[0]&& $this->value[0]{0== "\n")
  70.         {
  71.             $this->value[0substr($this->value[0],1);
  72.         }
  73.         $linktags array();
  74.         foreach($this->value as $val{
  75.             if (phpDocumentor_get_class($val== 'parserlinkinlinetag' ||
  76.                   phpDocumentor_get_class($val== 'parsertutorialinlinetag'{
  77.                 $linktags[array($c->postProcess($val->Convert($cfalsefalse))$val);
  78.             }
  79.         }
  80.         $a $c->ProgramExample(rtrim(ltrim(parent::Convert($cfalsefalse)"\n\r")));
  81.         foreach ($linktags as $tag{
  82.             $a str_replace($tag[0]$tag[1]->Convert($cfalsefalse)$a);
  83.         }
  84.         return $a;
  85. //        else return $c->PreserveWhiteSpace($this->getString(false));
  86.     }
  87. }
  88.  
  89. /**
  90.  * Used for <<pre>> in a description
  91.  * @package phpDocumentor
  92.  * @subpackage DescHTML
  93.  */
  94. {
  95.     /**
  96.      * @param Converter 
  97.      * @uses Converter::PreserveWhiteSpace()
  98.      */
  99.     function Convert(&$c)
  100.     {
  101.         return $c->PreserveWhiteSpace(rtrim(ltrim(parent::Convert($cfalsefalse)"\n\r")));
  102.     }
  103. }
  104.  
  105. /**
  106.  * Used for <<b>> in a description
  107.  * @package phpDocumentor
  108.  * @subpackage DescHTML
  109.  */
  110. {
  111.     /**
  112.      * @param Converter 
  113.      * @uses Converter::Bolden()
  114.      */
  115.     function Convert(&$c)
  116.     {
  117.         return $c->Bolden(parent::Convert($c));
  118.     }
  119. }
  120.  
  121. /**
  122.  * Used for <<i>> in a description
  123.  * @package phpDocumentor
  124.  * @subpackage DescHTML
  125.  */
  126. {
  127.     /**
  128.      * @param Converter 
  129.      * @uses Converter::Italicize()
  130.      */
  131.     function Convert(&$c)
  132.     {
  133.         return $c->Italicize(parent::Convert($c));
  134.     }
  135. }
  136.  
  137. /**
  138.  * Used for <<var>> in a description
  139.  * @package phpDocumentor
  140.  * @subpackage DescHTML
  141.  */
  142. {
  143.     /**
  144.      * @param Converter 
  145.      * @uses Converter::Varize()
  146.      */
  147.     function Convert(&$c)
  148.     {
  149.         return $c->Varize(parent::Convert($c));
  150.     }
  151. }
  152.  
  153. /**
  154.  * Used for <<samp>> in a description
  155.  * @package phpDocumentor
  156.  * @subpackage DescHTML
  157.  */
  158. {
  159.     /**
  160.      * @param Converter 
  161.      * @uses Converter::Sampize()
  162.      */
  163.     function Convert(&$c)
  164.     {
  165.         return $c->Sampize(parent::Convert($c));
  166.     }
  167. }
  168.  
  169. /**
  170.  * Used for <<kbd>> in a description
  171.  * @package phpDocumentor
  172.  * @subpackage DescHTML
  173.  */
  174. {
  175.     /**
  176.      * @param Converter 
  177.      * @uses Converter::Kbdize()
  178.      */
  179.     function Convert(&$c)
  180.     {
  181.         return $c->Kbdize(parent::Convert($c));
  182.     }
  183. }
  184.  
  185. /**
  186.  * Used for <<br>> in a description
  187.  * @package phpDocumentor
  188.  * @subpackage DescHTML
  189.  */
  190. {
  191.     /**
  192.      * @param Converter 
  193.      * @uses Converter::Br()
  194.      */
  195.     function Convert(&$c)
  196.     {
  197.         return $c->Br($this->getString());
  198.     }
  199. }
  200.  
  201. /**
  202.  * Used for lists <<ol>> and <<ul>>
  203.  * @package phpDocumentor
  204.  * @subpackage DescHTML
  205.  */
  206. {
  207.     /** @var boolean */
  208.     var $numbered;
  209.     /** @var integer */
  210.     var $items = 0;
  211.     /**
  212.      * @param integer 
  213.      */
  214.     function parserList($numbered)
  215.     {
  216.         $this->numbered = $numbered;
  217.     }
  218.     
  219.     /** @param parserStringWithInlineTags */
  220.     function addItem($item)
  221.     {
  222.         $this->value[$this->items++$item;
  223.     }
  224.     
  225.     /** @param parserList */
  226.     function addList($list)
  227.     {
  228.         $this->value[$this->items++$list;
  229.     }
  230.     
  231.     /**
  232.      * @uses Converter::ListItem() enclose each item of the list
  233.      * @uses Converter::EncloseList() enclose the list
  234.      * @param Converter 
  235.      */
  236.     function Convert(&$c)
  237.     {
  238.         $list '';
  239.         foreach($this->value as $item)
  240.         {
  241.             $list .= $c->ListItem(trim($item->Convert($c)));
  242.         }
  243.         return $c->EncloseList($list,$this->numbered);
  244.     }
  245. }
  246.  
  247. ?>

Documentation generated on Tue, 24 Oct 2006 09:22:03 -0500 by phpDocumentor 1.3.1