From: uw Date: Wed Jan 10 00:19:52 2001 Modified files: php-lib/php/ext/integratedtemplate.inc php-lib/php/ext/integratedtemplateextension.inc Log message: Added functions to get informations on the variables of a template Index: php-lib/php/ext/integratedtemplate.inc diff -u php-lib/php/ext/integratedtemplate.inc:1.9 php-lib/php/ext/integratedtemplate.inc:1.10 --- php-lib/php/ext/integratedtemplate.inc:1.9 Mon Dec 11 14:12:12 2000 +++ php-lib/php/ext/integratedtemplate.inc Wed Jan 10 00:19:19 2001 @@ -90,7 +90,7 @@ * </code> * * @author Ulf Wendel <[EMAIL PROTECTED]> -* @version $Id: integratedtemplate.inc,v 1.9 2000/12/11 13:12:12 uw Exp $ +* @version $Id: integratedtemplate.inc,v 1.10 2001/01/09 23:19:19 uw Exp $ * @access public */ class IntegratedTemplate { @@ -665,7 +665,7 @@ } // end func setRoot /** - * Build a list of all variables within a block + * Build a list of all variables within of a block */ function buildBlockvariablelist() { Index: php-lib/php/ext/integratedtemplateextension.inc diff -u php-lib/php/ext/integratedtemplateextension.inc:1.5 php-lib/php/ext/integratedtemplateextension.inc:1.6 --- php-lib/php/ext/integratedtemplateextension.inc:1.5 Tue Jan 9 23:13:38 2001 +++ php-lib/php/ext/integratedtemplateextension.inc Wed Jan 10 00:19:20 2001 @@ -13,7 +13,7 @@ * * @author Ulf Wendel <[EMAIL PROTECTED]> * @access public -* @version $Id: integratedtemplateextension.inc,v 1.5 2001/01/09 22:13:38 uw Exp $ +* @version $Id: integratedtemplateextension.inc,v 1.6 2001/01/09 23:19:20 uw Exp $ */ class IntegratedTemplateExtension extends IntegratedTemplate { @@ -93,8 +93,8 @@ */ function IntegratedTemplateExtension($root = "") { - $this->checkblocknameRegExp = "@".$this->blocknameRegExp."@"; - $this->functionRegExp = "@".$this->functionPrefix."(".$this->functionnameRegExp.")\s*\(@sm"; + $this->checkblocknameRegExp = "@" . $this->blocknameRegExp . "@"; + $this->functionRegExp = "@" . $this->functionPrefix . "(" . +$this->functionnameRegExp . ")\s*\(@sm"; $this->IntegratedTemplate($root); @@ -225,8 +225,8 @@ } else if ( count($parents) > 1 ) { reset($parents); - while (list($k, $parent)=each($parents)) - $msg.= "$parent, "; + while (list($k, $parent) = each($parents)) + $msg .= "$parent, "; $msg = substr($parent, -2); $this->halt("The variable placeholder '$placeholder' must be unique, found in multiple blocks '$msg'.", __FILE__, __LINE__); @@ -240,8 +240,8 @@ return false; // findBlocks() already throws an exception $this->blockinner[$parents[0]][] = $blockname; - $this->blocklist[$parents[0]] = preg_replace( "@".$this->openingDelimiter.$placeholder.$this->closingDelimiter."@", - $this->openingDelimiter."__".$blockname."__".$this->closingDelimiter, + $this->blocklist[$parents[0]] = preg_replace( "@" . +$this->openingDelimiter . $placeholder . $this->closingDelimiter . "@", + + + $this->openingDelimiter . "__" . $blockname . "__" . +$this->closingDelimiter, $this->blocklist[$parents[0]] ); @@ -378,7 +378,7 @@ */ function setFunctioncontent($functionID, $replacement) { - $this->variableCache["__function".$functionID."__"] = $replacement; + $this->variableCache["__function" . $functionID . "__"] = $replacement; } // end func setFunctioncontent @@ -439,6 +439,7 @@ * * @param string * @return boolean + * @access public * @see getBlocklist() */ function blockExists($blockname) { @@ -446,6 +447,38 @@ } // end func blockExists /** + * Returns a list of variables of a block. + * + * @param string Blockname + * @return array [varname => varname] + * @access public + * @see BlockvariableExists() + */ + function getBlockvariables($block) { + if (!isset($this->blockvariables[$block])) + return array(); + + $variables = array(); + foreach ($this->blockvariables as $variable => $v) + $variables[$variable] = $variable; + + return $variables; + } // end func getBlockvariables + + /** + * Checks wheter a block variable exists. + * + * @param string Blockname + * @param string Variablename + * @return boolean + * @access public + * @see getBlockvariables() + */ + function BlockvariableExists($block, $variable) { + return isset($this->blockvariables[$block][$variable]); + } // end func BlockvariableExists + + /** * Builds a functionlist from the template. */ function buildFunctionlist() { @@ -463,14 +496,14 @@ $head = $this->getValue($template, ")"); $args = array(); - $this->template = str_replace($regs[0].$head.")", "{__function".$num."__}", $this->template); - $template = str_replace($regs[0].$head.")", "{__function".$num."__}", $template); + $this->template = str_replace($regs[0] . $head . ")", +"{__function" . $num . "__}", $this->template); + $template = str_replace($regs[0] . $head . ")", "{__function" +. $num . "__}", $template); while ("" != $head && $arg = $this->getValue($head, ",")) { $args[] = trim($arg); if ($arg == $head) break; - $head = substr($head, strlen($arg)+1); + $head = substr($head, strlen($arg) + 1); } $this->functions[$num++] = array( @@ -483,7 +516,7 @@ function getValue($code, $delimiter) { - if (""==$code) + if ("" == $code) return ""; if (!is_array($delimiter)) @@ -499,11 +532,11 @@ } else { - for ($i = 0; $i< $len; ++$i) { + for ($i = 0; $i < $len; ++$i) { $char = $code[$i]; - if (('"' == $char || "'" == $char) && ($char == $enclosed_by || "" == $enclosed_by) && (0 == $i || ($i > 0 && "\\" != $code[$i-1]))) { + if (('"' == $char || "'" == $char) && ($char == +$enclosed_by || "" == $enclosed_by) && (0 == $i || ($i > 0 && "\\" != $code[$i - +1]))) { if (!$enclosed) $enclosed_by = $char; @@ -533,10 +566,10 @@ function deleteFromBlockvariablelist($block, $variables) { if (!is_array($variables)) - $variables = array( $variables => true); + $variables = array($variables => true); reset($this->blockvariables[$block]); - while (list($k, $varname)=each($this->blockvariables[$block])) + while (list($k, $varname) = each($this->blockvariables[$block])) if (isset($variables[$varname])) unset($this->blockvariables[$block][$k]); @@ -565,10 +598,10 @@ $parents = array(); reset($this->blocklist); - while (list($blockname, $content)=each($this->blocklist)) { + while (list($blockname, $content) = each($this->blocklist)) { reset($this->blockvariables[$blockname]); - while (list($k, $varname)=each($this->blockvariables[$blockname])) + while (list($k, $varname) = +each($this->blockvariables[$blockname])) if ($variable == $varname) $parents[] = $blockname; } --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]