home *** CD-ROM | disk | FTP | other *** search
/ Cricao de Sites - 650 Layouts Prontos / WebMasters.iso / Servidores / xampp-win32-1.6.7-installer.exe / php / PEAR / Text / Wiki / Render / Xhtml / Phplookup.php < prev    next >
Encoding:
PHP Script  |  2008-07-02  |  2.3 KB  |  82 lines

  1. <?php
  2. // vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4:
  3. /**
  4.  * Phplookup rule end renderer for Xhtml
  5.  *
  6.  * PHP versions 4 and 5
  7.  *
  8.  * @category   Text
  9.  * @package    Text_Wiki
  10.  * @author     Paul M. Jones <pmjones@php.net>
  11.  * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
  12.  * @version    CVS: $Id: Phplookup.php,v 1.12 2007/03/15 00:08:47 justinpatrin Exp $
  13.  * @link       http://pear.php.net/package/Text_Wiki
  14.  */
  15.  
  16. /**
  17.  * This class renders a link to php functions description in XHTML.
  18.  *
  19.  * @category   Text
  20.  * @package    Text_Wiki
  21.  * @author     Paul M. Jones <pmjones@php.net>
  22.  * @license    http://www.gnu.org/copyleft/lesser.html  LGPL License 2.1
  23.  * @version    Release: @package_version@
  24.  * @link       http://pear.php.net/package/Text_Wiki
  25.  */
  26. class Text_Wiki_Render_Xhtml_Phplookup extends Text_Wiki_Render {
  27.  
  28.     var $conf = array(
  29.         'target' => '_blank',
  30.         'css' => null
  31.     );
  32.  
  33.  
  34.     /**
  35.     *
  36.     * Renders a token into text matching the requested format.
  37.     *
  38.     * @access public
  39.     *
  40.     * @param array $options The "options" portion of the token (second
  41.     * element).
  42.     *
  43.     * @return string The text rendered from the token options.
  44.     *
  45.     */
  46.  
  47.     function token($options)
  48.     {
  49.         $text = trim($options['text']);
  50.         $css = $this->formatConf(' class="%s"', 'css');
  51.  
  52.         // start the html
  53.         $output = "<a$css";
  54.  
  55.         // are we targeting another window?
  56.         $target = $this->getConf('target', '');
  57.         if ($target && $target != '_self') {
  58.             // use a "popup" window.  this is XHTML compliant, suggested by
  59.             // Aaron Kalin.  uses the $target as the new window name.
  60.             $target = $this->textEncode($target);
  61.             $output .= " onclick=\"window.open(this.href, '$target');";
  62.             $output .= " return false;\"";
  63.         }
  64.  
  65.         // take off the final parens for functions
  66.         if (substr($text, -2) == '()') {
  67.             $q = substr($text, 0, -2);
  68.         } else {
  69.             $q = $text;
  70.         }
  71.  
  72.         // toggg 2006/02/05 page name must be url encoded (e.g. may contain spaces)
  73.         $q = $this->urlEncode($q);
  74.         $text = $this->textEncode($text);
  75.  
  76.         // finish and return
  77.         $output .= " href=\"http://php.net/$q\">$text</a>";
  78.         return $output;
  79.     }
  80. }
  81. ?>
  82.