]> git.llucax.com Git - mecon/meconlib.git/blobdiff - lib/MLIB/Tpl.php
Se agrega la clase Widget y algunos derivados.
[mecon/meconlib.git] / lib / MLIB / Tpl.php
index e1f82c65e972d2b8e81c082e8f8c784498722a34..e0c3c39e650fb8e4473f58379bcfa2a4be9aca5e 100644 (file)
@@ -18,59 +18,95 @@ You should have received a copy of the GNU Lesser General Public License; if
 not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330,
 Boston, MA  02111-1307  USA
 -------------------------------------------------------------------------------
-Creado: jue jul 29 09:42:56 ART 2004
-Autor:  Martín Marrese - m_marrese@argentina.com
+Created: jue jul 29 09:42:56 ART 2004
+Authors: Martín Marrese <m_marrese@argentina.com>
+         Leandro Lucarella <luca@llucax.hn.org>
 -------------------------------------------------------------------------------
 $Id$
 -----------------------------------------------------------------------------*/
 
 /**
- * Clase dummy / interfaz para los templates de mlib.
- * Establece los parametros para el contructor y los parametros del metodo
- * parse.
+ * Templates interface for mlib.
+ * This interface define the basic behavoir of all the template implementations
+ * in mlib. It has 4 method which are the only ones you should use when drawing
+ * your components.
+ *
+ * @todo Add a global example using all the methods.
+ * @author Leandro Lucarella <luca@llucax.hn.org>
+ * @author Martín Marrese <m_marrese@argentina.com>
+ * @since  1.0
  */
-class MLIB_Tpl {
+class /* interface */ MLIB_Tpl {
     
     /**
      * Returns a parsed template.
+     * This function parses a template $name in the $group (or the current group
+     * if it's null), replacing the variables specified by $vars. $vars can be a
+     * string (in which case it's replaced by the value $val) or an asociative
+     * array, where the keys are the variables to replace and the values are the
+     * text to put in the place of the variable.
      *
      * @param string $name Name of template to parse.
      * @param mixed $vars Variables to replace in the template.
      * @param string $val If $vars is a string, the value to replace
      *        for $vars.
      *
-     * @access public
-     * @return mixed
+     * @return The parsed template $name (in $group) with its $vars replaced.
+     * @todo Add an example.
      */
-    function parse($name, $vars = '', $val = '')
+    function parse($name, $vars = '', $val = '', $group = null)
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        trigger_error('Not implemented!', E_USER_ERROR);
     }
 
     /**
-     * Returns the template file name based on the blockname
+     * Sets the group to use and add it to the groups stack.
      *
-     * @param string $block BlockName.
+     * @param group Group to use (and add to the groups stack).
+     * @todo Add an example.
+     */
+    function pushGroup($group = '')
+    {
+        trigger_error('Not implemented!', E_USER_ERROR);
+    }
+
+    /**
+     * Removes the current group from the groups stack and returns it.
+     *
+     * @return Last used group.
+     * @todo Add an example.
+     */
+    function popGroup() {
+        trigger_error('Not implemented!', E_USER_ERROR);
+    }
+
+    /**
+     * Returns the current group from the groups stack.
      *
-     * @access public
-     * @return mixed
+     * @return Current group.
+     * @todo Add an example.
      */
-    function getFileName($block)
+    function getGroup()
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        return end($this->group);
     }
 
     /**
-     * Returns the template file content.
+     * Tells if a template exists.
+     * True if the template $name exists in $group (or the current group if
+     * $group is null)
      *
-     * @param string $file Filename.
+     * @param  name  Name of the template.
+     * @param  group Template's group. If it's null it uses the current group.
      *
-     * @access public
-     * @return mixed
+     * @return true if template $name exists in $group, false if not.
+     * @todo Add an example.
      */
-    function getFileContent($filename)
+    function exists($name, $group = null)
     {
-        trigger_error('Not implemented!', E_USER_WARNING);
+        trigger_error('Not implemented!', E_USER_ERROR);
     }
+
 }
+
 ?>
\ No newline at end of file