Changeset 67

Show
Ignore:
Timestamp:
07/17/05 21:22:56
Author:
hspath
Message:

- added "view source" link to example page template
- changed time:countdown christmas example to year 2005 (example3.xml)
- changed require/include statements to fit new directory structure
- moved inclusions to the files where there are needed

(e.g. "require 'patTemplate.php' was in /index.php, but patTemplate is used
in pat/patXMLRenderer.php)

- added page-level DocBlocks? where missing
- reformatted most code to come near PEAR Coding Standards
- fixed several E_NOTICEs
- merged some features from patSite
- optimized referer filtering for logging
- added function for creating directories recursively
- created /pat/patXMLRenderer/Extension

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/admin/patXMLRenderer.php

    r59 r67  
    11<?php 
    2         require_once( "../config/patXMLRenderer.php" ); 
     2/** 
     3 * Main script for the administration interface for the example site 
     4 * 
     5 * @package     patXMLRenderer 
     6 * @subpackage  Example 
     7 * @version     $Id$ 
     8 * @author      Stephan Schmidt <schst@php-tools.de> 
     9 * @author      Hans Spath <dev-pat@hans-spath.de> 
     10 */ 
    311 
    4         //      include list of known extensions (file is generated by admin)    
    5         include_once( $extDir."/knownExtensions.php" ); 
    6          
    7         require_once( "../include/patConfiguration.php" ); 
     12if ( ! defined('PATH_SEPERATOR') ) { 
     13    /** define PATH_SEPERATOR if it's missing (before 4.3.x) */ 
     14    define( 'PATH_SEPERATOR', (strtoupper(substr(PHP_OS, 0, 3)) == 'WIN') ? ';' : ':' ); 
     15
    816 
    9         require_once( "../include/patRandyLogAnalyzer.php" ); 
    10        require_once( "../include/patXMLRendererAdmin.php" ); 
     17// add parent directory to include path 
     18set_include_path( '..' . PATH_SEPERATOR . get_include_path() ); 
    1119 
    12         require_once( "../include/patXMLRenderer.php" ); 
    13         require_once( "../include/patXMLRendererExtension.php" ); 
     20require_once 'config/patXMLRenderer.php'; 
    1421 
    15         require_once( "../include/patExtras.php" ); 
    16         require_once( "../include/patXMLRpcClient.php" ); 
    17         require_once( "../include/xmlrpc.inc" ); 
     22/** include list of known extensions (file is generated by admin) */ 
     23require_once $extDir.'/knownExtensions.php'; 
    1824 
    19         require_once( "../include/zip.lib.php" ); 
    20          
    21         $template       =       new patTemplate; 
    22         $template->setBasedir( "templates" ); 
    23          
    24         //      patExtras 
    25         $client =       new     patXMLRpcClient(); 
    26         $extras =       new patExtras; 
    27         $extras->setXMLRpcClient( $client ); 
     25/**@+ provides a class we use */ 
     26require_once 'pat/patTemplate.php'; 
     27require_once 'pat/patXMLRenderer/Admin.php'; 
     28require_once 'pat/patExtras.php'; 
     29require_once 'pat/patXMLRpcClient.php'; 
     30/**@-*/ 
    2831 
    29         $admin          =       new     patXMLRendererAdmin; 
    30         $admin->setLogDir( $logDir ); 
    31         $admin->setExtensionDir( $extDir ); 
    32         $admin->setXMLDir( $xmlDir ); 
    33         $admin->setTemplate( $template ); 
     32$template   = new patTemplate; 
     33$template->setBasedir( 'templates' ); 
    3434 
    35         $admin->setExtras( $extras ); 
    36          
    37         $admin->process(); 
     35// patExtras 
     36$client     = new patXMLRpcClient(); 
     37$extras     = new patExtras; 
     38$extras->setXMLRpcClient( $client ); 
     39 
     40$admin      = new patXMLRendererAdmin; 
     41$admin->setLogDir( $logDir ); 
     42$admin->setExtensionDir( $extDir ); 
     43$admin->setXMLDir( $xmlDir ); 
     44$admin->setTemplate( $template ); 
     45 
     46$admin->setExtras( $extras ); 
     47 
     48$admin->process(); 
    3849?> 
  • trunk/config/patXMLRenderer.php

    r56 r67  
    1 <?PHP 
     1<?php 
    22/** 
    3 *       patXMLRenderer configuration 
    4 
    5 *       @package        patXMLRenderer 
    6 */ 
    7 $basedir        =   realpath( dirname(__FILE__).'/..' ); 
     3 * patXMLRenderer configuration for the example site 
     4 * 
     5 * @package     patXMLRenderer 
     6 * @subpackage  Example 
     7 * @version     $Id$ 
     8 * @author      Stephan Schmidt <schst@php-tools.de> 
     9 * @author      Hans Spath <dev-pat@hans-spath.de> 
     10 */ 
    811 
    9 //      XML directory (content files) 
    10 $xmlDir                 =       $basedir."/xml"; 
     12// base directory of the example page 
     13// (parent directory of this file's directory) 
     14$basedir    = dirname(dirname(__FILE__)); 
    1115 
    12 //      log directory 
    13 $logDir                 =       $basedir."/logs"; 
     16// the directory names should be self-explanatory 
     17$xmlDir     = $basedir.'/content'; 
     18$logDir     = $basedir.'/logs'; 
     19$extDir     = $basedir.'/extensions'; 
    1420 
    15 //      extensions directory 
    16 $extDir                 =       $basedir."/extensions"; 
     21// default files 
     22$defaultFile    = 'index.xml'; 
     23$errorFile      = '404.xml'; 
    1724 
    18 //      define some default files 
    19 $defaultFile    =       "index.xml"; 
    20 $errorFile              =       "404.xml"; 
     25// templates that have to be loaded for every page 
     26$baseTemplates = array( 
     27    'page.tmpl', 
     28    'content.tmpl', 
     29    'table.tmpl' 
     30); 
    2131 
    22 //      templates that have to be loaded for every page 
    23 $baseTemplates  =       array( 
    24                                                         "page.tmpl", 
    25                                                         "content.tmpl", 
    26                                                         "table.tmpl" 
    27                                                 ); 
     32// all available skins 
     33$skins = array( 
     34    'pat' => array( 
     35        'title'         => 'PAT classic', 
     36        'templateDir'   => $basedir.'/skins/pat', 
     37        'cacheDir'      => $basedir.'/cache/pat', 
     38        'default'       => true 
     39    ) 
     40); 
    2841 
    29 //      define all available skins 
    30 $skins                  =       array( 
    31                                                         "pat"           =>      array( 
    32                                                                                                         "title"                 =>      "PAT classic", 
    33                                                                                                         "templateDir"   =>      $basedir."/skins/pat", 
    34                                                                                                         "cacheDir"              =>      $basedir."/cache/pat", 
    35                                                                                                         "default"               =>      true 
    36                                                                                                 ) 
    37                                                 ); 
    3842?> 
  • trunk/content/example3.xml

    r2 r67  
    1111                </para> 
    1212                <para> 
    13                         Time until christmas 2002: <time:countdown to="2002-12-24 00:00:00" format="%d days, %h hours, %m minutes and %s seconds"/> 
     13                        Time until christmas 2005: <time:countdown to="2005-12-24 00:00:00" format="%d days, %h hours, %m minutes and %s seconds"/> 
    1414                </para> 
    1515                <para> 
  • trunk/extensions/randy/patXMLRendererRandyExtension.php

    r2 r67  
    1 <?PHP 
     1<?php 
     2 
    23/** 
    3 *       pat XML Renderer - Randy Handler 
    4 *       $Id$ 
     4 *  pat XML Renderer - Randy Handler 
     5 * 
     6 *  @access     public 
     7 *  @version    $Id$ 
     8 *  @author     Stephan Schmidt <schst@php-tools.de> 
     9 *  @package    patXMLRenderer 
     10*/ 
     11class patXMLRendererRandyExtension extends patXMLRendererExtension 
     12
     13 
     14    /** 
     15     *  name of the extension 
     16     *  @var    string  $name 
     17     */ 
     18    var $name                   = 'patXMLRandyExtension'; 
     19 
     20    /** 
     21     *  version of the extension 
     22     *  @var    string  $version 
     23     */ 
     24    var $version                = '0.96'; 
     25 
     26    /** 
     27     *  version of patXMLRenderer that is required 
     28     *  @var    string  $requiredRandyVersion 
     29     */ 
     30    var $requiredRandyVersion   = '0.6'; 
     31 
     32    /** 
     33     *  array containing a flag for each supported tag to indicate if this tag is cacheable 
     34     *  @var    array   $cacheAble 
     35     */ 
     36    var $cacheAble              = array( 
     37                                    'ADDEXTENSION'      => true, 
     38                                    'ADDALLEXTENSIONS'  => true, 
     39                                    'ADDTEMPLATEFILE'   => true, 
     40                                    'ATTRIBUTE'         => true, 
     41                                    'INFO'              => false, 
     42                                    'SETOPTION'         => true, 
     43                                    'GETOPTION'         => false, 
     44                                    'GETPARAM'          => false, 
     45                                    'SETPARAM'          => true, 
     46                                    'UNSETPARAM'        => true, 
     47                                    'SETEXTENSIONDIR'   => true, 
     48                                    'XMLSOURCE'         => true, 
     49                                    'NOPARSE'           => false 
     50                                ); 
     51                                 
     52    /** 
     53     *  array containing a flag for each supported tag to indicate if this tag returns markup 
     54     *  @var    array   $containsMarkup 
     55     */ 
     56    var $containsMarkup         = array( 
     57                                    'ADDEXTENSION'      => false, 
     58                                    'ADDALLEXTENSIONS'  => false, 
     59                                    'ADDTEMPLATEFILE'   => false, 
     60                                    'ATTRIBUTE'         => false, 
     61                                    'INFO'              => true, 
     62                                    'SETOPTION'         => false, 
     63                                    'GETOPTION'         => false, 
     64                                    'GETPARAM'          => false, 
     65                                    'SETPARAM'          => false, 
     66                                    'UNSETPARAM'        => false, 
     67                                    'SETEXTENSIONDIR'   => false, 
     68                                    'XMLSOURCE'         => false, 
     69                                    'NOPARSE'           => false 
     70                                ); 
     71 
     72    /** 
     73     *  all dynamically added extensions 
     74     *  @var    array   $extensions 
     75    */ 
     76    var $extensions             = array(); 
     77 
     78    /** 
     79     *  TODO: description 
     80     *  @var    array   $data 
     81     */ 
     82    var $data                   = array(); 
     83     
     84    /** 
     85     *  handle a start element 
     86     * 
     87     *  @param    int       $parser     resource id of the current parser 
     88     *  @param    string    $ns         namespace 
     89     *  @param    string    $name       name of the element 
     90     *  @param    array     $attributes array containing all attributes 
     91     */ 
     92    function startElement( $parser, $ns, $tag, $attributes ) 
     93    { 
     94        array_push( $this->attStack, $attributes ); 
     95        array_push( $this->tagStack, $tag ); 
     96 
     97        unset( $this->data[( count($this->tagStack) - 1 )] ); 
     98         
     99        switch( $tag ) 
     100        { 
     101            case "NOPARSE": 
     102                $this->renderer->setOption( "parse", "off" ); 
     103                break; 
     104            default; 
     105                break; 
     106        } 
     107 
     108        return    false; 
     109    } 
     110 
     111/** 
     112*    handle an end element 
    5113* 
    6 *       @access public 
    7 *       @version        $Revision$ 
    8 *       @author         $Author$ 
    9 *       @package        patXMLRenderer 
     114*    @param    int        $parser        resource id of the current parser 
     115*    @param    string    $ns            namespace 
     116*    @param    string    $name        name of the element 
    10117*/ 
    11  
    12         class   patXMLRendererRandyExtension extends patXMLRendererExtension 
    13 
    14  
    15 /** 
    16 *       name of the extension 
    17 *       @var    string  $name 
    18 */ 
    19         var     $name           =       "patXMLRandyExtension"; 
    20  
    21 /** 
    22 *       version of the extension 
    23 *       @var    string  $version 
    24 */ 
    25         var     $version        =       "0.93"; 
    26  
    27 /** 
    28 *       version of patXMLRenderer that is required 
    29 *       @var    string  $requiredRandyVersion 
    30 */ 
    31         var     $requiredRandyVersion   =       "0.6"; 
    32          
    33 /** 
    34 *       array containing a flag for each supported tag to indicate if this tag is cacheable 
    35 *       @var    array   $cacheAble 
    36 */ 
    37         var     $cacheAble              =       array( 
    38                                                                         "ADDEXTENSION"          =>      true, 
    39                                                                         "ADDALLEXTENSIONS"      =>      true, 
    40                                                                         "ADDTEMPLATEFILE"       =>      true, 
    41                                                                         "INFO"                          =>      false, 
    42                                                                         "SETOPTION"                     =>      true, 
    43                                                                         "GETOPTION"                     =>      false, 
    44                                                                         "GETPARAM"                      =>      false, 
    45                                                                         "SETPARAM"                      =>      true, 
    46                                                                         "UNSETPARAM"            =>      true, 
    47                                                                         "SETEXTENSIONDIR"       =>      true, 
    48                                                                         "XMLSOURCE"                     =>      true, 
    49                                                                         "NOPARSE"                       =>      false 
    50                                                                 ); 
    51 /** 
    52 *       array containing a flag for each supported tag to indicate if this tag returns markup 
    53 *       @var    array   $containsMarkup 
    54 */ 
    55         var     $containsMarkup =       array(  "ADDEXTENSION"          =>      false, 
    56                                                                         "ADDALLEXTENSIONS"      =>      false, 
    57                                                                         "ADDTEMPLATEFILE"       =>      false, 
    58                                                                         "INFO"                          =>      true, 
    59                                                                         "SETOPTION"                     =>      false, 
    60                                                                         "GETOPTION"                     =>      false, 
    61                                                                         "GETPARAM"                      =>      false, 
    62                                                                         "SETPARAM"                      =>      false, 
    63                                                                         "UNSETPARAM"            =>      false, 
    64                                                                         "SETEXTENSIONDIR"       =>      false, 
    65                                                                         "XMLSOURCE"                     =>      false, 
    66                                                                         "NOPARSE"                       =>      false 
    67                                                                 ); 
    68  
    69 /** 
    70 *       all dynamically added extensions 
    71 *       @var    array   $extensions 
    72 */ 
    73         var     $extensions             =       array(); 
    74          
    75 /** 
    76 *       handle a start element 
    77 
    78 *       @param  int             $parser         resource id of the current parser 
    79 *       @param  string  $ns                     namespace 
    80 *       @param  string  $name           name of the element 
    81 *       @param  array   $attributes     array containing all attributes 
    82 */ 
    83         function        startElement( $parser, $ns, $tag, $attributes ) 
    84         { 
    85                 array_push( $this->attStack, $attributes ); 
    86                 array_push( $this->tagStack, $tag ); 
    87  
    88                 unset( $this->data[( count( $this->tagStack ) - 1 )] ); 
    89                  
    90                 switch( $tag ) 
    91                 { 
    92                         case    "NOPARSE": 
    93                                 $this->renderer->setOption( "parse", "off" ); 
    94                                 break; 
    95                         default; 
    96                                 break; 
    97                 } 
    98  
    99                 return  false; 
    100         } 
    101  
    102 /** 
    103 *       handle an end element 
    104 
    105 *       @param  int             $parser         resource id of the current parser 
    106 *       @param  string  $ns                     namespace 
    107 *       @param  string  $name           name of the element 
    108 */ 
    109         function        endElement( $parser, $ns, $tag ) 
    110         { 
    111                 $data                   =       $this->getData(); 
    112                 $attributes             =       array_pop( $this->attStack ); 
    113                 $tag                    =       array_pop( $this->tagStack ); 
    114  
    115                 switch( $tag ) 
    116                 { 
    117                         case    "NOPARSE": 
    118                                 $this->renderer->setOption( "parse", "on" ); 
    119                                 return  $data; 
    120                                 break; 
    121                         case    "XMLSOURCE": 
    122                                 $src    =       $this->renderer->getXMLSource(); 
    123                                 switch( strtolower( $attributes["PATH"] ) ) 
    124                                 { 
    125                                         case    "basename": 
    126                                                 return  basename( $src ); 
    127                                                 break; 
    128                                         case    "dirname": 
    129                                                 if( $src == dirname( $src ) ) 
    130                                                         return  false; 
    131                                                 return  dirname( $src ); 
    132                                                 break; 
    133                                         default: 
    134                                                 return  $src; 
    135                                                 break; 
    136                                 } 
    137                                 break; 
    138  
    139                         case    "SETEXTENSIONDIR": 
    140                                 $this->renderer->setExtensionDir( $attributes["DIR"] ); 
    141                                 return  false; 
    142                                 break; 
    143  
    144                         case    "SETOPTION": 
    145                                 $this->renderer->setOption( $attributes["OPTION"], $data ); 
    146                                 return  false; 
    147                                 break; 
    148  
    149                         case    "GETOPTION": 
    150                                 return  $this->renderer->getOption( $attributes["OPTION"] ); 
    151                                 return  false; 
    152                                 break; 
    153  
    154                         case    "GETPARAM": 
    155                                 return  $this->renderer->getParam( $attributes["PARAM"] ); 
    156                                 return  false; 
    157                                 break; 
    158  
    159                         case    "SETPARAM": 
    160                                 $this->renderer->setParam( $attributes["PARAM"], $data ); 
    161                                 return  false; 
    162                                 break; 
    163  
    164                         case    "UNSETPARAM": 
    165                                 $this->renderer->unsetParam( $attributes["PARAM"] ); 
    166                                 return  false; 
    167                                 break; 
    168  
    169                         case    "ADDTEMPLATEFILE": 
    170                                 $this->renderer->addTemplateFile( $attributes["FILE"] ); 
    171                                 return  false; 
    172                                 break; 
    173  
    174                         case    "INCLUDEFILE": 
    175  
    176                                 if( isset( $attributes["FILE"] ) ) 
    177                                 { 
    178                                         $filename       =       ( $this->renderer->getExtensionDir() && strtolower( $attributes["USEDIR"] ) != "off" ) ? $this->renderer->getExtensionDir()."/".$attributes["FILE"] : $attributes["FILE"]; 
    179                                         include_once( $filename ); 
    180                                 } 
    181                                 return  false; 
    182                                 break; 
    183  
    184                         case    "ADDEXTENSION": 
    185                                 if( isset( $attributes["FILE"] ) ) 
    186                                 { 
    187                                         $filename       =       ( $this->renderer->getExtensionDir() && strtolower( $attributes["USEDIR"] ) != "off" ) ? $this->renderer->getExtensionDir()."/".$attributes["FILE"] : $attributes["FILE"]; 
    188                                         include_once( $filename ); 
    189                                 } 
    190                                          
    191                                 if( isset( $attributes["EXTENSION"] ) && class_exists( $attributes["EXTENSION"] ) ) 
    192                                 { 
    193                                         $this->extensions[]     =       new     $attributes["EXTENSION"]; 
    194                                         $this->renderer->addExtension( $attributes["NAMESPACE"], $this->extensions[(count( $this->extensions )-1)] ); 
    195                                 } 
    196                                 return  false; 
    197                                 break; 
    198  
    199                         case    "ADDALLEXTENSIONS": 
    200                                 $extensions     =       $this->renderer->getRandyInfo( "knownextensions" ); 
    201                                 for( $i=0; $i<count( $extensions ); $i++ ) 
    202                                         $this->renderer->autoAddExtension( $extensions[$i] ); 
    203                                          
    204                                 return  false; 
    205                                 break; 
    206  
    207                         case    "INFO": 
    208                                 switch( $attributes["OPTION"] ) 
    209                                 { 
    210                                         case    "supportedtags": 
    211                                                 $tags   =       $this->renderer->getRandyInfo( "supportedtags" ); 
    212                                                  
    213                                                 if( $attributes[MODE] == "xmllist" ) 
    214                                                 { 
    215                                                         $xml    =       "<ul>"; 
    216          
    217                                                         for( $i=0; $i<count( $tags ); $i++ ) 
    218                                                                 $xml    .=      "<uli>".$tags[$i]."</uli>"; 
    219          
    220                                                         $xml    .=      "</ul>"; 
    221                                                 } 
    222                                                 else 
    223                                                         $xml    =       implode( ", ", $tags ); 
    224                                                          
    225                                                 return  $xml; 
    226                                                 break; 
    227  
    228  
    229                                         case    "extensions": 
    230                                                 unset( $xml ); 
    231                                                 $extensions     =       $this->renderer->getRandyInfo( "extensions" ); 
    232  
    233                                                 if( $attributes[MODE] == "xmllist" ) 
    234                                                 { 
    235                                                         $xml    =       "<ul>"; 
    236          
    237                                                         for( $i=0; $i<count( $extensions ); $i++ ) 
    238                                                                 $xml    .=      "<uli>".$extensions[$i]."</uli>"; 
    239          
    240                                                         $xml    .=      "</ul>"; 
    241                                                 } 
    242                                                 else 
    243                                                         $xml    =       implode( ", ", $extensions ); 
    244                                                          
    245                                                 return  $xml; 
    246                                                 break; 
    247  
    248                                         default: 
    249                                                 return  $this->renderer->getRandyInfo( strtolower( $attributes["OPTION"] ) ); 
    250                                                 break; 
    251                                 } 
    252                                 break; 
    253                 } 
    254                 return  false; 
    255         } 
     118    function    endElement( $parser, $ns, $tag ) 
     119    { 
     120        $data            =    $this->getData(); 
     121        $attributes        =    array_pop( $this->attStack ); 
     122        $tag            =    array_pop( $this->tagStack ); 
     123 
     124        switch( $tag ) 
     125        { 
     126            case    "ATTRIBUTE": 
     127                $atts    =    array_pop( $this->renderer->attStack[$this->renderer->parsers] ); 
     128                $atts[$attributes["NAME"]]    =    $data; 
     129                array_push( $this->renderer->attStack[$this->renderer->parsers], $atts ); 
     130             
     131                break; 
     132            case    "NOPARSE": 
     133                $this->renderer->setOption( "parse", "on" ); 
     134                return    $data; 
     135                break; 
     136            case    "XMLSOURCE": 
     137                $src    =    $this->renderer->getXMLSource(); 
     138                switch( strtolower( $attributes["PATH"] ) ) 
     139                { 
     140                    case    "basename": 
     141                        return    basename( $src ); 
     142                        break; 
     143                    case    "dirname": 
     144                        if( $src == dirname( $src ) ) 
     145                            return    false; 
     146                        return    dirname( $src ); 
     147                        break; 
     148                    default: 
     149                        return    $src; 
     150                        break; 
     151                } 
     152                break; 
     153 
     154            case    "SETEXTENSIONDIR": 
     155                $this->renderer->setExtensionDir( $attributes["DIR"] ); 
     156                return    false; 
     157                break; 
     158 
     159            case    "SETOPTION": 
     160                $this->renderer->setOption( $attributes["OPTION"], $data ); 
     161                return    false; 
     162                break; 
     163 
     164            case    "GETOPTION": 
     165                return    $this->renderer->getOption( $attributes["OPTION"] ); 
     166                return    false; 
     167                break; 
     168 
     169            case    "GETPARAM": 
     170                return    $this->renderer->getParam( $attributes["PARAM"] ); 
     171                return    false; 
     172                break; 
     173 
     174            case    "SETPARAM": 
     175                $this->renderer->setParam( $attributes["PARAM"], $data ); 
     176                return    false; 
     177                break; 
     178 
     179            case    "UNSETPARAM": 
     180                $this->renderer->unsetParam( $attributes["PARAM"] ); 
     181                return    false; 
     182                break; 
     183 
     184            case    "ADDTEMPLATEFILE": 
     185                $this->renderer->addTemplateFile( $attributes["FILE"] ); 
     186                return    false; 
     187                break; 
     188 
     189            case    "INCLUDEFILE": 
     190                if( isset( $attributes["FILE"] ) ) 
     191                { 
     192                    $filename    =    ( $this->renderer->getExtensionDir() && strtolower( $attributes["USEDIR"] ) != "off" ) ? $this->renderer->getExtensionDir()."/".$attributes["FILE"] : $attributes["FILE"]; 
     193                    include_once( $filename ); 
     194                } 
     195                return    false; 
     196                break; 
     197 
     198            case    "ADDEXTENSION": 
     199                if( isset( $attributes["FILE"] ) ) 
     200                { 
     201                    $filename    =    ( $this->renderer->getExtensionDir() && strtolower( $attributes["USEDIR"] ) != "off" ) ? $this->renderer->getExtensionDir()."/".$attributes["FILE"] : $attributes["FILE"]; 
     202                    include_once( $filename ); 
     203                } 
     204                     
     205                if( isset( $attributes["EXTENSION"] ) && class_exists( $attributes["EXTENSION"] ) ) 
     206                { 
     207                    $this->extensions[]    =    new    $attributes["EXTENSION"]; 
     208                    $this->renderer->addExtension( $attributes["NAMESPACE"], $this->extensions[(count( $this->extensions )-1)] ); 
     209                } 
     210                return    false; 
     211                break; 
     212 
     213            case    "ADDALLEXTENSIONS": 
     214                $extensions    =    $this->renderer->getRandyInfo( "knownextensions" ); 
     215                for( $i=0; $i<count( $extensions ); $i++ ) 
     216                    $this->renderer->autoAddExtension( $extensions[$i] ); 
     217                     
     218                return    false; 
     219                break; 
     220 
     221            case    "INFO": 
     222                switch( $attributes["OPTION"] ) 
     223                { 
     224                    case    "supportedtags": 
     225                        $tags    =    $this->renderer->getRandyInfo( "supportedtags" ); 
     226                         
     227                        if( $attributes['MODE'] == "xmllist" ) 
     228                        { 
     229                            $xml    =    "<ul>"; 
     230     
     231                            for( $i=0; $i<count( $tags ); $i++ ) 
     232                                $xml    .=    "<uli>".$tags[$i]."</uli>"; 
     233     
     234                            $xml    .=    "</ul>"; 
     235                        } 
     236                        else 
     237                            $xml    =    implode( ", ", $tags ); 
     238                             
     239                        return    $xml; 
     240                        break; 
     241 
     242 
     243                    case    "extensions": 
     244                        unset( $xml ); 
     245                        $extensions    =    $this->renderer->getRandyInfo( "extensions" ); 
     246 
     247                        if( $attributes['MODE'] == "xmllist" ) 
     248                        { 
     249                            $xml    =    "<ul>"; 
     250     
     251                            for( $i=0; $i<count( $extensions ); $i++ ) 
     252                                $xml    .=    "<uli>".$extensions[$i]."</uli>"; 
     253     
     254                            $xml    .=    "</ul>"; 
     255                        } 
     256                        else 
     257                            $xml    =    implode( ", ", $extensions ); 
     258                             
     259                        return    $xml; 
     260                        break; 
     261 
     262                    default: 
     263                        return    $this->renderer->getRandyInfo( strtolower( $attributes["OPTION"] ) ); 
     264                        break; 
     265                } 
     266                break; 
     267        } 
     268        return    false; 
     269    } 
    256270} 
    257271?> 
  • trunk/index.php

    r57 r67  
    1 <?PHP 
    2         //      include config (file locations) 
    3         require_once( "config/patXMLRenderer.php" ); 
     1<?php 
     2/** 
     3 * Main script for example site 
     4 * 
     5 * @package     patXMLRenderer 
     6 * @subpackage  Example 
     7 * @version     $Id$ 
     8 * @author      Stephan Schmidt <schst@php-tools.de> 
     9 * @author      Hans Spath <dev-pat@hans-spath.de> 
     10 */ 
    411 
    5         //      include list of known extensions (file is generated by admin)    
    6        include_once( $extDir."/knownExtensions.php" )
     12// include config (file locations) 
     13require_once 'config/patXMLRenderer.php'
    714 
    8         //      renderer 
    9        require_once( "include/patXMLRenderer.php" )
     15// include list of known extensions (file is generated by admin) 
     16include_once $extDir.'/knownExtensions.php'
    1017 
    11         //      include extension base class 
    12         require_once( "include/patXMLRendererExtension.php" ); 
    13          
    14         //      include logging class for text files 
    15         require_once( "include/patXMLRendererTxtLogger.php" ); 
     18// renderer 
     19require_once 'pat/patXMLRenderer.php'; 
    1620 
    17         //      get requested file 
    18         $file   =       isset( $_GET["file"] ) 
    19                 ?       $_GET['file'] 
    20                 :       false; 
    21          
    22         //      instantiate renderer 
    23         $randy          =       new     patXMLRenderer; 
     21// include logging class for text files 
     22require_once 'pat/patXMLRenderer/TxtLogger.php'; 
    2423 
    25         //      tell renderer where extensions are stored 
    26         $randy->setExtensionDir( $extDir ); 
     24// get requested file 
     25$file = isset( $_GET['file'] ) 
     26      ? $_GET['file'] 
     27      : false; 
    2728 
    28         //      tell renderer the the names and locations of all known extensions 
    29        $randy->setKnownExtensions( $knownExtensions )
     29// instantiate renderer 
     30$randy = new patXMLRenderer
    3031 
    31         //      set list of skins 
    32         $randy->setSkins( $skins ); 
    33         //      select a skin used for rendering 
    34