| @@ -360,7 +360,7 @@ discard block | ||
| 360 | 360 | * Get output mode | 
| 361 | 361 | * @see setOutputMode() | 
| 362 | 362 | * | 
| 363 | - * @return output mode constant | |
| 363 | + * @return integer mode constant | |
| 364 | 364 | */ | 
| 365 | 365 | public function getOutputMode() | 
| 366 | 366 |      { | 
| @@ -389,9 +389,8 @@ discard block | ||
| 389 | 389 | /** | 
| 390 | 390 | * Get input and ouput encoding. | 
| 391 | 391 | * | 
| 392 | - * @param string $enc example: 'UTF-8' | |
| 393 | 392 | * | 
| 394 | - * @return $this | |
| 393 | + * @return string | |
| 395 | 394 | */ | 
| 396 | 395 | public function getEncoding() | 
| 397 | 396 |      { | 
| @@ -743,6 +742,7 @@ discard block | ||
| 743 | 742 | * | 
| 744 | 743 | * @param PHPTAL $local_tpl is PHPTAL instance of the file in which macro is defined | 
| 745 | 744 | * (it will be different from $this if it's external macro call) | 
| 745 | + * @param string $path | |
| 746 | 746 | * @access private | 
| 747 | 747 | */ | 
| 748 | 748 | final public function _executeMacroOfTemplate($path, PHPTAL $local_tpl) | 
| @@ -379,7 +379,9 @@ discard block | ||
| 379 | 379 | $enc = strtoupper($enc); | 
| 380 | 380 |          if ($enc != $this->_encoding) { | 
| 381 | 381 | $this->_encoding = $enc; | 
| 382 | - if ($this->_translator) $this->_translator->setEncoding($enc); | |
| 382 | +            if ($this->_translator) { | |
| 383 | + $this->_translator->setEncoding($enc); | |
| 384 | + } | |
| 383 | 385 | |
| 384 | 386 | $this->resetPrepared(); | 
| 385 | 387 | } | 
| @@ -666,8 +668,7 @@ discard block | ||
| 666 | 668 | ob_start(); | 
| 667 | 669 | $templateFunction($this, $this->_context); | 
| 668 | 670 | $res = ob_get_clean(); | 
| 669 | - } | |
| 670 | - catch (Exception $e) | |
| 671 | + } catch (Exception $e) | |
| 671 | 672 |              { | 
| 672 | 673 | ob_end_clean(); | 
| 673 | 674 | throw $e; | 
| @@ -686,8 +687,7 @@ discard block | ||
| 686 | 687 |              if ($this->_postfilter) { | 
| 687 | 688 | return $this->_postfilter->filter($res); | 
| 688 | 689 | } | 
| 689 | - } | |
| 690 | - catch (Exception $e) | |
| 690 | + } catch (Exception $e) | |
| 691 | 691 |          { | 
| 692 | 692 | PHPTAL_ExceptionHandler::handleException($e, $this->getEncoding()); | 
| 693 | 693 | } | 
| @@ -717,8 +717,7 @@ discard block | ||
| 717 | 717 | |
| 718 | 718 | $templateFunction = $this->getFunctionName(); | 
| 719 | 719 | $templateFunction($this, $this->_context); | 
| 720 | - } | |
| 721 | - catch (Exception $e) | |
| 720 | + } catch (Exception $e) | |
| 722 | 721 |          { | 
| 723 | 722 | PHPTAL_ExceptionHandler::handleException($e, $this->getEncoding()); | 
| 724 | 723 | } | 
| @@ -835,8 +834,7 @@ discard block | ||
| 835 | 834 | ob_start(); | 
| 836 | 835 |                  try { | 
| 837 | 836 |                      eval("?>\n".$result); | 
| 838 | - } | |
| 839 | -                catch(ParseError $parseError) { | |
| 837 | +                } catch(ParseError $parseError) { | |
| 840 | 838 | ob_end_clean(); | 
| 841 | 839 | throw new PHPTAL_TemplateException( | 
| 842 | 840 | 'Parse error: ' . $parseError->getMessage(), | 
| @@ -844,8 +842,7 @@ discard block | ||
| 844 | 842 | $parseError->getLine(), | 
| 845 | 843 | $parseError | 
| 846 | 844 | ); | 
| 847 | - } | |
| 848 | -                catch(Exception $e) { | |
| 845 | +                } catch(Exception $e) { | |
| 849 | 846 | ob_end_clean(); | 
| 850 | 847 | throw $e; | 
| 851 | 848 | } | 
| @@ -854,7 +851,11 @@ discard block | ||
| 854 | 851 |                      $msg = str_replace('eval()\'d code', $this->getCodePath(), ob_get_clean()); | 
| 855 | 852 | |
| 856 | 853 | // greedy .* ensures last match | 
| 857 | -                    if (preg_match('/.*on line (\d+)$/m', $msg, $m)) $line=$m[1]; else $line=0; | |
| 854 | +                    if (preg_match('/.*on line (\d+)$/m', $msg, $m)) { | |
| 855 | + $line=$m[1]; | |
| 856 | +                    } else { | |
| 857 | + $line=0; | |
| 858 | + } | |
| 858 | 859 | throw new PHPTAL_TemplateException(trim($msg), $this->getCodePath(), $line); | 
| 859 | 860 | } | 
| 860 | 861 | ob_end_clean(); | 
| @@ -948,7 +949,10 @@ discard block | ||
| 948 | 949 | $cacheFiles = glob($filename . '?*'); | 
| 949 | 950 |          if ($cacheFiles) { | 
| 950 | 951 |              foreach ($cacheFiles as $file) { | 
| 951 | - if (substr($file, 0, strlen($filename)) !== $filename) continue; // safety net | |
| 952 | +                if (substr($file, 0, strlen($filename)) !== $filename) { | |
| 953 | + continue; | |
| 954 | + } | |
| 955 | + // safety net | |
| 952 | 956 | @unlink($file); | 
| 953 | 957 | } | 
| 954 | 958 | } | 
| @@ -965,7 +969,9 @@ discard block | ||
| 965 | 969 | */ | 
| 966 | 970 | public function getCodePath() | 
| 967 | 971 |      { | 
| 968 | - if (!$this->_codeFile) $this->setCodeFile(); | |
| 972 | +        if (!$this->_codeFile) { | |
| 973 | + $this->setCodeFile(); | |
| 974 | + } | |
| 969 | 975 | return $this->_codeFile; | 
| 970 | 976 | } | 
| 971 | 977 | |
| @@ -1196,7 +1202,9 @@ discard block | ||
| 1196 | 1202 | $class = strtr($class, '\\', '_'); | 
| 1197 | 1203 | } | 
| 1198 | 1204 | |
| 1199 | - if (substr($class, 0, 7) !== 'PHPTAL_') return; | |
| 1205 | +        if (substr($class, 0, 7) !== 'PHPTAL_') { | |
| 1206 | + return; | |
| 1207 | + } | |
| 1200 | 1208 | |
| 1201 | 1209 |          $path = dirname(__FILE__) . strtr("_".$class, "_", DIRECTORY_SEPARATOR) . '.php'; | 
| 1202 | 1210 | |
| @@ -64,7 +64,7 @@ discard block | ||
| 64 | 64 | /** | 
| 65 | 65 | * save current execution context | 
| 66 | 66 | * | 
| 67 | - * @return Context (new) | |
| 67 | + * @return PHPTAL_Context (new) | |
| 68 | 68 | */ | 
| 69 | 69 | public function pushContext() | 
| 70 | 70 |      { | 
| @@ -76,7 +76,7 @@ discard block | ||
| 76 | 76 | /** | 
| 77 | 77 | * get previously saved execution context | 
| 78 | 78 | * | 
| 79 | - * @return Context (old) | |
| 79 | + * @return PHPTAL_Context (old) | |
| 80 | 80 | */ | 
| 81 | 81 | public function popContext() | 
| 82 | 82 |      { | 
| @@ -263,6 +263,7 @@ discard block | ||
| 263 | 263 | /** | 
| 264 | 264 | * Context setter. | 
| 265 | 265 | * | 
| 266 | + * @param string $varname | |
| 266 | 267 | * @return void | 
| 267 | 268 | */ | 
| 268 | 269 | public function __set($varname, $value) | 
| @@ -312,6 +313,7 @@ discard block | ||
| 312 | 313 | * helper method for PHPTAL_Context::path() | 
| 313 | 314 | * | 
| 314 | 315 | * @access private | 
| 316 | + * @param string $path | |
| 315 | 317 | */ | 
| 316 | 318 | private static function pathError($base, $path, $current, $basename) | 
| 317 | 319 |      { | 
| @@ -116,8 +116,7 @@ discard block | ||
| 116 | 116 |              } else { | 
| 117 | 117 |                  throw new PHPTAL_ConfigurationException("Executed macro in file with DOCTYPE when using echoExecute(). This is not supported yet. Remove DOCTYPE or use PHPTAL->execute()."); | 
| 118 | 118 | } | 
| 119 | - } | |
| 120 | -        else if (!$this->_docType) { | |
| 119 | +        } else if (!$this->_docType) { | |
| 121 | 120 | $this->_docType = $doctype; | 
| 122 | 121 | } | 
| 123 | 122 | } | 
| @@ -317,7 +316,9 @@ discard block | ||
| 317 | 316 |      { | 
| 318 | 317 |          if ($current !== $path) { | 
| 319 | 318 | $pathinfo = " (in path '.../$path')"; | 
| 320 | - } else $pathinfo = ''; | |
| 319 | +        } else { | |
| 320 | + $pathinfo = ''; | |
| 321 | + } | |
| 321 | 322 | |
| 322 | 323 |          if (!empty($basename)) { | 
| 323 | 324 | $basename = "'" . $basename . "' "; | 
| @@ -353,7 +354,9 @@ discard block | ||
| 353 | 354 | public static function path($base, $path, $nothrow=false) | 
| 354 | 355 |      { | 
| 355 | 356 |          if ($base === null) { | 
| 356 | - if ($nothrow) return null; | |
| 357 | +            if ($nothrow) { | |
| 358 | + return null; | |
| 359 | + } | |
| 357 | 360 | PHPTAL_Context::pathError($base, $path, $path, $path); | 
| 358 | 361 | } | 
| 359 | 362 | |
| @@ -413,8 +416,7 @@ discard block | ||
| 413 | 416 |                      { | 
| 414 | 417 | $base = $base->__call($current, array()); | 
| 415 | 418 | continue; | 
| 416 | - } | |
| 417 | -                    catch(BadMethodCallException $e) {} | |
| 419 | +                    } catch(BadMethodCallException $e) {} | |
| 418 | 420 | } | 
| 419 | 421 | |
| 420 | 422 |                  if (is_callable($base)) { | 
| @@ -444,8 +446,9 @@ discard block | ||
| 444 | 446 | continue; | 
| 445 | 447 | } | 
| 446 | 448 | |
| 447 | - if ($nothrow) | |
| 448 | - return null; | |
| 449 | +                if ($nothrow) { | |
| 450 | + return null; | |
| 451 | + } | |
| 449 | 452 | |
| 450 | 453 | PHPTAL_Context::pathError($base, $path, $current, $prev); | 
| 451 | 454 | } | 
| @@ -467,8 +470,9 @@ discard block | ||
| 467 | 470 | |
| 468 | 471 | // if this point is reached, then the part cannot be resolved | 
| 469 | 472 | |
| 470 | - if ($nothrow) | |
| 471 | - return null; | |
| 473 | +            if ($nothrow) { | |
| 474 | + return null; | |
| 475 | + } | |
| 472 | 476 | |
| 473 | 477 | PHPTAL_Context::pathError($base, $path, $current, $prev); | 
| 474 | 478 | } | 
| @@ -82,7 +82,7 @@ | ||
| 82 | 82 | /** | 
| 83 | 83 | * Returns true if this attribute is ns declaration (xmlns="...") | 
| 84 | 84 | * | 
| 85 | - * @return bool | |
| 85 | + * @return integer | |
| 86 | 86 | */ | 
| 87 | 87 | function isNamespaceDeclaration() | 
| 88 | 88 |      { | 
| @@ -52,7 +52,6 @@ | ||
| 52 | 52 | * true if it's empty in XHTML (e.g. <img/>) | 
| 53 | 53 | * it will assume elements with no namespace may be XHTML too. | 
| 54 | 54 | * | 
| 55 | - * @param string $tagName local name of the tag | |
| 56 | 55 | * | 
| 57 | 56 | * @return bool | 
| 58 | 57 | */ | 
| @@ -119,7 +119,9 @@ | ||
| 119 | 119 | */ | 
| 120 | 120 | public function isValidAttributeNS($namespace_uri, $local_name) | 
| 121 | 121 |      { | 
| 122 | - if (!$this->isHandledNamespace($namespace_uri)) return false; | |
| 122 | +        if (!$this->isHandledNamespace($namespace_uri)) { | |
| 123 | + return false; | |
| 124 | + } | |
| 123 | 125 | |
| 124 | 126 | $attrs = $this->namespaces_by_uri[$namespace_uri]->getAttributes(); | 
| 125 | 127 | return isset($attrs[$local_name]); | 
| @@ -40,7 +40,7 @@ discard block | ||
| 40 | 40 | * @param string $qname qualified name of the element, e.g. "tal:block" | 
| 41 | 41 | * @param string $namespace_uri namespace of this element | 
| 42 | 42 | * @param array $attribute_nodes array of PHPTAL_Dom_Attr elements | 
| 43 | - * @param object $xmlns object that represents namespaces/prefixes known in element's context | |
| 43 | + * @param PHPTAL_Dom_XmlnsState $xmlns object that represents namespaces/prefixes known in element's context | |
| 44 | 44 | */ | 
| 45 | 45 | public function __construct($qname, $namespace_uri, array $attribute_nodes, PHPTAL_Dom_XmlnsState $xmlns) | 
| 46 | 46 |      { | 
| @@ -229,6 +229,10 @@ discard block | ||
| 229 | 229 | return null; | 
| 230 | 230 | } | 
| 231 | 231 | |
| 232 | + /** | |
| 233 | + * @param string $ns_uri | |
| 234 | + * @param string $localname | |
| 235 | + */ | |
| 232 | 236 | public function removeAttributeNS($ns_uri, $localname) | 
| 233 | 237 |      { | 
| 234 | 238 |          foreach ($this->attribute_nodes as $k => $attr) { | 
| @@ -239,6 +243,9 @@ discard block | ||
| 239 | 243 | } | 
| 240 | 244 | } | 
| 241 | 245 | |
| 246 | + /** | |
| 247 | + * @return PHPTAL_Php_CodeWriter | |
| 248 | + */ | |
| 242 | 249 | public function getAttributeNode($qname) | 
| 243 | 250 |      { | 
| 244 | 251 | foreach($this->attribute_nodes as $attr) if ($attr->getQualifiedName() === $qname) return $attr; | 
| @@ -94,7 +94,9 @@ discard block | ||
| 94 | 94 | $value = ''; | 
| 95 | 95 |          foreach ($this->childNodes as $node) { | 
| 96 | 96 | // leave it alone if there is CDATA, comment, or anything else. | 
| 97 | - if (!$node instanceof PHPTAL_Dom_Text) return; | |
| 97 | +            if (!$node instanceof PHPTAL_Dom_Text) { | |
| 98 | + return; | |
| 99 | + } | |
| 98 | 100 | |
| 99 | 101 | $value .= $node->getValue(); | 
| 100 | 102 | $valueEscaped .= $node->getValueEscaped(); | 
| @@ -118,7 +120,9 @@ discard block | ||
| 118 | 120 | |
| 119 | 121 | public function appendChild(PHPTAL_Dom_Node $child) | 
| 120 | 122 |      { | 
| 121 | - if ($child->parentNode) $child->parentNode->removeChild($child); | |
| 123 | +        if ($child->parentNode) { | |
| 124 | + $child->parentNode->removeChild($child); | |
| 125 | + } | |
| 122 | 126 | $child->parentNode = $this; | 
| 123 | 127 | $this->childNodes[] = $child; | 
| 124 | 128 | } | 
| @@ -141,7 +145,9 @@ discard block | ||
| 141 | 145 |              if ($node === $oldElement) { | 
| 142 | 146 | $oldElement->parentNode = NULL; | 
| 143 | 147 | |
| 144 | - if ($newElement->parentNode) $newElement->parentNode->removeChild($child); | |
| 148 | +                if ($newElement->parentNode) { | |
| 149 | + $newElement->parentNode->removeChild($child); | |
| 150 | + } | |
| 145 | 151 | $newElement->parentNode = $this; | 
| 146 | 152 | |
| 147 | 153 | $this->childNodes[$k] = $newElement; | 
| @@ -182,8 +188,7 @@ discard block | ||
| 182 | 188 | } | 
| 183 | 189 | |
| 184 | 190 | $this->generateSurroundFoot($codewriter); | 
| 185 | - } | |
| 186 | -        catch(PHPTAL_TemplateException $e) { | |
| 191 | +        } catch(PHPTAL_TemplateException $e) { | |
| 187 | 192 | $e->hintSrcPosition($this->getSourceFile(), $this->getSourceLine()); | 
| 188 | 193 | throw $e; | 
| 189 | 194 | } | 
| @@ -212,7 +217,9 @@ discard block | ||
| 212 | 217 | /** Returns true if the element contains specified PHPTAL attribute. */ | 
| 213 | 218 | public function hasAttribute($qname) | 
| 214 | 219 |      { | 
| 215 | - foreach($this->attribute_nodes as $attr) if ($attr->getQualifiedName() == $qname) return true; | |
| 220 | +        foreach($this->attribute_nodes as $attr) { | |
| 221 | + if ($attr->getQualifiedName() == $qname) return true; | |
| 222 | + } | |
| 216 | 223 | return false; | 
| 217 | 224 | } | 
| 218 | 225 | |
| @@ -224,7 +231,9 @@ discard block | ||
| 224 | 231 | public function getAttributeNodeNS($ns_uri, $localname) | 
| 225 | 232 |      { | 
| 226 | 233 |          foreach ($this->attribute_nodes as $attr) { | 
| 227 | - if ($attr->getNamespaceURI() === $ns_uri && $attr->getLocalName() === $localname) return $attr; | |
| 234 | +            if ($attr->getNamespaceURI() === $ns_uri && $attr->getLocalName() === $localname) { | |
| 235 | + return $attr; | |
| 236 | + } | |
| 228 | 237 | } | 
| 229 | 238 | return null; | 
| 230 | 239 | } | 
| @@ -241,7 +250,9 @@ discard block | ||
| 241 | 250 | |
| 242 | 251 | public function getAttributeNode($qname) | 
| 243 | 252 |      { | 
| 244 | - foreach($this->attribute_nodes as $attr) if ($attr->getQualifiedName() === $qname) return $attr; | |
| 253 | +        foreach($this->attribute_nodes as $attr) { | |
| 254 | + if ($attr->getQualifiedName() === $qname) return $attr; | |
| 255 | + } | |
| 245 | 256 | return null; | 
| 246 | 257 | } | 
| 247 | 258 | |
| @@ -252,7 +263,9 @@ discard block | ||
| 252 | 263 | */ | 
| 253 | 264 | public function getOrCreateAttributeNode($qname) | 
| 254 | 265 |      { | 
| 255 | - if ($attr = $this->getAttributeNode($qname)) return $attr; | |
| 266 | +        if ($attr = $this->getAttributeNode($qname)) { | |
| 267 | + return $attr; | |
| 268 | + } | |
| 256 | 269 | |
| 257 | 270 | $attr = new PHPTAL_Dom_Attr($qname, "", null, 'UTF-8'); // FIXME: should find namespace and encoding | 
| 258 | 271 | $this->attribute_nodes[] = $attr; | 
| @@ -294,19 +307,27 @@ discard block | ||
| 294 | 307 | */ | 
| 295 | 308 | public function hasRealContent() | 
| 296 | 309 |      { | 
| 297 | - if (count($this->contentAttributes) > 0) return true; | |
| 310 | +        if (count($this->contentAttributes) > 0) { | |
| 311 | + return true; | |
| 312 | + } | |
| 298 | 313 | |
| 299 | 314 |          foreach ($this->childNodes as $node) { | 
| 300 | - if (!$node instanceof PHPTAL_Dom_Text || $node->getValueEscaped() !== '') return true; | |
| 315 | +            if (!$node instanceof PHPTAL_Dom_Text || $node->getValueEscaped() !== '') { | |
| 316 | + return true; | |
| 317 | + } | |
| 301 | 318 | } | 
| 302 | 319 | return false; | 
| 303 | 320 | } | 
| 304 | 321 | |
| 305 | 322 | public function hasRealAttributes() | 
| 306 | 323 |      { | 
| 307 | -        if ($this->hasAttributeNS('http://xml.zope.org/namespaces/tal', 'attributes')) return true; | |
| 324 | +        if ($this->hasAttributeNS('http://xml.zope.org/namespaces/tal', 'attributes')) { | |
| 325 | + return true; | |
| 326 | + } | |
| 308 | 327 |          foreach ($this->attribute_nodes as $attr) { | 
| 309 | - if ($attr->getReplacedState() !== PHPTAL_Dom_Attr::HIDDEN) return true; | |
| 328 | +            if ($attr->getReplacedState() !== PHPTAL_Dom_Attr::HIDDEN) { | |
| 329 | + return true; | |
| 330 | + } | |
| 310 | 331 | } | 
| 311 | 332 | return false; | 
| 312 | 333 | } | 
| @@ -322,7 +343,9 @@ discard block | ||
| 322 | 343 | |
| 323 | 344 | public function generateHead(PHPTAL_Php_CodeWriter $codewriter) | 
| 324 | 345 |      { | 
| 325 | - if ($this->headFootDisabled) return; | |
| 346 | +        if ($this->headFootDisabled) { | |
| 347 | + return; | |
| 348 | + } | |
| 326 | 349 |          if ($this->headPrintCondition) { | 
| 327 | 350 | $codewriter->doIf($this->headPrintCondition); | 
| 328 | 351 | } | 
| @@ -355,9 +378,10 @@ discard block | ||
| 355 | 378 |                  foreach($this->childNodes as $child) { | 
| 356 | 379 | $child->generateCode($codewriter); | 
| 357 | 380 | } | 
| 358 | - } | |
| 359 | -            else foreach($this->contentAttributes as $att) { | |
| 381 | +            } else { | |
| 382 | +                foreach($this->contentAttributes as $att) { | |
| 360 | 383 | $att->before($codewriter); | 
| 384 | + } | |
| 361 | 385 | $att->after($codewriter); | 
| 362 | 386 | } | 
| 363 | 387 | } | 
| @@ -365,10 +389,12 @@ discard block | ||
| 365 | 389 | |
| 366 | 390 | public function generateFoot(PHPTAL_Php_CodeWriter $codewriter) | 
| 367 | 391 |      { | 
| 368 | - if ($this->headFootDisabled) | |
| 369 | - return; | |
| 370 | - if ($this->isEmptyNode($codewriter->getOutputMode())) | |
| 371 | - return; | |
| 392 | +        if ($this->headFootDisabled) { | |
| 393 | + return; | |
| 394 | + } | |
| 395 | +        if ($this->isEmptyNode($codewriter->getOutputMode())) { | |
| 396 | + return; | |
| 397 | + } | |
| 372 | 398 | |
| 373 | 399 |          if ($this->footPrintCondition) { | 
| 374 | 400 | $codewriter->doIf($this->footPrintCondition); | 
| @@ -481,15 +507,16 @@ discard block | ||
| 481 | 507 | $handler = $nsattr->createAttributeHandler($this, $domattr->getValue()); | 
| 482 | 508 | $this->talHandlers[$prio] = $handler; | 
| 483 | 509 | |
| 484 | - if ($nsattr instanceof PHPTAL_NamespaceAttributeSurround) | |
| 485 | - $this->surroundAttributes[] = $handler; | |
| 486 | - else if ($nsattr instanceof PHPTAL_NamespaceAttributeReplace) | |
| 487 | - $this->replaceAttributes[] = $handler; | |
| 488 | - else if ($nsattr instanceof PHPTAL_NamespaceAttributeContent) | |
| 489 | - $this->contentAttributes[] = $handler; | |
| 490 | - else | |
| 491 | -                throw new PHPTAL_ParserException("Unknown namespace attribute class ".get_class($nsattr), | |
| 510 | +            if ($nsattr instanceof PHPTAL_NamespaceAttributeSurround) { | |
| 511 | + $this->surroundAttributes[] = $handler; | |
| 512 | +            } else if ($nsattr instanceof PHPTAL_NamespaceAttributeReplace) { | |
| 513 | + $this->replaceAttributes[] = $handler; | |
| 514 | +            } else if ($nsattr instanceof PHPTAL_NamespaceAttributeContent) { | |
| 515 | + $this->contentAttributes[] = $handler; | |
| 516 | +            } else { | |
| 517 | +                            throw new PHPTAL_ParserException("Unknown namespace attribute class ".get_class($nsattr), | |
| 492 | 518 | $this->getSourceFile(), $this->getSourceLine()); | 
| 519 | + } | |
| 493 | 520 | |
| 494 | 521 | } | 
| 495 | 522 | } | 
| @@ -80,6 +80,10 @@ | ||
| 80 | 80 | ); | 
| 81 | 81 | |
| 82 | 82 | private $input_encoding; | 
| 83 | + | |
| 84 | + /** | |
| 85 | + * @param string $input_encoding | |
| 86 | + */ | |
| 83 | 87 | public function __construct($input_encoding) | 
| 84 | 88 |      { | 
| 85 | 89 | $this->input_encoding = $input_encoding; | 
| @@ -124,7 +124,9 @@ discard block | ||
| 124 | 124 |              for (; $i<$len; $i++) { | 
| 125 | 125 | $c = $src[$i]; // Change to substr($src, $i, 1); if you want to use mb_string.func_overload | 
| 126 | 126 | |
| 127 | - if ($c === "\n") $builder->setSource($this->_file, ++$this->_line); | |
| 127 | +                if ($c === "\n") { | |
| 128 | + $builder->setSource($this->_file, ++$this->_line); | |
| 129 | + } | |
| 128 | 130 | |
| 129 | 131 |                  switch ($state) { | 
| 130 | 132 | case self::ST_ROOT: | 
| @@ -174,7 +176,9 @@ discard block | ||
| 174 | 176 | case self::ST_TAG_NAME: | 
| 175 | 177 |                          if (self::isWhiteChar($c) || $c === '/' || $c === '>') { | 
| 176 | 178 | $tagname = substr($src, $mark, $i-$mark); | 
| 177 | -                            if (!$this->isValidQName($tagname)) $this->raiseError("Invalid tag name '$tagname'"); | |
| 179 | +                            if (!$this->isValidQName($tagname)) { | |
| 180 | +                                $this->raiseError("Invalid tag name '$tagname'"); | |
| 181 | + } | |
| 178 | 182 | |
| 179 | 183 |                              if ($c === '/') { | 
| 180 | 184 | $state = self::ST_TAG_SINGLE; | 
| @@ -220,7 +224,9 @@ discard block | ||
| 220 | 224 |                          } elseif ($state === self::ST_TAG_ATTRIBUTES && $this->isValidQName($c)) { | 
| 221 | 225 | $mark = $i; // mark attribute key start | 
| 222 | 226 | $state = self::ST_ATTR_KEY; | 
| 223 | -                        } else $this->raiseError("Unexpected character '$c' between attributes of < $tagname >"); | |
| 227 | +                        } else { | |
| 228 | +                            $this->raiseError("Unexpected character '$c' between attributes of < $tagname >"); | |
| 229 | + } | |
| 224 | 230 | break; | 
| 225 | 231 | |
| 226 | 232 | case self::ST_COMMENT: | 
| @@ -287,8 +293,11 @@ discard block | ||
| 287 | 293 |                                  $this->raiseError("Attribute $attribute in < $tagname > is defined more than once"); | 
| 288 | 294 | } | 
| 289 | 295 | |
| 290 | - if ($c === '=') $state = self::ST_ATTR_VALUE; | |
| 291 | - else /* white char */ $state = self::ST_ATTR_EQ; | |
| 296 | +                            if ($c === '=') { | |
| 297 | + $state = self::ST_ATTR_VALUE; | |
| 298 | +                            } else { | |
| 299 | + /* white char */ $state = self::ST_ATTR_EQ; | |
| 300 | + } | |
| 292 | 301 |                          } elseif ($c === '/' || $c==='>') { | 
| 293 | 302 | $attribute = substr($src, $mark, $i-$mark); | 
| 294 | 303 |                              if (!$this->isValidQName($attribute)) { | 
| @@ -330,11 +339,15 @@ discard block | ||
| 330 | 339 | } | 
| 331 | 340 | } | 
| 332 | 341 | |
| 333 | - if ($state === self::ST_TEXT) // allows text past root node, which is in violation of XML spec | |
| 342 | +            if ($state === self::ST_TEXT) { | |
| 343 | + // allows text past root node, which is in violation of XML spec | |
| 334 | 344 |              { | 
| 335 | 345 |                  if ($i > $mark) { | 
| 336 | 346 | $text = substr($src, $mark, $i-$mark); | 
| 337 | -                    if (!ctype_space($text)) $this->raiseError("Characters found after end of the root element (wrap document in < tal:block > to avoid this error)"); | |
| 347 | + } | |
| 348 | +                    if (!ctype_space($text)) { | |
| 349 | +                        $this->raiseError("Characters found after end of the root element (wrap document in < tal:block > to avoid this error)"); | |
| 350 | + } | |
| 338 | 351 | } | 
| 339 | 352 |              } else { | 
| 340 | 353 |                  if ($state === self::ST_ROOT) { | 
| @@ -346,8 +359,7 @@ discard block | ||
| 346 | 359 | } | 
| 347 | 360 | |
| 348 | 361 | $builder->onDocumentEnd(); | 
| 349 | - } | |
| 350 | - catch(PHPTAL_TemplateException $e) | |
| 362 | + } catch(PHPTAL_TemplateException $e) | |
| 351 | 363 |          { | 
| 352 | 364 | $e->hintSrcPosition($this->_file, $this->_line); | 
| 353 | 365 | throw $e; | 
| @@ -363,7 +375,9 @@ discard block | ||
| 363 | 375 | |
| 364 | 376 | private function checkEncoding($str) | 
| 365 | 377 |      { | 
| 366 | - if ($str === '') return ''; | |
| 378 | +        if ($str === '') { | |
| 379 | + return ''; | |
| 380 | + } | |
| 367 | 381 | |
| 368 | 382 |          if ($this->input_encoding === 'UTF-8') { | 
| 369 | 383 | |
| @@ -454,7 +468,9 @@ discard block | ||
| 454 | 468 | private static function convertPHPBlockToTALES($m) | 
| 455 | 469 |      { | 
| 456 | 470 | list(, $type, $code) = $m; | 
| 457 | - if ($type === '=') $code = 'echo '.$code; | |
| 471 | +        if ($type === '=') { | |
| 472 | + $code = 'echo '.$code; | |
| 473 | + } | |
| 458 | 474 |          return '${structure phptal-internal-php-block:'.rawurlencode($code).'}'; | 
| 459 | 475 | } | 
| 460 | 476 | |
| @@ -27,6 +27,7 @@ | ||
| 27 | 27 | * Doesn't change exception handler if non-default one is set. | 
| 28 | 28 | * | 
| 29 | 29 | * @param Exception e exception to re-throw and display | 
| 30 | + * @param string $encoding | |
| 30 | 31 | * | 
| 31 | 32 | * @return void | 
| 32 | 33 | * @throws Exception | 
| @@ -21,6 +21,9 @@ | ||
| 21 | 21 | */ | 
| 22 | 22 | interface PHPTAL_Keywords extends Countable | 
| 23 | 23 |  { | 
| 24 | + /** | |
| 25 | + * @return string | |
| 26 | + */ | |
| 24 | 27 | public function __toString(); | 
| 25 | 28 | } | 
| 26 | 29 | ?> | 
| @@ -71,8 +71,8 @@ | ||
| 71 | 71 | private $_namespace; | 
| 72 | 72 | |
| 73 | 73 | /** | 
| 74 | - * @param string $name The attribute name | |
| 75 | 74 | * @param int $priority Attribute execution priority | 
| 75 | + * @param string $local_name | |
| 76 | 76 | */ | 
| 77 | 77 | public function __construct($local_name, $priority) | 
| 78 | 78 |      { |