VCL
[ class tree: VCL ] [ index: VCL ] [ all elements ]

Source for file templateplugins.inc.php

Documentation is available at templateplugins.inc.php

  1. <?php
  2. /**
  3. *  This file is part of the VCL for PHP project
  4. *
  5. *  Copyright (c) 2004-2007 qadram software <support@qadram.com>
  6. *
  7. *  Checkout AUTHORS file for more information on the developers
  8. *
  9. *  This library is free software; you can redistribute it and/or
  10. *  modify it under the terms of the GNU Lesser General Public
  11. *  License as published by the Free Software Foundation; either
  12. *  version 2.1 of the License, or (at your option) any later version.
  13. *
  14. *  This library is distributed in the hope that it will be useful,
  15. *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  17. *  Lesser General Public License for more details.
  18. *
  19. *  You should have received a copy of the GNU Lesser General Public
  20. *  License along with this library; if not, write to the Free Software
  21. *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307
  22. *  USA
  23. *
  24. */
  25.  
  26. use_unit("classes.inc.php");
  27.  
  28. /**
  29.  * Base class for template engines, inherit from it and override initialize(), assignComponents() and dumpTemplate()
  30.  *
  31.  */
  32. class PageTemplate extends Component
  33. {
  34.         protected $_filename='';
  35.  
  36.         /**
  37.          * Template filename
  38.          *
  39.          * @return string 
  40.          */
  41.         function readFileName(return $this->_filename}
  42.         function writeFileName($value$this->_filename=$value}
  43.  
  44.         /**
  45.          * Called to initialize the template system
  46.          *
  47.          */
  48.         function initialize({}
  49.         
  50.         /**
  51.          * Called to assign component code to template holes
  52.          *
  53.          */
  54.         function assignComponents({}
  55.         
  56.         /**
  57.          * Called to dump the parsed Template to the output stream
  58.          *
  59.          */
  60.         function dumpTemplate({}
  61.  
  62.         function __construct($aowner=null)
  63.         {
  64.                 parent::__construct($aowner);
  65.         }
  66.  
  67. }
  68.  
  69. /**
  70.  * Template Manager to register all available template engines
  71.  *
  72.  */
  73. class TemplateManager extends Component
  74. {
  75.         protected $_templates=null;
  76.  
  77.         function __construct($aowner=null)
  78.         {
  79.                 parent::__construct($aowner);
  80.                 $templates=array();
  81.         }
  82.  
  83.         /**
  84.          * Registers a new template engine
  85.          *
  86.          * @param string $classname Class for the template engine
  87.          * @param string $unitname  Unit that holds the class
  88.          */
  89.         function registerTemplate($classname$unitname)
  90.         {
  91.                 $this->_templates[$classname]=$unitname;
  92.         }
  93.  
  94.         /**
  95.          * Return an array of engines
  96.          *
  97.          * @return array 
  98.          */
  99.         function getEngines()
  100.         {
  101.                 $keys=array_keys($this->_templates);
  102.                 $ret=array('');
  103.                 $ret=array_merge($ret,$keys);
  104.                 return($ret);
  105.         }
  106. }
  107.  
  108. /**
  109. * Global variable for the Template Manager, checkout TemplateManager::registerTemplate
  110. */
  111. global $TemplateManager;
  112.  
  113. $TemplateManager=new TemplateManager(null);
  114.  
  115. //Add here all the template engines available to forms
  116. use_unit("smartytemplate.inc.php");
  117.  
  118. ?>

Documentation generated on Tue, 27 Mar 2007 13:36:00 +0200 by phpDocumentor 1.3.1