| 212 |
212 |
<li><div class="src-line"><a name="a198"></a><span class="src-doc"> * stores the data during template runtime</span></div></li> |
| 213 |
213 |
<li><div class="src-line"><a name="a199"></a><span class="src-doc"> *</span></div></li> |
| 214 |
214 |
<li><div class="src-line"><a name="a200"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
| 215 |
|
-<li><div class="src-line"><a name="a201"></a><span class="src-doc"> */</span></div></li> |
| 216 |
|
-<li><div class="src-line"><a name="a202"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$data">$data</a><span class="src-sym">;</span></div></li> |
| 217 |
|
-<li><div class="src-line"><a name="a203"></a> </div></li> |
| 218 |
|
-<li><div class="src-line"><a name="a204"></a> <span class="src-doc">/**</span></div></li> |
| 219 |
|
-<li><div class="src-line"><a name="a205"></a><span class="src-doc"> * stores the current scope during template runtime</span></div></li> |
| 220 |
|
-<li><div class="src-line"><a name="a206"></a><span class="src-doc"> *</span></div></li> |
| 221 |
|
-<li><div class="src-line"><a name="a207"></a><span class="src-doc"> * this should ideally not be accessed directly from outside template code</span></div></li> |
| 222 |
|
-<li><div class="src-line"><a name="a208"></a><span class="src-doc"> *</span></div></li> |
| 223 |
|
-<li><div class="src-line"><a name="a209"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">mixed </span></div></li> |
| 224 |
|
-<li><div class="src-line"><a name="a210"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
| 225 |
|
-<li><div class="src-line"><a name="a211"></a><span class="src-doc"> */</span></div></li> |
| 226 |
|
-<li><div class="src-line"><a name="a212"></a> <span class="src-key">public </span><a href="../Dwoo/Dwoo.html#var$scope">$scope</a><span class="src-sym">;</span></div></li> |
| 227 |
|
-<li><div class="src-line"><a name="a213"></a> </div></li> |
| 228 |
|
-<li><div class="src-line"><a name="a214"></a> <span class="src-doc">/**</span></div></li> |
| 229 |
|
-<li><div class="src-line"><a name="a215"></a><span class="src-doc"> * stores the scope tree during template runtime</span></div></li> |
| 230 |
|
-<li><div class="src-line"><a name="a216"></a><span class="src-doc"> *</span></div></li> |
| 231 |
|
-<li><div class="src-line"><a name="a217"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
| 232 |
|
-<li><div class="src-line"><a name="a218"></a><span class="src-doc"> */</span></div></li> |
| 233 |
|
-<li><div class="src-line"><a name="a219"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$scopeTree">$scopeTree</a><span class="src-sym">;</span></div></li> |
| 234 |
|
-<li><div class="src-line"><a name="a220"></a> </div></li> |
| 235 |
|
-<li><div class="src-line"><a name="a221"></a> <span class="src-doc">/**</span></div></li> |
| 236 |
|
-<li><div class="src-line"><a name="a222"></a><span class="src-doc"> * stores the block plugins stack during template runtime</span></div></li> |
| 237 |
|
-<li><div class="src-line"><a name="a223"></a><span class="src-doc"> *</span></div></li> |
| 238 |
|
-<li><div class="src-line"><a name="a224"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
| 239 |
|
-<li><div class="src-line"><a name="a225"></a><span class="src-doc"> */</span></div></li> |
| 240 |
|
-<li><div class="src-line"><a name="a226"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$stack">$stack</a><span class="src-sym">;</span></div></li> |
| 241 |
|
-<li><div class="src-line"><a name="a227"></a> </div></li> |
| 242 |
|
-<li><div class="src-line"><a name="a228"></a> <span class="src-doc">/**</span></div></li> |
| 243 |
|
-<li><div class="src-line"><a name="a229"></a><span class="src-doc"> * stores the current block plugin at the top of the stack during template runtime</span></div></li> |
| 244 |
|
-<li><div class="src-line"><a name="a230"></a><span class="src-doc"> *</span></div></li> |
| 245 |
|
-<li><div class="src-line"><a name="a231"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">Dwoo_Block_Plugin </span></div></li> |
| 246 |
|
-<li><div class="src-line"><a name="a232"></a><span class="src-doc"> */</span></div></li> |
| 247 |
|
-<li><div class="src-line"><a name="a233"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$curBlock">$curBlock</a><span class="src-sym">;</span></div></li> |
| 248 |
|
-<li><div class="src-line"><a name="a234"></a> </div></li> |
| 249 |
|
-<li><div class="src-line"><a name="a235"></a> <span class="src-doc">/**</span></div></li> |
| 250 |
|
-<li><div class="src-line"><a name="a236"></a><span class="src-doc"> * stores the output buffer during template runtime</span></div></li> |
| 251 |
|
-<li><div class="src-line"><a name="a237"></a><span class="src-doc"> *</span></div></li> |
| 252 |
|
-<li><div class="src-line"><a name="a238"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span></div></li> |
| 253 |
|
-<li><div class="src-line"><a name="a239"></a><span class="src-doc"> */</span></div></li> |
| 254 |
|
-<li><div class="src-line"><a name="a240"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$buffer">$buffer</a><span class="src-sym">;</span></div></li> |
| 255 |
|
-<li><div class="src-line"><a name="a241"></a> </div></li> |
| 256 |
|
-<li><div class="src-line"><a name="a242"></a> <span class="src-doc">/**</span></div></li> |
| 257 |
|
-<li><div class="src-line"><a name="a243"></a><span class="src-doc"> * stores plugin proxy</span></div></li> |
| 258 |
|
-<li><div class="src-line"><a name="a244"></a><span class="src-doc"> *</span></div></li> |
| 259 |
|
-<li><div class="src-line"><a name="a245"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">Dwoo_IPluginProxy </span></div></li> |
| 260 |
|
-<li><div class="src-line"><a name="a246"></a><span class="src-doc"> */</span></div></li> |
| 261 |
|
-<li><div class="src-line"><a name="a247"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$pluginProxy">$pluginProxy</a><span class="src-sym">;</span></div></li> |
| 262 |
|
-<li><div class="src-line"><a name="a248"></a> </div></li> |
| 263 |
|
-<li><div class="src-line"><a name="a249"></a> <span class="src-doc">/**</span></div></li> |
| 264 |
|
-<li><div class="src-line"><a name="a250"></a><span class="src-doc"> * constructor, sets the cache and compile dir to the default values if not provided</span></div></li> |
| 265 |
|
-<li><div class="src-line"><a name="a251"></a><span class="src-doc"> *</span></div></li> |
| 266 |
|
-<li><div class="src-line"><a name="a252"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$compileDir </span><span class="src-doc">path to the compiled directory, defaults to lib/compiled</span></div></li> |
| 267 |
|
-<li><div class="src-line"><a name="a253"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cacheDir </span><span class="src-doc">path to the cache directory, defaults to lib/cache</span></div></li> |
| 268 |
|
-<li><div class="src-line"><a name="a254"></a><span class="src-doc"> */</span></div></li> |
| 269 |
|
-<li><div class="src-line"><a name="a255"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$compileDir </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$cacheDir </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 270 |
|
-<li><div class="src-line"><a name="a256"></a> <span class="src-sym">{</span></div></li> |
| 271 |
|
-<li><div class="src-line"><a name="a257"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$compileDir </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 272 |
|
-<li><div class="src-line"><a name="a258"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCompileDir">setCompileDir</a><span class="src-sym">(</span><span class="src-var">$compileDir</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 273 |
|
-<li><div class="src-line"><a name="a259"></a> <span class="src-sym">}</span></div></li> |
| 274 |
|
-<li><div class="src-line"><a name="a260"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cacheDir </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 275 |
|
-<li><div class="src-line"><a name="a261"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCacheDir">setCacheDir</a><span class="src-sym">(</span><span class="src-var">$cacheDir</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 276 |
|
-<li><div class="src-line"><a name="a262"></a> <span class="src-sym">}</span></div></li> |
| 277 |
|
-<li><div class="src-line"><a name="a263"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodinitGlobals">initGlobals</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 278 |
|
-<li><div class="src-line"><a name="a264"></a> <span class="src-sym">}</span></div></li> |
| 279 |
|
-<li><div class="src-line"><a name="a265"></a> </div></li> |
| 280 |
|
-<li><div class="src-line"><a name="a266"></a> <span class="src-doc">/**</span></div></li> |
| 281 |
|
-<li><div class="src-line"><a name="a267"></a><span class="src-doc"> * resets some runtime variables to allow a cloned object to be used to render sub-templates</span></div></li> |
| 282 |
|
-<li><div class="src-line"><a name="a268"></a><span class="src-doc"> */</span></div></li> |
| 283 |
|
-<li><div class="src-line"><a name="a269"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#method__clone">__clone</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 284 |
|
-<li><div class="src-line"><a name="a270"></a> <span class="src-sym">{</span></div></li> |
| 285 |
|
-<li><div class="src-line"><a name="a271"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 286 |
|
-<li><div class="src-line"><a name="a272"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 287 |
|
-<li><div class="src-line"><a name="a273"></a> <span class="src-sym">}</span></div></li> |
| 288 |
|
-<li><div class="src-line"><a name="a274"></a> </div></li> |
| 289 |
|
-<li><div class="src-line"><a name="a275"></a> <span class="src-doc">/**</span></div></li> |
| 290 |
|
-<li><div class="src-line"><a name="a276"></a><span class="src-doc"> * outputs the template instead of returning it, this is basically a shortcut for get(*, *, *, true)</span></div></li> |
| 291 |
|
-<li><div class="src-line"><a name="a277"></a><span class="src-doc"> *</span></div></li> |
| 292 |
|
-<li><div class="src-line"><a name="a278"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> get</span></div></li> |
| 293 |
|
-<li><div class="src-line"><a name="a279"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$tpl </span><span class="src-doc">template, can either be a Dwoo_ITemplate object (i.e. Dwoo_Template_File), a valid path to a template, or</span></div></li> |
| 294 |
|
-<li><div class="src-line"><a name="a280"></a><span class="src-doc"> * a template as a string it is recommended to provide a Dwoo_ITemplate as it will probably make things faster,</span></div></li> |
| 295 |
|
-<li><div class="src-line"><a name="a281"></a><span class="src-doc"> * especially if you render a template multiple times</span></div></li> |
| 296 |
|
-<li><div class="src-line"><a name="a282"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$data </span><span class="src-doc">the data to use, can either be a Dwoo_IDataProvider object (i.e. Dwoo_Data) or an associative array. if you're</span></div></li> |
| 297 |
|
-<li><div class="src-line"><a name="a283"></a><span class="src-doc"> * rendering the template from cache, it can be left null</span></div></li> |
| 298 |
|
-<li><div class="src-line"><a name="a284"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ICompiler </span><span class="src-doc-var">$compiler </span><span class="src-doc">the compiler that must be used to compile the template, if left empty a default</span></div></li> |
| 299 |
|
-<li><div class="src-line"><a name="a285"></a><span class="src-doc"> * Dwoo_Compiler will be used.</span></div></li> |
| 300 |
|
-<li><div class="src-line"><a name="a286"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">nothing or the template output if $output is true</span></div></li> |
| 301 |
|
-<li><div class="src-line"><a name="a287"></a><span class="src-doc"> */</span></div></li> |
| 302 |
|
-<li><div class="src-line"><a name="a288"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodoutput">output</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$data </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">Dwoo_ICompiler </span><span class="src-var">$compiler </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 303 |
|
-<li><div class="src-line"><a name="a289"></a> <span class="src-sym">{</span></div></li> |
| 304 |
|
-<li><div class="src-line"><a name="a290"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$compiler</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 305 |
|
-<li><div class="src-line"><a name="a291"></a> <span class="src-sym">}</span></div></li> |
| 306 |
|
-<li><div class="src-line"><a name="a292"></a> </div></li> |
| 307 |
|
-<li><div class="src-line"><a name="a293"></a> <span class="src-doc">/**</span></div></li> |
| 308 |
|
-<li><div class="src-line"><a name="a294"></a><span class="src-doc"> * returns the given template rendered using the provided data and optional compiler</span></div></li> |
| 309 |
|
-<li><div class="src-line"><a name="a295"></a><span class="src-doc"> *</span></div></li> |
| 310 |
|
-<li><div class="src-line"><a name="a296"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$tpl </span><span class="src-doc">template, can either be a Dwoo_ITemplate object (i.e. Dwoo_Template_File), a valid path to a template, or</span></div></li> |
| 311 |
|
-<li><div class="src-line"><a name="a297"></a><span class="src-doc"> * a template as a string it is recommended to provide a Dwoo_ITemplate as it will probably make things faster,</span></div></li> |
| 312 |
|
-<li><div class="src-line"><a name="a298"></a><span class="src-doc"> * especially if you render a template multiple times</span></div></li> |
| 313 |
|
-<li><div class="src-line"><a name="a299"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$data </span><span class="src-doc">the data to use, can either be a Dwoo_IDataProvider object (i.e. Dwoo_Data) or an associative array. if you're</span></div></li> |
| 314 |
|
-<li><div class="src-line"><a name="a300"></a><span class="src-doc"> * rendering the template from cache, it can be left null</span></div></li> |
| 315 |
|
-<li><div class="src-line"><a name="a301"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ICompiler </span><span class="src-doc-var">$compiler </span><span class="src-doc">the compiler that must be used to compile the template, if left empty a default</span></div></li> |
| 316 |
|
-<li><div class="src-line"><a name="a302"></a><span class="src-doc"> * Dwoo_Compiler will be used.</span></div></li> |
| 317 |
|
-<li><div class="src-line"><a name="a303"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$output </span><span class="src-doc">flag that defines whether the function returns the output of the template (false, default) or echoes it directly (true)</span></div></li> |
| 318 |
|
-<li><div class="src-line"><a name="a304"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">nothing or the template output if $output is true</span></div></li> |
| 319 |
|
-<li><div class="src-line"><a name="a305"></a><span class="src-doc"> */</span></div></li> |
| 320 |
|
-<li><div class="src-line"><a name="a306"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">, </span><span class="src-var">$data </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$_compiler </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$_output </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 321 |
|
-<li><div class="src-line"><a name="a307"></a> <span class="src-sym">{</span></div></li> |
| 322 |
|
-<li><div class="src-line"><a name="a308"></a> <span class="src-comm">// a render call came from within a template, so we need a new dwoo instance in order to avoid breaking this one</span></div></li> |
| 323 |
|
-<li><div class="src-line"><a name="a309"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> instanceof <span class="src-id"><a href="../Dwoo/Dwoo_ITemplate.html">Dwoo_ITemplate</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 324 |
|
-<li><div class="src-line"><a name="a310"></a> <span class="src-var">$proxy </span>= <span class="src-key">clone </span><span class="src-var">$this</span><span class="src-sym">;</span></div></li> |
| 325 |
|
-<li><div class="src-line"><a name="a311"></a> <span class="src-key">return </span><span class="src-var">$proxy</span><span class="src-sym">-></span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$_compiler</span><span class="src-sym">, </span><span class="src-var">$_output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 326 |
|
-<li><div class="src-line"><a name="a312"></a> <span class="src-sym">}</span></div></li> |
| 327 |
|
-<li><div class="src-line"><a name="a313"></a> </div></li> |
| 328 |
|
-<li><div class="src-line"><a name="a314"></a> <span class="src-comm">// auto-create template if required</span></div></li> |
| 329 |
|
-<li><div class="src-line"><a name="a315"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_tpl </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_ITemplate.html">Dwoo_ITemplate</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 330 |
|
-<li><div class="src-line"><a name="a316"></a> <span class="src-comm">// valid, skip</span></div></li> |
| 331 |
|
-<li><div class="src-line"><a name="a317"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">) </span>&& <a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 332 |
|
-<li><div class="src-line"><a name="a318"></a> <span class="src-var">$_tpl </span>= <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Template_File.html">Dwoo_Template_File</a></span><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 333 |
|
-<li><div class="src-line"><a name="a319"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 334 |
|
-<li><div class="src-line"><a name="a320"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Dwoo->get/Dwoo->output\'s first argument must be a Dwoo_ITemplate (i.e. Dwoo_Template_File) or a valid path to a template file'</span><span class="src-sym">, </span><span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 335 |
|
-<li><div class="src-line"><a name="a321"></a> <span class="src-sym">}</span></div></li> |
| 336 |
|
-<li><div class="src-line"><a name="a322"></a> </div></li> |
| 337 |
|
-<li><div class="src-line"><a name="a323"></a> <span class="src-comm">// save the current template, enters render mode at the same time</span></div></li> |
| 338 |
|
-<li><div class="src-line"><a name="a324"></a> <span class="src-comm">// if another rendering is requested it will be proxied to a new Dwoo instance</span></div></li> |
| 339 |
|
-<li><div class="src-line"><a name="a325"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-var">$_tpl</span><span class="src-sym">;</span></div></li> |
| 340 |
|
-<li><div class="src-line"><a name="a326"></a> </div></li> |
| 341 |
|
-<li><div class="src-line"><a name="a327"></a> <span class="src-comm">// load data</span></div></li> |
| 342 |
|
-<li><div class="src-line"><a name="a328"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$data </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_IDataProvider.html">Dwoo_IDataProvider</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 343 |
|
-<li><div class="src-line"><a name="a329"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a> = <span class="src-var">$data</span><span class="src-sym">-></span><span class="src-id">getData</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 344 |
|
-<li><div class="src-line"><a name="a330"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 345 |
|
-<li><div class="src-line"><a name="a331"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a> = <span class="src-var">$data</span><span class="src-sym">;</span></div></li> |
| 346 |
|
-<li><div class="src-line"><a name="a332"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 347 |
|
-<li><div class="src-line"><a name="a333"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Dwoo->get/Dwoo->output\'s data argument must be a Dwoo_IDataProvider object (i.e. Dwoo_Data) or an associative array'</span><span class="src-sym">, </span><span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 348 |
|
-<li><div class="src-line"><a name="a334"></a> <span class="src-sym">}</span></div></li> |
| 349 |
|
-<li><div class="src-line"><a name="a335"></a> </div></li> |
| 350 |
|
-<li><div class="src-line"><a name="a336"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$globals">globals</a><span class="src-sym">[</span><span class="src-str">'template'</span><span class="src-sym">] </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 351 |
|
-<li><div class="src-line"><a name="a337"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodinitRuntimeVars">initRuntimeVars</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 352 |
|
-<li><div class="src-line"><a name="a338"></a> </div></li> |
| 353 |
|
-<li><div class="src-line"><a name="a339"></a> <span class="src-comm">// try to get cached template</span></div></li> |
| 354 |
|
-<li><div class="src-line"><a name="a340"></a> <span class="src-var">$file </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getCachedTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 355 |
|
-<li><div class="src-line"><a name="a341"></a> <span class="src-var">$doCache </span>= <span class="src-var">$file </span>=== <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 356 |
|
-<li><div class="src-line"><a name="a342"></a> <span class="src-var">$cacheLoaded </span>= <a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$file</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 357 |
|
-<li><div class="src-line"><a name="a343"></a> </div></li> |
| 358 |
|
-<li><div class="src-line"><a name="a344"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cacheLoaded </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 359 |
|
-<li><div class="src-line"><a name="a345"></a> <span class="src-comm">// cache is present, run it</span></div></li> |
| 360 |
|
-<li><div class="src-line"><a name="a346"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_output </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 361 |
|
-<li><div class="src-line"><a name="a347"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
| 362 |
|
-<li><div class="src-line"><a name="a348"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 363 |
|
-<li><div class="src-line"><a name="a349"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 364 |
|
-<li><div class="src-line"><a name="a350"></a> <a href="http://www.php.net/ob_start">ob_start</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 365 |
|
-<li><div class="src-line"><a name="a351"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
| 366 |
|
-<li><div class="src-line"><a name="a352"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 367 |
|
-<li><div class="src-line"><a name="a353"></a> <span class="src-key">return </span><a href="http://www.php.net/ob_get_clean">ob_get_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 368 |
|
-<li><div class="src-line"><a name="a354"></a> <span class="src-sym">}</span></div></li> |
| 369 |
|
-<li><div class="src-line"><a name="a355"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 370 |
|
-<li><div class="src-line"><a name="a356"></a> <span class="src-comm">// no cache present</span></div></li> |
| 371 |
|
-<li><div class="src-line"><a name="a357"></a> </div></li> |
|
215 |
+<li><div class="src-line"><a name="a201"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
|
216 |
+<li><div class="src-line"><a name="a202"></a><span class="src-doc"> */</span></div></li> |
|
217 |
+<li><div class="src-line"><a name="a203"></a> <span class="src-key">public </span><a href="../Dwoo/Dwoo.html#var$data">$data</a><span class="src-sym">;</span></div></li> |
|
218 |
+<li><div class="src-line"><a name="a204"></a> </div></li> |
|
219 |
+<li><div class="src-line"><a name="a205"></a> <span class="src-doc">/**</span></div></li> |
|
220 |
+<li><div class="src-line"><a name="a206"></a><span class="src-doc"> * stores the current scope during template runtime</span></div></li> |
|
221 |
+<li><div class="src-line"><a name="a207"></a><span class="src-doc"> *</span></div></li> |
|
222 |
+<li><div class="src-line"><a name="a208"></a><span class="src-doc"> * this should ideally not be accessed directly from outside template code</span></div></li> |
|
223 |
+<li><div class="src-line"><a name="a209"></a><span class="src-doc"> *</span></div></li> |
|
224 |
+<li><div class="src-line"><a name="a210"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">mixed </span></div></li> |
|
225 |
+<li><div class="src-line"><a name="a211"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
|
226 |
+<li><div class="src-line"><a name="a212"></a><span class="src-doc"> */</span></div></li> |
|
227 |
+<li><div class="src-line"><a name="a213"></a> <span class="src-key">public </span><a href="../Dwoo/Dwoo.html#var$scope">$scope</a><span class="src-sym">;</span></div></li> |
|
228 |
+<li><div class="src-line"><a name="a214"></a> </div></li> |
|
229 |
+<li><div class="src-line"><a name="a215"></a> <span class="src-doc">/**</span></div></li> |
|
230 |
+<li><div class="src-line"><a name="a216"></a><span class="src-doc"> * stores the scope tree during template runtime</span></div></li> |
|
231 |
+<li><div class="src-line"><a name="a217"></a><span class="src-doc"> *</span></div></li> |
|
232 |
+<li><div class="src-line"><a name="a218"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
|
233 |
+<li><div class="src-line"><a name="a219"></a><span class="src-doc"> */</span></div></li> |
|
234 |
+<li><div class="src-line"><a name="a220"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$scopeTree">$scopeTree</a><span class="src-sym">;</span></div></li> |
|
235 |
+<li><div class="src-line"><a name="a221"></a> </div></li> |
|
236 |
+<li><div class="src-line"><a name="a222"></a> <span class="src-doc">/**</span></div></li> |
|
237 |
+<li><div class="src-line"><a name="a223"></a><span class="src-doc"> * stores the block plugins stack during template runtime</span></div></li> |
|
238 |
+<li><div class="src-line"><a name="a224"></a><span class="src-doc"> *</span></div></li> |
|
239 |
+<li><div class="src-line"><a name="a225"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">array </span></div></li> |
|
240 |
+<li><div class="src-line"><a name="a226"></a><span class="src-doc"> */</span></div></li> |
|
241 |
+<li><div class="src-line"><a name="a227"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$stack">$stack</a><span class="src-sym">;</span></div></li> |
|
242 |
+<li><div class="src-line"><a name="a228"></a> </div></li> |
|
243 |
+<li><div class="src-line"><a name="a229"></a> <span class="src-doc">/**</span></div></li> |
|
244 |
+<li><div class="src-line"><a name="a230"></a><span class="src-doc"> * stores the current block plugin at the top of the stack during template runtime</span></div></li> |
|
245 |
+<li><div class="src-line"><a name="a231"></a><span class="src-doc"> *</span></div></li> |
|
246 |
+<li><div class="src-line"><a name="a232"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">Dwoo_Block_Plugin </span></div></li> |
|
247 |
+<li><div class="src-line"><a name="a233"></a><span class="src-doc"> */</span></div></li> |
|
248 |
+<li><div class="src-line"><a name="a234"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$curBlock">$curBlock</a><span class="src-sym">;</span></div></li> |
|
249 |
+<li><div class="src-line"><a name="a235"></a> </div></li> |
|
250 |
+<li><div class="src-line"><a name="a236"></a> <span class="src-doc">/**</span></div></li> |
|
251 |
+<li><div class="src-line"><a name="a237"></a><span class="src-doc"> * stores the output buffer during template runtime</span></div></li> |
|
252 |
+<li><div class="src-line"><a name="a238"></a><span class="src-doc"> *</span></div></li> |
|
253 |
+<li><div class="src-line"><a name="a239"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">string </span></div></li> |
|
254 |
+<li><div class="src-line"><a name="a240"></a><span class="src-doc"> */</span></div></li> |
|
255 |
+<li><div class="src-line"><a name="a241"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$buffer">$buffer</a><span class="src-sym">;</span></div></li> |
|
256 |
+<li><div class="src-line"><a name="a242"></a> </div></li> |
|
257 |
+<li><div class="src-line"><a name="a243"></a> <span class="src-doc">/**</span></div></li> |
|
258 |
+<li><div class="src-line"><a name="a244"></a><span class="src-doc"> * stores plugin proxy</span></div></li> |
|
259 |
+<li><div class="src-line"><a name="a245"></a><span class="src-doc"> *</span></div></li> |
|
260 |
+<li><div class="src-line"><a name="a246"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">Dwoo_IPluginProxy </span></div></li> |
|
261 |
+<li><div class="src-line"><a name="a247"></a><span class="src-doc"> */</span></div></li> |
|
262 |
+<li><div class="src-line"><a name="a248"></a> <span class="src-key">protected </span><a href="../Dwoo/Dwoo.html#var$pluginProxy">$pluginProxy</a><span class="src-sym">;</span></div></li> |
|
263 |
+<li><div class="src-line"><a name="a249"></a> </div></li> |
|
264 |
+<li><div class="src-line"><a name="a250"></a> <span class="src-doc">/**</span></div></li> |
|
265 |
+<li><div class="src-line"><a name="a251"></a><span class="src-doc"> * constructor, sets the cache and compile dir to the default values if not provided</span></div></li> |
|
266 |
+<li><div class="src-line"><a name="a252"></a><span class="src-doc"> *</span></div></li> |
|
267 |
+<li><div class="src-line"><a name="a253"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$compileDir </span><span class="src-doc">path to the compiled directory, defaults to lib/compiled</span></div></li> |
|
268 |
+<li><div class="src-line"><a name="a254"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cacheDir </span><span class="src-doc">path to the cache directory, defaults to lib/cache</span></div></li> |
|
269 |
+<li><div class="src-line"><a name="a255"></a><span class="src-doc"> */</span></div></li> |
|
270 |
+<li><div class="src-line"><a name="a256"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-var">$compileDir </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$cacheDir </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
271 |
+<li><div class="src-line"><a name="a257"></a> <span class="src-sym">{</span></div></li> |
|
272 |
+<li><div class="src-line"><a name="a258"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$compileDir </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
273 |
+<li><div class="src-line"><a name="a259"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCompileDir">setCompileDir</a><span class="src-sym">(</span><span class="src-var">$compileDir</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
274 |
+<li><div class="src-line"><a name="a260"></a> <span class="src-sym">}</span></div></li> |
|
275 |
+<li><div class="src-line"><a name="a261"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cacheDir </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
276 |
+<li><div class="src-line"><a name="a262"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCacheDir">setCacheDir</a><span class="src-sym">(</span><span class="src-var">$cacheDir</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
277 |
+<li><div class="src-line"><a name="a263"></a> <span class="src-sym">}</span></div></li> |
|
278 |
+<li><div class="src-line"><a name="a264"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodinitGlobals">initGlobals</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
279 |
+<li><div class="src-line"><a name="a265"></a> <span class="src-sym">}</span></div></li> |
|
280 |
+<li><div class="src-line"><a name="a266"></a> </div></li> |
|
281 |
+<li><div class="src-line"><a name="a267"></a> <span class="src-doc">/**</span></div></li> |
|
282 |
+<li><div class="src-line"><a name="a268"></a><span class="src-doc"> * resets some runtime variables to allow a cloned object to be used to render sub-templates</span></div></li> |
|
283 |
+<li><div class="src-line"><a name="a269"></a><span class="src-doc"> */</span></div></li> |
|
284 |
+<li><div class="src-line"><a name="a270"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#method__clone">__clone</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
285 |
+<li><div class="src-line"><a name="a271"></a> <span class="src-sym">{</span></div></li> |
|
286 |
+<li><div class="src-line"><a name="a272"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
287 |
+<li><div class="src-line"><a name="a273"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
288 |
+<li><div class="src-line"><a name="a274"></a> <span class="src-sym">}</span></div></li> |
|
289 |
+<li><div class="src-line"><a name="a275"></a> </div></li> |
|
290 |
+<li><div class="src-line"><a name="a276"></a> <span class="src-doc">/**</span></div></li> |
|
291 |
+<li><div class="src-line"><a name="a277"></a><span class="src-doc"> * outputs the template instead of returning it, this is basically a shortcut for get(*, *, *, true)</span></div></li> |
|
292 |
+<li><div class="src-line"><a name="a278"></a><span class="src-doc"> *</span></div></li> |
|
293 |
+<li><div class="src-line"><a name="a279"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> get</span></div></li> |
|
294 |
+<li><div class="src-line"><a name="a280"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$tpl </span><span class="src-doc">template, can either be a Dwoo_ITemplate object (i.e. Dwoo_Template_File), a valid path to a template, or</span></div></li> |
|
295 |
+<li><div class="src-line"><a name="a281"></a><span class="src-doc"> * a template as a string it is recommended to provide a Dwoo_ITemplate as it will probably make things faster,</span></div></li> |
|
296 |
+<li><div class="src-line"><a name="a282"></a><span class="src-doc"> * especially if you render a template multiple times</span></div></li> |
|
297 |
+<li><div class="src-line"><a name="a283"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$data </span><span class="src-doc">the data to use, can either be a Dwoo_IDataProvider object (i.e. Dwoo_Data) or an associative array. if you're</span></div></li> |
|
298 |
+<li><div class="src-line"><a name="a284"></a><span class="src-doc"> * rendering the template from cache, it can be left null</span></div></li> |
|
299 |
+<li><div class="src-line"><a name="a285"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ICompiler </span><span class="src-doc-var">$compiler </span><span class="src-doc">the compiler that must be used to compile the template, if left empty a default</span></div></li> |
|
300 |
+<li><div class="src-line"><a name="a286"></a><span class="src-doc"> * Dwoo_Compiler will be used.</span></div></li> |
|
301 |
+<li><div class="src-line"><a name="a287"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">nothing or the template output if $output is true</span></div></li> |
|
302 |
+<li><div class="src-line"><a name="a288"></a><span class="src-doc"> */</span></div></li> |
|
303 |
+<li><div class="src-line"><a name="a289"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodoutput">output</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$data </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">Dwoo_ICompiler </span><span class="src-var">$compiler </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
304 |
+<li><div class="src-line"><a name="a290"></a> <span class="src-sym">{</span></div></li> |
|
305 |
+<li><div class="src-line"><a name="a291"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$compiler</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
306 |
+<li><div class="src-line"><a name="a292"></a> <span class="src-sym">}</span></div></li> |
|
307 |
+<li><div class="src-line"><a name="a293"></a> </div></li> |
|
308 |
+<li><div class="src-line"><a name="a294"></a> <span class="src-doc">/**</span></div></li> |
|
309 |
+<li><div class="src-line"><a name="a295"></a><span class="src-doc"> * returns the given template rendered using the provided data and optional compiler</span></div></li> |
|
310 |
+<li><div class="src-line"><a name="a296"></a><span class="src-doc"> *</span></div></li> |
|
311 |
+<li><div class="src-line"><a name="a297"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$tpl </span><span class="src-doc">template, can either be a Dwoo_ITemplate object (i.e. Dwoo_Template_File), a valid path to a template, or</span></div></li> |
|
312 |
+<li><div class="src-line"><a name="a298"></a><span class="src-doc"> * a template as a string it is recommended to provide a Dwoo_ITemplate as it will probably make things faster,</span></div></li> |
|
313 |
+<li><div class="src-line"><a name="a299"></a><span class="src-doc"> * especially if you render a template multiple times</span></div></li> |
|
314 |
+<li><div class="src-line"><a name="a300"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$data </span><span class="src-doc">the data to use, can either be a Dwoo_IDataProvider object (i.e. Dwoo_Data) or an associative array. if you're</span></div></li> |
|
315 |
+<li><div class="src-line"><a name="a301"></a><span class="src-doc"> * rendering the template from cache, it can be left null</span></div></li> |
|
316 |
+<li><div class="src-line"><a name="a302"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ICompiler </span><span class="src-doc-var">$compiler </span><span class="src-doc">the compiler that must be used to compile the template, if left empty a default</span></div></li> |
|
317 |
+<li><div class="src-line"><a name="a303"></a><span class="src-doc"> * Dwoo_Compiler will be used.</span></div></li> |
|
318 |
+<li><div class="src-line"><a name="a304"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$output </span><span class="src-doc">flag that defines whether the function returns the output of the template (false, default) or echoes it directly (true)</span></div></li> |
|
319 |
+<li><div class="src-line"><a name="a305"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">nothing or the template output if $output is true</span></div></li> |
|
320 |
+<li><div class="src-line"><a name="a306"></a><span class="src-doc"> */</span></div></li> |
|
321 |
+<li><div class="src-line"><a name="a307"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodget">get</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">, </span><span class="src-var">$data </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$_compiler </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$_output </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
322 |
+<li><div class="src-line"><a name="a308"></a> <span class="src-sym">{</span></div></li> |
|
323 |
+<li><div class="src-line"><a name="a309"></a> <span class="src-comm">// a render call came from within a template, so we need a new dwoo instance in order to avoid breaking this one</span></div></li> |
|
324 |
+<li><div class="src-line"><a name="a310"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> instanceof <span class="src-id"><a href="../Dwoo/Dwoo_ITemplate.html">Dwoo_ITemplate</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
325 |
+<li><div class="src-line"><a name="a311"></a> <span class="src-var">$proxy </span>= <span class="src-key">clone </span><span class="src-var">$this</span><span class="src-sym">;</span></div></li> |
|
326 |
+<li><div class="src-line"><a name="a312"></a> <span class="src-key">return </span><span class="src-var">$proxy</span><span class="src-sym">-></span><span class="src-id">get</span><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$_compiler</span><span class="src-sym">, </span><span class="src-var">$_output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
327 |
+<li><div class="src-line"><a name="a313"></a> <span class="src-sym">}</span></div></li> |
|
328 |
+<li><div class="src-line"><a name="a314"></a> </div></li> |
|
329 |
+<li><div class="src-line"><a name="a315"></a> <span class="src-comm">// auto-create template if required</span></div></li> |
|
330 |
+<li><div class="src-line"><a name="a316"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_tpl </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_ITemplate.html">Dwoo_ITemplate</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
331 |
+<li><div class="src-line"><a name="a317"></a> <span class="src-comm">// valid, skip</span></div></li> |
|
332 |
+<li><div class="src-line"><a name="a318"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">) </span>&& <a href="http://www.php.net/file_exists">file_exists</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
333 |
+<li><div class="src-line"><a name="a319"></a> <span class="src-var">$_tpl </span>= <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Template_File.html">Dwoo_Template_File</a></span><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
334 |
+<li><div class="src-line"><a name="a320"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
335 |
+<li><div class="src-line"><a name="a321"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Dwoo->get/Dwoo->output\'s first argument must be a Dwoo_ITemplate (i.e. Dwoo_Template_File) or a valid path to a template file'</span><span class="src-sym">, </span><span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
336 |
+<li><div class="src-line"><a name="a322"></a> <span class="src-sym">}</span></div></li> |
|
337 |
+<li><div class="src-line"><a name="a323"></a> </div></li> |
|
338 |
+<li><div class="src-line"><a name="a324"></a> <span class="src-comm">// save the current template, enters render mode at the same time</span></div></li> |
|
339 |
+<li><div class="src-line"><a name="a325"></a> <span class="src-comm">// if another rendering is requested it will be proxied to a new Dwoo instance</span></div></li> |
|
340 |
+<li><div class="src-line"><a name="a326"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-var">$_tpl</span><span class="src-sym">;</span></div></li> |
|
341 |
+<li><div class="src-line"><a name="a327"></a> </div></li> |
|
342 |
+<li><div class="src-line"><a name="a328"></a> <span class="src-comm">// load data</span></div></li> |
|
343 |
+<li><div class="src-line"><a name="a329"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$data </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_IDataProvider.html">Dwoo_IDataProvider</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
344 |
+<li><div class="src-line"><a name="a330"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a> = <span class="src-var">$data</span><span class="src-sym">-></span><span class="src-id">getData</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
345 |
+<li><div class="src-line"><a name="a331"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
346 |
+<li><div class="src-line"><a name="a332"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a> = <span class="src-var">$data</span><span class="src-sym">;</span></div></li> |
|
347 |
+<li><div class="src-line"><a name="a333"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
348 |
+<li><div class="src-line"><a name="a334"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Dwoo->get/Dwoo->output\'s data argument must be a Dwoo_IDataProvider object (i.e. Dwoo_Data) or an associative array'</span><span class="src-sym">, </span><span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
349 |
+<li><div class="src-line"><a name="a335"></a> <span class="src-sym">}</span></div></li> |
|
350 |
+<li><div class="src-line"><a name="a336"></a> </div></li> |
|
351 |
+<li><div class="src-line"><a name="a337"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$globals">globals</a><span class="src-sym">[</span><span class="src-str">'template'</span><span class="src-sym">] </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
352 |
+<li><div class="src-line"><a name="a338"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodinitRuntimeVars">initRuntimeVars</a><span class="src-sym">(</span><span class="src-var">$_tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
353 |
+<li><div class="src-line"><a name="a339"></a> </div></li> |
|
354 |
+<li><div class="src-line"><a name="a340"></a> <span class="src-comm">// try to get cached template</span></div></li> |
|
355 |
+<li><div class="src-line"><a name="a341"></a> <span class="src-var">$file </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getCachedTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
356 |
+<li><div class="src-line"><a name="a342"></a> <span class="src-var">$doCache </span>= <span class="src-var">$file </span>=== <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
357 |
+<li><div class="src-line"><a name="a343"></a> <span class="src-var">$cacheLoaded </span>= <a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$file</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
358 |
+<li><div class="src-line"><a name="a344"></a> </div></li> |
|
359 |
+<li><div class="src-line"><a name="a345"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cacheLoaded </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
360 |
+<li><div class="src-line"><a name="a346"></a> <span class="src-comm">// cache is present, run it</span></div></li> |
|
361 |
+<li><div class="src-line"><a name="a347"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_output </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
362 |
+<li><div class="src-line"><a name="a348"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
|
363 |
+<li><div class="src-line"><a name="a349"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
364 |
+<li><div class="src-line"><a name="a350"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
365 |
+<li><div class="src-line"><a name="a351"></a> <a href="http://www.php.net/ob_start">ob_start</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
366 |
+<li><div class="src-line"><a name="a352"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
|
367 |
+<li><div class="src-line"><a name="a353"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
368 |
+<li><div class="src-line"><a name="a354"></a> <span class="src-key">return </span><a href="http://www.php.net/ob_get_clean">ob_get_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
369 |
+<li><div class="src-line"><a name="a355"></a> <span class="src-sym">}</span></div></li> |
|
370 |
+<li><div class="src-line"><a name="a356"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
371 |
+<li><div class="src-line"><a name="a357"></a> <span class="src-comm">// no cache present</span></div></li> |
| 372 |
372 |
<li><div class="src-line"><a name="a358"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$doCache </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 373 |
373 |
<li><div class="src-line"><a name="a359"></a> <span class="src-var">$dynamicId </span>= <a href="http://www.php.net/uniqid">uniqid</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 374 |
374 |
<li><div class="src-line"><a name="a360"></a> <span class="src-sym">}</span></div></li> |
| 375 |
375 |
<li><div class="src-line"><a name="a361"></a> </div></li> |
| 376 |
376 |
<li><div class="src-line"><a name="a362"></a> <span class="src-comm">// render template</span></div></li> |
| 377 |
|
-<li><div class="src-line"><a name="a363"></a> <span class="src-var">$out </span>= <span class="src-inc">include </span><span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getCompiledTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$_compiler</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 378 |
|
-<li><div class="src-line"><a name="a364"></a> </div></li> |
| 379 |
|
-<li><div class="src-line"><a name="a365"></a> <span class="src-comm">// template returned false so it needs to be recompiled</span></div></li> |
| 380 |
|
-<li><div class="src-line"><a name="a366"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$out </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 381 |
|
-<li><div class="src-line"><a name="a367"></a> <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">forceCompilation</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 382 |
|
-<li><div class="src-line"><a name="a368"></a> <span class="src-var">$out </span>= <span class="src-inc">include </span><span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getCompiledTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$_compiler</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 383 |
|
-<li><div class="src-line"><a name="a369"></a> <span class="src-sym">}</span></div></li> |
| 384 |
|
-<li><div class="src-line"><a name="a370"></a> </div></li> |
| 385 |
|
-<li><div class="src-line"><a name="a371"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$doCache </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 386 |
|
-<li><div class="src-line"><a name="a372"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/(<%|%>|<\?php|<\?|\?>)/'</span><span class="src-sym">, </span><span class="src-str">'<?php /*'</span>.<span class="src-var">$dynamicId</span>.<span class="src-str">'*/ echo \'$1\'; ?>'</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 387 |
|
-<li><div class="src-line"><a name="a373"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_plugin_dynamic'</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 388 |
|
-<li><div class="src-line"><a name="a374"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-str">'dynamic'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 389 |
|
-<li><div class="src-line"><a name="a375"></a> <span class="src-sym">}</span></div></li> |
| 390 |
|
-<li><div class="src-line"><a name="a376"></a> <span class="src-var">$out </span>= <span class="src-id"><a href="../Dwoo/Dwoo_Plugin_dynamic.html">Dwoo_Plugin_dynamic</a></span><span class="src-sym">::</span><a href="../Dwoo/Dwoo_Plugin_dynamic.html#methodunescape">unescape</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-var">$dynamicId</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 391 |
|
-<li><div class="src-line"><a name="a377"></a> <span class="src-sym">}</span></div></li> |
| 392 |
|
-<li><div class="src-line"><a name="a378"></a> </div></li> |
| 393 |
|
-<li><div class="src-line"><a name="a379"></a> <span class="src-comm">// process filters</span></div></li> |
| 394 |
|
-<li><div class="src-line"><a name="a380"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a> <span class="src-key">as </span><span class="src-var">$filter</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 395 |
|
-<li><div class="src-line"><a name="a381"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">) </span>&& <span class="src-var">$filter</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_Filter.html">Dwoo_Filter</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 396 |
|
-<li><div class="src-line"><a name="a382"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 397 |
|
-<li><div class="src-line"><a name="a383"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 398 |
|
-<li><div class="src-line"><a name="a384"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 399 |
|
-<li><div class="src-line"><a name="a385"></a> <span class="src-sym">}</span></div></li> |
| 400 |
|
-<li><div class="src-line"><a name="a386"></a> <span class="src-sym">}</span></div></li> |
| 401 |
|
-<li><div class="src-line"><a name="a387"></a> </div></li> |
| 402 |
|
-<li><div class="src-line"><a name="a388"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$doCache </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 403 |
|
-<li><div class="src-line"><a name="a389"></a> <span class="src-comm">// building cache</span></div></li> |
| 404 |
|
-<li><div class="src-line"><a name="a390"></a> <span class="src-var">$file </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">cache</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 405 |
|
-<li><div class="src-line"><a name="a391"></a> </div></li> |
| 406 |
|
-<li><div class="src-line"><a name="a392"></a> <span class="src-comm">// run it from the cache to be sure dynamics are rendered</span></div></li> |
| 407 |
|
-<li><div class="src-line"><a name="a393"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_output </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 408 |
|
-<li><div class="src-line"><a name="a394"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
| 409 |
|
-<li><div class="src-line"><a name="a395"></a> <span class="src-comm">// exit render mode</span></div></li> |
| 410 |
|
-<li><div class="src-line"><a name="a396"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 411 |
|
-<li><div class="src-line"><a name="a397"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 412 |
|
-<li><div class="src-line"><a name="a398"></a> <a href="http://www.php.net/ob_start">ob_start</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 413 |
|
-<li><div class="src-line"><a name="a399"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
| 414 |
|
-<li><div class="src-line"><a name="a400"></a> <span class="src-comm">// exit render mode</span></div></li> |
| 415 |
|
-<li><div class="src-line"><a name="a401"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 416 |
|
-<li><div class="src-line"><a name="a402"></a> <span class="src-key">return </span><a href="http://www.php.net/ob_get_clean">ob_get_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 417 |
|
-<li><div class="src-line"><a name="a403"></a> <span class="src-sym">}</span></div></li> |
| 418 |
|
-<li><div class="src-line"><a name="a404"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 419 |
|
-<li><div class="src-line"><a name="a405"></a> <span class="src-comm">// no need to build cache</span></div></li> |
| 420 |
|
-<li><div class="src-line"><a name="a406"></a> <span class="src-comm">// exit render mode</span></div></li> |
| 421 |
|
-<li><div class="src-line"><a name="a407"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 422 |
|
-<li><div class="src-line"><a name="a408"></a> <span class="src-comm">// output</span></div></li> |
| 423 |
|
-<li><div class="src-line"><a name="a409"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_output </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 424 |
|
-<li><div class="src-line"><a name="a410"></a> echo <span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
| 425 |
|
-<li><div class="src-line"><a name="a411"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 426 |
|
-<li><div class="src-line"><a name="a412"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
|
377 |
+<li><div class="src-line"><a name="a363"></a> <span class="src-var">$compiledTemplate </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getCompiledTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$_compiler</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
378 |
+<li><div class="src-line"><a name="a364"></a> <span class="src-var">$out </span>= <span class="src-inc">include </span><span class="src-var">$compiledTemplate</span><span class="src-sym">;</span></div></li> |
|
379 |
+<li><div class="src-line"><a name="a365"></a> </div></li> |
|
380 |
+<li><div class="src-line"><a name="a366"></a> <span class="src-comm">// template returned false so it needs to be recompiled</span></div></li> |
|
381 |
+<li><div class="src-line"><a name="a367"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$out </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
382 |
+<li><div class="src-line"><a name="a368"></a> <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">forceCompilation</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
383 |
+<li><div class="src-line"><a name="a369"></a> <span class="src-var">$compiledTemplate </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">getCompiledTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$_compiler</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
384 |
+<li><div class="src-line"><a name="a370"></a> <span class="src-var">$out </span>= <span class="src-inc">include </span><span class="src-var">$compiledTemplate</span><span class="src-sym">;</span></div></li> |
|
385 |
+<li><div class="src-line"><a name="a371"></a> <span class="src-sym">}</span></div></li> |
|
386 |
+<li><div class="src-line"><a name="a372"></a> </div></li> |
|
387 |
+<li><div class="src-line"><a name="a373"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$doCache </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
388 |
+<li><div class="src-line"><a name="a374"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/(<%|%>|<\?php|<\?|\?>)/'</span><span class="src-sym">, </span><span class="src-str">'<?php /*'</span>.<span class="src-var">$dynamicId</span>.<span class="src-str">'*/ echo \'$1\'; ?>'</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
389 |
+<li><div class="src-line"><a name="a375"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_plugin_dynamic'</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
390 |
+<li><div class="src-line"><a name="a376"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-str">'dynamic'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
391 |
+<li><div class="src-line"><a name="a377"></a> <span class="src-sym">}</span></div></li> |
|
392 |
+<li><div class="src-line"><a name="a378"></a> <span class="src-var">$out </span>= <span class="src-id"><a href="../Dwoo/Dwoo_Plugin_dynamic.html">Dwoo_Plugin_dynamic</a></span><span class="src-sym">::</span><a href="../Dwoo/Dwoo_Plugin_dynamic.html#methodunescape">unescape</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-var">$dynamicId</span><span class="src-sym">, </span><span class="src-var">$compiledTemplate</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
393 |
+<li><div class="src-line"><a name="a379"></a> <span class="src-sym">}</span></div></li> |
|
394 |
+<li><div class="src-line"><a name="a380"></a> </div></li> |
|
395 |
+<li><div class="src-line"><a name="a381"></a> <span class="src-comm">// process filters</span></div></li> |
|
396 |
+<li><div class="src-line"><a name="a382"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a> <span class="src-key">as </span><span class="src-var">$filter</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
397 |
+<li><div class="src-line"><a name="a383"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">) </span>&& <span class="src-var">$filter</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_Filter.html">Dwoo_Filter</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
398 |
+<li><div class="src-line"><a name="a384"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
399 |
+<li><div class="src-line"><a name="a385"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
400 |
+<li><div class="src-line"><a name="a386"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
401 |
+<li><div class="src-line"><a name="a387"></a> <span class="src-sym">}</span></div></li> |
|
402 |
+<li><div class="src-line"><a name="a388"></a> <span class="src-sym">}</span></div></li> |
|
403 |
+<li><div class="src-line"><a name="a389"></a> </div></li> |
|
404 |
+<li><div class="src-line"><a name="a390"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$doCache </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
405 |
+<li><div class="src-line"><a name="a391"></a> <span class="src-comm">// building cache</span></div></li> |
|
406 |
+<li><div class="src-line"><a name="a392"></a> <span class="src-var">$file </span>= <span class="src-var">$_tpl</span><span class="src-sym">-></span><span class="src-id">cache</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
407 |
+<li><div class="src-line"><a name="a393"></a> </div></li> |
|
408 |
+<li><div class="src-line"><a name="a394"></a> <span class="src-comm">// run it from the cache to be sure dynamics are rendered</span></div></li> |
|
409 |
+<li><div class="src-line"><a name="a395"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_output </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
410 |
+<li><div class="src-line"><a name="a396"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
|
411 |
+<li><div class="src-line"><a name="a397"></a> <span class="src-comm">// exit render mode</span></div></li> |
|
412 |
+<li><div class="src-line"><a name="a398"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
413 |
+<li><div class="src-line"><a name="a399"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
414 |
+<li><div class="src-line"><a name="a400"></a> <a href="http://www.php.net/ob_start">ob_start</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
415 |
+<li><div class="src-line"><a name="a401"></a> <span class="src-inc">include </span><span class="src-var">$file</span><span class="src-sym">;</span></div></li> |
|
416 |
+<li><div class="src-line"><a name="a402"></a> <span class="src-comm">// exit render mode</span></div></li> |
|
417 |
+<li><div class="src-line"><a name="a403"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
418 |
+<li><div class="src-line"><a name="a404"></a> <span class="src-key">return </span><a href="http://www.php.net/ob_get_clean">ob_get_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
419 |
+<li><div class="src-line"><a name="a405"></a> <span class="src-sym">}</span></div></li> |
|
420 |
+<li><div class="src-line"><a name="a406"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
421 |
+<li><div class="src-line"><a name="a407"></a> <span class="src-comm">// no need to build cache</span></div></li> |
|
422 |
+<li><div class="src-line"><a name="a408"></a> <span class="src-comm">// exit render mode</span></div></li> |
|
423 |
+<li><div class="src-line"><a name="a409"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
424 |
+<li><div class="src-line"><a name="a410"></a> <span class="src-comm">// output</span></div></li> |
|
425 |
+<li><div class="src-line"><a name="a411"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$_output </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
426 |
+<li><div class="src-line"><a name="a412"></a> echo <span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
| 427 |
427 |
<li><div class="src-line"><a name="a413"></a> <span class="src-sym">}</span></div></li> |
| 428 |
|
-<li><div class="src-line"><a name="a414"></a> <span class="src-sym">}</span></div></li> |
| 429 |
|
-<li><div class="src-line"><a name="a415"></a> <span class="src-sym">}</span></div></li> |
| 430 |
|
-<li><div class="src-line"><a name="a416"></a> <span class="src-sym">}</span></div></li> |
| 431 |
|
-<li><div class="src-line"><a name="a417"></a> </div></li> |
| 432 |
|
-<li><div class="src-line"><a name="a418"></a> <span class="src-doc">/**</span></div></li> |
| 433 |
|
-<li><div class="src-line"><a name="a419"></a><span class="src-doc"> * re-initializes the globals array before each template run</span></div></li> |
| 434 |
|
-<li><div class="src-line"><a name="a420"></a><span class="src-doc"> *</span></div></li> |
| 435 |
|
-<li><div class="src-line"><a name="a421"></a><span class="src-doc"> * this method is only callede once when the Dwoo object is created</span></div></li> |
| 436 |
|
-<li><div class="src-line"><a name="a422"></a><span class="src-doc"> */</span></div></li> |
| 437 |
|
-<li><div class="src-line"><a name="a423"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodinitGlobals">initGlobals</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 438 |
|
-<li><div class="src-line"><a name="a424"></a> <span class="src-sym">{</span></div></li> |
| 439 |
|
-<li><div class="src-line"><a name="a425"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$globals">globals</a> = <span class="src-key">array</span></div></li> |
| 440 |
|
-<li><div class="src-line"><a name="a426"></a> <span class="src-sym">(</span></div></li> |
| 441 |
|
-<li><div class="src-line"><a name="a427"></a> <span class="src-str">'version' </span>=> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">VERSION</span><span class="src-sym">,</span></div></li> |
| 442 |
|
-<li><div class="src-line"><a name="a428"></a> <span class="src-str">'ad' </span>=> <span class="src-str">'<a href="http://dwoo.org/">Powered by Dwoo</a>'</span><span class="src-sym">,</span></div></li> |
| 443 |
|
-<li><div class="src-line"><a name="a429"></a> <span class="src-str">'now' </span>=> <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_TIME'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
| 444 |
|
-<li><div class="src-line"><a name="a430"></a> <span class="src-str">'charset' </span>=> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$charset">charset</a><span class="src-sym">,</span></div></li> |
| 445 |
|
-<li><div class="src-line"><a name="a431"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 446 |
|
-<li><div class="src-line"><a name="a432"></a> <span class="src-sym">}</span></div></li> |
| 447 |
|
-<li><div class="src-line"><a name="a433"></a> </div></li> |
| 448 |
|
-<li><div class="src-line"><a name="a434"></a> <span class="src-doc">/**</span></div></li> |
| 449 |
|
-<li><div class="src-line"><a name="a435"></a><span class="src-doc"> * re-initializes the runtime variables before each template run</span></div></li> |
| 450 |
|
-<li><div class="src-line"><a name="a436"></a><span class="src-doc"> * </span></div></li> |
| 451 |
|
-<li><div class="src-line"><a name="a437"></a><span class="src-doc"> * override this method to inject data in the globals array if needed, this</span></div></li> |
| 452 |
|
-<li><div class="src-line"><a name="a438"></a><span class="src-doc"> * method is called before each template execution</span></div></li> |
| 453 |
|
-<li><div class="src-line"><a name="a439"></a><span class="src-doc"> *</span></div></li> |
| 454 |
|
-<li><div class="src-line"><a name="a440"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ITemplate </span><span class="src-doc-var">$tpl </span><span class="src-doc">the template that is going to be rendered</span></div></li> |
| 455 |
|
-<li><div class="src-line"><a name="a441"></a><span class="src-doc"> */</span></div></li> |
| 456 |
|
-<li><div class="src-line"><a name="a442"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodinitRuntimeVars">initRuntimeVars</a><span class="src-sym">(</span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$tpl</span><span class="src-sym">)</span></div></li> |
| 457 |
|
-<li><div class="src-line"><a name="a443"></a> <span class="src-sym">{</span></div></li> |
| 458 |
|
-<li><div class="src-line"><a name="a444"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 459 |
|
-<li><div class="src-line"><a name="a445"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a><span class="src-sym">;</span></div></li> |
| 460 |
|
-<li><div class="src-line"><a name="a446"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 461 |
|
-<li><div class="src-line"><a name="a447"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 462 |
|
-<li><div class="src-line"><a name="a448"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 463 |
|
-<li><div class="src-line"><a name="a449"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$buffer">buffer</a> = <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 464 |
|
-<li><div class="src-line"><a name="a450"></a> <span class="src-sym">}</span></div></li> |
| 465 |
|
-<li><div class="src-line"><a name="a451"></a> </div></li> |
| 466 |
|
-<li><div class="src-line"><a name="a452"></a> <span class="src-comm">/*</span></div></li> |
| 467 |
|
-<li><div class="src-line"><a name="a453"></a><span class="src-comm"> * --------- settings functions ---------</span></div></li> |
| 468 |
|
-<li><div class="src-line"><a name="a454"></a><span class="src-comm"> */</span></div></li> |
| 469 |
|
-<li><div class="src-line"><a name="a455"></a> </div></li> |
| 470 |
|
-<li><div class="src-line"><a name="a456"></a> <span class="src-doc">/**</span></div></li> |
| 471 |
|
-<li><div class="src-line"><a name="a457"></a><span class="src-doc"> * adds a custom plugin that is not in one of the plugin directories</span></div></li> |
| 472 |
|
-<li><div class="src-line"><a name="a458"></a><span class="src-doc"> *</span></div></li> |
| 473 |
|
-<li><div class="src-line"><a name="a459"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name to be used in the templates</span></div></li> |
| 474 |
|
-<li><div class="src-line"><a name="a460"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$callback </span><span class="src-doc">the plugin callback, either a function name,</span></div></li> |
| 475 |
|
-<li><div class="src-line"><a name="a461"></a><span class="src-doc"> * a class name or an array containing an object</span></div></li> |
| 476 |
|
-<li><div class="src-line"><a name="a462"></a><span class="src-doc"> * or class name and a method name</span></div></li> |
| 477 |
|
-<li><div class="src-line"><a name="a463"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$compilable </span><span class="src-doc">if set to true, the plugin is assumed to be compilable</span></div></li> |
| 478 |
|
-<li><div class="src-line"><a name="a464"></a><span class="src-doc"> */</span></div></li> |
| 479 |
|
-<li><div class="src-line"><a name="a465"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddPlugin">addPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$compilable </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 480 |
|
-<li><div class="src-line"><a name="a466"></a> <span class="src-sym">{</span></div></li> |
| 481 |
|
-<li><div class="src-line"><a name="a467"></a> <span class="src-var">$compilable </span>= <span class="src-var">$compilable </span>? <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN </span>: <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 482 |
|
-<li><div class="src-line"><a name="a468"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 483 |
|
-<li><div class="src-line"><a name="a469"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_subclass_of">is_subclass_of</a><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Block_Plugin'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 484 |
|
-<li><div class="src-line"><a name="a470"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 485 |
|
-<li><div class="src-line"><a name="a471"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 486 |
|
-<li><div class="src-line"><a name="a472"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'function'</span>=><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 487 |
|
-<li><div class="src-line"><a name="a473"></a> <span class="src-sym">}</span></div></li> |
| 488 |
|
-<li><div class="src-line"><a name="a474"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 489 |
|
-<li><div class="src-line"><a name="a475"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_subclass_of">is_subclass_of</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Block_Plugin'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 490 |
|
-<li><div class="src-line"><a name="a476"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 491 |
|
-<li><div class="src-line"><a name="a477"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 492 |
|
-<li><div class="src-line"><a name="a478"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'function'</span>=><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 493 |
|
-<li><div class="src-line"><a name="a479"></a> <span class="src-sym">}</span></div></li> |
| 494 |
|
-<li><div class="src-line"><a name="a480"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 495 |
|
-<li><div class="src-line"><a name="a481"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 496 |
|
-<li><div class="src-line"><a name="a482"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 497 |
|
-<li><div class="src-line"><a name="a483"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Callback could not be processed correctly, please check that the function/class you used exists'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 498 |
|
-<li><div class="src-line"><a name="a484"></a> <span class="src-sym">}</span></div></li> |
| 499 |
|
-<li><div class="src-line"><a name="a485"></a> <span class="src-sym">}</span></div></li> |
| 500 |
|
-<li><div class="src-line"><a name="a486"></a> </div></li> |
| 501 |
|
-<li><div class="src-line"><a name="a487"></a> <span class="src-doc">/**</span></div></li> |
| 502 |
|
-<li><div class="src-line"><a name="a488"></a><span class="src-doc"> * removes a custom plugin</span></div></li> |
| 503 |
|
-<li><div class="src-line"><a name="a489"></a><span class="src-doc"> *</span></div></li> |
| 504 |
|
-<li><div class="src-line"><a name="a490"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name</span></div></li> |
| 505 |
|
-<li><div class="src-line"><a name="a491"></a><span class="src-doc"> */</span></div></li> |
| 506 |
|
-<li><div class="src-line"><a name="a492"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodremovePlugin">removePlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
| 507 |
|
-<li><div class="src-line"><a name="a493"></a> <span class="src-sym">{</span></div></li> |
| 508 |
|
-<li><div class="src-line"><a name="a494"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 509 |
|
-<li><div class="src-line"><a name="a495"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 510 |
|
-<li><div class="src-line"><a name="a496"></a> <span class="src-sym">}</span></div></li> |
| 511 |
|
-<li><div class="src-line"><a name="a497"></a> <span class="src-sym">}</span></div></li> |
| 512 |
|
-<li><div class="src-line"><a name="a498"></a> </div></li> |
| 513 |
|
-<li><div class="src-line"><a name="a499"></a> <span class="src-doc">/**</span></div></li> |
| 514 |
|
-<li><div class="src-line"><a name="a500"></a><span class="src-doc"> * adds a filter to this Dwoo instance, it will be used to filter the output of all the templates rendered by this instance</span></div></li> |
| 515 |
|
-<li><div class="src-line"><a name="a501"></a><span class="src-doc"> *</span></div></li> |
| 516 |
|
-<li><div class="src-line"><a name="a502"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">a callback or a filter name if it is autoloaded from a plugin directory</span></div></li> |
| 517 |
|
-<li><div class="src-line"><a name="a503"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$autoload </span><span class="src-doc">if true, the first parameter must be a filter name from one of the plugin directories</span></div></li> |
| 518 |
|
-<li><div class="src-line"><a name="a504"></a><span class="src-doc"> */</span></div></li> |
| 519 |
|
-<li><div class="src-line"><a name="a505"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddFilter">addFilter</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$autoload </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 520 |
|
-<li><div class="src-line"><a name="a506"></a> <span class="src-sym">{</span></div></li> |
| 521 |
|
-<li><div class="src-line"><a name="a507"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autoload</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 522 |
|
-<li><div class="src-line"><a name="a508"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Filter_'</span>.<span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 523 |
|
-<li><div class="src-line"><a name="a509"></a> </div></li> |
| 524 |
|
-<li><div class="src-line"><a name="a510"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 525 |
|
-<li><div class="src-line"><a name="a511"></a> try <span class="src-sym">{</span></div></li> |
| 526 |
|
-<li><div class="src-line"><a name="a512"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 527 |
|
-<li><div class="src-line"><a name="a513"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a> </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 528 |
|
-<li><div class="src-line"><a name="a514"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Filter_'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 529 |
|
-<li><div class="src-line"><a name="a515"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong filter name : '</span>.<span class="src-var">$callback</span>.<span class="src-str">', the "Dwoo_Filter_" prefix should not be used, please only use "'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Filter_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 530 |
|
-<li><div class="src-line"><a name="a516"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 531 |
|
-<li><div class="src-line"><a name="a517"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong filter name : '</span>.<span class="src-var">$callback</span>.<span class="src-str">', when using autoload the filter must be in one of your plugin dir as "name.php" containg a class or function named "Dwoo_Filter_name"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 532 |
|
-<li><div class="src-line"><a name="a518"></a> <span class="src-sym">}</span></div></li> |
| 533 |
|
-<li><div class="src-line"><a name="a519"></a> <span class="src-sym">}</span></div></li> |
| 534 |
|
-<li><div class="src-line"><a name="a520"></a> <span class="src-sym">}</span></div></li> |
| 535 |
|
-<li><div class="src-line"><a name="a521"></a> </div></li> |
| 536 |
|
-<li><div class="src-line"><a name="a522"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 537 |
|
-<li><div class="src-line"><a name="a523"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 538 |
|
-<li><div class="src-line"><a name="a524"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 539 |
|
-<li><div class="src-line"><a name="a525"></a> <span class="src-var">$callback </span>= <span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
| 540 |
|
-<li><div class="src-line"><a name="a526"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 541 |
|
-<li><div class="src-line"><a name="a527"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong filter name : '</span>.<span class="src-var">$callback</span>.<span class="src-str">', when using autoload the filter must be in one of your plugin dir as "name.php" containg a class or function named "Dwoo_Filter_name"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 542 |
|
-<li><div class="src-line"><a name="a528"></a> <span class="src-sym">}</span></div></li> |
| 543 |
|
-<li><div class="src-line"><a name="a529"></a> </div></li> |
| 544 |
|
-<li><div class="src-line"><a name="a530"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 545 |
|
-<li><div class="src-line"><a name="a531"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 546 |
|
-<li><div class="src-line"><a name="a532"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 547 |
|
-<li><div class="src-line"><a name="a533"></a> <span class="src-sym">}</span></div></li> |
| 548 |
|
-<li><div class="src-line"><a name="a534"></a> <span class="src-sym">}</span></div></li> |
| 549 |
|
-<li><div class="src-line"><a name="a535"></a> </div></li> |
| 550 |
|
-<li><div class="src-line"><a name="a536"></a> <span class="src-doc">/**</span></div></li> |
| 551 |
|
-<li><div class="src-line"><a name="a537"></a><span class="src-doc"> * removes a filter</span></div></li> |
| 552 |
|
-<li><div class="src-line"><a name="a538"></a><span class="src-doc"> *</span></div></li> |
| 553 |
|
-<li><div class="src-line"><a name="a539"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">callback or filter name if it was autoloaded</span></div></li> |
| 554 |
|
-<li><div class="src-line"><a name="a540"></a><span class="src-doc"> */</span></div></li> |
| 555 |
|
-<li><div class="src-line"><a name="a541"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodremoveFilter">removeFilter</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
| 556 |
|
-<li><div class="src-line"><a name="a542"></a> <span class="src-sym">{</span></div></li> |
| 557 |
|
-<li><div class="src-line"><a name="a543"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Filter_'</span>.<span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 558 |
|
-<li><div class="src-line"><a name="a544"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 559 |
|
-<li><div class="src-line"><a name="a545"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 560 |
|
-<li><div class="src-line"><a name="a546"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 561 |
|
-<li><div class="src-line"><a name="a547"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 562 |
|
-<li><div class="src-line"><a name="a548"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Filter_' </span>. <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 563 |
|
-<li><div class="src-line"><a name="a549"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a> <span class="src-key">as </span><span class="src-var">$index</span>=><span class="src-var">$filter</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 564 |
|
-<li><div class="src-line"><a name="a550"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">) </span>&& <span class="src-var">$filter</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-var">$class</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 565 |
|
-<li><div class="src-line"><a name="a551"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 566 |
|
-<li><div class="src-line"><a name="a552"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 567 |
|
-<li><div class="src-line"><a name="a553"></a> <span class="src-sym">}</span></div></li> |
| 568 |
|
-<li><div class="src-line"><a name="a554"></a> <span class="src-sym">}</span></div></li> |
| 569 |
|
-<li><div class="src-line"><a name="a555"></a> <span class="src-sym">}</span></div></li> |
| 570 |
|
-<li><div class="src-line"><a name="a556"></a> <span class="src-sym">}</span></div></li> |
| 571 |
|
-<li><div class="src-line"><a name="a557"></a> </div></li> |
| 572 |
|
-<li><div class="src-line"><a name="a558"></a> <span class="src-doc">/**</span></div></li> |
| 573 |
|
-<li><div class="src-line"><a name="a559"></a><span class="src-doc"> * adds a resource or overrides a default one</span></div></li> |
| 574 |
|
-<li><div class="src-line"><a name="a560"></a><span class="src-doc"> *</span></div></li> |
| 575 |
|
-<li><div class="src-line"><a name="a561"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the resource name</span></div></li> |
| 576 |
|
-<li><div class="src-line"><a name="a562"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$class </span><span class="src-doc">the resource class (which must implement Dwoo_ITemplate)</span></div></li> |
| 577 |
|
-<li><div class="src-line"><a name="a563"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$compilerFactory </span><span class="src-doc">the compiler factory callback, a function that must return a compiler instance used to compile this resource, if none is provided. by default it will produce a Dwoo_Compiler object</span></div></li> |
| 578 |
|
-<li><div class="src-line"><a name="a564"></a><span class="src-doc"> */</span></div></li> |
| 579 |
|
-<li><div class="src-line"><a name="a565"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddResource">addResource</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-var">$compilerFactory </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 580 |
|
-<li><div class="src-line"><a name="a566"></a> <span class="src-sym">{</span></div></li> |
| 581 |
|
-<li><div class="src-line"><a name="a567"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>< <span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 582 |
|
-<li><div class="src-line"><a name="a568"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Resource names must be at least two-character long to avoid conflicts with Windows paths'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 583 |
|
-<li><div class="src-line"><a name="a569"></a> <span class="src-sym">}</span></div></li> |
| 584 |
|
-<li><div class="src-line"><a name="a570"></a> </div></li> |
| 585 |
|
-<li><div class="src-line"><a name="a571"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 586 |
|
-<li><div class="src-line"><a name="a572"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Resource class does not exist'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 587 |
|
-<li><div class="src-line"><a name="a573"></a> <span class="src-sym">}</span></div></li> |
| 588 |
|
-<li><div class="src-line"><a name="a574"></a> </div></li> |
| 589 |
|
-<li><div class="src-line"><a name="a575"></a> <span class="src-var">$interfaces </span>= <a href="http://www.php.net/class_implements">class_implements</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 590 |
|
-<li><div class="src-line"><a name="a576"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-str">'Dwoo_ITemplate'</span><span class="src-sym">, </span><span class="src-var">$interfaces</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 591 |
|
-<li><div class="src-line"><a name="a577"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Resource class must implement Dwoo_ITemplate'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 592 |
|
-<li><div class="src-line"><a name="a578"></a> <span class="src-sym">}</span></div></li> |
| 593 |
|
-<li><div class="src-line"><a name="a579"></a> </div></li> |
| 594 |
|
-<li><div class="src-line"><a name="a580"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'class'</span>=><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'compiler'</span>=><span class="src-var">$compilerFactory</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 595 |
|
-<li><div class="src-line"><a name="a581"></a> <span class="src-sym">}</span></div></li> |
| 596 |
|
-<li><div class="src-line"><a name="a582"></a> </div></li> |
| 597 |
|
-<li><div class="src-line"><a name="a583"></a> <span class="src-doc">/**</span></div></li> |
| 598 |
|
-<li><div class="src-line"><a name="a584"></a><span class="src-doc"> * removes a custom resource</span></div></li> |
| 599 |
|
-<li><div class="src-line"><a name="a585"></a><span class="src-doc"> *</span></div></li> |
| 600 |
|
-<li><div class="src-line"><a name="a586"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the resource name</span></div></li> |
| 601 |
|
-<li><div class="src-line"><a name="a587"></a><span class="src-doc"> */</span></div></li> |
| 602 |
|
-<li><div class="src-line"><a name="a588"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodremoveResource">removeResource</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
| 603 |
|
-<li><div class="src-line"><a name="a589"></a> <span class="src-sym">{</span></div></li> |
| 604 |
|
-<li><div class="src-line"><a name="a590"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 605 |
|
-<li><div class="src-line"><a name="a591"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$name</span>===<span class="src-str">'file'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 606 |
|
-<li><div class="src-line"><a name="a592"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-str">'file'</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'class'</span>=><span class="src-str">'Dwoo_Template_File'</span><span class="src-sym">, </span><span class="src-str">'compiler'</span>=><span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 607 |
|
-<li><div class="src-line"><a name="a593"></a> <span class="src-sym">}</span></div></li> |
| 608 |
|
-<li><div class="src-line"><a name="a594"></a> <span class="src-sym">}</span></div></li> |
| 609 |
|
-<li><div class="src-line"><a name="a595"></a> </div></li> |
| 610 |
|
-<li><div class="src-line"><a name="a596"></a> <span class="src-comm">/*</span></div></li> |
| 611 |
|
-<li><div class="src-line"><a name="a597"></a><span class="src-comm"> * --------- getters and setters ---------</span></div></li> |
| 612 |
|
-<li><div class="src-line"><a name="a598"></a><span class="src-comm"> */</span></div></li> |
| 613 |
|
-<li><div class="src-line"><a name="a599"></a> </div></li> |
| 614 |
|
-<li><div class="src-line"><a name="a600"></a> <span class="src-doc">/**</span></div></li> |
| 615 |
|
-<li><div class="src-line"><a name="a601"></a><span class="src-doc"> * sets the loader object to use to load plugins</span></div></li> |
| 616 |
|
-<li><div class="src-line"><a name="a602"></a><span class="src-doc"> *</span></div></li> |
| 617 |
|
-<li><div class="src-line"><a name="a603"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ILoader </span><span class="src-doc-var">$loader </span><span class="src-doc">loader object</span></div></li> |
| 618 |
|
-<li><div class="src-line"><a name="a604"></a><span class="src-doc"> */</span></div></li> |
| 619 |
|
-<li><div class="src-line"><a name="a605"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetLoader">setLoader</a><span class="src-sym">(</span><span class="src-id">Dwoo_ILoader </span><span class="src-var">$loader</span><span class="src-sym">)</span></div></li> |
| 620 |
|
-<li><div class="src-line"><a name="a606"></a> <span class="src-sym">{</span></div></li> |
| 621 |
|
-<li><div class="src-line"><a name="a607"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a> = <span class="src-var">$loader</span><span class="src-sym">;</span></div></li> |
| 622 |
|
-<li><div class="src-line"><a name="a608"></a> <span class="src-sym">}</span></div></li> |
| 623 |
|
-<li><div class="src-line"><a name="a609"></a> </div></li> |
| 624 |
|
-<li><div class="src-line"><a name="a610"></a> <span class="src-doc">/**</span></div></li> |
| 625 |
|
-<li><div class="src-line"><a name="a611"></a><span class="src-doc"> * returns the current loader object or a default one if none is currently found</span></div></li> |
| 626 |
|
-<li><div class="src-line"><a name="a612"></a><span class="src-doc"> *</span></div></li> |
| 627 |
|
-<li><div class="src-line"><a name="a613"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ILoader </span></div></li> |
| 628 |
|
-<li><div class="src-line"><a name="a614"></a><span class="src-doc"> */</span></div></li> |
| 629 |
|
-<li><div class="src-line"><a name="a615"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 630 |
|
-<li><div class="src-line"><a name="a616"></a> <span class="src-sym">{</span></div></li> |
| 631 |
|
-<li><div class="src-line"><a name="a617"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a> === <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 632 |
|
-<li><div class="src-line"><a name="a618"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a> = <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Loader.html">Dwoo_Loader</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetCompileDir">getCompileDir</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 633 |
|
-<li><div class="src-line"><a name="a619"></a> <span class="src-sym">}</span></div></li> |
| 634 |
|
-<li><div class="src-line"><a name="a620"></a> </div></li> |
| 635 |
|
-<li><div class="src-line"><a name="a621"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a><span class="src-sym">;</span></div></li> |
| 636 |
|
-<li><div class="src-line"><a name="a622"></a> <span class="src-sym">}</span></div></li> |
| 637 |
|
-<li><div class="src-line"><a name="a623"></a> </div></li> |
| 638 |
|
-<li><div class="src-line"><a name="a624"></a> <span class="src-doc">/**</span></div></li> |
| 639 |
|
-<li><div class="src-line"><a name="a625"></a><span class="src-doc"> * returns the custom plugins loaded</span></div></li> |
| 640 |
|
-<li><div class="src-line"><a name="a626"></a><span class="src-doc"> *</span></div></li> |
| 641 |
|
-<li><div class="src-line"><a name="a627"></a><span class="src-doc"> * used by the Dwoo_ITemplate classes to pass the custom plugins to their Dwoo_ICompiler instance</span></div></li> |
| 642 |
|
-<li><div class="src-line"><a name="a628"></a><span class="src-doc"> *</span></div></li> |
| 643 |
|
-<li><div class="src-line"><a name="a629"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> |
| 644 |
|
-<li><div class="src-line"><a name="a630"></a><span class="src-doc"> */</span></div></li> |
| 645 |
|
-<li><div class="src-line"><a name="a631"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCustomPlugins">getCustomPlugins</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 646 |
|
-<li><div class="src-line"><a name="a632"></a> <span class="src-sym">{</span></div></li> |
| 647 |
|
-<li><div class="src-line"><a name="a633"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">;</span></div></li> |
| 648 |
|
-<li><div class="src-line"><a name="a634"></a> <span class="src-sym">}</span></div></li> |
| 649 |
|
-<li><div class="src-line"><a name="a635"></a> </div></li> |
| 650 |
|
-<li><div class="src-line"><a name="a636"></a> <span class="src-doc">/**</span></div></li> |
| 651 |
|
-<li><div class="src-line"><a name="a637"></a><span class="src-doc"> * returns the cache directory with a trailing DIRECTORY_SEPARATOR</span></div></li> |
| 652 |
|
-<li><div class="src-line"><a name="a638"></a><span class="src-doc"> *</span></div></li> |
| 653 |
|
-<li><div class="src-line"><a name="a639"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
| 654 |
|
-<li><div class="src-line"><a name="a640"></a><span class="src-doc"> */</span></div></li> |
| 655 |
|
-<li><div class="src-line"><a name="a641"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCacheDir">getCacheDir</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 656 |
|
-<li><div class="src-line"><a name="a642"></a> <span class="src-sym">{</span></div></li> |
| 657 |
|
-<li><div class="src-line"><a name="a643"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a> === <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 658 |
|
-<li><div class="src-line"><a name="a644"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCacheDir">setCacheDir</a><span class="src-sym">(</span><a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span>.<span class="src-str">'cache'</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 659 |
|
-<li><div class="src-line"><a name="a645"></a> <span class="src-sym">}</span></div></li> |
| 660 |
|
-<li><div class="src-line"><a name="a646"></a> </div></li> |
| 661 |
|
-<li><div class="src-line"><a name="a647"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a><span class="src-sym">;</span></div></li> |
| 662 |
|
-<li><div class="src-line"><a name="a648"></a> <span class="src-sym">}</span></div></li> |
| 663 |
|
-<li><div class="src-line"><a name="a649"></a> </div></li> |
| 664 |
|
-<li><div class="src-line"><a name="a650"></a> <span class="src-doc">/**</span></div></li> |
| 665 |
|
-<li><div class="src-line"><a name="a651"></a><span class="src-doc"> * sets the cache directory and automatically appends a DIRECTORY_SEPARATOR</span></div></li> |
| 666 |
|
-<li><div class="src-line"><a name="a652"></a><span class="src-doc"> *</span></div></li> |
| 667 |
|
-<li><div class="src-line"><a name="a653"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$dir </span><span class="src-doc">the cache directory</span></div></li> |
| 668 |
|
-<li><div class="src-line"><a name="a654"></a><span class="src-doc"> */</span></div></li> |
| 669 |
|
-<li><div class="src-line"><a name="a655"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCacheDir">setCacheDir</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">)</span></div></li> |
| 670 |
|
-<li><div class="src-line"><a name="a656"></a> <span class="src-sym">{</span></div></li> |
| 671 |
|
-<li><div class="src-line"><a name="a657"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a> = <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">, </span><span class="src-str">'/\\'</span><span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">;</span></div></li> |
| 672 |
|
-<li><div class="src-line"><a name="a658"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 673 |
|
-<li><div class="src-line"><a name="a659"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'The cache directory must be writable, chmod "'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a>.<span class="src-str">'" to make it writable'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 674 |
|
-<li><div class="src-line"><a name="a660"></a> <span class="src-sym">}</span></div></li> |
| 675 |
|
-<li><div class="src-line"><a name="a661"></a> <span class="src-sym">}</span></div></li> |
| 676 |
|
-<li><div class="src-line"><a name="a662"></a> </div></li> |
| 677 |
|
-<li><div class="src-line"><a name="a663"></a> <span class="src-doc">/**</span></div></li> |
| 678 |
|
-<li><div class="src-line"><a name="a664"></a><span class="src-doc"> * returns the compile directory with a trailing DIRECTORY_SEPARATOR</span></div></li> |
| 679 |
|
-<li><div class="src-line"><a name="a665"></a><span class="src-doc"> *</span></div></li> |
| 680 |
|
-<li><div class="src-line"><a name="a666"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
| 681 |
|
-<li><div class="src-line"><a name="a667"></a><span class="src-doc"> */</span></div></li> |
| 682 |
|
-<li><div class="src-line"><a name="a668"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCompileDir">getCompileDir</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 683 |
|
-<li><div class="src-line"><a name="a669"></a> <span class="src-sym">{</span></div></li> |
| 684 |
|
-<li><div class="src-line"><a name="a670"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a> === <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 685 |
|
-<li><div class="src-line"><a name="a671"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCompileDir">setCompileDir</a><span class="src-sym">(</span><a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span>.<span class="src-str">'compiled'</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 686 |
|
-<li><div class="src-line"><a name="a672"></a> <span class="src-sym">}</span></div></li> |
| 687 |
|
-<li><div class="src-line"><a name="a673"></a> </div></li> |
| 688 |
|
-<li><div class="src-line"><a name="a674"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a><span class="src-sym">;</span></div></li> |
| 689 |
|
-<li><div class="src-line"><a name="a675"></a> <span class="src-sym">}</span></div></li> |
| 690 |
|
-<li><div class="src-line"><a name="a676"></a> </div></li> |
| 691 |
|
-<li><div class="src-line"><a name="a677"></a> <span class="src-doc">/**</span></div></li> |
| 692 |
|
-<li><div class="src-line"><a name="a678"></a><span class="src-doc"> * sets the compile directory and automatically appends a DIRECTORY_SEPARATOR</span></div></li> |
| 693 |
|
-<li><div class="src-line"><a name="a679"></a><span class="src-doc"> *</span></div></li> |
| 694 |
|
-<li><div class="src-line"><a name="a680"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$dir </span><span class="src-doc">the compile directory</span></div></li> |
| 695 |
|
-<li><div class="src-line"><a name="a681"></a><span class="src-doc"> */</span></div></li> |
| 696 |
|
-<li><div class="src-line"><a name="a682"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCompileDir">setCompileDir</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">)</span></div></li> |
| 697 |
|
-<li><div class="src-line"><a name="a683"></a> <span class="src-sym">{</span></div></li> |
| 698 |
|
-<li><div class="src-line"><a name="a684"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a> = <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">, </span><span class="src-str">'/\\'</span><span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">;</span></div></li> |
| 699 |
|
-<li><div class="src-line"><a name="a685"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 700 |
|
-<li><div class="src-line"><a name="a686"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'The compile directory must be writable, chmod "'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a>.<span class="src-str">'" to make it writable'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 701 |
|
-<li><div class="src-line"><a name="a687"></a> <span class="src-sym">}</span></div></li> |
| 702 |
|
-<li><div class="src-line"><a name="a688"></a> <span class="src-sym">}</span></div></li> |
| 703 |
|
-<li><div class="src-line"><a name="a689"></a> </div></li> |
| 704 |
|
-<li><div class="src-line"><a name="a690"></a> <span class="src-doc">/**</span></div></li> |
| 705 |
|
-<li><div class="src-line"><a name="a691"></a><span class="src-doc"> * returns the default cache time that is used with templates that do not have a cache time set</span></div></li> |
| 706 |
|
-<li><div class="src-line"><a name="a692"></a><span class="src-doc"> *</span></div></li> |
| 707 |
|
-<li><div class="src-line"><a name="a693"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">the duration in seconds</span></div></li> |
| 708 |
|
-<li><div class="src-line"><a name="a694"></a><span class="src-doc"> */</span></div></li> |
| 709 |
|
-<li><div class="src-line"><a name="a695"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCacheTime">getCacheTime</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 710 |
|
-<li><div class="src-line"><a name="a696"></a> <span class="src-sym">{</span></div></li> |
| 711 |
|
-<li><div class="src-line"><a name="a697"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheTime">cacheTime</a><span class="src-sym">;</span></div></li> |
| 712 |
|
-<li><div class="src-line"><a name="a698"></a> <span class="src-sym">}</span></div></li> |
| 713 |
|
-<li><div class="src-line"><a name="a699"></a> </div></li> |
| 714 |
|
-<li><div class="src-line"><a name="a700"></a> <span class="src-doc">/**</span></div></li> |
| 715 |
|
-<li><div class="src-line"><a name="a701"></a><span class="src-doc"> * sets the default cache time to use with templates that do not have a cache time set</span></div></li> |
| 716 |
|
-<li><div class="src-line"><a name="a702"></a><span class="src-doc"> *</span></div></li> |
| 717 |
|
-<li><div class="src-line"><a name="a703"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$seconds </span><span class="src-doc">the duration in seconds</span></div></li> |
| 718 |
|
-<li><div class="src-line"><a name="a704"></a><span class="src-doc"> */</span></div></li> |
| 719 |
|
-<li><div class="src-line"><a name="a705"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCacheTime">setCacheTime</a><span class="src-sym">(</span><span class="src-var">$seconds</span><span class="src-sym">)</span></div></li> |
| 720 |
|
-<li><div class="src-line"><a name="a706"></a> <span class="src-sym">{</span></div></li> |
| 721 |
|
-<li><div class="src-line"><a name="a707"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheTime">cacheTime</a> = (int) <span class="src-var">$seconds</span><span class="src-sym">;</span></div></li> |
| 722 |
|
-<li><div class="src-line"><a name="a708"></a> <span class="src-sym">}</span></div></li> |
| 723 |
|
-<li><div class="src-line"><a name="a709"></a> </div></li> |
| 724 |
|
-<li><div class="src-line"><a name="a710"></a> <span class="src-doc">/**</span></div></li> |
| 725 |
|
-<li><div class="src-line"><a name="a711"></a><span class="src-doc"> * returns the character set used by the string manipulation plugins</span></div></li> |
| 726 |
|
-<li><div class="src-line"><a name="a712"></a><span class="src-doc"> *</span></div></li> |
| 727 |
|
-<li><div class="src-line"><a name="a713"></a><span class="src-doc"> * the charset is automatically lowercased</span></div></li> |
| 728 |
|
-<li><div class="src-line"><a name="a714"></a><span class="src-doc"> *</span></div></li> |
| 729 |
|
-<li><div class="src-line"><a name="a715"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
| 730 |
|
-<li><div class="src-line"><a name="a716"></a><span class="src-doc"> */</span></div></li> |
| 731 |
|
-<li><div class="src-line"><a name="a717"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCharset">getCharset</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 732 |
|
-<li><div class="src-line"><a name="a718"></a> <span class="src-sym">{</span></div></li> |
| 733 |
|
-<li><div class="src-line"><a name="a719"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$charset">charset</a><span class="src-sym">;</span></div></li> |
| 734 |
|
-<li><div class="src-line"><a name="a720"></a> <span class="src-sym">}</span></div></li> |
| 735 |
|
-<li><div class="src-line"><a name="a721"></a> </div></li> |
| 736 |
|
-<li><div class="src-line"><a name="a722"></a> <span class="src-doc">/**</span></div></li> |
| 737 |
|
-<li><div class="src-line"><a name="a723"></a><span class="src-doc"> * sets the character set used by the string manipulation plugins</span></div></li> |
| 738 |
|
-<li><div class="src-line"><a name="a724"></a><span class="src-doc"> *</span></div></li> |
| 739 |
|
-<li><div class="src-line"><a name="a725"></a><span class="src-doc"> * the charset will be automatically lowercased</span></div></li> |
| 740 |
|
-<li><div class="src-line"><a name="a726"></a><span class="src-doc"> *</span></div></li> |
| 741 |
|
-<li><div class="src-line"><a name="a727"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$charset </span><span class="src-doc">the character set</span></div></li> |
| 742 |
|
-<li><div class="src-line"><a name="a728"></a><span class="src-doc"> */</span></div></li> |
| 743 |
|
-<li><div class="src-line"><a name="a729"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCharset">setCharset</a><span class="src-sym">(</span><span class="src-var">$charset</span><span class="src-sym">)</span></div></li> |
| 744 |
|
-<li><div class="src-line"><a name="a730"></a> <span class="src-sym">{</span></div></li> |
| 745 |
|
-<li><div class="src-line"><a name="a731"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$charset">charset</a> = <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span>(string) <span class="src-var">$charset</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 746 |
|
-<li><div class="src-line"><a name="a732"></a> <span class="src-sym">}</span></div></li> |
| 747 |
|
-<li><div class="src-line"><a name="a733"></a> </div></li> |
| 748 |
|
-<li><div class="src-line"><a name="a734"></a> <span class="src-doc">/**</span></div></li> |
| 749 |
|
-<li><div class="src-line"><a name="a735"></a><span class="src-doc"> * returns the current template being rendered, when applicable, or null</span></div></li> |
| 750 |
|
-<li><div class="src-line"><a name="a736"></a><span class="src-doc"> *</span></div></li> |
| 751 |
|
-<li><div class="src-line"><a name="a737"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_ITemplate</span><span class="src-doc">|</span><span class="src-doc-type">null</span></div></li> |
| 752 |
|
-<li><div class="src-line"><a name="a738"></a><span class="src-doc"> */</span></div></li> |
| 753 |
|
-<li><div class="src-line"><a name="a739"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetTemplate">getTemplate</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 754 |
|
-<li><div class="src-line"><a name="a740"></a> <span class="src-sym">{</span></div></li> |
| 755 |
|
-<li><div class="src-line"><a name="a741"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a><span class="src-sym">;</span></div></li> |
| 756 |
|
-<li><div class="src-line"><a name="a742"></a> <span class="src-sym">}</span></div></li> |
| 757 |
|
-<li><div class="src-line"><a name="a743"></a> </div></li> |
| 758 |
|
-<li><div class="src-line"><a name="a744"></a> <span class="src-doc">/**</span></div></li> |
| 759 |
|
-<li><div class="src-line"><a name="a745"></a><span class="src-doc"> * sets the default compiler factory function for the given resource name</span></div></li> |
| 760 |
|
-<li><div class="src-line"><a name="a746"></a><span class="src-doc"> *</span></div></li> |
| 761 |
|
-<li><div class="src-line"><a name="a747"></a><span class="src-doc"> * a compiler factory must return a Dwoo_ICompiler object pre-configured to fit your needs</span></div></li> |
| 762 |
|
-<li><div class="src-line"><a name="a748"></a><span class="src-doc"> *</span></div></li> |
| 763 |
|
-<li><div class="src-line"><a name="a749"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceName </span><span class="src-doc">the resource name (i.e. file, string)</span></div></li> |
| 764 |
|
-<li><div class="src-line"><a name="a750"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$compilerFactory </span><span class="src-doc">the compiler factory callback</span></div></li> |
| 765 |
|
-<li><div class="src-line"><a name="a751"></a><span class="src-doc"> */</span></div></li> |
| 766 |
|
-<li><div class="src-line"><a name="a752"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetDefaultCompilerFactory">setDefaultCompilerFactory</a><span class="src-sym">(</span><span class="src-var">$resourceName</span><span class="src-sym">, </span><span class="src-var">$compilerFactory</span><span class="src-sym">)</span></div></li> |
| 767 |
|
-<li><div class="src-line"><a name="a753"></a> <span class="src-sym">{</span></div></li> |
| 768 |
|
-<li><div class="src-line"><a name="a754"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'compiler'</span><span class="src-sym">] </span>= <span class="src-var">$compilerFactory</span><span class="src-sym">;</span></div></li> |
| 769 |
|
-<li><div class="src-line"><a name="a755"></a> <span class="src-sym">}</span></div></li> |
| 770 |
|
-<li><div class="src-line"><a name="a756"></a> </div></li> |
| 771 |
|
-<li><div class="src-line"><a name="a757"></a> <span class="src-doc">/**</span></div></li> |
| 772 |
|
-<li><div class="src-line"><a name="a758"></a><span class="src-doc"> * returns the default compiler factory function for the given resource name</span></div></li> |
|
428 |
+<li><div class="src-line"><a name="a414"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
|
429 |
+<li><div class="src-line"><a name="a415"></a> <span class="src-sym">}</span></div></li> |
|
430 |
+<li><div class="src-line"><a name="a416"></a> <span class="src-sym">}</span></div></li> |
|
431 |
+<li><div class="src-line"><a name="a417"></a> <span class="src-sym">}</span></div></li> |
|
432 |
+<li><div class="src-line"><a name="a418"></a> </div></li> |
|
433 |
+<li><div class="src-line"><a name="a419"></a> <span class="src-doc">/**</span></div></li> |
|
434 |
+<li><div class="src-line"><a name="a420"></a><span class="src-doc"> * re-initializes the globals array before each template run</span></div></li> |
|
435 |
+<li><div class="src-line"><a name="a421"></a><span class="src-doc"> *</span></div></li> |
|
436 |
+<li><div class="src-line"><a name="a422"></a><span class="src-doc"> * this method is only callede once when the Dwoo object is created</span></div></li> |
|
437 |
+<li><div class="src-line"><a name="a423"></a><span class="src-doc"> */</span></div></li> |
|
438 |
+<li><div class="src-line"><a name="a424"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodinitGlobals">initGlobals</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
439 |
+<li><div class="src-line"><a name="a425"></a> <span class="src-sym">{</span></div></li> |
|
440 |
+<li><div class="src-line"><a name="a426"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$globals">globals</a> = <span class="src-key">array</span></div></li> |
|
441 |
+<li><div class="src-line"><a name="a427"></a> <span class="src-sym">(</span></div></li> |
|
442 |
+<li><div class="src-line"><a name="a428"></a> <span class="src-str">'version' </span>=> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">VERSION</span><span class="src-sym">,</span></div></li> |
|
443 |
+<li><div class="src-line"><a name="a429"></a> <span class="src-str">'ad' </span>=> <span class="src-str">'<a href="http://dwoo.org/">Powered by Dwoo</a>'</span><span class="src-sym">,</span></div></li> |
|
444 |
+<li><div class="src-line"><a name="a430"></a> <span class="src-str">'now' </span>=> <span class="src-var">$_SERVER</span><span class="src-sym">[</span><span class="src-str">'REQUEST_TIME'</span><span class="src-sym">]</span><span class="src-sym">,</span></div></li> |
|
445 |
+<li><div class="src-line"><a name="a431"></a> <span class="src-str">'charset' </span>=> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$charset">charset</a><span class="src-sym">,</span></div></li> |
|
446 |
+<li><div class="src-line"><a name="a432"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
447 |
+<li><div class="src-line"><a name="a433"></a> <span class="src-sym">}</span></div></li> |
|
448 |
+<li><div class="src-line"><a name="a434"></a> </div></li> |
|
449 |
+<li><div class="src-line"><a name="a435"></a> <span class="src-doc">/**</span></div></li> |
|
450 |
+<li><div class="src-line"><a name="a436"></a><span class="src-doc"> * re-initializes the runtime variables before each template run</span></div></li> |
|
451 |
+<li><div class="src-line"><a name="a437"></a><span class="src-doc"> *</span></div></li> |
|
452 |
+<li><div class="src-line"><a name="a438"></a><span class="src-doc"> * override this method to inject data in the globals array if needed, this</span></div></li> |
|
453 |
+<li><div class="src-line"><a name="a439"></a><span class="src-doc"> * method is called before each template execution</span></div></li> |
|
454 |
+<li><div class="src-line"><a name="a440"></a><span class="src-doc"> *</span></div></li> |
|
455 |
+<li><div class="src-line"><a name="a441"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ITemplate </span><span class="src-doc-var">$tpl </span><span class="src-doc">the template that is going to be rendered</span></div></li> |
|
456 |
+<li><div class="src-line"><a name="a442"></a><span class="src-doc"> */</span></div></li> |
|
457 |
+<li><div class="src-line"><a name="a443"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodinitRuntimeVars">initRuntimeVars</a><span class="src-sym">(</span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$tpl</span><span class="src-sym">)</span></div></li> |
|
458 |
+<li><div class="src-line"><a name="a444"></a> <span class="src-sym">{</span></div></li> |
|
459 |
+<li><div class="src-line"><a name="a445"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
460 |
+<li><div class="src-line"><a name="a446"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$data">data</a><span class="src-sym">;</span></div></li> |
|
461 |
+<li><div class="src-line"><a name="a447"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
462 |
+<li><div class="src-line"><a name="a448"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
463 |
+<li><div class="src-line"><a name="a449"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
464 |
+<li><div class="src-line"><a name="a450"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$buffer">buffer</a> = <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
465 |
+<li><div class="src-line"><a name="a451"></a> <span class="src-sym">}</span></div></li> |
|
466 |
+<li><div class="src-line"><a name="a452"></a> </div></li> |
|
467 |
+<li><div class="src-line"><a name="a453"></a> <span class="src-comm">/*</span></div></li> |
|
468 |
+<li><div class="src-line"><a name="a454"></a><span class="src-comm"> * --------- settings functions ---------</span></div></li> |
|
469 |
+<li><div class="src-line"><a name="a455"></a><span class="src-comm"> */</span></div></li> |
|
470 |
+<li><div class="src-line"><a name="a456"></a> </div></li> |
|
471 |
+<li><div class="src-line"><a name="a457"></a> <span class="src-doc">/**</span></div></li> |
|
472 |
+<li><div class="src-line"><a name="a458"></a><span class="src-doc"> * adds a custom plugin that is not in one of the plugin directories</span></div></li> |
|
473 |
+<li><div class="src-line"><a name="a459"></a><span class="src-doc"> *</span></div></li> |
|
474 |
+<li><div class="src-line"><a name="a460"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name to be used in the templates</span></div></li> |
|
475 |
+<li><div class="src-line"><a name="a461"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$callback </span><span class="src-doc">the plugin callback, either a function name,</span></div></li> |
|
476 |
+<li><div class="src-line"><a name="a462"></a><span class="src-doc"> * a class name or an array containing an object</span></div></li> |
|
477 |
+<li><div class="src-line"><a name="a463"></a><span class="src-doc"> * or class name and a method name</span></div></li> |
|
478 |
+<li><div class="src-line"><a name="a464"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$compilable </span><span class="src-doc">if set to true, the plugin is assumed to be compilable</span></div></li> |
|
479 |
+<li><div class="src-line"><a name="a465"></a><span class="src-doc"> */</span></div></li> |
|
480 |
+<li><div class="src-line"><a name="a466"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddPlugin">addPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$compilable </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
481 |
+<li><div class="src-line"><a name="a467"></a> <span class="src-sym">{</span></div></li> |
|
482 |
+<li><div class="src-line"><a name="a468"></a> <span class="src-var">$compilable </span>= <span class="src-var">$compilable </span>? <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN </span>: <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
483 |
+<li><div class="src-line"><a name="a469"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
484 |
+<li><div class="src-line"><a name="a470"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_subclass_of">is_subclass_of</a><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Block_Plugin'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
485 |
+<li><div class="src-line"><a name="a471"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
486 |
+<li><div class="src-line"><a name="a472"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
487 |
+<li><div class="src-line"><a name="a473"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'function'</span>=><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
488 |
+<li><div class="src-line"><a name="a474"></a> <span class="src-sym">}</span></div></li> |
|
489 |
+<li><div class="src-line"><a name="a475"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
490 |
+<li><div class="src-line"><a name="a476"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_subclass_of">is_subclass_of</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Block_Plugin'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
491 |
+<li><div class="src-line"><a name="a477"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
492 |
+<li><div class="src-line"><a name="a478"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
493 |
+<li><div class="src-line"><a name="a479"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'function'</span>=><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
494 |
+<li><div class="src-line"><a name="a480"></a> <span class="src-sym">}</span></div></li> |
|
495 |
+<li><div class="src-line"><a name="a481"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
496 |
+<li><div class="src-line"><a name="a482"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type'</span>=><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN </span>| <span class="src-var">$compilable</span><span class="src-sym">, </span><span class="src-str">'callback'</span>=><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
497 |
+<li><div class="src-line"><a name="a483"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
498 |
+<li><div class="src-line"><a name="a484"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Callback could not be processed correctly, please check that the function/class you used exists'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
499 |
+<li><div class="src-line"><a name="a485"></a> <span class="src-sym">}</span></div></li> |
|
500 |
+<li><div class="src-line"><a name="a486"></a> <span class="src-sym">}</span></div></li> |
|
501 |
+<li><div class="src-line"><a name="a487"></a> </div></li> |
|
502 |
+<li><div class="src-line"><a name="a488"></a> <span class="src-doc">/**</span></div></li> |
|
503 |
+<li><div class="src-line"><a name="a489"></a><span class="src-doc"> * removes a custom plugin</span></div></li> |
|
504 |
+<li><div class="src-line"><a name="a490"></a><span class="src-doc"> *</span></div></li> |
|
505 |
+<li><div class="src-line"><a name="a491"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name</span></div></li> |
|
506 |
+<li><div class="src-line"><a name="a492"></a><span class="src-doc"> */</span></div></li> |
|
507 |
+<li><div class="src-line"><a name="a493"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodremovePlugin">removePlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
|
508 |
+<li><div class="src-line"><a name="a494"></a> <span class="src-sym">{</span></div></li> |
|
509 |
+<li><div class="src-line"><a name="a495"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
510 |
+<li><div class="src-line"><a name="a496"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
511 |
+<li><div class="src-line"><a name="a497"></a> <span class="src-sym">}</span></div></li> |
|
512 |
+<li><div class="src-line"><a name="a498"></a> <span class="src-sym">}</span></div></li> |
|
513 |
+<li><div class="src-line"><a name="a499"></a> </div></li> |
|
514 |
+<li><div class="src-line"><a name="a500"></a> <span class="src-doc">/**</span></div></li> |
|
515 |
+<li><div class="src-line"><a name="a501"></a><span class="src-doc"> * adds a filter to this Dwoo instance, it will be used to filter the output of all the templates rendered by this instance</span></div></li> |
|
516 |
+<li><div class="src-line"><a name="a502"></a><span class="src-doc"> *</span></div></li> |
|
517 |
+<li><div class="src-line"><a name="a503"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">a callback or a filter name if it is autoloaded from a plugin directory</span></div></li> |
|
518 |
+<li><div class="src-line"><a name="a504"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$autoload </span><span class="src-doc">if true, the first parameter must be a filter name from one of the plugin directories</span></div></li> |
|
519 |
+<li><div class="src-line"><a name="a505"></a><span class="src-doc"> */</span></div></li> |
|
520 |
+<li><div class="src-line"><a name="a506"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddFilter">addFilter</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$autoload </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
521 |
+<li><div class="src-line"><a name="a507"></a> <span class="src-sym">{</span></div></li> |
|
522 |
+<li><div class="src-line"><a name="a508"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autoload</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
523 |
+<li><div class="src-line"><a name="a509"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Filter_'</span>.<span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
524 |
+<li><div class="src-line"><a name="a510"></a> </div></li> |
|
525 |
+<li><div class="src-line"><a name="a511"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
526 |
+<li><div class="src-line"><a name="a512"></a> try <span class="src-sym">{</span></div></li> |
|
527 |
+<li><div class="src-line"><a name="a513"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
528 |
+<li><div class="src-line"><a name="a514"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a> </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
529 |
+<li><div class="src-line"><a name="a515"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Filter_'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
530 |
+<li><div class="src-line"><a name="a516"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong filter name : '</span>.<span class="src-var">$callback</span>.<span class="src-str">', the "Dwoo_Filter_" prefix should not be used, please only use "'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Filter_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
531 |
+<li><div class="src-line"><a name="a517"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
532 |
+<li><div class="src-line"><a name="a518"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong filter name : '</span>.<span class="src-var">$callback</span>.<span class="src-str">', when using autoload the filter must be in one of your plugin dir as "name.php" containg a class or function named "Dwoo_Filter_name"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
533 |
+<li><div class="src-line"><a name="a519"></a> <span class="src-sym">}</span></div></li> |
|
534 |
+<li><div class="src-line"><a name="a520"></a> <span class="src-sym">}</span></div></li> |
|
535 |
+<li><div class="src-line"><a name="a521"></a> <span class="src-sym">}</span></div></li> |
|
536 |
+<li><div class="src-line"><a name="a522"></a> </div></li> |
|
537 |
+<li><div class="src-line"><a name="a523"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
538 |
+<li><div class="src-line"><a name="a524"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
539 |
+<li><div class="src-line"><a name="a525"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
540 |
+<li><div class="src-line"><a name="a526"></a> <span class="src-var">$callback </span>= <span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
|
541 |
+<li><div class="src-line"><a name="a527"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
542 |
+<li><div class="src-line"><a name="a528"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong filter name : '</span>.<span class="src-var">$callback</span>.<span class="src-str">', when using autoload the filter must be in one of your plugin dir as "name.php" containg a class or function named "Dwoo_Filter_name"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
543 |
+<li><div class="src-line"><a name="a529"></a> <span class="src-sym">}</span></div></li> |
|
544 |
+<li><div class="src-line"><a name="a530"></a> </div></li> |
|
545 |
+<li><div class="src-line"><a name="a531"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
546 |
+<li><div class="src-line"><a name="a532"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
547 |
+<li><div class="src-line"><a name="a533"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
548 |
+<li><div class="src-line"><a name="a534"></a> <span class="src-sym">}</span></div></li> |
|
549 |
+<li><div class="src-line"><a name="a535"></a> <span class="src-sym">}</span></div></li> |
|
550 |
+<li><div class="src-line"><a name="a536"></a> </div></li> |
|
551 |
+<li><div class="src-line"><a name="a537"></a> <span class="src-doc">/**</span></div></li> |
|
552 |
+<li><div class="src-line"><a name="a538"></a><span class="src-doc"> * removes a filter</span></div></li> |
|
553 |
+<li><div class="src-line"><a name="a539"></a><span class="src-doc"> *</span></div></li> |
|
554 |
+<li><div class="src-line"><a name="a540"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">callback or filter name if it was autoloaded</span></div></li> |
|
555 |
+<li><div class="src-line"><a name="a541"></a><span class="src-doc"> */</span></div></li> |
|
556 |
+<li><div class="src-line"><a name="a542"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodremoveFilter">removeFilter</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
|
557 |
+<li><div class="src-line"><a name="a543"></a> <span class="src-sym">{</span></div></li> |
|
558 |
+<li><div class="src-line"><a name="a544"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Filter_'</span>.<span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
559 |
+<li><div class="src-line"><a name="a545"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
560 |
+<li><div class="src-line"><a name="a546"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
561 |
+<li><div class="src-line"><a name="a547"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
562 |
+<li><div class="src-line"><a name="a548"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
563 |
+<li><div class="src-line"><a name="a549"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Filter_' </span>. <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
564 |
+<li><div class="src-line"><a name="a550"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a> <span class="src-key">as </span><span class="src-var">$index</span>=><span class="src-var">$filter</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
565 |
+<li><div class="src-line"><a name="a551"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$filter</span><span class="src-sym">) </span>&& <span class="src-var">$filter</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-var">$class</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
566 |
+<li><div class="src-line"><a name="a552"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$filters">filters</a><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
567 |
+<li><div class="src-line"><a name="a553"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
568 |
+<li><div class="src-line"><a name="a554"></a> <span class="src-sym">}</span></div></li> |
|
569 |
+<li><div class="src-line"><a name="a555"></a> <span class="src-sym">}</span></div></li> |
|
570 |
+<li><div class="src-line"><a name="a556"></a> <span class="src-sym">}</span></div></li> |
|
571 |
+<li><div class="src-line"><a name="a557"></a> <span class="src-sym">}</span></div></li> |
|
572 |
+<li><div class="src-line"><a name="a558"></a> </div></li> |
|
573 |
+<li><div class="src-line"><a name="a559"></a> <span class="src-doc">/**</span></div></li> |
|
574 |
+<li><div class="src-line"><a name="a560"></a><span class="src-doc"> * adds a resource or overrides a default one</span></div></li> |
|
575 |
+<li><div class="src-line"><a name="a561"></a><span class="src-doc"> *</span></div></li> |
|
576 |
+<li><div class="src-line"><a name="a562"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the resource name</span></div></li> |
|
577 |
+<li><div class="src-line"><a name="a563"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$class </span><span class="src-doc">the resource class (which must implement Dwoo_ITemplate)</span></div></li> |
|
578 |
+<li><div class="src-line"><a name="a564"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$compilerFactory </span><span class="src-doc">the compiler factory callback, a function that must return a compiler instance used to compile this resource, if none is provided. by default it will produce a Dwoo_Compiler object</span></div></li> |
|
579 |
+<li><div class="src-line"><a name="a565"></a><span class="src-doc"> */</span></div></li> |
|
580 |
+<li><div class="src-line"><a name="a566"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddResource">addResource</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-var">$compilerFactory </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
581 |
+<li><div class="src-line"><a name="a567"></a> <span class="src-sym">{</span></div></li> |
|
582 |
+<li><div class="src-line"><a name="a568"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>< <span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
583 |
+<li><div class="src-line"><a name="a569"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Resource names must be at least two-character long to avoid conflicts with Windows paths'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
584 |
+<li><div class="src-line"><a name="a570"></a> <span class="src-sym">}</span></div></li> |
|
585 |
+<li><div class="src-line"><a name="a571"></a> </div></li> |
|
586 |
+<li><div class="src-line"><a name="a572"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
587 |
+<li><div class="src-line"><a name="a573"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Resource class does not exist'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
588 |
+<li><div class="src-line"><a name="a574"></a> <span class="src-sym">}</span></div></li> |
|
589 |
+<li><div class="src-line"><a name="a575"></a> </div></li> |
|
590 |
+<li><div class="src-line"><a name="a576"></a> <span class="src-var">$interfaces </span>= <a href="http://www.php.net/class_implements">class_implements</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
591 |
+<li><div class="src-line"><a name="a577"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-str">'Dwoo_ITemplate'</span><span class="src-sym">, </span><span class="src-var">$interfaces</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
592 |
+<li><div class="src-line"><a name="a578"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Resource class must implement Dwoo_ITemplate'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
593 |
+<li><div class="src-line"><a name="a579"></a> <span class="src-sym">}</span></div></li> |
|
594 |
+<li><div class="src-line"><a name="a580"></a> </div></li> |
|
595 |
+<li><div class="src-line"><a name="a581"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'class'</span>=><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'compiler'</span>=><span class="src-var">$compilerFactory</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
596 |
+<li><div class="src-line"><a name="a582"></a> <span class="src-sym">}</span></div></li> |
|
597 |
+<li><div class="src-line"><a name="a583"></a> </div></li> |
|
598 |
+<li><div class="src-line"><a name="a584"></a> <span class="src-doc">/**</span></div></li> |
|
599 |
+<li><div class="src-line"><a name="a585"></a><span class="src-doc"> * removes a custom resource</span></div></li> |
|
600 |
+<li><div class="src-line"><a name="a586"></a><span class="src-doc"> *</span></div></li> |
|
601 |
+<li><div class="src-line"><a name="a587"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the resource name</span></div></li> |
|
602 |
+<li><div class="src-line"><a name="a588"></a><span class="src-doc"> */</span></div></li> |
|
603 |
+<li><div class="src-line"><a name="a589"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodremoveResource">removeResource</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
|
604 |
+<li><div class="src-line"><a name="a590"></a> <span class="src-sym">{</span></div></li> |
|
605 |
+<li><div class="src-line"><a name="a591"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
606 |
+<li><div class="src-line"><a name="a592"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$name</span>===<span class="src-str">'file'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
607 |
+<li><div class="src-line"><a name="a593"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-str">'file'</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'class'</span>=><span class="src-str">'Dwoo_Template_File'</span><span class="src-sym">, </span><span class="src-str">'compiler'</span>=><span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
608 |
+<li><div class="src-line"><a name="a594"></a> <span class="src-sym">}</span></div></li> |
|
609 |
+<li><div class="src-line"><a name="a595"></a> <span class="src-sym">}</span></div></li> |
|
610 |
+<li><div class="src-line"><a name="a596"></a> </div></li> |
|
611 |
+<li><div class="src-line"><a name="a597"></a> <span class="src-comm">/*</span></div></li> |
|
612 |
+<li><div class="src-line"><a name="a598"></a><span class="src-comm"> * --------- getters and setters ---------</span></div></li> |
|
613 |
+<li><div class="src-line"><a name="a599"></a><span class="src-comm"> */</span></div></li> |
|
614 |
+<li><div class="src-line"><a name="a600"></a> </div></li> |
|
615 |
+<li><div class="src-line"><a name="a601"></a> <span class="src-doc">/**</span></div></li> |
|
616 |
+<li><div class="src-line"><a name="a602"></a><span class="src-doc"> * sets the loader object to use to load plugins</span></div></li> |
|
617 |
+<li><div class="src-line"><a name="a603"></a><span class="src-doc"> *</span></div></li> |
|
618 |
+<li><div class="src-line"><a name="a604"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ILoader </span><span class="src-doc-var">$loader </span><span class="src-doc">loader object</span></div></li> |
|
619 |
+<li><div class="src-line"><a name="a605"></a><span class="src-doc"> */</span></div></li> |
|
620 |
+<li><div class="src-line"><a name="a606"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetLoader">setLoader</a><span class="src-sym">(</span><span class="src-id">Dwoo_ILoader </span><span class="src-var">$loader</span><span class="src-sym">)</span></div></li> |
|
621 |
+<li><div class="src-line"><a name="a607"></a> <span class="src-sym">{</span></div></li> |
|
622 |
+<li><div class="src-line"><a name="a608"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a> = <span class="src-var">$loader</span><span class="src-sym">;</span></div></li> |
|
623 |
+<li><div class="src-line"><a name="a609"></a> <span class="src-sym">}</span></div></li> |
|
624 |
+<li><div class="src-line"><a name="a610"></a> </div></li> |
|
625 |
+<li><div class="src-line"><a name="a611"></a> <span class="src-doc">/**</span></div></li> |
|
626 |
+<li><div class="src-line"><a name="a612"></a><span class="src-doc"> * returns the current loader object or a default one if none is currently found</span></div></li> |
|
627 |
+<li><div class="src-line"><a name="a613"></a><span class="src-doc"> *</span></div></li> |
|
628 |
+<li><div class="src-line"><a name="a614"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ILoader </span></div></li> |
|
629 |
+<li><div class="src-line"><a name="a615"></a><span class="src-doc"> */</span></div></li> |
|
630 |
+<li><div class="src-line"><a name="a616"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
631 |
+<li><div class="src-line"><a name="a617"></a> <span class="src-sym">{</span></div></li> |
|
632 |
+<li><div class="src-line"><a name="a618"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a> === <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
633 |
+<li><div class="src-line"><a name="a619"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a> = <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Loader.html">Dwoo_Loader</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetCompileDir">getCompileDir</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
634 |
+<li><div class="src-line"><a name="a620"></a> <span class="src-sym">}</span></div></li> |
|
635 |
+<li><div class="src-line"><a name="a621"></a> </div></li> |
|
636 |
+<li><div class="src-line"><a name="a622"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$loader">loader</a><span class="src-sym">;</span></div></li> |
|
637 |
+<li><div class="src-line"><a name="a623"></a> <span class="src-sym">}</span></div></li> |
|
638 |
+<li><div class="src-line"><a name="a624"></a> </div></li> |
|
639 |
+<li><div class="src-line"><a name="a625"></a> <span class="src-doc">/**</span></div></li> |
|
640 |
+<li><div class="src-line"><a name="a626"></a><span class="src-doc"> * returns the custom plugins loaded</span></div></li> |
|
641 |
+<li><div class="src-line"><a name="a627"></a><span class="src-doc"> *</span></div></li> |
|
642 |
+<li><div class="src-line"><a name="a628"></a><span class="src-doc"> * used by the Dwoo_ITemplate classes to pass the custom plugins to their Dwoo_ICompiler instance</span></div></li> |
|
643 |
+<li><div class="src-line"><a name="a629"></a><span class="src-doc"> *</span></div></li> |
|
644 |
+<li><div class="src-line"><a name="a630"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> |
|
645 |
+<li><div class="src-line"><a name="a631"></a><span class="src-doc"> */</span></div></li> |
|
646 |
+<li><div class="src-line"><a name="a632"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCustomPlugins">getCustomPlugins</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
647 |
+<li><div class="src-line"><a name="a633"></a> <span class="src-sym">{</span></div></li> |
|
648 |
+<li><div class="src-line"><a name="a634"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">;</span></div></li> |
|
649 |
+<li><div class="src-line"><a name="a635"></a> <span class="src-sym">}</span></div></li> |
|
650 |
+<li><div class="src-line"><a name="a636"></a> </div></li> |
|
651 |
+<li><div class="src-line"><a name="a637"></a> <span class="src-doc">/**</span></div></li> |
|
652 |
+<li><div class="src-line"><a name="a638"></a><span class="src-doc"> * returns the cache directory with a trailing DIRECTORY_SEPARATOR</span></div></li> |
|
653 |
+<li><div class="src-line"><a name="a639"></a><span class="src-doc"> *</span></div></li> |
|
654 |
+<li><div class="src-line"><a name="a640"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
|
655 |
+<li><div class="src-line"><a name="a641"></a><span class="src-doc"> */</span></div></li> |
|
656 |
+<li><div class="src-line"><a name="a642"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCacheDir">getCacheDir</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
657 |
+<li><div class="src-line"><a name="a643"></a> <span class="src-sym">{</span></div></li> |
|
658 |
+<li><div class="src-line"><a name="a644"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a> === <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
659 |
+<li><div class="src-line"><a name="a645"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCacheDir">setCacheDir</a><span class="src-sym">(</span><a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span>.<span class="src-str">'cache'</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
660 |
+<li><div class="src-line"><a name="a646"></a> <span class="src-sym">}</span></div></li> |
|
661 |
+<li><div class="src-line"><a name="a647"></a> </div></li> |
|
662 |
+<li><div class="src-line"><a name="a648"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a><span class="src-sym">;</span></div></li> |
|
663 |
+<li><div class="src-line"><a name="a649"></a> <span class="src-sym">}</span></div></li> |
|
664 |
+<li><div class="src-line"><a name="a650"></a> </div></li> |
|
665 |
+<li><div class="src-line"><a name="a651"></a> <span class="src-doc">/**</span></div></li> |
|
666 |
+<li><div class="src-line"><a name="a652"></a><span class="src-doc"> * sets the cache directory and automatically appends a DIRECTORY_SEPARATOR</span></div></li> |
|
667 |
+<li><div class="src-line"><a name="a653"></a><span class="src-doc"> *</span></div></li> |
|
668 |
+<li><div class="src-line"><a name="a654"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$dir </span><span class="src-doc">the cache directory</span></div></li> |
|
669 |
+<li><div class="src-line"><a name="a655"></a><span class="src-doc"> */</span></div></li> |
|
670 |
+<li><div class="src-line"><a name="a656"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCacheDir">setCacheDir</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">)</span></div></li> |
|
671 |
+<li><div class="src-line"><a name="a657"></a> <span class="src-sym">{</span></div></li> |
|
672 |
+<li><div class="src-line"><a name="a658"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a> = <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">, </span><span class="src-str">'/\\'</span><span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">;</span></div></li> |
|
673 |
+<li><div class="src-line"><a name="a659"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
674 |
+<li><div class="src-line"><a name="a660"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'The cache directory must be writable, chmod "'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheDir">cacheDir</a>.<span class="src-str">'" to make it writable'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
675 |
+<li><div class="src-line"><a name="a661"></a> <span class="src-sym">}</span></div></li> |
|
676 |
+<li><div class="src-line"><a name="a662"></a> <span class="src-sym">}</span></div></li> |
|
677 |
+<li><div class="src-line"><a name="a663"></a> </div></li> |
|
678 |
+<li><div class="src-line"><a name="a664"></a> <span class="src-doc">/**</span></div></li> |
|
679 |
+<li><div class="src-line"><a name="a665"></a><span class="src-doc"> * returns the compile directory with a trailing DIRECTORY_SEPARATOR</span></div></li> |
|
680 |
+<li><div class="src-line"><a name="a666"></a><span class="src-doc"> *</span></div></li> |
|
681 |
+<li><div class="src-line"><a name="a667"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
|
682 |
+<li><div class="src-line"><a name="a668"></a><span class="src-doc"> */</span></div></li> |
|
683 |
+<li><div class="src-line"><a name="a669"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCompileDir">getCompileDir</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
684 |
+<li><div class="src-line"><a name="a670"></a> <span class="src-sym">{</span></div></li> |
|
685 |
+<li><div class="src-line"><a name="a671"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a> === <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
686 |
+<li><div class="src-line"><a name="a672"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodsetCompileDir">setCompileDir</a><span class="src-sym">(</span><a href="http://www.php.net/dirname">dirname</a><span class="src-sym">(</span>__FILE__<span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span>.<span class="src-str">'compiled'</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
687 |
+<li><div class="src-line"><a name="a673"></a> <span class="src-sym">}</span></div></li> |
|
688 |
+<li><div class="src-line"><a name="a674"></a> </div></li> |
|
689 |
+<li><div class="src-line"><a name="a675"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a><span class="src-sym">;</span></div></li> |
|
690 |
+<li><div class="src-line"><a name="a676"></a> <span class="src-sym">}</span></div></li> |
|
691 |
+<li><div class="src-line"><a name="a677"></a> </div></li> |
|
692 |
+<li><div class="src-line"><a name="a678"></a> <span class="src-doc">/**</span></div></li> |
|
693 |
+<li><div class="src-line"><a name="a679"></a><span class="src-doc"> * sets the compile directory and automatically appends a DIRECTORY_SEPARATOR</span></div></li> |
|
694 |
+<li><div class="src-line"><a name="a680"></a><span class="src-doc"> *</span></div></li> |
|
695 |
+<li><div class="src-line"><a name="a681"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$dir </span><span class="src-doc">the compile directory</span></div></li> |
|
696 |
+<li><div class="src-line"><a name="a682"></a><span class="src-doc"> */</span></div></li> |
|
697 |
+<li><div class="src-line"><a name="a683"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCompileDir">setCompileDir</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">)</span></div></li> |
|
698 |
+<li><div class="src-line"><a name="a684"></a> <span class="src-sym">{</span></div></li> |
|
699 |
+<li><div class="src-line"><a name="a685"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a> = <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$dir</span><span class="src-sym">, </span><span class="src-str">'/\\'</span><span class="src-sym">)</span>.<span class="src-id">DIRECTORY_SEPARATOR</span><span class="src-sym">;</span></div></li> |
|
700 |
+<li><div class="src-line"><a name="a686"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_writable">is_writable</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
701 |
+<li><div class="src-line"><a name="a687"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'The compile directory must be writable, chmod "'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$compileDir">compileDir</a>.<span class="src-str">'" to make it writable'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
702 |
+<li><div class="src-line"><a name="a688"></a> <span class="src-sym">}</span></div></li> |
|
703 |
+<li><div class="src-line"><a name="a689"></a> <span class="src-sym">}</span></div></li> |
|
704 |
+<li><div class="src-line"><a name="a690"></a> </div></li> |
|
705 |
+<li><div class="src-line"><a name="a691"></a> <span class="src-doc">/**</span></div></li> |
|
706 |
+<li><div class="src-line"><a name="a692"></a><span class="src-doc"> * returns the default cache time that is used with templates that do not have a cache time set</span></div></li> |
|
707 |
+<li><div class="src-line"><a name="a693"></a><span class="src-doc"> *</span></div></li> |
|
708 |
+<li><div class="src-line"><a name="a694"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">the duration in seconds</span></div></li> |
|
709 |
+<li><div class="src-line"><a name="a695"></a><span class="src-doc"> */</span></div></li> |
|
710 |
+<li><div class="src-line"><a name="a696"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCacheTime">getCacheTime</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
711 |
+<li><div class="src-line"><a name="a697"></a> <span class="src-sym">{</span></div></li> |
|
712 |
+<li><div class="src-line"><a name="a698"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheTime">cacheTime</a><span class="src-sym">;</span></div></li> |
|
713 |
+<li><div class="src-line"><a name="a699"></a> <span class="src-sym">}</span></div></li> |
|
714 |
+<li><div class="src-line"><a name="a700"></a> </div></li> |
|
715 |
+<li><div class="src-line"><a name="a701"></a> <span class="src-doc">/**</span></div></li> |
|
716 |
+<li><div class="src-line"><a name="a702"></a><span class="src-doc"> * sets the default cache time to use with templates that do not have a cache time set</span></div></li> |
|
717 |
+<li><div class="src-line"><a name="a703"></a><span class="src-doc"> *</span></div></li> |
|
718 |
+<li><div class="src-line"><a name="a704"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$seconds </span><span class="src-doc">the duration in seconds</span></div></li> |
|
719 |
+<li><div class="src-line"><a name="a705"></a><span class="src-doc"> */</span></div></li> |
|
720 |
+<li><div class="src-line"><a name="a706"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCacheTime">setCacheTime</a><span class="src-sym">(</span><span class="src-var">$seconds</span><span class="src-sym">)</span></div></li> |
|
721 |
+<li><div class="src-line"><a name="a707"></a> <span class="src-sym">{</span></div></li> |
|
722 |
+<li><div class="src-line"><a name="a708"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$cacheTime">cacheTime</a> = (int) <span class="src-var">$seconds</span><span class="src-sym">;</span></div></li> |
|
723 |
+<li><div class="src-line"><a name="a709"></a> <span class="src-sym">}</span></div></li> |
|
724 |
+<li><div class="src-line"><a name="a710"></a> </div></li> |
|
725 |
+<li><div class="src-line"><a name="a711"></a> <span class="src-doc">/**</span></div></li> |
|
726 |
+<li><div class="src-line"><a name="a712"></a><span class="src-doc"> * returns the character set used by the string manipulation plugins</span></div></li> |
|
727 |
+<li><div class="src-line"><a name="a713"></a><span class="src-doc"> *</span></div></li> |
|
728 |
+<li><div class="src-line"><a name="a714"></a><span class="src-doc"> * the charset is automatically lowercased</span></div></li> |
|
729 |
+<li><div class="src-line"><a name="a715"></a><span class="src-doc"> *</span></div></li> |
|
730 |
+<li><div class="src-line"><a name="a716"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span></div></li> |
|
731 |
+<li><div class="src-line"><a name="a717"></a><span class="src-doc"> */</span></div></li> |
|
732 |
+<li><div class="src-line"><a name="a718"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetCharset">getCharset</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
733 |
+<li><div class="src-line"><a name="a719"></a> <span class="src-sym">{</span></div></li> |
|
734 |
+<li><div class="src-line"><a name="a720"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$charset">charset</a><span class="src-sym">;</span></div></li> |
|
735 |
+<li><div class="src-line"><a name="a721"></a> <span class="src-sym">}</span></div></li> |
|
736 |
+<li><div class="src-line"><a name="a722"></a> </div></li> |
|
737 |
+<li><div class="src-line"><a name="a723"></a> <span class="src-doc">/**</span></div></li> |
|
738 |
+<li><div class="src-line"><a name="a724"></a><span class="src-doc"> * sets the character set used by the string manipulation plugins</span></div></li> |
|
739 |
+<li><div class="src-line"><a name="a725"></a><span class="src-doc"> *</span></div></li> |
|
740 |
+<li><div class="src-line"><a name="a726"></a><span class="src-doc"> * the charset will be automatically lowercased</span></div></li> |
|
741 |
+<li><div class="src-line"><a name="a727"></a><span class="src-doc"> *</span></div></li> |
|
742 |
+<li><div class="src-line"><a name="a728"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$charset </span><span class="src-doc">the character set</span></div></li> |
|
743 |
+<li><div class="src-line"><a name="a729"></a><span class="src-doc"> */</span></div></li> |
|
744 |
+<li><div class="src-line"><a name="a730"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetCharset">setCharset</a><span class="src-sym">(</span><span class="src-var">$charset</span><span class="src-sym">)</span></div></li> |
|
745 |
+<li><div class="src-line"><a name="a731"></a> <span class="src-sym">{</span></div></li> |
|
746 |
+<li><div class="src-line"><a name="a732"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$charset">charset</a> = <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span>(string) <span class="src-var">$charset</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
747 |
+<li><div class="src-line"><a name="a733"></a> <span class="src-sym">}</span></div></li> |
|
748 |
+<li><div class="src-line"><a name="a734"></a> </div></li> |
|
749 |
+<li><div class="src-line"><a name="a735"></a> <span class="src-doc">/**</span></div></li> |
|
750 |
+<li><div class="src-line"><a name="a736"></a><span class="src-doc"> * returns the current template being rendered, when applicable, or null</span></div></li> |
|
751 |
+<li><div class="src-line"><a name="a737"></a><span class="src-doc"> *</span></div></li> |
|
752 |
+<li><div class="src-line"><a name="a738"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_ITemplate</span><span class="src-doc">|</span><span class="src-doc-type">null</span></div></li> |
|
753 |
+<li><div class="src-line"><a name="a739"></a><span class="src-doc"> */</span></div></li> |
|
754 |
+<li><div class="src-line"><a name="a740"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetTemplate">getTemplate</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
755 |
+<li><div class="src-line"><a name="a741"></a> <span class="src-sym">{</span></div></li> |
|
756 |
+<li><div class="src-line"><a name="a742"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a><span class="src-sym">;</span></div></li> |
|
757 |
+<li><div class="src-line"><a name="a743"></a> <span class="src-sym">}</span></div></li> |
|
758 |
+<li><div class="src-line"><a name="a744"></a> </div></li> |
|
759 |
+<li><div class="src-line"><a name="a745"></a> <span class="src-doc">/**</span></div></li> |
|
760 |
+<li><div class="src-line"><a name="a746"></a><span class="src-doc"> * sets the current template being rendered</span></div></li> |
|
761 |
+<li><div class="src-line"><a name="a747"></a><span class="src-doc"> *</span></div></li> |
|
762 |
+<li><div class="src-line"><a name="a748"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ITemplate </span><span class="src-doc-var">$tpl </span><span class="src-doc">template object</span></div></li> |
|
763 |
+<li><div class="src-line"><a name="a749"></a><span class="src-doc"> */</span></div></li> |
|
764 |
+<li><div class="src-line"><a name="a750"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetTemplate">setTemplate</a><span class="src-sym">(</span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$tpl</span><span class="src-sym">)</span></div></li> |
|
765 |
+<li><div class="src-line"><a name="a751"></a> <span class="src-sym">{</span></div></li> |
|
766 |
+<li><div class="src-line"><a name="a752"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a> = <span class="src-var">$tpl</span><span class="src-sym">;</span></div></li> |
|
767 |
+<li><div class="src-line"><a name="a753"></a> <span class="src-sym">}</span></div></li> |
|
768 |
+<li><div class="src-line"><a name="a754"></a> </div></li> |
|
769 |
+<li><div class="src-line"><a name="a755"></a> <span class="src-doc">/**</span></div></li> |
|
770 |
+<li><div class="src-line"><a name="a756"></a><span class="src-doc"> * sets the default compiler factory function for the given resource name</span></div></li> |
|
771 |
+<li><div class="src-line"><a name="a757"></a><span class="src-doc"> *</span></div></li> |
|
772 |
+<li><div class="src-line"><a name="a758"></a><span class="src-doc"> * a compiler factory must return a Dwoo_ICompiler object pre-configured to fit your needs</span></div></li> |
| 773 |
773 |
<li><div class="src-line"><a name="a759"></a><span class="src-doc"> *</span></div></li> |
| 774 |
|
-<li><div class="src-line"><a name="a760"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceName </span><span class="src-doc">the resource name</span></div></li> |
| 775 |
|
-<li><div class="src-line"><a name="a761"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">callback </span><span class="src-doc">the compiler factory callback</span></div></li> |
|
774 |
+<li><div class="src-line"><a name="a760"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceName </span><span class="src-doc">the resource name (i.e. file, string)</span></div></li> |
|
775 |
+<li><div class="src-line"><a name="a761"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$compilerFactory </span><span class="src-doc">the compiler factory callback</span></div></li> |
| 776 |
776 |
<li><div class="src-line"><a name="a762"></a><span class="src-doc"> */</span></div></li> |
| 777 |
|
-<li><div class="src-line"><a name="a763"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetDefaultCompilerFactory">getDefaultCompilerFactory</a><span class="src-sym">(</span><span class="src-var">$resourceName</span><span class="src-sym">)</span></div></li> |
|
777 |
+<li><div class="src-line"><a name="a763"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetDefaultCompilerFactory">setDefaultCompilerFactory</a><span class="src-sym">(</span><span class="src-var">$resourceName</span><span class="src-sym">, </span><span class="src-var">$compilerFactory</span><span class="src-sym">)</span></div></li> |
| 778 |
778 |
<li><div class="src-line"><a name="a764"></a> <span class="src-sym">{</span></div></li> |
| 779 |
|
-<li><div class="src-line"><a name="a765"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'compiler'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
779 |
+<li><div class="src-line"><a name="a765"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'compiler'</span><span class="src-sym">] </span>= <span class="src-var">$compilerFactory</span><span class="src-sym">;</span></div></li> |
| 780 |
780 |
<li><div class="src-line"><a name="a766"></a> <span class="src-sym">}</span></div></li> |
| 781 |
781 |
<li><div class="src-line"><a name="a767"></a> </div></li> |
| 782 |
782 |
<li><div class="src-line"><a name="a768"></a> <span class="src-doc">/**</span></div></li> |
| 783 |
|
-<li><div class="src-line"><a name="a769"></a><span class="src-doc"> * sets the security policy object to enforce some php security settings</span></div></li> |
|
783 |
+<li><div class="src-line"><a name="a769"></a><span class="src-doc"> * returns the default compiler factory function for the given resource name</span></div></li> |
| 784 |
784 |
<li><div class="src-line"><a name="a770"></a><span class="src-doc"> *</span></div></li> |
| 785 |
|
-<li><div class="src-line"><a name="a771"></a><span class="src-doc"> * use this if untrusted persons can modify templates</span></div></li> |
| 786 |
|
-<li><div class="src-line"><a name="a772"></a><span class="src-doc"> *</span></div></li> |
| 787 |
|
-<li><div class="src-line"><a name="a773"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_Security_Policy </span><span class="src-doc-var">$policy </span><span class="src-doc">the security policy object</span></div></li> |
| 788 |
|
-<li><div class="src-line"><a name="a774"></a><span class="src-doc"> */</span></div></li> |
| 789 |
|
-<li><div class="src-line"><a name="a775"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetSecurityPolicy">setSecurityPolicy</a><span class="src-sym">(</span><span class="src-id">Dwoo_Security_Policy </span><span class="src-var">$policy </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 790 |
|
-<li><div class="src-line"><a name="a776"></a> <span class="src-sym">{</span></div></li> |
| 791 |
|
-<li><div class="src-line"><a name="a777"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$securityPolicy">securityPolicy</a> = <span class="src-var">$policy</span><span class="src-sym">;</span></div></li> |
| 792 |
|
-<li><div class="src-line"><a name="a778"></a> <span class="src-sym">}</span></div></li> |
| 793 |
|
-<li><div class="src-line"><a name="a779"></a> </div></li> |
| 794 |
|
-<li><div class="src-line"><a name="a780"></a> <span class="src-doc">/**</span></div></li> |
| 795 |
|
-<li><div class="src-line"><a name="a781"></a><span class="src-doc"> * returns the current security policy object or null by default</span></div></li> |
| 796 |
|
-<li><div class="src-line"><a name="a782"></a><span class="src-doc"> *</span></div></li> |
| 797 |
|
-<li><div class="src-line"><a name="a783"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Security_Policy</span><span class="src-doc">|</span><span class="src-doc-type">null</span><span class="src-doc">the security policy object if any</span></div></li> |
| 798 |
|
-<li><div class="src-line"><a name="a784"></a><span class="src-doc"> */</span></div></li> |
| 799 |
|
-<li><div class="src-line"><a name="a785"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetSecurityPolicy">getSecurityPolicy</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 800 |
|
-<li><div class="src-line"><a name="a786"></a> <span class="src-sym">{</span></div></li> |
| 801 |
|
-<li><div class="src-line"><a name="a787"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$securityPolicy">securityPolicy</a><span class="src-sym">;</span></div></li> |
| 802 |
|
-<li><div class="src-line"><a name="a788"></a> <span class="src-sym">}</span></div></li> |
| 803 |
|
-<li><div class="src-line"><a name="a789"></a> </div></li> |
| 804 |
|
-<li><div class="src-line"><a name="a790"></a> <span class="src-doc">/**</span></div></li> |
| 805 |
|
-<li><div class="src-line"><a name="a791"></a><span class="src-doc"> * sets the object that must be used as a plugin proxy when plugin can't be found</span></div></li> |
| 806 |
|
-<li><div class="src-line"><a name="a792"></a><span class="src-doc"> * by dwoo's loader</span></div></li> |
|
785 |
+<li><div class="src-line"><a name="a771"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceName </span><span class="src-doc">the resource name</span></div></li> |
|
786 |
+<li><div class="src-line"><a name="a772"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">callback </span><span class="src-doc">the compiler factory callback</span></div></li> |
|
787 |
+<li><div class="src-line"><a name="a773"></a><span class="src-doc"> */</span></div></li> |
|
788 |
+<li><div class="src-line"><a name="a774"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetDefaultCompilerFactory">getDefaultCompilerFactory</a><span class="src-sym">(</span><span class="src-var">$resourceName</span><span class="src-sym">)</span></div></li> |
|
789 |
+<li><div class="src-line"><a name="a775"></a> <span class="src-sym">{</span></div></li> |
|
790 |
+<li><div class="src-line"><a name="a776"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'compiler'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
791 |
+<li><div class="src-line"><a name="a777"></a> <span class="src-sym">}</span></div></li> |
|
792 |
+<li><div class="src-line"><a name="a778"></a> </div></li> |
|
793 |
+<li><div class="src-line"><a name="a779"></a> <span class="src-doc">/**</span></div></li> |
|
794 |
+<li><div class="src-line"><a name="a780"></a><span class="src-doc"> * sets the security policy object to enforce some php security settings</span></div></li> |
|
795 |
+<li><div class="src-line"><a name="a781"></a><span class="src-doc"> *</span></div></li> |
|
796 |
+<li><div class="src-line"><a name="a782"></a><span class="src-doc"> * use this if untrusted persons can modify templates</span></div></li> |
|
797 |
+<li><div class="src-line"><a name="a783"></a><span class="src-doc"> *</span></div></li> |
|
798 |
+<li><div class="src-line"><a name="a784"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_Security_Policy </span><span class="src-doc-var">$policy </span><span class="src-doc">the security policy object</span></div></li> |
|
799 |
+<li><div class="src-line"><a name="a785"></a><span class="src-doc"> */</span></div></li> |
|
800 |
+<li><div class="src-line"><a name="a786"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetSecurityPolicy">setSecurityPolicy</a><span class="src-sym">(</span><span class="src-id">Dwoo_Security_Policy </span><span class="src-var">$policy </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
801 |
+<li><div class="src-line"><a name="a787"></a> <span class="src-sym">{</span></div></li> |
|
802 |
+<li><div class="src-line"><a name="a788"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$securityPolicy">securityPolicy</a> = <span class="src-var">$policy</span><span class="src-sym">;</span></div></li> |
|
803 |
+<li><div class="src-line"><a name="a789"></a> <span class="src-sym">}</span></div></li> |
|
804 |
+<li><div class="src-line"><a name="a790"></a> </div></li> |
|
805 |
+<li><div class="src-line"><a name="a791"></a> <span class="src-doc">/**</span></div></li> |
|
806 |
+<li><div class="src-line"><a name="a792"></a><span class="src-doc"> * returns the current security policy object or null by default</span></div></li> |
| 807 |
807 |
<li><div class="src-line"><a name="a793"></a><span class="src-doc"> *</span></div></li> |
| 808 |
|
-<li><div class="src-line"><a name="a794"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_IPluginProxy </span><span class="src-doc-var">$pluginProxy </span><span class="src-doc">the proxy object</span></div></li> |
|
808 |
+<li><div class="src-line"><a name="a794"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Security_Policy</span><span class="src-doc">|</span><span class="src-doc-type">null</span><span class="src-doc">the security policy object if any</span></div></li> |
| 809 |
809 |
<li><div class="src-line"><a name="a795"></a><span class="src-doc"> */</span></div></li> |
| 810 |
|
-<li><div class="src-line"><a name="a796"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetPluginProxy">setPluginProxy</a><span class="src-sym">(</span><span class="src-id">Dwoo_IPluginProxy </span><span class="src-var">$pluginProxy</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 811 |
|
-<li><div class="src-line"><a name="a797"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$pluginProxy">pluginProxy</a> = <span class="src-var">$pluginProxy</span><span class="src-sym">;</span></div></li> |
| 812 |
|
-<li><div class="src-line"><a name="a798"></a> <span class="src-sym">}</span></div></li> |
| 813 |
|
-<li><div class="src-line"><a name="a799"></a> </div></li> |
| 814 |
|
-<li><div class="src-line"><a name="a800"></a> <span class="src-doc">/**</span></div></li> |
| 815 |
|
-<li><div class="src-line"><a name="a801"></a><span class="src-doc"> * returns the current plugin proxy object or null by default</span></div></li> |
| 816 |
|
-<li><div class="src-line"><a name="a802"></a><span class="src-doc"> *</span></div></li> |
| 817 |
|
-<li><div class="src-line"><a name="a803"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_IPluginProxy</span><span class="src-doc">|</span><span class="src-doc-type">null</span><span class="src-doc">the proxy object if any</span></div></li> |
| 818 |
|
-<li><div class="src-line"><a name="a804"></a><span class="src-doc"> */</span></div></li> |
| 819 |
|
-<li><div class="src-line"><a name="a805"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetPluginProxy">getPluginProxy</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 820 |
|
-<li><div class="src-line"><a name="a806"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$pluginProxy">pluginProxy</a><span class="src-sym">;</span></div></li> |
| 821 |
|
-<li><div class="src-line"><a name="a807"></a> <span class="src-sym">}</span></div></li> |
| 822 |
|
-<li><div class="src-line"><a name="a808"></a> </div></li> |
| 823 |
|
-<li><div class="src-line"><a name="a809"></a> <span class="src-comm">/*</span></div></li> |
| 824 |
|
-<li><div class="src-line"><a name="a810"></a><span class="src-comm"> * --------- util functions ---------</span></div></li> |
| 825 |
|
-<li><div class="src-line"><a name="a811"></a><span class="src-comm"> */</span></div></li> |
| 826 |
|
-<li><div class="src-line"><a name="a812"></a> </div></li> |
| 827 |
|
-<li><div class="src-line"><a name="a813"></a> <span class="src-doc">/**</span></div></li> |
| 828 |
|
-<li><div class="src-line"><a name="a814"></a><span class="src-doc"> * [util function] checks whether the given template is cached or not</span></div></li> |
| 829 |
|
-<li><div class="src-line"><a name="a815"></a><span class="src-doc"> *</span></div></li> |
| 830 |
|
-<li><div class="src-line"><a name="a816"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ITemplate </span><span class="src-doc-var">$tpl </span><span class="src-doc">the template object</span></div></li> |
| 831 |
|
-<li><div class="src-line"><a name="a817"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
| 832 |
|
-<li><div class="src-line"><a name="a818"></a><span class="src-doc"> */</span></div></li> |
| 833 |
|
-<li><div class="src-line"><a name="a819"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodisCached">isCached</a><span class="src-sym">(</span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$tpl</span><span class="src-sym">)</span></div></li> |
| 834 |
|
-<li><div class="src-line"><a name="a820"></a> <span class="src-sym">{</span></div></li> |
| 835 |
|
-<li><div class="src-line"><a name="a821"></a> <span class="src-key">return </span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">-></span><span class="src-id">getCachedTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 836 |
|
-<li><div class="src-line"><a name="a822"></a> <span class="src-sym">}</span></div></li> |
|
810 |
+<li><div class="src-line"><a name="a796"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetSecurityPolicy">getSecurityPolicy</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
811 |
+<li><div class="src-line"><a name="a797"></a> <span class="src-sym">{</span></div></li> |
|
812 |
+<li><div class="src-line"><a name="a798"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$securityPolicy">securityPolicy</a><span class="src-sym">;</span></div></li> |
|
813 |
+<li><div class="src-line"><a name="a799"></a> <span class="src-sym">}</span></div></li> |
|
814 |
+<li><div class="src-line"><a name="a800"></a> </div></li> |
|
815 |
+<li><div class="src-line"><a name="a801"></a> <span class="src-doc">/**</span></div></li> |
|
816 |
+<li><div class="src-line"><a name="a802"></a><span class="src-doc"> * sets the object that must be used as a plugin proxy when plugin can't be found</span></div></li> |
|
817 |
+<li><div class="src-line"><a name="a803"></a><span class="src-doc"> * by dwoo's loader</span></div></li> |
|
818 |
+<li><div class="src-line"><a name="a804"></a><span class="src-doc"> *</span></div></li> |
|
819 |
+<li><div class="src-line"><a name="a805"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_IPluginProxy </span><span class="src-doc-var">$pluginProxy </span><span class="src-doc">the proxy object</span></div></li> |
|
820 |
+<li><div class="src-line"><a name="a806"></a><span class="src-doc"> */</span></div></li> |
|
821 |
+<li><div class="src-line"><a name="a807"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetPluginProxy">setPluginProxy</a><span class="src-sym">(</span><span class="src-id">Dwoo_IPluginProxy </span><span class="src-var">$pluginProxy</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
822 |
+<li><div class="src-line"><a name="a808"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$pluginProxy">pluginProxy</a> = <span class="src-var">$pluginProxy</span><span class="src-sym">;</span></div></li> |
|
823 |
+<li><div class="src-line"><a name="a809"></a> <span class="src-sym">}</span></div></li> |
|
824 |
+<li><div class="src-line"><a name="a810"></a> </div></li> |
|
825 |
+<li><div class="src-line"><a name="a811"></a> <span class="src-doc">/**</span></div></li> |
|
826 |
+<li><div class="src-line"><a name="a812"></a><span class="src-doc"> * returns the current plugin proxy object or null by default</span></div></li> |
|
827 |
+<li><div class="src-line"><a name="a813"></a><span class="src-doc"> *</span></div></li> |
|
828 |
+<li><div class="src-line"><a name="a814"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_IPluginProxy</span><span class="src-doc">|</span><span class="src-doc-type">null</span><span class="src-doc">the proxy object if any</span></div></li> |
|
829 |
+<li><div class="src-line"><a name="a815"></a><span class="src-doc"> */</span></div></li> |
|
830 |
+<li><div class="src-line"><a name="a816"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetPluginProxy">getPluginProxy</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
831 |
+<li><div class="src-line"><a name="a817"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$pluginProxy">pluginProxy</a><span class="src-sym">;</span></div></li> |
|
832 |
+<li><div class="src-line"><a name="a818"></a> <span class="src-sym">}</span></div></li> |
|
833 |
+<li><div class="src-line"><a name="a819"></a> </div></li> |
|
834 |
+<li><div class="src-line"><a name="a820"></a> <span class="src-comm">/*</span></div></li> |
|
835 |
+<li><div class="src-line"><a name="a821"></a><span class="src-comm"> * --------- util functions ---------</span></div></li> |
|
836 |
+<li><div class="src-line"><a name="a822"></a><span class="src-comm"> */</span></div></li> |
| 837 |
837 |
<li><div class="src-line"><a name="a823"></a> </div></li> |
| 838 |
838 |
<li><div class="src-line"><a name="a824"></a> <span class="src-doc">/**</span></div></li> |
| 839 |
|
-<li><div class="src-line"><a name="a825"></a><span class="src-doc"> * [util function] clears the cached templates if they are older than the given time</span></div></li> |
|
839 |
+<li><div class="src-line"><a name="a825"></a><span class="src-doc"> * [util function] checks whether the given template is cached or not</span></div></li> |
| 840 |
840 |
<li><div class="src-line"><a name="a826"></a><span class="src-doc"> *</span></div></li> |
| 841 |
|
-<li><div class="src-line"><a name="a827"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$olderThan </span><span class="src-doc">minimum time (in seconds) required for a cached template to be cleared</span></div></li> |
| 842 |
|
-<li><div class="src-line"><a name="a828"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">the amount of templates cleared</span></div></li> |
|
841 |
+<li><div class="src-line"><a name="a827"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_ITemplate </span><span class="src-doc-var">$tpl </span><span class="src-doc">the template object</span></div></li> |
|
842 |
+<li><div class="src-line"><a name="a828"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
| 843 |
843 |
<li><div class="src-line"><a name="a829"></a><span class="src-doc"> */</span></div></li> |
| 844 |
|
-<li><div class="src-line"><a name="a830"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodclearCache">clearCache</a><span class="src-sym">(</span><span class="src-var">$olderThan</span>=-<span class="src-num">1</span><span class="src-sym">)</span></div></li> |
|
844 |
+<li><div class="src-line"><a name="a830"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodisCached">isCached</a><span class="src-sym">(</span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$tpl</span><span class="src-sym">)</span></div></li> |
| 845 |
845 |
<li><div class="src-line"><a name="a831"></a> <span class="src-sym">{</span></div></li> |
| 846 |
|
-<li><div class="src-line"><a name="a832"></a> <span class="src-var">$cacheDirs </span>= <span class="src-key">new </span><span class="src-id">RecursiveDirectoryIterator</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetCacheDir">getCacheDir</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 847 |
|
-<li><div class="src-line"><a name="a833"></a> <span class="src-var">$cache </span>= <span class="src-key">new </span><span class="src-id">RecursiveIteratorIterator</span><span class="src-sym">(</span><span class="src-var">$cacheDirs</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 848 |
|
-<li><div class="src-line"><a name="a834"></a> <span class="src-var">$expired </span>= <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-var">$olderThan</span><span class="src-sym">;</span></div></li> |
| 849 |
|
-<li><div class="src-line"><a name="a835"></a> <span class="src-var">$count </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 850 |
|
-<li><div class="src-line"><a name="a836"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$cache </span><span class="src-key">as </span><span class="src-var">$file</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 851 |
|
-<li><div class="src-line"><a name="a837"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cache</span><span class="src-sym">-></span><span class="src-id">isDot</span><span class="src-sym">(</span><span class="src-sym">) </span>|| <span class="src-var">$cache</span><span class="src-sym">-></span><span class="src-id">isDir</span><span class="src-sym">(</span><span class="src-sym">) </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$file</span><span class="src-sym">, </span>-<span class="src-num">5</span><span class="src-sym">) </span>!== <span class="src-str">'.html'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 852 |
|
-<li><div class="src-line"><a name="a838"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 853 |
|
-<li><div class="src-line"><a name="a839"></a> <span class="src-sym">}</span></div></li> |
| 854 |
|
-<li><div class="src-line"><a name="a840"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cache</span><span class="src-sym">-></span><span class="src-id">getCTime</span><span class="src-sym">(</span><span class="src-sym">) </span>< <span class="src-var">$expired</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 855 |
|
-<li><div class="src-line"><a name="a841"></a> <span class="src-var">$count </span>+= <a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span>(string) <span class="src-var">$file</span><span class="src-sym">) </span>? <span class="src-num">1 </span>: <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 856 |
|
-<li><div class="src-line"><a name="a842"></a> <span class="src-sym">}</span></div></li> |
| 857 |
|
-<li><div class="src-line"><a name="a843"></a> <span class="src-sym">}</span></div></li> |
| 858 |
|
-<li><div class="src-line"><a name="a844"></a> <span class="src-key">return </span><span class="src-var">$count</span><span class="src-sym">;</span></div></li> |
| 859 |
|
-<li><div class="src-line"><a name="a845"></a> <span class="src-sym">}</span></div></li> |
| 860 |
|
-<li><div class="src-line"><a name="a846"></a> </div></li> |
| 861 |
|
-<li><div class="src-line"><a name="a847"></a> <span class="src-doc">/**</span></div></li> |
| 862 |
|
-<li><div class="src-line"><a name="a848"></a><span class="src-doc"> * [util function] fetches a template object of the given resource</span></div></li> |
| 863 |
|
-<li><div class="src-line"><a name="a849"></a><span class="src-doc"> *</span></div></li> |
| 864 |
|
-<li><div class="src-line"><a name="a850"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceName </span><span class="src-doc">the resource name (i.e. file, string)</span></div></li> |
| 865 |
|
-<li><div class="src-line"><a name="a851"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceId </span><span class="src-doc">the resource identifier (i.e. file path)</span></div></li> |
| 866 |
|
-<li><div class="src-line"><a name="a852"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$cacheTime </span><span class="src-doc">the cache time setting for this resource</span></div></li> |
| 867 |
|
-<li><div class="src-line"><a name="a853"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cacheId </span><span class="src-doc">the unique cache identifier</span></div></li> |
| 868 |
|
-<li><div class="src-line"><a name="a854"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$compileId </span><span class="src-doc">the unique compiler identifier</span></div></li> |
| 869 |
|
-<li><div class="src-line"><a name="a855"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_ITemplate </span></div></li> |
| 870 |
|
-<li><div class="src-line"><a name="a856"></a><span class="src-doc"> */</span></div></li> |
| 871 |
|
-<li><div class="src-line"><a name="a857"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodtemplateFactory">templateFactory</a><span class="src-sym">(</span><span class="src-var">$resourceName</span><span class="src-sym">, </span><span class="src-var">$resourceId</span><span class="src-sym">, </span><span class="src-var">$cacheTime </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$cacheId </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$compileId </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$parentTemplate </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 872 |
|
-<li><div class="src-line"><a name="a858"></a> <span class="src-sym">{</span></div></li> |
| 873 |
|
-<li><div class="src-line"><a name="a859"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 874 |
|
-<li><div class="src-line"><a name="a860"></a> <span class="src-comm">// TODO could be changed to $this->resources[$resourceName]['class']::templateFactory(..) in 5.3 maybe</span></div></li> |
| 875 |
|
-<li><div class="src-line"><a name="a861"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'templateFactory'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$resourceId</span><span class="src-sym">, </span><span class="src-var">$cacheTime</span><span class="src-sym">, </span><span class="src-var">$cacheId</span><span class="src-sym">, </span><span class="src-var">$compileId</span><span class="src-sym">, </span><span class="src-var">$parentTemplate</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 876 |
|
-<li><div class="src-line"><a name="a862"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 877 |
|
-<li><div class="src-line"><a name="a863"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Unknown resource type : '</span>.<span class="src-var">$resourceName</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 878 |
|
-<li><div class="src-line"><a name="a864"></a> <span class="src-sym">}</span></div></li> |
| 879 |
|
-<li><div class="src-line"><a name="a865"></a> <span class="src-sym">}</span></div></li> |
| 880 |
|
-<li><div class="src-line"><a name="a866"></a> </div></li> |
| 881 |
|
-<li><div class="src-line"><a name="a867"></a> <span class="src-doc">/**</span></div></li> |
| 882 |
|
-<li><div class="src-line"><a name="a868"></a><span class="src-doc"> * [util function] checks if the input is an array or an iterator object, optionally it can also check if it's empty</span></div></li> |
| 883 |
|
-<li><div class="src-line"><a name="a869"></a><span class="src-doc"> *</span></div></li> |
| 884 |
|
-<li><div class="src-line"><a name="a870"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$value </span><span class="src-doc">the variable to check</span></div></li> |
| 885 |
|
-<li><div class="src-line"><a name="a871"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$checkIsEmpty </span><span class="src-doc">if true, the function will also check if the array is empty,</span></div></li> |
| 886 |
|
-<li><div class="src-line"><a name="a872"></a><span class="src-doc"> * and return true only if it's not empty</span></div></li> |
| 887 |
|
-<li><div class="src-line"><a name="a873"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true if it's an array (and not empty) or false if it's not an array (or if it's empty)</span></div></li> |
| 888 |
|
-<li><div class="src-line"><a name="a874"></a><span class="src-doc"> */</span></div></li> |
| 889 |
|
-<li><div class="src-line"><a name="a875"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodisArray">isArray</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-var">$checkIsEmpty</span>=<span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 890 |
|
-<li><div class="src-line"><a name="a876"></a> <span class="src-sym">{</span></div></li> |
| 891 |
|
-<li><div class="src-line"><a name="a877"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 892 |
|
-<li><div class="src-line"><a name="a878"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$checkIsEmpty </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 893 |
|
-<li><div class="src-line"><a name="a879"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 894 |
|
-<li><div class="src-line"><a name="a880"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 895 |
|
-<li><div class="src-line"><a name="a881"></a> <span class="src-key">return </span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 896 |
|
-<li><div class="src-line"><a name="a882"></a> <span class="src-sym">}</span></div></li> |
| 897 |
|
-<li><div class="src-line"><a name="a883"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">Iterator</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 898 |
|
-<li><div class="src-line"><a name="a884"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$checkIsEmpty </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 899 |
|
-<li><div class="src-line"><a name="a885"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 900 |
|
-<li><div class="src-line"><a name="a886"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">Countable</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 901 |
|
-<li><div class="src-line"><a name="a887"></a> <span class="src-key">return </span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 902 |
|
-<li><div class="src-line"><a name="a888"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 903 |
|
-<li><div class="src-line"><a name="a889"></a> <span class="src-var">$value</span><span class="src-sym">-></span><span class="src-id">rewind</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 904 |
|
-<li><div class="src-line"><a name="a890"></a> <span class="src-key">return </span><span class="src-var">$value</span><span class="src-sym">-></span><span class="src-id">valid</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 905 |
|
-<li><div class="src-line"><a name="a891"></a> <span class="src-sym">}</span></div></li> |
| 906 |
|
-<li><div class="src-line"><a name="a892"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 907 |
|
-<li><div class="src-line"><a name="a893"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$checkIsEmpty </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 908 |
|
-<li><div class="src-line"><a name="a894"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 909 |
|
-<li><div class="src-line"><a name="a895"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">Countable</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 910 |
|
-<li><div class="src-line"><a name="a896"></a> <span class="src-key">return </span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 911 |
|
-<li><div class="src-line"><a name="a897"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 912 |
|
-<li><div class="src-line"><a name="a898"></a> <span class="src-key">return </span><span class="src-var">$value</span><span class="src-sym">-></span><span class="src-id">offsetExists</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 913 |
|
-<li><div class="src-line"><a name="a899"></a> <span class="src-sym">}</span></div></li> |
| 914 |
|
-<li><div class="src-line"><a name="a900"></a> <span class="src-sym">}</span></div></li> |
| 915 |
|
-<li><div class="src-line"><a name="a901"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 916 |
|
-<li><div class="src-line"><a name="a902"></a> <span class="src-sym">}</span></div></li> |
| 917 |
|
-<li><div class="src-line"><a name="a903"></a> </div></li> |
| 918 |
|
-<li><div class="src-line"><a name="a904"></a> <span class="src-doc">/**</span></div></li> |
| 919 |
|
-<li><div class="src-line"><a name="a905"></a><span class="src-doc"> * [util function] triggers a dwoo error</span></div></li> |
| 920 |
|
-<li><div class="src-line"><a name="a906"></a><span class="src-doc"> *</span></div></li> |
| 921 |
|
-<li><div class="src-line"><a name="a907"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$message </span><span class="src-doc">the error message</span></div></li> |
| 922 |
|
-<li><div class="src-line"><a name="a908"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$level </span><span class="src-doc">the error level, one of the PHP's E_* constants</span></div></li> |
| 923 |
|
-<li><div class="src-line"><a name="a909"></a><span class="src-doc"> */</span></div></li> |
| 924 |
|
-<li><div class="src-line"><a name="a910"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodtriggerError">triggerError</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$level</span>=<span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span></div></li> |
| 925 |
|
-<li><div class="src-line"><a name="a911"></a> <span class="src-sym">{</span></div></li> |
| 926 |
|
-<li><div class="src-line"><a name="a912"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-sym">(</span><span class="src-var">$tplIdentifier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_ITemplate.html#methodgetResourceIdentifier">getResourceIdentifier</a><span class="src-sym">(</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
| 927 |
|
-<li><div class="src-line"><a name="a913"></a> <span class="src-var">$tplIdentifier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_ITemplate.html#methodgetResourceName">getResourceName</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 928 |
|
-<li><div class="src-line"><a name="a914"></a> <span class="src-sym">}</span></div></li> |
| 929 |
|
-<li><div class="src-line"><a name="a915"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Dwoo error (in '</span>.<span class="src-var">$tplIdentifier</span>.<span class="src-str">') : '</span>.<span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$level</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 930 |
|
-<li><div class="src-line"><a name="a916"></a> <span class="src-sym">}</span></div></li> |
| 931 |
|
-<li><div class="src-line"><a name="a917"></a> </div></li> |
| 932 |
|
-<li><div class="src-line"><a name="a918"></a> <span class="src-comm">/*</span></div></li> |
| 933 |
|
-<li><div class="src-line"><a name="a919"></a><span class="src-comm"> * --------- runtime functions ---------</span></div></li> |
| 934 |
|
-<li><div class="src-line"><a name="a920"></a><span class="src-comm"> */</span></div></li> |
| 935 |
|
-<li><div class="src-line"><a name="a921"></a> </div></li> |
| 936 |
|
-<li><div class="src-line"><a name="a922"></a> <span class="src-doc">/**</span></div></li> |
| 937 |
|
-<li><div class="src-line"><a name="a923"></a><span class="src-doc"> * [runtime function] adds a block to the block stack</span></div></li> |
| 938 |
|
-<li><div class="src-line"><a name="a924"></a><span class="src-doc"> *</span></div></li> |
| 939 |
|
-<li><div class="src-line"><a name="a925"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$blockName </span><span class="src-doc">the block name (without Dwoo_Plugin_ prefix)</span></div></li> |
| 940 |
|
-<li><div class="src-line"><a name="a926"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$args </span><span class="src-doc">the arguments to be passed to the block's init() function</span></div></li> |
| 941 |
|
-<li><div class="src-line"><a name="a927"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc">the newly created block</span></div></li> |
| 942 |
|
-<li><div class="src-line"><a name="a928"></a><span class="src-doc"> */</span></div></li> |
| 943 |
|
-<li><div class="src-line"><a name="a929"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddStack">addStack</a><span class="src-sym">(</span><span class="src-var">$blockName</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$args</span>=<span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span></div></li> |
| 944 |
|
-<li><div class="src-line"><a name="a930"></a> <span class="src-sym">{</span></div></li> |
| 945 |
|
-<li><div class="src-line"><a name="a931"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$blockName</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 946 |
|
-<li><div class="src-line"><a name="a932"></a> <span class="src-var">$class </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$blockName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 947 |
|
-<li><div class="src-line"><a name="a933"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 948 |
|
-<li><div class="src-line"><a name="a934"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$blockName</span><span class="src-sym">;</span></div></li> |
| 949 |
|
-<li><div class="src-line"><a name="a935"></a> <span class="src-sym">}</span></div></li> |
| 950 |
|
-<li><div class="src-line"><a name="a936"></a> </div></li> |
| 951 |
|
-<li><div class="src-line"><a name="a937"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> !== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 952 |
|
-<li><div class="src-line"><a name="a938"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodbuffer">buffer</a><span class="src-sym">(</span><a href="http://www.php.net/ob_get_contents">ob_get_contents</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 953 |
|
-<li><div class="src-line"><a name="a939"></a> <a href="http://www.php.net/ob_clean">ob_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 954 |
|
-<li><div class="src-line"><a name="a940"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 955 |
|
-<li><div class="src-line"><a name="a941"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$buffer">buffer</a> .= <a href="http://www.php.net/ob_get_contents">ob_get_contents</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 956 |
|
-<li><div class="src-line"><a name="a942"></a> <a href="http://www.php.net/ob_clean">ob_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 957 |
|
-<li><div class="src-line"><a name="a943"></a> <span class="src-sym">}</span></div></li> |
| 958 |
|
-<li><div class="src-line"><a name="a944"></a> </div></li> |
| 959 |
|
-<li><div class="src-line"><a name="a945"></a> <span class="src-var">$block </span>= <span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 960 |
|
-<li><div class="src-line"><a name="a946"></a> </div></li> |
| 961 |
|
-<li><div class="src-line"><a name="a947"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 962 |
|
-<li><div class="src-line"><a name="a948"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 963 |
|
-<li><div class="src-line"><a name="a949"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 964 |
|
-<li><div class="src-line"><a name="a950"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 965 |
|
-<li><div class="src-line"><a name="a951"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 966 |
|
-<li><div class="src-line"><a name="a952"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 967 |
|
-<li><div class="src-line"><a name="a953"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 968 |
|
-<li><div class="src-line"><a name="a954"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 969 |
|
-<li><div class="src-line"><a name="a955"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 970 |
|
-<li><div class="src-line"><a name="a956"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 971 |
|
-<li><div class="src-line"><a name="a957"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 972 |
|
-<li><div class="src-line"><a name="a958"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 973 |
|
-<li><div class="src-line"><a name="a959"></a> <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$block</span><span class="src-sym">,</span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 974 |
|
-<li><div class="src-line"><a name="a960"></a> <span class="src-sym">}</span></div></li> |
| 975 |
|
-<li><div class="src-line"><a name="a961"></a> </div></li> |
| 976 |
|
-<li><div class="src-line"><a name="a962"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <span class="src-var">$block</span><span class="src-sym">;</span></div></li> |
| 977 |
|
-<li><div class="src-line"><a name="a963"></a> <span class="src-key">return </span><span class="src-var">$block</span><span class="src-sym">;</span></div></li> |
| 978 |
|
-<li><div class="src-line"><a name="a964"></a> <span class="src-sym">}</span></div></li> |
| 979 |
|
-<li><div class="src-line"><a name="a965"></a> </div></li> |
| 980 |
|
-<li><div class="src-line"><a name="a966"></a> <span class="src-doc">/**</span></div></li> |
| 981 |
|
-<li><div class="src-line"><a name="a967"></a><span class="src-doc"> * [runtime function] removes the plugin at the top of the block stack</span></div></li> |
| 982 |
|
-<li><div class="src-line"><a name="a968"></a><span class="src-doc"> *</span></div></li> |
| 983 |
|
-<li><div class="src-line"><a name="a969"></a><span class="src-doc"> * calls the block buffer() function, followed by a call to end()</span></div></li> |
| 984 |
|
-<li><div class="src-line"><a name="a970"></a><span class="src-doc"> * and finally a call to process()</span></div></li> |
| 985 |
|
-<li><div class="src-line"><a name="a971"></a><span class="src-doc"> */</span></div></li> |
| 986 |
|
-<li><div class="src-line"><a name="a972"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methoddelStack">delStack</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 987 |
|
-<li><div class="src-line"><a name="a973"></a> <span class="src-sym">{</span></div></li> |
| 988 |
|
-<li><div class="src-line"><a name="a974"></a> <span class="src-var">$args </span>= <a href="http://www.php.net/func_get_args">func_get_args</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 989 |
|
-<li><div class="src-line"><a name="a975"></a> </div></li> |
| 990 |
|
-<li><div class="src-line"><a name="a976"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodbuffer">buffer</a><span class="src-sym">(</span><a href="http://www.php.net/ob_get_contents">ob_get_contents</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 991 |
|
-<li><div class="src-line"><a name="a977"></a> <a href="http://www.php.net/ob_clean">ob_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 992 |
|
-<li><div class="src-line"><a name="a978"></a> </div></li> |
| 993 |
|
-<li><div class="src-line"><a name="a979"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 994 |
|
-<li><div class="src-line"><a name="a980"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 995 |
|
-<li><div class="src-line"><a name="a981"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 996 |
|
-<li><div class="src-line"><a name="a982"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 997 |
|
-<li><div class="src-line"><a name="a983"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 998 |
|
-<li><div class="src-line"><a name="a984"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 999 |
|
-<li><div class="src-line"><a name="a985"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1000 |
|
-<li><div class="src-line"><a name="a986"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1001 |
|
-<li><div class="src-line"><a name="a987"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1002 |
|
-<li><div class="src-line"><a name="a988"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1003 |
|
-<li><div class="src-line"><a name="a989"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1004 |
|
-<li><div class="src-line"><a name="a990"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1005 |
|
-<li><div class="src-line"><a name="a991"></a> <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">, </span><span class="src-str">'end'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1006 |
|
-<li><div class="src-line"><a name="a992"></a> <span class="src-sym">}</span></div></li> |
| 1007 |
|
-<li><div class="src-line"><a name="a993"></a> </div></li> |
| 1008 |
|
-<li><div class="src-line"><a name="a994"></a> <span class="src-var">$tmp </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1009 |
|
-<li><div class="src-line"><a name="a995"></a> </div></li> |
| 1010 |
|
-<li><div class="src-line"><a name="a996"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1011 |
|
-<li><div class="src-line"><a name="a997"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <a href="http://www.php.net/end">end</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1012 |
|
-<li><div class="src-line"><a name="a998"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodbuffer">buffer</a><span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1013 |
|
-<li><div class="src-line"><a name="a999"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1014 |
|
-<li><div class="src-line"><a name="a1000"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1015 |
|
-<li><div class="src-line"><a name="a1001"></a> echo <span class="src-var">$tmp</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1016 |
|
-<li><div class="src-line"><a name="a1002"></a> <span class="src-sym">}</span></div></li> |
| 1017 |
|
-<li><div class="src-line"><a name="a1003"></a> </div></li> |
| 1018 |
|
-<li><div class="src-line"><a name="a1004"></a> unset<span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1019 |
|
-<li><div class="src-line"><a name="a1005"></a> <span class="src-sym">}</span></div></li> |
|
846 |
+<li><div class="src-line"><a name="a832"></a> <span class="src-key">return </span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">-></span><span class="src-id">getCachedTemplate</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
847 |
+<li><div class="src-line"><a name="a833"></a> <span class="src-sym">}</span></div></li> |
|
848 |
+<li><div class="src-line"><a name="a834"></a> </div></li> |
|
849 |
+<li><div class="src-line"><a name="a835"></a> <span class="src-doc">/**</span></div></li> |
|
850 |
+<li><div class="src-line"><a name="a836"></a><span class="src-doc"> * [util function] clears the cached templates if they are older than the given time</span></div></li> |
|
851 |
+<li><div class="src-line"><a name="a837"></a><span class="src-doc"> *</span></div></li> |
|
852 |
+<li><div class="src-line"><a name="a838"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$olderThan </span><span class="src-doc">minimum time (in seconds) required for a cached template to be cleared</span></div></li> |
|
853 |
+<li><div class="src-line"><a name="a839"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">the amount of templates cleared</span></div></li> |
|
854 |
+<li><div class="src-line"><a name="a840"></a><span class="src-doc"> */</span></div></li> |
|
855 |
+<li><div class="src-line"><a name="a841"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodclearCache">clearCache</a><span class="src-sym">(</span><span class="src-var">$olderThan</span>=-<span class="src-num">1</span><span class="src-sym">)</span></div></li> |
|
856 |
+<li><div class="src-line"><a name="a842"></a> <span class="src-sym">{</span></div></li> |
|
857 |
+<li><div class="src-line"><a name="a843"></a> <span class="src-var">$cacheDirs </span>= <span class="src-key">new </span><span class="src-id">RecursiveDirectoryIterator</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetCacheDir">getCacheDir</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
858 |
+<li><div class="src-line"><a name="a844"></a> <span class="src-var">$cache </span>= <span class="src-key">new </span><span class="src-id">RecursiveIteratorIterator</span><span class="src-sym">(</span><span class="src-var">$cacheDirs</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
859 |
+<li><div class="src-line"><a name="a845"></a> <span class="src-var">$expired </span>= <a href="http://www.php.net/time">time</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-var">$olderThan</span><span class="src-sym">;</span></div></li> |
|
860 |
+<li><div class="src-line"><a name="a846"></a> <span class="src-var">$count </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
861 |
+<li><div class="src-line"><a name="a847"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$cache </span><span class="src-key">as </span><span class="src-var">$file</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
862 |
+<li><div class="src-line"><a name="a848"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cache</span><span class="src-sym">-></span><span class="src-id">isDot</span><span class="src-sym">(</span><span class="src-sym">) </span>|| <span class="src-var">$cache</span><span class="src-sym">-></span><span class="src-id">isDir</span><span class="src-sym">(</span><span class="src-sym">) </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$file</span><span class="src-sym">, </span>-<span class="src-num">5</span><span class="src-sym">) </span>!== <span class="src-str">'.html'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
863 |
+<li><div class="src-line"><a name="a849"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
864 |
+<li><div class="src-line"><a name="a850"></a> <span class="src-sym">}</span></div></li> |
|
865 |
+<li><div class="src-line"><a name="a851"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cache</span><span class="src-sym">-></span><span class="src-id">getCTime</span><span class="src-sym">(</span><span class="src-sym">) </span>< <span class="src-var">$expired</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
866 |
+<li><div class="src-line"><a name="a852"></a> <span class="src-var">$count </span>+= <a href="http://www.php.net/unlink">unlink</a><span class="src-sym">(</span>(string) <span class="src-var">$file</span><span class="src-sym">) </span>? <span class="src-num">1 </span>: <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
867 |
+<li><div class="src-line"><a name="a853"></a> <span class="src-sym">}</span></div></li> |
|
868 |
+<li><div class="src-line"><a name="a854"></a> <span class="src-sym">}</span></div></li> |
|
869 |
+<li><div class="src-line"><a name="a855"></a> <span class="src-key">return </span><span class="src-var">$count</span><span class="src-sym">;</span></div></li> |
|
870 |
+<li><div class="src-line"><a name="a856"></a> <span class="src-sym">}</span></div></li> |
|
871 |
+<li><div class="src-line"><a name="a857"></a> </div></li> |
|
872 |
+<li><div class="src-line"><a name="a858"></a> <span class="src-doc">/**</span></div></li> |
|
873 |
+<li><div class="src-line"><a name="a859"></a><span class="src-doc"> * [util function] fetches a template object of the given resource</span></div></li> |
|
874 |
+<li><div class="src-line"><a name="a860"></a><span class="src-doc"> *</span></div></li> |
|
875 |
+<li><div class="src-line"><a name="a861"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceName </span><span class="src-doc">the resource name (i.e. file, string)</span></div></li> |
|
876 |
+<li><div class="src-line"><a name="a862"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$resourceId </span><span class="src-doc">the resource identifier (i.e. file path)</span></div></li> |
|
877 |
+<li><div class="src-line"><a name="a863"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$cacheTime </span><span class="src-doc">the cache time setting for this resource</span></div></li> |
|
878 |
+<li><div class="src-line"><a name="a864"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$cacheId </span><span class="src-doc">the unique cache identifier</span></div></li> |
|
879 |
+<li><div class="src-line"><a name="a865"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$compileId </span><span class="src-doc">the unique compiler identifier</span></div></li> |
|
880 |
+<li><div class="src-line"><a name="a866"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_ITemplate </span></div></li> |
|
881 |
+<li><div class="src-line"><a name="a867"></a><span class="src-doc"> */</span></div></li> |
|
882 |
+<li><div class="src-line"><a name="a868"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodtemplateFactory">templateFactory</a><span class="src-sym">(</span><span class="src-var">$resourceName</span><span class="src-sym">, </span><span class="src-var">$resourceId</span><span class="src-sym">, </span><span class="src-var">$cacheTime </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$cacheId </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$compileId </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$parentTemplate </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
883 |
+<li><div class="src-line"><a name="a869"></a> <span class="src-sym">{</span></div></li> |
|
884 |
+<li><div class="src-line"><a name="a870"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
885 |
+<li><div class="src-line"><a name="a871"></a> <span class="src-comm">// TODO could be changed to $this->resources[$resourceName]['class']::templateFactory(..) in 5.3 maybe</span></div></li> |
|
886 |
+<li><div class="src-line"><a name="a872"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$resources">resources</a><span class="src-sym">[</span><span class="src-var">$resourceName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'templateFactory'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$resourceId</span><span class="src-sym">, </span><span class="src-var">$cacheTime</span><span class="src-sym">, </span><span class="src-var">$cacheId</span><span class="src-sym">, </span><span class="src-var">$compileId</span><span class="src-sym">, </span><span class="src-var">$parentTemplate</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
887 |
+<li><div class="src-line"><a name="a873"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
888 |
+<li><div class="src-line"><a name="a874"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Unknown resource type : '</span>.<span class="src-var">$resourceName</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
889 |
+<li><div class="src-line"><a name="a875"></a> <span class="src-sym">}</span></div></li> |
|
890 |
+<li><div class="src-line"><a name="a876"></a> <span class="src-sym">}</span></div></li> |
|
891 |
+<li><div class="src-line"><a name="a877"></a> </div></li> |
|
892 |
+<li><div class="src-line"><a name="a878"></a> <span class="src-doc">/**</span></div></li> |
|
893 |
+<li><div class="src-line"><a name="a879"></a><span class="src-doc"> * [util function] checks if the input is an array or arrayaccess object, optionally it can also check if it's empty</span></div></li> |
|
894 |
+<li><div class="src-line"><a name="a880"></a><span class="src-doc"> *</span></div></li> |
|
895 |
+<li><div class="src-line"><a name="a881"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$value </span><span class="src-doc">the variable to check</span></div></li> |
|
896 |
+<li><div class="src-line"><a name="a882"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$checkIsEmpty </span><span class="src-doc">if true, the function will also check if the array|arrayaccess is empty,</span></div></li> |
|
897 |
+<li><div class="src-line"><a name="a883"></a><span class="src-doc"> * and return true only if it's not empty</span></div></li> |
|
898 |
+<li><div class="src-line"><a name="a884"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc">true if it's an array|arrayaccess (or the item count if $checkIsEmpty is true) or false if it's not an array|arrayaccess (or 0 if $checkIsEmpty is true)</span></div></li> |
|
899 |
+<li><div class="src-line"><a name="a885"></a><span class="src-doc"> */</span></div></li> |
|
900 |
+<li><div class="src-line"><a name="a886"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodisArray">isArray</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-var">$checkIsEmpty</span>=<span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
901 |
+<li><div class="src-line"><a name="a887"></a> <span class="src-sym">{</span></div></li> |
|
902 |
+<li><div class="src-line"><a name="a888"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>=== <span class="src-id">true </span>|| <span class="src-var">$value </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
903 |
+<li><div class="src-line"><a name="a889"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$checkIsEmpty </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
904 |
+<li><div class="src-line"><a name="a890"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
905 |
+<li><div class="src-line"><a name="a891"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
906 |
+<li><div class="src-line"><a name="a892"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
907 |
+<li><div class="src-line"><a name="a893"></a> <span class="src-sym">}</span></div></li> |
|
908 |
+<li><div class="src-line"><a name="a894"></a> <span class="src-sym">}</span></div></li> |
|
909 |
+<li><div class="src-line"><a name="a895"></a> <span class="src-sym">}</span></div></li> |
|
910 |
+<li><div class="src-line"><a name="a896"></a> </div></li> |
|
911 |
+<li><div class="src-line"><a name="a897"></a> <span class="src-doc">/**</span></div></li> |
|
912 |
+<li><div class="src-line"><a name="a898"></a><span class="src-doc"> * [util function] checks if the input is an array or a traversable object, optionally it can also check if it's empty</span></div></li> |
|
913 |
+<li><div class="src-line"><a name="a899"></a><span class="src-doc"> *</span></div></li> |
|
914 |
+<li><div class="src-line"><a name="a900"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$value </span><span class="src-doc">the variable to check</span></div></li> |
|
915 |
+<li><div class="src-line"><a name="a901"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$checkIsEmpty </span><span class="src-doc">if true, the function will also check if the array|traversable is empty,</span></div></li> |
|
916 |
+<li><div class="src-line"><a name="a902"></a><span class="src-doc"> * and return true only if it's not empty</span></div></li> |
|
917 |
+<li><div class="src-line"><a name="a903"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc">true if it's an array|traversable (or the item count if $checkIsEmpty is true) or false if it's not an array|traversable (or 0 if $checkIsEmpty is true)</span></div></li> |
|
918 |
+<li><div class="src-line"><a name="a904"></a><span class="src-doc"> */</span></div></li> |
|
919 |
+<li><div class="src-line"><a name="a905"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodisTraversable">isTraversable</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-var">$checkIsEmpty</span>=<span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
920 |
+<li><div class="src-line"><a name="a906"></a> <span class="src-sym">{</span></div></li> |
|
921 |
+<li><div class="src-line"><a name="a907"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
922 |
+<li><div class="src-line"><a name="a908"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$checkIsEmpty </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
923 |
+<li><div class="src-line"><a name="a909"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
924 |
+<li><div class="src-line"><a name="a910"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
925 |
+<li><div class="src-line"><a name="a911"></a> <span class="src-key">return </span><a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
926 |
+<li><div class="src-line"><a name="a912"></a> <span class="src-sym">}</span></div></li> |
|
927 |
+<li><div class="src-line"><a name="a913"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">Traversable</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
928 |
+<li><div class="src-line"><a name="a914"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$checkIsEmpty </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
929 |
+<li><div class="src-line"><a name="a915"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
930 |
+<li><div class="src-line"><a name="a916"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
931 |
+<li><div class="src-line"><a name="a917"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
932 |
+<li><div class="src-line"><a name="a918"></a> <span class="src-sym">}</span></div></li> |
|
933 |
+<li><div class="src-line"><a name="a919"></a> <span class="src-sym">}</span></div></li> |
|
934 |
+<li><div class="src-line"><a name="a920"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
935 |
+<li><div class="src-line"><a name="a921"></a> <span class="src-sym">}</span></div></li> |
|
936 |
+<li><div class="src-line"><a name="a922"></a> </div></li> |
|
937 |
+<li><div class="src-line"><a name="a923"></a> <span class="src-doc">/**</span></div></li> |
|
938 |
+<li><div class="src-line"><a name="a924"></a><span class="src-doc"> * [util function] counts an array or arrayaccess/traversable object</span></div></li> |
|
939 |
+<li><div class="src-line"><a name="a925"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$value </span></div></li> |
|
940 |
+<li><div class="src-line"><a name="a926"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int</span><span class="src-doc">|</span><span class="src-doc-type">bool</span><span class="src-doc">the count for arrays and objects that implement countable, true for other objects that don't, and 0 for empty elements</span></div></li> |
|
941 |
+<li><div class="src-line"><a name="a927"></a><span class="src-doc"> */</span></div></li> |
|
942 |
+<li><div class="src-line"><a name="a928"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span></div></li> |
|
943 |
+<li><div class="src-line"><a name="a929"></a> <span class="src-sym">{</span></div></li> |
|
944 |
+<li><div class="src-line"><a name="a930"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">) </span>=== <span class="src-id">true </span>|| <span class="src-var">$value </span>instanceof <span class="src-id">Countable</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
945 |
+<li><div class="src-line"><a name="a931"></a> <span class="src-key">return </span><a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
946 |
+<li><div class="src-line"><a name="a932"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
947 |
+<li><div class="src-line"><a name="a933"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">-></span><span class="src-id">offsetExists</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
948 |
+<li><div class="src-line"><a name="a934"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
949 |
+<li><div class="src-line"><a name="a935"></a> <span class="src-sym">}</span></div></li> |
|
950 |
+<li><div class="src-line"><a name="a936"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">Iterator</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
951 |
+<li><div class="src-line"><a name="a937"></a> <span class="src-var">$value</span><span class="src-sym">-></span><span class="src-id">rewind</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
952 |
+<li><div class="src-line"><a name="a938"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">-></span><span class="src-id">valid</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
953 |
+<li><div class="src-line"><a name="a939"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
954 |
+<li><div class="src-line"><a name="a940"></a> <span class="src-sym">}</span></div></li> |
|
955 |
+<li><div class="src-line"><a name="a941"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$value </span>instanceof <span class="src-id">Traversable</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
956 |
+<li><div class="src-line"><a name="a942"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$value </span><span class="src-key">as </span><span class="src-var">$dummy</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
957 |
+<li><div class="src-line"><a name="a943"></a> <span class="src-key">return </span><span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
958 |
+<li><div class="src-line"><a name="a944"></a> <span class="src-sym">}</span></div></li> |
|
959 |
+<li><div class="src-line"><a name="a945"></a> <span class="src-sym">}</span></div></li> |
|
960 |
+<li><div class="src-line"><a name="a946"></a> <span class="src-key">return </span><span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
961 |
+<li><div class="src-line"><a name="a947"></a> <span class="src-sym">}</span></div></li> |
|
962 |
+<li><div class="src-line"><a name="a948"></a> </div></li> |
|
963 |
+<li><div class="src-line"><a name="a949"></a> <span class="src-doc">/**</span></div></li> |
|
964 |
+<li><div class="src-line"><a name="a950"></a><span class="src-doc"> * [util function] triggers a dwoo error</span></div></li> |
|
965 |
+<li><div class="src-line"><a name="a951"></a><span class="src-doc"> *</span></div></li> |
|
966 |
+<li><div class="src-line"><a name="a952"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$message </span><span class="src-doc">the error message</span></div></li> |
|
967 |
+<li><div class="src-line"><a name="a953"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$level </span><span class="src-doc">the error level, one of the PHP's E_* constants</span></div></li> |
|
968 |
+<li><div class="src-line"><a name="a954"></a><span class="src-doc"> */</span></div></li> |
|
969 |
+<li><div class="src-line"><a name="a955"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodtriggerError">triggerError</a><span class="src-sym">(</span><span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$level</span>=<span class="src-id">E_USER_NOTICE</span><span class="src-sym">)</span></div></li> |
|
970 |
+<li><div class="src-line"><a name="a956"></a> <span class="src-sym">{</span></div></li> |
|
971 |
+<li><div class="src-line"><a name="a957"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-sym">(</span><span class="src-var">$tplIdentifier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_ITemplate.html#methodgetResourceIdentifier">getResourceIdentifier</a><span class="src-sym">(</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
|
972 |
+<li><div class="src-line"><a name="a958"></a> <span class="src-var">$tplIdentifier </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$template">template</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_ITemplate.html#methodgetResourceName">getResourceName</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
973 |
+<li><div class="src-line"><a name="a959"></a> <span class="src-sym">}</span></div></li> |
|
974 |
+<li><div class="src-line"><a name="a960"></a> <a href="http://www.php.net/trigger_error">trigger_error</a><span class="src-sym">(</span><span class="src-str">'Dwoo error (in '</span>.<span class="src-var">$tplIdentifier</span>.<span class="src-str">') : '</span>.<span class="src-var">$message</span><span class="src-sym">, </span><span class="src-var">$level</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
975 |
+<li><div class="src-line"><a name="a961"></a> <span class="src-sym">}</span></div></li> |
|
976 |
+<li><div class="src-line"><a name="a962"></a> </div></li> |
|
977 |
+<li><div class="src-line"><a name="a963"></a> <span class="src-comm">/*</span></div></li> |
|
978 |
+<li><div class="src-line"><a name="a964"></a><span class="src-comm"> * --------- runtime functions ---------</span></div></li> |
|
979 |
+<li><div class="src-line"><a name="a965"></a><span class="src-comm"> */</span></div></li> |
|
980 |
+<li><div class="src-line"><a name="a966"></a> </div></li> |
|
981 |
+<li><div class="src-line"><a name="a967"></a> <span class="src-doc">/**</span></div></li> |
|
982 |
+<li><div class="src-line"><a name="a968"></a><span class="src-doc"> * [runtime function] adds a block to the block stack</span></div></li> |
|
983 |
+<li><div class="src-line"><a name="a969"></a><span class="src-doc"> *</span></div></li> |
|
984 |
+<li><div class="src-line"><a name="a970"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$blockName </span><span class="src-doc">the block name (without Dwoo_Plugin_ prefix)</span></div></li> |
|
985 |
+<li><div class="src-line"><a name="a971"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$args </span><span class="src-doc">the arguments to be passed to the block's init() function</span></div></li> |
|
986 |
+<li><div class="src-line"><a name="a972"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc">the newly created block</span></div></li> |
|
987 |
+<li><div class="src-line"><a name="a973"></a><span class="src-doc"> */</span></div></li> |
|
988 |
+<li><div class="src-line"><a name="a974"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodaddStack">addStack</a><span class="src-sym">(</span><span class="src-var">$blockName</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$args</span>=<span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span></div></li> |
|
989 |
+<li><div class="src-line"><a name="a975"></a> <span class="src-sym">{</span></div></li> |
|
990 |
+<li><div class="src-line"><a name="a976"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$blockName</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
991 |
+<li><div class="src-line"><a name="a977"></a> <span class="src-var">$class </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$blockName</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
992 |
+<li><div class="src-line"><a name="a978"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
993 |
+<li><div class="src-line"><a name="a979"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$blockName</span><span class="src-sym">;</span></div></li> |
|
994 |
+<li><div class="src-line"><a name="a980"></a> <span class="src-sym">}</span></div></li> |
|
995 |
+<li><div class="src-line"><a name="a981"></a> </div></li> |
|
996 |
+<li><div class="src-line"><a name="a982"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> !== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
997 |
+<li><div class="src-line"><a name="a983"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodbuffer">buffer</a><span class="src-sym">(</span><a href="http://www.php.net/ob_get_contents">ob_get_contents</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
998 |
+<li><div class="src-line"><a name="a984"></a> <a href="http://www.php.net/ob_clean">ob_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
999 |
+<li><div class="src-line"><a name="a985"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1000 |
+<li><div class="src-line"><a name="a986"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$buffer">buffer</a> .= <a href="http://www.php.net/ob_get_contents">ob_get_contents</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1001 |
+<li><div class="src-line"><a name="a987"></a> <a href="http://www.php.net/ob_clean">ob_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1002 |
+<li><div class="src-line"><a name="a988"></a> <span class="src-sym">}</span></div></li> |
|
1003 |
+<li><div class="src-line"><a name="a989"></a> </div></li> |
|
1004 |
+<li><div class="src-line"><a name="a990"></a> <span class="src-var">$block </span>= <span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1005 |
+<li><div class="src-line"><a name="a991"></a> </div></li> |
|
1006 |
+<li><div class="src-line"><a name="a992"></a> <span class="src-var">$cnt </span>= <a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1007 |
+<li><div class="src-line"><a name="a993"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1008 |
+<li><div class="src-line"><a name="a994"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1009 |
+<li><div class="src-line"><a name="a995"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1010 |
+<li><div class="src-line"><a name="a996"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1011 |
+<li><div class="src-line"><a name="a997"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1012 |
+<li><div class="src-line"><a name="a998"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1013 |
+<li><div class="src-line"><a name="a999"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1014 |
+<li><div class="src-line"><a name="a1000"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1015 |
+<li><div class="src-line"><a name="a1001"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1016 |
+<li><div class="src-line"><a name="a1002"></a> <span class="src-var">$block</span><span class="src-sym">-></span><span class="src-id">init</span><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1017 |
+<li><div class="src-line"><a name="a1003"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1018 |
+<li><div class="src-line"><a name="a1004"></a> <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$block</span><span class="src-sym">,</span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1019 |
+<li><div class="src-line"><a name="a1005"></a> <span class="src-sym">}</span></div></li> |
| 1020 |
1020 |
<li><div class="src-line"><a name="a1006"></a> </div></li> |
| 1021 |
|
-<li><div class="src-line"><a name="a1007"></a> <span class="src-doc">/**</span></div></li> |
| 1022 |
|
-<li><div class="src-line"><a name="a1008"></a><span class="src-doc"> * [runtime function] returns the parent block of the given block</span></div></li> |
| 1023 |
|
-<li><div class="src-line"><a name="a1009"></a><span class="src-doc"> *</span></div></li> |
| 1024 |
|
-<li><div class="src-line"><a name="a1010"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc-var">$block </span></div></li> |
| 1025 |
|
-<li><div class="src-line"><a name="a1011"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc">or false if the given block isn't in the stack</span></div></li> |
| 1026 |
|
-<li><div class="src-line"><a name="a1012"></a><span class="src-doc"> */</span></div></li> |
| 1027 |
|
-<li><div class="src-line"><a name="a1013"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetParentBlock">getParentBlock</a><span class="src-sym">(</span><span class="src-id">Dwoo_Block_Plugin </span><span class="src-var">$block</span><span class="src-sym">)</span></div></li> |
| 1028 |
|
-<li><div class="src-line"><a name="a1014"></a> <span class="src-sym">{</span></div></li> |
| 1029 |
|
-<li><div class="src-line"><a name="a1015"></a> <span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$block</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1030 |
|
-<li><div class="src-line"><a name="a1016"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$index </span>!== <span class="src-id">false </span>&& <span class="src-var">$index </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1031 |
|
-<li><div class="src-line"><a name="a1017"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-var">$index</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1032 |
|
-<li><div class="src-line"><a name="a1018"></a> <span class="src-sym">}</span></div></li> |
| 1033 |
|
-<li><div class="src-line"><a name="a1019"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1034 |
|
-<li><div class="src-line"><a name="a1020"></a> <span class="src-sym">}</span></div></li> |
| 1035 |
|
-<li><div class="src-line"><a name="a1021"></a> </div></li> |
| 1036 |
|
-<li><div class="src-line"><a name="a1022"></a> <span class="src-doc">/**</span></div></li> |
| 1037 |
|
-<li><div class="src-line"><a name="a1023"></a><span class="src-doc"> * [runtime function] finds the closest block of the given type, starting at the top of the stack</span></div></li> |
| 1038 |
|
-<li><div class="src-line"><a name="a1024"></a><span class="src-doc"> *</span></div></li> |
| 1039 |
|
-<li><div class="src-line"><a name="a1025"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">the type of plugin you want to find</span></div></li> |
| 1040 |
|
-<li><div class="src-line"><a name="a1026"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc">or false if no plugin of such type is in the stack</span></div></li> |
| 1041 |
|
-<li><div class="src-line"><a name="a1027"></a><span class="src-doc"> */</span></div></li> |
| 1042 |
|
-<li><div class="src-line"><a name="a1028"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodfindBlock">findBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span></div></li> |
| 1043 |
|
-<li><div class="src-line"><a name="a1029"></a> <span class="src-sym">{</span></div></li> |
| 1044 |
|
-<li><div class="src-line"><a name="a1030"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$type</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1045 |
|
-<li><div class="src-line"><a name="a1031"></a> <span class="src-var">$type </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$type</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1046 |
|
-<li><div class="src-line"><a name="a1032"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1047 |
|
-<li><div class="src-line"><a name="a1033"></a> <span class="src-var">$type </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1048 |
|
-<li><div class="src-line"><a name="a1034"></a> <span class="src-sym">}</span></div></li> |
| 1049 |
|
-<li><div class="src-line"><a name="a1035"></a> </div></li> |
| 1050 |
|
-<li><div class="src-line"><a name="a1036"></a> <span class="src-var">$keys </span>= <a href="http://www.php.net/array_keys">array_keys</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1051 |
|
-<li><div class="src-line"><a name="a1037"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$key </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1052 |
|
-<li><div class="src-line"><a name="a1038"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-var">$key</span><span class="src-sym">] </span>instanceof <span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1053 |
|
-<li><div class="src-line"><a name="a1039"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-var">$key</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1054 |
|
-<li><div class="src-line"><a name="a1040"></a> <span class="src-sym">}</span></div></li> |
| 1055 |
|
-<li><div class="src-line"><a name="a1041"></a> <span class="src-sym">}</span></div></li> |
| 1056 |
|
-<li><div class="src-line"><a name="a1042"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1057 |
|
-<li><div class="src-line"><a name="a1043"></a> <span class="src-sym">}</span></div></li> |
| 1058 |
|
-<li><div class="src-line"><a name="a1044"></a> </div></li> |
| 1059 |
|
-<li><div class="src-line"><a name="a1045"></a> <span class="src-doc">/**</span></div></li> |
| 1060 |
|
-<li><div class="src-line"><a name="a1046"></a><span class="src-doc"> * [runtime function] returns a Dwoo_Plugin of the given class</span></div></li> |
| 1061 |
|
-<li><div class="src-line"><a name="a1047"></a><span class="src-doc"> *</span></div></li> |
| 1062 |
|
-<li><div class="src-line"><a name="a1048"></a><span class="src-doc"> * this is so a single instance of every class plugin is created at each template run,</span></div></li> |
| 1063 |
|
-<li><div class="src-line"><a name="a1049"></a><span class="src-doc"> * allowing class plugins to have "per-template-run" static variables</span></div></li> |
| 1064 |
|
-<li><div class="src-line"><a name="a1050"></a><span class="src-doc"> *</span></div></li> |
| 1065 |
|
-<li><div class="src-line"><a name="a1051"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$class </span><span class="src-doc">the class name</span></div></li> |
| 1066 |
|
-<li><div class="src-line"><a name="a1052"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">an object of the given class</span></div></li> |
| 1067 |
|
-<li><div class="src-line"><a name="a1053"></a><span class="src-doc"> */</span></div></li> |
| 1068 |
|
-<li><div class="src-line"><a name="a1054"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetObjectPlugin">getObjectPlugin</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)</span></div></li> |
| 1069 |
|
-<li><div class="src-line"><a name="a1055"></a> <span class="src-sym">{</span></div></li> |
| 1070 |
|
-<li><div class="src-line"><a name="a1056"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a><span class="src-sym">[</span><span class="src-var">$class</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1071 |
|
-<li><div class="src-line"><a name="a1057"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a><span class="src-sym">[</span><span class="src-var">$class</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1072 |
|
-<li><div class="src-line"><a name="a1058"></a> <span class="src-sym">}</span></div></li> |
| 1073 |
|
-<li><div class="src-line"><a name="a1059"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a><span class="src-sym">[</span><span class="src-var">$class</span><span class="src-sym">] </span>= <span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1074 |
|
-<li><div class="src-line"><a name="a1060"></a> <span class="src-sym">}</span></div></li> |
| 1075 |
|
-<li><div class="src-line"><a name="a1061"></a> </div></li> |
| 1076 |
|
-<li><div class="src-line"><a name="a1062"></a> <span class="src-doc">/**</span></div></li> |
| 1077 |
|
-<li><div class="src-line"><a name="a1063"></a><span class="src-doc"> * [runtime function] calls the process() method of the given class-plugin name</span></div></li> |
| 1078 |
|
-<li><div class="src-line"><a name="a1064"></a><span class="src-doc"> *</span></div></li> |
| 1079 |
|
-<li><div class="src-line"><a name="a1065"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$plugName </span><span class="src-doc">the class plugin name (without Dwoo_Plugin_ prefix)</span></div></li> |
| 1080 |
|
-<li><div class="src-line"><a name="a1066"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">an array of parameters to send to the process() method</span></div></li> |
| 1081 |
|
-<li><div class="src-line"><a name="a1067"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the process() return value</span></div></li> |
| 1082 |
|
-<li><div class="src-line"><a name="a1068"></a><span class="src-doc"> */</span></div></li> |
| 1083 |
|
-<li><div class="src-line"><a name="a1069"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodclassCall">classCall</a><span class="src-sym">(</span><span class="src-var">$plugName</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span></div></li> |
| 1084 |
|
-<li><div class="src-line"><a name="a1070"></a> <span class="src-sym">{</span></div></li> |
| 1085 |
|
-<li><div class="src-line"><a name="a1071"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$plugName</span><span class="src-sym">;</span></div></li> |
| 1086 |
|
-<li><div class="src-line"><a name="a1072"></a> </div></li> |
| 1087 |
|
-<li><div class="src-line"><a name="a1073"></a> <span class="src-var">$plugin </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetObjectPlugin">getObjectPlugin</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1088 |
|
-<li><div class="src-line"><a name="a1074"></a> </div></li> |
| 1089 |
|
-<li><div class="src-line"><a name="a1075"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1090 |
|
-<li><div class="src-line"><a name="a1076"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1091 |
|
-<li><div class="src-line"><a name="a1077"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1092 |
|
-<li><div class="src-line"><a name="a1078"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1093 |
|
-<li><div class="src-line"><a name="a1079"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1094 |
|
-<li><div class="src-line"><a name="a1080"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1095 |
|
-<li><div class="src-line"><a name="a1081"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1096 |
|
-<li><div class="src-line"><a name="a1082"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1097 |
|
-<li><div class="src-line"><a name="a1083"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1098 |
|
-<li><div class="src-line"><a name="a1084"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1099 |
|
-<li><div class="src-line"><a name="a1085"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1100 |
|
-<li><div class="src-line"><a name="a1086"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1101 |
|
-<li><div class="src-line"><a name="a1087"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$plugin</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1102 |
|
-<li><div class="src-line"><a name="a1088"></a> <span class="src-sym">}</span></div></li> |
| 1103 |
|
-<li><div class="src-line"><a name="a1089"></a> <span class="src-sym">}</span></div></li> |
| 1104 |
|
-<li><div class="src-line"><a name="a1090"></a> </div></li> |
| 1105 |
|
-<li><div class="src-line"><a name="a1091"></a> <span class="src-doc">/**</span></div></li> |
| 1106 |
|
-<li><div class="src-line"><a name="a1092"></a><span class="src-doc"> * [runtime function] calls a php function</span></div></li> |
| 1107 |
|
-<li><div class="src-line"><a name="a1093"></a><span class="src-doc"> *</span></div></li> |
| 1108 |
|
-<li><div class="src-line"><a name="a1094"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$callback </span><span class="src-doc">the function to call</span></div></li> |
| 1109 |
|
-<li><div class="src-line"><a name="a1095"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">an array of parameters to send to the function</span></div></li> |
| 1110 |
|
-<li><div class="src-line"><a name="a1096"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">the return value of the called function</span></div></li> |
| 1111 |
|
-<li><div class="src-line"><a name="a1097"></a><span class="src-doc"> */</span></div></li> |
| 1112 |
|
-<li><div class="src-line"><a name="a1098"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodarrayMap">arrayMap</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
| 1113 |
|
-<li><div class="src-line"><a name="a1099"></a> <span class="src-sym">{</span></div></li> |
| 1114 |
|
-<li><div class="src-line"><a name="a1100"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-var">$this</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1115 |
|
-<li><div class="src-line"><a name="a1101"></a> <span class="src-var">$addThis </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 1116 |
|
-<li><div class="src-line"><a name="a1102"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1117 |
|
-<li><div class="src-line"><a name="a1103"></a> <span class="src-sym">}</span></div></li> |
| 1118 |
|
-<li><div class="src-line"><a name="a1104"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-id">is_array</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>|| <span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id">Iterator </span>&& <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
| 1119 |
|
-<li><div class="src-line"><a name="a1105"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1120 |
|
-<li><div class="src-line"><a name="a1106"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1121 |
|
-<li><div class="src-line"><a name="a1107"></a> <span class="src-sym">}</span></div></li> |
| 1122 |
|
-<li><div class="src-line"><a name="a1108"></a> </div></li> |
| 1123 |
|
-<li><div class="src-line"><a name="a1109"></a> <span class="src-comm">// array map</span></div></li> |
| 1124 |
|
-<li><div class="src-line"><a name="a1110"></a> <span class="src-var">$out </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1125 |
|
-<li><div class="src-line"><a name="a1111"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1126 |
|
-<li><div class="src-line"><a name="a1112"></a> </div></li> |
| 1127 |
|
-<li><div class="src-line"><a name="a1113"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$addThis</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1128 |
|
-<li><div class="src-line"><a name="a1114"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1129 |
|
-<li><div class="src-line"><a name="a1115"></a> <span class="src-var">$items </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1130 |
|
-<li><div class="src-line"><a name="a1116"></a> <span class="src-var">$keys </span>= <a href="http://www.php.net/array_keys">array_keys</a><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1131 |
|
-<li><div class="src-line"><a name="a1117"></a> </div></li> |
| 1132 |
|
-<li><div class="src-line"><a name="a1118"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1133 |
|
-<li><div class="src-line"><a name="a1119"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1134 |
|
-<li><div class="src-line"><a name="a1120"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">1</span>=><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1135 |
|
-<li><div class="src-line"><a name="a1121"></a> <span class="src-sym">}</span></div></li> |
| 1136 |
|
-<li><div class="src-line"><a name="a1122"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1137 |
|
-<li><div class="src-line"><a name="a1123"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1138 |
|
-<li><div class="src-line"><a name="a1124"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1139 |
|
-<li><div class="src-line"><a name="a1125"></a> <span class="src-sym">}</span></div></li> |
| 1140 |
|
-<li><div class="src-line"><a name="a1126"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1141 |
|
-<li><div class="src-line"><a name="a1127"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1142 |
|
-<li><div class="src-line"><a name="a1128"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1143 |
|
-<li><div class="src-line"><a name="a1129"></a> <span class="src-sym">}</span></div></li> |
| 1144 |
|
-<li><div class="src-line"><a name="a1130"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1145 |
|
-<li><div class="src-line"><a name="a1131"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1146 |
|
-<li><div class="src-line"><a name="a1132"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1147 |
|
-<li><div class="src-line"><a name="a1133"></a> <span class="src-sym">}</span></div></li> |
| 1148 |
|
-<li><div class="src-line"><a name="a1134"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1149 |
|
-<li><div class="src-line"><a name="a1135"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1150 |
|
-<li><div class="src-line"><a name="a1136"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">1</span>=><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1151 |
|
-<li><div class="src-line"><a name="a1137"></a> <span class="src-sym">}</span></div></li> |
| 1152 |
|
-<li><div class="src-line"><a name="a1138"></a> <span class="src-sym">}</span></div></li> |
| 1153 |
|
-<li><div class="src-line"><a name="a1139"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1154 |
|
-<li><div class="src-line"><a name="a1140"></a> <span class="src-var">$items </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1155 |
|
-<li><div class="src-line"><a name="a1141"></a> <span class="src-var">$keys </span>= <a href="http://www.php.net/array_keys">array_keys</a><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1156 |
|
-<li><div class="src-line"><a name="a1142"></a> </div></li> |
| 1157 |
|
-<li><div class="src-line"><a name="a1143"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1158 |
|
-<li><div class="src-line"><a name="a1144"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1159 |
|
-<li><div class="src-line"><a name="a1145"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1160 |
|
-<li><div class="src-line"><a name="a1146"></a> <span class="src-sym">}</span></div></li> |
| 1161 |
|
-<li><div class="src-line"><a name="a1147"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1162 |
|
-<li><div class="src-line"><a name="a1148"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1163 |
|
-<li><div class="src-line"><a name="a1149"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1164 |
|
-<li><div class="src-line"><a name="a1150"></a> <span class="src-sym">}</span></div></li> |
| 1165 |
|
-<li><div class="src-line"><a name="a1151"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1166 |
|
-<li><div class="src-line"><a name="a1152"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1167 |
|
-<li><div class="src-line"><a name="a1153"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1168 |
|
-<li><div class="src-line"><a name="a1154"></a> <span class="src-sym">}</span></div></li> |
| 1169 |
|
-<li><div class="src-line"><a name="a1155"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1170 |
|
-<li><div class="src-line"><a name="a1156"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1171 |
|
-<li><div class="src-line"><a name="a1157"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1172 |
|
-<li><div class="src-line"><a name="a1158"></a> <span class="src-sym">}</span></div></li> |
| 1173 |
|
-<li><div class="src-line"><a name="a1159"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1174 |
|
-<li><div class="src-line"><a name="a1160"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1175 |
|
-<li><div class="src-line"><a name="a1161"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1176 |
|
-<li><div class="src-line"><a name="a1162"></a> <span class="src-sym">}</span></div></li> |
| 1177 |
|
-<li><div class="src-line"><a name="a1163"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1178 |
|
-<li><div class="src-line"><a name="a1164"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1179 |
|
-<li><div class="src-line"><a name="a1165"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1180 |
|
-<li><div class="src-line"><a name="a1166"></a> <span class="src-sym">}</span></div></li> |
| 1181 |
|
-<li><div class="src-line"><a name="a1167"></a> <span class="src-sym">}</span></div></li> |
| 1182 |
|
-<li><div class="src-line"><a name="a1168"></a> <span class="src-sym">}</span></div></li> |
| 1183 |
|
-<li><div class="src-line"><a name="a1169"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
| 1184 |
|
-<li><div class="src-line"><a name="a1170"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1185 |
|
-<li><div class="src-line"><a name="a1171"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1186 |
|
-<li><div class="src-line"><a name="a1172"></a> <span class="src-sym">}</span></div></li> |
| 1187 |
|
-<li><div class="src-line"><a name="a1173"></a> <span class="src-sym">}</span></div></li> |
| 1188 |
|
-<li><div class="src-line"><a name="a1174"></a> </div></li> |
| 1189 |
|
-<li><div class="src-line"><a name="a1175"></a> <span class="src-doc">/**</span></div></li> |
| 1190 |
|
-<li><div class="src-line"><a name="a1176"></a><span class="src-doc"> * [runtime function] reads a variable into the given data array</span></div></li> |
| 1191 |
|
-<li><div class="src-line"><a name="a1177"></a><span class="src-doc"> *</span></div></li> |
| 1192 |
|
-<li><div class="src-line"><a name="a1178"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$varstr </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
| 1193 |
|
-<li><div class="src-line"><a name="a1179"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$data </span><span class="src-doc">the data array or object to read from</span></div></li> |
| 1194 |
|
-<li><div class="src-line"><a name="a1180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$safeRead </span><span class="src-doc">if true, the function will check whether the index exists to prevent any notices from being output</span></div></li> |
| 1195 |
|
-<li><div class="src-line"><a name="a1181"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
| 1196 |
|
-<li><div class="src-line"><a name="a1182"></a><span class="src-doc"> */</span></div></li> |
| 1197 |
|
-<li><div class="src-line"><a name="a1183"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodreadVarInto">readVarInto</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$safeRead </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 1198 |
|
-<li><div class="src-line"><a name="a1184"></a> <span class="src-sym">{</span></div></li> |
| 1199 |
|
-<li><div class="src-line"><a name="a1185"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$data </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1200 |
|
-<li><div class="src-line"><a name="a1186"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1201 |
|
-<li><div class="src-line"><a name="a1187"></a> <span class="src-sym">}</span></div></li> |
|
1021 |
+<li><div class="src-line"><a name="a1007"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <span class="src-var">$block</span><span class="src-sym">;</span></div></li> |
|
1022 |
+<li><div class="src-line"><a name="a1008"></a> <span class="src-key">return </span><span class="src-var">$block</span><span class="src-sym">;</span></div></li> |
|
1023 |
+<li><div class="src-line"><a name="a1009"></a> <span class="src-sym">}</span></div></li> |
|
1024 |
+<li><div class="src-line"><a name="a1010"></a> </div></li> |
|
1025 |
+<li><div class="src-line"><a name="a1011"></a> <span class="src-doc">/**</span></div></li> |
|
1026 |
+<li><div class="src-line"><a name="a1012"></a><span class="src-doc"> * [runtime function] removes the plugin at the top of the block stack</span></div></li> |
|
1027 |
+<li><div class="src-line"><a name="a1013"></a><span class="src-doc"> *</span></div></li> |
|
1028 |
+<li><div class="src-line"><a name="a1014"></a><span class="src-doc"> * calls the block buffer() function, followed by a call to end()</span></div></li> |
|
1029 |
+<li><div class="src-line"><a name="a1015"></a><span class="src-doc"> * and finally a call to process()</span></div></li> |
|
1030 |
+<li><div class="src-line"><a name="a1016"></a><span class="src-doc"> */</span></div></li> |
|
1031 |
+<li><div class="src-line"><a name="a1017"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methoddelStack">delStack</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
1032 |
+<li><div class="src-line"><a name="a1018"></a> <span class="src-sym">{</span></div></li> |
|
1033 |
+<li><div class="src-line"><a name="a1019"></a> <span class="src-var">$args </span>= <a href="http://www.php.net/func_get_args">func_get_args</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1034 |
+<li><div class="src-line"><a name="a1020"></a> </div></li> |
|
1035 |
+<li><div class="src-line"><a name="a1021"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodbuffer">buffer</a><span class="src-sym">(</span><a href="http://www.php.net/ob_get_contents">ob_get_contents</a><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1036 |
+<li><div class="src-line"><a name="a1022"></a> <a href="http://www.php.net/ob_clean">ob_clean</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1037 |
+<li><div class="src-line"><a name="a1023"></a> </div></li> |
|
1038 |
+<li><div class="src-line"><a name="a1024"></a> <span class="src-var">$cnt </span>= <a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1039 |
+<li><div class="src-line"><a name="a1025"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1040 |
+<li><div class="src-line"><a name="a1026"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1041 |
+<li><div class="src-line"><a name="a1027"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1042 |
+<li><div class="src-line"><a name="a1028"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1043 |
+<li><div class="src-line"><a name="a1029"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1044 |
+<li><div class="src-line"><a name="a1030"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1045 |
+<li><div class="src-line"><a name="a1031"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1046 |
+<li><div class="src-line"><a name="a1032"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1047 |
+<li><div class="src-line"><a name="a1033"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1048 |
+<li><div class="src-line"><a name="a1034"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodend">end</a><span class="src-sym">(</span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1049 |
+<li><div class="src-line"><a name="a1035"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1050 |
+<li><div class="src-line"><a name="a1036"></a> <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">, </span><span class="src-str">'end'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1051 |
+<li><div class="src-line"><a name="a1037"></a> <span class="src-sym">}</span></div></li> |
|
1052 |
+<li><div class="src-line"><a name="a1038"></a> </div></li> |
|
1053 |
+<li><div class="src-line"><a name="a1039"></a> <span class="src-var">$tmp </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1054 |
+<li><div class="src-line"><a name="a1040"></a> </div></li> |
|
1055 |
+<li><div class="src-line"><a name="a1041"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1056 |
+<li><div class="src-line"><a name="a1042"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <a href="http://www.php.net/end">end</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1057 |
+<li><div class="src-line"><a name="a1043"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Block_Plugin.html#methodbuffer">buffer</a><span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1058 |
+<li><div class="src-line"><a name="a1044"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1059 |
+<li><div class="src-line"><a name="a1045"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$curBlock">curBlock</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1060 |
+<li><div class="src-line"><a name="a1046"></a> echo <span class="src-var">$tmp</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1061 |
+<li><div class="src-line"><a name="a1047"></a> <span class="src-sym">}</span></div></li> |
|
1062 |
+<li><div class="src-line"><a name="a1048"></a> </div></li> |
|
1063 |
+<li><div class="src-line"><a name="a1049"></a> unset<span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1064 |
+<li><div class="src-line"><a name="a1050"></a> <span class="src-sym">}</span></div></li> |
|
1065 |
+<li><div class="src-line"><a name="a1051"></a> </div></li> |
|
1066 |
+<li><div class="src-line"><a name="a1052"></a> <span class="src-doc">/**</span></div></li> |
|
1067 |
+<li><div class="src-line"><a name="a1053"></a><span class="src-doc"> * [runtime function] returns the parent block of the given block</span></div></li> |
|
1068 |
+<li><div class="src-line"><a name="a1054"></a><span class="src-doc"> *</span></div></li> |
|
1069 |
+<li><div class="src-line"><a name="a1055"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc-var">$block </span></div></li> |
|
1070 |
+<li><div class="src-line"><a name="a1056"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc">or false if the given block isn't in the stack</span></div></li> |
|
1071 |
+<li><div class="src-line"><a name="a1057"></a><span class="src-doc"> */</span></div></li> |
|
1072 |
+<li><div class="src-line"><a name="a1058"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetParentBlock">getParentBlock</a><span class="src-sym">(</span><span class="src-id">Dwoo_Block_Plugin </span><span class="src-var">$block</span><span class="src-sym">)</span></div></li> |
|
1073 |
+<li><div class="src-line"><a name="a1059"></a> <span class="src-sym">{</span></div></li> |
|
1074 |
+<li><div class="src-line"><a name="a1060"></a> <span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$block</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1075 |
+<li><div class="src-line"><a name="a1061"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$index </span>!== <span class="src-id">false </span>&& <span class="src-var">$index </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1076 |
+<li><div class="src-line"><a name="a1062"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-var">$index</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1077 |
+<li><div class="src-line"><a name="a1063"></a> <span class="src-sym">}</span></div></li> |
|
1078 |
+<li><div class="src-line"><a name="a1064"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1079 |
+<li><div class="src-line"><a name="a1065"></a> <span class="src-sym">}</span></div></li> |
|
1080 |
+<li><div class="src-line"><a name="a1066"></a> </div></li> |
|
1081 |
+<li><div class="src-line"><a name="a1067"></a> <span class="src-doc">/**</span></div></li> |
|
1082 |
+<li><div class="src-line"><a name="a1068"></a><span class="src-doc"> * [runtime function] finds the closest block of the given type, starting at the top of the stack</span></div></li> |
|
1083 |
+<li><div class="src-line"><a name="a1069"></a><span class="src-doc"> *</span></div></li> |
|
1084 |
+<li><div class="src-line"><a name="a1070"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">the type of plugin you want to find</span></div></li> |
|
1085 |
+<li><div class="src-line"><a name="a1071"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Block_Plugin </span><span class="src-doc">or false if no plugin of such type is in the stack</span></div></li> |
|
1086 |
+<li><div class="src-line"><a name="a1072"></a><span class="src-doc"> */</span></div></li> |
|
1087 |
+<li><div class="src-line"><a name="a1073"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodfindBlock">findBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span></div></li> |
|
1088 |
+<li><div class="src-line"><a name="a1074"></a> <span class="src-sym">{</span></div></li> |
|
1089 |
+<li><div class="src-line"><a name="a1075"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$type</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1090 |
+<li><div class="src-line"><a name="a1076"></a> <span class="src-var">$type </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$plugins">plugins</a><span class="src-sym">[</span><span class="src-var">$type</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1091 |
+<li><div class="src-line"><a name="a1077"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1092 |
+<li><div class="src-line"><a name="a1078"></a> <span class="src-var">$type </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1093 |
+<li><div class="src-line"><a name="a1079"></a> <span class="src-sym">}</span></div></li> |
|
1094 |
+<li><div class="src-line"><a name="a1080"></a> </div></li> |
|
1095 |
+<li><div class="src-line"><a name="a1081"></a> <span class="src-var">$keys </span>= <a href="http://www.php.net/array_keys">array_keys</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1096 |
+<li><div class="src-line"><a name="a1082"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$key </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1097 |
+<li><div class="src-line"><a name="a1083"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-var">$key</span><span class="src-sym">] </span>instanceof <span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1098 |
+<li><div class="src-line"><a name="a1084"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-var">$key</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1099 |
+<li><div class="src-line"><a name="a1085"></a> <span class="src-sym">}</span></div></li> |
|
1100 |
+<li><div class="src-line"><a name="a1086"></a> <span class="src-sym">}</span></div></li> |
|
1101 |
+<li><div class="src-line"><a name="a1087"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1102 |
+<li><div class="src-line"><a name="a1088"></a> <span class="src-sym">}</span></div></li> |
|
1103 |
+<li><div class="src-line"><a name="a1089"></a> </div></li> |
|
1104 |
+<li><div class="src-line"><a name="a1090"></a> <span class="src-doc">/**</span></div></li> |
|
1105 |
+<li><div class="src-line"><a name="a1091"></a><span class="src-doc"> * [runtime function] returns a Dwoo_Plugin of the given class</span></div></li> |
|
1106 |
+<li><div class="src-line"><a name="a1092"></a><span class="src-doc"> *</span></div></li> |
|
1107 |
+<li><div class="src-line"><a name="a1093"></a><span class="src-doc"> * this is so a single instance of every class plugin is created at each template run,</span></div></li> |
|
1108 |
+<li><div class="src-line"><a name="a1094"></a><span class="src-doc"> * allowing class plugins to have "per-template-run" static variables</span></div></li> |
|
1109 |
+<li><div class="src-line"><a name="a1095"></a><span class="src-doc"> *</span></div></li> |
|
1110 |
+<li><div class="src-line"><a name="a1096"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
|
1111 |
+<li><div class="src-line"><a name="a1097"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$class </span><span class="src-doc">the class name</span></div></li> |
|
1112 |
+<li><div class="src-line"><a name="a1098"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">an object of the given class</span></div></li> |
|
1113 |
+<li><div class="src-line"><a name="a1099"></a><span class="src-doc"> */</span></div></li> |
|
1114 |
+<li><div class="src-line"><a name="a1100"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetObjectPlugin">getObjectPlugin</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)</span></div></li> |
|
1115 |
+<li><div class="src-line"><a name="a1101"></a> <span class="src-sym">{</span></div></li> |
|
1116 |
+<li><div class="src-line"><a name="a1102"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a><span class="src-sym">[</span><span class="src-var">$class</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1117 |
+<li><div class="src-line"><a name="a1103"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a><span class="src-sym">[</span><span class="src-var">$class</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1118 |
+<li><div class="src-line"><a name="a1104"></a> <span class="src-sym">}</span></div></li> |
|
1119 |
+<li><div class="src-line"><a name="a1105"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#var$runtimePlugins">runtimePlugins</a><span class="src-sym">[</span><span class="src-var">$class</span><span class="src-sym">] </span>= <span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1120 |
+<li><div class="src-line"><a name="a1106"></a> <span class="src-sym">}</span></div></li> |
|
1121 |
+<li><div class="src-line"><a name="a1107"></a> </div></li> |
|
1122 |
+<li><div class="src-line"><a name="a1108"></a> <span class="src-doc">/**</span></div></li> |
|
1123 |
+<li><div class="src-line"><a name="a1109"></a><span class="src-doc"> * [runtime function] calls the process() method of the given class-plugin name</span></div></li> |
|
1124 |
+<li><div class="src-line"><a name="a1110"></a><span class="src-doc"> *</span></div></li> |
|
1125 |
+<li><div class="src-line"><a name="a1111"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$plugName </span><span class="src-doc">the class plugin name (without Dwoo_Plugin_ prefix)</span></div></li> |
|
1126 |
+<li><div class="src-line"><a name="a1112"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">an array of parameters to send to the process() method</span></div></li> |
|
1127 |
+<li><div class="src-line"><a name="a1113"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the process() return value</span></div></li> |
|
1128 |
+<li><div class="src-line"><a name="a1114"></a><span class="src-doc"> */</span></div></li> |
|
1129 |
+<li><div class="src-line"><a name="a1115"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodclassCall">classCall</a><span class="src-sym">(</span><span class="src-var">$plugName</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">))</span></div></li> |
|
1130 |
+<li><div class="src-line"><a name="a1116"></a> <span class="src-sym">{</span></div></li> |
|
1131 |
+<li><div class="src-line"><a name="a1117"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$plugName</span><span class="src-sym">;</span></div></li> |
|
1132 |
+<li><div class="src-line"><a name="a1118"></a> </div></li> |
|
1133 |
+<li><div class="src-line"><a name="a1119"></a> <span class="src-var">$plugin </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetObjectPlugin">getObjectPlugin</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1134 |
+<li><div class="src-line"><a name="a1120"></a> </div></li> |
|
1135 |
+<li><div class="src-line"><a name="a1121"></a> <span class="src-var">$cnt </span>= <a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1136 |
+<li><div class="src-line"><a name="a1122"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1137 |
+<li><div class="src-line"><a name="a1123"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1138 |
+<li><div class="src-line"><a name="a1124"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1139 |
+<li><div class="src-line"><a name="a1125"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1140 |
+<li><div class="src-line"><a name="a1126"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1141 |
+<li><div class="src-line"><a name="a1127"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1142 |
+<li><div class="src-line"><a name="a1128"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1143 |
+<li><div class="src-line"><a name="a1129"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1144 |
+<li><div class="src-line"><a name="a1130"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1145 |
+<li><div class="src-line"><a name="a1131"></a> <span class="src-key">return </span><span class="src-var">$plugin</span><span class="src-sym">-></span><span class="src-id">process</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1146 |
+<li><div class="src-line"><a name="a1132"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1147 |
+<li><div class="src-line"><a name="a1133"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$plugin</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1148 |
+<li><div class="src-line"><a name="a1134"></a> <span class="src-sym">}</span></div></li> |
|
1149 |
+<li><div class="src-line"><a name="a1135"></a> <span class="src-sym">}</span></div></li> |
|
1150 |
+<li><div class="src-line"><a name="a1136"></a> </div></li> |
|
1151 |
+<li><div class="src-line"><a name="a1137"></a> <span class="src-doc">/**</span></div></li> |
|
1152 |
+<li><div class="src-line"><a name="a1138"></a><span class="src-doc"> * [runtime function] calls a php function</span></div></li> |
|
1153 |
+<li><div class="src-line"><a name="a1139"></a><span class="src-doc"> *</span></div></li> |
|
1154 |
+<li><div class="src-line"><a name="a1140"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$callback </span><span class="src-doc">the function to call</span></div></li> |
|
1155 |
+<li><div class="src-line"><a name="a1141"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">an array of parameters to send to the function</span></div></li> |
|
1156 |
+<li><div class="src-line"><a name="a1142"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span><span class="src-doc">the return value of the called function</span></div></li> |
|
1157 |
+<li><div class="src-line"><a name="a1143"></a><span class="src-doc"> */</span></div></li> |
|
1158 |
+<li><div class="src-line"><a name="a1144"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodarrayMap">arrayMap</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
|
1159 |
+<li><div class="src-line"><a name="a1145"></a> <span class="src-sym">{</span></div></li> |
|
1160 |
+<li><div class="src-line"><a name="a1146"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-var">$this</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1161 |
+<li><div class="src-line"><a name="a1147"></a> <span class="src-var">$addThis </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
1162 |
+<li><div class="src-line"><a name="a1148"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1163 |
+<li><div class="src-line"><a name="a1149"></a> <span class="src-sym">}</span></div></li> |
|
1164 |
+<li><div class="src-line"><a name="a1150"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-id">is_array</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>|| <span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id">Iterator </span>&& <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
|
1165 |
+<li><div class="src-line"><a name="a1151"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1166 |
+<li><div class="src-line"><a name="a1152"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1167 |
+<li><div class="src-line"><a name="a1153"></a> <span class="src-sym">}</span></div></li> |
|
1168 |
+<li><div class="src-line"><a name="a1154"></a> </div></li> |
|
1169 |
+<li><div class="src-line"><a name="a1155"></a> <span class="src-comm">// array map</span></div></li> |
|
1170 |
+<li><div class="src-line"><a name="a1156"></a> <span class="src-var">$out </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1171 |
+<li><div class="src-line"><a name="a1157"></a> <span class="src-var">$cnt </span>= <a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1172 |
+<li><div class="src-line"><a name="a1158"></a> </div></li> |
|
1173 |
+<li><div class="src-line"><a name="a1159"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$addThis</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1174 |
+<li><div class="src-line"><a name="a1160"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1175 |
+<li><div class="src-line"><a name="a1161"></a> <span class="src-var">$items </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1176 |
+<li><div class="src-line"><a name="a1162"></a> <span class="src-var">$keys </span>= <a href="http://www.php.net/array_keys">array_keys</a><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1177 |
+<li><div class="src-line"><a name="a1163"></a> </div></li> |
|
1178 |
+<li><div class="src-line"><a name="a1164"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1179 |
+<li><div class="src-line"><a name="a1165"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1180 |
+<li><div class="src-line"><a name="a1166"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">1</span>=><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1181 |
+<li><div class="src-line"><a name="a1167"></a> <span class="src-sym">}</span></div></li> |
|
1182 |
+<li><div class="src-line"><a name="a1168"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1183 |
+<li><div class="src-line"><a name="a1169"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1184 |
+<li><div class="src-line"><a name="a1170"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1185 |
+<li><div class="src-line"><a name="a1171"></a> <span class="src-sym">}</span></div></li> |
|
1186 |
+<li><div class="src-line"><a name="a1172"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1187 |
+<li><div class="src-line"><a name="a1173"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1188 |
+<li><div class="src-line"><a name="a1174"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1189 |
+<li><div class="src-line"><a name="a1175"></a> <span class="src-sym">}</span></div></li> |
|
1190 |
+<li><div class="src-line"><a name="a1176"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1191 |
+<li><div class="src-line"><a name="a1177"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1192 |
+<li><div class="src-line"><a name="a1178"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1193 |
+<li><div class="src-line"><a name="a1179"></a> <span class="src-sym">}</span></div></li> |
|
1194 |
+<li><div class="src-line"><a name="a1180"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1195 |
+<li><div class="src-line"><a name="a1181"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1196 |
+<li><div class="src-line"><a name="a1182"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">1</span>=><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1197 |
+<li><div class="src-line"><a name="a1183"></a> <span class="src-sym">}</span></div></li> |
|
1198 |
+<li><div class="src-line"><a name="a1184"></a> <span class="src-sym">}</span></div></li> |
|
1199 |
+<li><div class="src-line"><a name="a1185"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1200 |
+<li><div class="src-line"><a name="a1186"></a> <span class="src-var">$items </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1201 |
+<li><div class="src-line"><a name="a1187"></a> <span class="src-var">$keys </span>= <a href="http://www.php.net/array_keys">array_keys</a><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1202 |
1202 |
<li><div class="src-line"><a name="a1188"></a> </div></li> |
| 1203 |
|
-<li><div class="src-line"><a name="a1189"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1204 |
|
-<li><div class="src-line"><a name="a1190"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?([^.[\]-]+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1205 |
|
-<li><div class="src-line"><a name="a1191"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1206 |
|
-<li><div class="src-line"><a name="a1192"></a> <span class="src-var">$m </span>= <span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
| 1207 |
|
-<li><div class="src-line"><a name="a1193"></a> <span class="src-sym">}</span></div></li> |
| 1208 |
|
-<li><div class="src-line"><a name="a1194"></a> unset<span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1209 |
|
-<li><div class="src-line"><a name="a1195"></a> </div></li> |
| 1210 |
|
-<li><div class="src-line"><a name="a1196"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$sep</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1211 |
|
-<li><div class="src-line"><a name="a1197"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1212 |
|
-<li><div class="src-line"><a name="a1198"></a> <span class="src-key">if </span><span class="src-sym">((</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">) </span>|| <span class="src-var">$data </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$safeRead </span>=== <span class="src-id">false </span>|| isset<span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
| 1213 |
|
-<li><div class="src-line"><a name="a1199"></a> <span class="src-var">$data </span>= <span class="src-var">$data</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
| 1214 |
|
-<li><div class="src-line"><a name="a1200"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1215 |
|
-<li><div class="src-line"><a name="a1201"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1216 |
|
-<li><div class="src-line"><a name="a1202"></a> <span class="src-sym">}</span></div></li> |
| 1217 |
|
-<li><div class="src-line"><a name="a1203"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1218 |
|
-<li><div class="src-line"><a name="a1204"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$safeRead </span>=== <span class="src-id">false </span>|| isset<span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
| 1219 |
|
-<li><div class="src-line"><a name="a1205"></a> <span class="src-var">$data </span>= <span class="src-var">$data</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1220 |
|
-<li><div class="src-line"><a name="a1206"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1221 |
|
-<li><div class="src-line"><a name="a1207"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1222 |
|
-<li><div class="src-line"><a name="a1208"></a> <span class="src-sym">}</span></div></li> |
| 1223 |
|
-<li><div class="src-line"><a name="a1209"></a> <span class="src-sym">}</span></div></li> |
| 1224 |
|
-<li><div class="src-line"><a name="a1210"></a> <span class="src-sym">}</span></div></li> |
| 1225 |
|
-<li><div class="src-line"><a name="a1211"></a> </div></li> |
| 1226 |
|
-<li><div class="src-line"><a name="a1212"></a> <span class="src-key">return </span><span class="src-var">$data</span><span class="src-sym">;</span></div></li> |
| 1227 |
|
-<li><div class="src-line"><a name="a1213"></a> <span class="src-sym">}</span></div></li> |
| 1228 |
|
-<li><div class="src-line"><a name="a1214"></a> </div></li> |
| 1229 |
|
-<li><div class="src-line"><a name="a1215"></a> <span class="src-doc">/**</span></div></li> |
| 1230 |
|
-<li><div class="src-line"><a name="a1216"></a><span class="src-doc"> * [runtime function] reads a variable into the parent scope</span></div></li> |
| 1231 |
|
-<li><div class="src-line"><a name="a1217"></a><span class="src-doc"> *</span></div></li> |
| 1232 |
|
-<li><div class="src-line"><a name="a1218"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$parentLevels </span><span class="src-doc">the amount of parent levels to go from the current scope</span></div></li> |
| 1233 |
|
-<li><div class="src-line"><a name="a1219"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$varstr </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
| 1234 |
|
-<li><div class="src-line"><a name="a1220"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
| 1235 |
|
-<li><div class="src-line"><a name="a1221"></a><span class="src-doc"> */</span></div></li> |
| 1236 |
|
-<li><div class="src-line"><a name="a1222"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodreadParentVar">readParentVar</a><span class="src-sym">(</span><span class="src-var">$parentLevels</span><span class="src-sym">, </span><span class="src-var">$varstr </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 1237 |
|
-<li><div class="src-line"><a name="a1223"></a> <span class="src-sym">{</span></div></li> |
| 1238 |
|
-<li><div class="src-line"><a name="a1224"></a> <span class="src-var">$tree </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
| 1239 |
|
-<li><div class="src-line"><a name="a1225"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1240 |
|
-<li><div class="src-line"><a name="a1226"></a> </div></li> |
| 1241 |
|
-<li><div class="src-line"><a name="a1227"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$parentLevels</span>--!==<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1242 |
|
-<li><div class="src-line"><a name="a1228"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1243 |
|
-<li><div class="src-line"><a name="a1229"></a> <span class="src-sym">}</span></div></li> |
| 1244 |
|
-<li><div class="src-line"><a name="a1230"></a> </div></li> |
| 1245 |
|
-<li><div class="src-line"><a name="a1231"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1246 |
|
-<li><div class="src-line"><a name="a1232"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1247 |
|
-<li><div class="src-line"><a name="a1233"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
| 1248 |
|
-<li><div class="src-line"><a name="a1234"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1249 |
|
-<li><div class="src-line"><a name="a1235"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1250 |
|
-<li><div class="src-line"><a name="a1236"></a> <span class="src-sym">}</span></div></li> |
| 1251 |
|
-<li><div class="src-line"><a name="a1237"></a> <span class="src-sym">}</span></div></li> |
| 1252 |
|
-<li><div class="src-line"><a name="a1238"></a> </div></li> |
| 1253 |
|
-<li><div class="src-line"><a name="a1239"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$varstr</span>!==<span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1254 |
|
-<li><div class="src-line"><a name="a1240"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodreadVarInto">readVarInto</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$cur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1255 |
|
-<li><div class="src-line"><a name="a1241"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1256 |
|
-<li><div class="src-line"><a name="a1242"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">;</span></div></li> |
| 1257 |
|
-<li><div class="src-line"><a name="a1243"></a> <span class="src-sym">}</span></div></li> |
| 1258 |
|
-<li><div class="src-line"><a name="a1244"></a> <span class="src-sym">}</span></div></li> |
| 1259 |
|
-<li><div class="src-line"><a name="a1245"></a> </div></li> |
| 1260 |
|
-<li><div class="src-line"><a name="a1246"></a> <span class="src-doc">/**</span></div></li> |
| 1261 |
|
-<li><div class="src-line"><a name="a1247"></a><span class="src-doc"> * [runtime function] reads a variable into the current scope</span></div></li> |
| 1262 |
|
-<li><div class="src-line"><a name="a1248"></a><span class="src-doc"> *</span></div></li> |
| 1263 |
|
-<li><div class="src-line"><a name="a1249"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$varstr </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
| 1264 |
|
-<li><div class="src-line"><a name="a1250"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
| 1265 |
|
-<li><div class="src-line"><a name="a1251"></a><span class="src-doc"> */</span></div></li> |
| 1266 |
|
-<li><div class="src-line"><a name="a1252"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodreadVar">readVar</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span></div></li> |
| 1267 |
|
-<li><div class="src-line"><a name="a1253"></a> <span class="src-sym">{</span></div></li> |
| 1268 |
|
-<li><div class="src-line"><a name="a1254"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1269 |
|
-<li><div class="src-line"><a name="a1255"></a> <span class="src-var">$m </span>= <span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
| 1270 |
|
-<li><div class="src-line"><a name="a1256"></a> unset<span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1271 |
|
-<li><div class="src-line"><a name="a1257"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1272 |
|
-<li><div class="src-line"><a name="a1258"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-str">'['</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1273 |
|
-<li><div class="src-line"><a name="a1259"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$varstr </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1274 |
|
-<li><div class="src-line"><a name="a1260"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$globals">globals</a></span><span class="src-sym">;</span></div></li> |
| 1275 |
|
-<li><div class="src-line"><a name="a1261"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$varstr </span>=== <span class="src-str">'__' </span>|| <span class="src-var">$varstr </span>=== <span class="src-str">'_root' </span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1276 |
|
-<li><div class="src-line"><a name="a1262"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1277 |
|
-<li><div class="src-line"><a name="a1263"></a> <span class="src-var">$varstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-num">6</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1278 |
|
-<li><div class="src-line"><a name="a1264"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$varstr </span>=== <span class="src-str">'_' </span>|| <span class="src-var">$varstr </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1279 |
|
-<li><div class="src-line"><a name="a1265"></a> <span class="src-var">$varstr </span>= <span class="src-str">'.'</span>.<span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
| 1280 |
|
-<li><div class="src-line"><a name="a1266"></a> <span class="src-var">$tree </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
| 1281 |
|
-<li><div class="src-line"><a name="a1267"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1282 |
|
-<li><div class="src-line"><a name="a1268"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1283 |
|
-<li><div class="src-line"><a name="a1269"></a> </div></li> |
| 1284 |
|
-<li><div class="src-line"><a name="a1270"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1285 |
|
-<li><div class="src-line"><a name="a1271"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1286 |
|
-<li><div class="src-line"><a name="a1272"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
| 1287 |
|
-<li><div class="src-line"><a name="a1273"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1288 |
|
-<li><div class="src-line"><a name="a1274"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1289 |
|
-<li><div class="src-line"><a name="a1275"></a> <span class="src-sym">}</span></div></li> |
| 1290 |
|
-<li><div class="src-line"><a name="a1276"></a> <span class="src-sym">}</span></div></li> |
| 1291 |
|
-<li><div class="src-line"><a name="a1277"></a> </div></li> |
| 1292 |
|
-<li><div class="src-line"><a name="a1278"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">;</span></div></li> |
| 1293 |
|
-<li><div class="src-line"><a name="a1279"></a> <span class="src-sym">}</span></div></li> |
| 1294 |
|
-<li><div class="src-line"><a name="a1280"></a> </div></li> |
| 1295 |
|
-<li><div class="src-line"><a name="a1281"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
| 1296 |
|
-<li><div class="src-line"><a name="a1282"></a> </div></li> |
| 1297 |
|
-<li><div class="src-line"><a name="a1283"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$varstr</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1298 |
|
-<li><div class="src-line"><a name="a1284"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$varstr</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1299 |
|
-<li><div class="src-line"><a name="a1285"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1300 |
|
-<li><div class="src-line"><a name="a1286"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1301 |
|
-<li><div class="src-line"><a name="a1287"></a> <span class="src-sym">}</span></div></li> |
| 1302 |
|
-<li><div class="src-line"><a name="a1288"></a> <span class="src-sym">}</span></div></li> |
| 1303 |
|
-<li><div class="src-line"><a name="a1289"></a> </div></li> |
| 1304 |
|
-<li><div class="src-line"><a name="a1290"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'.'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1305 |
|
-<li><div class="src-line"><a name="a1291"></a> <span class="src-var">$varstr </span>= <span class="src-str">'dwoo'</span>.<span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
| 1306 |
|
-<li><div class="src-line"><a name="a1292"></a> <span class="src-sym">}</span></div></li> |
| 1307 |
|
-<li><div class="src-line"><a name="a1293"></a> </div></li> |
| 1308 |
|
-<li><div class="src-line"><a name="a1294"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?([^.[\]-]+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1309 |
|
-<li><div class="src-line"><a name="a1295"></a> <span class="src-sym">}</span></div></li> |
| 1310 |
|
-<li><div class="src-line"><a name="a1296"></a> </div></li> |
| 1311 |
|
-<li><div class="src-line"><a name="a1297"></a> <span class="src-var">$i </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1312 |
|
-<li><div class="src-line"><a name="a1298"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1313 |
|
-<li><div class="src-line"><a name="a1299"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$globals">globals</a></span><span class="src-sym">;</span></div></li> |
| 1314 |
|
-<li><div class="src-line"><a name="a1300"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1315 |
|
-<li><div class="src-line"><a name="a1301"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1316 |
|
-<li><div class="src-line"><a name="a1302"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1317 |
|
-<li><div class="src-line"><a name="a1303"></a> </div></li> |
| 1318 |
|
-<li><div class="src-line"><a name="a1304"></a> <span class="src-key">case </span><span class="src-str">'get'</span>:</div></li> |
| 1319 |
|
-<li><div class="src-line"><a name="a1305"></a> <span class="src-var">$cur </span>= <span class="src-var">$_GET</span><span class="src-sym">;</span></div></li> |
| 1320 |
|
-<li><div class="src-line"><a name="a1306"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1321 |
|
-<li><div class="src-line"><a name="a1307"></a> <span class="src-key">case </span><span class="src-str">'post'</span>:</div></li> |
| 1322 |
|
-<li><div class="src-line"><a name="a1308"></a> <span class="src-var">$cur </span>= <span class="src-var">$_POST</span><span class="src-sym">;</span></div></li> |
| 1323 |
|
-<li><div class="src-line"><a name="a1309"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1324 |
|
-<li><div class="src-line"><a name="a1310"></a> <span class="src-key">case </span><span class="src-str">'session'</span>:</div></li> |
| 1325 |
|
-<li><div class="src-line"><a name="a1311"></a> <span class="src-var">$cur </span>= <span class="src-var">$_SESSION</span><span class="src-sym">;</span></div></li> |
| 1326 |
|
-<li><div class="src-line"><a name="a1312"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1327 |
|
-<li><div class="src-line"><a name="a1313"></a> <span class="src-key">case </span><span class="src-str">'cookies'</span>:</div></li> |
| 1328 |
|
-<li><div class="src-line"><a name="a1314"></a> <span class="src-key">case </span><span class="src-str">'cookie'</span>:</div></li> |
| 1329 |
|
-<li><div class="src-line"><a name="a1315"></a> <span class="src-var">$cur </span>= <span class="src-var">$_COOKIE</span><span class="src-sym">;</span></div></li> |
| 1330 |
|
-<li><div class="src-line"><a name="a1316"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1331 |
|
-<li><div class="src-line"><a name="a1317"></a> <span class="src-key">case </span><span class="src-str">'server'</span>:</div></li> |
| 1332 |
|
-<li><div class="src-line"><a name="a1318"></a> <span class="src-var">$cur </span>= <span class="src-var">$_SERVER</span><span class="src-sym">;</span></div></li> |
| 1333 |
|
-<li><div class="src-line"><a name="a1319"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1334 |
|
-<li><div class="src-line"><a name="a1320"></a> <span class="src-key">case </span><span class="src-str">'env'</span>:</div></li> |
| 1335 |
|
-<li><div class="src-line"><a name="a1321"></a> <span class="src-var">$cur </span>= <span class="src-var">$_ENV</span><span class="src-sym">;</span></div></li> |
| 1336 |
|
-<li><div class="src-line"><a name="a1322"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1337 |
|
-<li><div class="src-line"><a name="a1323"></a> <span class="src-key">case </span><span class="src-str">'request'</span>:</div></li> |
| 1338 |
|
-<li><div class="src-line"><a name="a1324"></a> <span class="src-var">$cur </span>= <span class="src-var">$_REQUEST</span><span class="src-sym">;</span></div></li> |
| 1339 |
|
-<li><div class="src-line"><a name="a1325"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1340 |
|
-<li><div class="src-line"><a name="a1326"></a> <span class="src-key">case </span><span class="src-str">'const'</span>:</div></li> |
| 1341 |
|
-<li><div class="src-line"><a name="a1327"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1342 |
|
-<li><div class="src-line"><a name="a1328"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/defined">defined</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1343 |
|
-<li><div class="src-line"><a name="a1329"></a> <span class="src-key">return </span><a href="http://www.php.net/constant">constant</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1344 |
|
-<li><div class="src-line"><a name="a1330"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1345 |
|
-<li><div class="src-line"><a name="a1331"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1346 |
|
-<li><div class="src-line"><a name="a1332"></a> <span class="src-sym">}</span></div></li> |
| 1347 |
|
-<li><div class="src-line"><a name="a1333"></a> </div></li> |
|
1203 |
+<li><div class="src-line"><a name="a1189"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1204 |
+<li><div class="src-line"><a name="a1190"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1205 |
+<li><div class="src-line"><a name="a1191"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1206 |
+<li><div class="src-line"><a name="a1192"></a> <span class="src-sym">}</span></div></li> |
|
1207 |
+<li><div class="src-line"><a name="a1193"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1208 |
+<li><div class="src-line"><a name="a1194"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1209 |
+<li><div class="src-line"><a name="a1195"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1210 |
+<li><div class="src-line"><a name="a1196"></a> <span class="src-sym">}</span></div></li> |
|
1211 |
+<li><div class="src-line"><a name="a1197"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1212 |
+<li><div class="src-line"><a name="a1198"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1213 |
+<li><div class="src-line"><a name="a1199"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1214 |
+<li><div class="src-line"><a name="a1200"></a> <span class="src-sym">}</span></div></li> |
|
1215 |
+<li><div class="src-line"><a name="a1201"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">3</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1216 |
+<li><div class="src-line"><a name="a1202"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1217 |
+<li><div class="src-line"><a name="a1203"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1218 |
+<li><div class="src-line"><a name="a1204"></a> <span class="src-sym">}</span></div></li> |
|
1219 |
+<li><div class="src-line"><a name="a1205"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$cnt</span>===<span class="src-num">4</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1220 |
+<li><div class="src-line"><a name="a1206"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1221 |
+<li><div class="src-line"><a name="a1207"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1222 |
+<li><div class="src-line"><a name="a1208"></a> <span class="src-sym">}</span></div></li> |
|
1223 |
+<li><div class="src-line"><a name="a1209"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1224 |
+<li><div class="src-line"><a name="a1210"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$keys</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1225 |
+<li><div class="src-line"><a name="a1211"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$items</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1226 |
+<li><div class="src-line"><a name="a1212"></a> <span class="src-sym">}</span></div></li> |
|
1227 |
+<li><div class="src-line"><a name="a1213"></a> <span class="src-sym">}</span></div></li> |
|
1228 |
+<li><div class="src-line"><a name="a1214"></a> <span class="src-sym">}</span></div></li> |
|
1229 |
+<li><div class="src-line"><a name="a1215"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
|
1230 |
+<li><div class="src-line"><a name="a1216"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1231 |
+<li><div class="src-line"><a name="a1217"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1232 |
+<li><div class="src-line"><a name="a1218"></a> <span class="src-sym">}</span></div></li> |
|
1233 |
+<li><div class="src-line"><a name="a1219"></a> <span class="src-sym">}</span></div></li> |
|
1234 |
+<li><div class="src-line"><a name="a1220"></a> </div></li> |
|
1235 |
+<li><div class="src-line"><a name="a1221"></a> <span class="src-doc">/**</span></div></li> |
|
1236 |
+<li><div class="src-line"><a name="a1222"></a><span class="src-doc"> * [runtime function] reads a variable into the given data array</span></div></li> |
|
1237 |
+<li><div class="src-line"><a name="a1223"></a><span class="src-doc"> *</span></div></li> |
|
1238 |
+<li><div class="src-line"><a name="a1224"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$varstr </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
|
1239 |
+<li><div class="src-line"><a name="a1225"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$data </span><span class="src-doc">the data array or object to read from</span></div></li> |
|
1240 |
+<li><div class="src-line"><a name="a1226"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$safeRead </span><span class="src-doc">if true, the function will check whether the index exists to prevent any notices from being output</span></div></li> |
|
1241 |
+<li><div class="src-line"><a name="a1227"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
|
1242 |
+<li><div class="src-line"><a name="a1228"></a><span class="src-doc"> */</span></div></li> |
|
1243 |
+<li><div class="src-line"><a name="a1229"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodreadVarInto">readVarInto</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-var">$safeRead </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
1244 |
+<li><div class="src-line"><a name="a1230"></a> <span class="src-sym">{</span></div></li> |
|
1245 |
+<li><div class="src-line"><a name="a1231"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$data </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1246 |
+<li><div class="src-line"><a name="a1232"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1247 |
+<li><div class="src-line"><a name="a1233"></a> <span class="src-sym">}</span></div></li> |
|
1248 |
+<li><div class="src-line"><a name="a1234"></a> </div></li> |
|
1249 |
+<li><div class="src-line"><a name="a1235"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1250 |
+<li><div class="src-line"><a name="a1236"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?((?:[^.[\]-]|-(?!>))+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1251 |
+<li><div class="src-line"><a name="a1237"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1252 |
+<li><div class="src-line"><a name="a1238"></a> <span class="src-var">$m </span>= <span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
|
1253 |
+<li><div class="src-line"><a name="a1239"></a> <span class="src-sym">}</span></div></li> |
|
1254 |
+<li><div class="src-line"><a name="a1240"></a> unset<span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1255 |
+<li><div class="src-line"><a name="a1241"></a> </div></li> |
|
1256 |
+<li><div class="src-line"><a name="a1242"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$sep</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1257 |
+<li><div class="src-line"><a name="a1243"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1258 |
+<li><div class="src-line"><a name="a1244"></a> <span class="src-key">if </span><span class="src-sym">((</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">) </span>|| <span class="src-var">$data </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$safeRead </span>=== <span class="src-id">false </span>|| isset<span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">))) </span><span class="src-sym">{</span></div></li> |
|
1259 |
+<li><div class="src-line"><a name="a1245"></a> <span class="src-var">$data </span>= <span class="src-var">$data</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
|
1260 |
+<li><div class="src-line"><a name="a1246"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1261 |
+<li><div class="src-line"><a name="a1247"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1262 |
+<li><div class="src-line"><a name="a1248"></a> <span class="src-sym">}</span></div></li> |
|
1263 |
+<li><div class="src-line"><a name="a1249"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1264 |
+<li><div class="src-line"><a name="a1250"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$safeRead </span>=== <span class="src-id">false </span>|| isset<span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">) </span>|| <a href="http://www.php.net/is_callable">is_callable</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$data</span><span class="src-sym">, </span><span class="src-str">'__get'</span><span class="src-sym">)))) </span><span class="src-sym">{</span></div></li> |
|
1265 |
+<li><div class="src-line"><a name="a1251"></a> <span class="src-var">$data </span>= <span class="src-var">$data</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1266 |
+<li><div class="src-line"><a name="a1252"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1267 |
+<li><div class="src-line"><a name="a1253"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1268 |
+<li><div class="src-line"><a name="a1254"></a> <span class="src-sym">}</span></div></li> |
|
1269 |
+<li><div class="src-line"><a name="a1255"></a> <span class="src-sym">}</span></div></li> |
|
1270 |
+<li><div class="src-line"><a name="a1256"></a> <span class="src-sym">}</span></div></li> |
|
1271 |
+<li><div class="src-line"><a name="a1257"></a> </div></li> |
|
1272 |
+<li><div class="src-line"><a name="a1258"></a> <span class="src-key">return </span><span class="src-var">$data</span><span class="src-sym">;</span></div></li> |
|
1273 |
+<li><div class="src-line"><a name="a1259"></a> <span class="src-sym">}</span></div></li> |
|
1274 |
+<li><div class="src-line"><a name="a1260"></a> </div></li> |
|
1275 |
+<li><div class="src-line"><a name="a1261"></a> <span class="src-doc">/**</span></div></li> |
|
1276 |
+<li><div class="src-line"><a name="a1262"></a><span class="src-doc"> * [runtime function] reads a variable into the parent scope</span></div></li> |
|
1277 |
+<li><div class="src-line"><a name="a1263"></a><span class="src-doc"> *</span></div></li> |
|
1278 |
+<li><div class="src-line"><a name="a1264"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$parentLevels </span><span class="src-doc">the amount of parent levels to go from the current scope</span></div></li> |
|
1279 |
+<li><div class="src-line"><a name="a1265"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$varstr </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
|
1280 |
+<li><div class="src-line"><a name="a1266"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
|
1281 |
+<li><div class="src-line"><a name="a1267"></a><span class="src-doc"> */</span></div></li> |
|
1282 |
+<li><div class="src-line"><a name="a1268"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodreadParentVar">readParentVar</a><span class="src-sym">(</span><span class="src-var">$parentLevels</span><span class="src-sym">, </span><span class="src-var">$varstr </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
1283 |
+<li><div class="src-line"><a name="a1269"></a> <span class="src-sym">{</span></div></li> |
|
1284 |
+<li><div class="src-line"><a name="a1270"></a> <span class="src-var">$tree </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
|
1285 |
+<li><div class="src-line"><a name="a1271"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1286 |
+<li><div class="src-line"><a name="a1272"></a> </div></li> |
|
1287 |
+<li><div class="src-line"><a name="a1273"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$parentLevels</span>--!==<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1288 |
+<li><div class="src-line"><a name="a1274"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1289 |
+<li><div class="src-line"><a name="a1275"></a> <span class="src-sym">}</span></div></li> |
|
1290 |
+<li><div class="src-line"><a name="a1276"></a> </div></li> |
|
1291 |
+<li><div class="src-line"><a name="a1277"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1292 |
+<li><div class="src-line"><a name="a1278"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1293 |
+<li><div class="src-line"><a name="a1279"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
|
1294 |
+<li><div class="src-line"><a name="a1280"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1295 |
+<li><div class="src-line"><a name="a1281"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1296 |
+<li><div class="src-line"><a name="a1282"></a> <span class="src-sym">}</span></div></li> |
|
1297 |
+<li><div class="src-line"><a name="a1283"></a> <span class="src-sym">}</span></div></li> |
|
1298 |
+<li><div class="src-line"><a name="a1284"></a> </div></li> |
|
1299 |
+<li><div class="src-line"><a name="a1285"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$varstr</span>!==<span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1300 |
+<li><div class="src-line"><a name="a1286"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodreadVarInto">readVarInto</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$cur</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1301 |
+<li><div class="src-line"><a name="a1287"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1302 |
+<li><div class="src-line"><a name="a1288"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">;</span></div></li> |
|
1303 |
+<li><div class="src-line"><a name="a1289"></a> <span class="src-sym">}</span></div></li> |
|
1304 |
+<li><div class="src-line"><a name="a1290"></a> <span class="src-sym">}</span></div></li> |
|
1305 |
+<li><div class="src-line"><a name="a1291"></a> </div></li> |
|
1306 |
+<li><div class="src-line"><a name="a1292"></a> <span class="src-doc">/**</span></div></li> |
|
1307 |
+<li><div class="src-line"><a name="a1293"></a><span class="src-doc"> * [runtime function] reads a variable into the current scope</span></div></li> |
|
1308 |
+<li><div class="src-line"><a name="a1294"></a><span class="src-doc"> *</span></div></li> |
|
1309 |
+<li><div class="src-line"><a name="a1295"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$varstr </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
|
1310 |
+<li><div class="src-line"><a name="a1296"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
|
1311 |
+<li><div class="src-line"><a name="a1297"></a><span class="src-doc"> */</span></div></li> |
|
1312 |
+<li><div class="src-line"><a name="a1298"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodreadVar">readVar</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span></div></li> |
|
1313 |
+<li><div class="src-line"><a name="a1299"></a> <span class="src-sym">{</span></div></li> |
|
1314 |
+<li><div class="src-line"><a name="a1300"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1315 |
+<li><div class="src-line"><a name="a1301"></a> <span class="src-var">$m </span>= <span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
|
1316 |
+<li><div class="src-line"><a name="a1302"></a> unset<span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1317 |
+<li><div class="src-line"><a name="a1303"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1318 |
+<li><div class="src-line"><a name="a1304"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-str">'['</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1319 |
+<li><div class="src-line"><a name="a1305"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$varstr </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1320 |
+<li><div class="src-line"><a name="a1306"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$globals">globals</a></span><span class="src-sym">;</span></div></li> |
|
1321 |
+<li><div class="src-line"><a name="a1307"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$varstr </span>=== <span class="src-str">'__' </span>|| <span class="src-var">$varstr </span>=== <span class="src-str">'_root' </span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1322 |
+<li><div class="src-line"><a name="a1308"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1323 |
+<li><div class="src-line"><a name="a1309"></a> <span class="src-var">$varstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-num">6</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1324 |
+<li><div class="src-line"><a name="a1310"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$varstr </span>=== <span class="src-str">'_' </span>|| <span class="src-var">$varstr </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1325 |
+<li><div class="src-line"><a name="a1311"></a> <span class="src-var">$varstr </span>= <span class="src-str">'.'</span>.<span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
|
1326 |
+<li><div class="src-line"><a name="a1312"></a> <span class="src-var">$tree </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
|
1327 |
+<li><div class="src-line"><a name="a1313"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1328 |
+<li><div class="src-line"><a name="a1314"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1329 |
+<li><div class="src-line"><a name="a1315"></a> </div></li> |
|
1330 |
+<li><div class="src-line"><a name="a1316"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1331 |
+<li><div class="src-line"><a name="a1317"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1332 |
+<li><div class="src-line"><a name="a1318"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
|
1333 |
+<li><div class="src-line"><a name="a1319"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1334 |
+<li><div class="src-line"><a name="a1320"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1335 |
+<li><div class="src-line"><a name="a1321"></a> <span class="src-sym">}</span></div></li> |
|
1336 |
+<li><div class="src-line"><a name="a1322"></a> <span class="src-sym">}</span></div></li> |
|
1337 |
+<li><div class="src-line"><a name="a1323"></a> </div></li> |
|
1338 |
+<li><div class="src-line"><a name="a1324"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">;</span></div></li> |
|
1339 |
+<li><div class="src-line"><a name="a1325"></a> <span class="src-sym">}</span></div></li> |
|
1340 |
+<li><div class="src-line"><a name="a1326"></a> </div></li> |
|
1341 |
+<li><div class="src-line"><a name="a1327"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
|
1342 |
+<li><div class="src-line"><a name="a1328"></a> </div></li> |
|
1343 |
+<li><div class="src-line"><a name="a1329"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$varstr</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1344 |
+<li><div class="src-line"><a name="a1330"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$varstr</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1345 |
+<li><div class="src-line"><a name="a1331"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1346 |
+<li><div class="src-line"><a name="a1332"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1347 |
+<li><div class="src-line"><a name="a1333"></a> <span class="src-sym">}</span></div></li> |
| 1348 |
1348 |
<li><div class="src-line"><a name="a1334"></a> <span class="src-sym">}</span></div></li> |
| 1349 |
|
-<li><div class="src-line"><a name="a1335"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cur </span>!== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$globals">globals</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1350 |
|
-<li><div class="src-line"><a name="a1336"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1351 |
|
-<li><div class="src-line"><a name="a1337"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1349 |
+<li><div class="src-line"><a name="a1335"></a> </div></li> |
|
1350 |
+<li><div class="src-line"><a name="a1336"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'.'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1351 |
+<li><div class="src-line"><a name="a1337"></a> <span class="src-var">$varstr </span>= <span class="src-str">'dwoo'</span>.<span class="src-var">$varstr</span><span class="src-sym">;</span></div></li> |
| 1352 |
1352 |
<li><div class="src-line"><a name="a1338"></a> <span class="src-sym">}</span></div></li> |
| 1353 |
|
-<li><div class="src-line"><a name="a1339"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'__' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'_root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1354 |
|
-<li><div class="src-line"><a name="a1340"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1355 |
|
-<li><div class="src-line"><a name="a1341"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1356 |
|
-<li><div class="src-line"><a name="a1342"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1357 |
|
-<li><div class="src-line"><a name="a1343"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1358 |
|
-<li><div class="src-line"><a name="a1344"></a> <span class="src-var">$tree </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
| 1359 |
|
-<li><div class="src-line"><a name="a1345"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1360 |
|
-<li><div class="src-line"><a name="a1346"></a> </div></li> |
| 1361 |
|
-<li><div class="src-line"><a name="a1347"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1362 |
|
-<li><div class="src-line"><a name="a1348"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1363 |
|
-<li><div class="src-line"><a name="a1349"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1364 |
|
-<li><div class="src-line"><a name="a1350"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1365 |
|
-<li><div class="src-line"><a name="a1351"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>=== <span class="src-str">'_' </span>|| <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1366 |
|
-<li><div class="src-line"><a name="a1352"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 1367 |
|
-<li><div class="src-line"><a name="a1353"></a> <span class="src-sym">}</span></div></li> |
| 1368 |
|
-<li><div class="src-line"><a name="a1354"></a> </div></li> |
| 1369 |
|
-<li><div class="src-line"><a name="a1355"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1370 |
|
-<li><div class="src-line"><a name="a1356"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1371 |
|
-<li><div class="src-line"><a name="a1357"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
| 1372 |
|
-<li><div class="src-line"><a name="a1358"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1373 |
|
-<li><div class="src-line"><a name="a1359"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1374 |
|
-<li><div class="src-line"><a name="a1360"></a> <span class="src-sym">}</span></div></li> |
| 1375 |
|
-<li><div class="src-line"><a name="a1361"></a> <span class="src-sym">}</span></div></li> |
|
1353 |
+<li><div class="src-line"><a name="a1339"></a> </div></li> |
|
1354 |
+<li><div class="src-line"><a name="a1340"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?((?:[^.[\]-]|-(?!>))+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$varstr</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1355 |
+<li><div class="src-line"><a name="a1341"></a> <span class="src-sym">}</span></div></li> |
|
1356 |
+<li><div class="src-line"><a name="a1342"></a> </div></li> |
|
1357 |
+<li><div class="src-line"><a name="a1343"></a> <span class="src-var">$i </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1358 |
+<li><div class="src-line"><a name="a1344"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1359 |
+<li><div class="src-line"><a name="a1345"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$globals">globals</a></span><span class="src-sym">;</span></div></li> |
|
1360 |
+<li><div class="src-line"><a name="a1346"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1361 |
+<li><div class="src-line"><a name="a1347"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1362 |
+<li><div class="src-line"><a name="a1348"></a> <span class="src-key">switch </span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1363 |
+<li><div class="src-line"><a name="a1349"></a> </div></li> |
|
1364 |
+<li><div class="src-line"><a name="a1350"></a> <span class="src-key">case </span><span class="src-str">'get'</span>:</div></li> |
|
1365 |
+<li><div class="src-line"><a name="a1351"></a> <span class="src-var">$cur </span>= <span class="src-var">$_GET</span><span class="src-sym">;</span></div></li> |
|
1366 |
+<li><div class="src-line"><a name="a1352"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1367 |
+<li><div class="src-line"><a name="a1353"></a> <span class="src-key">case </span><span class="src-str">'post'</span>:</div></li> |
|
1368 |
+<li><div class="src-line"><a name="a1354"></a> <span class="src-var">$cur </span>= <span class="src-var">$_POST</span><span class="src-sym">;</span></div></li> |
|
1369 |
+<li><div class="src-line"><a name="a1355"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1370 |
+<li><div class="src-line"><a name="a1356"></a> <span class="src-key">case </span><span class="src-str">'session'</span>:</div></li> |
|
1371 |
+<li><div class="src-line"><a name="a1357"></a> <span class="src-var">$cur </span>= <span class="src-var">$_SESSION</span><span class="src-sym">;</span></div></li> |
|
1372 |
+<li><div class="src-line"><a name="a1358"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1373 |
+<li><div class="src-line"><a name="a1359"></a> <span class="src-key">case </span><span class="src-str">'cookies'</span>:</div></li> |
|
1374 |
+<li><div class="src-line"><a name="a1360"></a> <span class="src-key">case </span><span class="src-str">'cookie'</span>:</div></li> |
|
1375 |
+<li><div class="src-line"><a name="a1361"></a> <span class="src-var">$cur </span>= <span class="src-var">$_COOKIE</span><span class="src-sym">;</span></div></li> |
| 1376 |
1376 |
<li><div class="src-line"><a name="a1362"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1377 |
|
-<li><div class="src-line"><a name="a1363"></a> <span class="src-sym">}</span></div></li> |
| 1378 |
|
-<li><div class="src-line"><a name="a1364"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1379 |
|
-<li><div class="src-line"><a name="a1365"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
| 1380 |
|
-<li><div class="src-line"><a name="a1366"></a> <span class="src-sym">}</span></div></li> |
| 1381 |
|
-<li><div class="src-line"><a name="a1367"></a> </div></li> |
| 1382 |
|
-<li><div class="src-line"><a name="a1368"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$sep</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1383 |
|
-<li><div class="src-line"><a name="a1369"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1384 |
|
-<li><div class="src-line"><a name="a1370"></a> <span class="src-key">if </span><span class="src-sym">((</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>|| <span class="src-var">$cur </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1385 |
|
-<li><div class="src-line"><a name="a1371"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
| 1386 |
|
-<li><div class="src-line"><a name="a1372"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1387 |
|
-<li><div class="src-line"><a name="a1373"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1388 |
|
-<li><div class="src-line"><a name="a1374"></a> <span class="src-sym">}</span></div></li> |
| 1389 |
|
-<li><div class="src-line"><a name="a1375"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1390 |
|
-<li><div class="src-line"><a name="a1376"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1391 |
|
-<li><div class="src-line"><a name="a1377"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1392 |
|
-<li><div class="src-line"><a name="a1378"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1393 |
|
-<li><div class="src-line"><a name="a1379"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1394 |
|
-<li><div class="src-line"><a name="a1380"></a> <span class="src-sym">}</span></div></li> |
| 1395 |
|
-<li><div class="src-line"><a name="a1381"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1396 |
|
-<li><div class="src-line"><a name="a1382"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1397 |
|
-<li><div class="src-line"><a name="a1383"></a> <span class="src-sym">}</span></div></li> |
| 1398 |
|
-<li><div class="src-line"><a name="a1384"></a> <span class="src-sym">}</span></div></li> |
| 1399 |
|
-<li><div class="src-line"><a name="a1385"></a> </div></li> |
| 1400 |
|
-<li><div class="src-line"><a name="a1386"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">;</span></div></li> |
| 1401 |
|
-<li><div class="src-line"><a name="a1387"></a> <span class="src-sym">}</span></div></li> |
| 1402 |
|
-<li><div class="src-line"><a name="a1388"></a> </div></li> |
| 1403 |
|
-<li><div class="src-line"><a name="a1389"></a> <span class="src-doc">/**</span></div></li> |
| 1404 |
|
-<li><div class="src-line"><a name="a1390"></a><span class="src-doc"> * [runtime function] assign the value to the given variable</span></div></li> |
| 1405 |
|
-<li><div class="src-line"><a name="a1391"></a><span class="src-doc"> *</span></div></li> |
| 1406 |
|
-<li><div class="src-line"><a name="a1392"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$value </span><span class="src-doc">the value to assign</span></div></li> |
| 1407 |
|
-<li><div class="src-line"><a name="a1393"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$scope </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
| 1408 |
|
-<li><div class="src-line"><a name="a1394"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true if assigned correctly or false if a problem occured while parsing the var string</span></div></li> |
| 1409 |
|
-<li><div class="src-line"><a name="a1395"></a><span class="src-doc"> */</span></div></li> |
| 1410 |
|
-<li><div class="src-line"><a name="a1396"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodassignInScope">assignInScope</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">)</span></div></li> |
| 1411 |
|
-<li><div class="src-line"><a name="a1397"></a> <span class="src-sym">{</span></div></li> |
| 1412 |
|
-<li><div class="src-line"><a name="a1398"></a> <span class="src-var">$tree </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
| 1413 |
|
-<li><div class="src-line"><a name="a1399"></a> <span class="src-var">$data </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1377 |
+<li><div class="src-line"><a name="a1363"></a> <span class="src-key">case </span><span class="src-str">'server'</span>:</div></li> |
|
1378 |
+<li><div class="src-line"><a name="a1364"></a> <span class="src-var">$cur </span>= <span class="src-var">$_SERVER</span><span class="src-sym">;</span></div></li> |
|
1379 |
+<li><div class="src-line"><a name="a1365"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1380 |
+<li><div class="src-line"><a name="a1366"></a> <span class="src-key">case </span><span class="src-str">'env'</span>:</div></li> |
|
1381 |
+<li><div class="src-line"><a name="a1367"></a> <span class="src-var">$cur </span>= <span class="src-var">$_ENV</span><span class="src-sym">;</span></div></li> |
|
1382 |
+<li><div class="src-line"><a name="a1368"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1383 |
+<li><div class="src-line"><a name="a1369"></a> <span class="src-key">case </span><span class="src-str">'request'</span>:</div></li> |
|
1384 |
+<li><div class="src-line"><a name="a1370"></a> <span class="src-var">$cur </span>= <span class="src-var">$_REQUEST</span><span class="src-sym">;</span></div></li> |
|
1385 |
+<li><div class="src-line"><a name="a1371"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1386 |
+<li><div class="src-line"><a name="a1372"></a> <span class="src-key">case </span><span class="src-str">'const'</span>:</div></li> |
|
1387 |
+<li><div class="src-line"><a name="a1373"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1388 |
+<li><div class="src-line"><a name="a1374"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/defined">defined</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1389 |
+<li><div class="src-line"><a name="a1375"></a> <span class="src-key">return </span><a href="http://www.php.net/constant">constant</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1390 |
+<li><div class="src-line"><a name="a1376"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1391 |
+<li><div class="src-line"><a name="a1377"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1392 |
+<li><div class="src-line"><a name="a1378"></a> <span class="src-sym">}</span></div></li> |
|
1393 |
+<li><div class="src-line"><a name="a1379"></a> </div></li> |
|
1394 |
+<li><div class="src-line"><a name="a1380"></a> <span class="src-sym">}</span></div></li> |
|
1395 |
+<li><div class="src-line"><a name="a1381"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cur </span>!== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$globals">globals</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1396 |
+<li><div class="src-line"><a name="a1382"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1397 |
+<li><div class="src-line"><a name="a1383"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1398 |
+<li><div class="src-line"><a name="a1384"></a> <span class="src-sym">}</span></div></li> |
|
1399 |
+<li><div class="src-line"><a name="a1385"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'__' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'_root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1400 |
+<li><div class="src-line"><a name="a1386"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1401 |
+<li><div class="src-line"><a name="a1387"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1402 |
+<li><div class="src-line"><a name="a1388"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1403 |
+<li><div class="src-line"><a name="a1389"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1404 |
+<li><div class="src-line"><a name="a1390"></a> <span class="src-var">$tree </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
|
1405 |
+<li><div class="src-line"><a name="a1391"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1406 |
+<li><div class="src-line"><a name="a1392"></a> </div></li> |
|
1407 |
+<li><div class="src-line"><a name="a1393"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1408 |
+<li><div class="src-line"><a name="a1394"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1409 |
+<li><div class="src-line"><a name="a1395"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1410 |
+<li><div class="src-line"><a name="a1396"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1411 |
+<li><div class="src-line"><a name="a1397"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>=== <span class="src-str">'_' </span>|| <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1412 |
+<li><div class="src-line"><a name="a1398"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
1413 |
+<li><div class="src-line"><a name="a1399"></a> <span class="src-sym">}</span></div></li> |
| 1414 |
1414 |
<li><div class="src-line"><a name="a1400"></a> </div></li> |
| 1415 |
|
-<li><div class="src-line"><a name="a1401"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1416 |
|
-<li><div class="src-line"><a name="a1402"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodtriggerError">triggerError</a><span class="src-sym">(</span><span class="src-str">'Assignments must be done into strings, ('</span>.<a href="http://www.php.net/gettype">gettype</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)</span>.<span class="src-str">') '</span>.<a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">' given'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1417 |
|
-<li><div class="src-line"><a name="a1403"></a> <span class="src-sym">}</span></div></li> |
| 1418 |
|
-<li><div class="src-line"><a name="a1404"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1419 |
|
-<li><div class="src-line"><a name="a1405"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$scope</span><span class="src-sym">] </span>= <span class="src-var">$value</span><span class="src-sym">;</span></div></li> |
| 1420 |
|
-<li><div class="src-line"><a name="a1406"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1421 |
|
-<li><div class="src-line"><a name="a1407"></a> <span class="src-comm">// TODO handle _root/_parent scopes ?</span></div></li> |
| 1422 |
|
-<li><div class="src-line"><a name="a1408"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?([^.[\]-]+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1423 |
|
-<li><div class="src-line"><a name="a1409"></a> </div></li> |
| 1424 |
|
-<li><div class="src-line"><a name="a1410"></a> <span class="src-var">$cur </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
| 1425 |
|
-<li><div class="src-line"><a name="a1411"></a> <span class="src-var">$last </span>= <span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1426 |
|
-<li><div class="src-line"><a name="a1412"></a> </div></li> |
| 1427 |
|
-<li><div class="src-line"><a name="a1413"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$sep</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1428 |
|
-<li><div class="src-line"><a name="a1414"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1429 |
|
-<li><div class="src-line"><a name="a1415"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1430 |
|
-<li><div class="src-line"><a name="a1416"></a> <span class="src-var">$cur </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1431 |
|
-<li><div class="src-line"><a name="a1417"></a> <span class="src-sym">}</span></div></li> |
| 1432 |
|
-<li><div class="src-line"><a name="a1418"></a> <span class="src-var">$cur </span>=<span class="src-sym">& </span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
| 1433 |
|
-<li><div class="src-line"><a name="a1419"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1434 |
|
-<li><div class="src-line"><a name="a1420"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1435 |
|
-<li><div class="src-line"><a name="a1421"></a> <span class="src-var">$cur </span>= <span class="src-key">new </span><span class="src-id">stdClass</span><span class="src-sym">;</span></div></li> |
| 1436 |
|
-<li><div class="src-line"><a name="a1422"></a> <span class="src-sym">}</span></div></li> |
| 1437 |
|
-<li><div class="src-line"><a name="a1423"></a> <span class="src-var">$cur </span>=<span class="src-sym">& </span><span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1415 |
+<li><div class="src-line"><a name="a1401"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$i </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1416 |
+<li><div class="src-line"><a name="a1402"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1417 |
+<li><div class="src-line"><a name="a1403"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$i</span><span class="src-sym">;</span></div></li> |
|
1418 |
+<li><div class="src-line"><a name="a1404"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1419 |
+<li><div class="src-line"><a name="a1405"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1420 |
+<li><div class="src-line"><a name="a1406"></a> <span class="src-sym">}</span></div></li> |
|
1421 |
+<li><div class="src-line"><a name="a1407"></a> <span class="src-sym">}</span></div></li> |
|
1422 |
+<li><div class="src-line"><a name="a1408"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1423 |
+<li><div class="src-line"><a name="a1409"></a> <span class="src-sym">}</span></div></li> |
|
1424 |
+<li><div class="src-line"><a name="a1410"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1425 |
+<li><div class="src-line"><a name="a1411"></a> <span class="src-var">$cur </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
|
1426 |
+<li><div class="src-line"><a name="a1412"></a> <span class="src-sym">}</span></div></li> |
|
1427 |
+<li><div class="src-line"><a name="a1413"></a> </div></li> |
|
1428 |
+<li><div class="src-line"><a name="a1414"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$sep</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1429 |
+<li><div class="src-line"><a name="a1415"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1430 |
+<li><div class="src-line"><a name="a1416"></a> <span class="src-key">if </span><span class="src-sym">((</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>|| <span class="src-var">$cur </span>instanceof <span class="src-id">ArrayAccess</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1431 |
+<li><div class="src-line"><a name="a1417"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
|
1432 |
+<li><div class="src-line"><a name="a1418"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1433 |
+<li><div class="src-line"><a name="a1419"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1434 |
+<li><div class="src-line"><a name="a1420"></a> <span class="src-sym">}</span></div></li> |
|
1435 |
+<li><div class="src-line"><a name="a1421"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1436 |
+<li><div class="src-line"><a name="a1422"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1437 |
+<li><div class="src-line"><a name="a1423"></a> <span class="src-var">$cur </span>= <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1438 |
1438 |
<li><div class="src-line"><a name="a1424"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1439 |
|
-<li><div class="src-line"><a name="a1425"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1439 |
+<li><div class="src-line"><a name="a1425"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1440 |
1440 |
<li><div class="src-line"><a name="a1426"></a> <span class="src-sym">}</span></div></li> |
| 1441 |
|
-<li><div class="src-line"><a name="a1427"></a> <span class="src-sym">}</span></div></li> |
| 1442 |
|
-<li><div class="src-line"><a name="a1428"></a> </div></li> |
| 1443 |
|
-<li><div class="src-line"><a name="a1429"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1444 |
|
-<li><div class="src-line"><a name="a1430"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1445 |
|
-<li><div class="src-line"><a name="a1431"></a> <span class="src-var">$cur </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1446 |
|
-<li><div class="src-line"><a name="a1432"></a> <span class="src-sym">}</span></div></li> |
| 1447 |
|
-<li><div class="src-line"><a name="a1433"></a> <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]] </span>= <span class="src-var">$value</span><span class="src-sym">;</span></div></li> |
| 1448 |
|
-<li><div class="src-line"><a name="a1434"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1449 |
|
-<li><div class="src-line"><a name="a1435"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1450 |
|
-<li><div class="src-line"><a name="a1436"></a> <span class="src-var">$cur </span>= <span class="src-key">new </span><span class="src-id">stdClass</span><span class="src-sym">;</span></div></li> |
| 1451 |
|
-<li><div class="src-line"><a name="a1437"></a> <span class="src-sym">}</span></div></li> |
| 1452 |
|
-<li><div class="src-line"><a name="a1438"></a> <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>= <span class="src-var">$value</span><span class="src-sym">;</span></div></li> |
| 1453 |
|
-<li><div class="src-line"><a name="a1439"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1454 |
|
-<li><div class="src-line"><a name="a1440"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1455 |
|
-<li><div class="src-line"><a name="a1441"></a> <span class="src-sym">}</span></div></li> |
| 1456 |
|
-<li><div class="src-line"><a name="a1442"></a> <span class="src-sym">}</span></div></li> |
| 1457 |
|
-<li><div class="src-line"><a name="a1443"></a> <span class="src-sym">}</span></div></li> |
| 1458 |
|
-<li><div class="src-line"><a name="a1444"></a> </div></li> |
| 1459 |
|
-<li><div class="src-line"><a name="a1445"></a> <span class="src-doc">/**</span></div></li> |
| 1460 |
|
-<li><div class="src-line"><a name="a1446"></a><span class="src-doc"> * [runtime function] sets the scope to the given scope string or array</span></div></li> |
| 1461 |
|
-<li><div class="src-line"><a name="a1447"></a><span class="src-doc"> *</span></div></li> |
| 1462 |
|
-<li><div class="src-line"><a name="a1448"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$scope </span><span class="src-doc">a string i.e. "level1.level2" or an array i.e. array("level1", "level2")</span></div></li> |
| 1463 |
|
-<li><div class="src-line"><a name="a1449"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$absolute </span><span class="src-doc">if true, the scope is set from the top level scope and not from the current scope</span></div></li> |
| 1464 |
|
-<li><div class="src-line"><a name="a1450"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">the current scope tree</span></div></li> |
| 1465 |
|
-<li><div class="src-line"><a name="a1451"></a><span class="src-doc"> */</span></div></li> |
| 1466 |
|
-<li><div class="src-line"><a name="a1452"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetScope">setScope</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-var">$absolute </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 1467 |
|
-<li><div class="src-line"><a name="a1453"></a> <span class="src-sym">{</span></div></li> |
| 1468 |
|
-<li><div class="src-line"><a name="a1454"></a> <span class="src-var">$old </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
|
1441 |
+<li><div class="src-line"><a name="a1427"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1442 |
+<li><div class="src-line"><a name="a1428"></a> <span class="src-key">return </span><span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1443 |
+<li><div class="src-line"><a name="a1429"></a> <span class="src-sym">}</span></div></li> |
|
1444 |
+<li><div class="src-line"><a name="a1430"></a> <span class="src-sym">}</span></div></li> |
|
1445 |
+<li><div class="src-line"><a name="a1431"></a> </div></li> |
|
1446 |
+<li><div class="src-line"><a name="a1432"></a> <span class="src-key">return </span><span class="src-var">$cur</span><span class="src-sym">;</span></div></li> |
|
1447 |
+<li><div class="src-line"><a name="a1433"></a> <span class="src-sym">}</span></div></li> |
|
1448 |
+<li><div class="src-line"><a name="a1434"></a> </div></li> |
|
1449 |
+<li><div class="src-line"><a name="a1435"></a> <span class="src-doc">/**</span></div></li> |
|
1450 |
+<li><div class="src-line"><a name="a1436"></a><span class="src-doc"> * [runtime function] assign the value to the given variable</span></div></li> |
|
1451 |
+<li><div class="src-line"><a name="a1437"></a><span class="src-doc"> *</span></div></li> |
|
1452 |
+<li><div class="src-line"><a name="a1438"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$value </span><span class="src-doc">the value to assign</span></div></li> |
|
1453 |
+<li><div class="src-line"><a name="a1439"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$scope </span><span class="src-doc">the variable string, using dwoo variable syntax (i.e. "var.subvar[subsubvar]->property")</span></div></li> |
|
1454 |
+<li><div class="src-line"><a name="a1440"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true if assigned correctly or false if a problem occured while parsing the var string</span></div></li> |
|
1455 |
+<li><div class="src-line"><a name="a1441"></a><span class="src-doc"> */</span></div></li> |
|
1456 |
+<li><div class="src-line"><a name="a1442"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodassignInScope">assignInScope</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">)</span></div></li> |
|
1457 |
+<li><div class="src-line"><a name="a1443"></a> <span class="src-sym">{</span></div></li> |
|
1458 |
+<li><div class="src-line"><a name="a1444"></a> <span class="src-var">$tree </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
|
1459 |
+<li><div class="src-line"><a name="a1445"></a> <span class="src-var">$data </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1460 |
+<li><div class="src-line"><a name="a1446"></a> </div></li> |
|
1461 |
+<li><div class="src-line"><a name="a1447"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1462 |
+<li><div class="src-line"><a name="a1448"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodtriggerError">triggerError</a><span class="src-sym">(</span><span class="src-str">'Assignments must be done into strings, ('</span>.<a href="http://www.php.net/gettype">gettype</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)</span>.<span class="src-str">') '</span>.<a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">' given'</span><span class="src-sym">, </span><span class="src-id">E_USER_ERROR</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1463 |
+<li><div class="src-line"><a name="a1449"></a> <span class="src-sym">}</span></div></li> |
|
1464 |
+<li><div class="src-line"><a name="a1450"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1465 |
+<li><div class="src-line"><a name="a1451"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$scope</span><span class="src-sym">] </span>= <span class="src-var">$value</span><span class="src-sym">;</span></div></li> |
|
1466 |
+<li><div class="src-line"><a name="a1452"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1467 |
+<li><div class="src-line"><a name="a1453"></a> <span class="src-comm">// TODO handle _root/_parent scopes ?</span></div></li> |
|
1468 |
+<li><div class="src-line"><a name="a1454"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?([^.[\]-]+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1469 |
1469 |
<li><div class="src-line"><a name="a1455"></a> </div></li> |
| 1470 |
|
-<li><div class="src-line"><a name="a1456"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1471 |
|
-<li><div class="src-line"><a name="a1457"></a> <span class="src-var">$scope </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1472 |
|
-<li><div class="src-line"><a name="a1458"></a> <span class="src-sym">}</span></div></li> |
| 1473 |
|
-<li><div class="src-line"><a name="a1459"></a> </div></li> |
| 1474 |
|
-<li><div class="src-line"><a name="a1460"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$absolute</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1475 |
|
-<li><div class="src-line"><a name="a1461"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1476 |
|
-<li><div class="src-line"><a name="a1462"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a> </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1477 |
|
-<li><div class="src-line"><a name="a1463"></a> <span class="src-sym">}</span></div></li> |
| 1478 |
|
-<li><div class="src-line"><a name="a1464"></a> </div></li> |
| 1479 |
|
-<li><div class="src-line"><a name="a1465"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$bit </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1480 |
|
-<li><div class="src-line"><a name="a1466"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'_' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1481 |
|
-<li><div class="src-line"><a name="a1467"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1482 |
|
-<li><div class="src-line"><a name="a1468"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1483 |
|
-<li><div class="src-line"><a name="a1469"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1484 |
|
-<li><div class="src-line"><a name="a1470"></a> <span class="src-key">for </span><span class="src-sym">(</span><span class="src-var">$i</span>=<span class="src-num">0</span><span class="src-sym">;</span><span class="src-var">$i</span><<span class="src-var">$cnt</span><span class="src-sym">;</span><span class="src-var">$i</span>++<span class="src-sym">)</span></div></li> |
| 1485 |
|
-<li><div class="src-line"><a name="a1471"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
| 1486 |
|
-<li><div class="src-line"><a name="a1472"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'__' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'_root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1487 |
|
-<li><div class="src-line"><a name="a1473"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1488 |
|
-<li><div class="src-line"><a name="a1474"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a> </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1489 |
|
-<li><div class="src-line"><a name="a1475"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1490 |
|
-<li><div class="src-line"><a name="a1476"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1491 |
|
-<li><div class="src-line"><a name="a1477"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$bit</span><span class="src-sym">;</span></div></li> |
| 1492 |
|
-<li><div class="src-line"><a name="a1478"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1493 |
|
-<li><div class="src-line"><a name="a1479"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1494 |
|
-<li><div class="src-line"><a name="a1480"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1495 |
|
-<li><div class="src-line"><a name="a1481"></a> <span class="src-sym">}</span></div></li> |
| 1496 |
|
-<li><div class="src-line"><a name="a1482"></a> <span class="src-sym">}</span></div></li> |
| 1497 |
|
-<li><div class="src-line"><a name="a1483"></a> </div></li> |
| 1498 |
|
-<li><div class="src-line"><a name="a1484"></a> <span class="src-key">return </span><span class="src-var">$old</span><span class="src-sym">;</span></div></li> |
| 1499 |
|
-<li><div class="src-line"><a name="a1485"></a> <span class="src-sym">}</span></div></li> |
| 1500 |
|
-<li><div class="src-line"><a name="a1486"></a> </div></li> |
| 1501 |
|
-<li><div class="src-line"><a name="a1487"></a> <span class="src-doc">/**</span></div></li> |
| 1502 |
|
-<li><div class="src-line"><a name="a1488"></a><span class="src-doc"> * [runtime function] returns the entire data array</span></div></li> |
| 1503 |
|
-<li><div class="src-line"><a name="a1489"></a><span class="src-doc"> *</span></div></li> |
| 1504 |
|
-<li><div class="src-line"><a name="a1490"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> |
| 1505 |
|
-<li><div class="src-line"><a name="a1491"></a><span class="src-doc"> */</span></div></li> |
| 1506 |
|
-<li><div class="src-line"><a name="a1492"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetData">getData</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 1507 |
|
-<li><div class="src-line"><a name="a1493"></a> <span class="src-sym">{</span></div></li> |
| 1508 |
|
-<li><div class="src-line"><a name="a1494"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
| 1509 |
|
-<li><div class="src-line"><a name="a1495"></a> <span class="src-sym">}</span></div></li> |
| 1510 |
|
-<li><div class="src-line"><a name="a1496"></a> </div></li> |
| 1511 |
|
-<li><div class="src-line"><a name="a1497"></a> <span class="src-doc">/**</span></div></li> |
| 1512 |
|
-<li><div class="src-line"><a name="a1498"></a><span class="src-doc"> * [runtime function] returns a reference to the current scope</span></div></li> |
| 1513 |
|
-<li><div class="src-line"><a name="a1499"></a><span class="src-doc"> *</span></div></li> |
| 1514 |
|
-<li><div class="src-line"><a name="a1500"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">&mixed </span></div></li> |
| 1515 |
|
-<li><div class="src-line"><a name="a1501"></a><span class="src-doc"> */</span></div></li> |
| 1516 |
|
-<li><div class="src-line"><a name="a1502"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-sym">&</span><a href="../Dwoo/Dwoo.html#methodgetScope">getScope</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 1517 |
|
-<li><div class="src-line"><a name="a1503"></a> <span class="src-sym">{</span></div></li> |
| 1518 |
|
-<li><div class="src-line"><a name="a1504"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
| 1519 |
|
-<li><div class="src-line"><a name="a1505"></a> <span class="src-sym">}</span></div></li> |
| 1520 |
|
-<li><div class="src-line"><a name="a1506"></a> </div></li> |
| 1521 |
|
-<li><div class="src-line"><a name="a1507"></a> <span class="src-doc">/**</span></div></li> |
| 1522 |
|
-<li><div class="src-line"><a name="a1508"></a><span class="src-doc"> * Redirects all calls to unexisting to plugin proxy.</span></div></li> |
| 1523 |
|
-<li><div class="src-line"><a name="a1509"></a><span class="src-doc"> * </span></div></li> |
| 1524 |
|
-<li><div class="src-line"><a name="a1510"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">Method name</span></div></li> |
| 1525 |
|
-<li><div class="src-line"><a name="a1511"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc"> List of arguments</span></div></li> |
| 1526 |
|
-<li><div class="src-line"><a name="a1512"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
| 1527 |
|
-<li><div class="src-line"><a name="a1513"></a><span class="src-doc"> */</span></div></li> |
| 1528 |
|
-<li><div class="src-line"><a name="a1514"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#method__call">__call</a><span class="src-sym">(</span><span class="src-var">$method</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1529 |
|
-<li><div class="src-line"><a name="a1515"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetPluginProxy">getPluginProxy</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getCallback</span><span class="src-sym">(</span><span class="src-var">$method</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1530 |
|
-<li><div class="src-line"><a name="a1516"></a> <span class="src-sym">}</span></div></li> |
| 1531 |
|
-<li><div class="src-line"><a name="a1517"></a><span class="src-sym">}</span></div></li> |
|
1470 |
+<li><div class="src-line"><a name="a1456"></a> <span class="src-var">$cur </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
|
1471 |
+<li><div class="src-line"><a name="a1457"></a> <span class="src-var">$last </span>= <span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1472 |
+<li><div class="src-line"><a name="a1458"></a> </div></li> |
|
1473 |
+<li><div class="src-line"><a name="a1459"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-var">$sep</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1474 |
+<li><div class="src-line"><a name="a1460"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$sep </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1475 |
+<li><div class="src-line"><a name="a1461"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1476 |
+<li><div class="src-line"><a name="a1462"></a> <span class="src-var">$cur </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1477 |
+<li><div class="src-line"><a name="a1463"></a> <span class="src-sym">}</span></div></li> |
|
1478 |
+<li><div class="src-line"><a name="a1464"></a> <span class="src-var">$cur </span>=<span class="src-sym">& </span><span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
|
1479 |
+<li><div class="src-line"><a name="a1465"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$sep </span>=== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1480 |
+<li><div class="src-line"><a name="a1466"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1481 |
+<li><div class="src-line"><a name="a1467"></a> <span class="src-var">$cur </span>= <span class="src-key">new </span><span class="src-id">stdClass</span><span class="src-sym">;</span></div></li> |
|
1482 |
+<li><div class="src-line"><a name="a1468"></a> <span class="src-sym">}</span></div></li> |
|
1483 |
+<li><div class="src-line"><a name="a1469"></a> <span class="src-var">$cur </span>=<span class="src-sym">& </span><span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1484 |
+<li><div class="src-line"><a name="a1470"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1485 |
+<li><div class="src-line"><a name="a1471"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1486 |
+<li><div class="src-line"><a name="a1472"></a> <span class="src-sym">}</span></div></li> |
|
1487 |
+<li><div class="src-line"><a name="a1473"></a> <span class="src-sym">}</span></div></li> |
|
1488 |
+<li><div class="src-line"><a name="a1474"></a> </div></li> |
|
1489 |
+<li><div class="src-line"><a name="a1475"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'[' </span>|| <span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1490 |
+<li><div class="src-line"><a name="a1476"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1491 |
+<li><div class="src-line"><a name="a1477"></a> <span class="src-var">$cur </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1492 |
+<li><div class="src-line"><a name="a1478"></a> <span class="src-sym">}</span></div></li> |
|
1493 |
+<li><div class="src-line"><a name="a1479"></a> <span class="src-var">$cur</span><span class="src-sym">[</span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]] </span>= <span class="src-var">$value</span><span class="src-sym">;</span></div></li> |
|
1494 |
+<li><div class="src-line"><a name="a1480"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1495 |
+<li><div class="src-line"><a name="a1481"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$cur</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1496 |
+<li><div class="src-line"><a name="a1482"></a> <span class="src-var">$cur </span>= <span class="src-key">new </span><span class="src-id">stdClass</span><span class="src-sym">;</span></div></li> |
|
1497 |
+<li><div class="src-line"><a name="a1483"></a> <span class="src-sym">}</span></div></li> |
|
1498 |
+<li><div class="src-line"><a name="a1484"></a> <span class="src-var">$cur</span><span class="src-sym">-></span><span class="src-var">$last</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>= <span class="src-var">$value</span><span class="src-sym">;</span></div></li> |
|
1499 |
+<li><div class="src-line"><a name="a1485"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1500 |
+<li><div class="src-line"><a name="a1486"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1501 |
+<li><div class="src-line"><a name="a1487"></a> <span class="src-sym">}</span></div></li> |
|
1502 |
+<li><div class="src-line"><a name="a1488"></a> <span class="src-sym">}</span></div></li> |
|
1503 |
+<li><div class="src-line"><a name="a1489"></a> <span class="src-sym">}</span></div></li> |
|
1504 |
+<li><div class="src-line"><a name="a1490"></a> </div></li> |
|
1505 |
+<li><div class="src-line"><a name="a1491"></a> <span class="src-doc">/**</span></div></li> |
|
1506 |
+<li><div class="src-line"><a name="a1492"></a><span class="src-doc"> * [runtime function] sets the scope to the given scope string or array</span></div></li> |
|
1507 |
+<li><div class="src-line"><a name="a1493"></a><span class="src-doc"> *</span></div></li> |
|
1508 |
+<li><div class="src-line"><a name="a1494"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$scope </span><span class="src-doc">a string i.e. "level1.level2" or an array i.e. array("level1", "level2")</span></div></li> |
|
1509 |
+<li><div class="src-line"><a name="a1495"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$absolute </span><span class="src-doc">if true, the scope is set from the top level scope and not from the current scope</span></div></li> |
|
1510 |
+<li><div class="src-line"><a name="a1496"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">the current scope tree</span></div></li> |
|
1511 |
+<li><div class="src-line"><a name="a1497"></a><span class="src-doc"> */</span></div></li> |
|
1512 |
+<li><div class="src-line"><a name="a1498"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodsetScope">setScope</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-var">$absolute </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
1513 |
+<li><div class="src-line"><a name="a1499"></a> <span class="src-sym">{</span></div></li> |
|
1514 |
+<li><div class="src-line"><a name="a1500"></a> <span class="src-var">$old </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">;</span></div></li> |
|
1515 |
+<li><div class="src-line"><a name="a1501"></a> </div></li> |
|
1516 |
+<li><div class="src-line"><a name="a1502"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_string">is_string</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1517 |
+<li><div class="src-line"><a name="a1503"></a> <span class="src-var">$scope </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1518 |
+<li><div class="src-line"><a name="a1504"></a> <span class="src-sym">}</span></div></li> |
|
1519 |
+<li><div class="src-line"><a name="a1505"></a> </div></li> |
|
1520 |
+<li><div class="src-line"><a name="a1506"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$absolute</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1521 |
+<li><div class="src-line"><a name="a1507"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1522 |
+<li><div class="src-line"><a name="a1508"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a> </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1523 |
+<li><div class="src-line"><a name="a1509"></a> <span class="src-sym">}</span></div></li> |
|
1524 |
+<li><div class="src-line"><a name="a1510"></a> </div></li> |
|
1525 |
+<li><div class="src-line"><a name="a1511"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$bit </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1526 |
+<li><div class="src-line"><a name="a1512"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'_' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1527 |
+<li><div class="src-line"><a name="a1513"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1528 |
+<li><div class="src-line"><a name="a1514"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1529 |
+<li><div class="src-line"><a name="a1515"></a> <span class="src-var">$cnt </span>= <a href="../Dwoo/Dwoo.html#methodcount">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1530 |
+<li><div class="src-line"><a name="a1516"></a> <span class="src-key">for </span><span class="src-sym">(</span><span class="src-var">$i</span>=<span class="src-num">0</span><span class="src-sym">;</span><span class="src-var">$i</span><<span class="src-var">$cnt</span><span class="src-sym">;</span><span class="src-var">$i</span>++<span class="src-sym">)</span></div></li> |
|
1531 |
+<li><div class="src-line"><a name="a1517"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
|
1532 |
+<li><div class="src-line"><a name="a1518"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'__' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'_root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1533 |
+<li><div class="src-line"><a name="a1519"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1534 |
+<li><div class="src-line"><a name="a1520"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a> </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1535 |
+<li><div class="src-line"><a name="a1521"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1536 |
+<li><div class="src-line"><a name="a1522"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1537 |
+<li><div class="src-line"><a name="a1523"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scopeTree">scopeTree</a></span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$bit</span><span class="src-sym">;</span></div></li> |
|
1538 |
+<li><div class="src-line"><a name="a1524"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1539 |
+<li><div class="src-line"><a name="a1525"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1540 |
+<li><div class="src-line"><a name="a1526"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a> </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1541 |
+<li><div class="src-line"><a name="a1527"></a> <span class="src-sym">}</span></div></li> |
|
1542 |
+<li><div class="src-line"><a name="a1528"></a> <span class="src-sym">}</span></div></li> |
|
1543 |
+<li><div class="src-line"><a name="a1529"></a> </div></li> |
|
1544 |
+<li><div class="src-line"><a name="a1530"></a> <span class="src-key">return </span><span class="src-var">$old</span><span class="src-sym">;</span></div></li> |
|
1545 |
+<li><div class="src-line"><a name="a1531"></a> <span class="src-sym">}</span></div></li> |
|
1546 |
+<li><div class="src-line"><a name="a1532"></a> </div></li> |
|
1547 |
+<li><div class="src-line"><a name="a1533"></a> <span class="src-doc">/**</span></div></li> |
|
1548 |
+<li><div class="src-line"><a name="a1534"></a><span class="src-doc"> * [runtime function] returns the entire data array</span></div></li> |
|
1549 |
+<li><div class="src-line"><a name="a1535"></a><span class="src-doc"> *</span></div></li> |
|
1550 |
+<li><div class="src-line"><a name="a1536"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span></div></li> |
|
1551 |
+<li><div class="src-line"><a name="a1537"></a><span class="src-doc"> */</span></div></li> |
|
1552 |
+<li><div class="src-line"><a name="a1538"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#methodgetData">getData</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
1553 |
+<li><div class="src-line"><a name="a1539"></a> <span class="src-sym">{</span></div></li> |
|
1554 |
+<li><div class="src-line"><a name="a1540"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$data">data</a></span><span class="src-sym">;</span></div></li> |
|
1555 |
+<li><div class="src-line"><a name="a1541"></a> <span class="src-sym">}</span></div></li> |
|
1556 |
+<li><div class="src-line"><a name="a1542"></a> </div></li> |
|
1557 |
+<li><div class="src-line"><a name="a1543"></a> <span class="src-doc">/**</span></div></li> |
|
1558 |
+<li><div class="src-line"><a name="a1544"></a><span class="src-doc"> * [runtime function] returns a reference to the current scope</span></div></li> |
|
1559 |
+<li><div class="src-line"><a name="a1545"></a><span class="src-doc"> *</span></div></li> |
|
1560 |
+<li><div class="src-line"><a name="a1546"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">&mixed </span></div></li> |
|
1561 |
+<li><div class="src-line"><a name="a1547"></a><span class="src-doc"> */</span></div></li> |
|
1562 |
+<li><div class="src-line"><a name="a1548"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-sym">&</span><a href="../Dwoo/Dwoo.html#methodgetScope">getScope</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
1563 |
+<li><div class="src-line"><a name="a1549"></a> <span class="src-sym">{</span></div></li> |
|
1564 |
+<li><div class="src-line"><a name="a1550"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo.html#var$scope">scope</a></span><span class="src-sym">;</span></div></li> |
|
1565 |
+<li><div class="src-line"><a name="a1551"></a> <span class="src-sym">}</span></div></li> |
|
1566 |
+<li><div class="src-line"><a name="a1552"></a> </div></li> |
|
1567 |
+<li><div class="src-line"><a name="a1553"></a> <span class="src-doc">/**</span></div></li> |
|
1568 |
+<li><div class="src-line"><a name="a1554"></a><span class="src-doc"> * Redirects all calls to unexisting to plugin proxy.</span></div></li> |
|
1569 |
+<li><div class="src-line"><a name="a1555"></a><span class="src-doc"> *</span></div></li> |
|
1570 |
+<li><div class="src-line"><a name="a1556"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc">Method name</span></div></li> |
|
1571 |
+<li><div class="src-line"><a name="a1557"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc"> List of arguments</span></div></li> |
|
1572 |
+<li><div class="src-line"><a name="a1558"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">mixed </span></div></li> |
|
1573 |
+<li><div class="src-line"><a name="a1559"></a><span class="src-doc"> */</span></div></li> |
|
1574 |
+<li><div class="src-line"><a name="a1560"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo.html#method__call">__call</a><span class="src-sym">(</span><span class="src-var">$method</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1575 |
+<li><div class="src-line"><a name="a1561"></a> <span class="src-var">$proxy </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetPluginProxy">getPluginProxy</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1576 |
+<li><div class="src-line"><a name="a1562"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$proxy</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1577 |
+<li><div class="src-line"><a name="a1563"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Call to undefined method '</span>.__CLASS__.<span class="src-str">'::'</span>.<span class="src-var">$method</span>.<span class="src-str">'()'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1578 |
+<li><div class="src-line"><a name="a1564"></a> <span class="src-sym">}</span></div></li> |
|
1579 |
+<li><div class="src-line"><a name="a1565"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$proxy</span><span class="src-sym">-></span><span class="src-id">getCallback</span><span class="src-sym">(</span><span class="src-var">$method</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$args</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1580 |
+<li><div class="src-line"><a name="a1566"></a> <span class="src-sym">}</span></div></li> |
|
1581 |
+<li><div class="src-line"><a name="a1567"></a><span class="src-sym">}</span></div></li> |
| 1532 |
1582 |
</ol></div> |
| 1533 |
1583 |
</div> |
| 1534 |
1584 |
<p class="notes" id="credit"> |
| 1535 |
|
- Documentation generated on Sat, 18 Jul 2009 21:04:54 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a> |
|
1585 |
+ Documentation generated on Sun, 07 Feb 2010 17:03:53 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a> |
| 1536 |
1586 |
</p> |
| 1537 |
1587 |
</body> |
| 1538 |
1588 |
</html> |
| 246 |
246 |
<li><div class="src-line"><a name="a232"></a> <span class="src-key">protected </span><span class="src-key">static </span><span class="src-var">$instance</span><span class="src-sym">;</span></div></li> |
| 247 |
247 |
<li><div class="src-line"><a name="a233"></a> </div></li> |
| 248 |
248 |
<li><div class="src-line"><a name="a234"></a> <span class="src-doc">/**</span></div></li> |
| 249 |
|
-<li><div class="src-line"><a name="a235"></a><span class="src-doc"> * sets the delimiters to use in the templates</span></div></li> |
| 250 |
|
-<li><div class="src-line"><a name="a236"></a><span class="src-doc"> *</span></div></li> |
| 251 |
|
-<li><div class="src-line"><a name="a237"></a><span class="src-doc"> * delimiters can be multi-character strings but should not be one of those as they will</span></div></li> |
| 252 |
|
-<li><div class="src-line"><a name="a238"></a><span class="src-doc"> * make it very hard to work with templates or might even break the compiler entirely : "\", "$", "|", ":" and finally "#" only if you intend to use config-vars with the #var# syntax.</span></div></li> |
| 253 |
|
-<li><div class="src-line"><a name="a239"></a><span class="src-doc"> *</span></div></li> |
| 254 |
|
-<li><div class="src-line"><a name="a240"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$left </span><span class="src-doc">left delimiter</span></div></li> |
| 255 |
|
-<li><div class="src-line"><a name="a241"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$right </span><span class="src-doc">right delimiter</span></div></li> |
| 256 |
|
-<li><div class="src-line"><a name="a242"></a><span class="src-doc"> */</span></div></li> |
| 257 |
|
-<li><div class="src-line"><a name="a243"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetDelimiters">setDelimiters</a><span class="src-sym">(</span><span class="src-var">$left</span><span class="src-sym">, </span><span class="src-var">$right</span><span class="src-sym">)</span></div></li> |
| 258 |
|
-<li><div class="src-line"><a name="a244"></a> <span class="src-sym">{</span></div></li> |
| 259 |
|
-<li><div class="src-line"><a name="a245"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a> = <span class="src-var">$left</span><span class="src-sym">;</span></div></li> |
| 260 |
|
-<li><div class="src-line"><a name="a246"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a> = <span class="src-var">$right</span><span class="src-sym">;</span></div></li> |
| 261 |
|
-<li><div class="src-line"><a name="a247"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ldr">ldr</a> = <a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-var">$left</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 262 |
|
-<li><div class="src-line"><a name="a248"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a> = <a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-var">$right</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 263 |
|
-<li><div class="src-line"><a name="a249"></a> <span class="src-sym">}</span></div></li> |
| 264 |
|
-<li><div class="src-line"><a name="a250"></a> </div></li> |
| 265 |
|
-<li><div class="src-line"><a name="a251"></a> <span class="src-doc">/**</span></div></li> |
| 266 |
|
-<li><div class="src-line"><a name="a252"></a><span class="src-doc"> * returns the left and right template delimiters</span></div></li> |
| 267 |
|
-<li><div class="src-line"><a name="a253"></a><span class="src-doc"> *</span></div></li> |
| 268 |
|
-<li><div class="src-line"><a name="a254"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">containing the left and the right delimiters</span></div></li> |
| 269 |
|
-<li><div class="src-line"><a name="a255"></a><span class="src-doc"> */</span></div></li> |
| 270 |
|
-<li><div class="src-line"><a name="a256"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDelimiters">getDelimiters</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 271 |
|
-<li><div class="src-line"><a name="a257"></a> <span class="src-sym">{</span></div></li> |
| 272 |
|
-<li><div class="src-line"><a name="a258"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 273 |
|
-<li><div class="src-line"><a name="a259"></a> <span class="src-sym">}</span></div></li> |
| 274 |
|
-<li><div class="src-line"><a name="a260"></a> </div></li> |
| 275 |
|
-<li><div class="src-line"><a name="a261"></a> <span class="src-doc">/**</span></div></li> |
| 276 |
|
-<li><div class="src-line"><a name="a262"></a><span class="src-doc"> * sets the way to handle nested comments, if set to true</span></div></li> |
| 277 |
|
-<li><div class="src-line"><a name="a263"></a><span class="src-doc"> * {* foo {* some other *} comment *} will be stripped correctly.</span></div></li> |
| 278 |
|
-<li><div class="src-line"><a name="a264"></a><span class="src-doc"> *</span></div></li> |
| 279 |
|
-<li><div class="src-line"><a name="a265"></a><span class="src-doc"> * if false it will remove {* foo {* some other *} and leave "comment *}" alone,</span></div></li> |
| 280 |
|
-<li><div class="src-line"><a name="a266"></a><span class="src-doc"> * this is the default behavior</span></div></li> |
| 281 |
|
-<li><div class="src-line"><a name="a267"></a><span class="src-doc"> *</span></div></li> |
| 282 |
|
-<li><div class="src-line"><a name="a268"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$allow </span><span class="src-doc">allow nested comments or not, defaults to true (but the default internal value is false)</span></div></li> |
| 283 |
|
-<li><div class="src-line"><a name="a269"></a><span class="src-doc"> */</span></div></li> |
| 284 |
|
-<li><div class="src-line"><a name="a270"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetNestedCommentsHandling">setNestedCommentsHandling</a><span class="src-sym">(</span><span class="src-var">$allow </span>= <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 285 |
|
-<li><div class="src-line"><a name="a271"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowNestedComments">allowNestedComments</a> = (bool) <span class="src-var">$allow</span><span class="src-sym">;</span></div></li> |
| 286 |
|
-<li><div class="src-line"><a name="a272"></a> <span class="src-sym">}</span></div></li> |
| 287 |
|
-<li><div class="src-line"><a name="a273"></a> </div></li> |
| 288 |
|
-<li><div class="src-line"><a name="a274"></a> <span class="src-doc">/**</span></div></li> |
| 289 |
|
-<li><div class="src-line"><a name="a275"></a><span class="src-doc"> * returns the nested comments handling setting</span></div></li> |
| 290 |
|
-<li><div class="src-line"><a name="a276"></a><span class="src-doc"> *</span></div></li> |
| 291 |
|
-<li><div class="src-line"><a name="a277"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> setNestedCommentsHandling</span></div></li> |
| 292 |
|
-<li><div class="src-line"><a name="a278"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true if nested comments are allowed</span></div></li> |
| 293 |
|
-<li><div class="src-line"><a name="a279"></a><span class="src-doc"> */</span></div></li> |
| 294 |
|
-<li><div class="src-line"><a name="a280"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetNestedCommentsHandling">getNestedCommentsHandling</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 295 |
|
-<li><div class="src-line"><a name="a281"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowNestedComments">allowNestedComments</a><span class="src-sym">;</span></div></li> |
| 296 |
|
-<li><div class="src-line"><a name="a282"></a> <span class="src-sym">}</span></div></li> |
| 297 |
|
-<li><div class="src-line"><a name="a283"></a> </div></li> |
| 298 |
|
-<li><div class="src-line"><a name="a284"></a> <span class="src-doc">/**</span></div></li> |
| 299 |
|
-<li><div class="src-line"><a name="a285"></a><span class="src-doc"> * sets the tag openings handling strictness, if set to true, template tags can</span></div></li> |
| 300 |
|
-<li><div class="src-line"><a name="a286"></a><span class="src-doc"> * contain spaces before the first function/string/variable such as { $foo} is valid.</span></div></li> |
| 301 |
|
-<li><div class="src-line"><a name="a287"></a><span class="src-doc"> *</span></div></li> |
| 302 |
|
-<li><div class="src-line"><a name="a288"></a><span class="src-doc"> * if set to false (default setting), { $foo} is invalid but that is however a good thing</span></div></li> |
| 303 |
|
-<li><div class="src-line"><a name="a289"></a><span class="src-doc"> * as it allows css (i.e. #foo { color:red; }) to be parsed silently without triggering</span></div></li> |
| 304 |
|
-<li><div class="src-line"><a name="a290"></a><span class="src-doc"> * an error, same goes for javascript.</span></div></li> |
| 305 |
|
-<li><div class="src-line"><a name="a291"></a><span class="src-doc"> *</span></div></li> |
| 306 |
|
-<li><div class="src-line"><a name="a292"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$allow </span><span class="src-doc">true to allow loose handling, false to restore default setting</span></div></li> |
| 307 |
|
-<li><div class="src-line"><a name="a293"></a><span class="src-doc"> */</span></div></li> |
| 308 |
|
-<li><div class="src-line"><a name="a294"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetLooseOpeningHandling">setLooseOpeningHandling</a><span class="src-sym">(</span><span class="src-var">$allow </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 309 |
|
-<li><div class="src-line"><a name="a295"></a> <span class="src-sym">{</span></div></li> |
| 310 |
|
-<li><div class="src-line"><a name="a296"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> = (bool) <span class="src-var">$allow</span><span class="src-sym">;</span></div></li> |
| 311 |
|
-<li><div class="src-line"><a name="a297"></a> <span class="src-sym">}</span></div></li> |
| 312 |
|
-<li><div class="src-line"><a name="a298"></a> </div></li> |
| 313 |
|
-<li><div class="src-line"><a name="a299"></a> <span class="src-doc">/**</span></div></li> |
| 314 |
|
-<li><div class="src-line"><a name="a300"></a><span class="src-doc"> * returns the tag openings handling strictness setting</span></div></li> |
| 315 |
|
-<li><div class="src-line"><a name="a301"></a><span class="src-doc"> *</span></div></li> |
| 316 |
|
-<li><div class="src-line"><a name="a302"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> setLooseOpeningHandling</span></div></li> |
| 317 |
|
-<li><div class="src-line"><a name="a303"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true if loose tags are allowed</span></div></li> |
| 318 |
|
-<li><div class="src-line"><a name="a304"></a><span class="src-doc"> */</span></div></li> |
| 319 |
|
-<li><div class="src-line"><a name="a305"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetLooseOpeningHandling">getLooseOpeningHandling</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 320 |
|
-<li><div class="src-line"><a name="a306"></a> <span class="src-sym">{</span></div></li> |
| 321 |
|
-<li><div class="src-line"><a name="a307"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a><span class="src-sym">;</span></div></li> |
| 322 |
|
-<li><div class="src-line"><a name="a308"></a> <span class="src-sym">}</span></div></li> |
| 323 |
|
-<li><div class="src-line"><a name="a309"></a> </div></li> |
| 324 |
|
-<li><div class="src-line"><a name="a310"></a> <span class="src-doc">/**</span></div></li> |
| 325 |
|
-<li><div class="src-line"><a name="a311"></a><span class="src-doc"> * changes the auto escape setting</span></div></li> |
|
249 |
+<li><div class="src-line"><a name="a235"></a><span class="src-doc"> * token types</span></div></li> |
|
250 |
+<li><div class="src-line"><a name="a236"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@var </span><span class="src-doc-type">int </span></div></li> |
|
251 |
+<li><div class="src-line"><a name="a237"></a><span class="src-doc"> */</span></div></li> |
|
252 |
+<li><div class="src-line"><a name="a238"></a> <span class="src-key">const </span><span class="src-id">T_UNQUOTED_STRING </span>= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
253 |
+<li><div class="src-line"><a name="a239"></a> <span class="src-key">const </span><span class="src-id">T_NUMERIC </span>= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
254 |
+<li><div class="src-line"><a name="a240"></a> <span class="src-key">const </span><span class="src-id">T_NULL </span>= <span class="src-num">4</span><span class="src-sym">;</span></div></li> |
|
255 |
+<li><div class="src-line"><a name="a241"></a> <span class="src-key">const </span><span class="src-id">T_BOOL </span>= <span class="src-num">8</span><span class="src-sym">;</span></div></li> |
|
256 |
+<li><div class="src-line"><a name="a242"></a> <span class="src-key">const </span><span class="src-id">T_MATH </span>= <span class="src-num">16</span><span class="src-sym">;</span></div></li> |
|
257 |
+<li><div class="src-line"><a name="a243"></a> <span class="src-key">const </span><span class="src-id">T_BREAKCHAR </span>= <span class="src-num">32</span><span class="src-sym">;</span></div></li> |
|
258 |
+<li><div class="src-line"><a name="a244"></a> </div></li> |
|
259 |
+<li><div class="src-line"><a name="a245"></a> <span class="src-doc">/**</span></div></li> |
|
260 |
+<li><div class="src-line"><a name="a246"></a><span class="src-doc"> * constructor</span></div></li> |
|
261 |
+<li><div class="src-line"><a name="a247"></a><span class="src-doc"> *</span></div></li> |
|
262 |
+<li><div class="src-line"><a name="a248"></a><span class="src-doc"> * saves the created instance so that child templates get the same one</span></div></li> |
|
263 |
+<li><div class="src-line"><a name="a249"></a><span class="src-doc"> */</span></div></li> |
|
264 |
+<li><div class="src-line"><a name="a250"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#method__construct">__construct</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
265 |
+<li><div class="src-line"><a name="a251"></a> <span class="src-sym">{</span></div></li> |
|
266 |
+<li><div class="src-line"><a name="a252"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>= <span class="src-var">$this</span><span class="src-sym">;</span></div></li> |
|
267 |
+<li><div class="src-line"><a name="a253"></a> <span class="src-sym">}</span></div></li> |
|
268 |
+<li><div class="src-line"><a name="a254"></a> </div></li> |
|
269 |
+<li><div class="src-line"><a name="a255"></a> <span class="src-doc">/**</span></div></li> |
|
270 |
+<li><div class="src-line"><a name="a256"></a><span class="src-doc"> * sets the delimiters to use in the templates</span></div></li> |
|
271 |
+<li><div class="src-line"><a name="a257"></a><span class="src-doc"> *</span></div></li> |
|
272 |
+<li><div class="src-line"><a name="a258"></a><span class="src-doc"> * delimiters can be multi-character strings but should not be one of those as they will</span></div></li> |
|
273 |
+<li><div class="src-line"><a name="a259"></a><span class="src-doc"> * make it very hard to work with templates or might even break the compiler entirely : "\", "$", "|", ":" and finally "#" only if you intend to use config-vars with the #var# syntax.</span></div></li> |
|
274 |
+<li><div class="src-line"><a name="a260"></a><span class="src-doc"> *</span></div></li> |
|
275 |
+<li><div class="src-line"><a name="a261"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$left </span><span class="src-doc">left delimiter</span></div></li> |
|
276 |
+<li><div class="src-line"><a name="a262"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$right </span><span class="src-doc">right delimiter</span></div></li> |
|
277 |
+<li><div class="src-line"><a name="a263"></a><span class="src-doc"> */</span></div></li> |
|
278 |
+<li><div class="src-line"><a name="a264"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetDelimiters">setDelimiters</a><span class="src-sym">(</span><span class="src-var">$left</span><span class="src-sym">, </span><span class="src-var">$right</span><span class="src-sym">)</span></div></li> |
|
279 |
+<li><div class="src-line"><a name="a265"></a> <span class="src-sym">{</span></div></li> |
|
280 |
+<li><div class="src-line"><a name="a266"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a> = <span class="src-var">$left</span><span class="src-sym">;</span></div></li> |
|
281 |
+<li><div class="src-line"><a name="a267"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a> = <span class="src-var">$right</span><span class="src-sym">;</span></div></li> |
|
282 |
+<li><div class="src-line"><a name="a268"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ldr">ldr</a> = <span class="src-id">preg_quote</span><span class="src-sym">(</span><span class="src-var">$left</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
283 |
+<li><div class="src-line"><a name="a269"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a> = <a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-var">$right</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
284 |
+<li><div class="src-line"><a name="a270"></a> <span class="src-sym">}</span></div></li> |
|
285 |
+<li><div class="src-line"><a name="a271"></a> </div></li> |
|
286 |
+<li><div class="src-line"><a name="a272"></a> <span class="src-doc">/**</span></div></li> |
|
287 |
+<li><div class="src-line"><a name="a273"></a><span class="src-doc"> * returns the left and right template delimiters</span></div></li> |
|
288 |
+<li><div class="src-line"><a name="a274"></a><span class="src-doc"> *</span></div></li> |
|
289 |
+<li><div class="src-line"><a name="a275"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">containing the left and the right delimiters</span></div></li> |
|
290 |
+<li><div class="src-line"><a name="a276"></a><span class="src-doc"> */</span></div></li> |
|
291 |
+<li><div class="src-line"><a name="a277"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDelimiters">getDelimiters</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
292 |
+<li><div class="src-line"><a name="a278"></a> <span class="src-sym">{</span></div></li> |
|
293 |
+<li><div class="src-line"><a name="a279"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
294 |
+<li><div class="src-line"><a name="a280"></a> <span class="src-sym">}</span></div></li> |
|
295 |
+<li><div class="src-line"><a name="a281"></a> </div></li> |
|
296 |
+<li><div class="src-line"><a name="a282"></a> <span class="src-doc">/**</span></div></li> |
|
297 |
+<li><div class="src-line"><a name="a283"></a><span class="src-doc"> * sets the way to handle nested comments, if set to true</span></div></li> |
|
298 |
+<li><div class="src-line"><a name="a284"></a><span class="src-doc"> * {* foo {* some other *} comment *} will be stripped correctly.</span></div></li> |
|
299 |
+<li><div class="src-line"><a name="a285"></a><span class="src-doc"> *</span></div></li> |
|
300 |
+<li><div class="src-line"><a name="a286"></a><span class="src-doc"> * if false it will remove {* foo {* some other *} and leave "comment *}" alone,</span></div></li> |
|
301 |
+<li><div class="src-line"><a name="a287"></a><span class="src-doc"> * this is the default behavior</span></div></li> |
|
302 |
+<li><div class="src-line"><a name="a288"></a><span class="src-doc"> *</span></div></li> |
|
303 |
+<li><div class="src-line"><a name="a289"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$allow </span><span class="src-doc">allow nested comments or not, defaults to true (but the default internal value is false)</span></div></li> |
|
304 |
+<li><div class="src-line"><a name="a290"></a><span class="src-doc"> */</span></div></li> |
|
305 |
+<li><div class="src-line"><a name="a291"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetNestedCommentsHandling">setNestedCommentsHandling</a><span class="src-sym">(</span><span class="src-var">$allow </span>= <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
306 |
+<li><div class="src-line"><a name="a292"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowNestedComments">allowNestedComments</a> = (bool) <span class="src-var">$allow</span><span class="src-sym">;</span></div></li> |
|
307 |
+<li><div class="src-line"><a name="a293"></a> <span class="src-sym">}</span></div></li> |
|
308 |
+<li><div class="src-line"><a name="a294"></a> </div></li> |
|
309 |
+<li><div class="src-line"><a name="a295"></a> <span class="src-doc">/**</span></div></li> |
|
310 |
+<li><div class="src-line"><a name="a296"></a><span class="src-doc"> * returns the nested comments handling setting</span></div></li> |
|
311 |
+<li><div class="src-line"><a name="a297"></a><span class="src-doc"> *</span></div></li> |
|
312 |
+<li><div class="src-line"><a name="a298"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> setNestedCommentsHandling</span></div></li> |
|
313 |
+<li><div class="src-line"><a name="a299"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true if nested comments are allowed</span></div></li> |
|
314 |
+<li><div class="src-line"><a name="a300"></a><span class="src-doc"> */</span></div></li> |
|
315 |
+<li><div class="src-line"><a name="a301"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetNestedCommentsHandling">getNestedCommentsHandling</a><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
316 |
+<li><div class="src-line"><a name="a302"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowNestedComments">allowNestedComments</a><span class="src-sym">;</span></div></li> |
|
317 |
+<li><div class="src-line"><a name="a303"></a> <span class="src-sym">}</span></div></li> |
|
318 |
+<li><div class="src-line"><a name="a304"></a> </div></li> |
|
319 |
+<li><div class="src-line"><a name="a305"></a> <span class="src-doc">/**</span></div></li> |
|
320 |
+<li><div class="src-line"><a name="a306"></a><span class="src-doc"> * sets the tag openings handling strictness, if set to true, template tags can</span></div></li> |
|
321 |
+<li><div class="src-line"><a name="a307"></a><span class="src-doc"> * contain spaces before the first function/string/variable such as { $foo} is valid.</span></div></li> |
|
322 |
+<li><div class="src-line"><a name="a308"></a><span class="src-doc"> *</span></div></li> |
|
323 |
+<li><div class="src-line"><a name="a309"></a><span class="src-doc"> * if set to false (default setting), { $foo} is invalid but that is however a good thing</span></div></li> |
|
324 |
+<li><div class="src-line"><a name="a310"></a><span class="src-doc"> * as it allows css (i.e. #foo { color:red; }) to be parsed silently without triggering</span></div></li> |
|
325 |
+<li><div class="src-line"><a name="a311"></a><span class="src-doc"> * an error, same goes for javascript.</span></div></li> |
| 326 |
326 |
<li><div class="src-line"><a name="a312"></a><span class="src-doc"> *</span></div></li> |
| 327 |
|
-<li><div class="src-line"><a name="a313"></a><span class="src-doc"> * if enabled, the compiler will automatically html-escape variables,</span></div></li> |
| 328 |
|
-<li><div class="src-line"><a name="a314"></a><span class="src-doc"> * unless they are passed through the safe function such as {$var|safe}</span></div></li> |
| 329 |
|
-<li><div class="src-line"><a name="a315"></a><span class="src-doc"> * or {safe $var}</span></div></li> |
| 330 |
|
-<li><div class="src-line"><a name="a316"></a><span class="src-doc"> *</span></div></li> |
| 331 |
|
-<li><div class="src-line"><a name="a317"></a><span class="src-doc"> * default setting is disabled/false</span></div></li> |
| 332 |
|
-<li><div class="src-line"><a name="a318"></a><span class="src-doc"> *</span></div></li> |
| 333 |
|
-<li><div class="src-line"><a name="a319"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$enabled </span><span class="src-doc">set to true to enable, false to disable</span></div></li> |
| 334 |
|
-<li><div class="src-line"><a name="a320"></a><span class="src-doc"> */</span></div></li> |
| 335 |
|
-<li><div class="src-line"><a name="a321"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetAutoEscape">setAutoEscape</a><span class="src-sym">(</span><span class="src-var">$enabled</span><span class="src-sym">)</span></div></li> |
| 336 |
|
-<li><div class="src-line"><a name="a322"></a> <span class="src-sym">{</span></div></li> |
| 337 |
|
-<li><div class="src-line"><a name="a323"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a> = (bool) <span class="src-var">$enabled</span><span class="src-sym">;</span></div></li> |
| 338 |
|
-<li><div class="src-line"><a name="a324"></a> <span class="src-sym">}</span></div></li> |
| 339 |
|
-<li><div class="src-line"><a name="a325"></a> </div></li> |
| 340 |
|
-<li><div class="src-line"><a name="a326"></a> <span class="src-doc">/**</span></div></li> |
| 341 |
|
-<li><div class="src-line"><a name="a327"></a><span class="src-doc"> * returns the auto escape setting</span></div></li> |
| 342 |
|
-<li><div class="src-line"><a name="a328"></a><span class="src-doc"> *</span></div></li> |
| 343 |
|
-<li><div class="src-line"><a name="a329"></a><span class="src-doc"> * default setting is disabled/false</span></div></li> |
| 344 |
|
-<li><div class="src-line"><a name="a330"></a><span class="src-doc"> *</span></div></li> |
| 345 |
|
-<li><div class="src-line"><a name="a331"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
| 346 |
|
-<li><div class="src-line"><a name="a332"></a><span class="src-doc"> */</span></div></li> |
| 347 |
|
-<li><div class="src-line"><a name="a333"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetAutoEscape">getAutoEscape</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 348 |
|
-<li><div class="src-line"><a name="a334"></a> <span class="src-sym">{</span></div></li> |
| 349 |
|
-<li><div class="src-line"><a name="a335"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a><span class="src-sym">;</span></div></li> |
| 350 |
|
-<li><div class="src-line"><a name="a336"></a> <span class="src-sym">}</span></div></li> |
| 351 |
|
-<li><div class="src-line"><a name="a337"></a> </div></li> |
| 352 |
|
-<li><div class="src-line"><a name="a338"></a> <span class="src-doc">/**</span></div></li> |
| 353 |
|
-<li><div class="src-line"><a name="a339"></a><span class="src-doc"> * adds a preprocessor to the compiler, it will be called</span></div></li> |
| 354 |
|
-<li><div class="src-line"><a name="a340"></a><span class="src-doc"> * before the template is compiled</span></div></li> |
| 355 |
|
-<li><div class="src-line"><a name="a341"></a><span class="src-doc"> *</span></div></li> |
| 356 |
|
-<li><div class="src-line"><a name="a342"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the preprocessor or a simple name if the autoload is set to true</span></div></li> |
| 357 |
|
-<li><div class="src-line"><a name="a343"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$autoload </span><span class="src-doc">if set to true, the preprocessor is auto-loaded from one of the plugin directories, else you must provide a valid callback</span></div></li> |
| 358 |
|
-<li><div class="src-line"><a name="a344"></a><span class="src-doc"> */</span></div></li> |
| 359 |
|
-<li><div class="src-line"><a name="a345"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddPreProcessor">addPreProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$autoload </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 360 |
|
-<li><div class="src-line"><a name="a346"></a> <span class="src-sym">{</span></div></li> |
| 361 |
|
-<li><div class="src-line"><a name="a347"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autoload</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 362 |
|
-<li><div class="src-line"><a name="a348"></a> <span class="src-var">$name </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 363 |
|
-<li><div class="src-line"><a name="a349"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_'</span>.<span class="src-var">$name</span><span class="src-sym">;</span></div></li> |
| 364 |
|
-<li><div class="src-line"><a name="a350"></a> </div></li> |
| 365 |
|
-<li><div class="src-line"><a name="a351"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 366 |
|
-<li><div class="src-line"><a name="a352"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 367 |
|
-<li><div class="src-line"><a name="a353"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 368 |
|
-<li><div class="src-line"><a name="a354"></a> <span class="src-var">$callback </span>= <span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
| 369 |
|
-<li><div class="src-line"><a name="a355"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 370 |
|
-<li><div class="src-line"><a name="a356"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'autoload'</span>=><span class="src-id">true</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'name'</span>=><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 371 |
|
-<li><div class="src-line"><a name="a357"></a> <span class="src-sym">}</span></div></li> |
|
327 |
+<li><div class="src-line"><a name="a313"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$allow </span><span class="src-doc">true to allow loose handling, false to restore default setting</span></div></li> |
|
328 |
+<li><div class="src-line"><a name="a314"></a><span class="src-doc"> */</span></div></li> |
|
329 |
+<li><div class="src-line"><a name="a315"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetLooseOpeningHandling">setLooseOpeningHandling</a><span class="src-sym">(</span><span class="src-var">$allow </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
330 |
+<li><div class="src-line"><a name="a316"></a> <span class="src-sym">{</span></div></li> |
|
331 |
+<li><div class="src-line"><a name="a317"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> = (bool) <span class="src-var">$allow</span><span class="src-sym">;</span></div></li> |
|
332 |
+<li><div class="src-line"><a name="a318"></a> <span class="src-sym">}</span></div></li> |
|
333 |
+<li><div class="src-line"><a name="a319"></a> </div></li> |
|
334 |
+<li><div class="src-line"><a name="a320"></a> <span class="src-doc">/**</span></div></li> |
|
335 |
+<li><div class="src-line"><a name="a321"></a><span class="src-doc"> * returns the tag openings handling strictness setting</span></div></li> |
|
336 |
+<li><div class="src-line"><a name="a322"></a><span class="src-doc"> *</span></div></li> |
|
337 |
+<li><div class="src-line"><a name="a323"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> setLooseOpeningHandling</span></div></li> |
|
338 |
+<li><div class="src-line"><a name="a324"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span><span class="src-doc">true if loose tags are allowed</span></div></li> |
|
339 |
+<li><div class="src-line"><a name="a325"></a><span class="src-doc"> */</span></div></li> |
|
340 |
+<li><div class="src-line"><a name="a326"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetLooseOpeningHandling">getLooseOpeningHandling</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
341 |
+<li><div class="src-line"><a name="a327"></a> <span class="src-sym">{</span></div></li> |
|
342 |
+<li><div class="src-line"><a name="a328"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a><span class="src-sym">;</span></div></li> |
|
343 |
+<li><div class="src-line"><a name="a329"></a> <span class="src-sym">}</span></div></li> |
|
344 |
+<li><div class="src-line"><a name="a330"></a> </div></li> |
|
345 |
+<li><div class="src-line"><a name="a331"></a> <span class="src-doc">/**</span></div></li> |
|
346 |
+<li><div class="src-line"><a name="a332"></a><span class="src-doc"> * changes the auto escape setting</span></div></li> |
|
347 |
+<li><div class="src-line"><a name="a333"></a><span class="src-doc"> *</span></div></li> |
|
348 |
+<li><div class="src-line"><a name="a334"></a><span class="src-doc"> * if enabled, the compiler will automatically html-escape variables,</span></div></li> |
|
349 |
+<li><div class="src-line"><a name="a335"></a><span class="src-doc"> * unless they are passed through the safe function such as {$var|safe}</span></div></li> |
|
350 |
+<li><div class="src-line"><a name="a336"></a><span class="src-doc"> * or {safe $var}</span></div></li> |
|
351 |
+<li><div class="src-line"><a name="a337"></a><span class="src-doc"> *</span></div></li> |
|
352 |
+<li><div class="src-line"><a name="a338"></a><span class="src-doc"> * default setting is disabled/false</span></div></li> |
|
353 |
+<li><div class="src-line"><a name="a339"></a><span class="src-doc"> *</span></div></li> |
|
354 |
+<li><div class="src-line"><a name="a340"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$enabled </span><span class="src-doc">set to true to enable, false to disable</span></div></li> |
|
355 |
+<li><div class="src-line"><a name="a341"></a><span class="src-doc"> */</span></div></li> |
|
356 |
+<li><div class="src-line"><a name="a342"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetAutoEscape">setAutoEscape</a><span class="src-sym">(</span><span class="src-var">$enabled</span><span class="src-sym">)</span></div></li> |
|
357 |
+<li><div class="src-line"><a name="a343"></a> <span class="src-sym">{</span></div></li> |
|
358 |
+<li><div class="src-line"><a name="a344"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a> = (bool) <span class="src-var">$enabled</span><span class="src-sym">;</span></div></li> |
|
359 |
+<li><div class="src-line"><a name="a345"></a> <span class="src-sym">}</span></div></li> |
|
360 |
+<li><div class="src-line"><a name="a346"></a> </div></li> |
|
361 |
+<li><div class="src-line"><a name="a347"></a> <span class="src-doc">/**</span></div></li> |
|
362 |
+<li><div class="src-line"><a name="a348"></a><span class="src-doc"> * returns the auto escape setting</span></div></li> |
|
363 |
+<li><div class="src-line"><a name="a349"></a><span class="src-doc"> *</span></div></li> |
|
364 |
+<li><div class="src-line"><a name="a350"></a><span class="src-doc"> * default setting is disabled/false</span></div></li> |
|
365 |
+<li><div class="src-line"><a name="a351"></a><span class="src-doc"> *</span></div></li> |
|
366 |
+<li><div class="src-line"><a name="a352"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">bool </span></div></li> |
|
367 |
+<li><div class="src-line"><a name="a353"></a><span class="src-doc"> */</span></div></li> |
|
368 |
+<li><div class="src-line"><a name="a354"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetAutoEscape">getAutoEscape</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
369 |
+<li><div class="src-line"><a name="a355"></a> <span class="src-sym">{</span></div></li> |
|
370 |
+<li><div class="src-line"><a name="a356"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a><span class="src-sym">;</span></div></li> |
|
371 |
+<li><div class="src-line"><a name="a357"></a> <span class="src-sym">}</span></div></li> |
| 372 |
372 |
<li><div class="src-line"><a name="a358"></a> </div></li> |
| 373 |
|
-<li><div class="src-line"><a name="a359"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 374 |
|
-<li><div class="src-line"><a name="a360"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 375 |
|
-<li><div class="src-line"><a name="a361"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 376 |
|
-<li><div class="src-line"><a name="a362"></a> <span class="src-sym">}</span></div></li> |
| 377 |
|
-<li><div class="src-line"><a name="a363"></a> <span class="src-sym">}</span></div></li> |
| 378 |
|
-<li><div class="src-line"><a name="a364"></a> </div></li> |
| 379 |
|
-<li><div class="src-line"><a name="a365"></a> <span class="src-doc">/**</span></div></li> |
| 380 |
|
-<li><div class="src-line"><a name="a366"></a><span class="src-doc"> * removes a preprocessor from the compiler</span></div></li> |
| 381 |
|
-<li><div class="src-line"><a name="a367"></a><span class="src-doc"> *</span></div></li> |
| 382 |
|
-<li><div class="src-line"><a name="a368"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the preprocessor or a simple name if it was autoloaded</span></div></li> |
| 383 |
|
-<li><div class="src-line"><a name="a369"></a><span class="src-doc"> */</span></div></li> |
| 384 |
|
-<li><div class="src-line"><a name="a370"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremovePreProcessor">removePreProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
| 385 |
|
-<li><div class="src-line"><a name="a371"></a> <span class="src-sym">{</span></div></li> |
| 386 |
|
-<li><div class="src-line"><a name="a372"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 387 |
|
-<li><div class="src-line"><a name="a373"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 388 |
|
-<li><div class="src-line"><a name="a374"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 389 |
|
-<li><div class="src-line"><a name="a375"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 390 |
|
-<li><div class="src-line"><a name="a376"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 391 |
|
-<li><div class="src-line"><a name="a377"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_' </span>. <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 392 |
|
-<li><div class="src-line"><a name="a378"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$index</span>=><span class="src-var">$proc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 393 |
|
-<li><div class="src-line"><a name="a379"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-var">$class</span><span class="src-sym">) </span>|| <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">] </span>== <span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 394 |
|
-<li><div class="src-line"><a name="a380"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 395 |
|
-<li><div class="src-line"><a name="a381"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 396 |
|
-<li><div class="src-line"><a name="a382"></a> <span class="src-sym">}</span></div></li> |
| 397 |
|
-<li><div class="src-line"><a name="a383"></a> <span class="src-sym">}</span></div></li> |
| 398 |
|
-<li><div class="src-line"><a name="a384"></a> <span class="src-sym">}</span></div></li> |
| 399 |
|
-<li><div class="src-line"><a name="a385"></a> <span class="src-sym">}</span></div></li> |
| 400 |
|
-<li><div class="src-line"><a name="a386"></a> </div></li> |
| 401 |
|
-<li><div class="src-line"><a name="a387"></a> <span class="src-doc">/**</span></div></li> |
| 402 |
|
-<li><div class="src-line"><a name="a388"></a><span class="src-doc"> * adds a postprocessor to the compiler, it will be called</span></div></li> |
| 403 |
|
-<li><div class="src-line"><a name="a389"></a><span class="src-doc"> * before the template is compiled</span></div></li> |
| 404 |
|
-<li><div class="src-line"><a name="a390"></a><span class="src-doc"> *</span></div></li> |
| 405 |
|
-<li><div class="src-line"><a name="a391"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the postprocessor or a simple name if the autoload is set to true</span></div></li> |
| 406 |
|
-<li><div class="src-line"><a name="a392"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$autoload </span><span class="src-doc">if set to true, the postprocessor is auto-loaded from one of the plugin directories, else you must provide a valid callback</span></div></li> |
| 407 |
|
-<li><div class="src-line"><a name="a393"></a><span class="src-doc"> */</span></div></li> |
| 408 |
|
-<li><div class="src-line"><a name="a394"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddPostProcessor">addPostProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$autoload </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 409 |
|
-<li><div class="src-line"><a name="a395"></a> <span class="src-sym">{</span></div></li> |
| 410 |
|
-<li><div class="src-line"><a name="a396"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autoload</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 411 |
|
-<li><div class="src-line"><a name="a397"></a> <span class="src-var">$name </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 412 |
|
-<li><div class="src-line"><a name="a398"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_'</span>.<span class="src-var">$name</span><span class="src-sym">;</span></div></li> |
| 413 |
|
-<li><div class="src-line"><a name="a399"></a> </div></li> |
| 414 |
|
-<li><div class="src-line"><a name="a400"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 415 |
|
-<li><div class="src-line"><a name="a401"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 416 |
|
-<li><div class="src-line"><a name="a402"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 417 |
|
-<li><div class="src-line"><a name="a403"></a> <span class="src-var">$callback </span>= <span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
| 418 |
|
-<li><div class="src-line"><a name="a404"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 419 |
|
-<li><div class="src-line"><a name="a405"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'autoload'</span>=><span class="src-id">true</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'name'</span>=><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 420 |
|
-<li><div class="src-line"><a name="a406"></a> <span class="src-sym">}</span></div></li> |
|
373 |
+<li><div class="src-line"><a name="a359"></a> <span class="src-doc">/**</span></div></li> |
|
374 |
+<li><div class="src-line"><a name="a360"></a><span class="src-doc"> * adds a preprocessor to the compiler, it will be called</span></div></li> |
|
375 |
+<li><div class="src-line"><a name="a361"></a><span class="src-doc"> * before the template is compiled</span></div></li> |
|
376 |
+<li><div class="src-line"><a name="a362"></a><span class="src-doc"> *</span></div></li> |
|
377 |
+<li><div class="src-line"><a name="a363"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the preprocessor or a simple name if the autoload is set to true</span></div></li> |
|
378 |
+<li><div class="src-line"><a name="a364"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$autoload </span><span class="src-doc">if set to true, the preprocessor is auto-loaded from one of the plugin directories, else you must provide a valid callback</span></div></li> |
|
379 |
+<li><div class="src-line"><a name="a365"></a><span class="src-doc"> */</span></div></li> |
|
380 |
+<li><div class="src-line"><a name="a366"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddPreProcessor">addPreProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$autoload </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
381 |
+<li><div class="src-line"><a name="a367"></a> <span class="src-sym">{</span></div></li> |
|
382 |
+<li><div class="src-line"><a name="a368"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autoload</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
383 |
+<li><div class="src-line"><a name="a369"></a> <span class="src-var">$name </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
384 |
+<li><div class="src-line"><a name="a370"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_'</span>.<span class="src-var">$name</span><span class="src-sym">;</span></div></li> |
|
385 |
+<li><div class="src-line"><a name="a371"></a> </div></li> |
|
386 |
+<li><div class="src-line"><a name="a372"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
387 |
+<li><div class="src-line"><a name="a373"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
388 |
+<li><div class="src-line"><a name="a374"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
389 |
+<li><div class="src-line"><a name="a375"></a> <span class="src-var">$callback </span>= <span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
|
390 |
+<li><div class="src-line"><a name="a376"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
391 |
+<li><div class="src-line"><a name="a377"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'autoload'</span>=><span class="src-id">true</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'name'</span>=><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
392 |
+<li><div class="src-line"><a name="a378"></a> <span class="src-sym">}</span></div></li> |
|
393 |
+<li><div class="src-line"><a name="a379"></a> </div></li> |
|
394 |
+<li><div class="src-line"><a name="a380"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
395 |
+<li><div class="src-line"><a name="a381"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
396 |
+<li><div class="src-line"><a name="a382"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
397 |
+<li><div class="src-line"><a name="a383"></a> <span class="src-sym">}</span></div></li> |
|
398 |
+<li><div class="src-line"><a name="a384"></a> <span class="src-sym">}</span></div></li> |
|
399 |
+<li><div class="src-line"><a name="a385"></a> </div></li> |
|
400 |
+<li><div class="src-line"><a name="a386"></a> <span class="src-doc">/**</span></div></li> |
|
401 |
+<li><div class="src-line"><a name="a387"></a><span class="src-doc"> * removes a preprocessor from the compiler</span></div></li> |
|
402 |
+<li><div class="src-line"><a name="a388"></a><span class="src-doc"> *</span></div></li> |
|
403 |
+<li><div class="src-line"><a name="a389"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the preprocessor or a simple name if it was autoloaded</span></div></li> |
|
404 |
+<li><div class="src-line"><a name="a390"></a><span class="src-doc"> */</span></div></li> |
|
405 |
+<li><div class="src-line"><a name="a391"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremovePreProcessor">removePreProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
|
406 |
+<li><div class="src-line"><a name="a392"></a> <span class="src-sym">{</span></div></li> |
|
407 |
+<li><div class="src-line"><a name="a393"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
408 |
+<li><div class="src-line"><a name="a394"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
409 |
+<li><div class="src-line"><a name="a395"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
410 |
+<li><div class="src-line"><a name="a396"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
411 |
+<li><div class="src-line"><a name="a397"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
412 |
+<li><div class="src-line"><a name="a398"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_' </span>. <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
413 |
+<li><div class="src-line"><a name="a399"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$index</span>=><span class="src-var">$proc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
414 |
+<li><div class="src-line"><a name="a400"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-var">$class</span><span class="src-sym">) </span>|| <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">] </span>== <span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
415 |
+<li><div class="src-line"><a name="a401"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
416 |
+<li><div class="src-line"><a name="a402"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
417 |
+<li><div class="src-line"><a name="a403"></a> <span class="src-sym">}</span></div></li> |
|
418 |
+<li><div class="src-line"><a name="a404"></a> <span class="src-sym">}</span></div></li> |
|
419 |
+<li><div class="src-line"><a name="a405"></a> <span class="src-sym">}</span></div></li> |
|
420 |
+<li><div class="src-line"><a name="a406"></a> <span class="src-sym">}</span></div></li> |
| 421 |
421 |
<li><div class="src-line"><a name="a407"></a> </div></li> |
| 422 |
|
-<li><div class="src-line"><a name="a408"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 423 |
|
-<li><div class="src-line"><a name="a409"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 424 |
|
-<li><div class="src-line"><a name="a410"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 425 |
|
-<li><div class="src-line"><a name="a411"></a> <span class="src-sym">}</span></div></li> |
| 426 |
|
-<li><div class="src-line"><a name="a412"></a> <span class="src-sym">}</span></div></li> |
| 427 |
|
-<li><div class="src-line"><a name="a413"></a> </div></li> |
| 428 |
|
-<li><div class="src-line"><a name="a414"></a> <span class="src-doc">/**</span></div></li> |
| 429 |
|
-<li><div class="src-line"><a name="a415"></a><span class="src-doc"> * removes a postprocessor from the compiler</span></div></li> |
| 430 |
|
-<li><div class="src-line"><a name="a416"></a><span class="src-doc"> *</span></div></li> |
| 431 |
|
-<li><div class="src-line"><a name="a417"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the postprocessor or a simple name if it was autoloaded</span></div></li> |
| 432 |
|
-<li><div class="src-line"><a name="a418"></a><span class="src-doc"> */</span></div></li> |
| 433 |
|
-<li><div class="src-line"><a name="a419"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremovePostProcessor">removePostProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
| 434 |
|
-<li><div class="src-line"><a name="a420"></a> <span class="src-sym">{</span></div></li> |
| 435 |
|
-<li><div class="src-line"><a name="a421"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 436 |
|
-<li><div class="src-line"><a name="a422"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 437 |
|
-<li><div class="src-line"><a name="a423"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 438 |
|
-<li><div class="src-line"><a name="a424"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 439 |
|
-<li><div class="src-line"><a name="a425"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 440 |
|
-<li><div class="src-line"><a name="a426"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_' </span>. <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 441 |
|
-<li><div class="src-line"><a name="a427"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$index</span>=><span class="src-var">$proc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 442 |
|
-<li><div class="src-line"><a name="a428"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-var">$class</span><span class="src-sym">) </span>|| <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">] </span>== <span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 443 |
|
-<li><div class="src-line"><a name="a429"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 444 |
|
-<li><div class="src-line"><a name="a430"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 445 |
|
-<li><div class="src-line"><a name="a431"></a> <span class="src-sym">}</span></div></li> |
| 446 |
|
-<li><div class="src-line"><a name="a432"></a> <span class="src-sym">}</span></div></li> |
| 447 |
|
-<li><div class="src-line"><a name="a433"></a> <span class="src-sym">}</span></div></li> |
| 448 |
|
-<li><div class="src-line"><a name="a434"></a> <span class="src-sym">}</span></div></li> |
| 449 |
|
-<li><div class="src-line"><a name="a435"></a> </div></li> |
| 450 |
|
-<li><div class="src-line"><a name="a436"></a> <span class="src-doc">/**</span></div></li> |
| 451 |
|
-<li><div class="src-line"><a name="a437"></a><span class="src-doc"> * internal function to autoload processors at runtime if required</span></div></li> |
| 452 |
|
-<li><div class="src-line"><a name="a438"></a><span class="src-doc"> *</span></div></li> |
| 453 |
|
-<li><div class="src-line"><a name="a439"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$class </span><span class="src-doc">the class/function name</span></div></li> |
| 454 |
|
-<li><div class="src-line"><a name="a440"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name (without Dwoo_Plugin_ prefix)</span></div></li> |
| 455 |
|
-<li><div class="src-line"><a name="a441"></a><span class="src-doc"> */</span></div></li> |
| 456 |
|
-<li><div class="src-line"><a name="a442"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodloadProcessor">loadProcessor</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
| 457 |
|
-<li><div class="src-line"><a name="a443"></a> <span class="src-sym">{</span></div></li> |
| 458 |
|
-<li><div class="src-line"><a name="a444"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 459 |
|
-<li><div class="src-line"><a name="a445"></a> try <span class="src-sym">{</span></div></li> |
| 460 |
|
-<li><div class="src-line"><a name="a446"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 461 |
|
-<li><div class="src-line"><a name="a447"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a> </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 462 |
|
-<li><div class="src-line"><a name="a448"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Processor '</span>.<span class="src-var">$name</span>.<span class="src-str">' could not be found in your plugin directories, please ensure it is in a file named '</span>.<span class="src-var">$name</span>.<span class="src-str">'.php in the plugin directory'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 463 |
|
-<li><div class="src-line"><a name="a449"></a> <span class="src-sym">}</span></div></li> |
| 464 |
|
-<li><div class="src-line"><a name="a450"></a> <span class="src-sym">}</span></div></li> |
| 465 |
|
-<li><div class="src-line"><a name="a451"></a> </div></li> |
| 466 |
|
-<li><div class="src-line"><a name="a452"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 467 |
|
-<li><div class="src-line"><a name="a453"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
422 |
+<li><div class="src-line"><a name="a408"></a> <span class="src-doc">/**</span></div></li> |
|
423 |
+<li><div class="src-line"><a name="a409"></a><span class="src-doc"> * adds a postprocessor to the compiler, it will be called</span></div></li> |
|
424 |
+<li><div class="src-line"><a name="a410"></a><span class="src-doc"> * before the template is compiled</span></div></li> |
|
425 |
+<li><div class="src-line"><a name="a411"></a><span class="src-doc"> *</span></div></li> |
|
426 |
+<li><div class="src-line"><a name="a412"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the postprocessor or a simple name if the autoload is set to true</span></div></li> |
|
427 |
+<li><div class="src-line"><a name="a413"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$autoload </span><span class="src-doc">if set to true, the postprocessor is auto-loaded from one of the plugin directories, else you must provide a valid callback</span></div></li> |
|
428 |
+<li><div class="src-line"><a name="a414"></a><span class="src-doc"> */</span></div></li> |
|
429 |
+<li><div class="src-line"><a name="a415"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddPostProcessor">addPostProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$autoload </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
430 |
+<li><div class="src-line"><a name="a416"></a> <span class="src-sym">{</span></div></li> |
|
431 |
+<li><div class="src-line"><a name="a417"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$autoload</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
432 |
+<li><div class="src-line"><a name="a418"></a> <span class="src-var">$name </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
433 |
+<li><div class="src-line"><a name="a419"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_'</span>.<span class="src-var">$name</span><span class="src-sym">;</span></div></li> |
|
434 |
+<li><div class="src-line"><a name="a420"></a> </div></li> |
|
435 |
+<li><div class="src-line"><a name="a421"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
436 |
+<li><div class="src-line"><a name="a422"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
437 |
+<li><div class="src-line"><a name="a423"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
438 |
+<li><div class="src-line"><a name="a424"></a> <span class="src-var">$callback </span>= <span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
|
439 |
+<li><div class="src-line"><a name="a425"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
440 |
+<li><div class="src-line"><a name="a426"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'autoload'</span>=><span class="src-id">true</span><span class="src-sym">, </span><span class="src-str">'class'</span>=><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'name'</span>=><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
441 |
+<li><div class="src-line"><a name="a427"></a> <span class="src-sym">}</span></div></li> |
|
442 |
+<li><div class="src-line"><a name="a428"></a> </div></li> |
|
443 |
+<li><div class="src-line"><a name="a429"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
444 |
+<li><div class="src-line"><a name="a430"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
445 |
+<li><div class="src-line"><a name="a431"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
446 |
+<li><div class="src-line"><a name="a432"></a> <span class="src-sym">}</span></div></li> |
|
447 |
+<li><div class="src-line"><a name="a433"></a> <span class="src-sym">}</span></div></li> |
|
448 |
+<li><div class="src-line"><a name="a434"></a> </div></li> |
|
449 |
+<li><div class="src-line"><a name="a435"></a> <span class="src-doc">/**</span></div></li> |
|
450 |
+<li><div class="src-line"><a name="a436"></a><span class="src-doc"> * removes a postprocessor from the compiler</span></div></li> |
|
451 |
+<li><div class="src-line"><a name="a437"></a><span class="src-doc"> *</span></div></li> |
|
452 |
+<li><div class="src-line"><a name="a438"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$callback </span><span class="src-doc">either a valid callback to the postprocessor or a simple name if it was autoloaded</span></div></li> |
|
453 |
+<li><div class="src-line"><a name="a439"></a><span class="src-doc"> */</span></div></li> |
|
454 |
+<li><div class="src-line"><a name="a440"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremovePostProcessor">removePostProcessor</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
|
455 |
+<li><div class="src-line"><a name="a441"></a> <span class="src-sym">{</span></div></li> |
|
456 |
+<li><div class="src-line"><a name="a442"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
457 |
+<li><div class="src-line"><a name="a443"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
458 |
+<li><div class="src-line"><a name="a444"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$index </span>= <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
459 |
+<li><div class="src-line"><a name="a445"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
460 |
+<li><div class="src-line"><a name="a446"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
461 |
+<li><div class="src-line"><a name="a447"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Processor_' </span>. <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Processor_'</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
462 |
+<li><div class="src-line"><a name="a448"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$index</span>=><span class="src-var">$proc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
463 |
+<li><div class="src-line"><a name="a449"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">) </span>&& <span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-var">$class</span><span class="src-sym">) </span>|| <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$proc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">] </span>== <span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
464 |
+<li><div class="src-line"><a name="a450"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$index</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
465 |
+<li><div class="src-line"><a name="a451"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
466 |
+<li><div class="src-line"><a name="a452"></a> <span class="src-sym">}</span></div></li> |
|
467 |
+<li><div class="src-line"><a name="a453"></a> <span class="src-sym">}</span></div></li> |
| 468 |
468 |
<li><div class="src-line"><a name="a454"></a> <span class="src-sym">}</span></div></li> |
| 469 |
|
-<li><div class="src-line"><a name="a455"></a> </div></li> |
| 470 |
|
-<li><div class="src-line"><a name="a456"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 471 |
|
-<li><div class="src-line"><a name="a457"></a> <span class="src-key">return </span><span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
| 472 |
|
-<li><div class="src-line"><a name="a458"></a> <span class="src-sym">}</span></div></li> |
| 473 |
|
-<li><div class="src-line"><a name="a459"></a> </div></li> |
| 474 |
|
-<li><div class="src-line"><a name="a460"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong processor name, when using autoload the processor must be in one of your plugin dir as "name.php" containg a class or function named "Dwoo_Processor_name"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 475 |
|
-<li><div class="src-line"><a name="a461"></a> <span class="src-sym">}</span></div></li> |
| 476 |
|
-<li><div class="src-line"><a name="a462"></a> </div></li> |
| 477 |
|
-<li><div class="src-line"><a name="a463"></a> <span class="src-doc">/**</span></div></li> |
| 478 |
|
-<li><div class="src-line"><a name="a464"></a><span class="src-doc"> * adds a template plugin, this is reserved for use by the {function} plugin</span></div></li> |
| 479 |
|
-<li><div class="src-line"><a name="a465"></a><span class="src-doc"> *</span></div></li> |
| 480 |
|
-<li><div class="src-line"><a name="a466"></a><span class="src-doc"> * this is required because the template functions are not declared yet</span></div></li> |
| 481 |
|
-<li><div class="src-line"><a name="a467"></a><span class="src-doc"> * during compilation, so we must have a way of validating their argument</span></div></li> |
| 482 |
|
-<li><div class="src-line"><a name="a468"></a><span class="src-doc"> * signature without using the reflection api</span></div></li> |
| 483 |
|
-<li><div class="src-line"><a name="a469"></a><span class="src-doc"> *</span></div></li> |
| 484 |
|
-<li><div class="src-line"><a name="a470"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
| 485 |
|
-<li><div class="src-line"><a name="a471"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">function name</span></div></li> |
| 486 |
|
-<li><div class="src-line"><a name="a472"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameter array to help validate the function call</span></div></li> |
| 487 |
|
-<li><div class="src-line"><a name="a473"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$uuid </span><span class="src-doc">unique id of the function</span></div></li> |
| 488 |
|
-<li><div class="src-line"><a name="a474"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$body </span><span class="src-doc">function php code</span></div></li> |
| 489 |
|
-<li><div class="src-line"><a name="a475"></a><span class="src-doc"> */</span></div></li> |
| 490 |
|
-<li><div class="src-line"><a name="a476"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddTemplatePlugin">addTemplatePlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$uuid</span><span class="src-sym">, </span><span class="src-var">$body </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 491 |
|
-<li><div class="src-line"><a name="a477"></a> <span class="src-sym">{</span></div></li> |
| 492 |
|
-<li><div class="src-line"><a name="a478"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">templatePlugins</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'params'</span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'body' </span>=> <span class="src-var">$body</span><span class="src-sym">, </span><span class="src-str">'uuid' </span>=> <span class="src-var">$uuid</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 493 |
|
-<li><div class="src-line"><a name="a479"></a> <span class="src-sym">}</span></div></li> |
|
469 |
+<li><div class="src-line"><a name="a455"></a> <span class="src-sym">}</span></div></li> |
|
470 |
+<li><div class="src-line"><a name="a456"></a> </div></li> |
|
471 |
+<li><div class="src-line"><a name="a457"></a> <span class="src-doc">/**</span></div></li> |
|
472 |
+<li><div class="src-line"><a name="a458"></a><span class="src-doc"> * internal function to autoload processors at runtime if required</span></div></li> |
|
473 |
+<li><div class="src-line"><a name="a459"></a><span class="src-doc"> *</span></div></li> |
|
474 |
+<li><div class="src-line"><a name="a460"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$class </span><span class="src-doc">the class/function name</span></div></li> |
|
475 |
+<li><div class="src-line"><a name="a461"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name (without Dwoo_Plugin_ prefix)</span></div></li> |
|
476 |
+<li><div class="src-line"><a name="a462"></a><span class="src-doc"> */</span></div></li> |
|
477 |
+<li><div class="src-line"><a name="a463"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodloadProcessor">loadProcessor</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
|
478 |
+<li><div class="src-line"><a name="a464"></a> <span class="src-sym">{</span></div></li> |
|
479 |
+<li><div class="src-line"><a name="a465"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>&& <span class="src-sym">!</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
480 |
+<li><div class="src-line"><a name="a466"></a> try <span class="src-sym">{</span></div></li> |
|
481 |
+<li><div class="src-line"><a name="a467"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
482 |
+<li><div class="src-line"><a name="a468"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a> </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
483 |
+<li><div class="src-line"><a name="a469"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Processor '</span>.<span class="src-var">$name</span>.<span class="src-str">' could not be found in your plugin directories, please ensure it is in a file named '</span>.<span class="src-var">$name</span>.<span class="src-str">'.php in the plugin directory'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
484 |
+<li><div class="src-line"><a name="a470"></a> <span class="src-sym">}</span></div></li> |
|
485 |
+<li><div class="src-line"><a name="a471"></a> <span class="src-sym">}</span></div></li> |
|
486 |
+<li><div class="src-line"><a name="a472"></a> </div></li> |
|
487 |
+<li><div class="src-line"><a name="a473"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
488 |
+<li><div class="src-line"><a name="a474"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$class</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
489 |
+<li><div class="src-line"><a name="a475"></a> <span class="src-sym">}</span></div></li> |
|
490 |
+<li><div class="src-line"><a name="a476"></a> </div></li> |
|
491 |
+<li><div class="src-line"><a name="a477"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
492 |
+<li><div class="src-line"><a name="a478"></a> <span class="src-key">return </span><span class="src-var">$class</span><span class="src-sym">;</span></div></li> |
|
493 |
+<li><div class="src-line"><a name="a479"></a> <span class="src-sym">}</span></div></li> |
| 494 |
494 |
<li><div class="src-line"><a name="a480"></a> </div></li> |
| 495 |
|
-<li><div class="src-line"><a name="a481"></a> /**</div></li> |
| 496 |
|
-<li><div class="src-line"><a name="a463"></a><span class="src-doc">/**</span></div></li> |
| 497 |
|
-<li><div class="src-line"><a name="a464"></a><span class="src-doc"> * returns all the parsed sub-templates</span></div></li> |
| 498 |
|
-<li><div class="src-line"><a name="a465"></a><span class="src-doc"> *</span></div></li> |
| 499 |
|
-<li><div class="src-line"><a name="a466"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
| 500 |
|
-<li><div class="src-line"><a name="a467"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">the parsed sub-templates</span></div></li> |
| 501 |
|
-<li><div class="src-line"><a name="a486"></a><span class="src-doc"> */</span></div></li> |
| 502 |
|
-<li><div class="src-line"><a name="a487"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-id">getTemplatePlugins</span><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 503 |
|
-<li><div class="src-line"><a name="a488"></a> <span class="src-sym">{</span></div></li> |
| 504 |
|
-<li><div class="src-line"><a name="a489"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">;</span></div></li> |
| 505 |
|
-<li><div class="src-line"><a name="a490"></a> <span class="src-sym">}</span></div></li> |
| 506 |
|
-<li><div class="src-line"><a name="a491"></a> </div></li> |
| 507 |
|
-<li><div class="src-line"><a name="a492"></a> <span class="src-doc">/**</span></div></li> |
| 508 |
|
-<li><div class="src-line"><a name="a493"></a><span class="src-doc"> * marks a template plugin as being called, which means its source must be included in the compiled template</span></div></li> |
| 509 |
|
-<li><div class="src-line"><a name="a494"></a><span class="src-doc"> *</span></div></li> |
| 510 |
|
-<li><div class="src-line"><a name="a495"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">function name</span></div></li> |
| 511 |
|
-<li><div class="src-line"><a name="a496"></a><span class="src-doc"> */</span></div></li> |
| 512 |
|
-<li><div class="src-line"><a name="a497"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methoduseTemplatePlugin">useTemplatePlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
| 513 |
|
-<li><div class="src-line"><a name="a498"></a> <span class="src-sym">{</span></div></li> |
| 514 |
|
-<li><div class="src-line"><a name="a499"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 515 |
|
-<li><div class="src-line"><a name="a500"></a> <span class="src-sym">}</span></div></li> |
| 516 |
|
-<li><div class="src-line"><a name="a501"></a> </div></li> |
| 517 |
|
-<li><div class="src-line"><a name="a502"></a> <span class="src-doc">/**</span></div></li> |
| 518 |
|
-<li><div class="src-line"><a name="a503"></a><span class="src-doc"> * adds the custom plugins loaded into Dwoo to the compiler so it can load them</span></div></li> |
| 519 |
|
-<li><div class="src-line"><a name="a504"></a><span class="src-doc"> *</span></div></li> |
| 520 |
|
-<li><div class="src-line"><a name="a505"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> Dwoo::addPlugin</span></div></li> |
| 521 |
|
-<li><div class="src-line"><a name="a506"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$customPlugins </span><span class="src-doc">an array of custom plugins</span></div></li> |
| 522 |
|
-<li><div class="src-line"><a name="a507"></a><span class="src-doc"> */</span></div></li> |
| 523 |
|
-<li><div class="src-line"><a name="a508"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetCustomPlugins">setCustomPlugins</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$customPlugins</span><span class="src-sym">)</span></div></li> |
| 524 |
|
-<li><div class="src-line"><a name="a509"></a> <span class="src-sym">{</span></div></li> |
| 525 |
|
-<li><div class="src-line"><a name="a510"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">customPlugins </span>= <span class="src-var">$customPlugins</span><span class="src-sym">;</span></div></li> |
| 526 |
|
-<li><div class="src-line"><a name="a511"></a> <span class="src-sym">}</span></div></li> |
| 527 |
|
-<li><div class="src-line"><a name="a512"></a> </div></li> |
| 528 |
|
-<li><div class="src-line"><a name="a513"></a> /**</div></li> |
| 529 |
|
-<li><div class="src-line"><a name="a502"></a><span class="src-doc">/**</span></div></li> |
| 530 |
|
-<li><div class="src-line"><a name="a503"></a><span class="src-doc"> * sets the security policy object to enforce some php security settings</span></div></li> |
| 531 |
|
-<li><div class="src-line"><a name="a504"></a><span class="src-doc"> *</span></div></li> |
| 532 |
|
-<li><div class="src-line"><a name="a505"></a><span class="src-doc"> * use this if untrusted persons can modify templates,</span></div></li> |
| 533 |
|
-<li><div class="src-line"><a name="a506"></a><span class="src-doc"> * set it on the Dwoo object as it will be passed onto the compiler automatically</span></div></li> |
| 534 |
|
-<li><div class="src-line"><a name="a507"></a><span class="src-doc"> *</span></div></li> |
| 535 |
|
-<li><div class="src-line"><a name="a508"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_Security_Policy </span><span class="src-doc-var">$policy </span><span class="src-doc">the security policy object</span></div></li> |
| 536 |
|
-<li><div class="src-line"><a name="a520"></a><span class="src-doc"> */</span></div></li> |
| 537 |
|
-<li><div class="src-line"><a name="a521"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-id">setSecurityPolicy</span><span class="src-sym">(</span><span class="src-id">Dwoo_Security_Policy </span><span class="src-var">$policy </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 538 |
|
-<li><div class="src-line"><a name="a522"></a> <span class="src-sym">{</span></div></li> |
| 539 |
|
-<li><div class="src-line"><a name="a523"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> = <span class="src-var">$policy</span><span class="src-sym">;</span></div></li> |
| 540 |
|
-<li><div class="src-line"><a name="a524"></a> <span class="src-sym">}</span></div></li> |
| 541 |
|
-<li><div class="src-line"><a name="a525"></a> </div></li> |
| 542 |
|
-<li><div class="src-line"><a name="a526"></a> <span class="src-doc">/**</span></div></li> |
| 543 |
|
-<li><div class="src-line"><a name="a527"></a><span class="src-doc"> * returns the current security policy object or null by default</span></div></li> |
| 544 |
|
-<li><div class="src-line"><a name="a528"></a><span class="src-doc"> *</span></div></li> |
| 545 |
|
-<li><div class="src-line"><a name="a529"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Security_Policy</span><span class="src-doc">|</span><span class="src-doc-type">null</span><span class="src-doc">the security policy object if any</span></div></li> |
| 546 |
|
-<li><div class="src-line"><a name="a530"></a><span class="src-doc"> */</span></div></li> |
| 547 |
|
-<li><div class="src-line"><a name="a531"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetSecurityPolicy">getSecurityPolicy</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 548 |
|
-<li><div class="src-line"><a name="a532"></a> <span class="src-sym">{</span></div></li> |
| 549 |
|
-<li><div class="src-line"><a name="a533"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a><span class="src-sym">;</span></div></li> |
| 550 |
|
-<li><div class="src-line"><a name="a534"></a> <span class="src-sym">}</span></div></li> |
| 551 |
|
-<li><div class="src-line"><a name="a535"></a> </div></li> |
| 552 |
|
-<li><div class="src-line"><a name="a536"></a> <span class="src-doc">/**</span></div></li> |
| 553 |
|
-<li><div class="src-line"><a name="a537"></a><span class="src-doc"> * sets the pointer position</span></div></li> |
| 554 |
|
-<li><div class="src-line"><a name="a538"></a><span class="src-doc"> *</span></div></li> |
| 555 |
|
-<li><div class="src-line"><a name="a539"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$position </span><span class="src-doc">the new pointer position</span></div></li> |
| 556 |
|
-<li><div class="src-line"><a name="a540"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$isOffset </span><span class="src-doc">if set to true, the position acts as an offset and not an absolute position</span></div></li> |
| 557 |
|
-<li><div class="src-line"><a name="a541"></a><span class="src-doc"> */</span></div></li> |
| 558 |
|
-<li><div class="src-line"><a name="a542"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetPointer">setPointer</a><span class="src-sym">(</span><span class="src-var">$position</span><span class="src-sym">, </span><span class="src-var">$isOffset </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 559 |
|
-<li><div class="src-line"><a name="a543"></a> <span class="src-sym">{</span></div></li> |
| 560 |
|
-<li><div class="src-line"><a name="a544"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$isOffset</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 561 |
|
-<li><div class="src-line"><a name="a545"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a> += <span class="src-var">$position</span><span class="src-sym">;</span></div></li> |
| 562 |
|
-<li><div class="src-line"><a name="a546"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 563 |
|
-<li><div class="src-line"><a name="a547"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a> = <span class="src-var">$position</span><span class="src-sym">;</span></div></li> |
| 564 |
|
-<li><div class="src-line"><a name="a548"></a> <span class="src-sym">}</span></div></li> |
| 565 |
|
-<li><div class="src-line"><a name="a549"></a> <span class="src-sym">}</span></div></li> |
| 566 |
|
-<li><div class="src-line"><a name="a550"></a> </div></li> |
| 567 |
|
-<li><div class="src-line"><a name="a551"></a> <span class="src-doc">/**</span></div></li> |
| 568 |
|
-<li><div class="src-line"><a name="a552"></a><span class="src-doc"> * returns the current pointer position, only available during compilation of a template</span></div></li> |
| 569 |
|
-<li><div class="src-line"><a name="a553"></a><span class="src-doc"> *</span></div></li> |
| 570 |
|
-<li><div class="src-line"><a name="a554"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span></div></li> |
| 571 |
|
-<li><div class="src-line"><a name="a555"></a><span class="src-doc"> */</span></div></li> |
| 572 |
|
-<li><div class="src-line"><a name="a556"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 573 |
|
-<li><div class="src-line"><a name="a557"></a> <span class="src-sym">{</span></div></li> |
| 574 |
|
-<li><div class="src-line"><a name="a558"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a><span class="src-sym">;</span></div></li> |
| 575 |
|
-<li><div class="src-line"><a name="a559"></a> <span class="src-sym">}</span></div></li> |
| 576 |
|
-<li><div class="src-line"><a name="a560"></a> </div></li> |
| 577 |
|
-<li><div class="src-line"><a name="a561"></a> <span class="src-doc">/**</span></div></li> |
| 578 |
|
-<li><div class="src-line"><a name="a562"></a><span class="src-doc"> * sets the line number</span></div></li> |
| 579 |
|
-<li><div class="src-line"><a name="a563"></a><span class="src-doc"> *</span></div></li> |
| 580 |
|
-<li><div class="src-line"><a name="a564"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$number </span><span class="src-doc">the new line number</span></div></li> |
| 581 |
|
-<li><div class="src-line"><a name="a565"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$isOffset </span><span class="src-doc">if set to true, the position acts as an offset and not an absolute position</span></div></li> |
| 582 |
|
-<li><div class="src-line"><a name="a566"></a><span class="src-doc"> */</span></div></li> |
| 583 |
|
-<li><div class="src-line"><a name="a567"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetLine">setLine</a><span class="src-sym">(</span><span class="src-var">$number</span><span class="src-sym">, </span><span class="src-var">$isOffset </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 584 |
|
-<li><div class="src-line"><a name="a568"></a> <span class="src-sym">{</span></div></li> |
| 585 |
|
-<li><div class="src-line"><a name="a569"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$isOffset</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 586 |
|
-<li><div class="src-line"><a name="a570"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> += <span class="src-var">$number</span><span class="src-sym">;</span></div></li> |
| 587 |
|
-<li><div class="src-line"><a name="a571"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 588 |
|
-<li><div class="src-line"><a name="a572"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> = <span class="src-var">$number</span><span class="src-sym">;</span></div></li> |
| 589 |
|
-<li><div class="src-line"><a name="a573"></a> <span class="src-sym">}</span></div></li> |
| 590 |
|
-<li><div class="src-line"><a name="a574"></a> <span class="src-sym">}</span></div></li> |
| 591 |
|
-<li><div class="src-line"><a name="a575"></a> </div></li> |
| 592 |
|
-<li><div class="src-line"><a name="a576"></a> <span class="src-doc">/**</span></div></li> |
| 593 |
|
-<li><div class="src-line"><a name="a577"></a><span class="src-doc"> * returns the current line number, only available during compilation of a template</span></div></li> |
| 594 |
|
-<li><div class="src-line"><a name="a578"></a><span class="src-doc"> *</span></div></li> |
| 595 |
|
-<li><div class="src-line"><a name="a579"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span></div></li> |
| 596 |
|
-<li><div class="src-line"><a name="a580"></a><span class="src-doc"> */</span></div></li> |
| 597 |
|
-<li><div class="src-line"><a name="a581"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetLine">getLine</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 598 |
|
-<li><div class="src-line"><a name="a582"></a> <span class="src-sym">{</span></div></li> |
| 599 |
|
-<li><div class="src-line"><a name="a583"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a><span class="src-sym">;</span></div></li> |
| 600 |
|
-<li><div class="src-line"><a name="a584"></a> <span class="src-sym">}</span></div></li> |
| 601 |
|
-<li><div class="src-line"><a name="a585"></a> </div></li> |
| 602 |
|
-<li><div class="src-line"><a name="a586"></a> <span class="src-doc">/**</span></div></li> |
| 603 |
|
-<li><div class="src-line"><a name="a587"></a><span class="src-doc"> * returns the dwoo object that initiated this template compilation, only available during compilation of a template</span></div></li> |
| 604 |
|
-<li><div class="src-line"><a name="a588"></a><span class="src-doc"> *</span></div></li> |
| 605 |
|
-<li><div class="src-line"><a name="a589"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo </span></div></li> |
| 606 |
|
-<li><div class="src-line"><a name="a590"></a><span class="src-doc"> */</span></div></li> |
| 607 |
|
-<li><div class="src-line"><a name="a591"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 608 |
|
-<li><div class="src-line"><a name="a592"></a> <span class="src-sym">{</span></div></li> |
| 609 |
|
-<li><div class="src-line"><a name="a593"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a><span class="src-sym">;</span></div></li> |
| 610 |
|
-<li><div class="src-line"><a name="a594"></a> <span class="src-sym">}</span></div></li> |
| 611 |
|
-<li><div class="src-line"><a name="a595"></a> </div></li> |
| 612 |
|
-<li><div class="src-line"><a name="a596"></a> <span class="src-doc">/**</span></div></li> |
| 613 |
|
-<li><div class="src-line"><a name="a597"></a><span class="src-doc"> * overwrites the template that is being compiled</span></div></li> |
| 614 |
|
-<li><div class="src-line"><a name="a598"></a><span class="src-doc"> *</span></div></li> |
| 615 |
|
-<li><div class="src-line"><a name="a599"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$newSource </span><span class="src-doc">the template source that must replace the current one</span></div></li> |
| 616 |
|
-<li><div class="src-line"><a name="a600"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$fromPointer </span><span class="src-doc">if set to true, only the source from the current pointer position is replaced</span></div></li> |
| 617 |
|
-<li><div class="src-line"><a name="a601"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the template or partial template</span></div></li> |
|
495 |
+<li><div class="src-line"><a name="a481"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Wrong processor name, when using autoload the processor must be in one of your plugin dir as "name.php" containg a class or function named "Dwoo_Processor_name"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
496 |
+<li><div class="src-line"><a name="a482"></a> <span class="src-sym">}</span></div></li> |
|
497 |
+<li><div class="src-line"><a name="a483"></a> </div></li> |
|
498 |
+<li><div class="src-line"><a name="a484"></a> <span class="src-doc">/**</span></div></li> |
|
499 |
+<li><div class="src-line"><a name="a485"></a><span class="src-doc"> * adds an used plugin, this is reserved for use by the {template} plugin</span></div></li> |
|
500 |
+<li><div class="src-line"><a name="a486"></a><span class="src-doc"> *</span></div></li> |
|
501 |
+<li><div class="src-line"><a name="a487"></a><span class="src-doc"> * this is required so that plugin loading bubbles up from loaded</span></div></li> |
|
502 |
+<li><div class="src-line"><a name="a488"></a><span class="src-doc"> * template files to the current one</span></div></li> |
|
503 |
+<li><div class="src-line"><a name="a489"></a><span class="src-doc"> *</span></div></li> |
|
504 |
+<li><div class="src-line"><a name="a490"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
|
505 |
+<li><div class="src-line"><a name="a491"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">function name</span></div></li> |
|
506 |
+<li><div class="src-line"><a name="a492"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$type </span><span class="src-doc">plugin type (Dwoo::*_PLUGIN)</span></div></li> |
|
507 |
+<li><div class="src-line"><a name="a493"></a><span class="src-doc"> */</span></div></li> |
|
508 |
+<li><div class="src-line"><a name="a494"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddUsedPlugin">addUsedPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span></div></li> |
|
509 |
+<li><div class="src-line"><a name="a495"></a> <span class="src-sym">{</span></div></li> |
|
510 |
+<li><div class="src-line"><a name="a496"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$usedPlugins">usedPlugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-var">$type</span><span class="src-sym">;</span></div></li> |
|
511 |
+<li><div class="src-line"><a name="a497"></a> <span class="src-sym">}</span></div></li> |
|
512 |
+<li><div class="src-line"><a name="a498"></a> </div></li> |
|
513 |
+<li><div class="src-line"><a name="a499"></a> <span class="src-doc">/**</span></div></li> |
|
514 |
+<li><div class="src-line"><a name="a500"></a><span class="src-doc"> * returns all the plugins this template uses</span></div></li> |
|
515 |
+<li><div class="src-line"><a name="a501"></a><span class="src-doc"> *</span></div></li> |
|
516 |
+<li><div class="src-line"><a name="a502"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
|
517 |
+<li><div class="src-line"><a name="a503"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">the list of used plugins in the parsed template</span></div></li> |
|
518 |
+<li><div class="src-line"><a name="a504"></a><span class="src-doc"> */</span></div></li> |
|
519 |
+<li><div class="src-line"><a name="a505"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetUsedPlugins">getUsedPlugins</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
520 |
+<li><div class="src-line"><a name="a506"></a> <span class="src-sym">{</span></div></li> |
|
521 |
+<li><div class="src-line"><a name="a507"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$usedPlugins">usedPlugins</a><span class="src-sym">;</span></div></li> |
|
522 |
+<li><div class="src-line"><a name="a508"></a> <span class="src-sym">}</span></div></li> |
|
523 |
+<li><div class="src-line"><a name="a509"></a> </div></li> |
|
524 |
+<li><div class="src-line"><a name="a510"></a> <span class="src-doc">/**</span></div></li> |
|
525 |
+<li><div class="src-line"><a name="a511"></a><span class="src-doc"> * adds a template plugin, this is reserved for use by the {template} plugin</span></div></li> |
|
526 |
+<li><div class="src-line"><a name="a512"></a><span class="src-doc"> *</span></div></li> |
|
527 |
+<li><div class="src-line"><a name="a513"></a><span class="src-doc"> * this is required because the template functions are not declared yet</span></div></li> |
|
528 |
+<li><div class="src-line"><a name="a514"></a><span class="src-doc"> * during compilation, so we must have a way of validating their argument</span></div></li> |
|
529 |
+<li><div class="src-line"><a name="a515"></a><span class="src-doc"> * signature without using the reflection api</span></div></li> |
|
530 |
+<li><div class="src-line"><a name="a516"></a><span class="src-doc"> *</span></div></li> |
|
531 |
+<li><div class="src-line"><a name="a517"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
|
532 |
+<li><div class="src-line"><a name="a518"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">function name</span></div></li> |
|
533 |
+<li><div class="src-line"><a name="a519"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameter array to help validate the function call</span></div></li> |
|
534 |
+<li><div class="src-line"><a name="a520"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$uuid </span><span class="src-doc">unique id of the function</span></div></li> |
|
535 |
+<li><div class="src-line"><a name="a521"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$body </span><span class="src-doc">function php code</span></div></li> |
|
536 |
+<li><div class="src-line"><a name="a522"></a><span class="src-doc"> */</span></div></li> |
|
537 |
+<li><div class="src-line"><a name="a523"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddTemplatePlugin">addTemplatePlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$uuid</span><span class="src-sym">, </span><span class="src-var">$body </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
538 |
+<li><div class="src-line"><a name="a524"></a> <span class="src-sym">{</span></div></li> |
|
539 |
+<li><div class="src-line"><a name="a525"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">templatePlugins</span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'params'</span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'body' </span>=> <span class="src-var">$body</span><span class="src-sym">, </span><span class="src-str">'uuid' </span>=> <span class="src-var">$uuid</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
540 |
+<li><div class="src-line"><a name="a526"></a> <span class="src-sym">}</span></div></li> |
|
541 |
+<li><div class="src-line"><a name="a527"></a> </div></li> |
|
542 |
+<li><div class="src-line"><a name="a528"></a> /**</div></li> |
|
543 |
+<li><div class="src-line"><a name="a510"></a><span class="src-doc">/**</span></div></li> |
|
544 |
+<li><div class="src-line"><a name="a511"></a><span class="src-doc"> * returns all the parsed sub-templates</span></div></li> |
|
545 |
+<li><div class="src-line"><a name="a512"></a><span class="src-doc"> *</span></div></li> |
|
546 |
+<li><div class="src-line"><a name="a513"></a><span class="src-doc"> * </span><span class="src-doc-tag">@private</span></div></li> |
|
547 |
+<li><div class="src-line"><a name="a514"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">the parsed sub-templates</span></div></li> |
|
548 |
+<li><div class="src-line"><a name="a533"></a><span class="src-doc"> */</span></div></li> |
|
549 |
+<li><div class="src-line"><a name="a534"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-id">getTemplatePlugins</span><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
550 |
+<li><div class="src-line"><a name="a535"></a> <span class="src-sym">{</span></div></li> |
|
551 |
+<li><div class="src-line"><a name="a536"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">;</span></div></li> |
|
552 |
+<li><div class="src-line"><a name="a537"></a> <span class="src-sym">}</span></div></li> |
|
553 |
+<li><div class="src-line"><a name="a538"></a> </div></li> |
|
554 |
+<li><div class="src-line"><a name="a539"></a> <span class="src-doc">/**</span></div></li> |
|
555 |
+<li><div class="src-line"><a name="a540"></a><span class="src-doc"> * marks a template plugin as being called, which means its source must be included in the compiled template</span></div></li> |
|
556 |
+<li><div class="src-line"><a name="a541"></a><span class="src-doc"> *</span></div></li> |
|
557 |
+<li><div class="src-line"><a name="a542"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">function name</span></div></li> |
|
558 |
+<li><div class="src-line"><a name="a543"></a><span class="src-doc"> */</span></div></li> |
|
559 |
+<li><div class="src-line"><a name="a544"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methoduseTemplatePlugin">useTemplatePlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
|
560 |
+<li><div class="src-line"><a name="a545"></a> <span class="src-sym">{</span></div></li> |
|
561 |
+<li><div class="src-line"><a name="a546"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
562 |
+<li><div class="src-line"><a name="a547"></a> <span class="src-sym">}</span></div></li> |
|
563 |
+<li><div class="src-line"><a name="a548"></a> </div></li> |
|
564 |
+<li><div class="src-line"><a name="a549"></a> <span class="src-doc">/**</span></div></li> |
|
565 |
+<li><div class="src-line"><a name="a550"></a><span class="src-doc"> * adds the custom plugins loaded into Dwoo to the compiler so it can load them</span></div></li> |
|
566 |
+<li><div class="src-line"><a name="a551"></a><span class="src-doc"> *</span></div></li> |
|
567 |
+<li><div class="src-line"><a name="a552"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> Dwoo::addPlugin</span></div></li> |
|
568 |
+<li><div class="src-line"><a name="a553"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$customPlugins </span><span class="src-doc">an array of custom plugins</span></div></li> |
|
569 |
+<li><div class="src-line"><a name="a554"></a><span class="src-doc"> */</span></div></li> |
|
570 |
+<li><div class="src-line"><a name="a555"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetCustomPlugins">setCustomPlugins</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$customPlugins</span><span class="src-sym">)</span></div></li> |
|
571 |
+<li><div class="src-line"><a name="a556"></a> <span class="src-sym">{</span></div></li> |
|
572 |
+<li><div class="src-line"><a name="a557"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">customPlugins </span>= <span class="src-var">$customPlugins</span><span class="src-sym">;</span></div></li> |
|
573 |
+<li><div class="src-line"><a name="a558"></a> <span class="src-sym">}</span></div></li> |
|
574 |
+<li><div class="src-line"><a name="a559"></a> </div></li> |
|
575 |
+<li><div class="src-line"><a name="a560"></a> /**</div></li> |
|
576 |
+<li><div class="src-line"><a name="a549"></a><span class="src-doc">/**</span></div></li> |
|
577 |
+<li><div class="src-line"><a name="a550"></a><span class="src-doc"> * sets the security policy object to enforce some php security settings</span></div></li> |
|
578 |
+<li><div class="src-line"><a name="a551"></a><span class="src-doc"> *</span></div></li> |
|
579 |
+<li><div class="src-line"><a name="a552"></a><span class="src-doc"> * use this if untrusted persons can modify templates,</span></div></li> |
|
580 |
+<li><div class="src-line"><a name="a553"></a><span class="src-doc"> * set it on the Dwoo object as it will be passed onto the compiler automatically</span></div></li> |
|
581 |
+<li><div class="src-line"><a name="a554"></a><span class="src-doc"> *</span></div></li> |
|
582 |
+<li><div class="src-line"><a name="a555"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">Dwoo_Security_Policy </span><span class="src-doc-var">$policy </span><span class="src-doc">the security policy object</span></div></li> |
|
583 |
+<li><div class="src-line"><a name="a567"></a><span class="src-doc"> */</span></div></li> |
|
584 |
+<li><div class="src-line"><a name="a568"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-id">setSecurityPolicy</span><span class="src-sym">(</span><span class="src-id">Dwoo_Security_Policy </span><span class="src-var">$policy </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
585 |
+<li><div class="src-line"><a name="a569"></a> <span class="src-sym">{</span></div></li> |
|
586 |
+<li><div class="src-line"><a name="a570"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> = <span class="src-var">$policy</span><span class="src-sym">;</span></div></li> |
|
587 |
+<li><div class="src-line"><a name="a571"></a> <span class="src-sym">}</span></div></li> |
|
588 |
+<li><div class="src-line"><a name="a572"></a> </div></li> |
|
589 |
+<li><div class="src-line"><a name="a573"></a> <span class="src-doc">/**</span></div></li> |
|
590 |
+<li><div class="src-line"><a name="a574"></a><span class="src-doc"> * returns the current security policy object or null by default</span></div></li> |
|
591 |
+<li><div class="src-line"><a name="a575"></a><span class="src-doc"> *</span></div></li> |
|
592 |
+<li><div class="src-line"><a name="a576"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Security_Policy</span><span class="src-doc">|</span><span class="src-doc-type">null</span><span class="src-doc">the security policy object if any</span></div></li> |
|
593 |
+<li><div class="src-line"><a name="a577"></a><span class="src-doc"> */</span></div></li> |
|
594 |
+<li><div class="src-line"><a name="a578"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetSecurityPolicy">getSecurityPolicy</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
595 |
+<li><div class="src-line"><a name="a579"></a> <span class="src-sym">{</span></div></li> |
|
596 |
+<li><div class="src-line"><a name="a580"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a><span class="src-sym">;</span></div></li> |
|
597 |
+<li><div class="src-line"><a name="a581"></a> <span class="src-sym">}</span></div></li> |
|
598 |
+<li><div class="src-line"><a name="a582"></a> </div></li> |
|
599 |
+<li><div class="src-line"><a name="a583"></a> <span class="src-doc">/**</span></div></li> |
|
600 |
+<li><div class="src-line"><a name="a584"></a><span class="src-doc"> * sets the pointer position</span></div></li> |
|
601 |
+<li><div class="src-line"><a name="a585"></a><span class="src-doc"> *</span></div></li> |
|
602 |
+<li><div class="src-line"><a name="a586"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$position </span><span class="src-doc">the new pointer position</span></div></li> |
|
603 |
+<li><div class="src-line"><a name="a587"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$isOffset </span><span class="src-doc">if set to true, the position acts as an offset and not an absolute position</span></div></li> |
|
604 |
+<li><div class="src-line"><a name="a588"></a><span class="src-doc"> */</span></div></li> |
|
605 |
+<li><div class="src-line"><a name="a589"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetPointer">setPointer</a><span class="src-sym">(</span><span class="src-var">$position</span><span class="src-sym">, </span><span class="src-var">$isOffset </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
606 |
+<li><div class="src-line"><a name="a590"></a> <span class="src-sym">{</span></div></li> |
|
607 |
+<li><div class="src-line"><a name="a591"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$isOffset</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
608 |
+<li><div class="src-line"><a name="a592"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a> += <span class="src-var">$position</span><span class="src-sym">;</span></div></li> |
|
609 |
+<li><div class="src-line"><a name="a593"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
610 |
+<li><div class="src-line"><a name="a594"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a> = <span class="src-var">$position</span><span class="src-sym">;</span></div></li> |
|
611 |
+<li><div class="src-line"><a name="a595"></a> <span class="src-sym">}</span></div></li> |
|
612 |
+<li><div class="src-line"><a name="a596"></a> <span class="src-sym">}</span></div></li> |
|
613 |
+<li><div class="src-line"><a name="a597"></a> </div></li> |
|
614 |
+<li><div class="src-line"><a name="a598"></a> <span class="src-doc">/**</span></div></li> |
|
615 |
+<li><div class="src-line"><a name="a599"></a><span class="src-doc"> * returns the current pointer position, only available during compilation of a template</span></div></li> |
|
616 |
+<li><div class="src-line"><a name="a600"></a><span class="src-doc"> *</span></div></li> |
|
617 |
+<li><div class="src-line"><a name="a601"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span></div></li> |
| 618 |
618 |
<li><div class="src-line"><a name="a602"></a><span class="src-doc"> */</span></div></li> |
| 619 |
|
-<li><div class="src-line"><a name="a603"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetTemplateSource">setTemplateSource</a><span class="src-sym">(</span><span class="src-var">$newSource</span><span class="src-sym">, </span><span class="src-var">$fromPointer </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
619 |
+<li><div class="src-line"><a name="a603"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 620 |
620 |
<li><div class="src-line"><a name="a604"></a> <span class="src-sym">{</span></div></li> |
| 621 |
|
-<li><div class="src-line"><a name="a605"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fromPointer </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 622 |
|
-<li><div class="src-line"><a name="a606"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a> = <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a><span class="src-sym">) </span>. <span class="src-var">$newSource</span><span class="src-sym">;</span></div></li> |
| 623 |
|
-<li><div class="src-line"><a name="a607"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 624 |
|
-<li><div class="src-line"><a name="a608"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a> = <span class="src-var">$newSource</span><span class="src-sym">;</span></div></li> |
| 625 |
|
-<li><div class="src-line"><a name="a609"></a> <span class="src-sym">}</span></div></li> |
| 626 |
|
-<li><div class="src-line"><a name="a610"></a> <span class="src-sym">}</span></div></li> |
| 627 |
|
-<li><div class="src-line"><a name="a611"></a> </div></li> |
| 628 |
|
-<li><div class="src-line"><a name="a612"></a> <span class="src-doc">/**</span></div></li> |
| 629 |
|
-<li><div class="src-line"><a name="a613"></a><span class="src-doc"> * returns the template that is being compiled</span></div></li> |
| 630 |
|
-<li><div class="src-line"><a name="a614"></a><span class="src-doc"> *</span></div></li> |
| 631 |
|
-<li><div class="src-line"><a name="a615"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$fromPointer </span><span class="src-doc">if set to true, only the source from the current pointer</span></div></li> |
| 632 |
|
-<li><div class="src-line"><a name="a616"></a><span class="src-doc"> * position is returned, if a number is given it overrides the current pointer</span></div></li> |
| 633 |
|
-<li><div class="src-line"><a name="a617"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the template or partial template</span></div></li> |
| 634 |
|
-<li><div class="src-line"><a name="a618"></a><span class="src-doc"> */</span></div></li> |
| 635 |
|
-<li><div class="src-line"><a name="a619"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetTemplateSource">getTemplateSource</a><span class="src-sym">(</span><span class="src-var">$fromPointer </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 636 |
|
-<li><div class="src-line"><a name="a620"></a> <span class="src-sym">{</span></div></li> |
| 637 |
|
-<li><div class="src-line"><a name="a621"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fromPointer </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 638 |
|
-<li><div class="src-line"><a name="a622"></a> <span class="src-key">return </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 639 |
|
-<li><div class="src-line"><a name="a623"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_numeric">is_numeric</a><span class="src-sym">(</span><span class="src-var">$fromPointer</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 640 |
|
-<li><div class="src-line"><a name="a624"></a> <span class="src-key">return </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">, </span><span class="src-var">$fromPointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 641 |
|
-<li><div class="src-line"><a name="a625"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 642 |
|
-<li><div class="src-line"><a name="a626"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">;</span></div></li> |
| 643 |
|
-<li><div class="src-line"><a name="a627"></a> <span class="src-sym">}</span></div></li> |
| 644 |
|
-<li><div class="src-line"><a name="a628"></a> <span class="src-sym">}</span></div></li> |
| 645 |
|
-<li><div class="src-line"><a name="a629"></a> </div></li> |
| 646 |
|
-<li><div class="src-line"><a name="a630"></a> <span class="src-doc">/**</span></div></li> |
| 647 |
|
-<li><div class="src-line"><a name="a631"></a><span class="src-doc"> * resets the compilation pointer, effectively restarting the compilation process</span></div></li> |
| 648 |
|
-<li><div class="src-line"><a name="a632"></a><span class="src-doc"> *</span></div></li> |
| 649 |
|
-<li><div class="src-line"><a name="a633"></a><span class="src-doc"> * this is useful if a plugin modifies the template source since it might need to be recompiled</span></div></li> |
| 650 |
|
-<li><div class="src-line"><a name="a634"></a><span class="src-doc"> */</span></div></li> |
| 651 |
|
-<li><div class="src-line"><a name="a635"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodrecompile">recompile</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 652 |
|
-<li><div class="src-line"><a name="a636"></a> <span class="src-sym">{</span></div></li> |
| 653 |
|
-<li><div class="src-line"><a name="a637"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodsetPointer">setPointer</a><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 654 |
|
-<li><div class="src-line"><a name="a638"></a> <span class="src-sym">}</span></div></li> |
| 655 |
|
-<li><div class="src-line"><a name="a639"></a> </div></li> |
| 656 |
|
-<li><div class="src-line"><a name="a640"></a> <span class="src-doc">/**</span></div></li> |
| 657 |
|
-<li><div class="src-line"><a name="a641"></a><span class="src-doc"> * compiles the provided string down to php code</span></div></li> |
| 658 |
|
-<li><div class="src-line"><a name="a642"></a><span class="src-doc"> *</span></div></li> |
| 659 |
|
-<li><div class="src-line"><a name="a643"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$tpl </span><span class="src-doc">the template to compile</span></div></li> |
| 660 |
|
-<li><div class="src-line"><a name="a644"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">a compiled php string</span></div></li> |
| 661 |
|
-<li><div class="src-line"><a name="a645"></a><span class="src-doc"> */</span></div></li> |
| 662 |
|
-<li><div class="src-line"><a name="a646"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodcompile">compile</a><span class="src-sym">(</span><span class="src-id">Dwoo </span><span class="src-var">$dwoo</span><span class="src-sym">, </span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$template</span><span class="src-sym">)</span></div></li> |
| 663 |
|
-<li><div class="src-line"><a name="a647"></a> <span class="src-sym">{</span></div></li> |
| 664 |
|
-<li><div class="src-line"><a name="a648"></a> <span class="src-comm">// init vars</span></div></li> |
| 665 |
|
-<li><div class="src-line"><a name="a649"></a> <span class="src-var">$tpl </span>= <span class="src-var">$template</span><span class="src-sym">-></span><span class="src-id">getSource</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 666 |
|
-<li><div class="src-line"><a name="a650"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 667 |
|
-<li><div class="src-line"><a name="a651"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a> = <span class="src-var">$dwoo</span><span class="src-sym">;</span></div></li> |
| 668 |
|
-<li><div class="src-line"><a name="a652"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$template">template</a> = <span class="src-var">$template</span><span class="src-sym">;</span></div></li> |
| 669 |
|
-<li><div class="src-line"><a name="a653"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a> =<span class="src-sym">& </span><span class="src-var">$tpl</span><span class="src-sym">;</span></div></li> |
| 670 |
|
-<li><div class="src-line"><a name="a654"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a> =<span class="src-sym">& </span><span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 671 |
|
-<li><div class="src-line"><a name="a655"></a> </div></li> |
| 672 |
|
-<li><div class="src-line"><a name="a656"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 673 |
|
-<li><div class="src-line"><a name="a657"></a> <span class="src-comm">// if pointer is at the beginning, reset everything, that allows a plugin to externally reset the compiler if everything must be reparsed</span></div></li> |
| 674 |
|
-<li><div class="src-line"><a name="a658"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 675 |
|
-<li><div class="src-line"><a name="a659"></a> <span class="src-comm">// resets variables</span></div></li> |
| 676 |
|
-<li><div class="src-line"><a name="a660"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$usedPlugins">usedPlugins</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 677 |
|
-<li><div class="src-line"><a name="a661"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 678 |
|
-<li><div class="src-line"><a name="a662"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
| 679 |
|
-<li><div class="src-line"><a name="a663"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 680 |
|
-<li><div class="src-line"><a name="a664"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 681 |
|
-<li><div class="src-line"><a name="a665"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> = <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 682 |
|
-<li><div class="src-line"><a name="a666"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 683 |
|
-<li><div class="src-line"><a name="a667"></a> <span class="src-comm">// add top level block</span></div></li> |
| 684 |
|
-<li><div class="src-line"><a name="a668"></a> <span class="src-var">$compiled </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-str">'topLevelBlock'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 685 |
|
-<li><div class="src-line"><a name="a669"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 686 |
|
-<li><div class="src-line"><a name="a670"></a> </div></li> |
| 687 |
|
-<li><div class="src-line"><a name="a671"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'COMPILER INIT<br />'</span><span class="src-sym">;</span></div></li> |
| 688 |
|
-<li><div class="src-line"><a name="a672"></a> </div></li> |
| 689 |
|
-<li><div class="src-line"><a name="a673"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'PROCESSING PREPROCESSORS ('</span>.<a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">')<br>'</span><span class="src-sym">;</span></div></li> |
| 690 |
|
-<li><div class="src-line"><a name="a674"></a> </div></li> |
| 691 |
|
-<li><div class="src-line"><a name="a675"></a> <span class="src-comm">// runs preprocessors</span></div></li> |
| 692 |
|
-<li><div class="src-line"><a name="a676"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$preProc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 693 |
|
-<li><div class="src-line"><a name="a677"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-str">'autoload'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 694 |
|
-<li><div class="src-line"><a name="a678"></a> <span class="src-var">$preProc </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadProcessor">loadProcessor</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-str">'name'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 695 |
|
-<li><div class="src-line"><a name="a679"></a> <span class="src-sym">}</span></div></li> |
| 696 |
|
-<li><div class="src-line"><a name="a680"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">) </span>&& <span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_Processor.html">Dwoo_Processor</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 697 |
|
-<li><div class="src-line"><a name="a681"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 698 |
|
-<li><div class="src-line"><a name="a682"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 699 |
|
-<li><div class="src-line"><a name="a683"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 700 |
|
-<li><div class="src-line"><a name="a684"></a> <span class="src-sym">}</span></div></li> |
| 701 |
|
-<li><div class="src-line"><a name="a685"></a> <span class="src-sym">}</span></div></li> |
| 702 |
|
-<li><div class="src-line"><a name="a686"></a> unset<span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 703 |
|
-<li><div class="src-line"><a name="a687"></a> </div></li> |
| 704 |
|
-<li><div class="src-line"><a name="a688"></a> <span class="src-comm">// show template source if debug</span></div></li> |
| 705 |
|
-<li><div class="src-line"><a name="a689"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'<pre>'</span>.<a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><a href="http://www.php.net/htmlentities">htmlentities</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">'</pre><hr />'</span><span class="src-sym">;</span></div></li> |
| 706 |
|
-<li><div class="src-line"><a name="a690"></a> </div></li> |
| 707 |
|
-<li><div class="src-line"><a name="a691"></a> <span class="src-comm">// strips php tags if required by the security policy</span></div></li> |
| 708 |
|
-<li><div class="src-line"><a name="a692"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> !== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 709 |
|
-<li><div class="src-line"><a name="a693"></a> <span class="src-var">$search </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'{<\?php.*?\?>}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 710 |
|
-<li><div class="src-line"><a name="a694"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/ini_get">ini_get</a><span class="src-sym">(</span><span class="src-str">'short_open_tags'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 711 |
|
-<li><div class="src-line"><a name="a695"></a> <span class="src-var">$search </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'{<\?.*?\?>}'</span><span class="src-sym">, </span><span class="src-str">'{<%.*?%>}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 712 |
|
-<li><div class="src-line"><a name="a696"></a> <span class="src-sym">}</span></div></li> |
| 713 |
|
-<li><div class="src-line"><a name="a697"></a> <span class="src-key">switch</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Security_Policy.html#methodgetPhpHandling">getPhpHandling</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 714 |
|
-<li><div class="src-line"><a name="a698"></a> </div></li> |
| 715 |
|
-<li><div class="src-line"><a name="a699"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">PHP_ALLOW</span>:</div></li> |
| 716 |
|
-<li><div class="src-line"><a name="a700"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 717 |
|
-<li><div class="src-line"><a name="a701"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">PHP_ENCODE</span>:</div></li> |
| 718 |
|
-<li><div class="src-line"><a name="a702"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/preg_replace_callback">preg_replace_callback</a><span class="src-sym">(</span><span class="src-var">$search</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'phpTagEncodingHelper'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 719 |
|
-<li><div class="src-line"><a name="a703"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 720 |
|
-<li><div class="src-line"><a name="a704"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">PHP_REMOVE</span>:</div></li> |
| 721 |
|
-<li><div class="src-line"><a name="a705"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-var">$search</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 722 |
|
-<li><div class="src-line"><a name="a706"></a> </div></li> |
| 723 |
|
-<li><div class="src-line"><a name="a707"></a> <span class="src-sym">}</span></div></li> |
| 724 |
|
-<li><div class="src-line"><a name="a708"></a> <span class="src-sym">}</span></div></li> |
| 725 |
|
-<li><div class="src-line"><a name="a709"></a> <span class="src-sym">}</span></div></li> |
| 726 |
|
-<li><div class="src-line"><a name="a710"></a> </div></li> |
| 727 |
|
-<li><div class="src-line"><a name="a711"></a> <span class="src-var">$pos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 728 |
|
-<li><div class="src-line"><a name="a712"></a> </div></li> |
| 729 |
|
-<li><div class="src-line"><a name="a713"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pos </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 730 |
|
-<li><div class="src-line"><a name="a714"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 731 |
|
-<li><div class="src-line"><a name="a715"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 732 |
|
-<li><div class="src-line"><a name="a716"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">2</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>!== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 733 |
|
-<li><div class="src-line"><a name="a717"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span>-<span class="src-num">1</span><span class="src-sym">) </span>. <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 734 |
|
-<li><div class="src-line"><a name="a718"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span>+<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 735 |
|
-<li><div class="src-line"><a name="a719"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ldr">ldr</a> . <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-str">'literal' </span>. <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a>.<span class="src-str">'/s'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$litOpen</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 736 |
|
-<li><div class="src-line"><a name="a720"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ldr">ldr</a> . <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-str">'\/literal' </span>. <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a>.<span class="src-str">'/s'</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$litClose</span><span class="src-sym">, </span><span class="src-id">PREG_OFFSET_CAPTURE</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 737 |
|
-<li><div class="src-line"><a name="a721"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The {literal} blocks must be closed explicitly with {/literal}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 738 |
|
-<li><div class="src-line"><a name="a722"></a> <span class="src-sym">}</span></div></li> |
| 739 |
|
-<li><div class="src-line"><a name="a723"></a> <span class="src-var">$endpos </span>= <span class="src-var">$litClose</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 740 |
|
-<li><div class="src-line"><a name="a724"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span><span class="src-sym">) </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$litOpen</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$endpos</span>-<span class="src-var">$pos</span>-<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$litOpen</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 741 |
|
-<li><div class="src-line"><a name="a725"></a> <span class="src-var">$ptr </span>= <span class="src-var">$endpos</span>+<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$litClose</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 742 |
|
-<li><div class="src-line"><a name="a726"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 743 |
|
-<li><div class="src-line"><a name="a727"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">2</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 744 |
|
-<li><div class="src-line"><a name="a728"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 745 |
|
-<li><div class="src-line"><a name="a729"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span><span class="src-sym">;</span></div></li> |
| 746 |
|
-<li><div class="src-line"><a name="a730"></a> <span class="src-sym">}</span></div></li> |
| 747 |
|
-<li><div class="src-line"><a name="a731"></a> </div></li> |
| 748 |
|
-<li><div class="src-line"><a name="a732"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 749 |
|
-<li><div class="src-line"><a name="a733"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span><span class="src-sym">;</span></div></li> |
|
621 |
+<li><div class="src-line"><a name="a605"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a><span class="src-sym">;</span></div></li> |
|
622 |
+<li><div class="src-line"><a name="a606"></a> <span class="src-sym">}</span></div></li> |
|
623 |
+<li><div class="src-line"><a name="a607"></a> </div></li> |
|
624 |
+<li><div class="src-line"><a name="a608"></a> <span class="src-doc">/**</span></div></li> |
|
625 |
+<li><div class="src-line"><a name="a609"></a><span class="src-doc"> * sets the line number</span></div></li> |
|
626 |
+<li><div class="src-line"><a name="a610"></a><span class="src-doc"> *</span></div></li> |
|
627 |
+<li><div class="src-line"><a name="a611"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$number </span><span class="src-doc">the new line number</span></div></li> |
|
628 |
+<li><div class="src-line"><a name="a612"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$isOffset </span><span class="src-doc">if set to true, the position acts as an offset and not an absolute position</span></div></li> |
|
629 |
+<li><div class="src-line"><a name="a613"></a><span class="src-doc"> */</span></div></li> |
|
630 |
+<li><div class="src-line"><a name="a614"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetLine">setLine</a><span class="src-sym">(</span><span class="src-var">$number</span><span class="src-sym">, </span><span class="src-var">$isOffset </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
631 |
+<li><div class="src-line"><a name="a615"></a> <span class="src-sym">{</span></div></li> |
|
632 |
+<li><div class="src-line"><a name="a616"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$isOffset</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
633 |
+<li><div class="src-line"><a name="a617"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> += <span class="src-var">$number</span><span class="src-sym">;</span></div></li> |
|
634 |
+<li><div class="src-line"><a name="a618"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
635 |
+<li><div class="src-line"><a name="a619"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> = <span class="src-var">$number</span><span class="src-sym">;</span></div></li> |
|
636 |
+<li><div class="src-line"><a name="a620"></a> <span class="src-sym">}</span></div></li> |
|
637 |
+<li><div class="src-line"><a name="a621"></a> <span class="src-sym">}</span></div></li> |
|
638 |
+<li><div class="src-line"><a name="a622"></a> </div></li> |
|
639 |
+<li><div class="src-line"><a name="a623"></a> <span class="src-doc">/**</span></div></li> |
|
640 |
+<li><div class="src-line"><a name="a624"></a><span class="src-doc"> * returns the current line number, only available during compilation of a template</span></div></li> |
|
641 |
+<li><div class="src-line"><a name="a625"></a><span class="src-doc"> *</span></div></li> |
|
642 |
+<li><div class="src-line"><a name="a626"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span></div></li> |
|
643 |
+<li><div class="src-line"><a name="a627"></a><span class="src-doc"> */</span></div></li> |
|
644 |
+<li><div class="src-line"><a name="a628"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetLine">getLine</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
645 |
+<li><div class="src-line"><a name="a629"></a> <span class="src-sym">{</span></div></li> |
|
646 |
+<li><div class="src-line"><a name="a630"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a><span class="src-sym">;</span></div></li> |
|
647 |
+<li><div class="src-line"><a name="a631"></a> <span class="src-sym">}</span></div></li> |
|
648 |
+<li><div class="src-line"><a name="a632"></a> </div></li> |
|
649 |
+<li><div class="src-line"><a name="a633"></a> <span class="src-doc">/**</span></div></li> |
|
650 |
+<li><div class="src-line"><a name="a634"></a><span class="src-doc"> * returns the dwoo object that initiated this template compilation, only available during compilation of a template</span></div></li> |
|
651 |
+<li><div class="src-line"><a name="a635"></a><span class="src-doc"> *</span></div></li> |
|
652 |
+<li><div class="src-line"><a name="a636"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo </span></div></li> |
|
653 |
+<li><div class="src-line"><a name="a637"></a><span class="src-doc"> */</span></div></li> |
|
654 |
+<li><div class="src-line"><a name="a638"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
655 |
+<li><div class="src-line"><a name="a639"></a> <span class="src-sym">{</span></div></li> |
|
656 |
+<li><div class="src-line"><a name="a640"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a><span class="src-sym">;</span></div></li> |
|
657 |
+<li><div class="src-line"><a name="a641"></a> <span class="src-sym">}</span></div></li> |
|
658 |
+<li><div class="src-line"><a name="a642"></a> </div></li> |
|
659 |
+<li><div class="src-line"><a name="a643"></a> <span class="src-doc">/**</span></div></li> |
|
660 |
+<li><div class="src-line"><a name="a644"></a><span class="src-doc"> * overwrites the template that is being compiled</span></div></li> |
|
661 |
+<li><div class="src-line"><a name="a645"></a><span class="src-doc"> *</span></div></li> |
|
662 |
+<li><div class="src-line"><a name="a646"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$newSource </span><span class="src-doc">the template source that must replace the current one</span></div></li> |
|
663 |
+<li><div class="src-line"><a name="a647"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$fromPointer </span><span class="src-doc">if set to true, only the source from the current pointer position is replaced</span></div></li> |
|
664 |
+<li><div class="src-line"><a name="a648"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the template or partial template</span></div></li> |
|
665 |
+<li><div class="src-line"><a name="a649"></a><span class="src-doc"> */</span></div></li> |
|
666 |
+<li><div class="src-line"><a name="a650"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetTemplateSource">setTemplateSource</a><span class="src-sym">(</span><span class="src-var">$newSource</span><span class="src-sym">, </span><span class="src-var">$fromPointer </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
667 |
+<li><div class="src-line"><a name="a651"></a> <span class="src-sym">{</span></div></li> |
|
668 |
+<li><div class="src-line"><a name="a652"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fromPointer </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
669 |
+<li><div class="src-line"><a name="a653"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a> = <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a><span class="src-sym">) </span>. <span class="src-var">$newSource</span><span class="src-sym">;</span></div></li> |
|
670 |
+<li><div class="src-line"><a name="a654"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
671 |
+<li><div class="src-line"><a name="a655"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a> = <span class="src-var">$newSource</span><span class="src-sym">;</span></div></li> |
|
672 |
+<li><div class="src-line"><a name="a656"></a> <span class="src-sym">}</span></div></li> |
|
673 |
+<li><div class="src-line"><a name="a657"></a> <span class="src-sym">}</span></div></li> |
|
674 |
+<li><div class="src-line"><a name="a658"></a> </div></li> |
|
675 |
+<li><div class="src-line"><a name="a659"></a> <span class="src-doc">/**</span></div></li> |
|
676 |
+<li><div class="src-line"><a name="a660"></a><span class="src-doc"> * returns the template that is being compiled</span></div></li> |
|
677 |
+<li><div class="src-line"><a name="a661"></a><span class="src-doc"> *</span></div></li> |
|
678 |
+<li><div class="src-line"><a name="a662"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$fromPointer </span><span class="src-doc">if set to true, only the source from the current pointer</span></div></li> |
|
679 |
+<li><div class="src-line"><a name="a663"></a><span class="src-doc"> * position is returned, if a number is given it overrides the current pointer</span></div></li> |
|
680 |
+<li><div class="src-line"><a name="a664"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the template or partial template</span></div></li> |
|
681 |
+<li><div class="src-line"><a name="a665"></a><span class="src-doc"> */</span></div></li> |
|
682 |
+<li><div class="src-line"><a name="a666"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetTemplateSource">getTemplateSource</a><span class="src-sym">(</span><span class="src-var">$fromPointer </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
683 |
+<li><div class="src-line"><a name="a667"></a> <span class="src-sym">{</span></div></li> |
|
684 |
+<li><div class="src-line"><a name="a668"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$fromPointer </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
685 |
+<li><div class="src-line"><a name="a669"></a> <span class="src-key">return </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
686 |
+<li><div class="src-line"><a name="a670"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_numeric">is_numeric</a><span class="src-sym">(</span><span class="src-var">$fromPointer</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
687 |
+<li><div class="src-line"><a name="a671"></a> <span class="src-key">return </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">, </span><span class="src-var">$fromPointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
688 |
+<li><div class="src-line"><a name="a672"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
689 |
+<li><div class="src-line"><a name="a673"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a><span class="src-sym">;</span></div></li> |
|
690 |
+<li><div class="src-line"><a name="a674"></a> <span class="src-sym">}</span></div></li> |
|
691 |
+<li><div class="src-line"><a name="a675"></a> <span class="src-sym">}</span></div></li> |
|
692 |
+<li><div class="src-line"><a name="a676"></a> </div></li> |
|
693 |
+<li><div class="src-line"><a name="a677"></a> <span class="src-doc">/**</span></div></li> |
|
694 |
+<li><div class="src-line"><a name="a678"></a><span class="src-doc"> * resets the compilation pointer, effectively restarting the compilation process</span></div></li> |
|
695 |
+<li><div class="src-line"><a name="a679"></a><span class="src-doc"> *</span></div></li> |
|
696 |
+<li><div class="src-line"><a name="a680"></a><span class="src-doc"> * this is useful if a plugin modifies the template source since it might need to be recompiled</span></div></li> |
|
697 |
+<li><div class="src-line"><a name="a681"></a><span class="src-doc"> */</span></div></li> |
|
698 |
+<li><div class="src-line"><a name="a682"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodrecompile">recompile</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
699 |
+<li><div class="src-line"><a name="a683"></a> <span class="src-sym">{</span></div></li> |
|
700 |
+<li><div class="src-line"><a name="a684"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodsetPointer">setPointer</a><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
701 |
+<li><div class="src-line"><a name="a685"></a> <span class="src-sym">}</span></div></li> |
|
702 |
+<li><div class="src-line"><a name="a686"></a> </div></li> |
|
703 |
+<li><div class="src-line"><a name="a687"></a> <span class="src-doc">/**</span></div></li> |
|
704 |
+<li><div class="src-line"><a name="a688"></a><span class="src-doc"> * compiles the provided string down to php code</span></div></li> |
|
705 |
+<li><div class="src-line"><a name="a689"></a><span class="src-doc"> *</span></div></li> |
|
706 |
+<li><div class="src-line"><a name="a690"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$tpl </span><span class="src-doc">the template to compile</span></div></li> |
|
707 |
+<li><div class="src-line"><a name="a691"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">a compiled php string</span></div></li> |
|
708 |
+<li><div class="src-line"><a name="a692"></a><span class="src-doc"> */</span></div></li> |
|
709 |
+<li><div class="src-line"><a name="a693"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodcompile">compile</a><span class="src-sym">(</span><span class="src-id">Dwoo </span><span class="src-var">$dwoo</span><span class="src-sym">, </span><span class="src-id">Dwoo_ITemplate </span><span class="src-var">$template</span><span class="src-sym">)</span></div></li> |
|
710 |
+<li><div class="src-line"><a name="a694"></a> <span class="src-sym">{</span></div></li> |
|
711 |
+<li><div class="src-line"><a name="a695"></a> <span class="src-comm">// init vars</span></div></li> |
|
712 |
+<li><div class="src-line"><a name="a696"></a> <span class="src-var">$tpl </span>= <span class="src-var">$template</span><span class="src-sym">-></span><span class="src-id">getSource</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
713 |
+<li><div class="src-line"><a name="a697"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
714 |
+<li><div class="src-line"><a name="a698"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a> = <span class="src-var">$dwoo</span><span class="src-sym">;</span></div></li> |
|
715 |
+<li><div class="src-line"><a name="a699"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$template">template</a> = <span class="src-var">$template</span><span class="src-sym">;</span></div></li> |
|
716 |
+<li><div class="src-line"><a name="a700"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templateSource">templateSource</a> =<span class="src-sym">& </span><span class="src-var">$tpl</span><span class="src-sym">;</span></div></li> |
|
717 |
+<li><div class="src-line"><a name="a701"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$pointer">pointer</a> =<span class="src-sym">& </span><span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
718 |
+<li><div class="src-line"><a name="a702"></a> </div></li> |
|
719 |
+<li><div class="src-line"><a name="a703"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
720 |
+<li><div class="src-line"><a name="a704"></a> <span class="src-comm">// if pointer is at the beginning, reset everything, that allows a plugin to externally reset the compiler if everything must be reparsed</span></div></li> |
|
721 |
+<li><div class="src-line"><a name="a705"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
722 |
+<li><div class="src-line"><a name="a706"></a> <span class="src-comm">// resets variables</span></div></li> |
|
723 |
+<li><div class="src-line"><a name="a707"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$usedPlugins">usedPlugins</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
724 |
+<li><div class="src-line"><a name="a708"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
725 |
+<li><div class="src-line"><a name="a709"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
|
726 |
+<li><div class="src-line"><a name="a710"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
727 |
+<li><div class="src-line"><a name="a711"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
728 |
+<li><div class="src-line"><a name="a712"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> = <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
729 |
+<li><div class="src-line"><a name="a713"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
730 |
+<li><div class="src-line"><a name="a714"></a> <span class="src-comm">// add top level block</span></div></li> |
|
731 |
+<li><div class="src-line"><a name="a715"></a> <span class="src-var">$compiled </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-str">'topLevelBlock'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
732 |
+<li><div class="src-line"><a name="a716"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
733 |
+<li><div class="src-line"><a name="a717"></a> </div></li> |
|
734 |
+<li><div class="src-line"><a name="a718"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'COMPILER INIT<br />'</span><span class="src-sym">;</span></div></li> |
|
735 |
+<li><div class="src-line"><a name="a719"></a> </div></li> |
|
736 |
+<li><div class="src-line"><a name="a720"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'PROCESSING PREPROCESSORS ('</span>.<a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">')<br>'</span><span class="src-sym">;</span></div></li> |
|
737 |
+<li><div class="src-line"><a name="a721"></a> </div></li> |
|
738 |
+<li><div class="src-line"><a name="a722"></a> <span class="src-comm">// runs preprocessors</span></div></li> |
|
739 |
+<li><div class="src-line"><a name="a723"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'pre'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$preProc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
740 |
+<li><div class="src-line"><a name="a724"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-str">'autoload'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
741 |
+<li><div class="src-line"><a name="a725"></a> <span class="src-var">$preProc </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadProcessor">loadProcessor</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-str">'name'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
742 |
+<li><div class="src-line"><a name="a726"></a> <span class="src-sym">}</span></div></li> |
|
743 |
+<li><div class="src-line"><a name="a727"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">) </span>&& <span class="src-var">$preProc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_Processor.html">Dwoo_Processor</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
744 |
+<li><div class="src-line"><a name="a728"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
745 |
+<li><div class="src-line"><a name="a729"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
746 |
+<li><div class="src-line"><a name="a730"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
747 |
+<li><div class="src-line"><a name="a731"></a> <span class="src-sym">}</span></div></li> |
|
748 |
+<li><div class="src-line"><a name="a732"></a> <span class="src-sym">}</span></div></li> |
|
749 |
+<li><div class="src-line"><a name="a733"></a> unset<span class="src-sym">(</span><span class="src-var">$preProc</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 750 |
750 |
<li><div class="src-line"><a name="a734"></a> </div></li> |
| 751 |
|
-<li><div class="src-line"><a name="a735"></a> <span class="src-var">$pos </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 752 |
|
-<li><div class="src-line"><a name="a736"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 753 |
|
-<li><div class="src-line"><a name="a737"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">' '</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 754 |
|
-<li><div class="src-line"><a name="a738"></a> <span class="src-var">$pos</span>+=<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 755 |
|
-<li><div class="src-line"><a name="a739"></a> <span class="src-sym">}</span></div></li> |
| 756 |
|
-<li><div class="src-line"><a name="a740"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 757 |
|
-<li><div class="src-line"><a name="a741"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">' ' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">"\r" </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">"\n" </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">"\t"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 758 |
|
-<li><div class="src-line"><a name="a742"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span><span class="src-sym">;</span></div></li> |
| 759 |
|
-<li><div class="src-line"><a name="a743"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 760 |
|
-<li><div class="src-line"><a name="a744"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 761 |
|
-<li><div class="src-line"><a name="a745"></a> <span class="src-sym">}</span></div></li> |
| 762 |
|
-<li><div class="src-line"><a name="a746"></a> <span class="src-sym">}</span></div></li> |
| 763 |
|
-<li><div class="src-line"><a name="a747"></a> </div></li> |
| 764 |
|
-<li><div class="src-line"><a name="a748"></a> <span class="src-comm">// check that there is an end tag present</span></div></li> |
| 765 |
|
-<li><div class="src-line"><a name="a749"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 766 |
|
-<li><div class="src-line"><a name="a750"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'A template tag was not closed, started with "'</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-num">30</span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 767 |
|
-<li><div class="src-line"><a name="a751"></a> <span class="src-sym">}</span></div></li> |
| 768 |
|
-<li><div class="src-line"><a name="a752"></a> </div></li> |
|
751 |
+<li><div class="src-line"><a name="a735"></a> <span class="src-comm">// show template source if debug</span></div></li> |
|
752 |
+<li><div class="src-line"><a name="a736"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'<pre>'</span>.<a href="http://www.php.net/print_r">print_r</a><span class="src-sym">(</span><a href="http://www.php.net/htmlentities">htmlentities</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">'</pre><hr />'</span><span class="src-sym">;</span></div></li> |
|
753 |
+<li><div class="src-line"><a name="a737"></a> </div></li> |
|
754 |
+<li><div class="src-line"><a name="a738"></a> <span class="src-comm">// strips php tags if required by the security policy</span></div></li> |
|
755 |
+<li><div class="src-line"><a name="a739"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> !== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
756 |
+<li><div class="src-line"><a name="a740"></a> <span class="src-var">$search </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'{<\?php.*?\?>}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
757 |
+<li><div class="src-line"><a name="a741"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/ini_get">ini_get</a><span class="src-sym">(</span><span class="src-str">'short_open_tags'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
758 |
+<li><div class="src-line"><a name="a742"></a> <span class="src-var">$search </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'{<\?.*?\?>}'</span><span class="src-sym">, </span><span class="src-str">'{<%.*?%>}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
759 |
+<li><div class="src-line"><a name="a743"></a> <span class="src-sym">}</span></div></li> |
|
760 |
+<li><div class="src-line"><a name="a744"></a> <span class="src-key">switch</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Security_Policy.html#methodgetPhpHandling">getPhpHandling</a><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
761 |
+<li><div class="src-line"><a name="a745"></a> </div></li> |
|
762 |
+<li><div class="src-line"><a name="a746"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">PHP_ALLOW</span>:</div></li> |
|
763 |
+<li><div class="src-line"><a name="a747"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
764 |
+<li><div class="src-line"><a name="a748"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">PHP_ENCODE</span>:</div></li> |
|
765 |
+<li><div class="src-line"><a name="a749"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/preg_replace_callback">preg_replace_callback</a><span class="src-sym">(</span><span class="src-var">$search</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'phpTagEncodingHelper'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
766 |
+<li><div class="src-line"><a name="a750"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
767 |
+<li><div class="src-line"><a name="a751"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">PHP_REMOVE</span>:</div></li> |
|
768 |
+<li><div class="src-line"><a name="a752"></a> <span class="src-var">$tpl </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-var">$search</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 769 |
769 |
<li><div class="src-line"><a name="a753"></a> </div></li> |
| 770 |
|
-<li><div class="src-line"><a name="a754"></a> <span class="src-var">$ptr </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 771 |
|
-<li><div class="src-line"><a name="a755"></a> <span class="src-var">$subptr </span>= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 772 |
|
-<li><div class="src-line"><a name="a756"></a> </div></li> |
| 773 |
|
-<li><div class="src-line"><a name="a757"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 774 |
|
-<li><div class="src-line"><a name="a758"></a> <span class="src-var">$parsed </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$subptr</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'root'</span><span class="src-sym">, </span><span class="src-var">$subptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
770 |
+<li><div class="src-line"><a name="a754"></a> <span class="src-sym">}</span></div></li> |
|
771 |
+<li><div class="src-line"><a name="a755"></a> <span class="src-sym">}</span></div></li> |
|
772 |
+<li><div class="src-line"><a name="a756"></a> <span class="src-sym">}</span></div></li> |
|
773 |
+<li><div class="src-line"><a name="a757"></a> </div></li> |
|
774 |
+<li><div class="src-line"><a name="a758"></a> <span class="src-var">$pos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 775 |
775 |
<li><div class="src-line"><a name="a759"></a> </div></li> |
| 776 |
|
-<li><div class="src-line"><a name="a760"></a> <span class="src-comm">// reload loop if the compiler was reset</span></div></li> |
| 777 |
|
-<li><div class="src-line"><a name="a761"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 778 |
|
-<li><div class="src-line"><a name="a762"></a> <span class="src-key">continue </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 779 |
|
-<li><div class="src-line"><a name="a763"></a> <span class="src-sym">}</span></div></li> |
| 780 |
|
-<li><div class="src-line"><a name="a764"></a> </div></li> |
| 781 |
|
-<li><div class="src-line"><a name="a765"></a> <span class="src-var">$len </span>= <span class="src-var">$subptr </span>- <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 782 |
|
-<li><div class="src-line"><a name="a766"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$parsed</span><span class="src-sym">, </span><a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$len</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 783 |
|
-<li><div class="src-line"><a name="a767"></a> <span class="src-var">$ptr </span>+= <span class="src-var">$len</span><span class="src-sym">;</span></div></li> |
| 784 |
|
-<li><div class="src-line"><a name="a768"></a> </div></li> |
| 785 |
|
-<li><div class="src-line"><a name="a769"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$parsed </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 786 |
|
-<li><div class="src-line"><a name="a770"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 787 |
|
-<li><div class="src-line"><a name="a771"></a> <span class="src-sym">}</span></div></li> |
| 788 |
|
-<li><div class="src-line"><a name="a772"></a> <span class="src-sym">}</span></div></li> |
| 789 |
|
-<li><div class="src-line"><a name="a773"></a> </div></li> |
| 790 |
|
-<li><div class="src-line"><a name="a774"></a> <span class="src-comm">// adds additional line breaks between php closing and opening tags because the php parser removes those if there is just a single line break</span></div></li> |
| 791 |
|
-<li><div class="src-line"><a name="a775"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">, </span>-<span class="src-num">2</span><span class="src-sym">) </span>=== <span class="src-str">'?>' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'{^(([\r\n])([\r\n]?))}'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 792 |
|
-<li><div class="src-line"><a name="a776"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">] </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 793 |
|
-<li><div class="src-line"><a name="a777"></a> <span class="src-var">$ptr</span>+=<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 794 |
|
-<li><div class="src-line"><a name="a778"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 795 |
|
-<li><div class="src-line"><a name="a779"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 796 |
|
-<li><div class="src-line"><a name="a780"></a> <span class="src-var">$ptr</span>+=<span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 797 |
|
-<li><div class="src-line"><a name="a781"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 798 |
|
-<li><div class="src-line"><a name="a782"></a> <span class="src-sym">}</span></div></li> |
| 799 |
|
-<li><div class="src-line"><a name="a783"></a> <span class="src-sym">}</span></div></li> |
| 800 |
|
-<li><div class="src-line"><a name="a784"></a> <span class="src-sym">}</span></div></li> |
| 801 |
|
-<li><div class="src-line"><a name="a785"></a> <span class="src-sym">}</span></div></li> |
| 802 |
|
-<li><div class="src-line"><a name="a786"></a> </div></li> |
| 803 |
|
-<li><div class="src-line"><a name="a787"></a> <span class="src-var">$compiled </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveBlock">removeBlock</a><span class="src-sym">(</span><span class="src-str">'topLevelBlock'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 804 |
|
-<li><div class="src-line"><a name="a788"></a> </div></li> |
| 805 |
|
-<li><div class="src-line"><a name="a789"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'PROCESSING POSTPROCESSORS<br>'</span><span class="src-sym">;</span></div></li> |
| 806 |
|
-<li><div class="src-line"><a name="a790"></a> </div></li> |
| 807 |
|
-<li><div class="src-line"><a name="a791"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$postProc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 808 |
|
-<li><div class="src-line"><a name="a792"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-str">'autoload'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 809 |
|
-<li><div class="src-line"><a name="a793"></a> <span class="src-var">$postProc </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadProcessor">loadProcessor</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-str">'name'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 810 |
|
-<li><div class="src-line"><a name="a794"></a> <span class="src-sym">}</span></div></li> |
| 811 |
|
-<li><div class="src-line"><a name="a795"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">) </span>&& <span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_Processor.html">Dwoo_Processor</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 812 |
|
-<li><div class="src-line"><a name="a796"></a> <span class="src-var">$compiled </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">, </span><span class="src-var">$compiled</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 813 |
|
-<li><div class="src-line"><a name="a797"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 814 |
|
-<li><div class="src-line"><a name="a798"></a> <span class="src-var">$compiled </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$compiled</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 815 |
|
-<li><div class="src-line"><a name="a799"></a> <span class="src-sym">}</span></div></li> |
| 816 |
|
-<li><div class="src-line"><a name="a800"></a> <span class="src-sym">}</span></div></li> |
| 817 |
|
-<li><div class="src-line"><a name="a801"></a> unset<span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 818 |
|
-<li><div class="src-line"><a name="a802"></a> </div></li> |
| 819 |
|
-<li><div class="src-line"><a name="a803"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'COMPILATION COMPLETE : MEM USAGE : '</span>.<a href="http://www.php.net/memory_get_usage">memory_get_usage</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
| 820 |
|
-<li><div class="src-line"><a name="a804"></a> </div></li> |
| 821 |
|
-<li><div class="src-line"><a name="a805"></a> <span class="src-var">$output </span>= <span class="src-str">"<?php\n"</span><span class="src-sym">;</span></div></li> |
|
776 |
+<li><div class="src-line"><a name="a760"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pos </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
777 |
+<li><div class="src-line"><a name="a761"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
778 |
+<li><div class="src-line"><a name="a762"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
779 |
+<li><div class="src-line"><a name="a763"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">2</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>!== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
780 |
+<li><div class="src-line"><a name="a764"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span>-<span class="src-num">1</span><span class="src-sym">) </span>. <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
781 |
+<li><div class="src-line"><a name="a765"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span>+<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
782 |
+<li><div class="src-line"><a name="a766"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ldr">ldr</a> . <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-str">'literal' </span>. <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a>.<span class="src-str">'/s'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$litOpen</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
783 |
+<li><div class="src-line"><a name="a767"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ldr">ldr</a> . <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-str">'\/literal' </span>. <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a> ? <span class="src-str">'\s*' </span>: <span class="src-str">''</span><span class="src-sym">) </span>. <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a>.<span class="src-str">'/s'</span><span class="src-sym">, </span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$litClose</span><span class="src-sym">, </span><span class="src-id">PREG_OFFSET_CAPTURE</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
784 |
+<li><div class="src-line"><a name="a768"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The {literal} blocks must be closed explicitly with {/literal}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
785 |
+<li><div class="src-line"><a name="a769"></a> <span class="src-sym">}</span></div></li> |
|
786 |
+<li><div class="src-line"><a name="a770"></a> <span class="src-var">$endpos </span>= <span class="src-var">$litClose</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
787 |
+<li><div class="src-line"><a name="a771"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span><span class="src-sym">) </span>. <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$litOpen</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$endpos</span>-<span class="src-var">$pos</span>-<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$litOpen</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
788 |
+<li><div class="src-line"><a name="a772"></a> <span class="src-var">$ptr </span>= <span class="src-var">$endpos</span>+<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$litClose</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
789 |
+<li><div class="src-line"><a name="a773"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
790 |
+<li><div class="src-line"><a name="a774"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">2</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
791 |
+<li><div class="src-line"><a name="a775"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
792 |
+<li><div class="src-line"><a name="a776"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span><span class="src-sym">;</span></div></li> |
|
793 |
+<li><div class="src-line"><a name="a777"></a> <span class="src-sym">}</span></div></li> |
|
794 |
+<li><div class="src-line"><a name="a778"></a> </div></li> |
|
795 |
+<li><div class="src-line"><a name="a779"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-var">$ptr</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
796 |
+<li><div class="src-line"><a name="a780"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span><span class="src-sym">;</span></div></li> |
|
797 |
+<li><div class="src-line"><a name="a781"></a> </div></li> |
|
798 |
+<li><div class="src-line"><a name="a782"></a> <span class="src-var">$pos </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
799 |
+<li><div class="src-line"><a name="a783"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$allowLooseOpenings">allowLooseOpenings</a><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
800 |
+<li><div class="src-line"><a name="a784"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">' '</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
801 |
+<li><div class="src-line"><a name="a785"></a> <span class="src-var">$pos</span>+=<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
802 |
+<li><div class="src-line"><a name="a786"></a> <span class="src-sym">}</span></div></li> |
|
803 |
+<li><div class="src-line"><a name="a787"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
804 |
+<li><div class="src-line"><a name="a788"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">' ' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">"\r" </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">"\n" </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">"\t"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
805 |
+<li><div class="src-line"><a name="a789"></a> <span class="src-var">$ptr </span>= <span class="src-var">$pos</span><span class="src-sym">;</span></div></li> |
|
806 |
+<li><div class="src-line"><a name="a790"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
807 |
+<li><div class="src-line"><a name="a791"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
808 |
+<li><div class="src-line"><a name="a792"></a> <span class="src-sym">}</span></div></li> |
|
809 |
+<li><div class="src-line"><a name="a793"></a> <span class="src-sym">}</span></div></li> |
|
810 |
+<li><div class="src-line"><a name="a794"></a> </div></li> |
|
811 |
+<li><div class="src-line"><a name="a795"></a> <span class="src-comm">// check that there is an end tag present</span></div></li> |
|
812 |
+<li><div class="src-line"><a name="a796"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
813 |
+<li><div class="src-line"><a name="a797"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'A template tag was not closed, started with "'</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-num">30</span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
814 |
+<li><div class="src-line"><a name="a798"></a> <span class="src-sym">}</span></div></li> |
|
815 |
+<li><div class="src-line"><a name="a799"></a> </div></li> |
|
816 |
+<li><div class="src-line"><a name="a800"></a> </div></li> |
|
817 |
+<li><div class="src-line"><a name="a801"></a> <span class="src-var">$ptr </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
818 |
+<li><div class="src-line"><a name="a802"></a> <span class="src-var">$subptr </span>= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
819 |
+<li><div class="src-line"><a name="a803"></a> </div></li> |
|
820 |
+<li><div class="src-line"><a name="a804"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
821 |
+<li><div class="src-line"><a name="a805"></a> <span class="src-var">$parsed </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$subptr</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'root'</span><span class="src-sym">, </span><span class="src-var">$subptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 822 |
822 |
<li><div class="src-line"><a name="a806"></a> </div></li> |
| 823 |
|
-<li><div class="src-line"><a name="a807"></a> <span class="src-comm">// build plugin preloader</span></div></li> |
| 824 |
|
-<li><div class="src-line"><a name="a808"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$usedPlugins">usedPlugins</a> <span class="src-key">as </span><span class="src-var">$plugin</span>=><span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 825 |
|
-<li><div class="src-line"><a name="a809"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$type </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 826 |
|
-<li><div class="src-line"><a name="a810"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 827 |
|
-<li><div class="src-line"><a name="a811"></a> <span class="src-sym">}</span></div></li> |
| 828 |
|
-<li><div class="src-line"><a name="a812"></a> </div></li> |
| 829 |
|
-<li><div class="src-line"><a name="a813"></a> <span class="src-key">switch</span><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 830 |
|
-<li><div class="src-line"><a name="a814"></a> </div></li> |
| 831 |
|
-<li><div class="src-line"><a name="a815"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN</span>:</div></li> |
| 832 |
|
-<li><div class="src-line"><a name="a816"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span>:</div></li> |
| 833 |
|
-<li><div class="src-line"><a name="a817"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (class_exists('Dwoo_Plugin_<span class="src-var">$plugin</span>', false)===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
| 834 |
|
-<li><div class="src-line"><a name="a818"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 835 |
|
-<li><div class="src-line"><a name="a819"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span>:</div></li> |
| 836 |
|
-<li><div class="src-line"><a name="a820"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('Dwoo_Plugin_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
| 837 |
|
-<li><div class="src-line"><a name="a821"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 838 |
|
-<li><div class="src-line"><a name="a822"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span>:</div></li> |
| 839 |
|
-<li><div class="src-line"><a name="a823"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('smarty_modifier_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
| 840 |
|
-<li><div class="src-line"><a name="a824"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 841 |
|
-<li><div class="src-line"><a name="a825"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION</span>:</div></li> |
| 842 |
|
-<li><div class="src-line"><a name="a826"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('smarty_function_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
| 843 |
|
-<li><div class="src-line"><a name="a827"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 844 |
|
-<li><div class="src-line"><a name="a828"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span>:</div></li> |
| 845 |
|
-<li><div class="src-line"><a name="a829"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('smarty_block_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
| 846 |
|
-<li><div class="src-line"><a name="a830"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 847 |
|
-<li><div class="src-line"><a name="a831"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span>:</div></li> |
| 848 |
|
-<li><div class="src-line"><a name="a832"></a> <span class="src-var">$output </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPreloader</span><span class="src-sym">(</span><span class="src-var">$plugin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 849 |
|
-<li><div class="src-line"><a name="a833"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 850 |
|
-<li><div class="src-line"><a name="a834"></a> <span class="src-key">default</span>:</div></li> |
| 851 |
|
-<li><div class="src-line"><a name="a835"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Type error for '</span>.<span class="src-var">$plugin</span>.<span class="src-str">' with type'</span>.<span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 852 |
|
-<li><div class="src-line"><a name="a836"></a> </div></li> |
| 853 |
|
-<li><div class="src-line"><a name="a837"></a> <span class="src-sym">}</span></div></li> |
| 854 |
|
-<li><div class="src-line"><a name="a838"></a> <span class="src-sym">}</span></div></li> |
| 855 |
|
-<li><div class="src-line"><a name="a839"></a> </div></li> |
| 856 |
|
-<li><div class="src-line"><a name="a840"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> <span class="src-key">as </span><span class="src-var">$function </span>=> <span class="src-var">$attr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 857 |
|
-<li><div class="src-line"><a name="a841"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>=== <span class="src-id">true </span>&& <span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'checked'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 858 |
|
-<li><div class="src-line"><a name="a842"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodresolveSubTemplateDependencies">resolveSubTemplateDependencies</a><span class="src-sym">(</span><span class="src-var">$function</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 859 |
|
-<li><div class="src-line"><a name="a843"></a> <span class="src-sym">}</span></div></li> |
| 860 |
|
-<li><div class="src-line"><a name="a844"></a> <span class="src-sym">}</span></div></li> |
| 861 |
|
-<li><div class="src-line"><a name="a845"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> <span class="src-key">as </span><span class="src-var">$function</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 862 |
|
-<li><div class="src-line"><a name="a846"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$function</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$function</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 863 |
|
-<li><div class="src-line"><a name="a847"></a> <span class="src-var">$output </span>.= <span class="src-var">$function</span><span class="src-sym">[</span><span class="src-str">'body'</span><span class="src-sym">]</span>.<span class="src-id">PHP_EOL</span><span class="src-sym">;</span></div></li> |
| 864 |
|
-<li><div class="src-line"><a name="a848"></a> <span class="src-sym">}</span></div></li> |
| 865 |
|
-<li><div class="src-line"><a name="a849"></a> <span class="src-sym">}</span></div></li> |
| 866 |
|
-<li><div class="src-line"><a name="a850"></a> </div></li> |
| 867 |
|
-<li><div class="src-line"><a name="a851"></a> <span class="src-var">$output </span>.= <span class="src-var">$compiled</span>.<span class="src-str">"\n?>"</span><span class="src-sym">;</span></div></li> |
| 868 |
|
-<li><div class="src-line"><a name="a852"></a> </div></li> |
| 869 |
|
-<li><div class="src-line"><a name="a853"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/(?<!;|\}|\*\/|\n|\{)(\s*'</span>.<a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">) </span>. <a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span>.<span class="src-str">')/'</span><span class="src-sym">, </span><span class="src-str">";\n"</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 870 |
|
-<li><div class="src-line"><a name="a854"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE </span>. <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 871 |
|
-<li><div class="src-line"><a name="a855"></a> </div></li> |
| 872 |
|
-<li><div class="src-line"><a name="a856"></a> <span class="src-comm">// handle <?xml tag at the beginning</span></div></li> |
| 873 |
|
-<li><div class="src-line"><a name="a857"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#(/\* template body \*/ \?>\s*)<\?xml#is'</span><span class="src-sym">, </span><span class="src-str">'$1<?php echo \'<?xml\'; ?>'</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 874 |
|
-<li><div class="src-line"><a name="a858"></a> </div></li> |
| 875 |
|
-<li><div class="src-line"><a name="a859"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 876 |
|
-<li><div class="src-line"><a name="a860"></a> echo <span class="src-str">'<hr><pre>'</span><span class="src-sym">;</span></div></li> |
| 877 |
|
-<li><div class="src-line"><a name="a861"></a> <span class="src-var">$lines </span>= <a href="http://www.php.net/preg_split">preg_split</a><span class="src-sym">(</span><span class="src-str">'{\r\n|\n|<br />}'</span><span class="src-sym">, </span><a href="http://www.php.net/highlight_string">highlight_string</a><span class="src-sym">((</span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 878 |
|
-<li><div class="src-line"><a name="a862"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$lines</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 879 |
|
-<li><div class="src-line"><a name="a863"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$lines </span><span class="src-key">as </span><span class="src-var">$i</span>=><span class="src-var">$line</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 880 |
|
-<li><div class="src-line"><a name="a864"></a> echo <span class="src-sym">(</span><span class="src-var">$i</span>+<span class="src-num">1</span><span class="src-sym">)</span>.<span class="src-str">'. '</span>.<span class="src-var">$line</span>.<span class="src-str">"\r\n"</span><span class="src-sym">;</span></div></li> |
| 881 |
|
-<li><div class="src-line"><a name="a865"></a> <span class="src-sym">}</span></div></li> |
| 882 |
|
-<li><div class="src-line"><a name="a866"></a> <span class="src-sym">}</span></div></li> |
| 883 |
|
-<li><div class="src-line"><a name="a867"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'<hr></pre></pre>'</span><span class="src-sym">;</span></div></li> |
| 884 |
|
-<li><div class="src-line"><a name="a868"></a> </div></li> |
| 885 |
|
-<li><div class="src-line"><a name="a869"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$template">template</a> = <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 886 |
|
-<li><div class="src-line"><a name="a870"></a> <span class="src-var">$tpl </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 887 |
|
-<li><div class="src-line"><a name="a871"></a> </div></li> |
| 888 |
|
-<li><div class="src-line"><a name="a872"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 889 |
|
-<li><div class="src-line"><a name="a873"></a> <span class="src-sym">}</span></div></li> |
| 890 |
|
-<li><div class="src-line"><a name="a874"></a> </div></li> |
| 891 |
|
-<li><div class="src-line"><a name="a875"></a> <span class="src-doc">/**</span></div></li> |
| 892 |
|
-<li><div class="src-line"><a name="a876"></a><span class="src-doc"> * checks what sub-templates are used in every sub-template so that we're sure they are all compiled</span></div></li> |
| 893 |
|
-<li><div class="src-line"><a name="a877"></a><span class="src-doc"> *</span></div></li> |
| 894 |
|
-<li><div class="src-line"><a name="a878"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$function </span><span class="src-doc">the sub-template name</span></div></li> |
| 895 |
|
-<li><div class="src-line"><a name="a879"></a><span class="src-doc"> */</span></div></li> |
| 896 |
|
-<li><div class="src-line"><a name="a880"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodresolveSubTemplateDependencies">resolveSubTemplateDependencies</a><span class="src-sym">(</span><span class="src-var">$function</span><span class="src-sym">)</span></div></li> |
| 897 |
|
-<li><div class="src-line"><a name="a881"></a> <span class="src-sym">{</span></div></li> |
| 898 |
|
-<li><div class="src-line"><a name="a882"></a> <span class="src-var">$body </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$function</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'body'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 899 |
|
-<li><div class="src-line"><a name="a883"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> <span class="src-key">as </span><span class="src-var">$func </span>=> <span class="src-var">$attr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 900 |
|
-<li><div class="src-line"><a name="a884"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>!== <span class="src-var">$function </span>&& <span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$body</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 901 |
|
-<li><div class="src-line"><a name="a885"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 902 |
|
-<li><div class="src-line"><a name="a886"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodresolveSubTemplateDependencies">resolveSubTemplateDependencies</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 903 |
|
-<li><div class="src-line"><a name="a887"></a> <span class="src-sym">}</span></div></li> |
| 904 |
|
-<li><div class="src-line"><a name="a888"></a> <span class="src-sym">}</span></div></li> |
| 905 |
|
-<li><div class="src-line"><a name="a889"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$function</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'checked'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 906 |
|
-<li><div class="src-line"><a name="a890"></a> <span class="src-sym">}</span></div></li> |
| 907 |
|
-<li><div class="src-line"><a name="a891"></a> </div></li> |
| 908 |
|
-<li><div class="src-line"><a name="a892"></a> <span class="src-doc">/**</span></div></li> |
| 909 |
|
-<li><div class="src-line"><a name="a893"></a><span class="src-doc"> * adds compiled content to the current block</span></div></li> |
| 910 |
|
-<li><div class="src-line"><a name="a894"></a><span class="src-doc"> *</span></div></li> |
| 911 |
|
-<li><div class="src-line"><a name="a895"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$content </span><span class="src-doc">the content to push</span></div></li> |
| 912 |
|
-<li><div class="src-line"><a name="a896"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$lineCount </span><span class="src-doc">newlines count in content, optional</span></div></li> |
| 913 |
|
-<li><div class="src-line"><a name="a897"></a><span class="src-doc"> */</span></div></li> |
| 914 |
|
-<li><div class="src-line"><a name="a898"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$content</span><span class="src-sym">, </span><span class="src-var">$lineCount </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 915 |
|
-<li><div class="src-line"><a name="a899"></a> <span class="src-sym">{</span></div></li> |
| 916 |
|
-<li><div class="src-line"><a name="a900"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lineCount </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 917 |
|
-<li><div class="src-line"><a name="a901"></a> <span class="src-var">$lineCount </span>= <a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><span class="src-var">$content</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 918 |
|
-<li><div class="src-line"><a name="a902"></a> <span class="src-sym">}</span></div></li> |
| 919 |
|
-<li><div class="src-line"><a name="a903"></a> </div></li> |
| 920 |
|
-<li><div class="src-line"><a name="a904"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>=== <span class="src-id">null </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">) </span>> <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 921 |
|
-<li><div class="src-line"><a name="a905"></a> <span class="src-comm">// buffer is not initialized yet (the block has just been created)</span></div></li> |
| 922 |
|
-<li><div class="src-line"><a name="a906"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">)</span>-<span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>.= (string) <span class="src-var">$content</span><span class="src-sym">;</span></div></li> |
| 923 |
|
-<li><div class="src-line"><a name="a907"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 924 |
|
-<li><div class="src-line"><a name="a908"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 925 |
|
-<li><div class="src-line"><a name="a909"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 926 |
|
-<li><div class="src-line"><a name="a910"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The template has been closed too early, you probably have an extra block-closing tag somewhere'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 927 |
|
-<li><div class="src-line"><a name="a911"></a> <span class="src-sym">}</span></div></li> |
| 928 |
|
-<li><div class="src-line"><a name="a912"></a> <span class="src-comm">// append current content to current block's buffer</span></div></li> |
| 929 |
|
-<li><div class="src-line"><a name="a913"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>.= (string) <span class="src-var">$content</span><span class="src-sym">;</span></div></li> |
| 930 |
|
-<li><div class="src-line"><a name="a914"></a> <span class="src-sym">}</span></div></li> |
| 931 |
|
-<li><div class="src-line"><a name="a915"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> += <span class="src-var">$lineCount</span><span class="src-sym">;</span></div></li> |
| 932 |
|
-<li><div class="src-line"><a name="a916"></a> <span class="src-sym">}</span></div></li> |
| 933 |
|
-<li><div class="src-line"><a name="a917"></a> </div></li> |
| 934 |
|
-<li><div class="src-line"><a name="a918"></a> <span class="src-doc">/**</span></div></li> |
| 935 |
|
-<li><div class="src-line"><a name="a919"></a><span class="src-doc"> * sets the scope</span></div></li> |
| 936 |
|
-<li><div class="src-line"><a name="a920"></a><span class="src-doc"> *</span></div></li> |
| 937 |
|
-<li><div class="src-line"><a name="a921"></a><span class="src-doc"> * set to null if the scope becomes "unstable" (i.e. too variable or unknown) so that</span></div></li> |
| 938 |
|
-<li><div class="src-line"><a name="a922"></a><span class="src-doc"> * variables are compiled in a more evaluative way than just $this->scope['key']</span></div></li> |
| 939 |
|
-<li><div class="src-line"><a name="a923"></a><span class="src-doc"> *</span></div></li> |
| 940 |
|
-<li><div class="src-line"><a name="a924"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$scope </span><span class="src-doc">a string i.e. "level1.level2" or an array i.e. array("level1", "level2")</span></div></li> |
| 941 |
|
-<li><div class="src-line"><a name="a925"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$absolute </span><span class="src-doc">if true, the scope is set from the top level scope and not from the current scope</span></div></li> |
| 942 |
|
-<li><div class="src-line"><a name="a926"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">the current scope tree</span></div></li> |
| 943 |
|
-<li><div class="src-line"><a name="a927"></a><span class="src-doc"> */</span></div></li> |
| 944 |
|
-<li><div class="src-line"><a name="a928"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetScope">setScope</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-var">$absolute </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 945 |
|
-<li><div class="src-line"><a name="a929"></a> <span class="src-sym">{</span></div></li> |
| 946 |
|
-<li><div class="src-line"><a name="a930"></a> <span class="src-var">$old </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">;</span></div></li> |
| 947 |
|
-<li><div class="src-line"><a name="a931"></a> </div></li> |
| 948 |
|
-<li><div class="src-line"><a name="a932"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$scope</span>===<span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 949 |
|
-<li><div class="src-line"><a name="a933"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 950 |
|
-<li><div class="src-line"><a name="a934"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
823 |
+<li><div class="src-line"><a name="a807"></a> <span class="src-comm">// reload loop if the compiler was reset</span></div></li> |
|
824 |
+<li><div class="src-line"><a name="a808"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
825 |
+<li><div class="src-line"><a name="a809"></a> <span class="src-key">continue </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
826 |
+<li><div class="src-line"><a name="a810"></a> <span class="src-sym">}</span></div></li> |
|
827 |
+<li><div class="src-line"><a name="a811"></a> </div></li> |
|
828 |
+<li><div class="src-line"><a name="a812"></a> <span class="src-var">$len </span>= <span class="src-var">$subptr </span>- <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
829 |
+<li><div class="src-line"><a name="a813"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$parsed</span><span class="src-sym">, </span><a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-var">$len</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
830 |
+<li><div class="src-line"><a name="a814"></a> <span class="src-var">$ptr </span>+= <span class="src-var">$len</span><span class="src-sym">;</span></div></li> |
|
831 |
+<li><div class="src-line"><a name="a815"></a> </div></li> |
|
832 |
+<li><div class="src-line"><a name="a816"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$parsed </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
833 |
+<li><div class="src-line"><a name="a817"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
834 |
+<li><div class="src-line"><a name="a818"></a> <span class="src-sym">}</span></div></li> |
|
835 |
+<li><div class="src-line"><a name="a819"></a> <span class="src-sym">}</span></div></li> |
|
836 |
+<li><div class="src-line"><a name="a820"></a> </div></li> |
|
837 |
+<li><div class="src-line"><a name="a821"></a> <span class="src-comm">// adds additional line breaks between php closing and opening tags because the php parser removes those if there is just a single line break</span></div></li> |
|
838 |
+<li><div class="src-line"><a name="a822"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">, </span>-<span class="src-num">2</span><span class="src-sym">) </span>=== <span class="src-str">'?>' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'{^(([\r\n])([\r\n]?))}'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$tpl</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
839 |
+<li><div class="src-line"><a name="a823"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">] </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
840 |
+<li><div class="src-line"><a name="a824"></a> <span class="src-var">$ptr</span>+=<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
841 |
+<li><div class="src-line"><a name="a825"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
842 |
+<li><div class="src-line"><a name="a826"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
843 |
+<li><div class="src-line"><a name="a827"></a> <span class="src-var">$ptr</span>+=<span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
844 |
+<li><div class="src-line"><a name="a828"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
845 |
+<li><div class="src-line"><a name="a829"></a> <span class="src-sym">}</span></div></li> |
|
846 |
+<li><div class="src-line"><a name="a830"></a> <span class="src-sym">}</span></div></li> |
|
847 |
+<li><div class="src-line"><a name="a831"></a> <span class="src-sym">}</span></div></li> |
|
848 |
+<li><div class="src-line"><a name="a832"></a> <span class="src-sym">}</span></div></li> |
|
849 |
+<li><div class="src-line"><a name="a833"></a> </div></li> |
|
850 |
+<li><div class="src-line"><a name="a834"></a> <span class="src-var">$compiled </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveBlock">removeBlock</a><span class="src-sym">(</span><span class="src-str">'topLevelBlock'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
851 |
+<li><div class="src-line"><a name="a835"></a> </div></li> |
|
852 |
+<li><div class="src-line"><a name="a836"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'PROCESSING POSTPROCESSORS<br>'</span><span class="src-sym">;</span></div></li> |
|
853 |
+<li><div class="src-line"><a name="a837"></a> </div></li> |
|
854 |
+<li><div class="src-line"><a name="a838"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$processors">processors</a><span class="src-sym">[</span><span class="src-str">'post'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$postProc</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
855 |
+<li><div class="src-line"><a name="a839"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">) </span>&& isset<span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-str">'autoload'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
856 |
+<li><div class="src-line"><a name="a840"></a> <span class="src-var">$postProc </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadProcessor">loadProcessor</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-str">'name'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
857 |
+<li><div class="src-line"><a name="a841"></a> <span class="src-sym">}</span></div></li> |
|
858 |
+<li><div class="src-line"><a name="a842"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">) </span>&& <span class="src-var">$postProc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>instanceof <span class="src-id"><a href="../Dwoo/Dwoo_Processor.html">Dwoo_Processor</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
859 |
+<li><div class="src-line"><a name="a843"></a> <span class="src-var">$compiled </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">, </span><span class="src-var">$compiled</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
860 |
+<li><div class="src-line"><a name="a844"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
861 |
+<li><div class="src-line"><a name="a845"></a> <span class="src-var">$compiled </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$compiled</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
862 |
+<li><div class="src-line"><a name="a846"></a> <span class="src-sym">}</span></div></li> |
|
863 |
+<li><div class="src-line"><a name="a847"></a> <span class="src-sym">}</span></div></li> |
|
864 |
+<li><div class="src-line"><a name="a848"></a> unset<span class="src-sym">(</span><span class="src-var">$postProc</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
865 |
+<li><div class="src-line"><a name="a849"></a> </div></li> |
|
866 |
+<li><div class="src-line"><a name="a850"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'COMPILATION COMPLETE : MEM USAGE : '</span>.<a href="http://www.php.net/memory_get_usage">memory_get_usage</a><span class="src-sym">(</span><span class="src-sym">)</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
|
867 |
+<li><div class="src-line"><a name="a851"></a> </div></li> |
|
868 |
+<li><div class="src-line"><a name="a852"></a> <span class="src-var">$output </span>= <span class="src-str">"<?php\n/* template head */\n"</span><span class="src-sym">;</span></div></li> |
|
869 |
+<li><div class="src-line"><a name="a853"></a> </div></li> |
|
870 |
+<li><div class="src-line"><a name="a854"></a> <span class="src-comm">// build plugin preloader</span></div></li> |
|
871 |
+<li><div class="src-line"><a name="a855"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$usedPlugins">usedPlugins</a> <span class="src-key">as </span><span class="src-var">$plugin</span>=><span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
872 |
+<li><div class="src-line"><a name="a856"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$type </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
873 |
+<li><div class="src-line"><a name="a857"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
874 |
+<li><div class="src-line"><a name="a858"></a> <span class="src-sym">}</span></div></li> |
|
875 |
+<li><div class="src-line"><a name="a859"></a> </div></li> |
|
876 |
+<li><div class="src-line"><a name="a860"></a> <span class="src-key">switch</span><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
877 |
+<li><div class="src-line"><a name="a861"></a> </div></li> |
|
878 |
+<li><div class="src-line"><a name="a862"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN</span>:</div></li> |
|
879 |
+<li><div class="src-line"><a name="a863"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span>:</div></li> |
|
880 |
+<li><div class="src-line"><a name="a864"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (class_exists('Dwoo_Plugin_<span class="src-var">$plugin</span>', false)===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
|
881 |
+<li><div class="src-line"><a name="a865"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
882 |
+<li><div class="src-line"><a name="a866"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span>:</div></li> |
|
883 |
+<li><div class="src-line"><a name="a867"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('Dwoo_Plugin_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
|
884 |
+<li><div class="src-line"><a name="a868"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
885 |
+<li><div class="src-line"><a name="a869"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span>:</div></li> |
|
886 |
+<li><div class="src-line"><a name="a870"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('smarty_modifier_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
|
887 |
+<li><div class="src-line"><a name="a871"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
888 |
+<li><div class="src-line"><a name="a872"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION</span>:</div></li> |
|
889 |
+<li><div class="src-line"><a name="a873"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('smarty_function_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
|
890 |
+<li><div class="src-line"><a name="a874"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
891 |
+<li><div class="src-line"><a name="a875"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span>:</div></li> |
|
892 |
+<li><div class="src-line"><a name="a876"></a> <span class="src-var">$output </span>.= <span class="src-str">"</span><span class="src-str">if (function_exists('smarty_block_<span class="src-var">$plugin</span>')===false)\n\t\$this->getLoader()->loadPlugin('<span class="src-var">$plugin</span>');\n</span><span class="src-str">"</span><span class="src-sym">;</span></div></li> |
|
893 |
+<li><div class="src-line"><a name="a877"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
894 |
+<li><div class="src-line"><a name="a878"></a> <span class="src-key">case </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span>:</div></li> |
|
895 |
+<li><div class="src-line"><a name="a879"></a> <span class="src-var">$output </span>.= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPreloader</span><span class="src-sym">(</span><span class="src-var">$plugin</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
896 |
+<li><div class="src-line"><a name="a880"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
897 |
+<li><div class="src-line"><a name="a881"></a> <span class="src-key">default</span>:</div></li> |
|
898 |
+<li><div class="src-line"><a name="a882"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Type error for '</span>.<span class="src-var">$plugin</span>.<span class="src-str">' with type'</span>.<span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
899 |
+<li><div class="src-line"><a name="a883"></a> </div></li> |
|
900 |
+<li><div class="src-line"><a name="a884"></a> <span class="src-sym">}</span></div></li> |
|
901 |
+<li><div class="src-line"><a name="a885"></a> <span class="src-sym">}</span></div></li> |
|
902 |
+<li><div class="src-line"><a name="a886"></a> </div></li> |
|
903 |
+<li><div class="src-line"><a name="a887"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> <span class="src-key">as </span><span class="src-var">$function </span>=> <span class="src-var">$attr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
904 |
+<li><div class="src-line"><a name="a888"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>=== <span class="src-id">true </span>&& <span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'checked'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
905 |
+<li><div class="src-line"><a name="a889"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodresolveSubTemplateDependencies">resolveSubTemplateDependencies</a><span class="src-sym">(</span><span class="src-var">$function</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
906 |
+<li><div class="src-line"><a name="a890"></a> <span class="src-sym">}</span></div></li> |
|
907 |
+<li><div class="src-line"><a name="a891"></a> <span class="src-sym">}</span></div></li> |
|
908 |
+<li><div class="src-line"><a name="a892"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> <span class="src-key">as </span><span class="src-var">$function</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
909 |
+<li><div class="src-line"><a name="a893"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$function</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$function</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
910 |
+<li><div class="src-line"><a name="a894"></a> <span class="src-var">$output </span>.= <span class="src-var">$function</span><span class="src-sym">[</span><span class="src-str">'body'</span><span class="src-sym">]</span>.<span class="src-id">PHP_EOL</span><span class="src-sym">;</span></div></li> |
|
911 |
+<li><div class="src-line"><a name="a895"></a> <span class="src-sym">}</span></div></li> |
|
912 |
+<li><div class="src-line"><a name="a896"></a> <span class="src-sym">}</span></div></li> |
|
913 |
+<li><div class="src-line"><a name="a897"></a> </div></li> |
|
914 |
+<li><div class="src-line"><a name="a898"></a> <span class="src-var">$output </span>.= <span class="src-var">$compiled</span>.<span class="src-str">"\n?>"</span><span class="src-sym">;</span></div></li> |
|
915 |
+<li><div class="src-line"><a name="a899"></a> </div></li> |
|
916 |
+<li><div class="src-line"><a name="a900"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/(?<!;|\}|\*\/|\n|\{)(\s*'</span>.<a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">) </span>. <a href="http://www.php.net/preg_quote">preg_quote</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">)</span>.<span class="src-str">')/'</span><span class="src-sym">, </span><span class="src-str">";\n"</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
917 |
+<li><div class="src-line"><a name="a901"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE </span>. <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
918 |
+<li><div class="src-line"><a name="a902"></a> </div></li> |
|
919 |
+<li><div class="src-line"><a name="a903"></a> <span class="src-comm">// handle <?xml tag at the beginning</span></div></li> |
|
920 |
+<li><div class="src-line"><a name="a904"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#(/\* template body \*/ \?>\s*)<\?xml#is'</span><span class="src-sym">, </span><span class="src-str">'$1<?php echo \'<?xml\'; ?>'</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
921 |
+<li><div class="src-line"><a name="a905"></a> </div></li> |
|
922 |
+<li><div class="src-line"><a name="a906"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
923 |
+<li><div class="src-line"><a name="a907"></a> echo <span class="src-str">'<hr><pre>'</span><span class="src-sym">;</span></div></li> |
|
924 |
+<li><div class="src-line"><a name="a908"></a> <span class="src-var">$lines </span>= <a href="http://www.php.net/preg_split">preg_split</a><span class="src-sym">(</span><span class="src-str">'{\r\n|\n|<br />}'</span><span class="src-sym">, </span><a href="http://www.php.net/highlight_string">highlight_string</a><span class="src-sym">((</span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
925 |
+<li><div class="src-line"><a name="a909"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$lines</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
926 |
+<li><div class="src-line"><a name="a910"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$lines </span><span class="src-key">as </span><span class="src-var">$i</span>=><span class="src-var">$line</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
927 |
+<li><div class="src-line"><a name="a911"></a> echo <span class="src-sym">(</span><span class="src-var">$i</span>+<span class="src-num">1</span><span class="src-sym">)</span>.<span class="src-str">'. '</span>.<span class="src-var">$line</span>.<span class="src-str">"\r\n"</span><span class="src-sym">;</span></div></li> |
|
928 |
+<li><div class="src-line"><a name="a912"></a> <span class="src-sym">}</span></div></li> |
|
929 |
+<li><div class="src-line"><a name="a913"></a> <span class="src-sym">}</span></div></li> |
|
930 |
+<li><div class="src-line"><a name="a914"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a><span class="src-sym">) </span>echo <span class="src-str">'<hr></pre></pre>'</span><span class="src-sym">;</span></div></li> |
|
931 |
+<li><div class="src-line"><a name="a915"></a> </div></li> |
|
932 |
+<li><div class="src-line"><a name="a916"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$template">template</a> = <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
933 |
+<li><div class="src-line"><a name="a917"></a> <span class="src-var">$tpl </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
934 |
+<li><div class="src-line"><a name="a918"></a> </div></li> |
|
935 |
+<li><div class="src-line"><a name="a919"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
936 |
+<li><div class="src-line"><a name="a920"></a> <span class="src-sym">}</span></div></li> |
|
937 |
+<li><div class="src-line"><a name="a921"></a> </div></li> |
|
938 |
+<li><div class="src-line"><a name="a922"></a> <span class="src-doc">/**</span></div></li> |
|
939 |
+<li><div class="src-line"><a name="a923"></a><span class="src-doc"> * checks what sub-templates are used in every sub-template so that we're sure they are all compiled</span></div></li> |
|
940 |
+<li><div class="src-line"><a name="a924"></a><span class="src-doc"> *</span></div></li> |
|
941 |
+<li><div class="src-line"><a name="a925"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$function </span><span class="src-doc">the sub-template name</span></div></li> |
|
942 |
+<li><div class="src-line"><a name="a926"></a><span class="src-doc"> */</span></div></li> |
|
943 |
+<li><div class="src-line"><a name="a927"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodresolveSubTemplateDependencies">resolveSubTemplateDependencies</a><span class="src-sym">(</span><span class="src-var">$function</span><span class="src-sym">)</span></div></li> |
|
944 |
+<li><div class="src-line"><a name="a928"></a> <span class="src-sym">{</span></div></li> |
|
945 |
+<li><div class="src-line"><a name="a929"></a> <span class="src-var">$body </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$function</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'body'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
946 |
+<li><div class="src-line"><a name="a930"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a> <span class="src-key">as </span><span class="src-var">$func </span>=> <span class="src-var">$attr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
947 |
+<li><div class="src-line"><a name="a931"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>!== <span class="src-var">$function </span>&& <span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$attr</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$body</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
948 |
+<li><div class="src-line"><a name="a932"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
949 |
+<li><div class="src-line"><a name="a933"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodresolveSubTemplateDependencies">resolveSubTemplateDependencies</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
950 |
+<li><div class="src-line"><a name="a934"></a> <span class="src-sym">}</span></div></li> |
| 951 |
951 |
<li><div class="src-line"><a name="a935"></a> <span class="src-sym">}</span></div></li> |
| 952 |
|
-<li><div class="src-line"><a name="a936"></a> </div></li> |
| 953 |
|
-<li><div class="src-line"><a name="a937"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)</span>===<span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 954 |
|
-<li><div class="src-line"><a name="a938"></a> <span class="src-var">$scope </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 955 |
|
-<li><div class="src-line"><a name="a939"></a> <span class="src-sym">}</span></div></li> |
| 956 |
|
-<li><div class="src-line"><a name="a940"></a> </div></li> |
| 957 |
|
-<li><div class="src-line"><a name="a941"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$absolute</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 958 |
|
-<li><div class="src-line"><a name="a942"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
| 959 |
|
-<li><div class="src-line"><a name="a943"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 960 |
|
-<li><div class="src-line"><a name="a944"></a> <span class="src-sym">}</span></div></li> |
| 961 |
|
-<li><div class="src-line"><a name="a945"></a> </div></li> |
| 962 |
|
-<li><div class="src-line"><a name="a946"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$bit </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 963 |
|
-<li><div class="src-line"><a name="a947"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'_parent' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'_'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 964 |
|
-<li><div class="src-line"><a name="a948"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 965 |
|
-<li><div class="src-line"><a name="a949"></a> <a href="http://www.php.net/reset">reset</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 966 |
|
-<li><div class="src-line"><a name="a950"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
| 967 |
|
-<li><div class="src-line"><a name="a951"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 968 |
|
-<li><div class="src-line"><a name="a952"></a> <span class="src-key">for </span><span class="src-sym">(</span><span class="src-var">$i</span>=<span class="src-num">0</span><span class="src-sym">;</span><span class="src-var">$i</span><<span class="src-var">$cnt</span><span class="src-sym">;</span><span class="src-var">$i</span>++<span class="src-sym">)</span></div></li> |
| 969 |
|
-<li><div class="src-line"><a name="a953"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
| 970 |
|
-<li><div class="src-line"><a name="a954"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'_root' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'__'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 971 |
|
-<li><div class="src-line"><a name="a955"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
| 972 |
|
-<li><div class="src-line"><a name="a956"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 973 |
|
-<li><div class="src-line"><a name="a957"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 974 |
|
-<li><div class="src-line"><a name="a958"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 975 |
|
-<li><div class="src-line"><a name="a959"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$bit</span><span class="src-sym">;</span></div></li> |
| 976 |
|
-<li><div class="src-line"><a name="a960"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 977 |
|
-<li><div class="src-line"><a name="a961"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 978 |
|
-<li><div class="src-line"><a name="a962"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 979 |
|
-<li><div class="src-line"><a name="a963"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$bit</span><span class="src-sym">;</span></div></li> |
| 980 |
|
-<li><div class="src-line"><a name="a964"></a> <span class="src-sym">}</span></div></li> |
| 981 |
|
-<li><div class="src-line"><a name="a965"></a> <span class="src-sym">}</span></div></li> |
| 982 |
|
-<li><div class="src-line"><a name="a966"></a> </div></li> |
| 983 |
|
-<li><div class="src-line"><a name="a967"></a> <span class="src-key">return </span><span class="src-var">$old</span><span class="src-sym">;</span></div></li> |
| 984 |
|
-<li><div class="src-line"><a name="a968"></a> <span class="src-sym">}</span></div></li> |
| 985 |
|
-<li><div class="src-line"><a name="a969"></a> </div></li> |
| 986 |
|
-<li><div class="src-line"><a name="a970"></a> <span class="src-doc">/**</span></div></li> |
| 987 |
|
-<li><div class="src-line"><a name="a971"></a><span class="src-doc"> * adds a block to the top of the block stack</span></div></li> |
| 988 |
|
-<li><div class="src-line"><a name="a972"></a><span class="src-doc"> *</span></div></li> |
| 989 |
|
-<li><div class="src-line"><a name="a973"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
| 990 |
|
-<li><div class="src-line"><a name="a974"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the parameters array</span></div></li> |
| 991 |
|
-<li><div class="src-line"><a name="a975"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$paramtype </span><span class="src-doc">the parameters type (see mapParams), 0, 1 or 2</span></div></li> |
| 992 |
|
-<li><div class="src-line"><a name="a976"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the preProcessing() method's output</span></div></li> |
| 993 |
|
-<li><div class="src-line"><a name="a977"></a><span class="src-doc"> */</span></div></li> |
| 994 |
|
-<li><div class="src-line"><a name="a978"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span></div></li> |
| 995 |
|
-<li><div class="src-line"><a name="a979"></a> <span class="src-sym">{</span></div></li> |
| 996 |
|
-<li><div class="src-line"><a name="a980"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$type</span><span class="src-sym">;</span></div></li> |
| 997 |
|
-<li><div class="src-line"><a name="a981"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">class_exists</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 998 |
|
-<li><div class="src-line"><a name="a982"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 999 |
|
-<li><div class="src-line"><a name="a983"></a> <span class="src-sym">}</span></div></li> |
| 1000 |
|
-<li><div class="src-line"><a name="a984"></a> </div></li> |
| 1001 |
|
-<li><div class="src-line"><a name="a985"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">mapParams</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1002 |
|
-<li><div class="src-line"><a name="a986"></a> </div></li> |
| 1003 |
|
-<li><div class="src-line"><a name="a987"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">stack</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type' </span>=> <span class="src-var">$type</span><span class="src-sym">, </span><span class="src-str">'params' </span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'custom' </span>=> <span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'class' </span>=> <span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'buffer' </span>=> <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1004 |
|
-<li><div class="src-line"><a name="a988"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">curBlock </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">stack</span><span class="src-sym">[</span><span class="src-id">count</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">stack</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1005 |
|
-<li><div class="src-line"><a name="a989"></a> <span class="src-key">return </span><span class="src-id">call_user_func</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">,</span><span class="src-str">'preProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1006 |
|
-<li><div class="src-line"><a name="a990"></a> <span class="src-sym">}</span></div></li> |
| 1007 |
|
-<li><div class="src-line"><a name="a991"></a> </div></li> |
| 1008 |
|
-<li><div class="src-line"><a name="a992"></a> <span class="src-doc">/**</span></div></li> |
| 1009 |
|
-<li><div class="src-line"><a name="a993"></a><span class="src-doc"> * adds a custom block to the top of the block stack</span></div></li> |
| 1010 |
|
-<li><div class="src-line"><a name="a994"></a><span class="src-doc"> *</span></div></li> |
| 1011 |
|
-<li><div class="src-line"><a name="a995"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
| 1012 |
|
-<li><div class="src-line"><a name="a996"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the parameters array</span></div></li> |
| 1013 |
|
-<li><div class="src-line"><a name="a997"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$paramtype </span><span class="src-doc">the parameters type (see mapParams), 0, 1 or 2</span></div></li> |
| 1014 |
|
-<li><div class="src-line"><a name="a998"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the preProcessing() method's output</span></div></li> |
| 1015 |
|
-<li><div class="src-line"><a name="a999"></a><span class="src-doc"> */</span></div></li> |
| 1016 |
|
-<li><div class="src-line"><a name="a1000"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddCustomBlock">addCustomBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span></div></li> |
| 1017 |
|
-<li><div class="src-line"><a name="a1001"></a> <span class="src-sym">{</span></div></li> |
| 1018 |
|
-<li><div class="src-line"><a name="a1002"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">customPlugins</span><span class="src-sym">[</span><span class="src-var">$type</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1019 |
|
-<li><div class="src-line"><a name="a1003"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">is_array</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1020 |
|
-<li><div class="src-line"><a name="a1004"></a> <span class="src-var">$class </span>= <a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1021 |
|
-<li><div class="src-line"><a name="a1005"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1022 |
|
-<li><div class="src-line"><a name="a1006"></a> <span class="src-var">$class </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 1023 |
|
-<li><div class="src-line"><a name="a1007"></a> <span class="src-sym">}</span></div></li> |
| 1024 |
|
-<li><div class="src-line"><a name="a1008"></a> </div></li> |
| 1025 |
|
-<li><div class="src-line"><a name="a1009"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1026 |
|
-<li><div class="src-line"><a name="a1010"></a> </div></li> |
| 1027 |
|
-<li><div class="src-line"><a name="a1011"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type' </span>=> <span class="src-var">$type</span><span class="src-sym">, </span><span class="src-str">'params' </span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'custom' </span>=> <span class="src-id">true</span><span class="src-sym">, </span><span class="src-str">'class' </span>=> <span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'buffer' </span>=> <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1028 |
|
-<li><div class="src-line"><a name="a1012"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1029 |
|
-<li><div class="src-line"><a name="a1013"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">,</span><span class="src-str">'preProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1030 |
|
-<li><div class="src-line"><a name="a1014"></a> <span class="src-sym">}</span></div></li> |
| 1031 |
|
-<li><div class="src-line"><a name="a1015"></a> </div></li> |
| 1032 |
|
-<li><div class="src-line"><a name="a1016"></a> <span class="src-doc">/**</span></div></li> |
| 1033 |
|
-<li><div class="src-line"><a name="a1017"></a><span class="src-doc"> * injects a block at the top of the plugin stack without calling its preProcessing method</span></div></li> |
| 1034 |
|
-<li><div class="src-line"><a name="a1018"></a><span class="src-doc"> *</span></div></li> |
| 1035 |
|
-<li><div class="src-line"><a name="a1019"></a><span class="src-doc"> * used by {else} blocks to re-add themselves after having closed everything up to their parent</span></div></li> |
| 1036 |
|
-<li><div class="src-line"><a name="a1020"></a><span class="src-doc"> *</span></div></li> |
| 1037 |
|
-<li><div class="src-line"><a name="a1021"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
| 1038 |
|
-<li><div class="src-line"><a name="a1022"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameters array</span></div></li> |
| 1039 |
|
-<li><div class="src-line"><a name="a1023"></a><span class="src-doc"> */</span></div></li> |
| 1040 |
|
-<li><div class="src-line"><a name="a1024"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodinjectBlock">injectBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
| 1041 |
|
-<li><div class="src-line"><a name="a1025"></a> <span class="src-sym">{</span></div></li> |
| 1042 |
|
-<li><div class="src-line"><a name="a1026"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$type</span><span class="src-sym">;</span></div></li> |
| 1043 |
|
-<li><div class="src-line"><a name="a1027"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">class_exists</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1044 |
|
-<li><div class="src-line"><a name="a1028"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getLoader</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadPlugin">loadPlugin</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1045 |
|
-<li><div class="src-line"><a name="a1029"></a> <span class="src-sym">}</span></div></li> |
| 1046 |
|
-<li><div class="src-line"><a name="a1030"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type' </span>=> <span class="src-var">$type</span><span class="src-sym">, </span><span class="src-str">'params' </span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'custom' </span>=> <span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'class' </span>=> <span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'buffer' </span>=> <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1047 |
|
-<li><div class="src-line"><a name="a1031"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1048 |
|
-<li><div class="src-line"><a name="a1032"></a> <span class="src-sym">}</span></div></li> |
|
952 |
+<li><div class="src-line"><a name="a936"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a><span class="src-sym">[</span><span class="src-var">$function</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'checked'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
953 |
+<li><div class="src-line"><a name="a937"></a> <span class="src-sym">}</span></div></li> |
|
954 |
+<li><div class="src-line"><a name="a938"></a> </div></li> |
|
955 |
+<li><div class="src-line"><a name="a939"></a> <span class="src-doc">/**</span></div></li> |
|
956 |
+<li><div class="src-line"><a name="a940"></a><span class="src-doc"> * adds compiled content to the current block</span></div></li> |
|
957 |
+<li><div class="src-line"><a name="a941"></a><span class="src-doc"> *</span></div></li> |
|
958 |
+<li><div class="src-line"><a name="a942"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$content </span><span class="src-doc">the content to push</span></div></li> |
|
959 |
+<li><div class="src-line"><a name="a943"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$lineCount </span><span class="src-doc">newlines count in content, optional</span></div></li> |
|
960 |
+<li><div class="src-line"><a name="a944"></a><span class="src-doc"> */</span></div></li> |
|
961 |
+<li><div class="src-line"><a name="a945"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$content</span><span class="src-sym">, </span><span class="src-var">$lineCount </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
962 |
+<li><div class="src-line"><a name="a946"></a> <span class="src-sym">{</span></div></li> |
|
963 |
+<li><div class="src-line"><a name="a947"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$lineCount </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
964 |
+<li><div class="src-line"><a name="a948"></a> <span class="src-var">$lineCount </span>= <a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><span class="src-var">$content</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
965 |
+<li><div class="src-line"><a name="a949"></a> <span class="src-sym">}</span></div></li> |
|
966 |
+<li><div class="src-line"><a name="a950"></a> </div></li> |
|
967 |
+<li><div class="src-line"><a name="a951"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>=== <span class="src-id">null </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">) </span>> <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
968 |
+<li><div class="src-line"><a name="a952"></a> <span class="src-comm">// buffer is not initialized yet (the block has just been created)</span></div></li> |
|
969 |
+<li><div class="src-line"><a name="a953"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a><span class="src-sym">)</span>-<span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>.= (string) <span class="src-var">$content</span><span class="src-sym">;</span></div></li> |
|
970 |
+<li><div class="src-line"><a name="a954"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
971 |
+<li><div class="src-line"><a name="a955"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
972 |
+<li><div class="src-line"><a name="a956"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
973 |
+<li><div class="src-line"><a name="a957"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The template has been closed too early, you probably have an extra block-closing tag somewhere'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
974 |
+<li><div class="src-line"><a name="a958"></a> <span class="src-sym">}</span></div></li> |
|
975 |
+<li><div class="src-line"><a name="a959"></a> <span class="src-comm">// append current content to current block's buffer</span></div></li> |
|
976 |
+<li><div class="src-line"><a name="a960"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>.= (string) <span class="src-var">$content</span><span class="src-sym">;</span></div></li> |
|
977 |
+<li><div class="src-line"><a name="a961"></a> <span class="src-sym">}</span></div></li> |
|
978 |
+<li><div class="src-line"><a name="a962"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$line">line</a> += <span class="src-var">$lineCount</span><span class="src-sym">;</span></div></li> |
|
979 |
+<li><div class="src-line"><a name="a963"></a> <span class="src-sym">}</span></div></li> |
|
980 |
+<li><div class="src-line"><a name="a964"></a> </div></li> |
|
981 |
+<li><div class="src-line"><a name="a965"></a> <span class="src-doc">/**</span></div></li> |
|
982 |
+<li><div class="src-line"><a name="a966"></a><span class="src-doc"> * sets the scope</span></div></li> |
|
983 |
+<li><div class="src-line"><a name="a967"></a><span class="src-doc"> *</span></div></li> |
|
984 |
+<li><div class="src-line"><a name="a968"></a><span class="src-doc"> * set to null if the scope becomes "unstable" (i.e. too variable or unknown) so that</span></div></li> |
|
985 |
+<li><div class="src-line"><a name="a969"></a><span class="src-doc"> * variables are compiled in a more evaluative way than just $this->scope['key']</span></div></li> |
|
986 |
+<li><div class="src-line"><a name="a970"></a><span class="src-doc"> *</span></div></li> |
|
987 |
+<li><div class="src-line"><a name="a971"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$scope </span><span class="src-doc">a string i.e. "level1.level2" or an array i.e. array("level1", "level2")</span></div></li> |
|
988 |
+<li><div class="src-line"><a name="a972"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$absolute </span><span class="src-doc">if true, the scope is set from the top level scope and not from the current scope</span></div></li> |
|
989 |
+<li><div class="src-line"><a name="a973"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">the current scope tree</span></div></li> |
|
990 |
+<li><div class="src-line"><a name="a974"></a><span class="src-doc"> */</span></div></li> |
|
991 |
+<li><div class="src-line"><a name="a975"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodsetScope">setScope</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">, </span><span class="src-var">$absolute </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
992 |
+<li><div class="src-line"><a name="a976"></a> <span class="src-sym">{</span></div></li> |
|
993 |
+<li><div class="src-line"><a name="a977"></a> <span class="src-var">$old </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">;</span></div></li> |
|
994 |
+<li><div class="src-line"><a name="a978"></a> </div></li> |
|
995 |
+<li><div class="src-line"><a name="a979"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$scope</span>===<span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
996 |
+<li><div class="src-line"><a name="a980"></a> unset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
997 |
+<li><div class="src-line"><a name="a981"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> = <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
998 |
+<li><div class="src-line"><a name="a982"></a> <span class="src-sym">}</span></div></li> |
|
999 |
+<li><div class="src-line"><a name="a983"></a> </div></li> |
|
1000 |
+<li><div class="src-line"><a name="a984"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)</span>===<span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1001 |
+<li><div class="src-line"><a name="a985"></a> <span class="src-var">$scope </span>= <a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$scope</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1002 |
+<li><div class="src-line"><a name="a986"></a> <span class="src-sym">}</span></div></li> |
|
1003 |
+<li><div class="src-line"><a name="a987"></a> </div></li> |
|
1004 |
+<li><div class="src-line"><a name="a988"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$absolute</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1005 |
+<li><div class="src-line"><a name="a989"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
|
1006 |
+<li><div class="src-line"><a name="a990"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1007 |
+<li><div class="src-line"><a name="a991"></a> <span class="src-sym">}</span></div></li> |
|
1008 |
+<li><div class="src-line"><a name="a992"></a> </div></li> |
|
1009 |
+<li><div class="src-line"><a name="a993"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$bit </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$scope</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1010 |
+<li><div class="src-line"><a name="a994"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'_parent' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'_'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1011 |
+<li><div class="src-line"><a name="a995"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1012 |
+<li><div class="src-line"><a name="a996"></a> <a href="http://www.php.net/reset">reset</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1013 |
+<li><div class="src-line"><a name="a997"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
|
1014 |
+<li><div class="src-line"><a name="a998"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1015 |
+<li><div class="src-line"><a name="a999"></a> <span class="src-key">for </span><span class="src-sym">(</span><span class="src-var">$i</span>=<span class="src-num">0</span><span class="src-sym">;</span><span class="src-var">$i</span><<span class="src-var">$cnt</span><span class="src-sym">;</span><span class="src-var">$i</span>++<span class="src-sym">)</span></div></li> |
|
1016 |
+<li><div class="src-line"><a name="a1000"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
|
1017 |
+<li><div class="src-line"><a name="a1001"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$bit </span>=== <span class="src-str">'_root' </span>|| <span class="src-var">$bit </span>=== <span class="src-str">'__'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1018 |
+<li><div class="src-line"><a name="a1002"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$data">data</a><span class="src-sym">;</span></div></li> |
|
1019 |
+<li><div class="src-line"><a name="a1003"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a> = <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1020 |
+<li><div class="src-line"><a name="a1004"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1021 |
+<li><div class="src-line"><a name="a1005"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1022 |
+<li><div class="src-line"><a name="a1006"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$bit</span><span class="src-sym">;</span></div></li> |
|
1023 |
+<li><div class="src-line"><a name="a1007"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1024 |
+<li><div class="src-line"><a name="a1008"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1025 |
+<li><div class="src-line"><a name="a1009"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> =<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a><span class="src-sym">[</span><span class="src-var">$bit</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1026 |
+<li><div class="src-line"><a name="a1010"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$scopeTree">scopeTree</a><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$bit</span><span class="src-sym">;</span></div></li> |
|
1027 |
+<li><div class="src-line"><a name="a1011"></a> <span class="src-sym">}</span></div></li> |
|
1028 |
+<li><div class="src-line"><a name="a1012"></a> <span class="src-sym">}</span></div></li> |
|
1029 |
+<li><div class="src-line"><a name="a1013"></a> </div></li> |
|
1030 |
+<li><div class="src-line"><a name="a1014"></a> <span class="src-key">return </span><span class="src-var">$old</span><span class="src-sym">;</span></div></li> |
|
1031 |
+<li><div class="src-line"><a name="a1015"></a> <span class="src-sym">}</span></div></li> |
|
1032 |
+<li><div class="src-line"><a name="a1016"></a> </div></li> |
|
1033 |
+<li><div class="src-line"><a name="a1017"></a> <span class="src-doc">/**</span></div></li> |
|
1034 |
+<li><div class="src-line"><a name="a1018"></a><span class="src-doc"> * adds a block to the top of the block stack</span></div></li> |
|
1035 |
+<li><div class="src-line"><a name="a1019"></a><span class="src-doc"> *</span></div></li> |
|
1036 |
+<li><div class="src-line"><a name="a1020"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
|
1037 |
+<li><div class="src-line"><a name="a1021"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the parameters array</span></div></li> |
|
1038 |
+<li><div class="src-line"><a name="a1022"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$paramtype </span><span class="src-doc">the parameters type (see mapParams), 0, 1 or 2</span></div></li> |
|
1039 |
+<li><div class="src-line"><a name="a1023"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the preProcessing() method's output</span></div></li> |
|
1040 |
+<li><div class="src-line"><a name="a1024"></a><span class="src-doc"> */</span></div></li> |
|
1041 |
+<li><div class="src-line"><a name="a1025"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span></div></li> |
|
1042 |
+<li><div class="src-line"><a name="a1026"></a> <span class="src-sym">{</span></div></li> |
|
1043 |
+<li><div class="src-line"><a name="a1027"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$type</span><span class="src-sym">;</span></div></li> |
|
1044 |
+<li><div class="src-line"><a name="a1028"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">class_exists</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1045 |
+<li><div class="src-line"><a name="a1029"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a><span class="src-sym">-></span><a href="../Dwoo/Dwoo.html#methodgetLoader">getLoader</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">loadPlugin</span><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1046 |
+<li><div class="src-line"><a name="a1030"></a> <span class="src-sym">}</span></div></li> |
|
1047 |
+<li><div class="src-line"><a name="a1031"></a> </div></li> |
|
1048 |
+<li><div class="src-line"><a name="a1032"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">mapParams</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1049 |
1049 |
<li><div class="src-line"><a name="a1033"></a> </div></li> |
| 1050 |
|
-<li><div class="src-line"><a name="a1034"></a> <span class="src-doc">/**</span></div></li> |
| 1051 |
|
-<li><div class="src-line"><a name="a1035"></a><span class="src-doc"> * removes the closest-to-top block of the given type and all other</span></div></li> |
| 1052 |
|
-<li><div class="src-line"><a name="a1036"></a><span class="src-doc"> * blocks encountered while going down the block stack</span></div></li> |
| 1053 |
|
-<li><div class="src-line"><a name="a1037"></a><span class="src-doc"> *</span></div></li> |
| 1054 |
|
-<li><div class="src-line"><a name="a1038"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
| 1055 |
|
-<li><div class="src-line"><a name="a1039"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the output of all postProcessing() method's return values of the closed blocks</span></div></li> |
| 1056 |
|
-<li><div class="src-line"><a name="a1040"></a><span class="src-doc"> */</span></div></li> |
| 1057 |
|
-<li><div class="src-line"><a name="a1041"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveBlock">removeBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span></div></li> |
| 1058 |
|
-<li><div class="src-line"><a name="a1042"></a> <span class="src-sym">{</span></div></li> |
| 1059 |
|
-<li><div class="src-line"><a name="a1043"></a> <span class="src-var">$output </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1060 |
|
-<li><div class="src-line"><a name="a1044"></a> </div></li> |
| 1061 |
|
-<li><div class="src-line"><a name="a1045"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1062 |
|
-<li><div class="src-line"><a name="a1046"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1063 |
|
-<li><div class="src-line"><a name="a1047"></a> <span class="src-var">$type </span>= <span class="src-str">'smartyinterface'</span><span class="src-sym">;</span></div></li> |
| 1064 |
|
-<li><div class="src-line"><a name="a1048"></a> <span class="src-sym">}</span></div></li> |
| 1065 |
|
-<li><div class="src-line"><a name="a1049"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1066 |
|
-<li><div class="src-line"><a name="a1050"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$top </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1067 |
|
-<li><div class="src-line"><a name="a1051"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'custom'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1068 |
|
-<li><div class="src-line"><a name="a1052"></a> <span class="src-var">$class </span>= <span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1069 |
|
-<li><div class="src-line"><a name="a1053"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1070 |
|
-<li><div class="src-line"><a name="a1054"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1071 |
|
-<li><div class="src-line"><a name="a1055"></a> <span class="src-sym">}</span></div></li> |
| 1072 |
|
-<li><div class="src-line"><a name="a1056"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1073 |
|
-<li><div class="src-line"><a name="a1057"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1074 |
|
-<li><div class="src-line"><a name="a1058"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'postProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1075 |
|
-<li><div class="src-line"><a name="a1059"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1076 |
|
-<li><div class="src-line"><a name="a1060"></a> <span class="src-var">$null </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1077 |
|
-<li><div class="src-line"><a name="a1061"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$null</span><span class="src-sym">;</span></div></li> |
| 1078 |
|
-<li><div class="src-line"><a name="a1062"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'postProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1079 |
|
-<li><div class="src-line"><a name="a1063"></a> <span class="src-sym">}</span></div></li> |
| 1080 |
|
-<li><div class="src-line"><a name="a1064"></a> </div></li> |
| 1081 |
|
-<li><div class="src-line"><a name="a1065"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>=== <span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1082 |
|
-<li><div class="src-line"><a name="a1066"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 1083 |
|
-<li><div class="src-line"><a name="a1067"></a> <span class="src-sym">}</span></div></li> |
| 1084 |
|
-<li><div class="src-line"><a name="a1068"></a> <span class="src-sym">}</span></div></li> |
| 1085 |
|
-<li><div class="src-line"><a name="a1069"></a> </div></li> |
| 1086 |
|
-<li><div class="src-line"><a name="a1070"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Syntax malformation, a block of type "'</span>.<span class="src-var">$type</span>.<span class="src-str">'" was closed but was not opened'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1087 |
|
-<li><div class="src-line"><a name="a1071"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1088 |
|
-<li><div class="src-line"><a name="a1072"></a> <span class="src-sym">}</span></div></li> |
| 1089 |
|
-<li><div class="src-line"><a name="a1073"></a> </div></li> |
| 1090 |
|
-<li><div class="src-line"><a name="a1074"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 1091 |
|
-<li><div class="src-line"><a name="a1075"></a> <span class="src-sym">}</span></div></li> |
| 1092 |
|
-<li><div class="src-line"><a name="a1076"></a> </div></li> |
| 1093 |
|
-<li><div class="src-line"><a name="a1077"></a> <span class="src-doc">/**</span></div></li> |
| 1094 |
|
-<li><div class="src-line"><a name="a1078"></a><span class="src-doc"> * returns a reference to the first block of the given type encountered and</span></div></li> |
| 1095 |
|
-<li><div class="src-line"><a name="a1079"></a><span class="src-doc"> * optionally closes all blocks until it finds it</span></div></li> |
| 1096 |
|
-<li><div class="src-line"><a name="a1080"></a><span class="src-doc"> *</span></div></li> |
| 1097 |
|
-<li><div class="src-line"><a name="a1081"></a><span class="src-doc"> * this is mainly used by {else} plugins to close everything that was opened</span></div></li> |
| 1098 |
|
-<li><div class="src-line"><a name="a1082"></a><span class="src-doc"> * between their parent and themselves</span></div></li> |
| 1099 |
|
-<li><div class="src-line"><a name="a1083"></a><span class="src-doc"> *</span></div></li> |
| 1100 |
|
-<li><div class="src-line"><a name="a1084"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">the block type (name)</span></div></li> |
| 1101 |
|
-<li><div class="src-line"><a name="a1085"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$closeAlong </span><span class="src-doc">whether to close all blocks encountered while going down the block stack or not</span></div></li> |
| 1102 |
|
-<li><div class="src-line"><a name="a1086"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">&array </span><span class="src-doc">the array is as such: array('type'=>pluginName, 'params'=>parameter array,</span></div></li> |
| 1103 |
|
-<li><div class="src-line"><a name="a1087"></a><span class="src-doc"> * 'custom'=>bool defining whether it's a custom plugin or not, for internal use)</span></div></li> |
| 1104 |
|
-<li><div class="src-line"><a name="a1088"></a><span class="src-doc"> */</span></div></li> |
| 1105 |
|
-<li><div class="src-line"><a name="a1089"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-sym">&</span><a href="../Dwoo/Dwoo_Compiler.html#methodfindBlock">findBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-var">$closeAlong </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 1106 |
|
-<li><div class="src-line"><a name="a1090"></a> <span class="src-sym">{</span></div></li> |
| 1107 |
|
-<li><div class="src-line"><a name="a1091"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$closeAlong</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1108 |
|
-<li><div class="src-line"><a name="a1092"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$b </span>= <a href="http://www.php.net/end">end</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1109 |
|
-<li><div class="src-line"><a name="a1093"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$b</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span>===<span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1110 |
|
-<li><div class="src-line"><a name="a1094"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/key">key</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1111 |
|
-<li><div class="src-line"><a name="a1095"></a> <span class="src-sym">}</span></div></li> |
| 1112 |
|
-<li><div class="src-line"><a name="a1096"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveTopBlock">removeTopBlock</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1113 |
|
-<li><div class="src-line"><a name="a1097"></a> <span class="src-sym">}</span></div></li> |
| 1114 |
|
-<li><div class="src-line"><a name="a1098"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1115 |
|
-<li><div class="src-line"><a name="a1099"></a> <a href="http://www.php.net/end">end</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1116 |
|
-<li><div class="src-line"><a name="a1100"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$b </span>= <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1117 |
|
-<li><div class="src-line"><a name="a1101"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$b</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span>===<span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1118 |
|
-<li><div class="src-line"><a name="a1102"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/key">key</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1119 |
|
-<li><div class="src-line"><a name="a1103"></a> <span class="src-sym">}</span></div></li> |
| 1120 |
|
-<li><div class="src-line"><a name="a1104"></a> <a href="http://www.php.net/prev">prev</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1121 |
|
-<li><div class="src-line"><a name="a1105"></a> <span class="src-sym">}</span></div></li> |
| 1122 |
|
-<li><div class="src-line"><a name="a1106"></a> <span class="src-sym">}</span></div></li> |
| 1123 |
|
-<li><div class="src-line"><a name="a1107"></a> </div></li> |
| 1124 |
|
-<li><div class="src-line"><a name="a1108"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'A parent block of type "'</span>.<span class="src-var">$type</span>.<span class="src-str">'" is required and can not be found'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1125 |
|
-<li><div class="src-line"><a name="a1109"></a> <span class="src-sym">}</span></div></li> |
| 1126 |
|
-<li><div class="src-line"><a name="a1110"></a> </div></li> |
| 1127 |
|
-<li><div class="src-line"><a name="a1111"></a> <span class="src-doc">/**</span></div></li> |
| 1128 |
|
-<li><div class="src-line"><a name="a1112"></a><span class="src-doc"> * returns a reference to the current block array</span></div></li> |
| 1129 |
|
-<li><div class="src-line"><a name="a1113"></a><span class="src-doc"> *</span></div></li> |
| 1130 |
|
-<li><div class="src-line"><a name="a1114"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">&array </span><span class="src-doc">the array is as such: array('type'=>pluginName, 'params'=>parameter array,</span></div></li> |
| 1131 |
|
-<li><div class="src-line"><a name="a1115"></a><span class="src-doc"> * 'custom'=>bool defining whether it's a custom plugin or not, for internal use)</span></div></li> |
| 1132 |
|
-<li><div class="src-line"><a name="a1116"></a><span class="src-doc"> */</span></div></li> |
| 1133 |
|
-<li><div class="src-line"><a name="a1117"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-sym">&</span><a href="../Dwoo/Dwoo_Compiler.html#methodgetCurrentBlock">getCurrentBlock</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 1134 |
|
-<li><div class="src-line"><a name="a1118"></a> <span class="src-sym">{</span></div></li> |
| 1135 |
|
-<li><div class="src-line"><a name="a1119"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">;</span></div></li> |
| 1136 |
|
-<li><div class="src-line"><a name="a1120"></a> <span class="src-sym">}</span></div></li> |
| 1137 |
|
-<li><div class="src-line"><a name="a1121"></a> </div></li> |
| 1138 |
|
-<li><div class="src-line"><a name="a1122"></a> <span class="src-doc">/**</span></div></li> |
| 1139 |
|
-<li><div class="src-line"><a name="a1123"></a><span class="src-doc"> * removes the block at the top of the stack and calls its postProcessing() method</span></div></li> |
| 1140 |
|
-<li><div class="src-line"><a name="a1124"></a><span class="src-doc"> *</span></div></li> |
| 1141 |
|
-<li><div class="src-line"><a name="a1125"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the postProcessing() method's output</span></div></li> |
| 1142 |
|
-<li><div class="src-line"><a name="a1126"></a><span class="src-doc"> */</span></div></li> |
| 1143 |
|
-<li><div class="src-line"><a name="a1127"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveTopBlock">removeTopBlock</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 1144 |
|
-<li><div class="src-line"><a name="a1128"></a> <span class="src-sym">{</span></div></li> |
| 1145 |
|
-<li><div class="src-line"><a name="a1129"></a> <span class="src-var">$o </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1146 |
|
-<li><div class="src-line"><a name="a1130"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$o </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1147 |
|
-<li><div class="src-line"><a name="a1131"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Syntax malformation, a block of unknown type was closed but was not opened.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1148 |
|
-<li><div class="src-line"><a name="a1132"></a> <span class="src-sym">}</span></div></li> |
| 1149 |
|
-<li><div class="src-line"><a name="a1133"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'custom'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1150 |
|
-<li><div class="src-line"><a name="a1134"></a> <span class="src-var">$class </span>= <span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1151 |
|
-<li><div class="src-line"><a name="a1135"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1152 |
|
-<li><div class="src-line"><a name="a1136"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1153 |
|
-<li><div class="src-line"><a name="a1137"></a> <span class="src-sym">}</span></div></li> |
| 1154 |
|
-<li><div class="src-line"><a name="a1138"></a> </div></li> |
| 1155 |
|
-<li><div class="src-line"><a name="a1139"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1156 |
|
-<li><div class="src-line"><a name="a1140"></a> </div></li> |
| 1157 |
|
-<li><div class="src-line"><a name="a1141"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'postProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1158 |
|
-<li><div class="src-line"><a name="a1142"></a> <span class="src-sym">}</span></div></li> |
| 1159 |
|
-<li><div class="src-line"><a name="a1143"></a> </div></li> |
| 1160 |
|
-<li><div class="src-line"><a name="a1144"></a> <span class="src-doc">/**</span></div></li> |
| 1161 |
|
-<li><div class="src-line"><a name="a1145"></a><span class="src-doc"> * returns the compiled parameters (for example a variable's compiled parameter will be "$this->scope['key']") out of the given parameter array</span></div></li> |
| 1162 |
|
-<li><div class="src-line"><a name="a1146"></a><span class="src-doc"> *</span></div></li> |
| 1163 |
|
-<li><div class="src-line"><a name="a1147"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameter array</span></div></li> |
| 1164 |
|
-<li><div class="src-line"><a name="a1148"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">filtered parameters</span></div></li> |
| 1165 |
|
-<li><div class="src-line"><a name="a1149"></a><span class="src-doc"> */</span></div></li> |
| 1166 |
|
-<li><div class="src-line"><a name="a1150"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetCompiledParams">getCompiledParams</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
| 1167 |
|
-<li><div class="src-line"><a name="a1151"></a> <span class="src-sym">{</span></div></li> |
| 1168 |
|
-<li><div class="src-line"><a name="a1152"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1169 |
|
-<li><div class="src-line"><a name="a1153"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1170 |
|
-<li><div class="src-line"><a name="a1154"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1171 |
|
-<li><div class="src-line"><a name="a1155"></a> <span class="src-sym">}</span></div></li> |
| 1172 |
|
-<li><div class="src-line"><a name="a1156"></a> <span class="src-sym">}</span></div></li> |
| 1173 |
|
-<li><div class="src-line"><a name="a1157"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">;</span></div></li> |
| 1174 |
|
-<li><div class="src-line"><a name="a1158"></a> <span class="src-sym">}</span></div></li> |
| 1175 |
|
-<li><div class="src-line"><a name="a1159"></a> </div></li> |
| 1176 |
|
-<li><div class="src-line"><a name="a1160"></a> <span class="src-doc">/**</span></div></li> |
| 1177 |
|
-<li><div class="src-line"><a name="a1161"></a><span class="src-doc"> * returns the real parameters (for example a variable's real parameter will be its key, etc) out of the given parameter array</span></div></li> |
| 1178 |
|
-<li><div class="src-line"><a name="a1162"></a><span class="src-doc"> *</span></div></li> |
| 1179 |
|
-<li><div class="src-line"><a name="a1163"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameter array</span></div></li> |
| 1180 |
|
-<li><div class="src-line"><a name="a1164"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">filtered parameters</span></div></li> |
| 1181 |
|
-<li><div class="src-line"><a name="a1165"></a><span class="src-doc"> */</span></div></li> |
| 1182 |
|
-<li><div class="src-line"><a name="a1166"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetRealParams">getRealParams</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
| 1183 |
|
-<li><div class="src-line"><a name="a1167"></a> <span class="src-sym">{</span></div></li> |
| 1184 |
|
-<li><div class="src-line"><a name="a1168"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1185 |
|
-<li><div class="src-line"><a name="a1169"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1186 |
|
-<li><div class="src-line"><a name="a1170"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1187 |
|
-<li><div class="src-line"><a name="a1171"></a> <span class="src-sym">}</span></div></li> |
| 1188 |
|
-<li><div class="src-line"><a name="a1172"></a> <span class="src-sym">}</span></div></li> |
| 1189 |
|
-<li><div class="src-line"><a name="a1173"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">;</span></div></li> |
| 1190 |
|
-<li><div class="src-line"><a name="a1174"></a> <span class="src-sym">}</span></div></li> |
| 1191 |
|
-<li><div class="src-line"><a name="a1175"></a> </div></li> |
| 1192 |
|
-<li><div class="src-line"><a name="a1176"></a> <span class="src-doc">/**</span></div></li> |
| 1193 |
|
-<li><div class="src-line"><a name="a1177"></a><span class="src-doc"> * entry point of the parser, it redirects calls to other parse* functions</span></div></li> |
| 1194 |
|
-<li><div class="src-line"><a name="a1178"></a><span class="src-doc"> *</span></div></li> |
| 1195 |
|
-<li><div class="src-line"><a name="a1179"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
| 1196 |
|
-<li><div class="src-line"><a name="a1180"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
| 1197 |
|
-<li><div class="src-line"><a name="a1181"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
| 1198 |
|
-<li><div class="src-line"><a name="a1182"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
| 1199 |
|
-<li><div class="src-line"><a name="a1183"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 1200 |
|
-<li><div class="src-line"><a name="a1184"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
| 1201 |
|
-<li><div class="src-line"><a name="a1185"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
| 1202 |
|
-<li><div class="src-line"><a name="a1186"></a><span class="src-doc"> */</span></div></li> |
| 1203 |
|
-<li><div class="src-line"><a name="a1187"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 1204 |
|
-<li><div class="src-line"><a name="a1188"></a> <span class="src-sym">{</span></div></li> |
| 1205 |
|
-<li><div class="src-line"><a name="a1189"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$to </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1206 |
|
-<li><div class="src-line"><a name="a1190"></a> <span class="src-var">$to </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1207 |
|
-<li><div class="src-line"><a name="a1191"></a> <span class="src-sym">}</span></div></li> |
| 1208 |
|
-<li><div class="src-line"><a name="a1192"></a> <span class="src-var">$first </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1209 |
|
-<li><div class="src-line"><a name="a1193"></a> </div></li> |
| 1210 |
|
-<li><div class="src-line"><a name="a1194"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$first </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1211 |
|
-<li><div class="src-line"><a name="a1195"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unexpected EOF, a template tag was not closed'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1212 |
|
-<li><div class="src-line"><a name="a1196"></a> <span class="src-sym">}</span></div></li> |
| 1213 |
|
-<li><div class="src-line"><a name="a1197"></a> </div></li> |
| 1214 |
|
-<li><div class="src-line"><a name="a1198"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">" " </span>|| <span class="src-var">$first</span>===<span class="src-str">"\n" </span>|| <span class="src-var">$first</span>===<span class="src-str">"\t" </span>|| <span class="src-var">$first</span>===<span class="src-str">"\r"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1215 |
|
-<li><div class="src-line"><a name="a1199"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1216 |
|
-<li><div class="src-line"><a name="a1200"></a> <span class="src-comm">// end template tag</span></div></li> |
| 1217 |
|
-<li><div class="src-line"><a name="a1201"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1218 |
|
-<li><div class="src-line"><a name="a1202"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'TEMPLATE PARSING ENDED<br />'</span><span class="src-sym">;</span></div></li> |
| 1219 |
|
-<li><div class="src-line"><a name="a1203"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1220 |
|
-<li><div class="src-line"><a name="a1204"></a> <span class="src-sym">}</span></div></li> |
| 1221 |
|
-<li><div class="src-line"><a name="a1205"></a> <span class="src-var">$from</span>++<span class="src-sym">;</span></div></li> |
| 1222 |
|
-<li><div class="src-line"><a name="a1206"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1223 |
|
-<li><div class="src-line"><a name="a1207"></a> <span class="src-var">$pointer</span>++<span class="src-sym">;</span></div></li> |
| 1224 |
|
-<li><div class="src-line"><a name="a1208"></a> <span class="src-sym">}</span></div></li> |
| 1225 |
|
-<li><div class="src-line"><a name="a1209"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$from </span>>= <span class="src-var">$to</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1226 |
|
-<li><div class="src-line"><a name="a1210"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1227 |
|
-<li><div class="src-line"><a name="a1211"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 1228 |
|
-<li><div class="src-line"><a name="a1212"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1229 |
|
-<li><div class="src-line"><a name="a1213"></a> <span class="src-key">return </span><span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1230 |
|
-<li><div class="src-line"><a name="a1214"></a> <span class="src-sym">}</span></div></li> |
| 1231 |
|
-<li><div class="src-line"><a name="a1215"></a> <span class="src-sym">}</span></div></li> |
| 1232 |
|
-<li><div class="src-line"><a name="a1216"></a> <span class="src-var">$first </span>= <span class="src-var">$in</span><span class="src-sym">[</span><span class="src-var">$from</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1233 |
|
-<li><div class="src-line"><a name="a1217"></a> <span class="src-sym">}</span></div></li> |
| 1234 |
|
-<li><div class="src-line"><a name="a1218"></a> </div></li> |
| 1235 |
|
-<li><div class="src-line"><a name="a1219"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1236 |
|
-<li><div class="src-line"><a name="a1220"></a> </div></li> |
| 1237 |
|
-<li><div class="src-line"><a name="a1221"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'<br />PARSE CALL : PARSING "<b>'</span>.<a href="http://www.php.net/htmlentities">htmlentities</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><a href="http://www.php.net/min">min</a><span class="src-sym">(</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">, </span><span class="src-num">50</span><span class="src-sym">)))</span>.<span class="src-sym">((</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">) </span>> <span class="src-num">50 </span>? <span class="src-str">'...'</span>:<span class="src-str">''</span><span class="src-sym">)</span>.<span class="src-str">'</b>" @ '</span>.<span class="src-var">$from</span>.<span class="src-str">':'</span>.<span class="src-var">$to</span>.<span class="src-str">' in '</span>.<span class="src-var">$curBlock</span>.<span class="src-str">' : pointer='</span>.<span class="src-var">$pointer</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1238 |
|
-<li><div class="src-line"><a name="a1222"></a> <span class="src-var">$parsed </span>= <span class="src-str">""</span><span class="src-sym">;</span></div></li> |
| 1239 |
|
-<li><div class="src-line"><a name="a1223"></a> </div></li> |
| 1240 |
|
-<li><div class="src-line"><a name="a1224"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <span class="src-var">$first </span>=== <span class="src-str">'*'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1241 |
|
-<li><div class="src-line"><a name="a1225"></a> <span class="src-var">$src </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetTemplateSource">getTemplateSource</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1242 |
|
-<li><div class="src-line"><a name="a1226"></a> <span class="src-var">$startpos </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>- <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1243 |
|
-<li><div class="src-line"><a name="a1227"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$startpos</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1244 |
|
-<li><div class="src-line"><a name="a1228"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$startpos </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1245 |
|
-<li><div class="src-line"><a name="a1229"></a> do <span class="src-sym">{</span></div></li> |
| 1246 |
|
-<li><div class="src-line"><a name="a1230"></a> <span class="src-var">$char </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span>--<span class="src-var">$startpos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1247 |
|
-<li><div class="src-line"><a name="a1231"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$char </span>== <span class="src-str">"\n"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1248 |
|
-<li><div class="src-line"><a name="a1232"></a> <span class="src-var">$startpos</span>++<span class="src-sym">;</span></div></li> |
| 1249 |
|
-<li><div class="src-line"><a name="a1233"></a> <span class="src-var">$whitespaceStart </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 1250 |
|
-<li><div class="src-line"><a name="a1234"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1251 |
|
-<li><div class="src-line"><a name="a1235"></a> <span class="src-sym">}</span></div></li> |
| 1252 |
|
-<li><div class="src-line"><a name="a1236"></a> <span class="src-sym">} </span><span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$startpos </span>> <span class="src-num">0 </span>&& <span class="src-sym">(</span><span class="src-var">$char </span>== <span class="src-str">' ' </span>|| <span class="src-var">$char </span>== <span class="src-str">"\t"</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1253 |
|
-<li><div class="src-line"><a name="a1237"></a> <span class="src-sym">}</span></div></li> |
|
1050 |
+<li><div class="src-line"><a name="a1034"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">stack</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type' </span>=> <span class="src-var">$type</span><span class="src-sym">, </span><span class="src-str">'params' </span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'custom' </span>=> <span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'class' </span>=> <span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'buffer' </span>=> <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1051 |
+<li><div class="src-line"><a name="a1035"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">curBlock </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">stack</span><span class="src-sym">[</span><span class="src-id">count</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">stack</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1052 |
+<li><div class="src-line"><a name="a1036"></a> <span class="src-key">return </span><span class="src-id">call_user_func</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">,</span><span class="src-str">'preProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1053 |
+<li><div class="src-line"><a name="a1037"></a> <span class="src-sym">}</span></div></li> |
|
1054 |
+<li><div class="src-line"><a name="a1038"></a> </div></li> |
|
1055 |
+<li><div class="src-line"><a name="a1039"></a> <span class="src-doc">/**</span></div></li> |
|
1056 |
+<li><div class="src-line"><a name="a1040"></a><span class="src-doc"> * adds a custom block to the top of the block stack</span></div></li> |
|
1057 |
+<li><div class="src-line"><a name="a1041"></a><span class="src-doc"> *</span></div></li> |
|
1058 |
+<li><div class="src-line"><a name="a1042"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
|
1059 |
+<li><div class="src-line"><a name="a1043"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the parameters array</span></div></li> |
|
1060 |
+<li><div class="src-line"><a name="a1044"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$paramtype </span><span class="src-doc">the parameters type (see mapParams), 0, 1 or 2</span></div></li> |
|
1061 |
+<li><div class="src-line"><a name="a1045"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the preProcessing() method's output</span></div></li> |
|
1062 |
+<li><div class="src-line"><a name="a1046"></a><span class="src-doc"> */</span></div></li> |
|
1063 |
+<li><div class="src-line"><a name="a1047"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodaddCustomBlock">addCustomBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span></div></li> |
|
1064 |
+<li><div class="src-line"><a name="a1048"></a> <span class="src-sym">{</span></div></li> |
|
1065 |
+<li><div class="src-line"><a name="a1049"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">customPlugins</span><span class="src-sym">[</span><span class="src-var">$type</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1066 |
+<li><div class="src-line"><a name="a1050"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">is_array</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1067 |
+<li><div class="src-line"><a name="a1051"></a> <span class="src-var">$class </span>= <a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1068 |
+<li><div class="src-line"><a name="a1052"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1069 |
+<li><div class="src-line"><a name="a1053"></a> <span class="src-var">$class </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
1070 |
+<li><div class="src-line"><a name="a1054"></a> <span class="src-sym">}</span></div></li> |
|
1071 |
+<li><div class="src-line"><a name="a1055"></a> </div></li> |
|
1072 |
+<li><div class="src-line"><a name="a1056"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$paramtype</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1073 |
+<li><div class="src-line"><a name="a1057"></a> </div></li> |
|
1074 |
+<li><div class="src-line"><a name="a1058"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type' </span>=> <span class="src-var">$type</span><span class="src-sym">, </span><span class="src-str">'params' </span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'custom' </span>=> <span class="src-id">true</span><span class="src-sym">, </span><span class="src-str">'class' </span>=> <span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'buffer' </span>=> <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1075 |
+<li><div class="src-line"><a name="a1059"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1076 |
+<li><div class="src-line"><a name="a1060"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">,</span><span class="src-str">'preProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1077 |
+<li><div class="src-line"><a name="a1061"></a> <span class="src-sym">}</span></div></li> |
|
1078 |
+<li><div class="src-line"><a name="a1062"></a> </div></li> |
|
1079 |
+<li><div class="src-line"><a name="a1063"></a> <span class="src-doc">/**</span></div></li> |
|
1080 |
+<li><div class="src-line"><a name="a1064"></a><span class="src-doc"> * injects a block at the top of the plugin stack without calling its preProcessing method</span></div></li> |
|
1081 |
+<li><div class="src-line"><a name="a1065"></a><span class="src-doc"> *</span></div></li> |
|
1082 |
+<li><div class="src-line"><a name="a1066"></a><span class="src-doc"> * used by {else} blocks to re-add themselves after having closed everything up to their parent</span></div></li> |
|
1083 |
+<li><div class="src-line"><a name="a1067"></a><span class="src-doc"> *</span></div></li> |
|
1084 |
+<li><div class="src-line"><a name="a1068"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
|
1085 |
+<li><div class="src-line"><a name="a1069"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameters array</span></div></li> |
|
1086 |
+<li><div class="src-line"><a name="a1070"></a><span class="src-doc"> */</span></div></li> |
|
1087 |
+<li><div class="src-line"><a name="a1071"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodinjectBlock">injectBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
|
1088 |
+<li><div class="src-line"><a name="a1072"></a> <span class="src-sym">{</span></div></li> |
|
1089 |
+<li><div class="src-line"><a name="a1073"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$type</span><span class="src-sym">;</span></div></li> |
|
1090 |
+<li><div class="src-line"><a name="a1074"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">class_exists</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1091 |
+<li><div class="src-line"><a name="a1075"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getLoader</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadPlugin">loadPlugin</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1092 |
+<li><div class="src-line"><a name="a1076"></a> <span class="src-sym">}</span></div></li> |
|
1093 |
+<li><div class="src-line"><a name="a1077"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'type' </span>=> <span class="src-var">$type</span><span class="src-sym">, </span><span class="src-str">'params' </span>=> <span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'custom' </span>=> <span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'class' </span>=> <span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'buffer' </span>=> <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1094 |
+<li><div class="src-line"><a name="a1078"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1095 |
+<li><div class="src-line"><a name="a1079"></a> <span class="src-sym">}</span></div></li> |
|
1096 |
+<li><div class="src-line"><a name="a1080"></a> </div></li> |
|
1097 |
+<li><div class="src-line"><a name="a1081"></a> <span class="src-doc">/**</span></div></li> |
|
1098 |
+<li><div class="src-line"><a name="a1082"></a><span class="src-doc"> * removes the closest-to-top block of the given type and all other</span></div></li> |
|
1099 |
+<li><div class="src-line"><a name="a1083"></a><span class="src-doc"> * blocks encountered while going down the block stack</span></div></li> |
|
1100 |
+<li><div class="src-line"><a name="a1084"></a><span class="src-doc"> *</span></div></li> |
|
1101 |
+<li><div class="src-line"><a name="a1085"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">block type (name)</span></div></li> |
|
1102 |
+<li><div class="src-line"><a name="a1086"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the output of all postProcessing() method's return values of the closed blocks</span></div></li> |
|
1103 |
+<li><div class="src-line"><a name="a1087"></a><span class="src-doc"> */</span></div></li> |
|
1104 |
+<li><div class="src-line"><a name="a1088"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveBlock">removeBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span></div></li> |
|
1105 |
+<li><div class="src-line"><a name="a1089"></a> <span class="src-sym">{</span></div></li> |
|
1106 |
+<li><div class="src-line"><a name="a1090"></a> <span class="src-var">$output </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1107 |
+<li><div class="src-line"><a name="a1091"></a> </div></li> |
|
1108 |
+<li><div class="src-line"><a name="a1092"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1109 |
+<li><div class="src-line"><a name="a1093"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1110 |
+<li><div class="src-line"><a name="a1094"></a> <span class="src-var">$type </span>= <span class="src-str">'smartyinterface'</span><span class="src-sym">;</span></div></li> |
|
1111 |
+<li><div class="src-line"><a name="a1095"></a> <span class="src-sym">}</span></div></li> |
|
1112 |
+<li><div class="src-line"><a name="a1096"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1113 |
+<li><div class="src-line"><a name="a1097"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$top </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1114 |
+<li><div class="src-line"><a name="a1098"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'custom'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1115 |
+<li><div class="src-line"><a name="a1099"></a> <span class="src-var">$class </span>= <span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1116 |
+<li><div class="src-line"><a name="a1100"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1117 |
+<li><div class="src-line"><a name="a1101"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1118 |
+<li><div class="src-line"><a name="a1102"></a> <span class="src-sym">}</span></div></li> |
|
1119 |
+<li><div class="src-line"><a name="a1103"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1120 |
+<li><div class="src-line"><a name="a1104"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1121 |
+<li><div class="src-line"><a name="a1105"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'postProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1122 |
+<li><div class="src-line"><a name="a1106"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1123 |
+<li><div class="src-line"><a name="a1107"></a> <span class="src-var">$null </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1124 |
+<li><div class="src-line"><a name="a1108"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$null</span><span class="src-sym">;</span></div></li> |
|
1125 |
+<li><div class="src-line"><a name="a1109"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'postProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1126 |
+<li><div class="src-line"><a name="a1110"></a> <span class="src-sym">}</span></div></li> |
|
1127 |
+<li><div class="src-line"><a name="a1111"></a> </div></li> |
|
1128 |
+<li><div class="src-line"><a name="a1112"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$top</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>=== <span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1129 |
+<li><div class="src-line"><a name="a1113"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
1130 |
+<li><div class="src-line"><a name="a1114"></a> <span class="src-sym">}</span></div></li> |
|
1131 |
+<li><div class="src-line"><a name="a1115"></a> <span class="src-sym">}</span></div></li> |
|
1132 |
+<li><div class="src-line"><a name="a1116"></a> </div></li> |
|
1133 |
+<li><div class="src-line"><a name="a1117"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Syntax malformation, a block of type "'</span>.<span class="src-var">$type</span>.<span class="src-str">'" was closed but was not opened'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1134 |
+<li><div class="src-line"><a name="a1118"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1135 |
+<li><div class="src-line"><a name="a1119"></a> <span class="src-sym">}</span></div></li> |
|
1136 |
+<li><div class="src-line"><a name="a1120"></a> </div></li> |
|
1137 |
+<li><div class="src-line"><a name="a1121"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
1138 |
+<li><div class="src-line"><a name="a1122"></a> <span class="src-sym">}</span></div></li> |
|
1139 |
+<li><div class="src-line"><a name="a1123"></a> </div></li> |
|
1140 |
+<li><div class="src-line"><a name="a1124"></a> <span class="src-doc">/**</span></div></li> |
|
1141 |
+<li><div class="src-line"><a name="a1125"></a><span class="src-doc"> * returns a reference to the first block of the given type encountered and</span></div></li> |
|
1142 |
+<li><div class="src-line"><a name="a1126"></a><span class="src-doc"> * optionally closes all blocks until it finds it</span></div></li> |
|
1143 |
+<li><div class="src-line"><a name="a1127"></a><span class="src-doc"> *</span></div></li> |
|
1144 |
+<li><div class="src-line"><a name="a1128"></a><span class="src-doc"> * this is mainly used by {else} plugins to close everything that was opened</span></div></li> |
|
1145 |
+<li><div class="src-line"><a name="a1129"></a><span class="src-doc"> * between their parent and themselves</span></div></li> |
|
1146 |
+<li><div class="src-line"><a name="a1130"></a><span class="src-doc"> *</span></div></li> |
|
1147 |
+<li><div class="src-line"><a name="a1131"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$type </span><span class="src-doc">the block type (name)</span></div></li> |
|
1148 |
+<li><div class="src-line"><a name="a1132"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$closeAlong </span><span class="src-doc">whether to close all blocks encountered while going down the block stack or not</span></div></li> |
|
1149 |
+<li><div class="src-line"><a name="a1133"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">&array </span><span class="src-doc">the array is as such: array('type'=>pluginName, 'params'=>parameter array,</span></div></li> |
|
1150 |
+<li><div class="src-line"><a name="a1134"></a><span class="src-doc"> * 'custom'=>bool defining whether it's a custom plugin or not, for internal use)</span></div></li> |
|
1151 |
+<li><div class="src-line"><a name="a1135"></a><span class="src-doc"> */</span></div></li> |
|
1152 |
+<li><div class="src-line"><a name="a1136"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-sym">&</span><a href="../Dwoo/Dwoo_Compiler.html#methodfindBlock">findBlock</a><span class="src-sym">(</span><span class="src-var">$type</span><span class="src-sym">, </span><span class="src-var">$closeAlong </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
1153 |
+<li><div class="src-line"><a name="a1137"></a> <span class="src-sym">{</span></div></li> |
|
1154 |
+<li><div class="src-line"><a name="a1138"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$closeAlong</span>===<span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1155 |
+<li><div class="src-line"><a name="a1139"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$b </span>= <a href="http://www.php.net/end">end</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1156 |
+<li><div class="src-line"><a name="a1140"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$b</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span>===<span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1157 |
+<li><div class="src-line"><a name="a1141"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/key">key</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1158 |
+<li><div class="src-line"><a name="a1142"></a> <span class="src-sym">}</span></div></li> |
|
1159 |
+<li><div class="src-line"><a name="a1143"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodpush">push</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveTopBlock">removeTopBlock</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1160 |
+<li><div class="src-line"><a name="a1144"></a> <span class="src-sym">}</span></div></li> |
|
1161 |
+<li><div class="src-line"><a name="a1145"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1162 |
+<li><div class="src-line"><a name="a1146"></a> <a href="http://www.php.net/end">end</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1163 |
+<li><div class="src-line"><a name="a1147"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$b </span>= <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1164 |
+<li><div class="src-line"><a name="a1148"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$b</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span>===<span class="src-var">$type</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1165 |
+<li><div class="src-line"><a name="a1149"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/key">key</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1166 |
+<li><div class="src-line"><a name="a1150"></a> <span class="src-sym">}</span></div></li> |
|
1167 |
+<li><div class="src-line"><a name="a1151"></a> <a href="http://www.php.net/prev">prev</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1168 |
+<li><div class="src-line"><a name="a1152"></a> <span class="src-sym">}</span></div></li> |
|
1169 |
+<li><div class="src-line"><a name="a1153"></a> <span class="src-sym">}</span></div></li> |
|
1170 |
+<li><div class="src-line"><a name="a1154"></a> </div></li> |
|
1171 |
+<li><div class="src-line"><a name="a1155"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'A parent block of type "'</span>.<span class="src-var">$type</span>.<span class="src-str">'" is required and can not be found'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1172 |
+<li><div class="src-line"><a name="a1156"></a> <span class="src-sym">}</span></div></li> |
|
1173 |
+<li><div class="src-line"><a name="a1157"></a> </div></li> |
|
1174 |
+<li><div class="src-line"><a name="a1158"></a> <span class="src-doc">/**</span></div></li> |
|
1175 |
+<li><div class="src-line"><a name="a1159"></a><span class="src-doc"> * returns a reference to the current block array</span></div></li> |
|
1176 |
+<li><div class="src-line"><a name="a1160"></a><span class="src-doc"> *</span></div></li> |
|
1177 |
+<li><div class="src-line"><a name="a1161"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">&array </span><span class="src-doc">the array is as such: array('type'=>pluginName, 'params'=>parameter array,</span></div></li> |
|
1178 |
+<li><div class="src-line"><a name="a1162"></a><span class="src-doc"> * 'custom'=>bool defining whether it's a custom plugin or not, for internal use)</span></div></li> |
|
1179 |
+<li><div class="src-line"><a name="a1163"></a><span class="src-doc"> */</span></div></li> |
|
1180 |
+<li><div class="src-line"><a name="a1164"></a> <span class="src-key">public </span><span class="src-key">function </span><span class="src-sym">&</span><a href="../Dwoo/Dwoo_Compiler.html#methodgetCurrentBlock">getCurrentBlock</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
1181 |
+<li><div class="src-line"><a name="a1165"></a> <span class="src-sym">{</span></div></li> |
|
1182 |
+<li><div class="src-line"><a name="a1166"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">;</span></div></li> |
|
1183 |
+<li><div class="src-line"><a name="a1167"></a> <span class="src-sym">}</span></div></li> |
|
1184 |
+<li><div class="src-line"><a name="a1168"></a> </div></li> |
|
1185 |
+<li><div class="src-line"><a name="a1169"></a> <span class="src-doc">/**</span></div></li> |
|
1186 |
+<li><div class="src-line"><a name="a1170"></a><span class="src-doc"> * removes the block at the top of the stack and calls its postProcessing() method</span></div></li> |
|
1187 |
+<li><div class="src-line"><a name="a1171"></a><span class="src-doc"> *</span></div></li> |
|
1188 |
+<li><div class="src-line"><a name="a1172"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the postProcessing() method's output</span></div></li> |
|
1189 |
+<li><div class="src-line"><a name="a1173"></a><span class="src-doc"> */</span></div></li> |
|
1190 |
+<li><div class="src-line"><a name="a1174"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveTopBlock">removeTopBlock</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
1191 |
+<li><div class="src-line"><a name="a1175"></a> <span class="src-sym">{</span></div></li> |
|
1192 |
+<li><div class="src-line"><a name="a1176"></a> <span class="src-var">$o </span>= <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1193 |
+<li><div class="src-line"><a name="a1177"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$o </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1194 |
+<li><div class="src-line"><a name="a1178"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Syntax malformation, a block of unknown type was closed but was not opened.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1195 |
+<li><div class="src-line"><a name="a1179"></a> <span class="src-sym">}</span></div></li> |
|
1196 |
+<li><div class="src-line"><a name="a1180"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'custom'</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1197 |
+<li><div class="src-line"><a name="a1181"></a> <span class="src-var">$class </span>= <span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1198 |
+<li><div class="src-line"><a name="a1182"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1199 |
+<li><div class="src-line"><a name="a1183"></a> <span class="src-var">$class </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1200 |
+<li><div class="src-line"><a name="a1184"></a> <span class="src-sym">}</span></div></li> |
|
1201 |
+<li><div class="src-line"><a name="a1185"></a> </div></li> |
|
1202 |
+<li><div class="src-line"><a name="a1186"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a> </span>=<span class="src-sym">& </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$stack">stack</a></span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1203 |
+<li><div class="src-line"><a name="a1187"></a> </div></li> |
|
1204 |
+<li><div class="src-line"><a name="a1188"></a> <span class="src-key">return </span><a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$class</span><span class="src-sym">, </span><span class="src-str">'postProcessing'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$o</span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1205 |
+<li><div class="src-line"><a name="a1189"></a> <span class="src-sym">}</span></div></li> |
|
1206 |
+<li><div class="src-line"><a name="a1190"></a> </div></li> |
|
1207 |
+<li><div class="src-line"><a name="a1191"></a> <span class="src-doc">/**</span></div></li> |
|
1208 |
+<li><div class="src-line"><a name="a1192"></a><span class="src-doc"> * returns the compiled parameters (for example a variable's compiled parameter will be "$this->scope['key']") out of the given parameter array</span></div></li> |
|
1209 |
+<li><div class="src-line"><a name="a1193"></a><span class="src-doc"> *</span></div></li> |
|
1210 |
+<li><div class="src-line"><a name="a1194"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameter array</span></div></li> |
|
1211 |
+<li><div class="src-line"><a name="a1195"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">filtered parameters</span></div></li> |
|
1212 |
+<li><div class="src-line"><a name="a1196"></a><span class="src-doc"> */</span></div></li> |
|
1213 |
+<li><div class="src-line"><a name="a1197"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetCompiledParams">getCompiledParams</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
|
1214 |
+<li><div class="src-line"><a name="a1198"></a> <span class="src-sym">{</span></div></li> |
|
1215 |
+<li><div class="src-line"><a name="a1199"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1216 |
+<li><div class="src-line"><a name="a1200"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1217 |
+<li><div class="src-line"><a name="a1201"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1218 |
+<li><div class="src-line"><a name="a1202"></a> <span class="src-sym">}</span></div></li> |
|
1219 |
+<li><div class="src-line"><a name="a1203"></a> <span class="src-sym">}</span></div></li> |
|
1220 |
+<li><div class="src-line"><a name="a1204"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">;</span></div></li> |
|
1221 |
+<li><div class="src-line"><a name="a1205"></a> <span class="src-sym">}</span></div></li> |
|
1222 |
+<li><div class="src-line"><a name="a1206"></a> </div></li> |
|
1223 |
+<li><div class="src-line"><a name="a1207"></a> <span class="src-doc">/**</span></div></li> |
|
1224 |
+<li><div class="src-line"><a name="a1208"></a><span class="src-doc"> * returns the real parameters (for example a variable's real parameter will be its key, etc) out of the given parameter array</span></div></li> |
|
1225 |
+<li><div class="src-line"><a name="a1209"></a><span class="src-doc"> *</span></div></li> |
|
1226 |
+<li><div class="src-line"><a name="a1210"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameter array</span></div></li> |
|
1227 |
+<li><div class="src-line"><a name="a1211"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">filtered parameters</span></div></li> |
|
1228 |
+<li><div class="src-line"><a name="a1212"></a><span class="src-doc"> */</span></div></li> |
|
1229 |
+<li><div class="src-line"><a name="a1213"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetRealParams">getRealParams</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
|
1230 |
+<li><div class="src-line"><a name="a1214"></a> <span class="src-sym">{</span></div></li> |
|
1231 |
+<li><div class="src-line"><a name="a1215"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1232 |
+<li><div class="src-line"><a name="a1216"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1233 |
+<li><div class="src-line"><a name="a1217"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1234 |
+<li><div class="src-line"><a name="a1218"></a> <span class="src-sym">}</span></div></li> |
|
1235 |
+<li><div class="src-line"><a name="a1219"></a> <span class="src-sym">}</span></div></li> |
|
1236 |
+<li><div class="src-line"><a name="a1220"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">;</span></div></li> |
|
1237 |
+<li><div class="src-line"><a name="a1221"></a> <span class="src-sym">}</span></div></li> |
|
1238 |
+<li><div class="src-line"><a name="a1222"></a> </div></li> |
|
1239 |
+<li><div class="src-line"><a name="a1223"></a> <span class="src-doc">/**</span></div></li> |
|
1240 |
+<li><div class="src-line"><a name="a1224"></a><span class="src-doc"> * returns the token of each parameter out of the given parameter array</span></div></li> |
|
1241 |
+<li><div class="src-line"><a name="a1225"></a><span class="src-doc"> *</span></div></li> |
|
1242 |
+<li><div class="src-line"><a name="a1226"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">parameter array</span></div></li> |
|
1243 |
+<li><div class="src-line"><a name="a1227"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">tokens</span></div></li> |
|
1244 |
+<li><div class="src-line"><a name="a1228"></a><span class="src-doc"> */</span></div></li> |
|
1245 |
+<li><div class="src-line"><a name="a1229"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetParamTokens">getParamTokens</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">)</span></div></li> |
|
1246 |
+<li><div class="src-line"><a name="a1230"></a> <span class="src-sym">{</span></div></li> |
|
1247 |
+<li><div class="src-line"><a name="a1231"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1248 |
+<li><div class="src-line"><a name="a1232"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1249 |
+<li><div class="src-line"><a name="a1233"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= isset<span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">] </span>: <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1250 |
+<li><div class="src-line"><a name="a1234"></a> <span class="src-sym">}</span></div></li> |
|
1251 |
+<li><div class="src-line"><a name="a1235"></a> <span class="src-sym">}</span></div></li> |
|
1252 |
+<li><div class="src-line"><a name="a1236"></a> <span class="src-key">return </span><span class="src-var">$params</span><span class="src-sym">;</span></div></li> |
|
1253 |
+<li><div class="src-line"><a name="a1237"></a> <span class="src-sym">}</span></div></li> |
| 1254 |
1254 |
<li><div class="src-line"><a name="a1238"></a> </div></li> |
| 1255 |
|
-<li><div class="src-line"><a name="a1239"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$whitespaceStart</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1256 |
|
-<li><div class="src-line"><a name="a1240"></a> <span class="src-var">$startpos </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1257 |
|
-<li><div class="src-line"><a name="a1241"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1258 |
|
-<li><div class="src-line"><a name="a1242"></a> <span class="src-var">$pointer </span>-= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-var">$startpos</span><span class="src-sym">;</span></div></li> |
| 1259 |
|
-<li><div class="src-line"><a name="a1243"></a> <span class="src-sym">}</span></div></li> |
| 1260 |
|
-<li><div class="src-line"><a name="a1244"></a> </div></li> |
| 1261 |
|
-<li><div class="src-line"><a name="a1245"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$allowNestedComments">allowNestedComments</a> </span>&& <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span>.<span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1262 |
|
-<li><div class="src-line"><a name="a1246"></a> <span class="src-var">$comOpen </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span>.<span class="src-str">'*'</span><span class="src-sym">;</span></div></li> |
| 1263 |
|
-<li><div class="src-line"><a name="a1247"></a> <span class="src-var">$comClose </span>= <span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">;</span></div></li> |
| 1264 |
|
-<li><div class="src-line"><a name="a1248"></a> <span class="src-var">$level </span>= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 1265 |
|
-<li><div class="src-line"><a name="a1249"></a> <span class="src-var">$start </span>= <span class="src-var">$startpos</span><span class="src-sym">;</span></div></li> |
| 1266 |
|
-<li><div class="src-line"><a name="a1250"></a> <span class="src-var">$ptr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>+ <span class="src-str">'*'</span><span class="src-sym">;</span></div></li> |
| 1267 |
|
-<li><div class="src-line"><a name="a1251"></a> </div></li> |
| 1268 |
|
-<li><div class="src-line"><a name="a1252"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$level </span>> <span class="src-num">0 </span>&& <span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1269 |
|
-<li><div class="src-line"><a name="a1253"></a> <span class="src-var">$open </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$comOpen</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1270 |
|
-<li><div class="src-line"><a name="a1254"></a> <span class="src-var">$close </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$comClose</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1271 |
|
-<li><div class="src-line"><a name="a1255"></a> </div></li> |
| 1272 |
|
-<li><div class="src-line"><a name="a1256"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$open </span>!== <span class="src-id">false </span>&& <span class="src-var">$close </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1273 |
|
-<li><div class="src-line"><a name="a1257"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$open </span>< <span class="src-var">$close</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1274 |
|
-<li><div class="src-line"><a name="a1258"></a> <span class="src-var">$ptr </span>= <span class="src-var">$open </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comOpen</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1275 |
|
-<li><div class="src-line"><a name="a1259"></a> <span class="src-var">$level</span>++<span class="src-sym">;</span></div></li> |
| 1276 |
|
-<li><div class="src-line"><a name="a1260"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1277 |
|
-<li><div class="src-line"><a name="a1261"></a> <span class="src-var">$ptr </span>= <span class="src-var">$close </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comClose</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1278 |
|
-<li><div class="src-line"><a name="a1262"></a> <span class="src-var">$level</span>--<span class="src-sym">;</span></div></li> |
| 1279 |
|
-<li><div class="src-line"><a name="a1263"></a> <span class="src-sym">}</span></div></li> |
| 1280 |
|
-<li><div class="src-line"><a name="a1264"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$open </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1281 |
|
-<li><div class="src-line"><a name="a1265"></a> <span class="src-var">$ptr </span>= <span class="src-var">$open </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comOpen</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1282 |
|
-<li><div class="src-line"><a name="a1266"></a> <span class="src-var">$level</span>++<span class="src-sym">;</span></div></li> |
| 1283 |
|
-<li><div class="src-line"><a name="a1267"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$close </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1284 |
|
-<li><div class="src-line"><a name="a1268"></a> <span class="src-var">$ptr </span>= <span class="src-var">$close </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comClose</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1285 |
|
-<li><div class="src-line"><a name="a1269"></a> <span class="src-var">$level</span>--<span class="src-sym">;</span></div></li> |
| 1286 |
|
-<li><div class="src-line"><a name="a1270"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1287 |
|
-<li><div class="src-line"><a name="a1271"></a> <span class="src-var">$ptr </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1288 |
|
-<li><div class="src-line"><a name="a1272"></a> <span class="src-sym">}</span></div></li> |
| 1289 |
|
-<li><div class="src-line"><a name="a1273"></a> <span class="src-sym">}</span></div></li> |
| 1290 |
|
-<li><div class="src-line"><a name="a1274"></a> <span class="src-var">$endpos </span>= <span class="src-var">$ptr </span>- <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1255 |
+<li><div class="src-line"><a name="a1239"></a> <span class="src-doc">/**</span></div></li> |
|
1256 |
+<li><div class="src-line"><a name="a1240"></a><span class="src-doc"> * entry point of the parser, it redirects calls to other parse* functions</span></div></li> |
|
1257 |
+<li><div class="src-line"><a name="a1241"></a><span class="src-doc"> *</span></div></li> |
|
1258 |
+<li><div class="src-line"><a name="a1242"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
|
1259 |
+<li><div class="src-line"><a name="a1243"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
|
1260 |
+<li><div class="src-line"><a name="a1244"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
|
1261 |
+<li><div class="src-line"><a name="a1245"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
|
1262 |
+<li><div class="src-line"><a name="a1246"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
1263 |
+<li><div class="src-line"><a name="a1247"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
|
1264 |
+<li><div class="src-line"><a name="a1248"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
|
1265 |
+<li><div class="src-line"><a name="a1249"></a><span class="src-doc"> */</span></div></li> |
|
1266 |
+<li><div class="src-line"><a name="a1250"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
1267 |
+<li><div class="src-line"><a name="a1251"></a> <span class="src-sym">{</span></div></li> |
|
1268 |
+<li><div class="src-line"><a name="a1252"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$to </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1269 |
+<li><div class="src-line"><a name="a1253"></a> <span class="src-var">$to </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1270 |
+<li><div class="src-line"><a name="a1254"></a> <span class="src-sym">}</span></div></li> |
|
1271 |
+<li><div class="src-line"><a name="a1255"></a> <span class="src-var">$first </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1272 |
+<li><div class="src-line"><a name="a1256"></a> </div></li> |
|
1273 |
+<li><div class="src-line"><a name="a1257"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$first </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1274 |
+<li><div class="src-line"><a name="a1258"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unexpected EOF, a template tag was not closed'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1275 |
+<li><div class="src-line"><a name="a1259"></a> <span class="src-sym">}</span></div></li> |
|
1276 |
+<li><div class="src-line"><a name="a1260"></a> </div></li> |
|
1277 |
+<li><div class="src-line"><a name="a1261"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">" " </span>|| <span class="src-var">$first</span>===<span class="src-str">"\n" </span>|| <span class="src-var">$first</span>===<span class="src-str">"\t" </span>|| <span class="src-var">$first</span>===<span class="src-str">"\r"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1278 |
+<li><div class="src-line"><a name="a1262"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1279 |
+<li><div class="src-line"><a name="a1263"></a> <span class="src-comm">// end template tag</span></div></li> |
|
1280 |
+<li><div class="src-line"><a name="a1264"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1281 |
+<li><div class="src-line"><a name="a1265"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'TEMPLATE PARSING ENDED<br />'</span><span class="src-sym">;</span></div></li> |
|
1282 |
+<li><div class="src-line"><a name="a1266"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1283 |
+<li><div class="src-line"><a name="a1267"></a> <span class="src-sym">}</span></div></li> |
|
1284 |
+<li><div class="src-line"><a name="a1268"></a> <span class="src-var">$from</span>++<span class="src-sym">;</span></div></li> |
|
1285 |
+<li><div class="src-line"><a name="a1269"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1286 |
+<li><div class="src-line"><a name="a1270"></a> <span class="src-var">$pointer</span>++<span class="src-sym">;</span></div></li> |
|
1287 |
+<li><div class="src-line"><a name="a1271"></a> <span class="src-sym">}</span></div></li> |
|
1288 |
+<li><div class="src-line"><a name="a1272"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$from </span>>= <span class="src-var">$to</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1289 |
+<li><div class="src-line"><a name="a1273"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1290 |
+<li><div class="src-line"><a name="a1274"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 1291 |
1291 |
<li><div class="src-line"><a name="a1275"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1292 |
|
-<li><div class="src-line"><a name="a1276"></a> <span class="src-var">$endpos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">, </span><span class="src-var">$startpos</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1293 |
|
-<li><div class="src-line"><a name="a1277"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$endpos </span>== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1294 |
|
-<li><div class="src-line"><a name="a1278"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Un-ended comment'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1295 |
|
-<li><div class="src-line"><a name="a1279"></a> <span class="src-sym">}</span></div></li> |
| 1296 |
|
-<li><div class="src-line"><a name="a1280"></a> <span class="src-sym">}</span></div></li> |
| 1297 |
|
-<li><div class="src-line"><a name="a1281"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$endpos </span>- <span class="src-var">$startpos </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1298 |
|
-<li><div class="src-line"><a name="a1282"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$whitespaceStart</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^[\t ]*\r?\n#'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$endpos</span>+<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1299 |
|
-<li><div class="src-line"><a name="a1283"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1300 |
|
-<li><div class="src-line"><a name="a1284"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">) </span>- <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-var">$startpos </span>- <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 1301 |
|
-<li><div class="src-line"><a name="a1285"></a> <span class="src-sym">}</span></div></li> |
| 1302 |
|
-<li><div class="src-line"><a name="a1286"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1303 |
|
-<li><div class="src-line"><a name="a1287"></a> <span class="src-sym">}</span></div></li> |
| 1304 |
|
-<li><div class="src-line"><a name="a1288"></a> <span class="src-sym">}</span></div></li> |
| 1305 |
|
-<li><div class="src-line"><a name="a1289"></a> </div></li> |
| 1306 |
|
-<li><div class="src-line"><a name="a1290"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1307 |
|
-<li><div class="src-line"><a name="a1291"></a> <span class="src-comm">// var</span></div></li> |
| 1308 |
|
-<li><div class="src-line"><a name="a1292"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1309 |
|
-<li><div class="src-line"><a name="a1293"></a> <span class="src-var">$parsed </span>= <span class="src-str">'var'</span><span class="src-sym">;</span></div></li> |
| 1310 |
|
-<li><div class="src-line"><a name="a1294"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">'%' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^%[a-z]#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1311 |
|
-<li><div class="src-line"><a name="a1295"></a> <span class="src-comm">// const</span></div></li> |
| 1312 |
|
-<li><div class="src-line"><a name="a1296"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConst">parseConst</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1313 |
|
-<li><div class="src-line"><a name="a1297"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">'"' </span>|| <span class="src-var">$first</span>===<span class="src-str">"'"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1314 |
|
-<li><div class="src-line"><a name="a1298"></a> <span class="src-comm">// string</span></div></li> |
| 1315 |
|
-<li><div class="src-line"><a name="a1299"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseString">parseString</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1316 |
|
-<li><div class="src-line"><a name="a1300"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^[a-z][a-z0-9_]*(?:::[a-z][a-z0-9_]*)?('</span>.<span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)</span>||<span class="src-var">$curBlock</span>!=<span class="src-str">'root'</span>?<span class="src-str">''</span>:<span class="src-str">'\s+[^(]|'</span><span class="src-sym">)</span>.<span class="src-str">'\s*\(|\s*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a></span>.<span class="src-str">'|\s*;)/i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1317 |
|
-<li><div class="src-line"><a name="a1301"></a> <span class="src-comm">// func</span></div></li> |
| 1318 |
|
-<li><div class="src-line"><a name="a1302"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseFunction">parseFunction</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1319 |
|
-<li><div class="src-line"><a name="a1303"></a> <span class="src-var">$parsed </span>= <span class="src-str">'func'</span><span class="src-sym">;</span></div></li> |
| 1320 |
|
-<li><div class="src-line"><a name="a1304"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$first </span>=== <span class="src-str">';'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1321 |
|
-<li><div class="src-line"><a name="a1305"></a> <span class="src-comm">// instruction end</span></div></li> |
| 1322 |
|
-<li><div class="src-line"><a name="a1306"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'END OF INSTRUCTION<br />'</span><span class="src-sym">;</span></div></li> |
| 1323 |
|
-<li><div class="src-line"><a name="a1307"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1324 |
|
-<li><div class="src-line"><a name="a1308"></a> <span class="src-var">$pointer</span>++<span class="src-sym">;</span></div></li> |
| 1325 |
|
-<li><div class="src-line"><a name="a1309"></a> <span class="src-sym">}</span></div></li> |
| 1326 |
|
-<li><div class="src-line"><a name="a1310"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span>+<span class="src-num">1</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'root'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1327 |
|
-<li><div class="src-line"><a name="a1311"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^/([a-z][a-z0-9_]*)?#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1328 |
|
-<li><div class="src-line"><a name="a1312"></a> <span class="src-comm">// close block</span></div></li> |
| 1329 |
|
-<li><div class="src-line"><a name="a1313"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>== <span class="src-str">'else'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1330 |
|
-<li><div class="src-line"><a name="a1314"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Else blocks must not be closed explicitly, they are automatically closed when their parent block is closed'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1331 |
|
-<li><div class="src-line"><a name="a1315"></a> <span class="src-sym">}</span></div></li> |
| 1332 |
|
-<li><div class="src-line"><a name="a1316"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>== <span class="src-str">'elseif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1333 |
|
-<li><div class="src-line"><a name="a1317"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Elseif blocks must not be closed explicitly, they are automatically closed when their parent block is closed or a new else/elseif block is declared after them'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1334 |
|
-<li><div class="src-line"><a name="a1318"></a> <span class="src-sym">}</span></div></li> |
| 1335 |
|
-<li><div class="src-line"><a name="a1319"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1336 |
|
-<li><div class="src-line"><a name="a1320"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1337 |
|
-<li><div class="src-line"><a name="a1321"></a> <span class="src-sym">}</span></div></li> |
| 1338 |
|
-<li><div class="src-line"><a name="a1322"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1339 |
|
-<li><div class="src-line"><a name="a1323"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>== <span class="src-str">'else' </span>|| <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>== <span class="src-str">'elseif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1340 |
|
-<li><div class="src-line"><a name="a1324"></a> <span class="src-var">$pointer </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1341 |
|
-<li><div class="src-line"><a name="a1325"></a> <span class="src-sym">}</span></div></li> |
| 1342 |
|
-<li><div class="src-line"><a name="a1326"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'TOP BLOCK CLOSED<br />'</span><span class="src-sym">;</span></div></li> |
| 1343 |
|
-<li><div class="src-line"><a name="a1327"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveTopBlock">removeTopBlock</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1344 |
|
-<li><div class="src-line"><a name="a1328"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1345 |
|
-<li><div class="src-line"><a name="a1329"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BLOCK OF TYPE '</span>.<span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">' CLOSED<br />'</span><span class="src-sym">;</span></div></li> |
| 1346 |
|
-<li><div class="src-line"><a name="a1330"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveBlock">removeBlock</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1347 |
|
-<li><div class="src-line"><a name="a1331"></a> <span class="src-sym">}</span></div></li> |
| 1348 |
|
-<li><div class="src-line"><a name="a1332"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1349 |
|
-<li><div class="src-line"><a name="a1333"></a> <span class="src-comm">// end template tag</span></div></li> |
| 1350 |
|
-<li><div class="src-line"><a name="a1334"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'TAG PARSING ENDED<br />'</span><span class="src-sym">;</span></div></li> |
| 1351 |
|
-<li><div class="src-line"><a name="a1335"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1352 |
|
-<li><div class="src-line"><a name="a1336"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1353 |
|
-<li><div class="src-line"><a name="a1337"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^([a-z0-9_]+\s*=)(?:\s+|[^=]).*#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1354 |
|
-<li><div class="src-line"><a name="a1338"></a> <span class="src-comm">// named parameter</span></div></li> |
| 1355 |
|
-<li><div class="src-line"><a name="a1339"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'NAMED PARAM FOUND<br />'</span><span class="src-sym">;</span></div></li> |
| 1356 |
|
-<li><div class="src-line"><a name="a1340"></a> <span class="src-var">$len </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1357 |
|
-<li><div class="src-line"><a name="a1341"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span>+<span class="src-var">$len</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">' '</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1358 |
|
-<li><div class="src-line"><a name="a1342"></a> <span class="src-var">$len</span>++<span class="src-sym">;</span></div></li> |
| 1359 |
|
-<li><div class="src-line"><a name="a1343"></a> <span class="src-sym">}</span></div></li> |
| 1360 |
|
-<li><div class="src-line"><a name="a1344"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1361 |
|
-<li><div class="src-line"><a name="a1345"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$len</span><span class="src-sym">;</span></div></li> |
| 1362 |
|
-<li><div class="src-line"><a name="a1346"></a> <span class="src-sym">}</span></div></li> |
| 1363 |
|
-<li><div class="src-line"><a name="a1347"></a> </div></li> |
| 1364 |
|
-<li><div class="src-line"><a name="a1348"></a> <span class="src-var">$output </span>= <span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span>+<span class="src-var">$len</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'namedparam'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1365 |
|
-<li><div class="src-line"><a name="a1349"></a> </div></li> |
| 1366 |
|
-<li><div class="src-line"><a name="a1350"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 1367 |
|
-<li><div class="src-line"><a name="a1351"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 1368 |
|
-<li><div class="src-line"><a name="a1352"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^([a-z0-9_]+::\$[a-z0-9_]+)#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1369 |
|
-<li><div class="src-line"><a name="a1353"></a> <span class="src-comm">// static member access</span></div></li> |
| 1370 |
|
-<li><div class="src-line"><a name="a1354"></a> <span class="src-var">$parsed </span>= <span class="src-str">'var'</span><span class="src-sym">;</span></div></li> |
| 1371 |
|
-<li><div class="src-line"><a name="a1355"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1372 |
|
-<li><div class="src-line"><a name="a1356"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1373 |
|
-<li><div class="src-line"><a name="a1357"></a> <span class="src-var">$out </span>= <span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 1374 |
|
-<li><div class="src-line"><a name="a1358"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1375 |
|
-<li><div class="src-line"><a name="a1359"></a> <span class="src-var">$out </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1376 |
|
-<li><div class="src-line"><a name="a1360"></a> <span class="src-sym">}</span></div></li> |
| 1377 |
|
-<li><div class="src-line"><a name="a1361"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1378 |
|
-<li><div class="src-line"><a name="a1362"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$substr</span>!==<span class="src-str">'' </span>&& <span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'condition' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'expression'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1379 |
|
-<li><div class="src-line"><a name="a1363"></a> <span class="src-comm">// unquoted string, bool or number</span></div></li> |
| 1380 |
|
-<li><div class="src-line"><a name="a1364"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1381 |
|
-<li><div class="src-line"><a name="a1365"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1382 |
|
-<li><div class="src-line"><a name="a1366"></a> <span class="src-comm">// parse error</span></div></li> |
| 1383 |
|
-<li><div class="src-line"><a name="a1367"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Parse error in "'</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1384 |
|
-<li><div class="src-line"><a name="a1368"></a> <span class="src-sym">}</span></div></li> |
| 1385 |
|
-<li><div class="src-line"><a name="a1369"></a> </div></li> |
| 1386 |
|
-<li><div class="src-line"><a name="a1370"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1387 |
|
-<li><div class="src-line"><a name="a1371"></a> <span class="src-key">return </span><span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1388 |
|
-<li><div class="src-line"><a name="a1372"></a> <span class="src-sym">}</span></div></li> |
| 1389 |
|
-<li><div class="src-line"><a name="a1373"></a> </div></li> |
| 1390 |
|
-<li><div class="src-line"><a name="a1374"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1391 |
|
-<li><div class="src-line"><a name="a1375"></a> </div></li> |
| 1392 |
|
-<li><div class="src-line"><a name="a1376"></a> <span class="src-comm">// var parsed, check if any var-extension applies</span></div></li> |
| 1393 |
|
-<li><div class="src-line"><a name="a1377"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$parsed</span>===<span class="src-str">'var'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1394 |
|
-<li><div class="src-line"><a name="a1378"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^\s*([/%+*-])\s*([a-z0-9]|\$)#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1395 |
|
-<li><div class="src-line"><a name="a1379"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARSING POST-VAR EXPRESSION '</span>.<span class="src-var">$substr</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
| 1396 |
|
-<li><div class="src-line"><a name="a1380"></a> <span class="src-comm">// parse expressions</span></div></li> |
| 1397 |
|
-<li><div class="src-line"><a name="a1381"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>- <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 1398 |
|
-<li><div class="src-line"><a name="a1382"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1399 |
|
-<li><div class="src-line"><a name="a1383"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">] </span>== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1400 |
|
-<li><div class="src-line"><a name="a1384"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1401 |
|
-<li><div class="src-line"><a name="a1385"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1402 |
|
-<li><div class="src-line"><a name="a1386"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1403 |
|
-<li><div class="src-line"><a name="a1387"></a> <span class="src-sym">}</span></div></li> |
| 1404 |
|
-<li><div class="src-line"><a name="a1388"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1405 |
|
-<li><div class="src-line"><a name="a1389"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1406 |
|
-<li><div class="src-line"><a name="a1390"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1407 |
|
-<li><div class="src-line"><a name="a1391"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">] </span>== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1408 |
|
-<li><div class="src-line"><a name="a1392"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1409 |
|
-<li><div class="src-line"><a name="a1393"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1410 |
|
-<li><div class="src-line"><a name="a1394"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1411 |
|
-<li><div class="src-line"><a name="a1395"></a> <span class="src-sym">}</span></div></li> |
| 1412 |
|
-<li><div class="src-line"><a name="a1396"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$expr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1413 |
|
-<li><div class="src-line"><a name="a1397"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1414 |
|
-<li><div class="src-line"><a name="a1398"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1415 |
|
-<li><div class="src-line"><a name="a1399"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1416 |
|
-<li><div class="src-line"><a name="a1400"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">;</span></div></li> |
| 1417 |
|
-<li><div class="src-line"><a name="a1401"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">;</span></div></li> |
| 1418 |
|
-<li><div class="src-line"><a name="a1402"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$expr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1419 |
|
-<li><div class="src-line"><a name="a1403"></a> <span class="src-var">$out </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1420 |
|
-<li><div class="src-line"><a name="a1404"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1421 |
|
-<li><div class="src-line"><a name="a1405"></a> <span class="src-var">$out </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">;</span></div></li> |
| 1422 |
|
-<li><div class="src-line"><a name="a1406"></a> <span class="src-sym">}</span></div></li> |
| 1423 |
|
-<li><div class="src-line"><a name="a1407"></a> <span class="src-sym">}</span></div></li> |
| 1424 |
|
-<li><div class="src-line"><a name="a1408"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^(\s*(?:[+/*%-.]=|=|\+\+|--)\s*)(.*)#s'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1425 |
|
-<li><div class="src-line"><a name="a1409"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARSING POST-VAR ASSIGNMENT '</span>.<span class="src-var">$substr</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
| 1426 |
|
-<li><div class="src-line"><a name="a1410"></a> <span class="src-comm">// parse assignment</span></div></li> |
| 1427 |
|
-<li><div class="src-line"><a name="a1411"></a> <span class="src-var">$value </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1428 |
|
-<li><div class="src-line"><a name="a1412"></a> <span class="src-var">$operator </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1429 |
|
-<li><div class="src-line"><a name="a1413"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">'='</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1430 |
|
-<li><div class="src-line"><a name="a1414"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unexpected "=" in <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1431 |
|
-<li><div class="src-line"><a name="a1415"></a> <span class="src-sym">}</span></div></li> |
| 1432 |
|
-<li><div class="src-line"><a name="a1416"></a> </div></li> |
| 1433 |
|
-<li><div class="src-line"><a name="a1417"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1434 |
|
-<li><div class="src-line"><a name="a1418"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1435 |
|
-<li><div class="src-line"><a name="a1419"></a> <span class="src-sym">}</span></div></li> |
| 1436 |
|
-<li><div class="src-line"><a name="a1420"></a> </div></li> |
| 1437 |
|
-<li><div class="src-line"><a name="a1421"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$operator </span>!== <span class="src-str">'++' </span>&& <span class="src-var">$operator </span>!== <span class="src-str">'--'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1438 |
|
-<li><div class="src-line"><a name="a1422"></a> <span class="src-var">$parts </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1439 |
|
-<li><div class="src-line"><a name="a1423"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 1440 |
|
-<li><div class="src-line"><a name="a1424"></a> <span class="src-var">$parts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$parts</span><span class="src-sym">, </span><span class="src-str">'condition'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1441 |
|
-<li><div class="src-line"><a name="a1425"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 1442 |
|
-<li><div class="src-line"><a name="a1426"></a> </div></li> |
| 1443 |
|
-<li><div class="src-line"><a name="a1427"></a> <span class="src-comm">// load if plugin</span></div></li> |
| 1444 |
|
-<li><div class="src-line"><a name="a1428"></a> try <span class="src-sym">{</span></div></li> |
| 1445 |
|
-<li><div class="src-line"><a name="a1429"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-str">'if'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1446 |
|
-<li><div class="src-line"><a name="a1430"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a> </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1447 |
|
-<li><div class="src-line"><a name="a1431"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Assignments require the "if" plugin to be accessible'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1448 |
|
-<li><div class="src-line"><a name="a1432"></a> <span class="src-sym">}</span></div></li> |
| 1449 |
|
-<li><div class="src-line"><a name="a1433"></a> </div></li> |
| 1450 |
|
-<li><div class="src-line"><a name="a1434"></a> <span class="src-var">$parts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$parts</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_if'</span><span class="src-sym">, </span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1451 |
|
-<li><div class="src-line"><a name="a1435"></a> <span class="src-var">$parts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetCompiledParams">getCompiledParams</a><span class="src-sym">(</span><span class="src-var">$parts</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1292 |
+<li><div class="src-line"><a name="a1276"></a> <span class="src-key">return </span><span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1293 |
+<li><div class="src-line"><a name="a1277"></a> <span class="src-sym">}</span></div></li> |
|
1294 |
+<li><div class="src-line"><a name="a1278"></a> <span class="src-sym">}</span></div></li> |
|
1295 |
+<li><div class="src-line"><a name="a1279"></a> <span class="src-var">$first </span>= <span class="src-var">$in</span><span class="src-sym">[</span><span class="src-var">$from</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1296 |
+<li><div class="src-line"><a name="a1280"></a> <span class="src-sym">}</span></div></li> |
|
1297 |
+<li><div class="src-line"><a name="a1281"></a> </div></li> |
|
1298 |
+<li><div class="src-line"><a name="a1282"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1299 |
+<li><div class="src-line"><a name="a1283"></a> </div></li> |
|
1300 |
+<li><div class="src-line"><a name="a1284"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'<br />PARSE CALL : PARSING "<b>'</span>.<a href="http://www.php.net/htmlentities">htmlentities</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><a href="http://www.php.net/min">min</a><span class="src-sym">(</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">, </span><span class="src-num">50</span><span class="src-sym">)))</span>.<span class="src-sym">((</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">) </span>> <span class="src-num">50 </span>? <span class="src-str">'...'</span>:<span class="src-str">''</span><span class="src-sym">)</span>.<span class="src-str">'</b>" @ '</span>.<span class="src-var">$from</span>.<span class="src-str">':'</span>.<span class="src-var">$to</span>.<span class="src-str">' in '</span>.<span class="src-var">$curBlock</span>.<span class="src-str">' : pointer='</span>.<span class="src-var">$pointer</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
1301 |
+<li><div class="src-line"><a name="a1285"></a> <span class="src-var">$parsed </span>= <span class="src-str">""</span><span class="src-sym">;</span></div></li> |
|
1302 |
+<li><div class="src-line"><a name="a1286"></a> </div></li> |
|
1303 |
+<li><div class="src-line"><a name="a1287"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <span class="src-var">$first </span>=== <span class="src-str">'*'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1304 |
+<li><div class="src-line"><a name="a1288"></a> <span class="src-var">$src </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetTemplateSource">getTemplateSource</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1305 |
+<li><div class="src-line"><a name="a1289"></a> <span class="src-var">$startpos </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>- <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1306 |
+<li><div class="src-line"><a name="a1290"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$startpos</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1307 |
+<li><div class="src-line"><a name="a1291"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$startpos </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1308 |
+<li><div class="src-line"><a name="a1292"></a> do <span class="src-sym">{</span></div></li> |
|
1309 |
+<li><div class="src-line"><a name="a1293"></a> <span class="src-var">$char </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span>--<span class="src-var">$startpos</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1310 |
+<li><div class="src-line"><a name="a1294"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$char </span>== <span class="src-str">"\n"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1311 |
+<li><div class="src-line"><a name="a1295"></a> <span class="src-var">$startpos</span>++<span class="src-sym">;</span></div></li> |
|
1312 |
+<li><div class="src-line"><a name="a1296"></a> <span class="src-var">$whitespaceStart </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
1313 |
+<li><div class="src-line"><a name="a1297"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1314 |
+<li><div class="src-line"><a name="a1298"></a> <span class="src-sym">}</span></div></li> |
|
1315 |
+<li><div class="src-line"><a name="a1299"></a> <span class="src-sym">} </span><span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$startpos </span>> <span class="src-num">0 </span>&& <span class="src-sym">(</span><span class="src-var">$char </span>== <span class="src-str">' ' </span>|| <span class="src-var">$char </span>== <span class="src-str">"\t"</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1316 |
+<li><div class="src-line"><a name="a1300"></a> <span class="src-sym">}</span></div></li> |
|
1317 |
+<li><div class="src-line"><a name="a1301"></a> </div></li> |
|
1318 |
+<li><div class="src-line"><a name="a1302"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span>isset<span class="src-sym">(</span><span class="src-var">$whitespaceStart</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1319 |
+<li><div class="src-line"><a name="a1303"></a> <span class="src-var">$startpos </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1320 |
+<li><div class="src-line"><a name="a1304"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1321 |
+<li><div class="src-line"><a name="a1305"></a> <span class="src-var">$pointer </span>-= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-var">$startpos</span><span class="src-sym">;</span></div></li> |
|
1322 |
+<li><div class="src-line"><a name="a1306"></a> <span class="src-sym">}</span></div></li> |
|
1323 |
+<li><div class="src-line"><a name="a1307"></a> </div></li> |
|
1324 |
+<li><div class="src-line"><a name="a1308"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$allowNestedComments">allowNestedComments</a> </span>&& <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span>.<span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1325 |
+<li><div class="src-line"><a name="a1309"></a> <span class="src-var">$comOpen </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span>.<span class="src-str">'*'</span><span class="src-sym">;</span></div></li> |
|
1326 |
+<li><div class="src-line"><a name="a1310"></a> <span class="src-var">$comClose </span>= <span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">;</span></div></li> |
|
1327 |
+<li><div class="src-line"><a name="a1311"></a> <span class="src-var">$level </span>= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
1328 |
+<li><div class="src-line"><a name="a1312"></a> <span class="src-var">$start </span>= <span class="src-var">$startpos</span><span class="src-sym">;</span></div></li> |
|
1329 |
+<li><div class="src-line"><a name="a1313"></a> <span class="src-var">$ptr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>+ <span class="src-str">'*'</span><span class="src-sym">;</span></div></li> |
|
1330 |
+<li><div class="src-line"><a name="a1314"></a> </div></li> |
|
1331 |
+<li><div class="src-line"><a name="a1315"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$level </span>> <span class="src-num">0 </span>&& <span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1332 |
+<li><div class="src-line"><a name="a1316"></a> <span class="src-var">$open </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$comOpen</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1333 |
+<li><div class="src-line"><a name="a1317"></a> <span class="src-var">$close </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$comClose</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1334 |
+<li><div class="src-line"><a name="a1318"></a> </div></li> |
|
1335 |
+<li><div class="src-line"><a name="a1319"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$open </span>!== <span class="src-id">false </span>&& <span class="src-var">$close </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1336 |
+<li><div class="src-line"><a name="a1320"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$open </span>< <span class="src-var">$close</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1337 |
+<li><div class="src-line"><a name="a1321"></a> <span class="src-var">$ptr </span>= <span class="src-var">$open </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comOpen</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1338 |
+<li><div class="src-line"><a name="a1322"></a> <span class="src-var">$level</span>++<span class="src-sym">;</span></div></li> |
|
1339 |
+<li><div class="src-line"><a name="a1323"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1340 |
+<li><div class="src-line"><a name="a1324"></a> <span class="src-var">$ptr </span>= <span class="src-var">$close </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comClose</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1341 |
+<li><div class="src-line"><a name="a1325"></a> <span class="src-var">$level</span>--<span class="src-sym">;</span></div></li> |
|
1342 |
+<li><div class="src-line"><a name="a1326"></a> <span class="src-sym">}</span></div></li> |
|
1343 |
+<li><div class="src-line"><a name="a1327"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$open </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1344 |
+<li><div class="src-line"><a name="a1328"></a> <span class="src-var">$ptr </span>= <span class="src-var">$open </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comOpen</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1345 |
+<li><div class="src-line"><a name="a1329"></a> <span class="src-var">$level</span>++<span class="src-sym">;</span></div></li> |
|
1346 |
+<li><div class="src-line"><a name="a1330"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$close </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1347 |
+<li><div class="src-line"><a name="a1331"></a> <span class="src-var">$ptr </span>= <span class="src-var">$close </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$comClose</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1348 |
+<li><div class="src-line"><a name="a1332"></a> <span class="src-var">$level</span>--<span class="src-sym">;</span></div></li> |
|
1349 |
+<li><div class="src-line"><a name="a1333"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1350 |
+<li><div class="src-line"><a name="a1334"></a> <span class="src-var">$ptr </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1351 |
+<li><div class="src-line"><a name="a1335"></a> <span class="src-sym">}</span></div></li> |
|
1352 |
+<li><div class="src-line"><a name="a1336"></a> <span class="src-sym">}</span></div></li> |
|
1353 |
+<li><div class="src-line"><a name="a1337"></a> <span class="src-var">$endpos </span>= <span class="src-var">$ptr </span>- <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1354 |
+<li><div class="src-line"><a name="a1338"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1355 |
+<li><div class="src-line"><a name="a1339"></a> <span class="src-var">$endpos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">, </span><span class="src-var">$startpos</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1356 |
+<li><div class="src-line"><a name="a1340"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$endpos </span>== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1357 |
+<li><div class="src-line"><a name="a1341"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Un-ended comment'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1358 |
+<li><div class="src-line"><a name="a1342"></a> <span class="src-sym">}</span></div></li> |
|
1359 |
+<li><div class="src-line"><a name="a1343"></a> <span class="src-sym">}</span></div></li> |
|
1360 |
+<li><div class="src-line"><a name="a1344"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$endpos </span>- <span class="src-var">$startpos </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1361 |
+<li><div class="src-line"><a name="a1345"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$whitespaceStart</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^[\t ]*\r?\n#'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$endpos</span>+<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-str">'*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1362 |
+<li><div class="src-line"><a name="a1346"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1363 |
+<li><div class="src-line"><a name="a1347"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">] </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'buffer'</span><span class="src-sym">]</span><span class="src-sym">) </span>- <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPointer">getPointer</a><span class="src-sym">(</span><span class="src-sym">) </span>- <span class="src-var">$startpos </span>- <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$ld">ld</a></span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
1364 |
+<li><div class="src-line"><a name="a1348"></a> <span class="src-sym">}</span></div></li> |
|
1365 |
+<li><div class="src-line"><a name="a1349"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1366 |
+<li><div class="src-line"><a name="a1350"></a> <span class="src-sym">}</span></div></li> |
|
1367 |
+<li><div class="src-line"><a name="a1351"></a> <span class="src-sym">}</span></div></li> |
|
1368 |
+<li><div class="src-line"><a name="a1352"></a> </div></li> |
|
1369 |
+<li><div class="src-line"><a name="a1353"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1370 |
+<li><div class="src-line"><a name="a1354"></a> <span class="src-comm">// var</span></div></li> |
|
1371 |
+<li><div class="src-line"><a name="a1355"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1372 |
+<li><div class="src-line"><a name="a1356"></a> <span class="src-var">$parsed </span>= <span class="src-str">'var'</span><span class="src-sym">;</span></div></li> |
|
1373 |
+<li><div class="src-line"><a name="a1357"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">'%' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^%[a-z]#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1374 |
+<li><div class="src-line"><a name="a1358"></a> <span class="src-comm">// const</span></div></li> |
|
1375 |
+<li><div class="src-line"><a name="a1359"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConst">parseConst</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1376 |
+<li><div class="src-line"><a name="a1360"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">'"' </span>|| <span class="src-var">$first</span>===<span class="src-str">"'"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1377 |
+<li><div class="src-line"><a name="a1361"></a> <span class="src-comm">// string</span></div></li> |
|
1378 |
+<li><div class="src-line"><a name="a1362"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseString">parseString</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1379 |
+<li><div class="src-line"><a name="a1363"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^[a-z][a-z0-9_]*(?:::[a-z][a-z0-9_]*)?('</span>.<span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)</span>||<span class="src-var">$curBlock</span>!=<span class="src-str">'root'</span>?<span class="src-str">''</span>:<span class="src-str">'\s+[^(]|'</span><span class="src-sym">)</span>.<span class="src-str">'\s*\(|\s*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a></span>.<span class="src-str">'|\s*;)/i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1380 |
+<li><div class="src-line"><a name="a1364"></a> <span class="src-comm">// func</span></div></li> |
|
1381 |
+<li><div class="src-line"><a name="a1365"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseFunction">parseFunction</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1382 |
+<li><div class="src-line"><a name="a1366"></a> <span class="src-var">$parsed </span>= <span class="src-str">'func'</span><span class="src-sym">;</span></div></li> |
|
1383 |
+<li><div class="src-line"><a name="a1367"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$first </span>=== <span class="src-str">';'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1384 |
+<li><div class="src-line"><a name="a1368"></a> <span class="src-comm">// instruction end</span></div></li> |
|
1385 |
+<li><div class="src-line"><a name="a1369"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'END OF INSTRUCTION<br />'</span><span class="src-sym">;</span></div></li> |
|
1386 |
+<li><div class="src-line"><a name="a1370"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1387 |
+<li><div class="src-line"><a name="a1371"></a> <span class="src-var">$pointer</span>++<span class="src-sym">;</span></div></li> |
|
1388 |
+<li><div class="src-line"><a name="a1372"></a> <span class="src-sym">}</span></div></li> |
|
1389 |
+<li><div class="src-line"><a name="a1373"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span>+<span class="src-num">1</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'root'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1390 |
+<li><div class="src-line"><a name="a1374"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^/([a-z][a-z0-9_]*)?#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1391 |
+<li><div class="src-line"><a name="a1375"></a> <span class="src-comm">// close block</span></div></li> |
|
1392 |
+<li><div class="src-line"><a name="a1376"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>== <span class="src-str">'else'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1393 |
+<li><div class="src-line"><a name="a1377"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Else blocks must not be closed explicitly, they are automatically closed when their parent block is closed'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1394 |
+<li><div class="src-line"><a name="a1378"></a> <span class="src-sym">}</span></div></li> |
|
1395 |
+<li><div class="src-line"><a name="a1379"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>== <span class="src-str">'elseif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1396 |
+<li><div class="src-line"><a name="a1380"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Elseif blocks must not be closed explicitly, they are automatically closed when their parent block is closed or a new else/elseif block is declared after them'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1397 |
+<li><div class="src-line"><a name="a1381"></a> <span class="src-sym">}</span></div></li> |
|
1398 |
+<li><div class="src-line"><a name="a1382"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1399 |
+<li><div class="src-line"><a name="a1383"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1400 |
+<li><div class="src-line"><a name="a1384"></a> <span class="src-sym">}</span></div></li> |
|
1401 |
+<li><div class="src-line"><a name="a1385"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1402 |
+<li><div class="src-line"><a name="a1386"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>== <span class="src-str">'else' </span>|| <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$curBlock">curBlock</a></span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>== <span class="src-str">'elseif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1403 |
+<li><div class="src-line"><a name="a1387"></a> <span class="src-var">$pointer </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1404 |
+<li><div class="src-line"><a name="a1388"></a> <span class="src-sym">}</span></div></li> |
|
1405 |
+<li><div class="src-line"><a name="a1389"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'TOP BLOCK CLOSED<br />'</span><span class="src-sym">;</span></div></li> |
|
1406 |
+<li><div class="src-line"><a name="a1390"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveTopBlock">removeTopBlock</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1407 |
+<li><div class="src-line"><a name="a1391"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1408 |
+<li><div class="src-line"><a name="a1392"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BLOCK OF TYPE '</span>.<span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">' CLOSED<br />'</span><span class="src-sym">;</span></div></li> |
|
1409 |
+<li><div class="src-line"><a name="a1393"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodremoveBlock">removeBlock</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1410 |
+<li><div class="src-line"><a name="a1394"></a> <span class="src-sym">}</span></div></li> |
|
1411 |
+<li><div class="src-line"><a name="a1395"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1412 |
+<li><div class="src-line"><a name="a1396"></a> <span class="src-comm">// end template tag</span></div></li> |
|
1413 |
+<li><div class="src-line"><a name="a1397"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'TAG PARSING ENDED<br />'</span><span class="src-sym">;</span></div></li> |
|
1414 |
+<li><div class="src-line"><a name="a1398"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1415 |
+<li><div class="src-line"><a name="a1399"></a> <span class="src-key">return </span><span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1416 |
+<li><div class="src-line"><a name="a1400"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^([a-z0-9_]+\s*=)(?:\s+|[^=]).*#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1417 |
+<li><div class="src-line"><a name="a1401"></a> <span class="src-comm">// named parameter</span></div></li> |
|
1418 |
+<li><div class="src-line"><a name="a1402"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'NAMED PARAM FOUND<br />'</span><span class="src-sym">;</span></div></li> |
|
1419 |
+<li><div class="src-line"><a name="a1403"></a> <span class="src-var">$len </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1420 |
+<li><div class="src-line"><a name="a1404"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span>+<span class="src-var">$len</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">' '</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1421 |
+<li><div class="src-line"><a name="a1405"></a> <span class="src-var">$len</span>++<span class="src-sym">;</span></div></li> |
|
1422 |
+<li><div class="src-line"><a name="a1406"></a> <span class="src-sym">}</span></div></li> |
|
1423 |
+<li><div class="src-line"><a name="a1407"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1424 |
+<li><div class="src-line"><a name="a1408"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$len</span><span class="src-sym">;</span></div></li> |
|
1425 |
+<li><div class="src-line"><a name="a1409"></a> <span class="src-sym">}</span></div></li> |
|
1426 |
+<li><div class="src-line"><a name="a1410"></a> </div></li> |
|
1427 |
+<li><div class="src-line"><a name="a1411"></a> <span class="src-var">$output </span>= <span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span>+<span class="src-var">$len</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'namedparam'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1428 |
+<li><div class="src-line"><a name="a1412"></a> </div></li> |
|
1429 |
+<li><div class="src-line"><a name="a1413"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
1430 |
+<li><div class="src-line"><a name="a1414"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
|
1431 |
+<li><div class="src-line"><a name="a1415"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^([a-z0-9_]+::\$[a-z0-9_]+)#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1432 |
+<li><div class="src-line"><a name="a1416"></a> <span class="src-comm">// static member access</span></div></li> |
|
1433 |
+<li><div class="src-line"><a name="a1417"></a> <span class="src-var">$parsed </span>= <span class="src-str">'var'</span><span class="src-sym">;</span></div></li> |
|
1434 |
+<li><div class="src-line"><a name="a1418"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1435 |
+<li><div class="src-line"><a name="a1419"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1436 |
+<li><div class="src-line"><a name="a1420"></a> <span class="src-var">$out </span>= <span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
|
1437 |
+<li><div class="src-line"><a name="a1421"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1438 |
+<li><div class="src-line"><a name="a1422"></a> <span class="src-var">$out </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1439 |
+<li><div class="src-line"><a name="a1423"></a> <span class="src-sym">}</span></div></li> |
|
1440 |
+<li><div class="src-line"><a name="a1424"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1441 |
+<li><div class="src-line"><a name="a1425"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$substr</span>!==<span class="src-str">'' </span>&& <span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'condition' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'expression'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1442 |
+<li><div class="src-line"><a name="a1426"></a> <span class="src-comm">// unquoted string, bool or number</span></div></li> |
|
1443 |
+<li><div class="src-line"><a name="a1427"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1444 |
+<li><div class="src-line"><a name="a1428"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1445 |
+<li><div class="src-line"><a name="a1429"></a> <span class="src-comm">// parse error</span></div></li> |
|
1446 |
+<li><div class="src-line"><a name="a1430"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Parse error in "'</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span>.<span class="src-str">'"'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1447 |
+<li><div class="src-line"><a name="a1431"></a> <span class="src-sym">}</span></div></li> |
|
1448 |
+<li><div class="src-line"><a name="a1432"></a> </div></li> |
|
1449 |
+<li><div class="src-line"><a name="a1433"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1450 |
+<li><div class="src-line"><a name="a1434"></a> <span class="src-key">return </span><span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1451 |
+<li><div class="src-line"><a name="a1435"></a> <span class="src-sym">}</span></div></li> |
| 1452 |
1452 |
<li><div class="src-line"><a name="a1436"></a> </div></li> |
| 1453 |
|
-<li><div class="src-line"><a name="a1437"></a> <span class="src-var">$value </span>= <span class="src-id"><a href="../Dwoo/Dwoo_Plugin_if.html">Dwoo_Plugin_if</a></span><span class="src-sym">::</span><a href="../Dwoo/Dwoo_Plugin_if.html#methodreplaceKeywords">replaceKeywords</a><span class="src-sym">(</span><span class="src-var">$parts</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1454 |
|
-<li><div class="src-line"><a name="a1438"></a> <span class="src-var">$echo </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1455 |
|
-<li><div class="src-line"><a name="a1439"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1456 |
|
-<li><div class="src-line"><a name="a1440"></a> <span class="src-var">$value </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1457 |
|
-<li><div class="src-line"><a name="a1441"></a> <span class="src-var">$echo </span>= <span class="src-str">'echo '</span><span class="src-sym">;</span></div></li> |
| 1458 |
|
-<li><div class="src-line"><a name="a1442"></a> <span class="src-sym">}</span></div></li> |
| 1459 |
|
-<li><div class="src-line"><a name="a1443"></a> </div></li> |
| 1460 |
|
-<li><div class="src-line"><a name="a1444"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1461 |
|
-<li><div class="src-line"><a name="a1445"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#\(is_string\(\$tmp=(.+?)\) \? htmlspecialchars\(\$tmp, ENT_QUOTES, \$this->charset\) : \$tmp\)#'</span><span class="src-sym">, </span><span class="src-str">'$1'</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1462 |
|
-<li><div class="src-line"><a name="a1446"></a> <span class="src-sym">}</span></div></li> |
| 1463 |
|
-<li><div class="src-line"><a name="a1447"></a> <span class="src-var">$out </span>= <span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html">Dwoo_Compiler</a></span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span>. <span class="src-var">$echo </span>. <span class="src-var">$out </span>. <span class="src-var">$operator </span>. <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$value</span><span class="src-sym">) </span>. <span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html">Dwoo_Compiler</a></span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
| 1464 |
|
-<li><div class="src-line"><a name="a1448"></a> <span class="src-sym">}</span></div></li> |
| 1465 |
|
-<li><div class="src-line"><a name="a1449"></a> <span class="src-sym">}</span></div></li> |
| 1466 |
|
-<li><div class="src-line"><a name="a1450"></a> </div></li> |
| 1467 |
|
-<li><div class="src-line"><a name="a1451"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'modifier' </span>&& <span class="src-sym">(</span><span class="src-var">$parsed </span>=== <span class="src-str">'func' </span>|| <span class="src-var">$parsed </span>=== <span class="src-str">'var'</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^\|@?[a-z0-9_]+(:.*)?#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1468 |
|
-<li><div class="src-line"><a name="a1452"></a> <span class="src-comm">// parse modifier on funcs or vars</span></div></li> |
| 1469 |
|
-<li><div class="src-line"><a name="a1453"></a> <span class="src-var">$srcPointer </span>= <span class="src-var">$pointer</span><span class="src-sym">;</span></div></li> |
| 1470 |
|
-<li><div class="src-line"><a name="a1454"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1471 |
|
-<li><div class="src-line"><a name="a1455"></a> <span class="src-var">$tmp </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'var'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1472 |
|
-<li><div class="src-line"><a name="a1456"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>= <span class="src-var">$tmp</span><span class="src-sym">;</span></div></li> |
| 1473 |
|
-<li><div class="src-line"><a name="a1457"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$srcPointer</span><span class="src-sym">, </span><span class="src-var">$srcPointer </span>- <span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1474 |
|
-<li><div class="src-line"><a name="a1458"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1475 |
|
-<li><div class="src-line"><a name="a1459"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'var'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1476 |
|
-<li><div class="src-line"><a name="a1460"></a> <span class="src-sym">}</span></div></li> |
| 1477 |
|
-<li><div class="src-line"><a name="a1461"></a> <span class="src-sym">}</span></div></li> |
| 1478 |
|
-<li><div class="src-line"><a name="a1462"></a> </div></li> |
| 1479 |
|
-<li><div class="src-line"><a name="a1463"></a> <span class="src-comm">// func parsed, check if any func-extension applies</span></div></li> |
| 1480 |
|
-<li><div class="src-line"><a name="a1464"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$parsed</span>===<span class="src-str">'func' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^->[a-z0-9_]+(\s*\(.+|->[a-z].*)?#is'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1481 |
|
-<li><div class="src-line"><a name="a1465"></a> <span class="src-comm">// parse method call or property read</span></div></li> |
| 1482 |
|
-<li><div class="src-line"><a name="a1466"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 1483 |
|
-<li><div class="src-line"><a name="a1467"></a> </div></li> |
| 1484 |
|
-<li><div class="src-line"><a name="a1468"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1485 |
|
-<li><div class="src-line"><a name="a1469"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1486 |
|
-<li><div class="src-line"><a name="a1470"></a> </div></li> |
| 1487 |
|
-<li><div class="src-line"><a name="a1471"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1488 |
|
-<li><div class="src-line"><a name="a1472"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 1489 |
|
-<li><div class="src-line"><a name="a1473"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1490 |
|
-<li><div class="src-line"><a name="a1474"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1491 |
|
-<li><div class="src-line"><a name="a1475"></a> <span class="src-sym">}</span></div></li> |
| 1492 |
|
-<li><div class="src-line"><a name="a1476"></a> </div></li> |
| 1493 |
|
-<li><div class="src-line"><a name="a1477"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 1494 |
|
-<li><div class="src-line"><a name="a1478"></a> <span class="src-sym">}</span></div></li> |
|
1453 |
+<li><div class="src-line"><a name="a1437"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1454 |
+<li><div class="src-line"><a name="a1438"></a> </div></li> |
|
1455 |
+<li><div class="src-line"><a name="a1439"></a> <span class="src-comm">// var parsed, check if any var-extension applies</span></div></li> |
|
1456 |
+<li><div class="src-line"><a name="a1440"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$parsed</span>===<span class="src-str">'var'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1457 |
+<li><div class="src-line"><a name="a1441"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^\s*([/%+*-])\s*([a-z0-9]|\$)#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1458 |
+<li><div class="src-line"><a name="a1442"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARSING POST-VAR EXPRESSION '</span>.<span class="src-var">$substr</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
|
1459 |
+<li><div class="src-line"><a name="a1443"></a> <span class="src-comm">// parse expressions</span></div></li> |
|
1460 |
+<li><div class="src-line"><a name="a1444"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>- <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
1461 |
+<li><div class="src-line"><a name="a1445"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1462 |
+<li><div class="src-line"><a name="a1446"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">] </span>== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1463 |
+<li><div class="src-line"><a name="a1447"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1464 |
+<li><div class="src-line"><a name="a1448"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1465 |
+<li><div class="src-line"><a name="a1449"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1466 |
+<li><div class="src-line"><a name="a1450"></a> <span class="src-sym">}</span></div></li> |
|
1467 |
+<li><div class="src-line"><a name="a1451"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1468 |
+<li><div class="src-line"><a name="a1452"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1469 |
+<li><div class="src-line"><a name="a1453"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1470 |
+<li><div class="src-line"><a name="a1454"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">] </span>== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1471 |
+<li><div class="src-line"><a name="a1455"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1472 |
+<li><div class="src-line"><a name="a1456"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1473 |
+<li><div class="src-line"><a name="a1457"></a> <span class="src-var">$expr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1474 |
+<li><div class="src-line"><a name="a1458"></a> <span class="src-sym">}</span></div></li> |
|
1475 |
+<li><div class="src-line"><a name="a1459"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$expr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1476 |
+<li><div class="src-line"><a name="a1460"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1477 |
+<li><div class="src-line"><a name="a1461"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1478 |
+<li><div class="src-line"><a name="a1462"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1479 |
+<li><div class="src-line"><a name="a1463"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">;</span></div></li> |
|
1480 |
+<li><div class="src-line"><a name="a1464"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">;</span></div></li> |
|
1481 |
+<li><div class="src-line"><a name="a1465"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$expr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1482 |
+<li><div class="src-line"><a name="a1466"></a> <span class="src-var">$out </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1483 |
+<li><div class="src-line"><a name="a1467"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1484 |
+<li><div class="src-line"><a name="a1468"></a> <span class="src-var">$out </span>.= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>. <span class="src-var">$expr</span><span class="src-sym">;</span></div></li> |
|
1485 |
+<li><div class="src-line"><a name="a1469"></a> <span class="src-sym">}</span></div></li> |
|
1486 |
+<li><div class="src-line"><a name="a1470"></a> <span class="src-sym">}</span></div></li> |
|
1487 |
+<li><div class="src-line"><a name="a1471"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^(\s*(?:[+/*%-.]=|=|\+\+|--)\s*)(.*)#s'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1488 |
+<li><div class="src-line"><a name="a1472"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARSING POST-VAR ASSIGNMENT '</span>.<span class="src-var">$substr</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
|
1489 |
+<li><div class="src-line"><a name="a1473"></a> <span class="src-comm">// parse assignment</span></div></li> |
|
1490 |
+<li><div class="src-line"><a name="a1474"></a> <span class="src-var">$value </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1491 |
+<li><div class="src-line"><a name="a1475"></a> <span class="src-var">$operator </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1492 |
+<li><div class="src-line"><a name="a1476"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">'='</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1493 |
+<li><div class="src-line"><a name="a1477"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unexpected "=" in <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1494 |
+<li><div class="src-line"><a name="a1478"></a> <span class="src-sym">}</span></div></li> |
| 1495 |
1495 |
<li><div class="src-line"><a name="a1479"></a> </div></li> |
| 1496 |
|
-<li><div class="src-line"><a name="a1480"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">)) </span>!== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1497 |
|
-<li><div class="src-line"><a name="a1481"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN </span>.<span class="src-str">'echo '</span>.<span class="src-var">$out</span>.<span class="src-str">';'</span>. <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
| 1498 |
|
-<li><div class="src-line"><a name="a1482"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1499 |
|
-<li><div class="src-line"><a name="a1483"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
| 1500 |
|
-<li><div class="src-line"><a name="a1484"></a> <span class="src-sym">}</span></div></li> |
| 1501 |
|
-<li><div class="src-line"><a name="a1485"></a> <span class="src-sym">}</span></div></li> |
| 1502 |
|
-<li><div class="src-line"><a name="a1486"></a> </div></li> |
| 1503 |
|
-<li><div class="src-line"><a name="a1487"></a> <span class="src-doc">/**</span></div></li> |
| 1504 |
|
-<li><div class="src-line"><a name="a1488"></a><span class="src-doc"> * parses a function call</span></div></li> |
| 1505 |
|
-<li><div class="src-line"><a name="a1489"></a><span class="src-doc"> *</span></div></li> |
| 1506 |
|
-<li><div class="src-line"><a name="a1490"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
| 1507 |
|
-<li><div class="src-line"><a name="a1491"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
| 1508 |
|
-<li><div class="src-line"><a name="a1492"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
| 1509 |
|
-<li><div class="src-line"><a name="a1493"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
| 1510 |
|
-<li><div class="src-line"><a name="a1494"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 1511 |
|
-<li><div class="src-line"><a name="a1495"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
| 1512 |
|
-<li><div class="src-line"><a name="a1496"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
| 1513 |
|
-<li><div class="src-line"><a name="a1497"></a><span class="src-doc"> */</span></div></li> |
| 1514 |
|
-<li><div class="src-line"><a name="a1498"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseFunction">parseFunction</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 1515 |
|
-<li><div class="src-line"><a name="a1499"></a> <span class="src-sym">{</span></div></li> |
| 1516 |
|
-<li><div class="src-line"><a name="a1500"></a> <span class="src-var">$cmdstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1517 |
|
-<li><div class="src-line"><a name="a1501"></a> <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^([a-z][a-z0-9_]*(?:::[a-z][a-z0-9_]*)?)(\s*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a></span>.<span class="src-str">'|\s*;)?/i'</span><span class="src-sym">, </span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1518 |
|
-<li><div class="src-line"><a name="a1502"></a> </div></li> |
| 1519 |
|
-<li><div class="src-line"><a name="a1503"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1520 |
|
-<li><div class="src-line"><a name="a1504"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Parse error, invalid function name : '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">15</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1521 |
|
-<li><div class="src-line"><a name="a1505"></a> <span class="src-sym">}</span></div></li> |
| 1522 |
|
-<li><div class="src-line"><a name="a1506"></a> </div></li> |
| 1523 |
|
-<li><div class="src-line"><a name="a1507"></a> <span class="src-var">$func </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1524 |
|
-<li><div class="src-line"><a name="a1508"></a> </div></li> |
| 1525 |
|
-<li><div class="src-line"><a name="a1509"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1526 |
|
-<li><div class="src-line"><a name="a1510"></a> <span class="src-var">$cmdstr </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1527 |
|
-<li><div class="src-line"><a name="a1511"></a> <span class="src-sym">}</span></div></li> |
| 1528 |
|
-<li><div class="src-line"><a name="a1512"></a> </div></li> |
| 1529 |
|
-<li><div class="src-line"><a name="a1513"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'FUNC FOUND ('</span>.<span class="src-var">$func</span>.<span class="src-str">')<br />'</span><span class="src-sym">;</span></div></li> |
|
1496 |
+<li><div class="src-line"><a name="a1480"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1497 |
+<li><div class="src-line"><a name="a1481"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1498 |
+<li><div class="src-line"><a name="a1482"></a> <span class="src-sym">}</span></div></li> |
|
1499 |
+<li><div class="src-line"><a name="a1483"></a> </div></li> |
|
1500 |
+<li><div class="src-line"><a name="a1484"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$operator </span>!== <span class="src-str">'++' </span>&& <span class="src-var">$operator </span>!== <span class="src-str">'--'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1501 |
+<li><div class="src-line"><a name="a1485"></a> <span class="src-var">$parts </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1502 |
+<li><div class="src-line"><a name="a1486"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1503 |
+<li><div class="src-line"><a name="a1487"></a> <span class="src-var">$parts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$value</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$parts</span><span class="src-sym">, </span><span class="src-str">'condition'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1504 |
+<li><div class="src-line"><a name="a1488"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
1505 |
+<li><div class="src-line"><a name="a1489"></a> </div></li> |
|
1506 |
+<li><div class="src-line"><a name="a1490"></a> <span class="src-comm">// load if plugin</span></div></li> |
|
1507 |
+<li><div class="src-line"><a name="a1491"></a> try <span class="src-sym">{</span></div></li> |
|
1508 |
+<li><div class="src-line"><a name="a1492"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-str">'if'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1509 |
+<li><div class="src-line"><a name="a1493"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a> </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1510 |
+<li><div class="src-line"><a name="a1494"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Assignments require the "if" plugin to be accessible'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1511 |
+<li><div class="src-line"><a name="a1495"></a> <span class="src-sym">}</span></div></li> |
|
1512 |
+<li><div class="src-line"><a name="a1496"></a> </div></li> |
|
1513 |
+<li><div class="src-line"><a name="a1497"></a> <span class="src-var">$parts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$parts</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_if'</span><span class="src-sym">, </span><span class="src-str">'init'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1514 |
+<li><div class="src-line"><a name="a1498"></a> <span class="src-var">$tokens </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetParamTokens">getParamTokens</a><span class="src-sym">(</span><span class="src-var">$parts</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1515 |
+<li><div class="src-line"><a name="a1499"></a> <span class="src-var">$parts </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetCompiledParams">getCompiledParams</a><span class="src-sym">(</span><span class="src-var">$parts</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1516 |
+<li><div class="src-line"><a name="a1500"></a> </div></li> |
|
1517 |
+<li><div class="src-line"><a name="a1501"></a> <span class="src-var">$value </span>= <span class="src-id"><a href="../Dwoo/Dwoo_Plugin_if.html">Dwoo_Plugin_if</a></span><span class="src-sym">::</span><a href="../Dwoo/Dwoo_Plugin_if.html#methodreplaceKeywords">replaceKeywords</a><span class="src-sym">(</span><span class="src-var">$parts</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$tokens</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1518 |
+<li><div class="src-line"><a name="a1502"></a> <span class="src-var">$echo </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1519 |
+<li><div class="src-line"><a name="a1503"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1520 |
+<li><div class="src-line"><a name="a1504"></a> <span class="src-var">$value </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1521 |
+<li><div class="src-line"><a name="a1505"></a> <span class="src-var">$echo </span>= <span class="src-str">'echo '</span><span class="src-sym">;</span></div></li> |
|
1522 |
+<li><div class="src-line"><a name="a1506"></a> <span class="src-sym">}</span></div></li> |
|
1523 |
+<li><div class="src-line"><a name="a1507"></a> </div></li> |
|
1524 |
+<li><div class="src-line"><a name="a1508"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1525 |
+<li><div class="src-line"><a name="a1509"></a> <span class="src-var">$out </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#\(is_string\(\$tmp=(.+?)\) \? htmlspecialchars\(\$tmp, ENT_QUOTES, \$this->charset\) : \$tmp\)#'</span><span class="src-sym">, </span><span class="src-str">'$1'</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1526 |
+<li><div class="src-line"><a name="a1510"></a> <span class="src-sym">}</span></div></li> |
|
1527 |
+<li><div class="src-line"><a name="a1511"></a> <span class="src-var">$out </span>= <span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html">Dwoo_Compiler</a></span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span>. <span class="src-var">$echo </span>. <span class="src-var">$out </span>. <span class="src-var">$operator </span>. <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-var">$value</span><span class="src-sym">) </span>. <span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html">Dwoo_Compiler</a></span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
|
1528 |
+<li><div class="src-line"><a name="a1512"></a> <span class="src-sym">}</span></div></li> |
|
1529 |
+<li><div class="src-line"><a name="a1513"></a> <span class="src-sym">}</span></div></li> |
| 1530 |
1530 |
<li><div class="src-line"><a name="a1514"></a> </div></li> |
| 1531 |
|
-<li><div class="src-line"><a name="a1515"></a> <span class="src-var">$paramsep </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1532 |
|
-<li><div class="src-line"><a name="a1516"></a> </div></li> |
| 1533 |
|
-<li><div class="src-line"><a name="a1517"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>|| <span class="src-var">$curBlock </span>!= <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1534 |
|
-<li><div class="src-line"><a name="a1518"></a> <span class="src-var">$paramspos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-str">'('</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1535 |
|
-<li><div class="src-line"><a name="a1519"></a> <span class="src-var">$paramsep </span>= <span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1536 |
|
-<li><div class="src-line"><a name="a1520"></a> <span class="src-sym">} </span><span class="src-key">elseif</span><span class="src-sym">(</span><a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#[a-z0-9_]+(\s*\(|\s+[^(])#i'</span><span class="src-sym">, </span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">, </span><span class="src-id">PREG_OFFSET_CAPTURE</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1537 |
|
-<li><div class="src-line"><a name="a1521"></a> <span class="src-var">$paramspos </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1538 |
|
-<li><div class="src-line"><a name="a1522"></a> <span class="src-var">$paramsep </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'(' </span>? <span class="src-str">')'</span>:<span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1539 |
|
-<li><div class="src-line"><a name="a1523"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-var">$paramsep </span>=== <span class="src-str">')'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1540 |
|
-<li><div class="src-line"><a name="a1524"></a> <span class="src-var">$paramspos </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>- <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 1541 |
|
-<li><div class="src-line"><a name="a1525"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">) </span>=== <span class="src-str">'if' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">6</span><span class="src-sym">) </span>=== <span class="src-str">'elseif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1542 |
|
-<li><div class="src-line"><a name="a1526"></a> <span class="src-var">$paramsep </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1543 |
|
-<li><div class="src-line"><a name="a1527"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>> <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1544 |
|
-<li><div class="src-line"><a name="a1528"></a> <span class="src-var">$paramspos</span>--<span class="src-sym">;</span></div></li> |
| 1545 |
|
-<li><div class="src-line"><a name="a1529"></a> <span class="src-sym">}</span></div></li> |
| 1546 |
|
-<li><div class="src-line"><a name="a1530"></a> <span class="src-sym">}</span></div></li> |
| 1547 |
|
-<li><div class="src-line"><a name="a1531"></a> <span class="src-sym">}</span></div></li> |
| 1548 |
|
-<li><div class="src-line"><a name="a1532"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1549 |
|
-<li><div class="src-line"><a name="a1533"></a> <span class="src-var">$paramspos </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1550 |
|
-<li><div class="src-line"><a name="a1534"></a> <span class="src-sym">}</span></div></li> |
| 1551 |
|
-<li><div class="src-line"><a name="a1535"></a> </div></li> |
| 1552 |
|
-<li><div class="src-line"><a name="a1536"></a> <span class="src-var">$state </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 1553 |
|
-<li><div class="src-line"><a name="a1537"></a> </div></li> |
| 1554 |
|
-<li><div class="src-line"><a name="a1538"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1555 |
|
-<li><div class="src-line"><a name="a1539"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1531 |
+<li><div class="src-line"><a name="a1515"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'modifier' </span>&& <span class="src-sym">(</span><span class="src-var">$parsed </span>=== <span class="src-str">'func' </span>|| <span class="src-var">$parsed </span>=== <span class="src-str">'var'</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^\|@?[a-z0-9_]+(:.*)?#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1532 |
+<li><div class="src-line"><a name="a1516"></a> <span class="src-comm">// parse modifier on funcs or vars</span></div></li> |
|
1533 |
+<li><div class="src-line"><a name="a1517"></a> <span class="src-var">$srcPointer </span>= <span class="src-var">$pointer</span><span class="src-sym">;</span></div></li> |
|
1534 |
+<li><div class="src-line"><a name="a1518"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1535 |
+<li><div class="src-line"><a name="a1519"></a> <span class="src-var">$tmp </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'var'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1536 |
+<li><div class="src-line"><a name="a1520"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>= <span class="src-var">$tmp</span><span class="src-sym">;</span></div></li> |
|
1537 |
+<li><div class="src-line"><a name="a1521"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$srcPointer</span><span class="src-sym">, </span><span class="src-var">$srcPointer </span>- <span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1538 |
+<li><div class="src-line"><a name="a1522"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1539 |
+<li><div class="src-line"><a name="a1523"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'var'</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1540 |
+<li><div class="src-line"><a name="a1524"></a> <span class="src-sym">}</span></div></li> |
|
1541 |
+<li><div class="src-line"><a name="a1525"></a> <span class="src-sym">}</span></div></li> |
|
1542 |
+<li><div class="src-line"><a name="a1526"></a> </div></li> |
|
1543 |
+<li><div class="src-line"><a name="a1527"></a> <span class="src-comm">// func parsed, check if any func-extension applies</span></div></li> |
|
1544 |
+<li><div class="src-line"><a name="a1528"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$parsed</span>===<span class="src-str">'func' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^->[a-z0-9_]+(\s*\(.+|->[a-z].*)?#is'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1545 |
+<li><div class="src-line"><a name="a1529"></a> <span class="src-comm">// parse method call or property read</span></div></li> |
|
1546 |
+<li><div class="src-line"><a name="a1530"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1547 |
+<li><div class="src-line"><a name="a1531"></a> </div></li> |
|
1548 |
+<li><div class="src-line"><a name="a1532"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1549 |
+<li><div class="src-line"><a name="a1533"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1550 |
+<li><div class="src-line"><a name="a1534"></a> </div></li> |
|
1551 |
+<li><div class="src-line"><a name="a1535"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>= <span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
1552 |
+<li><div class="src-line"><a name="a1536"></a> <span class="src-var">$out</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1553 |
+<li><div class="src-line"><a name="a1537"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1554 |
+<li><div class="src-line"><a name="a1538"></a> <span class="src-var">$out </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1555 |
+<li><div class="src-line"><a name="a1539"></a> <span class="src-sym">}</span></div></li> |
| 1556 |
1556 |
<li><div class="src-line"><a name="a1540"></a> </div></li> |
| 1557 |
|
-<li><div class="src-line"><a name="a1541"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1558 |
|
-<li><div class="src-line"><a name="a1542"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1559 |
|
-<li><div class="src-line"><a name="a1543"></a> <span class="src-sym">}</span></div></li> |
| 1560 |
|
-<li><div class="src-line"><a name="a1544"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1561 |
|
-<li><div class="src-line"><a name="a1545"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1562 |
|
-<li><div class="src-line"><a name="a1546"></a> <span class="src-comm">// load if plugin</span></div></li> |
| 1563 |
|
-<li><div class="src-line"><a name="a1547"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-str">'if'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1564 |
|
-<li><div class="src-line"><a name="a1548"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Plugin_if.html">Dwoo_Plugin_if</a></span><span class="src-sym">::</span><a href="../Dwoo/Dwoo_Plugin_if.html#methodreplaceKeywords">replaceKeywords</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">) </span>!== <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1565 |
|
-<li><div class="src-line"><a name="a1549"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1566 |
|
-<li><div class="src-line"><a name="a1550"></a> <span class="src-sym">}</span></div></li> |
| 1567 |
|
-<li><div class="src-line"><a name="a1551"></a> <span class="src-sym">}</span></div></li> |
| 1568 |
|
-<li><div class="src-line"><a name="a1552"></a> <span class="src-var">$whitespace </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$paramspos</span>-<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 1569 |
|
-<li><div class="src-line"><a name="a1553"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$paramspos</span>+<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1570 |
|
-<li><div class="src-line"><a name="a1554"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-var">$paramsep</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1571 |
|
-<li><div class="src-line"><a name="a1555"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1572 |
|
-<li><div class="src-line"><a name="a1556"></a> <span class="src-sym">}</span></div></li> |
| 1573 |
|
-<li><div class="src-line"><a name="a1557"></a> </div></li> |
| 1574 |
|
-<li><div class="src-line"><a name="a1558"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1575 |
|
-<li><div class="src-line"><a name="a1559"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1576 |
|
-<li><div class="src-line"><a name="a1560"></a> <span class="src-var">$paramstr </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1577 |
|
-<li><div class="src-line"><a name="a1561"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1578 |
|
-<li><div class="src-line"><a name="a1562"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 1579 |
|
-<li><div class="src-line"><a name="a1563"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1580 |
|
-<li><div class="src-line"><a name="a1564"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'empty'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1581 |
|
-<li><div class="src-line"><a name="a1565"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'root'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1582 |
|
-<li><div class="src-line"><a name="a1566"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1583 |
|
-<li><div class="src-line"><a name="a1567"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1584 |
|
-<li><div class="src-line"><a name="a1568"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1585 |
|
-<li><div class="src-line"><a name="a1569"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1586 |
|
-<li><div class="src-line"><a name="a1570"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 1587 |
|
-<li><div class="src-line"><a name="a1571"></a> <span class="src-sym">}</span></div></li> |
|
1557 |
+<li><div class="src-line"><a name="a1541"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
1558 |
+<li><div class="src-line"><a name="a1542"></a> <span class="src-sym">}</span></div></li> |
|
1559 |
+<li><div class="src-line"><a name="a1543"></a> </div></li> |
|
1560 |
+<li><div class="src-line"><a name="a1544"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">)) </span>!== <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1561 |
+<li><div class="src-line"><a name="a1545"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN </span>.<span class="src-str">'echo '</span>.<span class="src-var">$out</span>.<span class="src-str">';'</span>. <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
|
1562 |
+<li><div class="src-line"><a name="a1546"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1563 |
+<li><div class="src-line"><a name="a1547"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
|
1564 |
+<li><div class="src-line"><a name="a1548"></a> <span class="src-sym">}</span></div></li> |
|
1565 |
+<li><div class="src-line"><a name="a1549"></a> <span class="src-sym">}</span></div></li> |
|
1566 |
+<li><div class="src-line"><a name="a1550"></a> </div></li> |
|
1567 |
+<li><div class="src-line"><a name="a1551"></a> <span class="src-doc">/**</span></div></li> |
|
1568 |
+<li><div class="src-line"><a name="a1552"></a><span class="src-doc"> * parses a function call</span></div></li> |
|
1569 |
+<li><div class="src-line"><a name="a1553"></a><span class="src-doc"> *</span></div></li> |
|
1570 |
+<li><div class="src-line"><a name="a1554"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
|
1571 |
+<li><div class="src-line"><a name="a1555"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
|
1572 |
+<li><div class="src-line"><a name="a1556"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
|
1573 |
+<li><div class="src-line"><a name="a1557"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
|
1574 |
+<li><div class="src-line"><a name="a1558"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
1575 |
+<li><div class="src-line"><a name="a1559"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
|
1576 |
+<li><div class="src-line"><a name="a1560"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
|
1577 |
+<li><div class="src-line"><a name="a1561"></a><span class="src-doc"> */</span></div></li> |
|
1578 |
+<li><div class="src-line"><a name="a1562"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseFunction">parseFunction</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
1579 |
+<li><div class="src-line"><a name="a1563"></a> <span class="src-sym">{</span></div></li> |
|
1580 |
+<li><div class="src-line"><a name="a1564"></a> <span class="src-var">$cmdstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1581 |
+<li><div class="src-line"><a name="a1565"></a> <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^([a-z][a-z0-9_]*(?:::[a-z][a-z0-9_]*)?)(\s*'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rdr">rdr</a></span>.<span class="src-str">'|\s*;)?/i'</span><span class="src-sym">, </span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1582 |
+<li><div class="src-line"><a name="a1566"></a> </div></li> |
|
1583 |
+<li><div class="src-line"><a name="a1567"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1584 |
+<li><div class="src-line"><a name="a1568"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Parse error, invalid function name : '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">15</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1585 |
+<li><div class="src-line"><a name="a1569"></a> <span class="src-sym">}</span></div></li> |
|
1586 |
+<li><div class="src-line"><a name="a1570"></a> </div></li> |
|
1587 |
+<li><div class="src-line"><a name="a1571"></a> <span class="src-var">$func </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1588 |
1588 |
<li><div class="src-line"><a name="a1572"></a> </div></li> |
| 1589 |
|
-<li><div class="src-line"><a name="a1573"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>!== <span class="src-str">'if' </span>&& <span class="src-var">$func </span>!== <span class="src-str">'elseif' </span>&& <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">')'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1590 |
|
-<li><div class="src-line"><a name="a1574"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, ")" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1591 |
|
-<li><div class="src-line"><a name="a1575"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 1592 |
|
-<li><div class="src-line"><a name="a1576"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">';'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1593 |
|
-<li><div class="src-line"><a name="a1577"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
| 1594 |
|
-<li><div class="src-line"><a name="a1578"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, ";" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1595 |
|
-<li><div class="src-line"><a name="a1579"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 1596 |
|
-<li><div class="src-line"><a name="a1580"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$func </span>!== <span class="src-str">'if' </span>&& <span class="src-var">$func </span>!== <span class="src-str">'elseif' </span>&& <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1597 |
|
-<li><div class="src-line"><a name="a1581"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, "/" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1598 |
|
-<li><div class="src-line"><a name="a1582"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 1599 |
|
-<li><div class="src-line"><a name="a1583"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1600 |
|
-<li><div class="src-line"><a name="a1584"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, RIGHT DELIMITER FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1601 |
|
-<li><div class="src-line"><a name="a1585"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 1602 |
|
-<li><div class="src-line"><a name="a1586"></a> <span class="src-sym">}</span></div></li> |
| 1603 |
|
-<li><div class="src-line"><a name="a1587"></a> </div></li> |
| 1604 |
|
-<li><div class="src-line"><a name="a1588"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">' ' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">',' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">"\r" </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">"\n" </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">"\t"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1605 |
|
-<li><div class="src-line"><a name="a1589"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
| 1606 |
|
-<li><div class="src-line"><a name="a1590"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1607 |
|
-<li><div class="src-line"><a name="a1591"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 1608 |
|
-<li><div class="src-line"><a name="a1592"></a> <span class="src-sym">}</span></div></li> |
| 1609 |
|
-<li><div class="src-line"><a name="a1593"></a> <span class="src-sym">}</span></div></li> |
| 1610 |
|
-<li><div class="src-line"><a name="a1594"></a> </div></li> |
| 1611 |
|
-<li><div class="src-line"><a name="a1595"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'FUNC START PARAM PARSING WITH POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1612 |
|
-<li><div class="src-line"><a name="a1596"></a> </div></li> |
| 1613 |
|
-<li><div class="src-line"><a name="a1597"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'if' </span>|| <span class="src-var">$func </span>=== <span class="src-str">'elseif' </span>|| <span class="src-var">$func </span>=== <span class="src-str">'tif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1614 |
|
-<li><div class="src-line"><a name="a1598"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'condition'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1615 |
|
-<li><div class="src-line"><a name="a1599"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1616 |
|
-<li><div class="src-line"><a name="a1600"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'function'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1617 |
|
-<li><div class="src-line"><a name="a1601"></a> <span class="src-sym">}</span></div></li> |
| 1618 |
|
-<li><div class="src-line"><a name="a1602"></a> </div></li> |
| 1619 |
|
-<li><div class="src-line"><a name="a1603"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSED, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">' ('</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span>.<span class="src-str">')<br/>'</span><span class="src-sym">;</span></div></li> |
| 1620 |
|
-<li><div class="src-line"><a name="a1604"></a> <span class="src-sym">}</span></div></li> |
| 1621 |
|
-<li><div class="src-line"><a name="a1605"></a> <span class="src-sym">}</span></div></li> |
| 1622 |
|
-<li><div class="src-line"><a name="a1606"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1623 |
|
-<li><div class="src-line"><a name="a1607"></a> <span class="src-var">$state </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 1624 |
|
-<li><div class="src-line"><a name="a1608"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1625 |
|
-<li><div class="src-line"><a name="a1609"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1626 |
|
-<li><div class="src-line"><a name="a1610"></a> <span class="src-var">$state </span>|= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 1627 |
|
-<li><div class="src-line"><a name="a1611"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1628 |
|
-<li><div class="src-line"><a name="a1612"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^(["\'])(.+?)\1$#'</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1629 |
|
-<li><div class="src-line"><a name="a1613"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'true'</span><span class="src-sym">, </span><span class="src-str">'true'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1630 |
|
-<li><div class="src-line"><a name="a1614"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1631 |
|
-<li><div class="src-line"><a name="a1615"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1632 |
|
-<li><div class="src-line"><a name="a1616"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'You can not use an unnamed parameter after a named one'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1633 |
|
-<li><div class="src-line"><a name="a1617"></a> <span class="src-sym">}</span></div></li> |
| 1634 |
|
-<li><div class="src-line"><a name="a1618"></a> <span class="src-var">$state </span>|= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 1635 |
|
-<li><div class="src-line"><a name="a1619"></a> <span class="src-sym">}</span></div></li> |
| 1636 |
|
-<li><div class="src-line"><a name="a1620"></a> <span class="src-sym">}</span></div></li> |
| 1637 |
|
-<li><div class="src-line"><a name="a1621"></a> <span class="src-sym">}</span></div></li> |
| 1638 |
|
-<li><div class="src-line"><a name="a1622"></a> <span class="src-sym">}</span></div></li> |
| 1639 |
|
-<li><div class="src-line"><a name="a1623"></a> <span class="src-sym">}</span></div></li> |
| 1640 |
|
-<li><div class="src-line"><a name="a1624"></a> </div></li> |
| 1641 |
|
-<li><div class="src-line"><a name="a1625"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1642 |
|
-<li><div class="src-line"><a name="a1626"></a> <span class="src-var">$pointer </span>+= <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>? <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>: <span class="src-num">0</span><span class="src-sym">) </span>+ <span class="src-sym">(</span><span class="src-str">')' </span>=== <span class="src-var">$paramsep </span>? <span class="src-num">2 </span>: <span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false </span>? <span class="src-num">0 </span>: <span class="src-num">1</span><span class="src-sym">)) </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">) </span>+ <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$whitespace</span><span class="src-sym">) </span>? <span class="src-var">$whitespace </span>: <span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1643 |
|
-<li><div class="src-line"><a name="a1627"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'FUNC ADDS '</span>.<span class="src-sym">((</span>isset<span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>? <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>: <span class="src-num">0</span><span class="src-sym">) </span>+ <span class="src-sym">(</span><span class="src-str">')' </span>=== <span class="src-var">$paramsep </span>? <span class="src-num">2 </span>: <span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false </span>? <span class="src-num">0 </span>: <span class="src-num">1</span><span class="src-sym">)) </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">))</span>.<span class="src-str">' TO POINTER<br/>'</span><span class="src-sym">;</span></div></li> |
| 1644 |
|
-<li><div class="src-line"><a name="a1628"></a> <span class="src-sym">}</span></div></li> |
| 1645 |
|
-<li><div class="src-line"><a name="a1629"></a> </div></li> |
| 1646 |
|
-<li><div class="src-line"><a name="a1630"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'method' </span>|| <span class="src-var">$func </span>=== <span class="src-str">'do' </span>|| <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-str">'::'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1647 |
|
-<li><div class="src-line"><a name="a1631"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 1648 |
|
-<li><div class="src-line"><a name="a1632"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1649 |
|
-<li><div class="src-line"><a name="a1633"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1650 |
|
-<li><div class="src-line"><a name="a1634"></a> <span class="src-sym">}</span></div></li> |
| 1651 |
|
-<li><div class="src-line"><a name="a1635"></a> </div></li> |
| 1652 |
|
-<li><div class="src-line"><a name="a1636"></a> <span class="src-comm">// blocks</span></div></li> |
| 1653 |
|
-<li><div class="src-line"><a name="a1637"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1654 |
|
-<li><div class="src-line"><a name="a1638"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root' </span>|| <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1655 |
|
-<li><div class="src-line"><a name="a1639"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Block plugins can not be used as other plugin\'s arguments'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1656 |
|
-<li><div class="src-line"><a name="a1640"></a> <span class="src-sym">}</span></div></li> |
| 1657 |
|
-<li><div class="src-line"><a name="a1641"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1658 |
|
-<li><div class="src-line"><a name="a1642"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddCustomBlock">addCustomBlock</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1659 |
|
-<li><div class="src-line"><a name="a1643"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1660 |
|
-<li><div class="src-line"><a name="a1644"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1661 |
|
-<li><div class="src-line"><a name="a1645"></a> <span class="src-sym">}</span></div></li> |
| 1662 |
|
-<li><div class="src-line"><a name="a1646"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1663 |
|
-<li><div class="src-line"><a name="a1647"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root' </span>|| <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1664 |
|
-<li><div class="src-line"><a name="a1648"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Block plugins can not be used as other plugin\'s arguments'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1665 |
|
-<li><div class="src-line"><a name="a1649"></a> <span class="src-sym">}</span></div></li> |
| 1666 |
|
-<li><div class="src-line"><a name="a1650"></a> </div></li> |
| 1667 |
|
-<li><div class="src-line"><a name="a1651"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1668 |
|
-<li><div class="src-line"><a name="a1652"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'__functype'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$pluginType</span><span class="src-sym">, </span><span class="src-var">$pluginType</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 1669 |
|
-<li><div class="src-line"><a name="a1653"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'__funcname'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 1670 |
|
-<li><div class="src-line"><a name="a1654"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1671 |
|
-<li><div class="src-line"><a name="a1655"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$pluginType</span><span class="src-sym">, </span><span class="src-var">$pluginType</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1672 |
|
-<li><div class="src-line"><a name="a1656"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1673 |
|
-<li><div class="src-line"><a name="a1657"></a> <span class="src-sym">}</span></div></li> |
| 1674 |
|
-<li><div class="src-line"><a name="a1658"></a> </div></li> |
| 1675 |
|
-<li><div class="src-line"><a name="a1659"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-str">'smartyinterface'</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1676 |
|
-<li><div class="src-line"><a name="a1660"></a> <span class="src-sym">}</span></div></li> |
|
1589 |
+<li><div class="src-line"><a name="a1573"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1590 |
+<li><div class="src-line"><a name="a1574"></a> <span class="src-var">$cmdstr </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1591 |
+<li><div class="src-line"><a name="a1575"></a> <span class="src-sym">}</span></div></li> |
|
1592 |
+<li><div class="src-line"><a name="a1576"></a> </div></li> |
|
1593 |
+<li><div class="src-line"><a name="a1577"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'FUNC FOUND ('</span>.<span class="src-var">$func</span>.<span class="src-str">')<br />'</span><span class="src-sym">;</span></div></li> |
|
1594 |
+<li><div class="src-line"><a name="a1578"></a> </div></li> |
|
1595 |
+<li><div class="src-line"><a name="a1579"></a> <span class="src-var">$paramsep </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1596 |
+<li><div class="src-line"><a name="a1580"></a> </div></li> |
|
1597 |
+<li><div class="src-line"><a name="a1581"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>|| <span class="src-var">$curBlock </span>!= <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1598 |
+<li><div class="src-line"><a name="a1582"></a> <span class="src-var">$paramspos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-str">'('</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1599 |
+<li><div class="src-line"><a name="a1583"></a> <span class="src-var">$paramsep </span>= <span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1600 |
+<li><div class="src-line"><a name="a1584"></a> <span class="src-sym">} </span><span class="src-key">elseif</span><span class="src-sym">(</span><a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#[a-z0-9_]+(\s*\(|\s+[^(])#i'</span><span class="src-sym">, </span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">, </span><span class="src-id">PREG_OFFSET_CAPTURE</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1601 |
+<li><div class="src-line"><a name="a1585"></a> <span class="src-var">$paramspos </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1602 |
+<li><div class="src-line"><a name="a1586"></a> <span class="src-var">$paramsep </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'(' </span>? <span class="src-str">')'</span>:<span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1603 |
+<li><div class="src-line"><a name="a1587"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-var">$paramsep </span>=== <span class="src-str">')'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1604 |
+<li><div class="src-line"><a name="a1588"></a> <span class="src-var">$paramspos </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>- <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
1605 |
+<li><div class="src-line"><a name="a1589"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">) </span>=== <span class="src-str">'if' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">6</span><span class="src-sym">) </span>=== <span class="src-str">'elseif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1606 |
+<li><div class="src-line"><a name="a1590"></a> <span class="src-var">$paramsep </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1607 |
+<li><div class="src-line"><a name="a1591"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>> <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1608 |
+<li><div class="src-line"><a name="a1592"></a> <span class="src-var">$paramspos</span>--<span class="src-sym">;</span></div></li> |
|
1609 |
+<li><div class="src-line"><a name="a1593"></a> <span class="src-sym">}</span></div></li> |
|
1610 |
+<li><div class="src-line"><a name="a1594"></a> <span class="src-sym">}</span></div></li> |
|
1611 |
+<li><div class="src-line"><a name="a1595"></a> <span class="src-sym">}</span></div></li> |
|
1612 |
+<li><div class="src-line"><a name="a1596"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1613 |
+<li><div class="src-line"><a name="a1597"></a> <span class="src-var">$paramspos </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1614 |
+<li><div class="src-line"><a name="a1598"></a> <span class="src-sym">}</span></div></li> |
|
1615 |
+<li><div class="src-line"><a name="a1599"></a> </div></li> |
|
1616 |
+<li><div class="src-line"><a name="a1600"></a> <span class="src-var">$state </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1617 |
+<li><div class="src-line"><a name="a1601"></a> </div></li> |
|
1618 |
+<li><div class="src-line"><a name="a1602"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1619 |
+<li><div class="src-line"><a name="a1603"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1620 |
+<li><div class="src-line"><a name="a1604"></a> </div></li> |
|
1621 |
+<li><div class="src-line"><a name="a1605"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1622 |
+<li><div class="src-line"><a name="a1606"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1623 |
+<li><div class="src-line"><a name="a1607"></a> <span class="src-sym">}</span></div></li> |
|
1624 |
+<li><div class="src-line"><a name="a1608"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1625 |
+<li><div class="src-line"><a name="a1609"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1626 |
+<li><div class="src-line"><a name="a1610"></a> <span class="src-comm">// load if plugin</span></div></li> |
|
1627 |
+<li><div class="src-line"><a name="a1611"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-str">'if'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1628 |
+<li><div class="src-line"><a name="a1612"></a> </div></li> |
|
1629 |
+<li><div class="src-line"><a name="a1613"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id"><a href="../Dwoo/Dwoo_Plugin_if.html">Dwoo_Plugin_if</a></span><span class="src-sym">::</span><a href="../Dwoo/Dwoo_Plugin_if.html#methodreplaceKeywords">replaceKeywords</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_UNQUOTED_STRING</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">) </span>!== <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1630 |
+<li><div class="src-line"><a name="a1614"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$pointer</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1631 |
+<li><div class="src-line"><a name="a1615"></a> <span class="src-sym">}</span></div></li> |
|
1632 |
+<li><div class="src-line"><a name="a1616"></a> <span class="src-sym">}</span></div></li> |
|
1633 |
+<li><div class="src-line"><a name="a1617"></a> <span class="src-var">$whitespace </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$paramspos</span>-<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
1634 |
+<li><div class="src-line"><a name="a1618"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$paramspos</span>+<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1635 |
+<li><div class="src-line"><a name="a1619"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-var">$paramsep</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1636 |
+<li><div class="src-line"><a name="a1620"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1637 |
+<li><div class="src-line"><a name="a1621"></a> <span class="src-sym">}</span></div></li> |
|
1638 |
+<li><div class="src-line"><a name="a1622"></a> </div></li> |
|
1639 |
+<li><div class="src-line"><a name="a1623"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span>===<span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1640 |
+<li><div class="src-line"><a name="a1624"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1641 |
+<li><div class="src-line"><a name="a1625"></a> <span class="src-var">$paramstr </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1642 |
+<li><div class="src-line"><a name="a1626"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1643 |
+<li><div class="src-line"><a name="a1627"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1644 |
+<li><div class="src-line"><a name="a1628"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1645 |
+<li><div class="src-line"><a name="a1629"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'empty'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1646 |
+<li><div class="src-line"><a name="a1630"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'root'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1647 |
+<li><div class="src-line"><a name="a1631"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1648 |
+<li><div class="src-line"><a name="a1632"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1649 |
+<li><div class="src-line"><a name="a1633"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1650 |
+<li><div class="src-line"><a name="a1634"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1651 |
+<li><div class="src-line"><a name="a1635"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
1652 |
+<li><div class="src-line"><a name="a1636"></a> <span class="src-sym">}</span></div></li> |
|
1653 |
+<li><div class="src-line"><a name="a1637"></a> </div></li> |
|
1654 |
+<li><div class="src-line"><a name="a1638"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>!== <span class="src-str">'if' </span>&& <span class="src-var">$func </span>!== <span class="src-str">'elseif' </span>&& <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">')'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1655 |
+<li><div class="src-line"><a name="a1639"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, ")" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
1656 |
+<li><div class="src-line"><a name="a1640"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
1657 |
+<li><div class="src-line"><a name="a1641"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">';'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1658 |
+<li><div class="src-line"><a name="a1642"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
|
1659 |
+<li><div class="src-line"><a name="a1643"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, ";" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
1660 |
+<li><div class="src-line"><a name="a1644"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
1661 |
+<li><div class="src-line"><a name="a1645"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$func </span>!== <span class="src-str">'if' </span>&& <span class="src-var">$func </span>!== <span class="src-str">'elseif' </span>&& <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">'/'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1662 |
+<li><div class="src-line"><a name="a1646"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, "/" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
1663 |
+<li><div class="src-line"><a name="a1647"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
1664 |
+<li><div class="src-line"><a name="a1648"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1665 |
+<li><div class="src-line"><a name="a1649"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, RIGHT DELIMITER FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
1666 |
+<li><div class="src-line"><a name="a1650"></a> <span class="src-key">break </span><span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
1667 |
+<li><div class="src-line"><a name="a1651"></a> <span class="src-sym">}</span></div></li> |
|
1668 |
+<li><div class="src-line"><a name="a1652"></a> </div></li> |
|
1669 |
+<li><div class="src-line"><a name="a1653"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">' ' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">',' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">"\r" </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">"\n" </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">"\t"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1670 |
+<li><div class="src-line"><a name="a1654"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
|
1671 |
+<li><div class="src-line"><a name="a1655"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1672 |
+<li><div class="src-line"><a name="a1656"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
1673 |
+<li><div class="src-line"><a name="a1657"></a> <span class="src-sym">}</span></div></li> |
|
1674 |
+<li><div class="src-line"><a name="a1658"></a> <span class="src-sym">}</span></div></li> |
|
1675 |
+<li><div class="src-line"><a name="a1659"></a> </div></li> |
|
1676 |
+<li><div class="src-line"><a name="a1660"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'FUNC START PARAM PARSING WITH POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1677 |
1677 |
<li><div class="src-line"><a name="a1661"></a> </div></li> |
| 1678 |
|
-<li><div class="src-line"><a name="a1662"></a> <span class="src-comm">// funcs</span></div></li> |
| 1679 |
|
-<li><div class="src-line"><a name="a1663"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN </span>|| <span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION </span>|| <span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1680 |
|
-<li><div class="src-line"><a name="a1664"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1681 |
|
-<li><div class="src-line"><a name="a1665"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1682 |
|
-<li><div class="src-line"><a name="a1666"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1683 |
|
-<li><div class="src-line"><a name="a1667"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'function'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1684 |
|
-<li><div class="src-line"><a name="a1668"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1685 |
|
-<li><div class="src-line"><a name="a1669"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'compile' </span>: <span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1686 |
|
-<li><div class="src-line"><a name="a1670"></a> <span class="src-sym">}</span></div></li> |
| 1687 |
|
-<li><div class="src-line"><a name="a1671"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1688 |
|
-<li><div class="src-line"><a name="a1672"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1689 |
|
-<li><div class="src-line"><a name="a1673"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1690 |
|
-<li><div class="src-line"><a name="a1674"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1691 |
|
-<li><div class="src-line"><a name="a1675"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-sym">((</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'_compile' </span>: <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1692 |
|
-<li><div class="src-line"><a name="a1676"></a> <span class="src-sym">}</span></div></li> |
| 1693 |
|
-<li><div class="src-line"><a name="a1677"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1694 |
|
-<li><div class="src-line"><a name="a1678"></a> <span class="src-var">$output </span>= <span class="src-str">'smarty_modifier_'</span>.<span class="src-var">$func</span>.<span class="src-str">'('</span>.<a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">', '</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1695 |
|
-<li><div class="src-line"><a name="a1679"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1696 |
|
-<li><div class="src-line"><a name="a1680"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getCallback</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1697 |
|
-<li><div class="src-line"><a name="a1681"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">TEMPLATE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1698 |
|
-<li><div class="src-line"><a name="a1682"></a> <span class="src-comm">// transforms the parameter array from (x=>array('paramname'=>array(values))) to (paramname=>array(values))</span></div></li> |
| 1699 |
|
-<li><div class="src-line"><a name="a1683"></a> <span class="src-var">$map </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1700 |
|
-<li><div class="src-line"><a name="a1684"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$param</span>=><span class="src-var">$defValue</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1701 |
|
-<li><div class="src-line"><a name="a1685"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$param </span>== <span class="src-str">'rest'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1702 |
|
-<li><div class="src-line"><a name="a1686"></a> <span class="src-var">$param </span>= <span class="src-str">'*'</span><span class="src-sym">;</span></div></li> |
| 1703 |
|
-<li><div class="src-line"><a name="a1687"></a> <span class="src-sym">}</span></div></li> |
| 1704 |
|
-<li><div class="src-line"><a name="a1688"></a> <span class="src-var">$hasDefault </span>= <span class="src-var">$defValue </span>!== <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1705 |
|
-<li><div class="src-line"><a name="a1689"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$defValue </span>=== <span class="src-str">'null'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1706 |
|
-<li><div class="src-line"><a name="a1690"></a> <span class="src-var">$defValue </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
| 1707 |
|
-<li><div class="src-line"><a name="a1691"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$defValue </span>=== <span class="src-str">'false'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1708 |
|
-<li><div class="src-line"><a name="a1692"></a> <span class="src-var">$defValue </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1709 |
|
-<li><div class="src-line"><a name="a1693"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$defValue </span>=== <span class="src-str">'true'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1710 |
|
-<li><div class="src-line"><a name="a1694"></a> <span class="src-var">$defValue </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 1711 |
|
-<li><div class="src-line"><a name="a1695"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^([\'"]).*?\1$#'</span><span class="src-sym">, </span><span class="src-var">$defValue</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1712 |
|
-<li><div class="src-line"><a name="a1696"></a> <span class="src-var">$defValue </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$defValue</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1713 |
|
-<li><div class="src-line"><a name="a1697"></a> <span class="src-sym">}</span></div></li> |
| 1714 |
|
-<li><div class="src-line"><a name="a1698"></a> <span class="src-var">$map</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$hasDefault</span><span class="src-sym">, </span><span class="src-var">$defValue</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1715 |
|
-<li><div class="src-line"><a name="a1699"></a> <span class="src-sym">}</span></div></li> |
|
1678 |
+<li><div class="src-line"><a name="a1662"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'if' </span>|| <span class="src-var">$func </span>=== <span class="src-str">'elseif' </span>|| <span class="src-var">$func </span>=== <span class="src-str">'tif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1679 |
+<li><div class="src-line"><a name="a1663"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'condition'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1680 |
+<li><div class="src-line"><a name="a1664"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1681 |
+<li><div class="src-line"><a name="a1665"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'function'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1682 |
+<li><div class="src-line"><a name="a1666"></a> <span class="src-sym">}</span></div></li> |
|
1683 |
+<li><div class="src-line"><a name="a1667"></a> </div></li> |
|
1684 |
+<li><div class="src-line"><a name="a1668"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSED, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">' ('</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">3</span><span class="src-sym">)</span>.<span class="src-str">')<br/>'</span><span class="src-sym">;</span></div></li> |
|
1685 |
+<li><div class="src-line"><a name="a1669"></a> <span class="src-sym">}</span></div></li> |
|
1686 |
+<li><div class="src-line"><a name="a1670"></a> <span class="src-sym">}</span></div></li> |
|
1687 |
+<li><div class="src-line"><a name="a1671"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1688 |
+<li><div class="src-line"><a name="a1672"></a> <span class="src-var">$state </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1689 |
+<li><div class="src-line"><a name="a1673"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1690 |
+<li><div class="src-line"><a name="a1674"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1691 |
+<li><div class="src-line"><a name="a1675"></a> <span class="src-var">$state </span>|= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
1692 |
+<li><div class="src-line"><a name="a1676"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1693 |
+<li><div class="src-line"><a name="a1677"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^(["\'])(.+?)\1$#'</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1694 |
+<li><div class="src-line"><a name="a1678"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'true'</span><span class="src-sym">, </span><span class="src-str">'true'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1695 |
+<li><div class="src-line"><a name="a1679"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1696 |
+<li><div class="src-line"><a name="a1680"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1697 |
+<li><div class="src-line"><a name="a1681"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'You can not use an unnamed parameter after a named one'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1698 |
+<li><div class="src-line"><a name="a1682"></a> <span class="src-sym">}</span></div></li> |
|
1699 |
+<li><div class="src-line"><a name="a1683"></a> <span class="src-var">$state </span>|= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
1700 |
+<li><div class="src-line"><a name="a1684"></a> <span class="src-sym">}</span></div></li> |
|
1701 |
+<li><div class="src-line"><a name="a1685"></a> <span class="src-sym">}</span></div></li> |
|
1702 |
+<li><div class="src-line"><a name="a1686"></a> <span class="src-sym">}</span></div></li> |
|
1703 |
+<li><div class="src-line"><a name="a1687"></a> <span class="src-sym">}</span></div></li> |
|
1704 |
+<li><div class="src-line"><a name="a1688"></a> <span class="src-sym">}</span></div></li> |
|
1705 |
+<li><div class="src-line"><a name="a1689"></a> </div></li> |
|
1706 |
+<li><div class="src-line"><a name="a1690"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1707 |
+<li><div class="src-line"><a name="a1691"></a> <span class="src-var">$pointer </span>+= <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>? <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>: <span class="src-num">0</span><span class="src-sym">) </span>+ <span class="src-sym">(</span><span class="src-str">')' </span>=== <span class="src-var">$paramsep </span>? <span class="src-num">2 </span>: <span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false </span>? <span class="src-num">0 </span>: <span class="src-num">1</span><span class="src-sym">)) </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">) </span>+ <span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$whitespace</span><span class="src-sym">) </span>? <span class="src-var">$whitespace </span>: <span class="src-num">0</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1708 |
+<li><div class="src-line"><a name="a1692"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'FUNC ADDS '</span>.<span class="src-sym">((</span>isset<span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>? <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>: <span class="src-num">0</span><span class="src-sym">) </span>+ <span class="src-sym">(</span><span class="src-str">')' </span>=== <span class="src-var">$paramsep </span>? <span class="src-num">2 </span>: <span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false </span>? <span class="src-num">0 </span>: <span class="src-num">1</span><span class="src-sym">)) </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">))</span>.<span class="src-str">' TO POINTER<br/>'</span><span class="src-sym">;</span></div></li> |
|
1709 |
+<li><div class="src-line"><a name="a1693"></a> <span class="src-sym">}</span></div></li> |
|
1710 |
+<li><div class="src-line"><a name="a1694"></a> </div></li> |
|
1711 |
+<li><div class="src-line"><a name="a1695"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'method' </span>|| <span class="src-var">$func </span>=== <span class="src-str">'do' </span>|| <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-str">'::'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1712 |
+<li><div class="src-line"><a name="a1696"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
1713 |
+<li><div class="src-line"><a name="a1697"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1714 |
+<li><div class="src-line"><a name="a1698"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1715 |
+<li><div class="src-line"><a name="a1699"></a> <span class="src-sym">}</span></div></li> |
| 1716 |
1716 |
<li><div class="src-line"><a name="a1700"></a> </div></li> |
| 1717 |
|
-<li><div class="src-line"><a name="a1701"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">, </span><span class="src-var">$map</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1718 |
|
-<li><div class="src-line"><a name="a1702"></a> <span class="src-sym">}</span></div></li> |
| 1719 |
|
-<li><div class="src-line"><a name="a1703"></a> </div></li> |
| 1720 |
|
-<li><div class="src-line"><a name="a1704"></a> <span class="src-comm">// only keep php-syntax-safe values for non-block plugins</span></div></li> |
| 1721 |
|
-<li><div class="src-line"><a name="a1705"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-sym">&</span><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1722 |
|
-<li><div class="src-line"><a name="a1706"></a> <span class="src-var">$p </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1723 |
|
-<li><div class="src-line"><a name="a1707"></a> <span class="src-sym">}</span></div></li> |
| 1724 |
|
-<li><div class="src-line"><a name="a1708"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1725 |
|
-<li><div class="src-line"><a name="a1709"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'do'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1726 |
|
-<li><div class="src-line"><a name="a1710"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1727 |
|
-<li><div class="src-line"><a name="a1711"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">';'</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">';'</span><span class="src-sym">;</span></div></li> |
| 1728 |
|
-<li><div class="src-line"><a name="a1712"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1729 |
|
-<li><div class="src-line"><a name="a1713"></a> <span class="src-var">$output </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1730 |
|
-<li><div class="src-line"><a name="a1714"></a> <span class="src-sym">}</span></div></li> |
|
1717 |
+<li><div class="src-line"><a name="a1701"></a> <span class="src-comm">// blocks</span></div></li> |
|
1718 |
+<li><div class="src-line"><a name="a1702"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1719 |
+<li><div class="src-line"><a name="a1703"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root' </span>|| <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1720 |
+<li><div class="src-line"><a name="a1704"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Block plugins can not be used as other plugin\'s arguments'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1721 |
+<li><div class="src-line"><a name="a1705"></a> <span class="src-sym">}</span></div></li> |
|
1722 |
+<li><div class="src-line"><a name="a1706"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1723 |
+<li><div class="src-line"><a name="a1707"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddCustomBlock">addCustomBlock</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1724 |
+<li><div class="src-line"><a name="a1708"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1725 |
+<li><div class="src-line"><a name="a1709"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1726 |
+<li><div class="src-line"><a name="a1710"></a> <span class="src-sym">}</span></div></li> |
|
1727 |
+<li><div class="src-line"><a name="a1711"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1728 |
+<li><div class="src-line"><a name="a1712"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root' </span>|| <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1729 |
+<li><div class="src-line"><a name="a1713"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Block plugins can not be used as other plugin\'s arguments'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1730 |
+<li><div class="src-line"><a name="a1714"></a> <span class="src-sym">}</span></div></li> |
| 1731 |
1731 |
<li><div class="src-line"><a name="a1715"></a> </div></li> |
| 1732 |
|
-<li><div class="src-line"><a name="a1716"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>|| <span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1733 |
|
-<li><div class="src-line"><a name="a1717"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Do can not be used inside another function or block'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1734 |
|
-<li><div class="src-line"><a name="a1718"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1735 |
|
-<li><div class="src-line"><a name="a1719"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span>.<span class="src-var">$output</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
| 1736 |
|
-<li><div class="src-line"><a name="a1720"></a> <span class="src-sym">}</span></div></li> |
| 1737 |
|
-<li><div class="src-line"><a name="a1721"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1738 |
|
-<li><div class="src-line"><a name="a1722"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1739 |
|
-<li><div class="src-line"><a name="a1723"></a> <span class="src-var">$output </span>= <span class="src-var">$func</span>.<span class="src-str">'('</span>.<a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">', '</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1740 |
|
-<li><div class="src-line"><a name="a1724"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1741 |
|
-<li><div class="src-line"><a name="a1725"></a> <span class="src-var">$output </span>= <span class="src-var">$func</span>.<span class="src-str">'()'</span><span class="src-sym">;</span></div></li> |
| 1742 |
|
-<li><div class="src-line"><a name="a1726"></a> <span class="src-sym">}</span></div></li> |
| 1743 |
|
-<li><div class="src-line"><a name="a1727"></a> <span class="src-sym">}</span></div></li> |
| 1744 |
|
-<li><div class="src-line"><a name="a1728"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1745 |
|
-<li><div class="src-line"><a name="a1729"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1746 |
|
-<li><div class="src-line"><a name="a1730"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1747 |
|
-<li><div class="src-line"><a name="a1731"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1748 |
|
-<li><div class="src-line"><a name="a1732"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1749 |
|
-<li><div class="src-line"><a name="a1733"></a> <span class="src-var">$funcCompiler </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'_compile'</span><span class="src-sym">;</span></div></li> |
| 1750 |
|
-<li><div class="src-line"><a name="a1734"></a> <span class="src-sym">}</span></div></li> |
| 1751 |
|
-<li><div class="src-line"><a name="a1735"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1752 |
|
-<li><div class="src-line"><a name="a1736"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1753 |
|
-<li><div class="src-line"><a name="a1737"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1754 |
|
-<li><div class="src-line"><a name="a1738"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'$this'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1755 |
|
-<li><div class="src-line"><a name="a1739"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1756 |
|
-<li><div class="src-line"><a name="a1740"></a> </div></li> |
| 1757 |
|
-<li><div class="src-line"><a name="a1741"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1758 |
|
-<li><div class="src-line"><a name="a1742"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1759 |
|
-<li><div class="src-line"><a name="a1743"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\', '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1760 |
|
-<li><div class="src-line"><a name="a1744"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1761 |
|
-<li><div class="src-line"><a name="a1745"></a> <span class="src-var">$output </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1762 |
|
-<li><div class="src-line"><a name="a1746"></a> <span class="src-sym">}</span></div></li> |
| 1763 |
|
-<li><div class="src-line"><a name="a1747"></a> <span class="src-sym">}</span></div></li> |
| 1764 |
|
-<li><div class="src-line"><a name="a1748"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1765 |
|
-<li><div class="src-line"><a name="a1749"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1766 |
|
-<li><div class="src-line"><a name="a1750"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1767 |
|
-<li><div class="src-line"><a name="a1751"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1768 |
|
-<li><div class="src-line"><a name="a1752"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1769 |
|
-<li><div class="src-line"><a name="a1753"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/method_exists">method_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1770 |
|
-<li><div class="src-line"><a name="a1754"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Custom plugin '</span>.<span class="src-var">$func</span>.<span class="src-str">' must implement the "compile" method to be compilable, or you should provide a full callback to the method to use'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1771 |
|
-<li><div class="src-line"><a name="a1755"></a> <span class="src-sym">}</span></div></li> |
| 1772 |
|
-<li><div class="src-line"><a name="a1756"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1773 |
|
-<li><div class="src-line"><a name="a1757"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1774 |
|
-<li><div class="src-line"><a name="a1758"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1775 |
|
-<li><div class="src-line"><a name="a1759"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1776 |
|
-<li><div class="src-line"><a name="a1760"></a> <span class="src-sym">}</span></div></li> |
| 1777 |
|
-<li><div class="src-line"><a name="a1761"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1778 |
|
-<li><div class="src-line"><a name="a1762"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 1779 |
|
-<li><div class="src-line"><a name="a1763"></a> <span class="src-sym">}</span></div></li> |
| 1780 |
|
-<li><div class="src-line"><a name="a1764"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1781 |
|
-<li><div class="src-line"><a name="a1765"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1782 |
|
-<li><div class="src-line"><a name="a1766"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1783 |
|
-<li><div class="src-line"><a name="a1767"></a> <span class="src-sym">}</span></div></li> |
| 1784 |
|
-<li><div class="src-line"><a name="a1768"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1785 |
|
-<li><div class="src-line"><a name="a1769"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1786 |
|
-<li><div class="src-line"><a name="a1770"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1787 |
|
-<li><div class="src-line"><a name="a1771"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1788 |
|
-<li><div class="src-line"><a name="a1772"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1789 |
|
-<li><div class="src-line"><a name="a1773"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1790 |
|
-<li><div class="src-line"><a name="a1774"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/method_exists">method_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1791 |
|
-<li><div class="src-line"><a name="a1775"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Custom plugin '</span>.<span class="src-var">$func</span>.<span class="src-str">' must implement the "process" method to be usable, or you should provide a full callback to the method to use'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1792 |
|
-<li><div class="src-line"><a name="a1776"></a> <span class="src-sym">}</span></div></li> |
| 1793 |
|
-<li><div class="src-line"><a name="a1777"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1794 |
|
-<li><div class="src-line"><a name="a1778"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\', \'process\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1795 |
|
-<li><div class="src-line"><a name="a1779"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1796 |
|
-<li><div class="src-line"><a name="a1780"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array($this->getObjectPlugin(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\'), \'process\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1797 |
|
-<li><div class="src-line"><a name="a1781"></a> <span class="src-sym">}</span></div></li> |
| 1798 |
|
-<li><div class="src-line"><a name="a1782"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1799 |
|
-<li><div class="src-line"><a name="a1783"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1800 |
|
-<li><div class="src-line"><a name="a1784"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1801 |
|
-<li><div class="src-line"><a name="a1785"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1802 |
|
-<li><div class="src-line"><a name="a1786"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1803 |
|
-<li><div class="src-line"><a name="a1787"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array($this->getObjectPlugin(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\'), \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1804 |
|
-<li><div class="src-line"><a name="a1788"></a> <span class="src-sym">}</span></div></li> |
| 1805 |
|
-<li><div class="src-line"><a name="a1789"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1806 |
|
-<li><div class="src-line"><a name="a1790"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">3</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1807 |
|
-<li><div class="src-line"><a name="a1791"></a> <span class="src-sym">}</span></div></li> |
| 1808 |
|
-<li><div class="src-line"><a name="a1792"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1809 |
|
-<li><div class="src-line"><a name="a1793"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->classCall(\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 1810 |
|
-<li><div class="src-line"><a name="a1794"></a> <span class="src-sym">}</span></div></li> |
| 1811 |
|
-<li><div class="src-line"><a name="a1795"></a> <span class="src-sym">}</span></div></li> |
| 1812 |
|
-<li><div class="src-line"><a name="a1796"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1813 |
|
-<li><div class="src-line"><a name="a1797"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'getCode'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1814 |
|
-<li><div class="src-line"><a name="a1798"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1815 |
|
-<li><div class="src-line"><a name="a1799"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1816 |
|
-<li><div class="src-line"><a name="a1800"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1817 |
|
-<li><div class="src-line"><a name="a1801"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1818 |
|
-<li><div class="src-line"><a name="a1802"></a> <span class="src-var">$params </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 1819 |
|
-<li><div class="src-line"><a name="a1803"></a> <span class="src-sym">}</span></div></li> |
| 1820 |
|
-<li><div class="src-line"><a name="a1804"></a> </div></li> |
| 1821 |
|
-<li><div class="src-line"><a name="a1805"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1822 |
|
-<li><div class="src-line"><a name="a1806"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1823 |
|
-<li><div class="src-line"><a name="a1807"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1824 |
|
-<li><div class="src-line"><a name="a1808"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1825 |
|
-<li><div class="src-line"><a name="a1809"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func_array(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this))'</span><span class="src-sym">;</span></div></li> |
| 1826 |
|
-<li><div class="src-line"><a name="a1810"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1827 |
|
-<li><div class="src-line"><a name="a1811"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func_array(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this))'</span><span class="src-sym">;</span></div></li> |
| 1828 |
|
-<li><div class="src-line"><a name="a1812"></a> <span class="src-sym">}</span></div></li> |
| 1829 |
|
-<li><div class="src-line"><a name="a1813"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1830 |
|
-<li><div class="src-line"><a name="a1814"></a> <span class="src-var">$output </span>= <span class="src-var">$callback</span>.<span class="src-str">'(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this)'</span><span class="src-sym">;</span></div></li> |
| 1831 |
|
-<li><div class="src-line"><a name="a1815"></a> <span class="src-sym">}</span></div></li> |
| 1832 |
|
-<li><div class="src-line"><a name="a1816"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1833 |
|
-<li><div class="src-line"><a name="a1817"></a> <span class="src-var">$output </span>= <span class="src-str">'smarty_function_'</span>.<span class="src-var">$func</span>.<span class="src-str">'(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this)'</span><span class="src-sym">;</span></div></li> |
| 1834 |
|
-<li><div class="src-line"><a name="a1818"></a> <span class="src-sym">}</span></div></li> |
| 1835 |
|
-<li><div class="src-line"><a name="a1819"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">TEMPLATE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1836 |
|
-<li><div class="src-line"><a name="a1820"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'$this'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1837 |
|
-<li><div class="src-line"><a name="a1821"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1838 |
|
-<li><div class="src-line"><a name="a1822"></a> <span class="src-var">$output </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'_'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'uuid'</span><span class="src-sym">]</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 1839 |
|
-<li><div class="src-line"><a name="a1823"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 1840 |
|
-<li><div class="src-line"><a name="a1824"></a> <span class="src-sym">}</span></div></li> |
| 1841 |
|
-<li><div class="src-line"><a name="a1825"></a> </div></li> |
| 1842 |
|
-<li><div class="src-line"><a name="a1826"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1843 |
|
-<li><div class="src-line"><a name="a1827"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1844 |
|
-<li><div class="src-line"><a name="a1828"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 1845 |
|
-<li><div class="src-line"><a name="a1829"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1846 |
|
-<li><div class="src-line"><a name="a1830"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1847 |
|
-<li><div class="src-line"><a name="a1831"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1848 |
|
-<li><div class="src-line"><a name="a1832"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 1849 |
|
-<li><div class="src-line"><a name="a1833"></a> <span class="src-sym">}</span></div></li> |
| 1850 |
|
-<li><div class="src-line"><a name="a1834"></a> <span class="src-sym">}</span></div></li> |
| 1851 |
|
-<li><div class="src-line"><a name="a1835"></a> </div></li> |
| 1852 |
|
-<li><div class="src-line"><a name="a1836"></a> <span class="src-doc">/**</span></div></li> |
| 1853 |
|
-<li><div class="src-line"><a name="a1837"></a><span class="src-doc"> * parses a string</span></div></li> |
| 1854 |
|
-<li><div class="src-line"><a name="a1838"></a><span class="src-doc"> *</span></div></li> |
| 1855 |
|
-<li><div class="src-line"><a name="a1839"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
| 1856 |
|
-<li><div class="src-line"><a name="a1840"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
| 1857 |
|
-<li><div class="src-line"><a name="a1841"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
| 1858 |
|
-<li><div class="src-line"><a name="a1842"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
| 1859 |
|
-<li><div class="src-line"><a name="a1843"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 1860 |
|
-<li><div class="src-line"><a name="a1844"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
| 1861 |
|
-<li><div class="src-line"><a name="a1845"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
| 1862 |
|
-<li><div class="src-line"><a name="a1846"></a><span class="src-doc"> */</span></div></li> |
| 1863 |
|
-<li><div class="src-line"><a name="a1847"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseString">parseString</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 1864 |
|
-<li><div class="src-line"><a name="a1848"></a> <span class="src-sym">{</span></div></li> |
| 1865 |
|
-<li><div class="src-line"><a name="a1849"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1866 |
|
-<li><div class="src-line"><a name="a1850"></a> <span class="src-var">$first </span>= <span class="src-var">$substr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1867 |
|
-<li><div class="src-line"><a name="a1851"></a> </div></li> |
| 1868 |
|
-<li><div class="src-line"><a name="a1852"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING FOUND (in '</span>.<a href="http://www.php.net/htmlentities">htmlentities</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><a href="http://www.php.net/min">min</a><span class="src-sym">(</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">, </span><span class="src-num">50</span><span class="src-sym">)))</span>.<span class="src-sym">((</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">) </span>> <span class="src-num">50 </span>? <span class="src-str">'...'</span>:<span class="src-str">''</span><span class="src-sym">)</span>.<span class="src-str">')<br />'</span><span class="src-sym">;</span></div></li> |
| 1869 |
|
-<li><div class="src-line"><a name="a1853"></a> <span class="src-var">$strend </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1870 |
|
-<li><div class="src-line"><a name="a1854"></a> <span class="src-var">$o </span>= <span class="src-var">$from</span>+<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 1871 |
|
-<li><div class="src-line"><a name="a1855"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$strend </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1872 |
|
-<li><div class="src-line"><a name="a1856"></a> <span class="src-var">$strend </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$o</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1873 |
|
-<li><div class="src-line"><a name="a1857"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$strend </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1874 |
|
-<li><div class="src-line"><a name="a1858"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unfinished string, started with '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1875 |
|
-<li><div class="src-line"><a name="a1859"></a> <span class="src-sym">}</span></div></li> |
| 1876 |
|
-<li><div class="src-line"><a name="a1860"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$strend</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1877 |
|
-<li><div class="src-line"><a name="a1861"></a> <span class="src-var">$o </span>= <span class="src-var">$strend</span>+<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 1878 |
|
-<li><div class="src-line"><a name="a1862"></a> <span class="src-var">$strend </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 1879 |
|
-<li><div class="src-line"><a name="a1863"></a> <span class="src-sym">}</span></div></li> |
| 1880 |
|
-<li><div class="src-line"><a name="a1864"></a> <span class="src-sym">}</span></div></li> |
| 1881 |
|
-<li><div class="src-line"><a name="a1865"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING DELIMITED: '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">)</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 1882 |
|
-<li><div class="src-line"><a name="a1866"></a> </div></li> |
| 1883 |
|
-<li><div class="src-line"><a name="a1867"></a> <span class="src-var">$srcOutput </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1884 |
|
-<li><div class="src-line"><a name="a1868"></a> </div></li> |
| 1885 |
|
-<li><div class="src-line"><a name="a1869"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1886 |
|
-<li><div class="src-line"><a name="a1870"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1887 |
|
-<li><div class="src-line"><a name="a1871"></a> <span class="src-sym">}</span></div></li> |
| 1888 |
|
-<li><div class="src-line"><a name="a1872"></a> </div></li> |
| 1889 |
|
-<li><div class="src-line"><a name="a1873"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceStringVars">replaceStringVars</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1732 |
+<li><div class="src-line"><a name="a1716"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1733 |
+<li><div class="src-line"><a name="a1717"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'__functype'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$pluginType</span><span class="src-sym">, </span><span class="src-var">$pluginType</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
1734 |
+<li><div class="src-line"><a name="a1718"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'__funcname'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
1735 |
+<li><div class="src-line"><a name="a1719"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1736 |
+<li><div class="src-line"><a name="a1720"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$pluginType</span><span class="src-sym">, </span><span class="src-var">$pluginType</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1737 |
+<li><div class="src-line"><a name="a1721"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1738 |
+<li><div class="src-line"><a name="a1722"></a> <span class="src-sym">}</span></div></li> |
|
1739 |
+<li><div class="src-line"><a name="a1723"></a> </div></li> |
|
1740 |
+<li><div class="src-line"><a name="a1724"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddBlock">addBlock</a><span class="src-sym">(</span><span class="src-str">'smartyinterface'</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1741 |
+<li><div class="src-line"><a name="a1725"></a> <span class="src-sym">}</span></div></li> |
|
1742 |
+<li><div class="src-line"><a name="a1726"></a> </div></li> |
|
1743 |
+<li><div class="src-line"><a name="a1727"></a> <span class="src-comm">// funcs</span></div></li> |
|
1744 |
+<li><div class="src-line"><a name="a1728"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN </span>|| <span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION </span>|| <span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1745 |
+<li><div class="src-line"><a name="a1729"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1746 |
+<li><div class="src-line"><a name="a1730"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1747 |
+<li><div class="src-line"><a name="a1731"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1748 |
+<li><div class="src-line"><a name="a1732"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'class'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'function'</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1749 |
+<li><div class="src-line"><a name="a1733"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1750 |
+<li><div class="src-line"><a name="a1734"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'compile' </span>: <span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1751 |
+<li><div class="src-line"><a name="a1735"></a> <span class="src-sym">}</span></div></li> |
|
1752 |
+<li><div class="src-line"><a name="a1736"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1753 |
+<li><div class="src-line"><a name="a1737"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1754 |
+<li><div class="src-line"><a name="a1738"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1755 |
+<li><div class="src-line"><a name="a1739"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1756 |
+<li><div class="src-line"><a name="a1740"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-sym">((</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'_compile' </span>: <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1757 |
+<li><div class="src-line"><a name="a1741"></a> <span class="src-sym">}</span></div></li> |
|
1758 |
+<li><div class="src-line"><a name="a1742"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1759 |
+<li><div class="src-line"><a name="a1743"></a> <span class="src-var">$output </span>= <span class="src-str">'smarty_modifier_'</span>.<span class="src-var">$func</span>.<span class="src-str">'('</span>.<a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">', '</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1760 |
+<li><div class="src-line"><a name="a1744"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1761 |
+<li><div class="src-line"><a name="a1745"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getCallback</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1762 |
+<li><div class="src-line"><a name="a1746"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">TEMPLATE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1763 |
+<li><div class="src-line"><a name="a1747"></a> <span class="src-comm">// transforms the parameter array from (x=>array('paramname'=>array(values))) to (paramname=>array(values))</span></div></li> |
|
1764 |
+<li><div class="src-line"><a name="a1748"></a> <span class="src-var">$map </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1765 |
+<li><div class="src-line"><a name="a1749"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'params'</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$param</span>=><span class="src-var">$defValue</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1766 |
+<li><div class="src-line"><a name="a1750"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$param </span>== <span class="src-str">'rest'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1767 |
+<li><div class="src-line"><a name="a1751"></a> <span class="src-var">$param </span>= <span class="src-str">'*'</span><span class="src-sym">;</span></div></li> |
|
1768 |
+<li><div class="src-line"><a name="a1752"></a> <span class="src-sym">}</span></div></li> |
|
1769 |
+<li><div class="src-line"><a name="a1753"></a> <span class="src-var">$hasDefault </span>= <span class="src-var">$defValue </span>!== <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1770 |
+<li><div class="src-line"><a name="a1754"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$defValue </span>=== <span class="src-str">'null'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1771 |
+<li><div class="src-line"><a name="a1755"></a> <span class="src-var">$defValue </span>= <span class="src-id">null</span><span class="src-sym">;</span></div></li> |
|
1772 |
+<li><div class="src-line"><a name="a1756"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$defValue </span>=== <span class="src-str">'false'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1773 |
+<li><div class="src-line"><a name="a1757"></a> <span class="src-var">$defValue </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1774 |
+<li><div class="src-line"><a name="a1758"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$defValue </span>=== <span class="src-str">'true'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1775 |
+<li><div class="src-line"><a name="a1759"></a> <span class="src-var">$defValue </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
1776 |
+<li><div class="src-line"><a name="a1760"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^([\'"]).*?\1$#'</span><span class="src-sym">, </span><span class="src-var">$defValue</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1777 |
+<li><div class="src-line"><a name="a1761"></a> <span class="src-var">$defValue </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$defValue</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1778 |
+<li><div class="src-line"><a name="a1762"></a> <span class="src-sym">}</span></div></li> |
|
1779 |
+<li><div class="src-line"><a name="a1763"></a> <span class="src-var">$map</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">, </span><span class="src-var">$hasDefault</span><span class="src-sym">, </span><span class="src-var">$defValue</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1780 |
+<li><div class="src-line"><a name="a1764"></a> <span class="src-sym">}</span></div></li> |
|
1781 |
+<li><div class="src-line"><a name="a1765"></a> </div></li> |
|
1782 |
+<li><div class="src-line"><a name="a1766"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">, </span><span class="src-var">$map</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1783 |
+<li><div class="src-line"><a name="a1767"></a> <span class="src-sym">}</span></div></li> |
|
1784 |
+<li><div class="src-line"><a name="a1768"></a> </div></li> |
|
1785 |
+<li><div class="src-line"><a name="a1769"></a> <span class="src-comm">// only keep php-syntax-safe values for non-block plugins</span></div></li> |
|
1786 |
+<li><div class="src-line"><a name="a1770"></a> <span class="src-var">$tokens </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1787 |
+<li><div class="src-line"><a name="a1771"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k </span>=> <span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1788 |
+<li><div class="src-line"><a name="a1772"></a> <span class="src-var">$tokens</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= isset<span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">] </span>: <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1789 |
+<li><div class="src-line"><a name="a1773"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1790 |
+<li><div class="src-line"><a name="a1774"></a> <span class="src-sym">}</span></div></li> |
|
1791 |
+<li><div class="src-line"><a name="a1775"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1792 |
+<li><div class="src-line"><a name="a1776"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'do'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1793 |
+<li><div class="src-line"><a name="a1777"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1794 |
+<li><div class="src-line"><a name="a1778"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">';'</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">';'</span><span class="src-sym">;</span></div></li> |
|
1795 |
+<li><div class="src-line"><a name="a1779"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1796 |
+<li><div class="src-line"><a name="a1780"></a> <span class="src-var">$output </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1797 |
+<li><div class="src-line"><a name="a1781"></a> <span class="src-sym">}</span></div></li> |
|
1798 |
+<li><div class="src-line"><a name="a1782"></a> </div></li> |
|
1799 |
+<li><div class="src-line"><a name="a1783"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">) </span>|| <span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1800 |
+<li><div class="src-line"><a name="a1784"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Do can not be used inside another function or block'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1801 |
+<li><div class="src-line"><a name="a1785"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1802 |
+<li><div class="src-line"><a name="a1786"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span>.<span class="src-var">$output</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
|
1803 |
+<li><div class="src-line"><a name="a1787"></a> <span class="src-sym">}</span></div></li> |
|
1804 |
+<li><div class="src-line"><a name="a1788"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1805 |
+<li><div class="src-line"><a name="a1789"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1806 |
+<li><div class="src-line"><a name="a1790"></a> <span class="src-var">$output </span>= <span class="src-var">$func</span>.<span class="src-str">'('</span>.<a href="http://www.php.net/implode">implode</a><span class="src-sym">(</span><span class="src-str">', '</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1807 |
+<li><div class="src-line"><a name="a1791"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1808 |
+<li><div class="src-line"><a name="a1792"></a> <span class="src-var">$output </span>= <span class="src-var">$func</span>.<span class="src-str">'()'</span><span class="src-sym">;</span></div></li> |
|
1809 |
+<li><div class="src-line"><a name="a1793"></a> <span class="src-sym">}</span></div></li> |
|
1810 |
+<li><div class="src-line"><a name="a1794"></a> <span class="src-sym">}</span></div></li> |
|
1811 |
+<li><div class="src-line"><a name="a1795"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1812 |
+<li><div class="src-line"><a name="a1796"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1813 |
+<li><div class="src-line"><a name="a1797"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1814 |
+<li><div class="src-line"><a name="a1798"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1815 |
+<li><div class="src-line"><a name="a1799"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1816 |
+<li><div class="src-line"><a name="a1800"></a> <span class="src-var">$funcCompiler </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'_compile'</span><span class="src-sym">;</span></div></li> |
|
1817 |
+<li><div class="src-line"><a name="a1801"></a> <span class="src-sym">}</span></div></li> |
|
1818 |
+<li><div class="src-line"><a name="a1802"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1819 |
+<li><div class="src-line"><a name="a1803"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$func </span>=== <span class="src-str">'tif'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1820 |
+<li><div class="src-line"><a name="a1804"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$tokens</span><span class="src-sym">;</span></div></li> |
|
1821 |
+<li><div class="src-line"><a name="a1805"></a> <span class="src-sym">}</span></div></li> |
|
1822 |
+<li><div class="src-line"><a name="a1806"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1823 |
+<li><div class="src-line"><a name="a1807"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1824 |
+<li><div class="src-line"><a name="a1808"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'$this'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1825 |
+<li><div class="src-line"><a name="a1809"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1826 |
+<li><div class="src-line"><a name="a1810"></a> </div></li> |
|
1827 |
+<li><div class="src-line"><a name="a1811"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1828 |
+<li><div class="src-line"><a name="a1812"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1829 |
+<li><div class="src-line"><a name="a1813"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\', '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1830 |
+<li><div class="src-line"><a name="a1814"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1831 |
+<li><div class="src-line"><a name="a1815"></a> <span class="src-var">$output </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1832 |
+<li><div class="src-line"><a name="a1816"></a> <span class="src-sym">}</span></div></li> |
|
1833 |
+<li><div class="src-line"><a name="a1817"></a> <span class="src-sym">}</span></div></li> |
|
1834 |
+<li><div class="src-line"><a name="a1818"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1835 |
+<li><div class="src-line"><a name="a1819"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1836 |
+<li><div class="src-line"><a name="a1820"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1837 |
+<li><div class="src-line"><a name="a1821"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1838 |
+<li><div class="src-line"><a name="a1822"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1839 |
+<li><div class="src-line"><a name="a1823"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/method_exists">method_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1840 |
+<li><div class="src-line"><a name="a1824"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Custom plugin '</span>.<span class="src-var">$func</span>.<span class="src-str">' must implement the "compile" method to be compilable, or you should provide a full callback to the method to use'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1841 |
+<li><div class="src-line"><a name="a1825"></a> <span class="src-sym">}</span></div></li> |
|
1842 |
+<li><div class="src-line"><a name="a1826"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1843 |
+<li><div class="src-line"><a name="a1827"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1844 |
+<li><div class="src-line"><a name="a1828"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1845 |
+<li><div class="src-line"><a name="a1829"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1846 |
+<li><div class="src-line"><a name="a1830"></a> <span class="src-sym">}</span></div></li> |
|
1847 |
+<li><div class="src-line"><a name="a1831"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1848 |
+<li><div class="src-line"><a name="a1832"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
1849 |
+<li><div class="src-line"><a name="a1833"></a> <span class="src-sym">}</span></div></li> |
|
1850 |
+<li><div class="src-line"><a name="a1834"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1851 |
+<li><div class="src-line"><a name="a1835"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1852 |
+<li><div class="src-line"><a name="a1836"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1853 |
+<li><div class="src-line"><a name="a1837"></a> <span class="src-sym">}</span></div></li> |
|
1854 |
+<li><div class="src-line"><a name="a1838"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1855 |
+<li><div class="src-line"><a name="a1839"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1856 |
+<li><div class="src-line"><a name="a1840"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1857 |
+<li><div class="src-line"><a name="a1841"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1858 |
+<li><div class="src-line"><a name="a1842"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1859 |
+<li><div class="src-line"><a name="a1843"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1860 |
+<li><div class="src-line"><a name="a1844"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/method_exists">method_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1861 |
+<li><div class="src-line"><a name="a1845"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Custom plugin '</span>.<span class="src-var">$func</span>.<span class="src-str">' must implement the "process" method to be usable, or you should provide a full callback to the method to use'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1862 |
+<li><div class="src-line"><a name="a1846"></a> <span class="src-sym">}</span></div></li> |
|
1863 |
+<li><div class="src-line"><a name="a1847"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'process'</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1864 |
+<li><div class="src-line"><a name="a1848"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\', \'process\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1865 |
+<li><div class="src-line"><a name="a1849"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1866 |
+<li><div class="src-line"><a name="a1850"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array($this->getObjectPlugin(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\'), \'process\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1867 |
+<li><div class="src-line"><a name="a1851"></a> <span class="src-sym">}</span></div></li> |
|
1868 |
+<li><div class="src-line"><a name="a1852"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1869 |
+<li><div class="src-line"><a name="a1853"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1870 |
+<li><div class="src-line"><a name="a1854"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1871 |
+<li><div class="src-line"><a name="a1855"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1872 |
+<li><div class="src-line"><a name="a1856"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1873 |
+<li><div class="src-line"><a name="a1857"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func(array($this->getObjectPlugin(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\'), \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), '</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1874 |
+<li><div class="src-line"><a name="a1858"></a> <span class="src-sym">}</span></div></li> |
|
1875 |
+<li><div class="src-line"><a name="a1859"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1876 |
+<li><div class="src-line"><a name="a1860"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">3</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1877 |
+<li><div class="src-line"><a name="a1861"></a> <span class="src-sym">}</span></div></li> |
|
1878 |
+<li><div class="src-line"><a name="a1862"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1879 |
+<li><div class="src-line"><a name="a1863"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->classCall(\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
1880 |
+<li><div class="src-line"><a name="a1864"></a> <span class="src-sym">}</span></div></li> |
|
1881 |
+<li><div class="src-line"><a name="a1865"></a> <span class="src-sym">}</span></div></li> |
|
1882 |
+<li><div class="src-line"><a name="a1866"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1883 |
+<li><div class="src-line"><a name="a1867"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'getCode'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1884 |
+<li><div class="src-line"><a name="a1868"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1885 |
+<li><div class="src-line"><a name="a1869"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1886 |
+<li><div class="src-line"><a name="a1870"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1887 |
+<li><div class="src-line"><a name="a1871"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1888 |
+<li><div class="src-line"><a name="a1872"></a> <span class="src-var">$params </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
1889 |
+<li><div class="src-line"><a name="a1873"></a> <span class="src-sym">}</span></div></li> |
| 1890 |
1890 |
<li><div class="src-line"><a name="a1874"></a> </div></li> |
| 1891 |
|
-<li><div class="src-line"><a name="a1875"></a> <span class="src-comm">// handle modifiers</span></div></li> |
| 1892 |
|
-<li><div class="src-line"><a name="a1876"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'modifier' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^((?:\|(?:@?[a-z0-9_]+(?::.*)*))+)#i'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1893 |
|
-<li><div class="src-line"><a name="a1877"></a> <span class="src-var">$modstr </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1894 |
|
-<li><div class="src-line"><a name="a1878"></a> </div></li> |
| 1895 |
|
-<li><div class="src-line"><a name="a1879"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$modstr</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'}'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1896 |
|
-<li><div class="src-line"><a name="a1880"></a> <span class="src-var">$modstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$modstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1897 |
|
-<li><div class="src-line"><a name="a1881"></a> <span class="src-sym">}</span></div></li> |
| 1898 |
|
-<li><div class="src-line"><a name="a1882"></a> <span class="src-var">$modstr </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\\'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$modstr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1899 |
|
-<li><div class="src-line"><a name="a1883"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 1900 |
|
-<li><div class="src-line"><a name="a1884"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$modstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'string'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1901 |
|
-<li><div class="src-line"><a name="a1885"></a> </div></li> |
| 1902 |
|
-<li><div class="src-line"><a name="a1886"></a> <span class="src-var">$strend </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 1903 |
|
-<li><div class="src-line"><a name="a1887"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1904 |
|
-<li><div class="src-line"><a name="a1888"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 1905 |
|
-<li><div class="src-line"><a name="a1889"></a> <span class="src-sym">}</span></div></li> |
| 1906 |
|
-<li><div class="src-line"><a name="a1890"></a> <span class="src-var">$srcOutput </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1907 |
|
-<li><div class="src-line"><a name="a1891"></a> <span class="src-sym">}</span></div></li> |
| 1908 |
|
-<li><div class="src-line"><a name="a1892"></a> </div></li> |
| 1909 |
|
-<li><div class="src-line"><a name="a1893"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1910 |
|
-<li><div class="src-line"><a name="a1894"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1911 |
|
-<li><div class="src-line"><a name="a1895"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 1912 |
|
-<li><div class="src-line"><a name="a1896"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1913 |
|
-<li><div class="src-line"><a name="a1897"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 1914 |
|
-<li><div class="src-line"><a name="a1898"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1915 |
|
-<li><div class="src-line"><a name="a1899"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 1916 |
|
-<li><div class="src-line"><a name="a1900"></a> <span class="src-sym">}</span></div></li> |
| 1917 |
|
-<li><div class="src-line"><a name="a1901"></a> <span class="src-sym">}</span></div></li> |
| 1918 |
|
-<li><div class="src-line"><a name="a1902"></a> </div></li> |
| 1919 |
|
-<li><div class="src-line"><a name="a1903"></a> <span class="src-doc">/**</span></div></li> |
| 1920 |
|
-<li><div class="src-line"><a name="a1904"></a><span class="src-doc"> * parses a constant</span></div></li> |
| 1921 |
|
-<li><div class="src-line"><a name="a1905"></a><span class="src-doc"> *</span></div></li> |
| 1922 |
|
-<li><div class="src-line"><a name="a1906"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
| 1923 |
|
-<li><div class="src-line"><a name="a1907"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
| 1924 |
|
-<li><div class="src-line"><a name="a1908"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
| 1925 |
|
-<li><div class="src-line"><a name="a1909"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
| 1926 |
|
-<li><div class="src-line"><a name="a1910"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 1927 |
|
-<li><div class="src-line"><a name="a1911"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
| 1928 |
|
-<li><div class="src-line"><a name="a1912"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
| 1929 |
|
-<li><div class="src-line"><a name="a1913"></a><span class="src-doc"> */</span></div></li> |
| 1930 |
|
-<li><div class="src-line"><a name="a1914"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConst">parseConst</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 1931 |
|
-<li><div class="src-line"><a name="a1915"></a> <span class="src-sym">{</span></div></li> |
| 1932 |
|
-<li><div class="src-line"><a name="a1916"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1933 |
|
-<li><div class="src-line"><a name="a1917"></a> </div></li> |
| 1934 |
|
-<li><div class="src-line"><a name="a1918"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1935 |
|
-<li><div class="src-line"><a name="a1919"></a> echo <span class="src-str">'CONST FOUND : '</span>.<span class="src-var">$substr</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
| 1936 |
|
-<li><div class="src-line"><a name="a1920"></a> <span class="src-sym">}</span></div></li> |
|
1891 |
+<li><div class="src-line"><a name="a1875"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1892 |
+<li><div class="src-line"><a name="a1876"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1893 |
+<li><div class="src-line"><a name="a1877"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1894 |
+<li><div class="src-line"><a name="a1878"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1895 |
+<li><div class="src-line"><a name="a1879"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func_array(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this))'</span><span class="src-sym">;</span></div></li> |
|
1896 |
+<li><div class="src-line"><a name="a1880"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1897 |
+<li><div class="src-line"><a name="a1881"></a> <span class="src-var">$output </span>= <span class="src-str">'call_user_func_array(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this))'</span><span class="src-sym">;</span></div></li> |
|
1898 |
+<li><div class="src-line"><a name="a1882"></a> <span class="src-sym">}</span></div></li> |
|
1899 |
+<li><div class="src-line"><a name="a1883"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1900 |
+<li><div class="src-line"><a name="a1884"></a> <span class="src-var">$output </span>= <span class="src-var">$callback</span>.<span class="src-str">'(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this)'</span><span class="src-sym">;</span></div></li> |
|
1901 |
+<li><div class="src-line"><a name="a1885"></a> <span class="src-sym">}</span></div></li> |
|
1902 |
+<li><div class="src-line"><a name="a1886"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1903 |
+<li><div class="src-line"><a name="a1887"></a> <span class="src-var">$output </span>= <span class="src-str">'smarty_function_'</span>.<span class="src-var">$func</span>.<span class="src-str">'(array('</span>.<span class="src-var">$params</span>.<span class="src-str">'), $this)'</span><span class="src-sym">;</span></div></li> |
|
1904 |
+<li><div class="src-line"><a name="a1888"></a> <span class="src-sym">}</span></div></li> |
|
1905 |
+<li><div class="src-line"><a name="a1889"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">TEMPLATE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1906 |
+<li><div class="src-line"><a name="a1890"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'$this'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1907 |
+<li><div class="src-line"><a name="a1891"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1908 |
+<li><div class="src-line"><a name="a1892"></a> <span class="src-var">$output </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'_'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'uuid'</span><span class="src-sym">]</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
1909 |
+<li><div class="src-line"><a name="a1893"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'called'</span><span class="src-sym">] </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
1910 |
+<li><div class="src-line"><a name="a1894"></a> <span class="src-sym">}</span></div></li> |
|
1911 |
+<li><div class="src-line"><a name="a1895"></a> </div></li> |
|
1912 |
+<li><div class="src-line"><a name="a1896"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1913 |
+<li><div class="src-line"><a name="a1897"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1914 |
+<li><div class="src-line"><a name="a1898"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
|
1915 |
+<li><div class="src-line"><a name="a1899"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1916 |
+<li><div class="src-line"><a name="a1900"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1917 |
+<li><div class="src-line"><a name="a1901"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1918 |
+<li><div class="src-line"><a name="a1902"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
1919 |
+<li><div class="src-line"><a name="a1903"></a> <span class="src-sym">}</span></div></li> |
|
1920 |
+<li><div class="src-line"><a name="a1904"></a> <span class="src-sym">}</span></div></li> |
|
1921 |
+<li><div class="src-line"><a name="a1905"></a> </div></li> |
|
1922 |
+<li><div class="src-line"><a name="a1906"></a> <span class="src-doc">/**</span></div></li> |
|
1923 |
+<li><div class="src-line"><a name="a1907"></a><span class="src-doc"> * parses a string</span></div></li> |
|
1924 |
+<li><div class="src-line"><a name="a1908"></a><span class="src-doc"> *</span></div></li> |
|
1925 |
+<li><div class="src-line"><a name="a1909"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
|
1926 |
+<li><div class="src-line"><a name="a1910"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
|
1927 |
+<li><div class="src-line"><a name="a1911"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
|
1928 |
+<li><div class="src-line"><a name="a1912"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
|
1929 |
+<li><div class="src-line"><a name="a1913"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
1930 |
+<li><div class="src-line"><a name="a1914"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
|
1931 |
+<li><div class="src-line"><a name="a1915"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
|
1932 |
+<li><div class="src-line"><a name="a1916"></a><span class="src-doc"> */</span></div></li> |
|
1933 |
+<li><div class="src-line"><a name="a1917"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseString">parseString</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
1934 |
+<li><div class="src-line"><a name="a1918"></a> <span class="src-sym">{</span></div></li> |
|
1935 |
+<li><div class="src-line"><a name="a1919"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1936 |
+<li><div class="src-line"><a name="a1920"></a> <span class="src-var">$first </span>= <span class="src-var">$substr</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 1937 |
1937 |
<li><div class="src-line"><a name="a1921"></a> </div></li> |
| 1938 |
|
-<li><div class="src-line"><a name="a1922"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^%([a-z0-9_:]+)#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1939 |
|
-<li><div class="src-line"><a name="a1923"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid constant'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1940 |
|
-<li><div class="src-line"><a name="a1924"></a> <span class="src-sym">}</span></div></li> |
| 1941 |
|
-<li><div class="src-line"><a name="a1925"></a> </div></li> |
| 1942 |
|
-<li><div class="src-line"><a name="a1926"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1943 |
|
-<li><div class="src-line"><a name="a1927"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1944 |
|
-<li><div class="src-line"><a name="a1928"></a> <span class="src-sym">}</span></div></li> |
| 1945 |
|
-<li><div class="src-line"><a name="a1929"></a> </div></li> |
| 1946 |
|
-<li><div class="src-line"><a name="a1930"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConstKey">parseConstKey</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1947 |
|
-<li><div class="src-line"><a name="a1931"></a> </div></li> |
| 1948 |
|
-<li><div class="src-line"><a name="a1932"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 1949 |
|
-<li><div class="src-line"><a name="a1933"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1950 |
|
-<li><div class="src-line"><a name="a1934"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 1951 |
|
-<li><div class="src-line"><a name="a1935"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1952 |
|
-<li><div class="src-line"><a name="a1936"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1953 |
|
-<li><div class="src-line"><a name="a1937"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1954 |
|
-<li><div class="src-line"><a name="a1938"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 1955 |
|
-<li><div class="src-line"><a name="a1939"></a> <span class="src-sym">}</span></div></li> |
| 1956 |
|
-<li><div class="src-line"><a name="a1940"></a> <span class="src-sym">}</span></div></li> |
| 1957 |
|
-<li><div class="src-line"><a name="a1941"></a> </div></li> |
| 1958 |
|
-<li><div class="src-line"><a name="a1942"></a> <span class="src-doc">/**</span></div></li> |
| 1959 |
|
-<li><div class="src-line"><a name="a1943"></a><span class="src-doc"> * parses a constant</span></div></li> |
| 1960 |
|
-<li><div class="src-line"><a name="a1944"></a><span class="src-doc"> *</span></div></li> |
| 1961 |
|
-<li><div class="src-line"><a name="a1945"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$key </span><span class="src-doc">the constant to parse</span></div></li> |
| 1962 |
|
-<li><div class="src-line"><a name="a1946"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 1963 |
|
-<li><div class="src-line"><a name="a1947"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed constant</span></div></li> |
| 1964 |
|
-<li><div class="src-line"><a name="a1948"></a><span class="src-doc"> */</span></div></li> |
| 1965 |
|
-<li><div class="src-line"><a name="a1949"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConstKey">parseConstKey</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span></div></li> |
| 1966 |
|
-<li><div class="src-line"><a name="a1950"></a> <span class="src-sym">{</span></div></li> |
| 1967 |
|
-<li><div class="src-line"><a name="a1951"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> </span>!== <span class="src-id">null </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a></span><span class="src-sym">-></span><span class="src-id">getConstantHandling</span><span class="src-sym">(</span><span class="src-sym">) </span>=== <span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">CONST_DISALLOW</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1968 |
|
-<li><div class="src-line"><a name="a1952"></a> <span class="src-key">return </span><span class="src-str">'null'</span><span class="src-sym">;</span></div></li> |
| 1969 |
|
-<li><div class="src-line"><a name="a1953"></a> <span class="src-sym">}</span></div></li> |
| 1970 |
|
-<li><div class="src-line"><a name="a1954"></a> </div></li> |
| 1971 |
|
-<li><div class="src-line"><a name="a1955"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 1972 |
|
-<li><div class="src-line"><a name="a1956"></a> <span class="src-var">$output </span>= <span class="src-str">'(defined("'</span>.<span class="src-var">$key</span>.<span class="src-str">'") ? '</span>.<span class="src-var">$key</span>.<span class="src-str">' : null)'</span><span class="src-sym">;</span></div></li> |
| 1973 |
|
-<li><div class="src-line"><a name="a1957"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 1974 |
|
-<li><div class="src-line"><a name="a1958"></a> <span class="src-var">$output </span>= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
| 1975 |
|
-<li><div class="src-line"><a name="a1959"></a> <span class="src-sym">}</span></div></li> |
| 1976 |
|
-<li><div class="src-line"><a name="a1960"></a> </div></li> |
| 1977 |
|
-<li><div class="src-line"><a name="a1961"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 1978 |
|
-<li><div class="src-line"><a name="a1962"></a> <span class="src-sym">}</span></div></li> |
| 1979 |
|
-<li><div class="src-line"><a name="a1963"></a> </div></li> |
| 1980 |
|
-<li><div class="src-line"><a name="a1964"></a> <span class="src-doc">/**</span></div></li> |
| 1981 |
|
-<li><div class="src-line"><a name="a1965"></a><span class="src-doc"> * parses a variable</span></div></li> |
| 1982 |
|
-<li><div class="src-line"><a name="a1966"></a><span class="src-doc"> *</span></div></li> |
| 1983 |
|
-<li><div class="src-line"><a name="a1967"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
| 1984 |
|
-<li><div class="src-line"><a name="a1968"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
| 1985 |
|
-<li><div class="src-line"><a name="a1969"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
| 1986 |
|
-<li><div class="src-line"><a name="a1970"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
| 1987 |
|
-<li><div class="src-line"><a name="a1971"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 1988 |
|
-<li><div class="src-line"><a name="a1972"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
| 1989 |
|
-<li><div class="src-line"><a name="a1973"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
| 1990 |
|
-<li><div class="src-line"><a name="a1974"></a><span class="src-doc"> */</span></div></li> |
| 1991 |
|
-<li><div class="src-line"><a name="a1975"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 1992 |
|
-<li><div class="src-line"><a name="a1976"></a> <span class="src-sym">{</span></div></li> |
| 1993 |
|
-<li><div class="src-line"><a name="a1977"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 1994 |
|
-<li><div class="src-line"><a name="a1978"></a> </div></li> |
| 1995 |
|
-<li><div class="src-line"><a name="a1979"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#(\$?\.?[a-z0-9_:]*(?:(?:(?:\.|->)(?:[a-z0-9_:]+|(?R))|\[(?:[a-z0-9_:]+|(?R)|(["\'])[^\2]*?\2)\]))*)' </span>. <span class="src-comm">// var key</span></div></li> |
| 1996 |
|
-<li><div class="src-line"><a name="a1980"></a> <span class="src-sym">(</span><span class="src-var">$curBlock</span>===<span class="src-str">'root' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'function' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'namedparam' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'condition' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'variable' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'expression' </span>? <span class="src-str">'(\(.*)?' </span>: <span class="src-str">'()'</span><span class="src-sym">) </span>. <span class="src-comm">// method call</span></div></li> |
| 1997 |
|
-<li><div class="src-line"><a name="a1981"></a> <span class="src-sym">(</span><span class="src-var">$curBlock</span>===<span class="src-str">'root' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'function' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'namedparam' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'condition' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'variable' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'delimited_string' </span>? <span class="src-str">'((?:(?:[+/*%=-])(?:(?<!=)=?-?[$%][a-z0-9.[\]>_:-]+(?:\([^)]*\))?|(?<!=)=?-?[0-9.,]*|[+-]))*)'</span>:<span class="src-str">'()'</span><span class="src-sym">) </span>. <span class="src-comm">// simple math expressions</span></div></li> |
| 1998 |
|
-<li><div class="src-line"><a name="a1982"></a> <span class="src-sym">(</span><span class="src-var">$curBlock</span>!==<span class="src-str">'modifier' </span>? <span class="src-str">'((?:\|(?:@?[a-z0-9_]+(?:(?::("|\').*?\5|:[^`]*))*))+)?'</span>:<span class="src-str">'(())'</span><span class="src-sym">) </span>. <span class="src-comm">// modifiers</span></div></li> |
| 1999 |
|
-<li><div class="src-line"><a name="a1983"></a> <span class="src-str">'#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2000 |
|
-<li><div class="src-line"><a name="a1984"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2001 |
|
-<li><div class="src-line"><a name="a1985"></a> </div></li> |
| 2002 |
|
-<li><div class="src-line"><a name="a1986"></a> <span class="src-var">$matchedLength </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2003 |
|
-<li><div class="src-line"><a name="a1987"></a> <span class="src-var">$hasModifiers </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2004 |
|
-<li><div class="src-line"><a name="a1988"></a> <span class="src-var">$hasExpression </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">4</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2005 |
|
-<li><div class="src-line"><a name="a1989"></a> <span class="src-var">$hasMethodCall </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2006 |
|
-<li><div class="src-line"><a name="a1990"></a> </div></li> |
| 2007 |
|
-<li><div class="src-line"><a name="a1991"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">"."</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2008 |
|
-<li><div class="src-line"><a name="a1992"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2009 |
|
-<li><div class="src-line"><a name="a1993"></a> <span class="src-var">$matchedLength</span>--<span class="src-sym">;</span></div></li> |
| 2010 |
|
-<li><div class="src-line"><a name="a1994"></a> <span class="src-sym">}</span></div></li> |
|
1938 |
+<li><div class="src-line"><a name="a1922"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING FOUND (in '</span>.<a href="http://www.php.net/htmlentities">htmlentities</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><a href="http://www.php.net/min">min</a><span class="src-sym">(</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">, </span><span class="src-num">50</span><span class="src-sym">)))</span>.<span class="src-sym">((</span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">) </span>> <span class="src-num">50 </span>? <span class="src-str">'...'</span>:<span class="src-str">''</span><span class="src-sym">)</span>.<span class="src-str">')<br />'</span><span class="src-sym">;</span></div></li> |
|
1939 |
+<li><div class="src-line"><a name="a1923"></a> <span class="src-var">$strend </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1940 |
+<li><div class="src-line"><a name="a1924"></a> <span class="src-var">$o </span>= <span class="src-var">$from</span>+<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
1941 |
+<li><div class="src-line"><a name="a1925"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$strend </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1942 |
+<li><div class="src-line"><a name="a1926"></a> <span class="src-var">$strend </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$o</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1943 |
+<li><div class="src-line"><a name="a1927"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$strend </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1944 |
+<li><div class="src-line"><a name="a1928"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unfinished string, started with '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1945 |
+<li><div class="src-line"><a name="a1929"></a> <span class="src-sym">}</span></div></li> |
|
1946 |
+<li><div class="src-line"><a name="a1930"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$strend</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1947 |
+<li><div class="src-line"><a name="a1931"></a> <span class="src-var">$o </span>= <span class="src-var">$strend</span>+<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
1948 |
+<li><div class="src-line"><a name="a1932"></a> <span class="src-var">$strend </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
1949 |
+<li><div class="src-line"><a name="a1933"></a> <span class="src-sym">}</span></div></li> |
|
1950 |
+<li><div class="src-line"><a name="a1934"></a> <span class="src-sym">}</span></div></li> |
|
1951 |
+<li><div class="src-line"><a name="a1935"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING DELIMITED: '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">)</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
1952 |
+<li><div class="src-line"><a name="a1936"></a> </div></li> |
|
1953 |
+<li><div class="src-line"><a name="a1937"></a> <span class="src-var">$srcOutput </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1954 |
+<li><div class="src-line"><a name="a1938"></a> </div></li> |
|
1955 |
+<li><div class="src-line"><a name="a1939"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1956 |
+<li><div class="src-line"><a name="a1940"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1957 |
+<li><div class="src-line"><a name="a1941"></a> <span class="src-sym">}</span></div></li> |
|
1958 |
+<li><div class="src-line"><a name="a1942"></a> </div></li> |
|
1959 |
+<li><div class="src-line"><a name="a1943"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceStringVars">replaceStringVars</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1960 |
+<li><div class="src-line"><a name="a1944"></a> </div></li> |
|
1961 |
+<li><div class="src-line"><a name="a1945"></a> <span class="src-comm">// handle modifiers</span></div></li> |
|
1962 |
+<li><div class="src-line"><a name="a1946"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'modifier' </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^((?:\|(?:@?[a-z0-9_]+(?::.*)*))+)#i'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1963 |
+<li><div class="src-line"><a name="a1947"></a> <span class="src-var">$modstr </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
1964 |
+<li><div class="src-line"><a name="a1948"></a> </div></li> |
|
1965 |
+<li><div class="src-line"><a name="a1949"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$modstr</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'}'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1966 |
+<li><div class="src-line"><a name="a1950"></a> <span class="src-var">$modstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$modstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1967 |
+<li><div class="src-line"><a name="a1951"></a> <span class="src-sym">}</span></div></li> |
|
1968 |
+<li><div class="src-line"><a name="a1952"></a> <span class="src-var">$modstr </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\\'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$modstr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1969 |
+<li><div class="src-line"><a name="a1953"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
1970 |
+<li><div class="src-line"><a name="a1954"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$modstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'string'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1971 |
+<li><div class="src-line"><a name="a1955"></a> </div></li> |
|
1972 |
+<li><div class="src-line"><a name="a1956"></a> <span class="src-var">$strend </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
1973 |
+<li><div class="src-line"><a name="a1957"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1974 |
+<li><div class="src-line"><a name="a1958"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
1975 |
+<li><div class="src-line"><a name="a1959"></a> <span class="src-sym">}</span></div></li> |
|
1976 |
+<li><div class="src-line"><a name="a1960"></a> <span class="src-var">$srcOutput </span>.= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$strend</span>+<span class="src-num">1</span>-<span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
1977 |
+<li><div class="src-line"><a name="a1961"></a> <span class="src-sym">}</span></div></li> |
|
1978 |
+<li><div class="src-line"><a name="a1962"></a> </div></li> |
|
1979 |
+<li><div class="src-line"><a name="a1963"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
1980 |
+<li><div class="src-line"><a name="a1964"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1981 |
+<li><div class="src-line"><a name="a1965"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
|
1982 |
+<li><div class="src-line"><a name="a1966"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
1983 |
+<li><div class="src-line"><a name="a1967"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$srcOutput</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
1984 |
+<li><div class="src-line"><a name="a1968"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
1985 |
+<li><div class="src-line"><a name="a1969"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
1986 |
+<li><div class="src-line"><a name="a1970"></a> <span class="src-sym">}</span></div></li> |
|
1987 |
+<li><div class="src-line"><a name="a1971"></a> <span class="src-sym">}</span></div></li> |
|
1988 |
+<li><div class="src-line"><a name="a1972"></a> </div></li> |
|
1989 |
+<li><div class="src-line"><a name="a1973"></a> <span class="src-doc">/**</span></div></li> |
|
1990 |
+<li><div class="src-line"><a name="a1974"></a><span class="src-doc"> * parses a constant</span></div></li> |
|
1991 |
+<li><div class="src-line"><a name="a1975"></a><span class="src-doc"> *</span></div></li> |
|
1992 |
+<li><div class="src-line"><a name="a1976"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
|
1993 |
+<li><div class="src-line"><a name="a1977"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
|
1994 |
+<li><div class="src-line"><a name="a1978"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
|
1995 |
+<li><div class="src-line"><a name="a1979"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
|
1996 |
+<li><div class="src-line"><a name="a1980"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
1997 |
+<li><div class="src-line"><a name="a1981"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
|
1998 |
+<li><div class="src-line"><a name="a1982"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
|
1999 |
+<li><div class="src-line"><a name="a1983"></a><span class="src-doc"> */</span></div></li> |
|
2000 |
+<li><div class="src-line"><a name="a1984"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConst">parseConst</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
2001 |
+<li><div class="src-line"><a name="a1985"></a> <span class="src-sym">{</span></div></li> |
|
2002 |
+<li><div class="src-line"><a name="a1986"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2003 |
+<li><div class="src-line"><a name="a1987"></a> </div></li> |
|
2004 |
+<li><div class="src-line"><a name="a1988"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2005 |
+<li><div class="src-line"><a name="a1989"></a> echo <span class="src-str">'CONST FOUND : '</span>.<span class="src-var">$substr</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
|
2006 |
+<li><div class="src-line"><a name="a1990"></a> <span class="src-sym">}</span></div></li> |
|
2007 |
+<li><div class="src-line"><a name="a1991"></a> </div></li> |
|
2008 |
+<li><div class="src-line"><a name="a1992"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^%([a-z0-9_:]+)#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2009 |
+<li><div class="src-line"><a name="a1993"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid constant'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2010 |
+<li><div class="src-line"><a name="a1994"></a> <span class="src-sym">}</span></div></li> |
| 2011 |
2011 |
<li><div class="src-line"><a name="a1995"></a> </div></li> |
| 2012 |
|
-<li><div class="src-line"><a name="a1996"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasMethodCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2013 |
|
-<li><div class="src-line"><a name="a1997"></a> <span class="src-var">$matchedLength </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 2014 |
|
-<li><div class="src-line"><a name="a1998"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span><a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2015 |
|
-<li><div class="src-line"><a name="a1999"></a> <span class="src-var">$methodCall </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">)) </span>. <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2016 |
|
-<li><div class="src-line"><a name="a2000"></a> <span class="src-sym">}</span></div></li> |
|
2012 |
+<li><div class="src-line"><a name="a1996"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2013 |
+<li><div class="src-line"><a name="a1997"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2014 |
+<li><div class="src-line"><a name="a1998"></a> <span class="src-sym">}</span></div></li> |
|
2015 |
+<li><div class="src-line"><a name="a1999"></a> </div></li> |
|
2016 |
+<li><div class="src-line"><a name="a2000"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConstKey">parseConstKey</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2017 |
2017 |
<li><div class="src-line"><a name="a2001"></a> </div></li> |
| 2018 |
|
-<li><div class="src-line"><a name="a2002"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasModifiers</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2019 |
|
-<li><div class="src-line"><a name="a2003"></a> <span class="src-var">$matchedLength </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2020 |
|
-<li><div class="src-line"><a name="a2004"></a> <span class="src-sym">}</span></div></li> |
| 2021 |
|
-<li><div class="src-line"><a name="a2005"></a> </div></li> |
| 2022 |
|
-<li><div class="src-line"><a name="a2006"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2023 |
|
-<li><div class="src-line"><a name="a2007"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$matchedLength</span><span class="src-sym">;</span></div></li> |
| 2024 |
|
-<li><div class="src-line"><a name="a2008"></a> <span class="src-sym">}</span></div></li> |
| 2025 |
|
-<li><div class="src-line"><a name="a2009"></a> </div></li> |
| 2026 |
|
-<li><div class="src-line"><a name="a2010"></a> <span class="src-comm">// replace useless brackets by dot accessed vars</span></div></li> |
| 2027 |
|
-<li><div class="src-line"><a name="a2011"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#\[([^$%\[.>-]+)\]#'</span><span class="src-sym">, </span><span class="src-str">'.$1'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2028 |
|
-<li><div class="src-line"><a name="a2012"></a> </div></li> |
| 2029 |
|
-<li><div class="src-line"><a name="a2013"></a> <span class="src-comm">// prevent $foo->$bar calls because it doesn't seem worth the trouble</span></div></li> |
| 2030 |
|
-<li><div class="src-line"><a name="a2014"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'->$'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2031 |
|
-<li><div class="src-line"><a name="a2015"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'You can not access an object\'s property using a variable name.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2032 |
|
-<li><div class="src-line"><a name="a2016"></a> <span class="src-sym">}</span></div></li> |
| 2033 |
|
-<li><div class="src-line"><a name="a2017"></a> </div></li> |
| 2034 |
|
-<li><div class="src-line"><a name="a2018"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2035 |
|
-<li><div class="src-line"><a name="a2019"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasMethodCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2036 |
|
-<li><div class="src-line"><a name="a2020"></a> echo <span class="src-str">'METHOD CALL FOUND : $'</span>.<span class="src-var">$key</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">30</span><span class="src-sym">)</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
| 2037 |
|
-<li><div class="src-line"><a name="a2021"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2038 |
|
-<li><div class="src-line"><a name="a2022"></a> echo <span class="src-str">'VAR FOUND : $'</span>.<span class="src-var">$key</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
| 2039 |
|
-<li><div class="src-line"><a name="a2023"></a> <span class="src-sym">}</span></div></li> |
| 2040 |
|
-<li><div class="src-line"><a name="a2024"></a> <span class="src-sym">}</span></div></li> |
| 2041 |
|
-<li><div class="src-line"><a name="a2025"></a> </div></li> |
| 2042 |
|
-<li><div class="src-line"><a name="a2026"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'"'</span><span class="src-sym">, </span><span class="src-str">'\\"'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2043 |
|
-<li><div class="src-line"><a name="a2027"></a> </div></li> |
| 2044 |
|
-<li><div class="src-line"><a name="a2028"></a> <span class="src-var">$cnt</span>=<a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2045 |
|
-<li><div class="src-line"><a name="a2029"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2046 |
|
-<li><div class="src-line"><a name="a2030"></a> <span class="src-var">$uid </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2047 |
|
-<li><div class="src-line"><a name="a2031"></a> <span class="src-var">$parsed </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$uid </span>=> <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2048 |
|
-<li><div class="src-line"><a name="a2032"></a> <span class="src-var">$current </span>=<span class="src-sym">& </span><span class="src-var">$parsed</span><span class="src-sym">;</span></div></li> |
| 2049 |
|
-<li><div class="src-line"><a name="a2033"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$parsed</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2050 |
|
-<li><div class="src-line"><a name="a2034"></a> <span class="src-var">$tree </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2051 |
|
-<li><div class="src-line"><a name="a2035"></a> <span class="src-var">$chars </span>= <a href="http://www.php.net/str_split">str_split</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2052 |
|
-<li><div class="src-line"><a name="a2036"></a> <span class="src-var">$inSplittedVar </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 2053 |
|
-<li><div class="src-line"><a name="a2037"></a> <span class="src-var">$bracketCount </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2054 |
|
-<li><div class="src-line"><a name="a2038"></a> </div></li> |
| 2055 |
|
-<li><div class="src-line"><a name="a2039"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$char </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2056 |
|
-<li><div class="src-line"><a name="a2040"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$char </span>=== <span class="src-str">'['</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2057 |
|
-<li><div class="src-line"><a name="a2041"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2058 |
|
-<li><div class="src-line"><a name="a2042"></a> <span class="src-var">$bracketCount</span>++<span class="src-sym">;</span></div></li> |
| 2059 |
|
-<li><div class="src-line"><a name="a2043"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2060 |
|
-<li><div class="src-line"><a name="a2044"></a> <span class="src-var">$tree</span><span class="src-sym">[</span><span class="src-sym">] </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">;</span></div></li> |
| 2061 |
|
-<li><div class="src-line"><a name="a2045"></a> <span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$uid</span>+<span class="src-num">1 </span>=> <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2062 |
|
-<li><div class="src-line"><a name="a2046"></a> <span class="src-var">$current </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2063 |
|
-<li><div class="src-line"><a name="a2047"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2064 |
|
-<li><div class="src-line"><a name="a2048"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 2065 |
|
-<li><div class="src-line"><a name="a2049"></a> <span class="src-sym">}</span></div></li> |
| 2066 |
|
-<li><div class="src-line"><a name="a2050"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$char </span>=== <span class="src-str">']'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2067 |
|
-<li><div class="src-line"><a name="a2051"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$bracketCount </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2068 |
|
-<li><div class="src-line"><a name="a2052"></a> <span class="src-var">$bracketCount</span>--<span class="src-sym">;</span></div></li> |
| 2069 |
|
-<li><div class="src-line"><a name="a2053"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2070 |
|
-<li><div class="src-line"><a name="a2054"></a> <span class="src-var">$current </span>=<span class="src-sym">& </span><span class="src-var">$tree</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2071 |
|
-<li><div class="src-line"><a name="a2055"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2072 |
|
-<li><div class="src-line"><a name="a2056"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">) </span>!== <span class="src-str">'[' </span>&& <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">) </span>!== <span class="src-id">false </span>&& <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">) </span>!== <span class="src-str">']'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2073 |
|
-<li><div class="src-line"><a name="a2057"></a> <span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span><span class="src-sym">] </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 2074 |
|
-<li><div class="src-line"><a name="a2058"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2075 |
|
-<li><div class="src-line"><a name="a2059"></a> <span class="src-sym">}</span></div></li> |
| 2076 |
|
-<li><div class="src-line"><a name="a2060"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 2077 |
|
-<li><div class="src-line"><a name="a2061"></a> <span class="src-sym">}</span></div></li> |
| 2078 |
|
-<li><div class="src-line"><a name="a2062"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$char </span>=== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2079 |
|
-<li><div class="src-line"><a name="a2063"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">) </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2080 |
|
-<li><div class="src-line"><a name="a2064"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2081 |
|
-<li><div class="src-line"><a name="a2065"></a> <span class="src-var">$inSplittedVar </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 2082 |
|
-<li><div class="src-line"><a name="a2066"></a> <span class="src-sym">}</span></div></li> |
| 2083 |
|
-<li><div class="src-line"><a name="a2067"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$char </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$char </span>=== <span class="src-str">'-'</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">) </span>== <span class="src-num">0 </span>&& <span class="src-var">$inSplittedVar</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2084 |
|
-<li><div class="src-line"><a name="a2068"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2085 |
|
-<li><div class="src-line"><a name="a2069"></a> <span class="src-var">$inSplittedVar </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 2086 |
|
-<li><div class="src-line"><a name="a2070"></a> <span class="src-sym">}</span></div></li> |
|
2018 |
+<li><div class="src-line"><a name="a2002"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2019 |
+<li><div class="src-line"><a name="a2003"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2020 |
+<li><div class="src-line"><a name="a2004"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
|
2021 |
+<li><div class="src-line"><a name="a2005"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2022 |
+<li><div class="src-line"><a name="a2006"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2023 |
+<li><div class="src-line"><a name="a2007"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2024 |
+<li><div class="src-line"><a name="a2008"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
2025 |
+<li><div class="src-line"><a name="a2009"></a> <span class="src-sym">}</span></div></li> |
|
2026 |
+<li><div class="src-line"><a name="a2010"></a> <span class="src-sym">}</span></div></li> |
|
2027 |
+<li><div class="src-line"><a name="a2011"></a> </div></li> |
|
2028 |
+<li><div class="src-line"><a name="a2012"></a> <span class="src-doc">/**</span></div></li> |
|
2029 |
+<li><div class="src-line"><a name="a2013"></a><span class="src-doc"> * parses a constant</span></div></li> |
|
2030 |
+<li><div class="src-line"><a name="a2014"></a><span class="src-doc"> *</span></div></li> |
|
2031 |
+<li><div class="src-line"><a name="a2015"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$key </span><span class="src-doc">the constant to parse</span></div></li> |
|
2032 |
+<li><div class="src-line"><a name="a2016"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
2033 |
+<li><div class="src-line"><a name="a2017"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed constant</span></div></li> |
|
2034 |
+<li><div class="src-line"><a name="a2018"></a><span class="src-doc"> */</span></div></li> |
|
2035 |
+<li><div class="src-line"><a name="a2019"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConstKey">parseConstKey</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span></div></li> |
|
2036 |
+<li><div class="src-line"><a name="a2020"></a> <span class="src-sym">{</span></div></li> |
|
2037 |
+<li><div class="src-line"><a name="a2021"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> </span>!== <span class="src-id">null </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a></span><span class="src-sym">-></span><span class="src-id">getConstantHandling</span><span class="src-sym">(</span><span class="src-sym">) </span>=== <span class="src-id"><a href="../Dwoo/Dwoo_Security_Policy.html">Dwoo_Security_Policy</a></span><span class="src-sym">::</span><span class="src-id">CONST_DISALLOW</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2038 |
+<li><div class="src-line"><a name="a2022"></a> <span class="src-key">return </span><span class="src-str">'null'</span><span class="src-sym">;</span></div></li> |
|
2039 |
+<li><div class="src-line"><a name="a2023"></a> <span class="src-sym">}</span></div></li> |
|
2040 |
+<li><div class="src-line"><a name="a2024"></a> </div></li> |
|
2041 |
+<li><div class="src-line"><a name="a2025"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2042 |
+<li><div class="src-line"><a name="a2026"></a> <span class="src-var">$output </span>= <span class="src-str">'(defined("'</span>.<span class="src-var">$key</span>.<span class="src-str">'") ? '</span>.<span class="src-var">$key</span>.<span class="src-str">' : null)'</span><span class="src-sym">;</span></div></li> |
|
2043 |
+<li><div class="src-line"><a name="a2027"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2044 |
+<li><div class="src-line"><a name="a2028"></a> <span class="src-var">$output </span>= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
|
2045 |
+<li><div class="src-line"><a name="a2029"></a> <span class="src-sym">}</span></div></li> |
|
2046 |
+<li><div class="src-line"><a name="a2030"></a> </div></li> |
|
2047 |
+<li><div class="src-line"><a name="a2031"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
2048 |
+<li><div class="src-line"><a name="a2032"></a> <span class="src-sym">}</span></div></li> |
|
2049 |
+<li><div class="src-line"><a name="a2033"></a> </div></li> |
|
2050 |
+<li><div class="src-line"><a name="a2034"></a> <span class="src-doc">/**</span></div></li> |
|
2051 |
+<li><div class="src-line"><a name="a2035"></a><span class="src-doc"> * parses a variable</span></div></li> |
|
2052 |
+<li><div class="src-line"><a name="a2036"></a><span class="src-doc"> *</span></div></li> |
|
2053 |
+<li><div class="src-line"><a name="a2037"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
|
2054 |
+<li><div class="src-line"><a name="a2038"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
|
2055 |
+<li><div class="src-line"><a name="a2039"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
|
2056 |
+<li><div class="src-line"><a name="a2040"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
|
2057 |
+<li><div class="src-line"><a name="a2041"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
2058 |
+<li><div class="src-line"><a name="a2042"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
|
2059 |
+<li><div class="src-line"><a name="a2043"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
|
2060 |
+<li><div class="src-line"><a name="a2044"></a><span class="src-doc"> */</span></div></li> |
|
2061 |
+<li><div class="src-line"><a name="a2045"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
2062 |
+<li><div class="src-line"><a name="a2046"></a> <span class="src-sym">{</span></div></li> |
|
2063 |
+<li><div class="src-line"><a name="a2047"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2064 |
+<li><div class="src-line"><a name="a2048"></a> </div></li> |
|
2065 |
+<li><div class="src-line"><a name="a2049"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#(\$?\.?[a-z0-9_:]*(?:(?:(?:\.|->)(?:[a-z0-9_:]+|(?R))|\[(?:[a-z0-9_:]+|(?R)|(["\'])[^\2]*?\2)\]))*)' </span>. <span class="src-comm">// var key</span></div></li> |
|
2066 |
+<li><div class="src-line"><a name="a2050"></a> <span class="src-sym">(</span><span class="src-var">$curBlock</span>===<span class="src-str">'root' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'function' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'namedparam' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'condition' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'variable' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'expression' </span>? <span class="src-str">'(\(.*)?' </span>: <span class="src-str">'()'</span><span class="src-sym">) </span>. <span class="src-comm">// method call</span></div></li> |
|
2067 |
+<li><div class="src-line"><a name="a2051"></a> <span class="src-sym">(</span><span class="src-var">$curBlock</span>===<span class="src-str">'root' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'function' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'namedparam' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'condition' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'variable' </span>|| <span class="src-var">$curBlock</span>===<span class="src-str">'delimited_string' </span>? <span class="src-str">'((?:(?:[+/*%=-])(?:(?<!=)=?-?[$%][a-z0-9.[\]>_:-]+(?:\([^)]*\))?|(?<!=)=?-?[0-9.,]*|[+-]))*)'</span>:<span class="src-str">'()'</span><span class="src-sym">) </span>. <span class="src-comm">// simple math expressions</span></div></li> |
|
2068 |
+<li><div class="src-line"><a name="a2052"></a> <span class="src-sym">(</span><span class="src-var">$curBlock</span>!==<span class="src-str">'modifier' </span>? <span class="src-str">'((?:\|(?:@?[a-z0-9_]+(?:(?::("|\').*?\5|:[^`]*))*))+)?'</span>:<span class="src-str">'(())'</span><span class="src-sym">) </span>. <span class="src-comm">// modifiers</span></div></li> |
|
2069 |
+<li><div class="src-line"><a name="a2053"></a> <span class="src-str">'#i'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2070 |
+<li><div class="src-line"><a name="a2054"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2071 |
+<li><div class="src-line"><a name="a2055"></a> </div></li> |
|
2072 |
+<li><div class="src-line"><a name="a2056"></a> <span class="src-var">$matchedLength </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2073 |
+<li><div class="src-line"><a name="a2057"></a> <span class="src-var">$hasModifiers </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2074 |
+<li><div class="src-line"><a name="a2058"></a> <span class="src-var">$hasExpression </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">4</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2075 |
+<li><div class="src-line"><a name="a2059"></a> <span class="src-var">$hasMethodCall </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2076 |
+<li><div class="src-line"><a name="a2060"></a> </div></li> |
|
2077 |
+<li><div class="src-line"><a name="a2061"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">"."</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2078 |
+<li><div class="src-line"><a name="a2062"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2079 |
+<li><div class="src-line"><a name="a2063"></a> <span class="src-var">$matchedLength</span>--<span class="src-sym">;</span></div></li> |
|
2080 |
+<li><div class="src-line"><a name="a2064"></a> <span class="src-sym">}</span></div></li> |
|
2081 |
+<li><div class="src-line"><a name="a2065"></a> </div></li> |
|
2082 |
+<li><div class="src-line"><a name="a2066"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasMethodCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2083 |
+<li><div class="src-line"><a name="a2067"></a> <span class="src-var">$matchedLength </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
2084 |
+<li><div class="src-line"><a name="a2068"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">, </span><a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2085 |
+<li><div class="src-line"><a name="a2069"></a> <span class="src-var">$methodCall </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">)) </span>. <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2086 |
+<li><div class="src-line"><a name="a2070"></a> <span class="src-sym">}</span></div></li> |
| 2087 |
2087 |
<li><div class="src-line"><a name="a2071"></a> </div></li> |
| 2088 |
|
-<li><div class="src-line"><a name="a2072"></a> <span class="src-var">$curTxt </span>.= <span class="src-var">$char</span><span class="src-sym">;</span></div></li> |
| 2089 |
|
-<li><div class="src-line"><a name="a2073"></a> <span class="src-sym">}</span></div></li> |
| 2090 |
|
-<li><div class="src-line"><a name="a2074"></a> unset<span class="src-sym">(</span><span class="src-var">$uid</span><span class="src-sym">, </span><span class="src-var">$current</span><span class="src-sym">, </span><span class="src-var">$curTxt</span><span class="src-sym">, </span><span class="src-var">$tree</span><span class="src-sym">, </span><span class="src-var">$chars</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2088 |
+<li><div class="src-line"><a name="a2072"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasModifiers</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2089 |
+<li><div class="src-line"><a name="a2073"></a> <span class="src-var">$matchedLength </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2090 |
+<li><div class="src-line"><a name="a2074"></a> <span class="src-sym">}</span></div></li> |
| 2091 |
2091 |
<li><div class="src-line"><a name="a2075"></a> </div></li> |
| 2092 |
|
-<li><div class="src-line"><a name="a2076"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'RECURSIVE VAR REPLACEMENT : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
| 2093 |
|
-<li><div class="src-line"><a name="a2077"></a> </div></li> |
| 2094 |
|
-<li><div class="src-line"><a name="a2078"></a> <span class="src-var">$key </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodflattenVarTree">flattenVarTree</a><span class="src-sym">(</span><span class="src-var">$parsed</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2092 |
+<li><div class="src-line"><a name="a2076"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2093 |
+<li><div class="src-line"><a name="a2077"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$matchedLength</span><span class="src-sym">;</span></div></li> |
|
2094 |
+<li><div class="src-line"><a name="a2078"></a> <span class="src-sym">}</span></div></li> |
| 2095 |
2095 |
<li><div class="src-line"><a name="a2079"></a> </div></li> |
| 2096 |
|
-<li><div class="src-line"><a name="a2080"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'RECURSIVE VAR REPLACEMENT DONE : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
| 2097 |
|
-<li><div class="src-line"><a name="a2081"></a> </div></li> |
| 2098 |
|
-<li><div class="src-line"><a name="a2082"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#(^""\.|""\.|\.""$|(\()""\.|\.""(\)))#'</span><span class="src-sym">, </span><span class="src-str">'$2$3'</span><span class="src-sym">, </span><span class="src-str">'$this->readVar("'</span>.<span class="src-var">$key</span>.<span class="src-str">'")'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2099 |
|
-<li><div class="src-line"><a name="a2083"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2100 |
|
-<li><div class="src-line"><a name="a2084"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVarKey">parseVarKey</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$hasModifiers </span>? <span class="src-str">'modifier' </span>: <span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2101 |
|
-<li><div class="src-line"><a name="a2085"></a> <span class="src-sym">}</span></div></li> |
| 2102 |
|
-<li><div class="src-line"><a name="a2086"></a> </div></li> |
| 2103 |
|
-<li><div class="src-line"><a name="a2087"></a> <span class="src-comm">// methods</span></div></li> |
| 2104 |
|
-<li><div class="src-line"><a name="a2088"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasMethodCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2105 |
|
-<li><div class="src-line"><a name="a2089"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2106 |
|
-<li><div class="src-line"><a name="a2090"></a> </div></li> |
| 2107 |
|
-<li><div class="src-line"><a name="a2091"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2108 |
|
-<li><div class="src-line"><a name="a2092"></a> </div></li> |
| 2109 |
|
-<li><div class="src-line"><a name="a2093"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2110 |
|
-<li><div class="src-line"><a name="a2094"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 2111 |
|
-<li><div class="src-line"><a name="a2095"></a> <span class="src-sym">}</span></div></li> |
| 2112 |
|
-<li><div class="src-line"><a name="a2096"></a> <span class="src-var">$matchedLength </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 2113 |
|
-<li><div class="src-line"><a name="a2097"></a> <span class="src-sym">}</span></div></li> |
| 2114 |
|
-<li><div class="src-line"><a name="a2098"></a> </div></li> |
| 2115 |
|
-<li><div class="src-line"><a name="a2099"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasExpression</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2116 |
|
-<li><div class="src-line"><a name="a2100"></a> <span class="src-comm">// expressions</span></div></li> |
| 2117 |
|
-<li><div class="src-line"><a name="a2101"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(?:([+/*%=-])(=?-?[%$][a-z0-9.[\]>_:-]+(?:\([^)]*\))?|=?-?[0-9.,]+|\1))#i'</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">4</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$expMatch</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2118 |
|
-<li><div class="src-line"><a name="a2102"></a> </div></li> |
| 2119 |
|
-<li><div class="src-line"><a name="a2103"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$operator</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2120 |
|
-<li><div class="src-line"><a name="a2104"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">'='</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2121 |
|
-<li><div class="src-line"><a name="a2105"></a> <span class="src-var">$assign </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 2122 |
|
-<li><div class="src-line"><a name="a2106"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$operator </span>=== <span class="src-str">'='</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2123 |
|
-<li><div class="src-line"><a name="a2107"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid expression <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>, can not use "==" in expressions'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2124 |
|
-<li><div class="src-line"><a name="a2108"></a> <span class="src-sym">}</span></div></li> |
| 2125 |
|
-<li><div class="src-line"><a name="a2109"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2126 |
|
-<li><div class="src-line"><a name="a2110"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid expression <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>, assignments can only be used in top level expressions like {$foo+=3} or {$foo="bar"}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2127 |
|
-<li><div class="src-line"><a name="a2111"></a> <span class="src-sym">}</span></div></li> |
| 2128 |
|
-<li><div class="src-line"><a name="a2112"></a> <span class="src-var">$operator </span>.= <span class="src-str">'='</span><span class="src-sym">;</span></div></li> |
| 2129 |
|
-<li><div class="src-line"><a name="a2113"></a> <span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2130 |
|
-<li><div class="src-line"><a name="a2114"></a> <span class="src-sym">}</span></div></li> |
| 2131 |
|
-<li><div class="src-line"><a name="a2115"></a> </div></li> |
| 2132 |
|
-<li><div class="src-line"><a name="a2116"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">'-' </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">) </span>> <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2133 |
|
-<li><div class="src-line"><a name="a2117"></a> <span class="src-var">$operator </span>.= <span class="src-str">'-'</span><span class="src-sym">;</span></div></li> |
| 2134 |
|
-<li><div class="src-line"><a name="a2118"></a> <span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2135 |
|
-<li><div class="src-line"><a name="a2119"></a> <span class="src-sym">}</span></div></li> |
| 2136 |
|
-<li><div class="src-line"><a name="a2120"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$operator</span>===<span class="src-str">'+'</span>||<span class="src-var">$operator</span>===<span class="src-str">'-'</span><span class="src-sym">) </span>&& <span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span>===<span class="src-var">$operator</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2137 |
|
-<li><div class="src-line"><a name="a2121"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-var">$operator</span>.<span class="src-var">$operator</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2138 |
|
-<li><div class="src-line"><a name="a2122"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2139 |
|
-<li><div class="src-line"><a name="a2123"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2140 |
|
-<li><div class="src-line"><a name="a2124"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-str">' '</span>.<span class="src-var">$operator</span>.<span class="src-str">' '</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2141 |
|
-<li><div class="src-line"><a name="a2125"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'%'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2142 |
|
-<li><div class="src-line"><a name="a2126"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-str">' '</span>.<span class="src-var">$operator</span>.<span class="src-str">' '</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConst">parseConst</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2143 |
|
-<li><div class="src-line"><a name="a2127"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2144 |
|
-<li><div class="src-line"><a name="a2128"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-str">' '</span>.<span class="src-var">$operator</span>.<span class="src-str">' '</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2145 |
|
-<li><div class="src-line"><a name="a2129"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2146 |
|
-<li><div class="src-line"><a name="a2130"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unfinished expression <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>, missing var or number after math operator'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2147 |
|
-<li><div class="src-line"><a name="a2131"></a> <span class="src-sym">}</span></div></li> |
| 2148 |
|
-<li><div class="src-line"><a name="a2132"></a> <span class="src-sym">}</span></div></li> |
| 2149 |
|
-<li><div class="src-line"><a name="a2133"></a> <span class="src-sym">}</span></div></li> |
| 2150 |
|
-<li><div class="src-line"><a name="a2134"></a> </div></li> |
| 2151 |
|
-<li><div class="src-line"><a name="a2135"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a> </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2152 |
|
-<li><div class="src-line"><a name="a2136"></a> <span class="src-var">$output </span>= <span class="src-str">'(is_string($tmp='</span>.<span class="src-var">$output</span>.<span class="src-str">') ? htmlspecialchars($tmp, ENT_QUOTES, $this->charset) : $tmp)'</span><span class="src-sym">;</span></div></li> |
| 2153 |
|
-<li><div class="src-line"><a name="a2137"></a> <span class="src-sym">}</span></div></li> |
| 2154 |
|
-<li><div class="src-line"><a name="a2138"></a> </div></li> |
| 2155 |
|
-<li><div class="src-line"><a name="a2139"></a> <span class="src-comm">// handle modifiers</span></div></li> |
| 2156 |
|
-<li><div class="src-line"><a name="a2140"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'modifier' </span>&& <span class="src-var">$hasModifiers</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2157 |
|
-<li><div class="src-line"><a name="a2141"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2158 |
|
-<li><div class="src-line"><a name="a2142"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'var'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2159 |
|
-<li><div class="src-line"><a name="a2143"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2160 |
|
-<li><div class="src-line"><a name="a2144"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 2161 |
|
-<li><div class="src-line"><a name="a2145"></a> <span class="src-sym">}</span></div></li> |
| 2162 |
|
-<li><div class="src-line"><a name="a2146"></a> <span class="src-var">$matchedLength </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 2163 |
|
-<li><div class="src-line"><a name="a2147"></a> <span class="src-sym">}</span></div></li> |
| 2164 |
|
-<li><div class="src-line"><a name="a2148"></a> </div></li> |
| 2165 |
|
-<li><div class="src-line"><a name="a2149"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2166 |
|
-<li><div class="src-line"><a name="a2150"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2167 |
|
-<li><div class="src-line"><a name="a2151"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 2168 |
|
-<li><div class="src-line"><a name="a2152"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2169 |
|
-<li><div class="src-line"><a name="a2153"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2170 |
|
-<li><div class="src-line"><a name="a2154"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'string' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'delimited_string'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2171 |
|
-<li><div class="src-line"><a name="a2155"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$matchedLength</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2172 |
|
-<li><div class="src-line"><a name="a2156"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'expression' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'variable'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2173 |
|
-<li><div class="src-line"><a name="a2157"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 2174 |
|
-<li><div class="src-line"><a name="a2158"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$assign</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2175 |
|
-<li><div class="src-line"><a name="a2159"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span>.<span class="src-var">$output</span>.<span class="src-str">';'</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
| 2176 |
|
-<li><div class="src-line"><a name="a2160"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2177 |
|
-<li><div class="src-line"><a name="a2161"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 2178 |
|
-<li><div class="src-line"><a name="a2162"></a> <span class="src-sym">}</span></div></li> |
| 2179 |
|
-<li><div class="src-line"><a name="a2163"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2180 |
|
-<li><div class="src-line"><a name="a2164"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'string' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'delimited_string'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2181 |
|
-<li><div class="src-line"><a name="a2165"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2182 |
|
-<li><div class="src-line"><a name="a2166"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2183 |
|
-<li><div class="src-line"><a name="a2167"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid variable name <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2184 |
|
-<li><div class="src-line"><a name="a2168"></a> <span class="src-sym">}</span></div></li> |
| 2185 |
|
-<li><div class="src-line"><a name="a2169"></a> <span class="src-sym">}</span></div></li> |
| 2186 |
|
-<li><div class="src-line"><a name="a2170"></a> <span class="src-sym">}</span></div></li> |
| 2187 |
|
-<li><div class="src-line"><a name="a2171"></a> </div></li> |
| 2188 |
|
-<li><div class="src-line"><a name="a2172"></a> <span class="src-doc">/**</span></div></li> |
| 2189 |
|
-<li><div class="src-line"><a name="a2173"></a><span class="src-doc"> * parses any number of chained method calls/property reads</span></div></li> |
| 2190 |
|
-<li><div class="src-line"><a name="a2174"></a><span class="src-doc"> *</span></div></li> |
| 2191 |
|
-<li><div class="src-line"><a name="a2175"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$output </span><span class="src-doc">the variable or whatever upon which the method are called</span></div></li> |
| 2192 |
|
-<li><div class="src-line"><a name="a2176"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$methodCall </span><span class="src-doc">method call source, starting at "->"</span></div></li> |
| 2193 |
|
-<li><div class="src-line"><a name="a2177"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 2194 |
|
-<li><div class="src-line"><a name="a2178"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed</span></div></li> |
| 2195 |
|
-<li><div class="src-line"><a name="a2179"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed call(s)/read(s)</span></div></li> |
| 2196 |
|
-<li><div class="src-line"><a name="a2180"></a><span class="src-doc"> */</span></div></li> |
| 2197 |
|
-<li><div class="src-line"><a name="a2181"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer</span><span class="src-sym">)</span></div></li> |
| 2198 |
|
-<li><div class="src-line"><a name="a2182"></a> <span class="src-sym">{</span></div></li> |
| 2199 |
|
-<li><div class="src-line"><a name="a2183"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2200 |
|
-<li><div class="src-line"><a name="a2184"></a> <span class="src-var">$len </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2096 |
+<li><div class="src-line"><a name="a2080"></a> <span class="src-comm">// replace useless brackets by dot accessed vars</span></div></li> |
|
2097 |
+<li><div class="src-line"><a name="a2081"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#\[([^$%\[.>-]+)\]#'</span><span class="src-sym">, </span><span class="src-str">'.$1'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2098 |
+<li><div class="src-line"><a name="a2082"></a> </div></li> |
|
2099 |
+<li><div class="src-line"><a name="a2083"></a> <span class="src-comm">// prevent $foo->$bar calls because it doesn't seem worth the trouble</span></div></li> |
|
2100 |
+<li><div class="src-line"><a name="a2084"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'->$'</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2101 |
+<li><div class="src-line"><a name="a2085"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'You can not access an object\'s property using a variable name.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2102 |
+<li><div class="src-line"><a name="a2086"></a> <span class="src-sym">}</span></div></li> |
|
2103 |
+<li><div class="src-line"><a name="a2087"></a> </div></li> |
|
2104 |
+<li><div class="src-line"><a name="a2088"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2105 |
+<li><div class="src-line"><a name="a2089"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasMethodCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2106 |
+<li><div class="src-line"><a name="a2090"></a> echo <span class="src-str">'METHOD CALL FOUND : $'</span>.<span class="src-var">$key</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">30</span><span class="src-sym">)</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
|
2107 |
+<li><div class="src-line"><a name="a2091"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2108 |
+<li><div class="src-line"><a name="a2092"></a> echo <span class="src-str">'VAR FOUND : $'</span>.<span class="src-var">$key</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
|
2109 |
+<li><div class="src-line"><a name="a2093"></a> <span class="src-sym">}</span></div></li> |
|
2110 |
+<li><div class="src-line"><a name="a2094"></a> <span class="src-sym">}</span></div></li> |
|
2111 |
+<li><div class="src-line"><a name="a2095"></a> </div></li> |
|
2112 |
+<li><div class="src-line"><a name="a2096"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'"'</span><span class="src-sym">, </span><span class="src-str">'\\"'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2113 |
+<li><div class="src-line"><a name="a2097"></a> </div></li> |
|
2114 |
+<li><div class="src-line"><a name="a2098"></a> <span class="src-var">$cnt</span>=<a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2115 |
+<li><div class="src-line"><a name="a2099"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2116 |
+<li><div class="src-line"><a name="a2100"></a> <span class="src-var">$uid </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2117 |
+<li><div class="src-line"><a name="a2101"></a> <span class="src-var">$parsed </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$uid </span>=> <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2118 |
+<li><div class="src-line"><a name="a2102"></a> <span class="src-var">$current </span>=<span class="src-sym">& </span><span class="src-var">$parsed</span><span class="src-sym">;</span></div></li> |
|
2119 |
+<li><div class="src-line"><a name="a2103"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$parsed</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2120 |
+<li><div class="src-line"><a name="a2104"></a> <span class="src-var">$tree </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2121 |
+<li><div class="src-line"><a name="a2105"></a> <span class="src-var">$chars </span>= <a href="http://www.php.net/str_split">str_split</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2122 |
+<li><div class="src-line"><a name="a2106"></a> <span class="src-var">$inSplittedVar </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
2123 |
+<li><div class="src-line"><a name="a2107"></a> <span class="src-var">$bracketCount </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2124 |
+<li><div class="src-line"><a name="a2108"></a> </div></li> |
|
2125 |
+<li><div class="src-line"><a name="a2109"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$char </span>= <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">)) </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2126 |
+<li><div class="src-line"><a name="a2110"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$char </span>=== <span class="src-str">'['</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2127 |
+<li><div class="src-line"><a name="a2111"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">) </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2128 |
+<li><div class="src-line"><a name="a2112"></a> <span class="src-var">$bracketCount</span>++<span class="src-sym">;</span></div></li> |
|
2129 |
+<li><div class="src-line"><a name="a2113"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2130 |
+<li><div class="src-line"><a name="a2114"></a> <span class="src-var">$tree</span><span class="src-sym">[</span><span class="src-sym">] </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">;</span></div></li> |
|
2131 |
+<li><div class="src-line"><a name="a2115"></a> <span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$uid</span>+<span class="src-num">1 </span>=> <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2132 |
+<li><div class="src-line"><a name="a2116"></a> <span class="src-var">$current </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2133 |
+<li><div class="src-line"><a name="a2117"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2134 |
+<li><div class="src-line"><a name="a2118"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
2135 |
+<li><div class="src-line"><a name="a2119"></a> <span class="src-sym">}</span></div></li> |
|
2136 |
+<li><div class="src-line"><a name="a2120"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$char </span>=== <span class="src-str">']'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2137 |
+<li><div class="src-line"><a name="a2121"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$bracketCount </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2138 |
+<li><div class="src-line"><a name="a2122"></a> <span class="src-var">$bracketCount</span>--<span class="src-sym">;</span></div></li> |
|
2139 |
+<li><div class="src-line"><a name="a2123"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2140 |
+<li><div class="src-line"><a name="a2124"></a> <span class="src-var">$current </span>=<span class="src-sym">& </span><span class="src-var">$tree</span><span class="src-sym">[</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span>-<span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2141 |
+<li><div class="src-line"><a name="a2125"></a> <a href="http://www.php.net/array_pop">array_pop</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2142 |
+<li><div class="src-line"><a name="a2126"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">) </span>!== <span class="src-str">'[' </span>&& <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">) </span>!== <span class="src-id">false </span>&& <a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$chars</span><span class="src-sym">) </span>!== <span class="src-str">']'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2143 |
+<li><div class="src-line"><a name="a2127"></a> <span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span><span class="src-sym">] </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
2144 |
+<li><div class="src-line"><a name="a2128"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2145 |
+<li><div class="src-line"><a name="a2129"></a> <span class="src-sym">}</span></div></li> |
|
2146 |
+<li><div class="src-line"><a name="a2130"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
2147 |
+<li><div class="src-line"><a name="a2131"></a> <span class="src-sym">}</span></div></li> |
|
2148 |
+<li><div class="src-line"><a name="a2132"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$char </span>=== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2149 |
+<li><div class="src-line"><a name="a2133"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">) </span>== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2150 |
+<li><div class="src-line"><a name="a2134"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2151 |
+<li><div class="src-line"><a name="a2135"></a> <span class="src-var">$inSplittedVar </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
2152 |
+<li><div class="src-line"><a name="a2136"></a> <span class="src-sym">}</span></div></li> |
|
2153 |
+<li><div class="src-line"><a name="a2137"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">((</span><span class="src-var">$char </span>=== <span class="src-str">'.' </span>|| <span class="src-var">$char </span>=== <span class="src-str">'-'</span><span class="src-sym">) </span>&& <a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$tree</span><span class="src-sym">) </span>== <span class="src-num">0 </span>&& <span class="src-var">$inSplittedVar</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2154 |
+<li><div class="src-line"><a name="a2138"></a> <span class="src-var">$curTxt </span>=<span class="src-sym">& </span><span class="src-var">$current</span><span class="src-sym">[</span><span class="src-var">$uid</span>++<span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2155 |
+<li><div class="src-line"><a name="a2139"></a> <span class="src-var">$inSplittedVar </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
2156 |
+<li><div class="src-line"><a name="a2140"></a> <span class="src-sym">}</span></div></li> |
|
2157 |
+<li><div class="src-line"><a name="a2141"></a> </div></li> |
|
2158 |
+<li><div class="src-line"><a name="a2142"></a> <span class="src-var">$curTxt </span>.= <span class="src-var">$char</span><span class="src-sym">;</span></div></li> |
|
2159 |
+<li><div class="src-line"><a name="a2143"></a> <span class="src-sym">}</span></div></li> |
|
2160 |
+<li><div class="src-line"><a name="a2144"></a> unset<span class="src-sym">(</span><span class="src-var">$uid</span><span class="src-sym">, </span><span class="src-var">$current</span><span class="src-sym">, </span><span class="src-var">$curTxt</span><span class="src-sym">, </span><span class="src-var">$tree</span><span class="src-sym">, </span><span class="src-var">$chars</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2161 |
+<li><div class="src-line"><a name="a2145"></a> </div></li> |
|
2162 |
+<li><div class="src-line"><a name="a2146"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'RECURSIVE VAR REPLACEMENT : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
|
2163 |
+<li><div class="src-line"><a name="a2147"></a> </div></li> |
|
2164 |
+<li><div class="src-line"><a name="a2148"></a> <span class="src-var">$key </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodflattenVarTree">flattenVarTree</a><span class="src-sym">(</span><span class="src-var">$parsed</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2165 |
+<li><div class="src-line"><a name="a2149"></a> </div></li> |
|
2166 |
+<li><div class="src-line"><a name="a2150"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'RECURSIVE VAR REPLACEMENT DONE : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
|
2167 |
+<li><div class="src-line"><a name="a2151"></a> </div></li> |
|
2168 |
+<li><div class="src-line"><a name="a2152"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'#(^""\.|""\.|\.""$|(\()""\.|\.""(\)))#'</span><span class="src-sym">, </span><span class="src-str">'$2$3'</span><span class="src-sym">, </span><span class="src-str">'$this->readVar("'</span>.<span class="src-var">$key</span>.<span class="src-str">'")'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2169 |
+<li><div class="src-line"><a name="a2153"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2170 |
+<li><div class="src-line"><a name="a2154"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVarKey">parseVarKey</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$hasModifiers </span>? <span class="src-str">'modifier' </span>: <span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2171 |
+<li><div class="src-line"><a name="a2155"></a> <span class="src-sym">}</span></div></li> |
|
2172 |
+<li><div class="src-line"><a name="a2156"></a> </div></li> |
|
2173 |
+<li><div class="src-line"><a name="a2157"></a> <span class="src-comm">// methods</span></div></li> |
|
2174 |
+<li><div class="src-line"><a name="a2158"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasMethodCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2175 |
+<li><div class="src-line"><a name="a2159"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2176 |
+<li><div class="src-line"><a name="a2160"></a> </div></li> |
|
2177 |
+<li><div class="src-line"><a name="a2161"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2178 |
+<li><div class="src-line"><a name="a2162"></a> </div></li> |
|
2179 |
+<li><div class="src-line"><a name="a2163"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2180 |
+<li><div class="src-line"><a name="a2164"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
2181 |
+<li><div class="src-line"><a name="a2165"></a> <span class="src-sym">}</span></div></li> |
|
2182 |
+<li><div class="src-line"><a name="a2166"></a> <span class="src-var">$matchedLength </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
2183 |
+<li><div class="src-line"><a name="a2167"></a> <span class="src-sym">}</span></div></li> |
|
2184 |
+<li><div class="src-line"><a name="a2168"></a> </div></li> |
|
2185 |
+<li><div class="src-line"><a name="a2169"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$hasExpression</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2186 |
+<li><div class="src-line"><a name="a2170"></a> <span class="src-comm">// expressions</span></div></li> |
|
2187 |
+<li><div class="src-line"><a name="a2171"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(?:([+/*%=-])(=?-?[%$][a-z0-9.[\]>_:-]+(?:\([^)]*\))?|=?-?[0-9.,]+|\1))#i'</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">4</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$expMatch</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2188 |
+<li><div class="src-line"><a name="a2172"></a> </div></li> |
|
2189 |
+<li><div class="src-line"><a name="a2173"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$operator</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2190 |
+<li><div class="src-line"><a name="a2174"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">'='</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2191 |
+<li><div class="src-line"><a name="a2175"></a> <span class="src-var">$assign </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
2192 |
+<li><div class="src-line"><a name="a2176"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$operator </span>=== <span class="src-str">'='</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2193 |
+<li><div class="src-line"><a name="a2177"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid expression <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>, can not use "==" in expressions'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2194 |
+<li><div class="src-line"><a name="a2178"></a> <span class="src-sym">}</span></div></li> |
|
2195 |
+<li><div class="src-line"><a name="a2179"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2196 |
+<li><div class="src-line"><a name="a2180"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid expression <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>, assignments can only be used in top level expressions like {$foo+=3} or {$foo="bar"}'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2197 |
+<li><div class="src-line"><a name="a2181"></a> <span class="src-sym">}</span></div></li> |
|
2198 |
+<li><div class="src-line"><a name="a2182"></a> <span class="src-var">$operator </span>.= <span class="src-str">'='</span><span class="src-sym">;</span></div></li> |
|
2199 |
+<li><div class="src-line"><a name="a2183"></a> <span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2200 |
+<li><div class="src-line"><a name="a2184"></a> <span class="src-sym">}</span></div></li> |
| 2201 |
2201 |
<li><div class="src-line"><a name="a2185"></a> </div></li> |
| 2202 |
|
-<li><div class="src-line"><a name="a2186"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <span class="src-var">$len</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2203 |
|
-<li><div class="src-line"><a name="a2187"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">) </span>=== <span class="src-var">$ptr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2204 |
|
-<li><div class="src-line"><a name="a2188"></a> <span class="src-var">$ptr </span>+= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 2205 |
|
-<li><div class="src-line"><a name="a2189"></a> <span class="src-sym">}</span></div></li> |
| 2206 |
|
-<li><div class="src-line"><a name="a2190"></a> </div></li> |
| 2207 |
|
-<li><div class="src-line"><a name="a2191"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">';'</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">'+'</span><span class="src-sym">, </span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-str">'%'</span><span class="src-sym">, </span><span class="src-str">'='</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">'|'</span><span class="src-sym">)) </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2208 |
|
-<li><div class="src-line"><a name="a2192"></a> <span class="src-comm">// break char found</span></div></li> |
| 2209 |
|
-<li><div class="src-line"><a name="a2193"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2210 |
|
-<li><div class="src-line"><a name="a2194"></a> <span class="src-sym">}</span></div></li> |
| 2211 |
|
-<li><div class="src-line"><a name="a2195"></a> </div></li> |
| 2212 |
|
-<li><div class="src-line"><a name="a2196"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^([a-z0-9_]+)(\(.*?\))?/i'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$methMatch</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2213 |
|
-<li><div class="src-line"><a name="a2197"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid method name : '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-num">20</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 2214 |
|
-<li><div class="src-line"><a name="a2198"></a> <span class="src-sym">}</span></div></li> |
| 2215 |
|
-<li><div class="src-line"><a name="a2199"></a> </div></li> |
| 2216 |
|
-<li><div class="src-line"><a name="a2200"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2217 |
|
-<li><div class="src-line"><a name="a2201"></a> <span class="src-comm">// property</span></div></li> |
| 2218 |
|
-<li><div class="src-line"><a name="a2202"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2219 |
|
-<li><div class="src-line"><a name="a2203"></a> <span class="src-var">$output </span>.= <span class="src-str">'->'</span>.<span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2220 |
|
-<li><div class="src-line"><a name="a2204"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2221 |
|
-<li><div class="src-line"><a name="a2205"></a> <span class="src-var">$output </span>= <span class="src-str">'(($tmp = '</span>.<span class="src-var">$output</span>.<span class="src-str">') ? $tmp->'</span>.<span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">' : null)'</span><span class="src-sym">;</span></div></li> |
| 2222 |
|
-<li><div class="src-line"><a name="a2206"></a> <span class="src-sym">}</span></div></li> |
| 2223 |
|
-<li><div class="src-line"><a name="a2207"></a> <span class="src-var">$ptr </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2224 |
|
-<li><div class="src-line"><a name="a2208"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2225 |
|
-<li><div class="src-line"><a name="a2209"></a> <span class="src-comm">// method</span></div></li> |
| 2226 |
|
-<li><div class="src-line"><a name="a2210"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">) </span>=== <span class="src-str">'()'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2227 |
|
-<li><div class="src-line"><a name="a2211"></a> <span class="src-var">$parsedCall </span>= <span class="src-str">'->'</span>.<span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'()'</span><span class="src-sym">;</span></div></li> |
| 2228 |
|
-<li><div class="src-line"><a name="a2212"></a> <span class="src-var">$ptr </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 2229 |
|
-<li><div class="src-line"><a name="a2213"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2230 |
|
-<li><div class="src-line"><a name="a2214"></a> <span class="src-var">$parsedCall </span>= <span class="src-str">'->'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseFunction">parseFunction</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'method'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2202 |
+<li><div class="src-line"><a name="a2186"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">'-' </span>&& <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">) </span>> <span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2203 |
+<li><div class="src-line"><a name="a2187"></a> <span class="src-var">$operator </span>.= <span class="src-str">'-'</span><span class="src-sym">;</span></div></li> |
|
2204 |
+<li><div class="src-line"><a name="a2188"></a> <span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2205 |
+<li><div class="src-line"><a name="a2189"></a> <span class="src-sym">}</span></div></li> |
|
2206 |
+<li><div class="src-line"><a name="a2190"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$operator</span>===<span class="src-str">'+'</span>||<span class="src-var">$operator</span>===<span class="src-str">'-'</span><span class="src-sym">) </span>&& <span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span>===<span class="src-var">$operator</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2207 |
+<li><div class="src-line"><a name="a2191"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-var">$operator</span>.<span class="src-var">$operator</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2208 |
+<li><div class="src-line"><a name="a2192"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
2209 |
+<li><div class="src-line"><a name="a2193"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2210 |
+<li><div class="src-line"><a name="a2194"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-str">' '</span>.<span class="src-var">$operator</span>.<span class="src-str">' '</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2211 |
+<li><div class="src-line"><a name="a2195"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'%'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2212 |
+<li><div class="src-line"><a name="a2196"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-str">' '</span>.<span class="src-var">$operator</span>.<span class="src-str">' '</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConst">parseConst</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'expression'</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2213 |
+<li><div class="src-line"><a name="a2197"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2214 |
+<li><div class="src-line"><a name="a2198"></a> <span class="src-var">$output </span>= <span class="src-str">'('</span>.<span class="src-var">$output</span>.<span class="src-str">' '</span>.<span class="src-var">$operator</span>.<span class="src-str">' '</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">, </span><span class="src-var">$expMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2215 |
+<li><div class="src-line"><a name="a2199"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2216 |
+<li><div class="src-line"><a name="a2200"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Unfinished expression <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>, missing var or number after math operator'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2217 |
+<li><div class="src-line"><a name="a2201"></a> <span class="src-sym">}</span></div></li> |
|
2218 |
+<li><div class="src-line"><a name="a2202"></a> <span class="src-sym">}</span></div></li> |
|
2219 |
+<li><div class="src-line"><a name="a2203"></a> <span class="src-sym">}</span></div></li> |
|
2220 |
+<li><div class="src-line"><a name="a2204"></a> </div></li> |
|
2221 |
+<li><div class="src-line"><a name="a2205"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$autoEscape">autoEscape</a> </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2222 |
+<li><div class="src-line"><a name="a2206"></a> <span class="src-var">$output </span>= <span class="src-str">'(is_string($tmp='</span>.<span class="src-var">$output</span>.<span class="src-str">') ? htmlspecialchars($tmp, ENT_QUOTES, $this->charset) : $tmp)'</span><span class="src-sym">;</span></div></li> |
|
2223 |
+<li><div class="src-line"><a name="a2207"></a> <span class="src-sym">}</span></div></li> |
|
2224 |
+<li><div class="src-line"><a name="a2208"></a> </div></li> |
|
2225 |
+<li><div class="src-line"><a name="a2209"></a> <span class="src-comm">// handle modifiers</span></div></li> |
|
2226 |
+<li><div class="src-line"><a name="a2210"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'modifier' </span>&& <span class="src-var">$hasModifiers</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2227 |
+<li><div class="src-line"><a name="a2211"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2228 |
+<li><div class="src-line"><a name="a2212"></a> <span class="src-var">$output </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">5</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'var'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2229 |
+<li><div class="src-line"><a name="a2213"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2230 |
+<li><div class="src-line"><a name="a2214"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 2231 |
2231 |
<li><div class="src-line"><a name="a2215"></a> <span class="src-sym">}</span></div></li> |
| 2232 |
|
-<li><div class="src-line"><a name="a2216"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2233 |
|
-<li><div class="src-line"><a name="a2217"></a> <span class="src-var">$output </span>.= <span class="src-var">$parsedCall</span><span class="src-sym">;</span></div></li> |
| 2234 |
|
-<li><div class="src-line"><a name="a2218"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2235 |
|
-<li><div class="src-line"><a name="a2219"></a> <span class="src-var">$output </span>= <span class="src-str">'(($tmp = '</span>.<span class="src-var">$output</span>.<span class="src-str">') ? $tmp'</span>.<span class="src-var">$parsedCall</span>.<span class="src-str">' : null)'</span><span class="src-sym">;</span></div></li> |
| 2236 |
|
-<li><div class="src-line"><a name="a2220"></a> <span class="src-sym">}</span></div></li> |
| 2237 |
|
-<li><div class="src-line"><a name="a2221"></a> <span class="src-sym">}</span></div></li> |
| 2238 |
|
-<li><div class="src-line"><a name="a2222"></a> <span class="src-sym">}</span></div></li> |
| 2239 |
|
-<li><div class="src-line"><a name="a2223"></a> </div></li> |
| 2240 |
|
-<li><div class="src-line"><a name="a2224"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 2241 |
|
-<li><div class="src-line"><a name="a2225"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 2242 |
|
-<li><div class="src-line"><a name="a2226"></a> <span class="src-sym">}</span></div></li> |
| 2243 |
|
-<li><div class="src-line"><a name="a2227"></a> </div></li> |
| 2244 |
|
-<li><div class="src-line"><a name="a2228"></a> <span class="src-doc">/**</span></div></li> |
| 2245 |
|
-<li><div class="src-line"><a name="a2229"></a><span class="src-doc"> * parses a constant variable (a variable that doesn't contain another variable) and preprocesses it to save runtime processing time</span></div></li> |
| 2246 |
|
-<li><div class="src-line"><a name="a2230"></a><span class="src-doc"> *</span></div></li> |
| 2247 |
|
-<li><div class="src-line"><a name="a2231"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$key </span><span class="src-doc">the variable to parse</span></div></li> |
| 2248 |
|
-<li><div class="src-line"><a name="a2232"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 2249 |
|
-<li><div class="src-line"><a name="a2233"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed variable</span></div></li> |
| 2250 |
|
-<li><div class="src-line"><a name="a2234"></a><span class="src-doc"> */</span></div></li> |
| 2251 |
|
-<li><div class="src-line"><a name="a2235"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVarKey">parseVarKey</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span></div></li> |
| 2252 |
|
-<li><div class="src-line"><a name="a2236"></a> <span class="src-sym">{</span></div></li> |
| 2253 |
|
-<li><div class="src-line"><a name="a2237"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2254 |
|
-<li><div class="src-line"><a name="a2238"></a> <span class="src-key">return </span><span class="src-str">'$this->scope'</span><span class="src-sym">;</span></div></li> |
|
2232 |
+<li><div class="src-line"><a name="a2216"></a> <span class="src-var">$matchedLength </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
2233 |
+<li><div class="src-line"><a name="a2217"></a> <span class="src-sym">}</span></div></li> |
|
2234 |
+<li><div class="src-line"><a name="a2218"></a> </div></li> |
|
2235 |
+<li><div class="src-line"><a name="a2219"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2236 |
+<li><div class="src-line"><a name="a2220"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2237 |
+<li><div class="src-line"><a name="a2221"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
|
2238 |
+<li><div class="src-line"><a name="a2222"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2239 |
+<li><div class="src-line"><a name="a2223"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2240 |
+<li><div class="src-line"><a name="a2224"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'string' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'delimited_string'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2241 |
+<li><div class="src-line"><a name="a2225"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$matchedLength</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2242 |
+<li><div class="src-line"><a name="a2226"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'expression' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'variable'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2243 |
+<li><div class="src-line"><a name="a2227"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
2244 |
+<li><div class="src-line"><a name="a2228"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$assign</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2245 |
+<li><div class="src-line"><a name="a2229"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_OPEN</span>.<span class="src-var">$output</span>.<span class="src-str">';'</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">PHP_CLOSE</span><span class="src-sym">;</span></div></li> |
|
2246 |
+<li><div class="src-line"><a name="a2230"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2247 |
+<li><div class="src-line"><a name="a2231"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
2248 |
+<li><div class="src-line"><a name="a2232"></a> <span class="src-sym">}</span></div></li> |
|
2249 |
+<li><div class="src-line"><a name="a2233"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2250 |
+<li><div class="src-line"><a name="a2234"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'string' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'delimited_string'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2251 |
+<li><div class="src-line"><a name="a2235"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2252 |
+<li><div class="src-line"><a name="a2236"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2253 |
+<li><div class="src-line"><a name="a2237"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid variable name <em>'</span>.<span class="src-var">$substr</span>.<span class="src-str">'</em>'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2254 |
+<li><div class="src-line"><a name="a2238"></a> <span class="src-sym">}</span></div></li> |
| 2255 |
2255 |
<li><div class="src-line"><a name="a2239"></a> <span class="src-sym">}</span></div></li> |
| 2256 |
|
-<li><div class="src-line"><a name="a2240"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'.'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2257 |
|
-<li><div class="src-line"><a name="a2241"></a> <span class="src-var">$key </span>= <span class="src-str">'dwoo'</span>.<span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
| 2258 |
|
-<li><div class="src-line"><a name="a2242"></a> <span class="src-sym">}</span></div></li> |
| 2259 |
|
-<li><div class="src-line"><a name="a2243"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#dwoo\.(get|post|server|cookies|session|env|request)((?:\.[a-z0-9_-]+)+)#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2260 |
|
-<li><div class="src-line"><a name="a2244"></a> <span class="src-var">$global </span>= <a href="http://www.php.net/strtoupper">strtoupper</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2261 |
|
-<li><div class="src-line"><a name="a2245"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$global </span>=== <span class="src-str">'COOKIES'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2262 |
|
-<li><div class="src-line"><a name="a2246"></a> <span class="src-var">$global </span>= <span class="src-str">'COOKIE'</span><span class="src-sym">;</span></div></li> |
| 2263 |
|
-<li><div class="src-line"><a name="a2247"></a> <span class="src-sym">}</span></div></li> |
| 2264 |
|
-<li><div class="src-line"><a name="a2248"></a> <span class="src-var">$key </span>= <span class="src-str">'$_'</span>.<span class="src-var">$global</span><span class="src-sym">;</span></div></li> |
| 2265 |
|
-<li><div class="src-line"><a name="a2249"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><a href="http://www.php.net/ltrim">ltrim</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">)) </span><span class="src-key">as </span><span class="src-var">$part</span><span class="src-sym">)</span></div></li> |
| 2266 |
|
-<li><div class="src-line"><a name="a2250"></a> <span class="src-var">$key </span>.= <span class="src-str">'['</span>.<a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$part</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">']'</span><span class="src-sym">;</span></div></li> |
| 2267 |
|
-<li><div class="src-line"><a name="a2251"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2268 |
|
-<li><div class="src-line"><a name="a2252"></a> <span class="src-var">$output </span>= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
| 2269 |
|
-<li><div class="src-line"><a name="a2253"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2270 |
|
-<li><div class="src-line"><a name="a2254"></a> <span class="src-var">$output </span>= <span class="src-str">'(isset('</span>.<span class="src-var">$key</span>.<span class="src-str">')?'</span>.<span class="src-var">$key</span>.<span class="src-str">':null)'</span><span class="src-sym">;</span></div></li> |
| 2271 |
|
-<li><div class="src-line"><a name="a2255"></a> <span class="src-sym">}</span></div></li> |
| 2272 |
|
-<li><div class="src-line"><a name="a2256"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#dwoo\.const\.([a-z0-9_:]+)#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2273 |
|
-<li><div class="src-line"><a name="a2257"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConstKey">parseConstKey</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2274 |
|
-<li><div class="src-line"><a name="a2258"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2275 |
|
-<li><div class="src-line"><a name="a2259"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'['</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2276 |
|
-<li><div class="src-line"><a name="a2260"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2277 |
|
-<li><div class="src-line"><a name="a2261"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->globals'</span><span class="src-sym">;</span></div></li> |
| 2278 |
|
-<li><div class="src-line"><a name="a2262"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'_root' </span>|| <span class="src-var">$key </span>=== <span class="src-str">'__'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2279 |
|
-<li><div class="src-line"><a name="a2263"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->data'</span><span class="src-sym">;</span></div></li> |
| 2280 |
|
-<li><div class="src-line"><a name="a2264"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'_parent' </span>|| <span class="src-var">$key </span>=== <span class="src-str">'_'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2281 |
|
-<li><div class="src-line"><a name="a2265"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readParentVar(1)'</span><span class="src-sym">;</span></div></li> |
| 2282 |
|
-<li><div class="src-line"><a name="a2266"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'_key'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2283 |
|
-<li><div class="src-line"><a name="a2267"></a> <span class="src-var">$output </span>= <span class="src-str">'$tmp_key'</span><span class="src-sym">;</span></div></li> |
| 2284 |
|
-<li><div class="src-line"><a name="a2268"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2285 |
|
-<li><div class="src-line"><a name="a2269"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2286 |
|
-<li><div class="src-line"><a name="a2270"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->scope["'</span>.<span class="src-var">$key</span>.<span class="src-str">'"]'</span><span class="src-sym">;</span></div></li> |
| 2287 |
|
-<li><div class="src-line"><a name="a2271"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2288 |
|
-<li><div class="src-line"><a name="a2272"></a> <span class="src-var">$output </span>= <span class="src-str">'(isset($this->scope["'</span>.<span class="src-var">$key</span>.<span class="src-str">'"]) ? $this->scope["'</span>.<span class="src-var">$key</span>.<span class="src-str">'"] : null)'</span><span class="src-sym">;</span></div></li> |
| 2289 |
|
-<li><div class="src-line"><a name="a2273"></a> <span class="src-sym">}</span></div></li> |
| 2290 |
|
-<li><div class="src-line"><a name="a2274"></a> <span class="src-sym">}</span></div></li> |
| 2291 |
|
-<li><div class="src-line"><a name="a2275"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2292 |
|
-<li><div class="src-line"><a name="a2276"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?([a-z0-9_]+|(\\\?[\'"])[^\3]*?\3)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2293 |
|
-<li><div class="src-line"><a name="a2277"></a> </div></li> |
| 2294 |
|
-<li><div class="src-line"><a name="a2278"></a> <span class="src-var">$i </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2295 |
|
-<li><div class="src-line"><a name="a2279"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_parent' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'_'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2296 |
|
-<li><div class="src-line"><a name="a2280"></a> <span class="src-var">$parentCnt </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2297 |
|
-<li><div class="src-line"><a name="a2281"></a> </div></li> |
| 2298 |
|
-<li><div class="src-line"><a name="a2282"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2299 |
|
-<li><div class="src-line"><a name="a2283"></a> <span class="src-var">$parentCnt</span>++<span class="src-sym">;</span></div></li> |
| 2300 |
|
-<li><div class="src-line"><a name="a2284"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2301 |
|
-<li><div class="src-line"><a name="a2285"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2302 |
|
-<li><div class="src-line"><a name="a2286"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2303 |
|
-<li><div class="src-line"><a name="a2287"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 2304 |
|
-<li><div class="src-line"><a name="a2288"></a> <span class="src-sym">}</span></div></li> |
| 2305 |
|
-<li><div class="src-line"><a name="a2289"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2306 |
|
-<li><div class="src-line"><a name="a2290"></a> <span class="src-sym">}</span></div></li> |
| 2307 |
|
-<li><div class="src-line"><a name="a2291"></a> </div></li> |
| 2308 |
|
-<li><div class="src-line"><a name="a2292"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readParentVar('</span>.<span class="src-var">$parentCnt</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2309 |
|
-<li><div class="src-line"><a name="a2293"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2310 |
|
-<li><div class="src-line"><a name="a2294"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2311 |
|
-<li><div class="src-line"><a name="a2295"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->globals'</span><span class="src-sym">;</span></div></li> |
| 2312 |
|
-<li><div class="src-line"><a name="a2296"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2313 |
|
-<li><div class="src-line"><a name="a2297"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2314 |
|
-<li><div class="src-line"><a name="a2298"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_root' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'__'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2315 |
|
-<li><div class="src-line"><a name="a2299"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->data'</span><span class="src-sym">;</span></div></li> |
| 2316 |
|
-<li><div class="src-line"><a name="a2300"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2317 |
|
-<li><div class="src-line"><a name="a2301"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2318 |
|
-<li><div class="src-line"><a name="a2302"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_key'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2319 |
|
-<li><div class="src-line"><a name="a2303"></a> <span class="src-var">$output </span>= <span class="src-str">'$tmp_key'</span><span class="src-sym">;</span></div></li> |
| 2320 |
|
-<li><div class="src-line"><a name="a2304"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2321 |
|
-<li><div class="src-line"><a name="a2305"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->scope'</span><span class="src-sym">;</span></div></li> |
| 2322 |
|
-<li><div class="src-line"><a name="a2306"></a> <span class="src-sym">}</span></div></li> |
| 2323 |
|
-<li><div class="src-line"><a name="a2307"></a> </div></li> |
| 2324 |
|
-<li><div class="src-line"><a name="a2308"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>!== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2325 |
|
-<li><div class="src-line"><a name="a2309"></a> <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/(^\\\([\'"])|\\\([\'"])$)/x'</span><span class="src-sym">, </span><span class="src-str">'$2$3'</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2326 |
|
-<li><div class="src-line"><a name="a2310"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">'"' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">"'"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2327 |
|
-<li><div class="src-line"><a name="a2311"></a> <span class="src-var">$output </span>.= <span class="src-str">'['</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">']'</span><span class="src-sym">;</span></div></li> |
| 2328 |
|
-<li><div class="src-line"><a name="a2312"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2329 |
|
-<li><div class="src-line"><a name="a2313"></a> <span class="src-var">$output </span>.= <span class="src-str">'["'</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'"]'</span><span class="src-sym">;</span></div></li> |
| 2330 |
|
-<li><div class="src-line"><a name="a2314"></a> <span class="src-sym">}</span></div></li> |
| 2331 |
|
-<li><div class="src-line"><a name="a2315"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2332 |
|
-<li><div class="src-line"><a name="a2316"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2333 |
|
-<li><div class="src-line"><a name="a2317"></a> <span class="src-sym">}</span></div></li> |
| 2334 |
|
-<li><div class="src-line"><a name="a2318"></a> </div></li> |
| 2335 |
|
-<li><div class="src-line"><a name="a2319"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2336 |
|
-<li><div class="src-line"><a name="a2320"></a> <span class="src-var">$output </span>= <span class="src-str">'(isset('</span>.<span class="src-var">$output</span>.<span class="src-str">') ? '</span>.<span class="src-var">$output</span>.<span class="src-str">':null)'</span><span class="src-sym">;</span></div></li> |
| 2337 |
|
-<li><div class="src-line"><a name="a2321"></a> <span class="src-sym">}</span></div></li> |
| 2338 |
|
-<li><div class="src-line"><a name="a2322"></a> <span class="src-sym">}</span></div></li> |
| 2339 |
|
-<li><div class="src-line"><a name="a2323"></a> </div></li> |
| 2340 |
|
-<li><div class="src-line"><a name="a2324"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2341 |
|
-<li><div class="src-line"><a name="a2325"></a> unset<span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2342 |
|
-<li><div class="src-line"><a name="a2326"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readVarInto('</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span>.<span class="src-str">', '</span>.<span class="src-var">$output</span>.<span class="src-str">', '</span>.<span class="src-sym">(</span><span class="src-var">$curBlock </span>== <span class="src-str">'root' </span>? <span class="src-str">'false'</span>: <span class="src-str">'true'</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2343 |
|
-<li><div class="src-line"><a name="a2327"></a> <span class="src-sym">}</span></div></li> |
| 2344 |
|
-<li><div class="src-line"><a name="a2328"></a> <span class="src-sym">}</span></div></li> |
| 2345 |
|
-<li><div class="src-line"><a name="a2329"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2346 |
|
-<li><div class="src-line"><a name="a2330"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?([a-z0-9_]+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2347 |
|
-<li><div class="src-line"><a name="a2331"></a> unset<span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2348 |
|
-<li><div class="src-line"><a name="a2332"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readVar('</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2349 |
|
-<li><div class="src-line"><a name="a2333"></a> <span class="src-sym">}</span></div></li> |
| 2350 |
|
-<li><div class="src-line"><a name="a2334"></a> </div></li> |
| 2351 |
|
-<li><div class="src-line"><a name="a2335"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 2352 |
|
-<li><div class="src-line"><a name="a2336"></a> <span class="src-sym">}</span></div></li> |
| 2353 |
|
-<li><div class="src-line"><a name="a2337"></a> </div></li> |
| 2354 |
|
-<li><div class="src-line"><a name="a2338"></a> <span class="src-doc">/**</span></div></li> |
| 2355 |
|
-<li><div class="src-line"><a name="a2339"></a><span class="src-doc"> * flattens a variable tree, this helps in parsing very complex variables such as $var.foo[$foo.bar->baz].baz,</span></div></li> |
| 2356 |
|
-<li><div class="src-line"><a name="a2340"></a><span class="src-doc"> * it computes the contents of the brackets first and works out from there</span></div></li> |
| 2357 |
|
-<li><div class="src-line"><a name="a2341"></a><span class="src-doc"> *</span></div></li> |
| 2358 |
|
-<li><div class="src-line"><a name="a2342"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tree </span><span class="src-doc">the variable tree parsed by he parseVar() method that must be flattened</span></div></li> |
| 2359 |
|
-<li><div class="src-line"><a name="a2343"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$recursed </span><span class="src-doc">leave that to false by default, it is only for internal use</span></div></li> |
| 2360 |
|
-<li><div class="src-line"><a name="a2344"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">flattened tree</span></div></li> |
| 2361 |
|
-<li><div class="src-line"><a name="a2345"></a><span class="src-doc"> */</span></div></li> |
| 2362 |
|
-<li><div class="src-line"><a name="a2346"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodflattenVarTree">flattenVarTree</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$tree</span><span class="src-sym">, </span><span class="src-var">$recursed</span>=<span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 2363 |
|
-<li><div class="src-line"><a name="a2347"></a> <span class="src-sym">{</span></div></li> |
| 2364 |
|
-<li><div class="src-line"><a name="a2348"></a> <span class="src-var">$out </span>= <span class="src-var">$recursed </span>? <span class="src-str">'".$this->readVarInto(' </span>: <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 2365 |
|
-<li><div class="src-line"><a name="a2349"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tree </span><span class="src-key">as </span><span class="src-var">$bit</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2366 |
|
-<li><div class="src-line"><a name="a2350"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$bit</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2367 |
|
-<li><div class="src-line"><a name="a2351"></a> <span class="src-var">$out</span>.=<span class="src-str">'.'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodflattenVarTree">flattenVarTree</a><span class="src-sym">(</span><span class="src-var">$bit</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2368 |
|
-<li><div class="src-line"><a name="a2352"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2369 |
|
-<li><div class="src-line"><a name="a2353"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'"'</span><span class="src-sym">, </span><span class="src-str">'\\"'</span><span class="src-sym">, </span><span class="src-var">$bit</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2370 |
|
-<li><div class="src-line"><a name="a2354"></a> </div></li> |
| 2371 |
|
-<li><div class="src-line"><a name="a2355"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2372 |
|
-<li><div class="src-line"><a name="a2356"></a> <span class="src-var">$out </span>.= <span class="src-str">'".'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'variable'</span><span class="src-sym">)</span>.<span class="src-str">'."'</span><span class="src-sym">;</span></div></li> |
| 2373 |
|
-<li><div class="src-line"><a name="a2357"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2374 |
|
-<li><div class="src-line"><a name="a2358"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2375 |
|
-<li><div class="src-line"><a name="a2359"></a> </div></li> |
| 2376 |
|
-<li><div class="src-line"><a name="a2360"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARSING SUBVARS IN : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
| 2377 |
|
-<li><div class="src-line"><a name="a2361"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2378 |
|
-<li><div class="src-line"><a name="a2362"></a> <span class="src-key">while </span><span class="src-sym">(</span>--<span class="src-var">$cnt </span>>= <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2379 |
|
-<li><div class="src-line"><a name="a2363"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2380 |
|
-<li><div class="src-line"><a name="a2364"></a> <span class="src-var">$last </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">, </span>- <span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">) </span>- <span class="src-var">$last </span>+ <span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 2381 |
|
-<li><div class="src-line"><a name="a2365"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2382 |
|
-<li><div class="src-line"><a name="a2366"></a> <span class="src-var">$last </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2383 |
|
-<li><div class="src-line"><a name="a2367"></a> <span class="src-sym">}</span></div></li> |
| 2384 |
|
-<li><div class="src-line"><a name="a2368"></a> <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#\$[a-z0-9_]+((?:(?:\.|->)(?:[a-z0-9_]+|(?R))|\[(?:[a-z0-9_]+|(?R))\]))*'</span>.</div></li> |
| 2385 |
|
-<li><div class="src-line"><a name="a2369"></a> <span class="src-str">'((?:(?:[+/*%-])(?:\$[a-z0-9.[\]>_:-]+(?:\([^)]*\))?|[0-9.,]*))*)#i'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$last</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$submatch</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2386 |
|
-<li><div class="src-line"><a name="a2370"></a> </div></li> |
| 2387 |
|
-<li><div class="src-line"><a name="a2371"></a> <span class="src-var">$len </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$submatch</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2388 |
|
-<li><div class="src-line"><a name="a2372"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr_replace">substr_replace</a><span class="src-sym">(</span></div></li> |
| 2389 |
|
-<li><div class="src-line"><a name="a2373"></a> <span class="src-var">$key</span><span class="src-sym">,</span></div></li> |
| 2390 |
|
-<li><div class="src-line"><a name="a2374"></a> <a href="http://www.php.net/preg_replace_callback">preg_replace_callback</a><span class="src-sym">(</span></div></li> |
| 2391 |
|
-<li><div class="src-line"><a name="a2375"></a> <span class="src-str">'#(\$[a-z0-9_]+((?:(?:\.|->)(?:[a-z0-9_]+|(?R))|\[(?:[a-z0-9_]+|(?R))\]))*)'</span>.</div></li> |
| 2392 |
|
-<li><div class="src-line"><a name="a2376"></a> <span class="src-str">'((?:(?:[+/*%-])(?:\$[a-z0-9.[\]>_:-]+(?:\([^)]*\))?|[0-9.,]*))*)#i'</span><span class="src-sym">,</span></div></li> |
| 2393 |
|
-<li><div class="src-line"><a name="a2377"></a> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'replaceVarKeyHelper'</span><span class="src-sym">)</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$last</span><span class="src-sym">, </span><span class="src-var">$len</span><span class="src-sym">)</span></div></li> |
| 2394 |
|
-<li><div class="src-line"><a name="a2378"></a> <span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
| 2395 |
|
-<li><div class="src-line"><a name="a2379"></a> <span class="src-var">$last</span><span class="src-sym">,</span></div></li> |
| 2396 |
|
-<li><div class="src-line"><a name="a2380"></a> <span class="src-var">$len</span></div></li> |
| 2397 |
|
-<li><div class="src-line"><a name="a2381"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2398 |
|
-<li><div class="src-line"><a name="a2382"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'RECURSIVE VAR REPLACEMENT DONE : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
| 2399 |
|
-<li><div class="src-line"><a name="a2383"></a> <span class="src-sym">}</span></div></li> |
| 2400 |
|
-<li><div class="src-line"><a name="a2384"></a> unset<span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2401 |
|
-<li><div class="src-line"><a name="a2385"></a> </div></li> |
| 2402 |
|
-<li><div class="src-line"><a name="a2386"></a> <span class="src-var">$out </span>.= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
| 2403 |
|
-<li><div class="src-line"><a name="a2387"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2404 |
|
-<li><div class="src-line"><a name="a2388"></a> <span class="src-var">$out </span>.= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
| 2405 |
|
-<li><div class="src-line"><a name="a2389"></a> <span class="src-sym">}</span></div></li> |
| 2406 |
|
-<li><div class="src-line"><a name="a2390"></a> <span class="src-sym">}</span></div></li> |
| 2407 |
|
-<li><div class="src-line"><a name="a2391"></a> <span class="src-sym">}</span></div></li> |
| 2408 |
|
-<li><div class="src-line"><a name="a2392"></a> <span class="src-sym">}</span></div></li> |
| 2409 |
|
-<li><div class="src-line"><a name="a2393"></a> <span class="src-var">$out </span>.= <span class="src-var">$recursed </span>? <span class="src-str">', true)."' </span>: <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 2410 |
|
-<li><div class="src-line"><a name="a2394"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
| 2411 |
|
-<li><div class="src-line"><a name="a2395"></a> <span class="src-sym">}</span></div></li> |
| 2412 |
|
-<li><div class="src-line"><a name="a2396"></a> </div></li> |
| 2413 |
|
-<li><div class="src-line"><a name="a2397"></a> <span class="src-doc">/**</span></div></li> |
| 2414 |
|
-<li><div class="src-line"><a name="a2398"></a><span class="src-doc"> * helper function that parses a variable</span></div></li> |
| 2415 |
|
-<li><div class="src-line"><a name="a2399"></a><span class="src-doc"> *</span></div></li> |
| 2416 |
|
-<li><div class="src-line"><a name="a2400"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$match </span><span class="src-doc">the matched variable, array(1=>"string match")</span></div></li> |
| 2417 |
|
-<li><div class="src-line"><a name="a2401"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed variable</span></div></li> |
| 2418 |
|
-<li><div class="src-line"><a name="a2402"></a><span class="src-doc"> */</span></div></li> |
| 2419 |
|
-<li><div class="src-line"><a name="a2403"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceVarKeyHelper">replaceVarKeyHelper</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">)</span></div></li> |
| 2420 |
|
-<li><div class="src-line"><a name="a2404"></a> <span class="src-sym">{</span></div></li> |
| 2421 |
|
-<li><div class="src-line"><a name="a2405"></a> <span class="src-key">return </span><span class="src-str">'".'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'variable'</span><span class="src-sym">)</span>.<span class="src-str">'."'</span><span class="src-sym">;</span></div></li> |
|
2256 |
+<li><div class="src-line"><a name="a2240"></a> <span class="src-sym">}</span></div></li> |
|
2257 |
+<li><div class="src-line"><a name="a2241"></a> </div></li> |
|
2258 |
+<li><div class="src-line"><a name="a2242"></a> <span class="src-doc">/**</span></div></li> |
|
2259 |
+<li><div class="src-line"><a name="a2243"></a><span class="src-doc"> * parses any number of chained method calls/property reads</span></div></li> |
|
2260 |
+<li><div class="src-line"><a name="a2244"></a><span class="src-doc"> *</span></div></li> |
|
2261 |
+<li><div class="src-line"><a name="a2245"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$output </span><span class="src-doc">the variable or whatever upon which the method are called</span></div></li> |
|
2262 |
+<li><div class="src-line"><a name="a2246"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$methodCall </span><span class="src-doc">method call source, starting at "->"</span></div></li> |
|
2263 |
+<li><div class="src-line"><a name="a2247"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
2264 |
+<li><div class="src-line"><a name="a2248"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed</span></div></li> |
|
2265 |
+<li><div class="src-line"><a name="a2249"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed call(s)/read(s)</span></div></li> |
|
2266 |
+<li><div class="src-line"><a name="a2250"></a><span class="src-doc"> */</span></div></li> |
|
2267 |
+<li><div class="src-line"><a name="a2251"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseMethodCall">parseMethodCall</a><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer</span><span class="src-sym">)</span></div></li> |
|
2268 |
+<li><div class="src-line"><a name="a2252"></a> <span class="src-sym">{</span></div></li> |
|
2269 |
+<li><div class="src-line"><a name="a2253"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2270 |
+<li><div class="src-line"><a name="a2254"></a> <span class="src-var">$len </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2271 |
+<li><div class="src-line"><a name="a2255"></a> </div></li> |
|
2272 |
+<li><div class="src-line"><a name="a2256"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <span class="src-var">$len</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2273 |
+<li><div class="src-line"><a name="a2257"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">) </span>=== <span class="src-var">$ptr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2274 |
+<li><div class="src-line"><a name="a2258"></a> <span class="src-var">$ptr </span>+= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
2275 |
+<li><div class="src-line"><a name="a2259"></a> <span class="src-sym">}</span></div></li> |
|
2276 |
+<li><div class="src-line"><a name="a2260"></a> </div></li> |
|
2277 |
+<li><div class="src-line"><a name="a2261"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">';'</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">'+'</span><span class="src-sym">, </span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-str">'%'</span><span class="src-sym">, </span><span class="src-str">'='</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">'|'</span><span class="src-sym">)) </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2278 |
+<li><div class="src-line"><a name="a2262"></a> <span class="src-comm">// break char found</span></div></li> |
|
2279 |
+<li><div class="src-line"><a name="a2263"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
2280 |
+<li><div class="src-line"><a name="a2264"></a> <span class="src-sym">}</span></div></li> |
|
2281 |
+<li><div class="src-line"><a name="a2265"></a> </div></li> |
|
2282 |
+<li><div class="src-line"><a name="a2266"></a> <span class="src-key">if</span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^([a-z0-9_]+)(\(.*?\))?/i'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$methMatch</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2283 |
+<li><div class="src-line"><a name="a2267"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid method name : '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><span class="src-num">20</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
2284 |
+<li><div class="src-line"><a name="a2268"></a> <span class="src-sym">}</span></div></li> |
|
2285 |
+<li><div class="src-line"><a name="a2269"></a> </div></li> |
|
2286 |
+<li><div class="src-line"><a name="a2270"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2287 |
+<li><div class="src-line"><a name="a2271"></a> <span class="src-comm">// property</span></div></li> |
|
2288 |
+<li><div class="src-line"><a name="a2272"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2289 |
+<li><div class="src-line"><a name="a2273"></a> <span class="src-var">$output </span>.= <span class="src-str">'->'</span>.<span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2290 |
+<li><div class="src-line"><a name="a2274"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2291 |
+<li><div class="src-line"><a name="a2275"></a> <span class="src-var">$output </span>= <span class="src-str">'(($tmp = '</span>.<span class="src-var">$output</span>.<span class="src-str">') ? $tmp->'</span>.<span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">' : null)'</span><span class="src-sym">;</span></div></li> |
|
2292 |
+<li><div class="src-line"><a name="a2276"></a> <span class="src-sym">}</span></div></li> |
|
2293 |
+<li><div class="src-line"><a name="a2277"></a> <span class="src-var">$ptr </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2294 |
+<li><div class="src-line"><a name="a2278"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2295 |
+<li><div class="src-line"><a name="a2279"></a> <span class="src-comm">// method</span></div></li> |
|
2296 |
+<li><div class="src-line"><a name="a2280"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">2</span><span class="src-sym">) </span>=== <span class="src-str">'()'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2297 |
+<li><div class="src-line"><a name="a2281"></a> <span class="src-var">$parsedCall </span>= <span class="src-str">'->'</span>.<span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'()'</span><span class="src-sym">;</span></div></li> |
|
2298 |
+<li><div class="src-line"><a name="a2282"></a> <span class="src-var">$ptr </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methMatch</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
2299 |
+<li><div class="src-line"><a name="a2283"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2300 |
+<li><div class="src-line"><a name="a2284"></a> <span class="src-var">$parsedCall </span>= <span class="src-str">'->'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseFunction">parseFunction</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$methodCall</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'method'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2301 |
+<li><div class="src-line"><a name="a2285"></a> <span class="src-sym">}</span></div></li> |
|
2302 |
+<li><div class="src-line"><a name="a2286"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2303 |
+<li><div class="src-line"><a name="a2287"></a> <span class="src-var">$output </span>.= <span class="src-var">$parsedCall</span><span class="src-sym">;</span></div></li> |
|
2304 |
+<li><div class="src-line"><a name="a2288"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2305 |
+<li><div class="src-line"><a name="a2289"></a> <span class="src-var">$output </span>= <span class="src-str">'(($tmp = '</span>.<span class="src-var">$output</span>.<span class="src-str">') ? $tmp'</span>.<span class="src-var">$parsedCall</span>.<span class="src-str">' : null)'</span><span class="src-sym">;</span></div></li> |
|
2306 |
+<li><div class="src-line"><a name="a2290"></a> <span class="src-sym">}</span></div></li> |
|
2307 |
+<li><div class="src-line"><a name="a2291"></a> <span class="src-sym">}</span></div></li> |
|
2308 |
+<li><div class="src-line"><a name="a2292"></a> <span class="src-sym">}</span></div></li> |
|
2309 |
+<li><div class="src-line"><a name="a2293"></a> </div></li> |
|
2310 |
+<li><div class="src-line"><a name="a2294"></a> <span class="src-var">$pointer </span>+= <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
2311 |
+<li><div class="src-line"><a name="a2295"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
2312 |
+<li><div class="src-line"><a name="a2296"></a> <span class="src-sym">}</span></div></li> |
|
2313 |
+<li><div class="src-line"><a name="a2297"></a> </div></li> |
|
2314 |
+<li><div class="src-line"><a name="a2298"></a> <span class="src-doc">/**</span></div></li> |
|
2315 |
+<li><div class="src-line"><a name="a2299"></a><span class="src-doc"> * parses a constant variable (a variable that doesn't contain another variable) and preprocesses it to save runtime processing time</span></div></li> |
|
2316 |
+<li><div class="src-line"><a name="a2300"></a><span class="src-doc"> *</span></div></li> |
|
2317 |
+<li><div class="src-line"><a name="a2301"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$key </span><span class="src-doc">the variable to parse</span></div></li> |
|
2318 |
+<li><div class="src-line"><a name="a2302"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
2319 |
+<li><div class="src-line"><a name="a2303"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed variable</span></div></li> |
|
2320 |
+<li><div class="src-line"><a name="a2304"></a><span class="src-doc"> */</span></div></li> |
|
2321 |
+<li><div class="src-line"><a name="a2305"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVarKey">parseVarKey</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span></div></li> |
|
2322 |
+<li><div class="src-line"><a name="a2306"></a> <span class="src-sym">{</span></div></li> |
|
2323 |
+<li><div class="src-line"><a name="a2307"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">''</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2324 |
+<li><div class="src-line"><a name="a2308"></a> <span class="src-key">return </span><span class="src-str">'$this->scope'</span><span class="src-sym">;</span></div></li> |
|
2325 |
+<li><div class="src-line"><a name="a2309"></a> <span class="src-sym">}</span></div></li> |
|
2326 |
+<li><div class="src-line"><a name="a2310"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'.'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2327 |
+<li><div class="src-line"><a name="a2311"></a> <span class="src-var">$key </span>= <span class="src-str">'dwoo'</span>.<span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
|
2328 |
+<li><div class="src-line"><a name="a2312"></a> <span class="src-sym">}</span></div></li> |
|
2329 |
+<li><div class="src-line"><a name="a2313"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#dwoo\.(get|post|server|cookies|session|env|request)((?:\.[a-z0-9_-]+)+)#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2330 |
+<li><div class="src-line"><a name="a2314"></a> <span class="src-var">$global </span>= <a href="http://www.php.net/strtoupper">strtoupper</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2331 |
+<li><div class="src-line"><a name="a2315"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$global </span>=== <span class="src-str">'COOKIES'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2332 |
+<li><div class="src-line"><a name="a2316"></a> <span class="src-var">$global </span>= <span class="src-str">'COOKIE'</span><span class="src-sym">;</span></div></li> |
|
2333 |
+<li><div class="src-line"><a name="a2317"></a> <span class="src-sym">}</span></div></li> |
|
2334 |
+<li><div class="src-line"><a name="a2318"></a> <span class="src-var">$key </span>= <span class="src-str">'$_'</span>.<span class="src-var">$global</span><span class="src-sym">;</span></div></li> |
|
2335 |
+<li><div class="src-line"><a name="a2319"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><a href="http://www.php.net/explode">explode</a><span class="src-sym">(</span><span class="src-str">'.'</span><span class="src-sym">, </span><a href="http://www.php.net/ltrim">ltrim</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">)) </span><span class="src-key">as </span><span class="src-var">$part</span><span class="src-sym">)</span></div></li> |
|
2336 |
+<li><div class="src-line"><a name="a2320"></a> <span class="src-var">$key </span>.= <span class="src-str">'['</span>.<a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$part</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">']'</span><span class="src-sym">;</span></div></li> |
|
2337 |
+<li><div class="src-line"><a name="a2321"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2338 |
+<li><div class="src-line"><a name="a2322"></a> <span class="src-var">$output </span>= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
|
2339 |
+<li><div class="src-line"><a name="a2323"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2340 |
+<li><div class="src-line"><a name="a2324"></a> <span class="src-var">$output </span>= <span class="src-str">'(isset('</span>.<span class="src-var">$key</span>.<span class="src-str">')?'</span>.<span class="src-var">$key</span>.<span class="src-str">':null)'</span><span class="src-sym">;</span></div></li> |
|
2341 |
+<li><div class="src-line"><a name="a2325"></a> <span class="src-sym">}</span></div></li> |
|
2342 |
+<li><div class="src-line"><a name="a2326"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#dwoo\.const\.([a-z0-9_:]+)#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2343 |
+<li><div class="src-line"><a name="a2327"></a> <span class="src-key">return </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseConstKey">parseConstKey</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2344 |
+<li><div class="src-line"><a name="a2328"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$scope">scope</a> </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2345 |
+<li><div class="src-line"><a name="a2329"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'.'</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'['</span><span class="src-sym">) </span>=== <span class="src-id">false </span>&& <a href="http://www.php.net/strstr">strstr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'->'</span><span class="src-sym">) </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2346 |
+<li><div class="src-line"><a name="a2330"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2347 |
+<li><div class="src-line"><a name="a2331"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->globals'</span><span class="src-sym">;</span></div></li> |
|
2348 |
+<li><div class="src-line"><a name="a2332"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'_root' </span>|| <span class="src-var">$key </span>=== <span class="src-str">'__'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2349 |
+<li><div class="src-line"><a name="a2333"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->data'</span><span class="src-sym">;</span></div></li> |
|
2350 |
+<li><div class="src-line"><a name="a2334"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'_parent' </span>|| <span class="src-var">$key </span>=== <span class="src-str">'_'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2351 |
+<li><div class="src-line"><a name="a2335"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readParentVar(1)'</span><span class="src-sym">;</span></div></li> |
|
2352 |
+<li><div class="src-line"><a name="a2336"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$key </span>=== <span class="src-str">'_key'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2353 |
+<li><div class="src-line"><a name="a2337"></a> <span class="src-var">$output </span>= <span class="src-str">'$tmp_key'</span><span class="src-sym">;</span></div></li> |
|
2354 |
+<li><div class="src-line"><a name="a2338"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2355 |
+<li><div class="src-line"><a name="a2339"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2356 |
+<li><div class="src-line"><a name="a2340"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->scope["'</span>.<span class="src-var">$key</span>.<span class="src-str">'"]'</span><span class="src-sym">;</span></div></li> |
|
2357 |
+<li><div class="src-line"><a name="a2341"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2358 |
+<li><div class="src-line"><a name="a2342"></a> <span class="src-var">$output </span>= <span class="src-str">'(isset($this->scope["'</span>.<span class="src-var">$key</span>.<span class="src-str">'"]) ? $this->scope["'</span>.<span class="src-var">$key</span>.<span class="src-str">'"] : null)'</span><span class="src-sym">;</span></div></li> |
|
2359 |
+<li><div class="src-line"><a name="a2343"></a> <span class="src-sym">}</span></div></li> |
|
2360 |
+<li><div class="src-line"><a name="a2344"></a> <span class="src-sym">}</span></div></li> |
|
2361 |
+<li><div class="src-line"><a name="a2345"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2362 |
+<li><div class="src-line"><a name="a2346"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?((?:[a-z0-9_]|-(?!>))+|(\\\?[\'"])[^\3]*?\3)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2363 |
+<li><div class="src-line"><a name="a2347"></a> </div></li> |
|
2364 |
+<li><div class="src-line"><a name="a2348"></a> <span class="src-var">$i </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2365 |
+<li><div class="src-line"><a name="a2349"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_parent' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'_'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2366 |
+<li><div class="src-line"><a name="a2350"></a> <span class="src-var">$parentCnt </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2367 |
+<li><div class="src-line"><a name="a2351"></a> </div></li> |
|
2368 |
+<li><div class="src-line"><a name="a2352"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2369 |
+<li><div class="src-line"><a name="a2353"></a> <span class="src-var">$parentCnt</span>++<span class="src-sym">;</span></div></li> |
|
2370 |
+<li><div class="src-line"><a name="a2354"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2371 |
+<li><div class="src-line"><a name="a2355"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2372 |
+<li><div class="src-line"><a name="a2356"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/current">current</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>=== <span class="src-str">'_parent'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2373 |
+<li><div class="src-line"><a name="a2357"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
2374 |
+<li><div class="src-line"><a name="a2358"></a> <span class="src-sym">}</span></div></li> |
|
2375 |
+<li><div class="src-line"><a name="a2359"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
2376 |
+<li><div class="src-line"><a name="a2360"></a> <span class="src-sym">}</span></div></li> |
|
2377 |
+<li><div class="src-line"><a name="a2361"></a> </div></li> |
|
2378 |
+<li><div class="src-line"><a name="a2362"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readParentVar('</span>.<span class="src-var">$parentCnt</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2379 |
+<li><div class="src-line"><a name="a2363"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2380 |
+<li><div class="src-line"><a name="a2364"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2381 |
+<li><div class="src-line"><a name="a2365"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->globals'</span><span class="src-sym">;</span></div></li> |
|
2382 |
+<li><div class="src-line"><a name="a2366"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2383 |
+<li><div class="src-line"><a name="a2367"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2384 |
+<li><div class="src-line"><a name="a2368"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_root' </span>|| <span class="src-var">$i </span>=== <span class="src-str">'__'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2385 |
+<li><div class="src-line"><a name="a2369"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->data'</span><span class="src-sym">;</span></div></li> |
|
2386 |
+<li><div class="src-line"><a name="a2370"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2387 |
+<li><div class="src-line"><a name="a2371"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2388 |
+<li><div class="src-line"><a name="a2372"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$i </span>=== <span class="src-str">'_key'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2389 |
+<li><div class="src-line"><a name="a2373"></a> <span class="src-var">$output </span>= <span class="src-str">'$tmp_key'</span><span class="src-sym">;</span></div></li> |
|
2390 |
+<li><div class="src-line"><a name="a2374"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2391 |
+<li><div class="src-line"><a name="a2375"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->scope'</span><span class="src-sym">;</span></div></li> |
|
2392 |
+<li><div class="src-line"><a name="a2376"></a> <span class="src-sym">}</span></div></li> |
|
2393 |
+<li><div class="src-line"><a name="a2377"></a> </div></li> |
|
2394 |
+<li><div class="src-line"><a name="a2378"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>&& <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>!== <span class="src-str">'->'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2395 |
+<li><div class="src-line"><a name="a2379"></a> <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>= <a href="http://www.php.net/preg_replace">preg_replace</a><span class="src-sym">(</span><span class="src-str">'/(^\\\([\'"])|\\\([\'"])$)/x'</span><span class="src-sym">, </span><span class="src-str">'$2$3'</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2396 |
+<li><div class="src-line"><a name="a2380"></a> <span class="src-key">if</span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">'"' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>== <span class="src-str">"'"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2397 |
+<li><div class="src-line"><a name="a2381"></a> <span class="src-var">$output </span>.= <span class="src-str">'['</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">']'</span><span class="src-sym">;</span></div></li> |
|
2398 |
+<li><div class="src-line"><a name="a2382"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2399 |
+<li><div class="src-line"><a name="a2383"></a> <span class="src-var">$output </span>.= <span class="src-str">'["'</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'"]'</span><span class="src-sym">;</span></div></li> |
|
2400 |
+<li><div class="src-line"><a name="a2384"></a> <span class="src-sym">}</span></div></li> |
|
2401 |
+<li><div class="src-line"><a name="a2385"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2402 |
+<li><div class="src-line"><a name="a2386"></a> <a href="http://www.php.net/array_shift">array_shift</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2403 |
+<li><div class="src-line"><a name="a2387"></a> <span class="src-sym">}</span></div></li> |
|
2404 |
+<li><div class="src-line"><a name="a2388"></a> </div></li> |
|
2405 |
+<li><div class="src-line"><a name="a2389"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>!== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2406 |
+<li><div class="src-line"><a name="a2390"></a> <span class="src-var">$output </span>= <span class="src-str">'(isset('</span>.<span class="src-var">$output</span>.<span class="src-str">') ? '</span>.<span class="src-var">$output</span>.<span class="src-str">':null)'</span><span class="src-sym">;</span></div></li> |
|
2407 |
+<li><div class="src-line"><a name="a2391"></a> <span class="src-sym">}</span></div></li> |
|
2408 |
+<li><div class="src-line"><a name="a2392"></a> <span class="src-sym">}</span></div></li> |
|
2409 |
+<li><div class="src-line"><a name="a2393"></a> </div></li> |
|
2410 |
+<li><div class="src-line"><a name="a2394"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2411 |
+<li><div class="src-line"><a name="a2395"></a> unset<span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2412 |
+<li><div class="src-line"><a name="a2396"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readVarInto('</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span>.<span class="src-str">', '</span>.<span class="src-var">$output</span>.<span class="src-str">', '</span>.<span class="src-sym">(</span><span class="src-var">$curBlock </span>== <span class="src-str">'root' </span>? <span class="src-str">'false'</span>: <span class="src-str">'true'</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2413 |
+<li><div class="src-line"><a name="a2397"></a> <span class="src-sym">}</span></div></li> |
|
2414 |
+<li><div class="src-line"><a name="a2398"></a> <span class="src-sym">}</span></div></li> |
|
2415 |
+<li><div class="src-line"><a name="a2399"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2416 |
+<li><div class="src-line"><a name="a2400"></a> <a href="http://www.php.net/preg_match_all">preg_match_all</a><span class="src-sym">(</span><span class="src-str">'#(\[|->|\.)?((?:[a-z0-9_]|-(?!>))+)\]?#i'</span><span class="src-sym">, </span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2417 |
+<li><div class="src-line"><a name="a2401"></a> unset<span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2418 |
+<li><div class="src-line"><a name="a2402"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->readVar('</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2419 |
+<li><div class="src-line"><a name="a2403"></a> <span class="src-sym">}</span></div></li> |
|
2420 |
+<li><div class="src-line"><a name="a2404"></a> </div></li> |
|
2421 |
+<li><div class="src-line"><a name="a2405"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 2422 |
2422 |
<li><div class="src-line"><a name="a2406"></a> <span class="src-sym">}</span></div></li> |
| 2423 |
2423 |
<li><div class="src-line"><a name="a2407"></a> </div></li> |
| 2424 |
2424 |
<li><div class="src-line"><a name="a2408"></a> <span class="src-doc">/**</span></div></li> |
| 2425 |
|
-<li><div class="src-line"><a name="a2409"></a><span class="src-doc"> * parses various constants, operators or non-quoted strings</span></div></li> |
| 2426 |
|
-<li><div class="src-line"><a name="a2410"></a><span class="src-doc"> *</span></div></li> |
| 2427 |
|
-<li><div class="src-line"><a name="a2411"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
| 2428 |
|
-<li><div class="src-line"><a name="a2412"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
| 2429 |
|
-<li><div class="src-line"><a name="a2413"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
| 2430 |
|
-<li><div class="src-line"><a name="a2414"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
| 2431 |
|
-<li><div class="src-line"><a name="a2415"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 2432 |
|
-<li><div class="src-line"><a name="a2416"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
| 2433 |
|
-<li><div class="src-line"><a name="a2417"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
| 2434 |
|
-<li><div class="src-line"><a name="a2418"></a><span class="src-doc"> */</span></div></li> |
| 2435 |
|
-<li><div class="src-line"><a name="a2419"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 2436 |
|
-<li><div class="src-line"><a name="a2420"></a> <span class="src-sym">{</span></div></li> |
| 2437 |
|
-<li><div class="src-line"><a name="a2421"></a> <span class="src-var">$first </span>= <span class="src-var">$in</span><span class="src-sym">[</span><span class="src-var">$from</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2438 |
|
-<li><div class="src-line"><a name="a2422"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2439 |
|
-<li><div class="src-line"><a name="a2423"></a> </div></li> |
| 2440 |
|
-<li><div class="src-line"><a name="a2424"></a> <span class="src-var">$end </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2441 |
|
-<li><div class="src-line"><a name="a2425"></a> </div></li> |
| 2442 |
|
-<li><div class="src-line"><a name="a2426"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2443 |
|
-<li><div class="src-line"><a name="a2427"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'('</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">'||'</span><span class="src-sym">, </span><span class="src-str">'&&'</span><span class="src-sym">, </span><span class="src-str">'|'</span><span class="src-sym">, </span><span class="src-str">'&'</span><span class="src-sym">, </span><span class="src-str">'>='</span><span class="src-sym">, </span><span class="src-str">'<='</span><span class="src-sym">, </span><span class="src-str">'==='</span><span class="src-sym">, </span><span class="src-str">'=='</span><span class="src-sym">, </span><span class="src-str">'='</span><span class="src-sym">, </span><span class="src-str">'!=='</span><span class="src-sym">, </span><span class="src-str">'!='</span><span class="src-sym">, </span><span class="src-str">'<<'</span><span class="src-sym">, </span><span class="src-str">'<'</span><span class="src-sym">, </span><span class="src-str">'>>'</span><span class="src-sym">, </span><span class="src-str">'>'</span><span class="src-sym">, </span><span class="src-str">'^'</span><span class="src-sym">, </span><span class="src-str">'~'</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">'+'</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-str">'%'</span><span class="src-sym">, </span><span class="src-str">'!'</span><span class="src-sym">, </span><span class="src-str">'?'</span><span class="src-sym">, </span><span class="src-str">':'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">, </span><span class="src-str">';'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2444 |
|
-<li><div class="src-line"><a name="a2428"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'modifier'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2445 |
|
-<li><div class="src-line"><a name="a2429"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">':'</span><span class="src-sym">, </span><span class="src-str">'|'</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">";"</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2446 |
|
-<li><div class="src-line"><a name="a2430"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'expression'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2447 |
|
-<li><div class="src-line"><a name="a2431"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-str">'%'</span><span class="src-sym">, </span><span class="src-str">'+'</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">";"</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2448 |
|
-<li><div class="src-line"><a name="a2432"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2449 |
|
-<li><div class="src-line"><a name="a2433"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">";"</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2450 |
|
-<li><div class="src-line"><a name="a2434"></a> <span class="src-sym">}</span></div></li> |
| 2451 |
|
-<li><div class="src-line"><a name="a2435"></a> </div></li> |
| 2452 |
|
-<li><div class="src-line"><a name="a2436"></a> <span class="src-var">$breaker </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 2453 |
|
-<li><div class="src-line"><a name="a2437"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">,</span><span class="src-var">$char</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$breakChars</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2454 |
|
-<li><div class="src-line"><a name="a2438"></a> <span class="src-var">$test </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$char</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2455 |
|
-<li><div class="src-line"><a name="a2439"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$test </span>!== <span class="src-id">false </span>&& <span class="src-var">$test </span>< <span class="src-var">$end</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2456 |
|
-<li><div class="src-line"><a name="a2440"></a> <span class="src-var">$end </span>= <span class="src-var">$test</span><span class="src-sym">;</span></div></li> |
| 2457 |
|
-<li><div class="src-line"><a name="a2441"></a> <span class="src-var">$breaker </span>= <span class="src-var">$k</span><span class="src-sym">;</span></div></li> |
| 2458 |
|
-<li><div class="src-line"><a name="a2442"></a> <span class="src-sym">}</span></div></li> |
| 2459 |
|
-<li><div class="src-line"><a name="a2443"></a> <span class="src-sym">}</span></div></li> |
| 2460 |
|
-<li><div class="src-line"><a name="a2444"></a> </div></li> |
| 2461 |
|
-<li><div class="src-line"><a name="a2445"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2462 |
|
-<li><div class="src-line"><a name="a2446"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$end </span>=== <span class="src-num">0 </span>&& <span class="src-var">$breaker </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2463 |
|
-<li><div class="src-line"><a name="a2447"></a> <span class="src-var">$end </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$breakChars</span><span class="src-sym">[</span><span class="src-var">$breaker</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2464 |
|
-<li><div class="src-line"><a name="a2448"></a> <span class="src-sym">}</span></div></li> |
| 2465 |
|
-<li><div class="src-line"><a name="a2449"></a> <span class="src-sym">}</span></div></li> |
| 2466 |
|
-<li><div class="src-line"><a name="a2450"></a> </div></li> |
| 2467 |
|
-<li><div class="src-line"><a name="a2451"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$end </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2468 |
|
-<li><div class="src-line"><a name="a2452"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$end</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2469 |
|
-<li><div class="src-line"><a name="a2453"></a> <span class="src-sym">}</span></div></li> |
| 2470 |
|
-<li><div class="src-line"><a name="a2454"></a> </div></li> |
| 2471 |
|
-<li><div class="src-line"><a name="a2455"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2472 |
|
-<li><div class="src-line"><a name="a2456"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2473 |
|
-<li><div class="src-line"><a name="a2457"></a> <span class="src-sym">}</span></div></li> |
| 2474 |
|
-<li><div class="src-line"><a name="a2458"></a> </div></li> |
| 2475 |
|
-<li><div class="src-line"><a name="a2459"></a> <span class="src-var">$src </span>= <span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
| 2476 |
|
-<li><div class="src-line"><a name="a2460"></a> </div></li> |
| 2477 |
|
-<li><div class="src-line"><a name="a2461"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'false' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'no' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'off'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2478 |
|
-<li><div class="src-line"><a name="a2462"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BOOLEAN(FALSE) PARSED<br />'</span><span class="src-sym">;</span></div></li> |
| 2479 |
|
-<li><div class="src-line"><a name="a2463"></a> <span class="src-var">$substr </span>= <span class="src-str">'false'</span><span class="src-sym">;</span></div></li> |
| 2480 |
|
-<li><div class="src-line"><a name="a2464"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'true' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'yes' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'on'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2481 |
|
-<li><div class="src-line"><a name="a2465"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BOOLEAN(TRUE) PARSED<br />'</span><span class="src-sym">;</span></div></li> |
| 2482 |
|
-<li><div class="src-line"><a name="a2466"></a> <span class="src-var">$substr </span>= <span class="src-str">'true'</span><span class="src-sym">;</span></div></li> |
| 2483 |
|
-<li><div class="src-line"><a name="a2467"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$substr </span>=== <span class="src-str">'null' </span>|| <span class="src-var">$substr </span>=== <span class="src-str">'NULL'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2484 |
|
-<li><div class="src-line"><a name="a2468"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'NULL PARSED<br />'</span><span class="src-sym">;</span></div></li> |
| 2485 |
|
-<li><div class="src-line"><a name="a2469"></a> <span class="src-var">$substr </span>= <span class="src-str">'null'</span><span class="src-sym">;</span></div></li> |
| 2486 |
|
-<li><div class="src-line"><a name="a2470"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_numeric">is_numeric</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2487 |
|
-<li><div class="src-line"><a name="a2471"></a> <span class="src-var">$substr </span>= (float) <span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
| 2488 |
|
-<li><div class="src-line"><a name="a2472"></a> <span class="src-key">if </span><span class="src-sym">(</span>(int) <span class="src-var">$substr </span>== <span class="src-var">$substr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2489 |
|
-<li><div class="src-line"><a name="a2473"></a> <span class="src-var">$substr </span>= (int) <span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
| 2490 |
|
-<li><div class="src-line"><a name="a2474"></a> <span class="src-sym">}</span></div></li> |
| 2491 |
|
-<li><div class="src-line"><a name="a2475"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'NUMBER ('</span>.<span class="src-var">$substr</span>.<span class="src-str">') PARSED<br />'</span><span class="src-sym">;</span></div></li> |
| 2492 |
|
-<li><div class="src-line"><a name="a2476"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'{^-?(\d+|\d*(\.\d+))\s*([/*%+-]\s*-?(\d+|\d*(\.\d+)))+$}'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2493 |
|
-<li><div class="src-line"><a name="a2477"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'SIMPLE MATH PARSED<br />'</span><span class="src-sym">;</span></div></li> |
| 2494 |
|
-<li><div class="src-line"><a name="a2478"></a> <span class="src-var">$substr </span>= <span class="src-str">'('</span>.<span class="src-var">$substr</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2495 |
|
-<li><div class="src-line"><a name="a2479"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition' </span>&& <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$breakChars</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2496 |
|
-<li><div class="src-line"><a name="a2480"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BREAKCHAR ('</span>.<span class="src-var">$substr</span>.<span class="src-str">') PARSED<br />'</span><span class="src-sym">;</span></div></li> |
| 2497 |
|
-<li><div class="src-line"><a name="a2481"></a> <span class="src-comm">//$substr = '"'.$substr.'"';</span></div></li> |
| 2498 |
|
-<li><div class="src-line"><a name="a2482"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2499 |
|
-<li><div class="src-line"><a name="a2483"></a> <span class="src-var">$substr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceStringVars">replaceStringVars</a><span class="src-sym">(</span><span class="src-str">'\''</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\''</span><span class="src-sym">, </span><span class="src-str">'\\\''</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)</span>.<span class="src-str">'\''</span><span class="src-sym">, </span><span class="src-str">'\''</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2500 |
|
-<li><div class="src-line"><a name="a2484"></a> </div></li> |
| 2501 |
|
-<li><div class="src-line"><a name="a2485"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BLABBER ('</span>.<span class="src-var">$substr</span>.<span class="src-str">') CASTED AS STRING<br />'</span><span class="src-sym">;</span></div></li> |
| 2502 |
|
-<li><div class="src-line"><a name="a2486"></a> <span class="src-sym">}</span></div></li> |
| 2503 |
|
-<li><div class="src-line"><a name="a2487"></a> </div></li> |
| 2504 |
|
-<li><div class="src-line"><a name="a2488"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2505 |
|
-<li><div class="src-line"><a name="a2489"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$src</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2506 |
|
-<li><div class="src-line"><a name="a2490"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
| 2507 |
|
-<li><div class="src-line"><a name="a2491"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2508 |
|
-<li><div class="src-line"><a name="a2492"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$src</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2509 |
|
-<li><div class="src-line"><a name="a2493"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'expression'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2510 |
|
-<li><div class="src-line"><a name="a2494"></a> <span class="src-key">return </span><span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
| 2511 |
|
-<li><div class="src-line"><a name="a2495"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2512 |
|
-<li><div class="src-line"><a name="a2496"></a> throw <span class="src-key">new </span><span class="src-id">Exception</span><span class="src-sym">(</span><span class="src-str">'Something went wrong'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2513 |
|
-<li><div class="src-line"><a name="a2497"></a> <span class="src-sym">}</span></div></li> |
| 2514 |
|
-<li><div class="src-line"><a name="a2498"></a> <span class="src-sym">}</span></div></li> |
| 2515 |
|
-<li><div class="src-line"><a name="a2499"></a> </div></li> |
| 2516 |
|
-<li><div class="src-line"><a name="a2500"></a> <span class="src-doc">/**</span></div></li> |
| 2517 |
|
-<li><div class="src-line"><a name="a2501"></a><span class="src-doc"> * replaces variables within a parsed string</span></div></li> |
| 2518 |
|
-<li><div class="src-line"><a name="a2502"></a><span class="src-doc"> *</span></div></li> |
| 2519 |
|
-<li><div class="src-line"><a name="a2503"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$string </span><span class="src-doc">the parsed string</span></div></li> |
| 2520 |
|
-<li><div class="src-line"><a name="a2504"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$first </span><span class="src-doc">the first character parsed in the string, which is the string delimiter (' or ")</span></div></li> |
| 2521 |
|
-<li><div class="src-line"><a name="a2505"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 2522 |
|
-<li><div class="src-line"><a name="a2506"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the original string with variables replaced</span></div></li> |
| 2523 |
|
-<li><div class="src-line"><a name="a2507"></a><span class="src-doc"> */</span></div></li> |
| 2524 |
|
-<li><div class="src-line"><a name="a2508"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceStringVars">replaceStringVars</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">)</span></div></li> |
| 2525 |
|
-<li><div class="src-line"><a name="a2509"></a> <span class="src-sym">{</span></div></li> |
| 2526 |
|
-<li><div class="src-line"><a name="a2510"></a> <span class="src-var">$pos </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2527 |
|
-<li><div class="src-line"><a name="a2511"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING VAR REPLACEMENT : '</span>.<span class="src-var">$string</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
| 2528 |
|
-<li><div class="src-line"><a name="a2512"></a> <span class="src-comm">// replace vars</span></div></li> |
| 2529 |
|
-<li><div class="src-line"><a name="a2513"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$pos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2530 |
|
-<li><div class="src-line"><a name="a2514"></a> <span class="src-var">$prev </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2531 |
|
-<li><div class="src-line"><a name="a2515"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2532 |
|
-<li><div class="src-line"><a name="a2516"></a> <span class="src-var">$pos</span>++<span class="src-sym">;</span></div></li> |
| 2533 |
|
-<li><div class="src-line"><a name="a2517"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
2425 |
+<li><div class="src-line"><a name="a2409"></a><span class="src-doc"> * flattens a variable tree, this helps in parsing very complex variables such as $var.foo[$foo.bar->baz].baz,</span></div></li> |
|
2426 |
+<li><div class="src-line"><a name="a2410"></a><span class="src-doc"> * it computes the contents of the brackets first and works out from there</span></div></li> |
|
2427 |
+<li><div class="src-line"><a name="a2411"></a><span class="src-doc"> *</span></div></li> |
|
2428 |
+<li><div class="src-line"><a name="a2412"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$tree </span><span class="src-doc">the variable tree parsed by he parseVar() method that must be flattened</span></div></li> |
|
2429 |
+<li><div class="src-line"><a name="a2413"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$recursed </span><span class="src-doc">leave that to false by default, it is only for internal use</span></div></li> |
|
2430 |
+<li><div class="src-line"><a name="a2414"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">flattened tree</span></div></li> |
|
2431 |
+<li><div class="src-line"><a name="a2415"></a><span class="src-doc"> */</span></div></li> |
|
2432 |
+<li><div class="src-line"><a name="a2416"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodflattenVarTree">flattenVarTree</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$tree</span><span class="src-sym">, </span><span class="src-var">$recursed</span>=<span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
2433 |
+<li><div class="src-line"><a name="a2417"></a> <span class="src-sym">{</span></div></li> |
|
2434 |
+<li><div class="src-line"><a name="a2418"></a> <span class="src-var">$out </span>= <span class="src-var">$recursed </span>? <span class="src-str">'".$this->readVarInto(' </span>: <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
2435 |
+<li><div class="src-line"><a name="a2419"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$tree </span><span class="src-key">as </span><span class="src-var">$bit</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2436 |
+<li><div class="src-line"><a name="a2420"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$bit</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2437 |
+<li><div class="src-line"><a name="a2421"></a> <span class="src-var">$out</span>.=<span class="src-str">'.'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodflattenVarTree">flattenVarTree</a><span class="src-sym">(</span><span class="src-var">$bit</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2438 |
+<li><div class="src-line"><a name="a2422"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2439 |
+<li><div class="src-line"><a name="a2423"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'"'</span><span class="src-sym">, </span><span class="src-str">'\\"'</span><span class="src-sym">, </span><span class="src-var">$bit</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2440 |
+<li><div class="src-line"><a name="a2424"></a> </div></li> |
|
2441 |
+<li><div class="src-line"><a name="a2425"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span>===<span class="src-str">'$'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2442 |
+<li><div class="src-line"><a name="a2426"></a> <span class="src-var">$out </span>.= <span class="src-str">'".'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'variable'</span><span class="src-sym">)</span>.<span class="src-str">'."'</span><span class="src-sym">;</span></div></li> |
|
2443 |
+<li><div class="src-line"><a name="a2427"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2444 |
+<li><div class="src-line"><a name="a2428"></a> <span class="src-var">$cnt </span>= <a href="http://www.php.net/substr_count">substr_count</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2445 |
+<li><div class="src-line"><a name="a2429"></a> </div></li> |
|
2446 |
+<li><div class="src-line"><a name="a2430"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARSING SUBVARS IN : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
|
2447 |
+<li><div class="src-line"><a name="a2431"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cnt </span>> <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2448 |
+<li><div class="src-line"><a name="a2432"></a> <span class="src-key">while </span><span class="src-sym">(</span>--<span class="src-var">$cnt </span>>= <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2449 |
+<li><div class="src-line"><a name="a2433"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2450 |
+<li><div class="src-line"><a name="a2434"></a> <span class="src-var">$last </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">, </span>- <span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">) </span>- <span class="src-var">$last </span>+ <span class="src-num">1</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
2451 |
+<li><div class="src-line"><a name="a2435"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2452 |
+<li><div class="src-line"><a name="a2436"></a> <span class="src-var">$last </span>= <a href="http://www.php.net/strrpos">strrpos</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2453 |
+<li><div class="src-line"><a name="a2437"></a> <span class="src-sym">}</span></div></li> |
|
2454 |
+<li><div class="src-line"><a name="a2438"></a> <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#\$[a-z0-9_]+((?:(?:\.|->)(?:[a-z0-9_]+|(?R))|\[(?:[a-z0-9_]+|(?R))\]))*'</span>.</div></li> |
|
2455 |
+<li><div class="src-line"><a name="a2439"></a> <span class="src-str">'((?:(?:[+/*%-])(?:\$[a-z0-9.[\]>_:-]+(?:\([^)]*\))?|[0-9.,]*))*)#i'</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$last</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$submatch</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2456 |
+<li><div class="src-line"><a name="a2440"></a> </div></li> |
|
2457 |
+<li><div class="src-line"><a name="a2441"></a> <span class="src-var">$len </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$submatch</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2458 |
+<li><div class="src-line"><a name="a2442"></a> <span class="src-var">$key </span>= <a href="http://www.php.net/substr_replace">substr_replace</a><span class="src-sym">(</span></div></li> |
|
2459 |
+<li><div class="src-line"><a name="a2443"></a> <span class="src-var">$key</span><span class="src-sym">,</span></div></li> |
|
2460 |
+<li><div class="src-line"><a name="a2444"></a> <a href="http://www.php.net/preg_replace_callback">preg_replace_callback</a><span class="src-sym">(</span></div></li> |
|
2461 |
+<li><div class="src-line"><a name="a2445"></a> <span class="src-str">'#(\$[a-z0-9_]+((?:(?:\.|->)(?:[a-z0-9_]+|(?R))|\[(?:[a-z0-9_]+|(?R))\]))*)'</span>.</div></li> |
|
2462 |
+<li><div class="src-line"><a name="a2446"></a> <span class="src-str">'((?:(?:[+/*%-])(?:\$[a-z0-9.[\]>_:-]+(?:\([^)]*\))?|[0-9.,]*))*)#i'</span><span class="src-sym">,</span></div></li> |
|
2463 |
+<li><div class="src-line"><a name="a2447"></a> <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'replaceVarKeyHelper'</span><span class="src-sym">)</span><span class="src-sym">, </span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$key</span><span class="src-sym">, </span><span class="src-var">$last</span><span class="src-sym">, </span><span class="src-var">$len</span><span class="src-sym">)</span></div></li> |
|
2464 |
+<li><div class="src-line"><a name="a2448"></a> <span class="src-sym">)</span><span class="src-sym">,</span></div></li> |
|
2465 |
+<li><div class="src-line"><a name="a2449"></a> <span class="src-var">$last</span><span class="src-sym">,</span></div></li> |
|
2466 |
+<li><div class="src-line"><a name="a2450"></a> <span class="src-var">$len</span></div></li> |
|
2467 |
+<li><div class="src-line"><a name="a2451"></a> <span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2468 |
+<li><div class="src-line"><a name="a2452"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'RECURSIVE VAR REPLACEMENT DONE : '</span>.<span class="src-var">$key</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
|
2469 |
+<li><div class="src-line"><a name="a2453"></a> <span class="src-sym">}</span></div></li> |
|
2470 |
+<li><div class="src-line"><a name="a2454"></a> unset<span class="src-sym">(</span><span class="src-var">$last</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2471 |
+<li><div class="src-line"><a name="a2455"></a> </div></li> |
|
2472 |
+<li><div class="src-line"><a name="a2456"></a> <span class="src-var">$out </span>.= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
|
2473 |
+<li><div class="src-line"><a name="a2457"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2474 |
+<li><div class="src-line"><a name="a2458"></a> <span class="src-var">$out </span>.= <span class="src-var">$key</span><span class="src-sym">;</span></div></li> |
|
2475 |
+<li><div class="src-line"><a name="a2459"></a> <span class="src-sym">}</span></div></li> |
|
2476 |
+<li><div class="src-line"><a name="a2460"></a> <span class="src-sym">}</span></div></li> |
|
2477 |
+<li><div class="src-line"><a name="a2461"></a> <span class="src-sym">}</span></div></li> |
|
2478 |
+<li><div class="src-line"><a name="a2462"></a> <span class="src-sym">}</span></div></li> |
|
2479 |
+<li><div class="src-line"><a name="a2463"></a> <span class="src-var">$out </span>.= <span class="src-var">$recursed </span>? <span class="src-str">', true)."' </span>: <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
2480 |
+<li><div class="src-line"><a name="a2464"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
|
2481 |
+<li><div class="src-line"><a name="a2465"></a> <span class="src-sym">}</span></div></li> |
|
2482 |
+<li><div class="src-line"><a name="a2466"></a> </div></li> |
|
2483 |
+<li><div class="src-line"><a name="a2467"></a> <span class="src-doc">/**</span></div></li> |
|
2484 |
+<li><div class="src-line"><a name="a2468"></a><span class="src-doc"> * helper function that parses a variable</span></div></li> |
|
2485 |
+<li><div class="src-line"><a name="a2469"></a><span class="src-doc"> *</span></div></li> |
|
2486 |
+<li><div class="src-line"><a name="a2470"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$match </span><span class="src-doc">the matched variable, array(1=>"string match")</span></div></li> |
|
2487 |
+<li><div class="src-line"><a name="a2471"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed variable</span></div></li> |
|
2488 |
+<li><div class="src-line"><a name="a2472"></a><span class="src-doc"> */</span></div></li> |
|
2489 |
+<li><div class="src-line"><a name="a2473"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceVarKeyHelper">replaceVarKeyHelper</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">)</span></div></li> |
|
2490 |
+<li><div class="src-line"><a name="a2474"></a> <span class="src-sym">{</span></div></li> |
|
2491 |
+<li><div class="src-line"><a name="a2475"></a> <span class="src-key">return </span><span class="src-str">'".'</span>.<span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparseVar">parseVar</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-str">'variable'</span><span class="src-sym">)</span>.<span class="src-str">'."'</span><span class="src-sym">;</span></div></li> |
|
2492 |
+<li><div class="src-line"><a name="a2476"></a> <span class="src-sym">}</span></div></li> |
|
2493 |
+<li><div class="src-line"><a name="a2477"></a> </div></li> |
|
2494 |
+<li><div class="src-line"><a name="a2478"></a> <span class="src-doc">/**</span></div></li> |
|
2495 |
+<li><div class="src-line"><a name="a2479"></a><span class="src-doc"> * parses various constants, operators or non-quoted strings</span></div></li> |
|
2496 |
+<li><div class="src-line"><a name="a2480"></a><span class="src-doc"> *</span></div></li> |
|
2497 |
+<li><div class="src-line"><a name="a2481"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$in </span><span class="src-doc">the string within which we must parse something</span></div></li> |
|
2498 |
+<li><div class="src-line"><a name="a2482"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$from </span><span class="src-doc">the starting offset of the parsed area</span></div></li> |
|
2499 |
+<li><div class="src-line"><a name="a2483"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$to </span><span class="src-doc">the ending offset of the parsed area</span></div></li> |
|
2500 |
+<li><div class="src-line"><a name="a2484"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$parsingParams </span><span class="src-doc">must be an array if we are parsing a function or modifier's parameters, or false by default</span></div></li> |
|
2501 |
+<li><div class="src-line"><a name="a2485"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
2502 |
+<li><div class="src-line"><a name="a2486"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">mixed </span><span class="src-doc-var">$pointer </span><span class="src-doc">a reference to a pointer that will be increased by the amount of characters parsed, or null by default</span></div></li> |
|
2503 |
+<li><div class="src-line"><a name="a2487"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">parsed values</span></div></li> |
|
2504 |
+<li><div class="src-line"><a name="a2488"></a><span class="src-doc"> */</span></div></li> |
|
2505 |
+<li><div class="src-line"><a name="a2489"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodparseOthers">parseOthers</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span><span class="src-sym">, </span><span class="src-var">$parsingParams </span>= <span class="src-id">false</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
2506 |
+<li><div class="src-line"><a name="a2490"></a> <span class="src-sym">{</span></div></li> |
|
2507 |
+<li><div class="src-line"><a name="a2491"></a> <span class="src-var">$first </span>= <span class="src-var">$in</span><span class="src-sym">[</span><span class="src-var">$from</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2508 |
+<li><div class="src-line"><a name="a2492"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$in</span><span class="src-sym">, </span><span class="src-var">$from</span><span class="src-sym">, </span><span class="src-var">$to</span>-<span class="src-var">$from</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2509 |
+<li><div class="src-line"><a name="a2493"></a> </div></li> |
|
2510 |
+<li><div class="src-line"><a name="a2494"></a> <span class="src-var">$end </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2511 |
+<li><div class="src-line"><a name="a2495"></a> </div></li> |
|
2512 |
+<li><div class="src-line"><a name="a2496"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2513 |
+<li><div class="src-line"><a name="a2497"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'('</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">'||'</span><span class="src-sym">, </span><span class="src-str">'&&'</span><span class="src-sym">, </span><span class="src-str">'|'</span><span class="src-sym">, </span><span class="src-str">'&'</span><span class="src-sym">, </span><span class="src-str">'>='</span><span class="src-sym">, </span><span class="src-str">'<='</span><span class="src-sym">, </span><span class="src-str">'==='</span><span class="src-sym">, </span><span class="src-str">'=='</span><span class="src-sym">, </span><span class="src-str">'='</span><span class="src-sym">, </span><span class="src-str">'!=='</span><span class="src-sym">, </span><span class="src-str">'!='</span><span class="src-sym">, </span><span class="src-str">'<<'</span><span class="src-sym">, </span><span class="src-str">'<'</span><span class="src-sym">, </span><span class="src-str">'>>'</span><span class="src-sym">, </span><span class="src-str">'>'</span><span class="src-sym">, </span><span class="src-str">'^'</span><span class="src-sym">, </span><span class="src-str">'~'</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">'+'</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-str">'%'</span><span class="src-sym">, </span><span class="src-str">'!'</span><span class="src-sym">, </span><span class="src-str">'?'</span><span class="src-sym">, </span><span class="src-str">':'</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">, </span><span class="src-str">';'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2514 |
+<li><div class="src-line"><a name="a2498"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'modifier'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2515 |
+<li><div class="src-line"><a name="a2499"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">':'</span><span class="src-sym">, </span><span class="src-str">'|'</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">";"</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2516 |
+<li><div class="src-line"><a name="a2500"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'expression'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2517 |
+<li><div class="src-line"><a name="a2501"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'/'</span><span class="src-sym">, </span><span class="src-str">'%'</span><span class="src-sym">, </span><span class="src-str">'+'</span><span class="src-sym">, </span><span class="src-str">'-'</span><span class="src-sym">, </span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">";"</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2518 |
+<li><div class="src-line"><a name="a2502"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2519 |
+<li><div class="src-line"><a name="a2503"></a> <span class="src-var">$breakChars </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">' '</span><span class="src-sym">, </span><span class="src-str">','</span><span class="src-sym">, </span><span class="src-str">')'</span><span class="src-sym">, </span><span class="src-str">"\r"</span><span class="src-sym">, </span><span class="src-str">"\n"</span><span class="src-sym">, </span><span class="src-str">"\t"</span><span class="src-sym">, </span><span class="src-str">";"</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2520 |
+<li><div class="src-line"><a name="a2504"></a> <span class="src-sym">}</span></div></li> |
|
2521 |
+<li><div class="src-line"><a name="a2505"></a> </div></li> |
|
2522 |
+<li><div class="src-line"><a name="a2506"></a> <span class="src-var">$breaker </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
2523 |
+<li><div class="src-line"><a name="a2507"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">,</span><span class="src-var">$char</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$breakChars</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2524 |
+<li><div class="src-line"><a name="a2508"></a> <span class="src-var">$test </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$char</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2525 |
+<li><div class="src-line"><a name="a2509"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$test </span>!== <span class="src-id">false </span>&& <span class="src-var">$test </span>< <span class="src-var">$end</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2526 |
+<li><div class="src-line"><a name="a2510"></a> <span class="src-var">$end </span>= <span class="src-var">$test</span><span class="src-sym">;</span></div></li> |
|
2527 |
+<li><div class="src-line"><a name="a2511"></a> <span class="src-var">$breaker </span>= <span class="src-var">$k</span><span class="src-sym">;</span></div></li> |
|
2528 |
+<li><div class="src-line"><a name="a2512"></a> <span class="src-sym">}</span></div></li> |
|
2529 |
+<li><div class="src-line"><a name="a2513"></a> <span class="src-sym">}</span></div></li> |
|
2530 |
+<li><div class="src-line"><a name="a2514"></a> </div></li> |
|
2531 |
+<li><div class="src-line"><a name="a2515"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2532 |
+<li><div class="src-line"><a name="a2516"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$end </span>=== <span class="src-num">0 </span>&& <span class="src-var">$breaker </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2533 |
+<li><div class="src-line"><a name="a2517"></a> <span class="src-var">$end </span>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$breakChars</span><span class="src-sym">[</span><span class="src-var">$breaker</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2534 |
2534 |
<li><div class="src-line"><a name="a2518"></a> <span class="src-sym">}</span></div></li> |
| 2535 |
|
-<li><div class="src-line"><a name="a2519"></a> </div></li> |
| 2536 |
|
-<li><div class="src-line"><a name="a2520"></a> <span class="src-var">$var </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'modifier' </span>? <span class="src-str">'modifier' </span>: <span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'`' </span>? <span class="src-str">'delimited_string'</span>:<span class="src-str">'string'</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 2537 |
|
-<li><div class="src-line"><a name="a2521"></a> <span class="src-var">$len </span>= <span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2538 |
|
-<li><div class="src-line"><a name="a2522"></a> <span class="src-var">$var </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\\'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$string</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'modifier' </span>? <span class="src-str">'modifier' </span>: <span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'`' </span>? <span class="src-str">'delimited_string'</span>:<span class="src-str">'string'</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 2539 |
|
-<li><div class="src-line"><a name="a2523"></a> </div></li> |
| 2540 |
|
-<li><div class="src-line"><a name="a2524"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'`' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$pos</span>+<span class="src-var">$len</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'`'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2541 |
|
-<li><div class="src-line"><a name="a2525"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/substr_replace">substr_replace</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$first</span>.<span class="src-str">'.'</span>.<span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'.'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-var">$len</span>+<span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2542 |
|
-<li><div class="src-line"><a name="a2526"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2543 |
|
-<li><div class="src-line"><a name="a2527"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/substr_replace">substr_replace</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$first</span>.<span class="src-str">'.'</span>.<span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'.'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-var">$len</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2544 |
|
-<li><div class="src-line"><a name="a2528"></a> <span class="src-sym">}</span></div></li> |
| 2545 |
|
-<li><div class="src-line"><a name="a2529"></a> <span class="src-var">$pos </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 2546 |
|
-<li><div class="src-line"><a name="a2530"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING VAR REPLACEMENT DONE : '</span>.<span class="src-var">$string</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
| 2547 |
|
-<li><div class="src-line"><a name="a2531"></a> <span class="src-sym">}</span></div></li> |
| 2548 |
|
-<li><div class="src-line"><a name="a2532"></a> </div></li> |
| 2549 |
|
-<li><div class="src-line"><a name="a2533"></a> <span class="src-comm">// handle modifiers</span></div></li> |
| 2550 |
|
-<li><div class="src-line"><a name="a2534"></a> <span class="src-comm">// TODO Obsolete?</span></div></li> |
| 2551 |
|
-<li><div class="src-line"><a name="a2535"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/preg_replace_callback">preg_replace_callback</a><span class="src-sym">(</span><span class="src-str">'#("|\')\.(.+?)\.\1((?:\|(?:@?[a-z0-9_]+(?:(?::("|\').+?\4|:[^`]*))*))+)#i'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'replaceModifiers'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$string</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2552 |
|
-<li><div class="src-line"><a name="a2536"></a> </div></li> |
| 2553 |
|
-<li><div class="src-line"><a name="a2537"></a> <span class="src-comm">// replace escaped dollar operators by unescaped ones if required</span></div></li> |
| 2554 |
|
-<li><div class="src-line"><a name="a2538"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">"'"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2555 |
|
-<li><div class="src-line"><a name="a2539"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\\$'</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">, </span><span class="src-var">$string</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2556 |
|
-<li><div class="src-line"><a name="a2540"></a> <span class="src-sym">}</span></div></li> |
| 2557 |
|
-<li><div class="src-line"><a name="a2541"></a> </div></li> |
| 2558 |
|
-<li><div class="src-line"><a name="a2542"></a> <span class="src-key">return </span><span class="src-var">$string</span><span class="src-sym">;</span></div></li> |
| 2559 |
|
-<li><div class="src-line"><a name="a2543"></a> <span class="src-sym">}</span></div></li> |
| 2560 |
|
-<li><div class="src-line"><a name="a2544"></a> </div></li> |
| 2561 |
|
-<li><div class="src-line"><a name="a2545"></a> <span class="src-doc">/**</span></div></li> |
| 2562 |
|
-<li><div class="src-line"><a name="a2546"></a><span class="src-doc"> * replaces the modifiers applied to a string or a variable</span></div></li> |
| 2563 |
|
-<li><div class="src-line"><a name="a2547"></a><span class="src-doc"> *</span></div></li> |
| 2564 |
|
-<li><div class="src-line"><a name="a2548"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$m </span><span class="src-doc">the regex matches that must be array(1=>"double or single quotes enclosing a string, when applicable", 2=>"the string or var", 3=>"the modifiers matched")</span></div></li> |
| 2565 |
|
-<li><div class="src-line"><a name="a2549"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
| 2566 |
|
-<li><div class="src-line"><a name="a2550"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the input enclosed with various function calls according to the modifiers found</span></div></li> |
| 2567 |
|
-<li><div class="src-line"><a name="a2551"></a><span class="src-doc"> */</span></div></li> |
| 2568 |
|
-<li><div class="src-line"><a name="a2552"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-var">$curBlock </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 2569 |
|
-<li><div class="src-line"><a name="a2553"></a> <span class="src-sym">{</span></div></li> |
| 2570 |
|
-<li><div class="src-line"><a name="a2554"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">debug</span><span class="src-sym">) </span>echo <span class="src-str">'PARSING MODIFIERS : '</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
| 2571 |
|
-<li><div class="src-line"><a name="a2555"></a> </div></li> |
| 2572 |
|
-<li><div class="src-line"><a name="a2556"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2573 |
|
-<li><div class="src-line"><a name="a2557"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2574 |
|
-<li><div class="src-line"><a name="a2558"></a> <span class="src-sym">}</span></div></li> |
| 2575 |
|
-<li><div class="src-line"><a name="a2559"></a> <span class="src-comm">// remove first pipe</span></div></li> |
| 2576 |
|
-<li><div class="src-line"><a name="a2560"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2577 |
|
-<li><div class="src-line"><a name="a2561"></a> <span class="src-comm">// remove last quote if present</span></div></li> |
| 2578 |
|
-<li><div class="src-line"><a name="a2562"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2579 |
|
-<li><div class="src-line"><a name="a2563"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2580 |
|
-<li><div class="src-line"><a name="a2564"></a> <span class="src-var">$add </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2581 |
|
-<li><div class="src-line"><a name="a2565"></a> <span class="src-sym">}</span></div></li> |
| 2582 |
|
-<li><div class="src-line"><a name="a2566"></a> </div></li> |
| 2583 |
|
-<li><div class="src-line"><a name="a2567"></a> <span class="src-var">$output </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2584 |
|
-<li><div class="src-line"><a name="a2568"></a> </div></li> |
| 2585 |
|
-<li><div class="src-line"><a name="a2569"></a> <span class="src-var">$continue </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 2586 |
|
-<li><div class="src-line"><a name="a2570"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">) </span>> <span class="src-num">0 </span>&& <span class="src-var">$continue</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2587 |
|
-<li><div class="src-line"><a name="a2571"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'|'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2588 |
|
-<li><div class="src-line"><a name="a2572"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2589 |
|
-<li><div class="src-line"><a name="a2573"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 2590 |
|
-<li><div class="src-line"><a name="a2574"></a> <span class="src-sym">}</span></div></li> |
| 2591 |
|
-<li><div class="src-line"><a name="a2575"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">' ' </span>|| <span class="src-var">$cmdstrsrc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">';' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2592 |
|
-<li><div class="src-line"><a name="a2576"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'MODIFIER PARSING ENDED, RIGHT DELIMITER or ";" FOUND<br/>'</span><span class="src-sym">;</span></div></li> |
| 2593 |
|
-<li><div class="src-line"><a name="a2577"></a> <span class="src-var">$continue </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 2594 |
|
-<li><div class="src-line"><a name="a2578"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2595 |
|
-<li><div class="src-line"><a name="a2579"></a> <span class="src-var">$pointer </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2596 |
|
-<li><div class="src-line"><a name="a2580"></a> <span class="src-sym">}</span></div></li> |
| 2597 |
|
-<li><div class="src-line"><a name="a2581"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2598 |
|
-<li><div class="src-line"><a name="a2582"></a> <span class="src-sym">}</span></div></li> |
| 2599 |
|
-<li><div class="src-line"><a name="a2583"></a> <span class="src-var">$cmdstr </span>= <span class="src-var">$cmdstrsrc</span><span class="src-sym">;</span></div></li> |
| 2600 |
|
-<li><div class="src-line"><a name="a2584"></a> <span class="src-var">$paramsep </span>= <span class="src-str">':'</span><span class="src-sym">;</span></div></li> |
| 2601 |
|
-<li><div class="src-line"><a name="a2585"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^(@{0,2}[a-z][a-z0-9_]*)(:)?/i'</span><span class="src-sym">, </span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2602 |
|
-<li><div class="src-line"><a name="a2586"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid modifier name, started with : '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">10</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 2603 |
|
-<li><div class="src-line"><a name="a2587"></a> <span class="src-sym">}</span></div></li> |
| 2604 |
|
-<li><div class="src-line"><a name="a2588"></a> <span class="src-var">$paramspos </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 2605 |
|
-<li><div class="src-line"><a name="a2589"></a> <span class="src-var">$func </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2606 |
|
-<li><div class="src-line"><a name="a2590"></a> </div></li> |
| 2607 |
|
-<li><div class="src-line"><a name="a2591"></a> <span class="src-var">$state </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2608 |
|
-<li><div class="src-line"><a name="a2592"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2609 |
|
-<li><div class="src-line"><a name="a2593"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 2610 |
|
-<li><div class="src-line"><a name="a2594"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2611 |
|
-<li><div class="src-line"><a name="a2595"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'MODIFIER ('</span>.<span class="src-var">$func</span>.<span class="src-str">') CALLED WITH NO PARAMS<br/>'</span><span class="src-sym">;</span></div></li> |
| 2612 |
|
-<li><div class="src-line"><a name="a2596"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2613 |
|
-<li><div class="src-line"><a name="a2597"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$paramspos</span>+<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2614 |
|
-<li><div class="src-line"><a name="a2598"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-var">$paramsep</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2615 |
|
-<li><div class="src-line"><a name="a2599"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2616 |
|
-<li><div class="src-line"><a name="a2600"></a> <span class="src-sym">}</span></div></li> |
| 2617 |
|
-<li><div class="src-line"><a name="a2601"></a> </div></li> |
| 2618 |
|
-<li><div class="src-line"><a name="a2602"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
| 2619 |
|
-<li><div class="src-line"><a name="a2603"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2620 |
|
-<li><div class="src-line"><a name="a2604"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2621 |
|
-<li><div class="src-line"><a name="a2605"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'MODIFIER ('</span>.<span class="src-var">$func</span>.<span class="src-str">') START PARAM PARSING WITH POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 2622 |
|
-<li><div class="src-line"><a name="a2606"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-var">$paramstr</span>.<span class="src-str">'--'</span>.<span class="src-var">$ptr</span>.<span class="src-str">'--'</span>.<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span>.<span class="src-str">'--modifier<br/>'</span><span class="src-sym">;</span></div></li> |
| 2623 |
|
-<li><div class="src-line"><a name="a2607"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'modifier'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2624 |
|
-<li><div class="src-line"><a name="a2608"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSED, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
2535 |
+<li><div class="src-line"><a name="a2519"></a> <span class="src-sym">}</span></div></li> |
|
2536 |
+<li><div class="src-line"><a name="a2520"></a> </div></li> |
|
2537 |
+<li><div class="src-line"><a name="a2521"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$end </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2538 |
+<li><div class="src-line"><a name="a2522"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$end</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2539 |
+<li><div class="src-line"><a name="a2523"></a> <span class="src-sym">}</span></div></li> |
|
2540 |
+<li><div class="src-line"><a name="a2524"></a> </div></li> |
|
2541 |
+<li><div class="src-line"><a name="a2525"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2542 |
+<li><div class="src-line"><a name="a2526"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2543 |
+<li><div class="src-line"><a name="a2527"></a> <span class="src-sym">}</span></div></li> |
|
2544 |
+<li><div class="src-line"><a name="a2528"></a> </div></li> |
|
2545 |
+<li><div class="src-line"><a name="a2529"></a> <span class="src-var">$src </span>= <span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
|
2546 |
+<li><div class="src-line"><a name="a2530"></a> <span class="src-var">$substr </span>= <a href="http://www.php.net/trim">trim</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2547 |
+<li><div class="src-line"><a name="a2531"></a> </div></li> |
|
2548 |
+<li><div class="src-line"><a name="a2532"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'false' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'no' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'off'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2549 |
+<li><div class="src-line"><a name="a2533"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BOOLEAN(FALSE) PARSED<br />'</span><span class="src-sym">;</span></div></li> |
|
2550 |
+<li><div class="src-line"><a name="a2534"></a> <span class="src-var">$substr </span>= <span class="src-str">'false'</span><span class="src-sym">;</span></div></li> |
|
2551 |
+<li><div class="src-line"><a name="a2535"></a> <span class="src-var">$type </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_BOOL</span><span class="src-sym">;</span></div></li> |
|
2552 |
+<li><div class="src-line"><a name="a2536"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'true' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'yes' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">) </span>=== <span class="src-str">'on'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2553 |
+<li><div class="src-line"><a name="a2537"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BOOLEAN(TRUE) PARSED<br />'</span><span class="src-sym">;</span></div></li> |
|
2554 |
+<li><div class="src-line"><a name="a2538"></a> <span class="src-var">$substr </span>= <span class="src-str">'true'</span><span class="src-sym">;</span></div></li> |
|
2555 |
+<li><div class="src-line"><a name="a2539"></a> <span class="src-var">$type </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_BOOL</span><span class="src-sym">;</span></div></li> |
|
2556 |
+<li><div class="src-line"><a name="a2540"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$substr </span>=== <span class="src-str">'null' </span>|| <span class="src-var">$substr </span>=== <span class="src-str">'NULL'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2557 |
+<li><div class="src-line"><a name="a2541"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'NULL PARSED<br />'</span><span class="src-sym">;</span></div></li> |
|
2558 |
+<li><div class="src-line"><a name="a2542"></a> <span class="src-var">$substr </span>= <span class="src-str">'null'</span><span class="src-sym">;</span></div></li> |
|
2559 |
+<li><div class="src-line"><a name="a2543"></a> <span class="src-var">$type </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_NULL</span><span class="src-sym">;</span></div></li> |
|
2560 |
+<li><div class="src-line"><a name="a2544"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_numeric">is_numeric</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2561 |
+<li><div class="src-line"><a name="a2545"></a> <span class="src-var">$substr </span>= (float) <span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
|
2562 |
+<li><div class="src-line"><a name="a2546"></a> <span class="src-key">if </span><span class="src-sym">(</span>(int) <span class="src-var">$substr </span>== <span class="src-var">$substr</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2563 |
+<li><div class="src-line"><a name="a2547"></a> <span class="src-var">$substr </span>= (int) <span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
|
2564 |
+<li><div class="src-line"><a name="a2548"></a> <span class="src-sym">}</span></div></li> |
|
2565 |
+<li><div class="src-line"><a name="a2549"></a> <span class="src-var">$type </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_NUMERIC</span><span class="src-sym">;</span></div></li> |
|
2566 |
+<li><div class="src-line"><a name="a2550"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'NUMBER ('</span>.<span class="src-var">$substr</span>.<span class="src-str">') PARSED<br />'</span><span class="src-sym">;</span></div></li> |
|
2567 |
+<li><div class="src-line"><a name="a2551"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'{^-?(\d+|\d*(\.\d+))\s*([/*%+-]\s*-?(\d+|\d*(\.\d+)))+$}'</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2568 |
+<li><div class="src-line"><a name="a2552"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'SIMPLE MATH PARSED<br />'</span><span class="src-sym">;</span></div></li> |
|
2569 |
+<li><div class="src-line"><a name="a2553"></a> <span class="src-var">$type </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_MATH</span><span class="src-sym">;</span></div></li> |
|
2570 |
+<li><div class="src-line"><a name="a2554"></a> <span class="src-var">$substr </span>= <span class="src-str">'('</span>.<span class="src-var">$substr</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2571 |
+<li><div class="src-line"><a name="a2555"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'condition' </span>&& <a href="http://www.php.net/array_search">array_search</a><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$breakChars</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2572 |
+<li><div class="src-line"><a name="a2556"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BREAKCHAR ('</span>.<span class="src-var">$substr</span>.<span class="src-str">') PARSED<br />'</span><span class="src-sym">;</span></div></li> |
|
2573 |
+<li><div class="src-line"><a name="a2557"></a> <span class="src-var">$type </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_BREAKCHAR</span><span class="src-sym">;</span></div></li> |
|
2574 |
+<li><div class="src-line"><a name="a2558"></a> <span class="src-comm">//$substr = '"'.$substr.'"';</span></div></li> |
|
2575 |
+<li><div class="src-line"><a name="a2559"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2576 |
+<li><div class="src-line"><a name="a2560"></a> <span class="src-var">$substr </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceStringVars">replaceStringVars</a><span class="src-sym">(</span><span class="src-str">'\''</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\''</span><span class="src-sym">, </span><span class="src-str">'\\\''</span><span class="src-sym">, </span><span class="src-var">$substr</span><span class="src-sym">)</span>.<span class="src-str">'\''</span><span class="src-sym">, </span><span class="src-str">'\''</span><span class="src-sym">, </span><span class="src-var">$curBlock</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2577 |
+<li><div class="src-line"><a name="a2561"></a> <span class="src-var">$type </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_UNQUOTED_STRING</span><span class="src-sym">;</span></div></li> |
|
2578 |
+<li><div class="src-line"><a name="a2562"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'BLABBER ('</span>.<span class="src-var">$substr</span>.<span class="src-str">') CASTED AS STRING<br />'</span><span class="src-sym">;</span></div></li> |
|
2579 |
+<li><div class="src-line"><a name="a2563"></a> <span class="src-sym">}</span></div></li> |
|
2580 |
+<li><div class="src-line"><a name="a2564"></a> </div></li> |
|
2581 |
+<li><div class="src-line"><a name="a2565"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$parsingParams</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2582 |
+<li><div class="src-line"><a name="a2566"></a> <span class="src-var">$parsingParams</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2583 |
+<li><div class="src-line"><a name="a2567"></a> <span class="src-key">return </span><span class="src-var">$parsingParams</span><span class="src-sym">;</span></div></li> |
|
2584 |
+<li><div class="src-line"><a name="a2568"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'namedparam'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2585 |
+<li><div class="src-line"><a name="a2569"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$substr</span><span class="src-sym">, </span><span class="src-var">$src</span><span class="src-sym">, </span><span class="src-var">$type</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2586 |
+<li><div class="src-line"><a name="a2570"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'expression'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2587 |
+<li><div class="src-line"><a name="a2571"></a> <span class="src-key">return </span><span class="src-var">$substr</span><span class="src-sym">;</span></div></li> |
|
2588 |
+<li><div class="src-line"><a name="a2572"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2589 |
+<li><div class="src-line"><a name="a2573"></a> throw <span class="src-key">new </span><span class="src-id">Exception</span><span class="src-sym">(</span><span class="src-str">'Something went wrong'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2590 |
+<li><div class="src-line"><a name="a2574"></a> <span class="src-sym">}</span></div></li> |
|
2591 |
+<li><div class="src-line"><a name="a2575"></a> <span class="src-sym">}</span></div></li> |
|
2592 |
+<li><div class="src-line"><a name="a2576"></a> </div></li> |
|
2593 |
+<li><div class="src-line"><a name="a2577"></a> <span class="src-doc">/**</span></div></li> |
|
2594 |
+<li><div class="src-line"><a name="a2578"></a><span class="src-doc"> * replaces variables within a parsed string</span></div></li> |
|
2595 |
+<li><div class="src-line"><a name="a2579"></a><span class="src-doc"> *</span></div></li> |
|
2596 |
+<li><div class="src-line"><a name="a2580"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$string </span><span class="src-doc">the parsed string</span></div></li> |
|
2597 |
+<li><div class="src-line"><a name="a2581"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$first </span><span class="src-doc">the first character parsed in the string, which is the string delimiter (' or ")</span></div></li> |
|
2598 |
+<li><div class="src-line"><a name="a2582"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
2599 |
+<li><div class="src-line"><a name="a2583"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the original string with variables replaced</span></div></li> |
|
2600 |
+<li><div class="src-line"><a name="a2584"></a><span class="src-doc"> */</span></div></li> |
|
2601 |
+<li><div class="src-line"><a name="a2585"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceStringVars">replaceStringVars</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$curBlock</span>=<span class="src-str">''</span><span class="src-sym">)</span></div></li> |
|
2602 |
+<li><div class="src-line"><a name="a2586"></a> <span class="src-sym">{</span></div></li> |
|
2603 |
+<li><div class="src-line"><a name="a2587"></a> <span class="src-var">$pos </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2604 |
+<li><div class="src-line"><a name="a2588"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING VAR REPLACEMENT : '</span>.<span class="src-var">$string</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
|
2605 |
+<li><div class="src-line"><a name="a2589"></a> <span class="src-comm">// replace vars</span></div></li> |
|
2606 |
+<li><div class="src-line"><a name="a2590"></a> <span class="src-key">while </span><span class="src-sym">((</span><span class="src-var">$pos </span>= <a href="http://www.php.net/strpos">strpos</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2607 |
+<li><div class="src-line"><a name="a2591"></a> <span class="src-var">$prev </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2608 |
+<li><div class="src-line"><a name="a2592"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'\\'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2609 |
+<li><div class="src-line"><a name="a2593"></a> <span class="src-var">$pos</span>++<span class="src-sym">;</span></div></li> |
|
2610 |
+<li><div class="src-line"><a name="a2594"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
2611 |
+<li><div class="src-line"><a name="a2595"></a> <span class="src-sym">}</span></div></li> |
|
2612 |
+<li><div class="src-line"><a name="a2596"></a> </div></li> |
|
2613 |
+<li><div class="src-line"><a name="a2597"></a> <span class="src-var">$var </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'modifier' </span>? <span class="src-str">'modifier' </span>: <span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'`' </span>? <span class="src-str">'delimited_string'</span>:<span class="src-str">'string'</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
2614 |
+<li><div class="src-line"><a name="a2598"></a> <span class="src-var">$len </span>= <span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2615 |
+<li><div class="src-line"><a name="a2599"></a> <span class="src-var">$var </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\\'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$string</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'modifier' </span>? <span class="src-str">'modifier' </span>: <span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'`' </span>? <span class="src-str">'delimited_string'</span>:<span class="src-str">'string'</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
2616 |
+<li><div class="src-line"><a name="a2600"></a> </div></li> |
|
2617 |
+<li><div class="src-line"><a name="a2601"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$prev </span>=== <span class="src-str">'`' </span>&& <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$pos</span>+<span class="src-var">$len</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'`'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2618 |
+<li><div class="src-line"><a name="a2602"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/substr_replace">substr_replace</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$first</span>.<span class="src-str">'.'</span>.<span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'.'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$pos</span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-var">$len</span>+<span class="src-num">2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2619 |
+<li><div class="src-line"><a name="a2603"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2620 |
+<li><div class="src-line"><a name="a2604"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/substr_replace">substr_replace</a><span class="src-sym">(</span><span class="src-var">$string</span><span class="src-sym">, </span><span class="src-var">$first</span>.<span class="src-str">'.'</span>.<span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'.'</span>.<span class="src-var">$first</span><span class="src-sym">, </span><span class="src-var">$pos</span><span class="src-sym">, </span><span class="src-var">$len</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2621 |
+<li><div class="src-line"><a name="a2605"></a> <span class="src-sym">}</span></div></li> |
|
2622 |
+<li><div class="src-line"><a name="a2606"></a> <span class="src-var">$pos </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$var</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>+ <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
2623 |
+<li><div class="src-line"><a name="a2607"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'STRING VAR REPLACEMENT DONE : '</span>.<span class="src-var">$string</span>.<span class="src-str">'<br>'</span><span class="src-sym">;</span></div></li> |
|
2624 |
+<li><div class="src-line"><a name="a2608"></a> <span class="src-sym">}</span></div></li> |
| 2625 |
2625 |
<li><div class="src-line"><a name="a2609"></a> </div></li> |
| 2626 |
|
-<li><div class="src-line"><a name="a2610"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2627 |
|
-<li><div class="src-line"><a name="a2611"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, PARAM STRING CONSUMED<br/>'</span><span class="src-sym">;</span></div></li> |
| 2628 |
|
-<li><div class="src-line"><a name="a2612"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2629 |
|
-<li><div class="src-line"><a name="a2613"></a> <span class="src-sym">}</span></div></li> |
| 2630 |
|
-<li><div class="src-line"><a name="a2614"></a> </div></li> |
| 2631 |
|
-<li><div class="src-line"><a name="a2615"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">' ' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">'|' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">';' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2632 |
|
-<li><div class="src-line"><a name="a2616"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, " ", "|", RIGHT DELIMITER or ";" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
| 2633 |
|
-<li><div class="src-line"><a name="a2617"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>!== <span class="src-str">'|'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2634 |
|
-<li><div class="src-line"><a name="a2618"></a> <span class="src-var">$continue </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 2635 |
|
-<li><div class="src-line"><a name="a2619"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2636 |
|
-<li><div class="src-line"><a name="a2620"></a> <span class="src-var">$pointer </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>- <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
| 2637 |
|
-<li><div class="src-line"><a name="a2621"></a> <span class="src-sym">}</span></div></li> |
| 2638 |
|
-<li><div class="src-line"><a name="a2622"></a> <span class="src-sym">}</span></div></li> |
| 2639 |
|
-<li><div class="src-line"><a name="a2623"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
| 2640 |
|
-<li><div class="src-line"><a name="a2624"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2641 |
|
-<li><div class="src-line"><a name="a2625"></a> <span class="src-sym">}</span></div></li> |
| 2642 |
|
-<li><div class="src-line"><a name="a2626"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>&& <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">':'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2643 |
|
-<li><div class="src-line"><a name="a2627"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
| 2644 |
|
-<li><div class="src-line"><a name="a2628"></a> <span class="src-sym">}</span></div></li> |
| 2645 |
|
-<li><div class="src-line"><a name="a2629"></a> <span class="src-sym">}</span></div></li> |
| 2646 |
|
-<li><div class="src-line"><a name="a2630"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span>+<span class="src-num">1</span>+<span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2647 |
|
-<li><div class="src-line"><a name="a2631"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2648 |
|
-<li><div class="src-line"><a name="a2632"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2649 |
|
-<li><div class="src-line"><a name="a2633"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2650 |
|
-<li><div class="src-line"><a name="a2634"></a> <span class="src-var">$state </span>|= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
| 2651 |
|
-<li><div class="src-line"><a name="a2635"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2652 |
|
-<li><div class="src-line"><a name="a2636"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^(["\'])(.+?)\1$#'</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2653 |
|
-<li><div class="src-line"><a name="a2637"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'true'</span><span class="src-sym">, </span><span class="src-str">'true'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 2654 |
|
-<li><div class="src-line"><a name="a2638"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2655 |
|
-<li><div class="src-line"><a name="a2639"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2656 |
|
-<li><div class="src-line"><a name="a2640"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'You can not use an unnamed parameter after a named one'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2657 |
|
-<li><div class="src-line"><a name="a2641"></a> <span class="src-sym">}</span></div></li> |
| 2658 |
|
-<li><div class="src-line"><a name="a2642"></a> <span class="src-var">$state </span>|= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 2659 |
|
-<li><div class="src-line"><a name="a2643"></a> <span class="src-sym">}</span></div></li> |
| 2660 |
|
-<li><div class="src-line"><a name="a2644"></a> <span class="src-sym">}</span></div></li> |
| 2661 |
|
-<li><div class="src-line"><a name="a2645"></a> <span class="src-sym">}</span></div></li> |
| 2662 |
|
-<li><div class="src-line"><a name="a2646"></a> <span class="src-sym">}</span></div></li> |
| 2663 |
|
-<li><div class="src-line"><a name="a2647"></a> </div></li> |
| 2664 |
|
-<li><div class="src-line"><a name="a2648"></a> <span class="src-comm">// check if we must use array_map with this plugin or not</span></div></li> |
| 2665 |
|
-<li><div class="src-line"><a name="a2649"></a> <span class="src-var">$mapped </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
| 2666 |
|
-<li><div class="src-line"><a name="a2650"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'@'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2667 |
|
-<li><div class="src-line"><a name="a2651"></a> <span class="src-var">$func </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2668 |
|
-<li><div class="src-line"><a name="a2652"></a> <span class="src-var">$mapped </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 2669 |
|
-<li><div class="src-line"><a name="a2653"></a> <span class="src-sym">}</span></div></li> |
| 2670 |
|
-<li><div class="src-line"><a name="a2654"></a> </div></li> |
| 2671 |
|
-<li><div class="src-line"><a name="a2655"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2672 |
|
-<li><div class="src-line"><a name="a2656"></a> </div></li> |
| 2673 |
|
-<li><div class="src-line"><a name="a2657"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2674 |
|
-<li><div class="src-line"><a name="a2658"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'value'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 2675 |
|
-<li><div class="src-line"><a name="a2659"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2676 |
|
-<li><div class="src-line"><a name="a2660"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 2677 |
|
-<li><div class="src-line"><a name="a2661"></a> <span class="src-sym">}</span></div></li> |
| 2678 |
|
-<li><div class="src-line"><a name="a2662"></a> </div></li> |
| 2679 |
|
-<li><div class="src-line"><a name="a2663"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2680 |
|
-<li><div class="src-line"><a name="a2664"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2681 |
|
-<li><div class="src-line"><a name="a2665"></a> </div></li> |
| 2682 |
|
-<li><div class="src-line"><a name="a2666"></a> <span class="src-var">$params </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2626 |
+<li><div class="src-line"><a name="a2610"></a> <span class="src-comm">// handle modifiers</span></div></li> |
|
2627 |
+<li><div class="src-line"><a name="a2611"></a> <span class="src-comm">// TODO Obsolete?</span></div></li> |
|
2628 |
+<li><div class="src-line"><a name="a2612"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/preg_replace_callback">preg_replace_callback</a><span class="src-sym">(</span><span class="src-str">'#("|\')\.(.+?)\.\1((?:\|(?:@?[a-z0-9_]+(?:(?::("|\').+?\4|:[^`]*))*))+)#i'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'replaceModifiers'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$string</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2629 |
+<li><div class="src-line"><a name="a2613"></a> </div></li> |
|
2630 |
+<li><div class="src-line"><a name="a2614"></a> <span class="src-comm">// replace escaped dollar operators by unescaped ones if required</span></div></li> |
|
2631 |
+<li><div class="src-line"><a name="a2615"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$first</span>===<span class="src-str">"'"</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2632 |
+<li><div class="src-line"><a name="a2616"></a> <span class="src-var">$string </span>= <a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-str">'\\$'</span><span class="src-sym">, </span><span class="src-str">'$'</span><span class="src-sym">, </span><span class="src-var">$string</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2633 |
+<li><div class="src-line"><a name="a2617"></a> <span class="src-sym">}</span></div></li> |
|
2634 |
+<li><div class="src-line"><a name="a2618"></a> </div></li> |
|
2635 |
+<li><div class="src-line"><a name="a2619"></a> <span class="src-key">return </span><span class="src-var">$string</span><span class="src-sym">;</span></div></li> |
|
2636 |
+<li><div class="src-line"><a name="a2620"></a> <span class="src-sym">}</span></div></li> |
|
2637 |
+<li><div class="src-line"><a name="a2621"></a> </div></li> |
|
2638 |
+<li><div class="src-line"><a name="a2622"></a> <span class="src-doc">/**</span></div></li> |
|
2639 |
+<li><div class="src-line"><a name="a2623"></a><span class="src-doc"> * replaces the modifiers applied to a string or a variable</span></div></li> |
|
2640 |
+<li><div class="src-line"><a name="a2624"></a><span class="src-doc"> *</span></div></li> |
|
2641 |
+<li><div class="src-line"><a name="a2625"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$m </span><span class="src-doc">the regex matches that must be array(1=>"double or single quotes enclosing a string, when applicable", 2=>"the string or var", 3=>"the modifiers matched")</span></div></li> |
|
2642 |
+<li><div class="src-line"><a name="a2626"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$curBlock </span><span class="src-doc">the current parser-block being processed</span></div></li> |
|
2643 |
+<li><div class="src-line"><a name="a2627"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the input enclosed with various function calls according to the modifiers found</span></div></li> |
|
2644 |
+<li><div class="src-line"><a name="a2628"></a><span class="src-doc"> */</span></div></li> |
|
2645 |
+<li><div class="src-line"><a name="a2629"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodreplaceModifiers">replaceModifiers</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$m</span><span class="src-sym">, </span><span class="src-var">$curBlock </span>= <span class="src-id">null</span><span class="src-sym">, </span><span class="src-sym">&</span><span class="src-var">$pointer </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
2646 |
+<li><div class="src-line"><a name="a2630"></a> <span class="src-sym">{</span></div></li> |
|
2647 |
+<li><div class="src-line"><a name="a2631"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id">debug</span><span class="src-sym">) </span>echo <span class="src-str">'PARSING MODIFIERS : '</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span>.<span class="src-str">'<br />'</span><span class="src-sym">;</span></div></li> |
|
2648 |
+<li><div class="src-line"><a name="a2632"></a> </div></li> |
|
2649 |
+<li><div class="src-line"><a name="a2633"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2650 |
+<li><div class="src-line"><a name="a2634"></a> <span class="src-var">$pointer </span>+= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2651 |
+<li><div class="src-line"><a name="a2635"></a> <span class="src-sym">}</span></div></li> |
|
2652 |
+<li><div class="src-line"><a name="a2636"></a> <span class="src-comm">// remove first pipe</span></div></li> |
|
2653 |
+<li><div class="src-line"><a name="a2637"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">3</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2654 |
+<li><div class="src-line"><a name="a2638"></a> <span class="src-comm">// remove last quote if present</span></div></li> |
|
2655 |
+<li><div class="src-line"><a name="a2639"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2656 |
+<li><div class="src-line"><a name="a2640"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2657 |
+<li><div class="src-line"><a name="a2641"></a> <span class="src-var">$add </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2658 |
+<li><div class="src-line"><a name="a2642"></a> <span class="src-sym">}</span></div></li> |
|
2659 |
+<li><div class="src-line"><a name="a2643"></a> </div></li> |
|
2660 |
+<li><div class="src-line"><a name="a2644"></a> <span class="src-var">$output </span>= <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2661 |
+<li><div class="src-line"><a name="a2645"></a> </div></li> |
|
2662 |
+<li><div class="src-line"><a name="a2646"></a> <span class="src-var">$continue </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
2663 |
+<li><div class="src-line"><a name="a2647"></a> <span class="src-key">while </span><span class="src-sym">(</span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">) </span>> <span class="src-num">0 </span>&& <span class="src-var">$continue</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2664 |
+<li><div class="src-line"><a name="a2648"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'|'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2665 |
+<li><div class="src-line"><a name="a2649"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2666 |
+<li><div class="src-line"><a name="a2650"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
2667 |
+<li><div class="src-line"><a name="a2651"></a> <span class="src-sym">}</span></div></li> |
|
2668 |
+<li><div class="src-line"><a name="a2652"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">' ' </span>|| <span class="src-var">$cmdstrsrc</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">';' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2669 |
+<li><div class="src-line"><a name="a2653"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'MODIFIER PARSING ENDED, RIGHT DELIMITER or ";" FOUND<br/>'</span><span class="src-sym">;</span></div></li> |
|
2670 |
+<li><div class="src-line"><a name="a2654"></a> <span class="src-var">$continue </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
2671 |
+<li><div class="src-line"><a name="a2655"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2672 |
+<li><div class="src-line"><a name="a2656"></a> <span class="src-var">$pointer </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2673 |
+<li><div class="src-line"><a name="a2657"></a> <span class="src-sym">}</span></div></li> |
|
2674 |
+<li><div class="src-line"><a name="a2658"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
2675 |
+<li><div class="src-line"><a name="a2659"></a> <span class="src-sym">}</span></div></li> |
|
2676 |
+<li><div class="src-line"><a name="a2660"></a> <span class="src-var">$cmdstr </span>= <span class="src-var">$cmdstrsrc</span><span class="src-sym">;</span></div></li> |
|
2677 |
+<li><div class="src-line"><a name="a2661"></a> <span class="src-var">$paramsep </span>= <span class="src-str">':'</span><span class="src-sym">;</span></div></li> |
|
2678 |
+<li><div class="src-line"><a name="a2662"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'/^(@{0,2}[a-z][a-z0-9_]*)(:)?/i'</span><span class="src-sym">, </span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$match</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2679 |
+<li><div class="src-line"><a name="a2663"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Invalid modifier name, started with : '</span>.<a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">10</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
2680 |
+<li><div class="src-line"><a name="a2664"></a> <span class="src-sym">}</span></div></li> |
|
2681 |
+<li><div class="src-line"><a name="a2665"></a> <span class="src-var">$paramspos </span>= <span class="src-sym">!</span><span class="src-key">empty</span><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>? <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">) </span>: <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
2682 |
+<li><div class="src-line"><a name="a2666"></a> <span class="src-var">$func </span>= <span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2683 |
2683 |
<li><div class="src-line"><a name="a2667"></a> </div></li> |
| 2684 |
|
-<li><div class="src-line"><a name="a2668"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2685 |
|
-<li><div class="src-line"><a name="a2669"></a> </div></li> |
| 2686 |
|
-<li><div class="src-line"><a name="a2670"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2687 |
|
-<li><div class="src-line"><a name="a2671"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2688 |
|
-<li><div class="src-line"><a name="a2672"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2689 |
|
-<li><div class="src-line"><a name="a2673"></a> <span class="src-var">$output </span>= <span class="src-var">$func</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2690 |
|
-<li><div class="src-line"><a name="a2674"></a> <span class="src-sym">}</span></div></li> |
| 2691 |
|
-<li><div class="src-line"><a name="a2675"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2692 |
|
-<li><div class="src-line"><a name="a2676"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getCallback</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2693 |
|
-<li><div class="src-line"><a name="a2677"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-sym">&</span><span class="src-var">$p</span><span class="src-sym">)</span></div></li> |
| 2694 |
|
-<li><div class="src-line"><a name="a2678"></a> <span class="src-var">$p </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2695 |
|
-<li><div class="src-line"><a name="a2679"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'getCode'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2696 |
|
-<li><div class="src-line"><a name="a2680"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2697 |
|
-<li><div class="src-line"><a name="a2681"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2698 |
|
-<li><div class="src-line"><a name="a2682"></a> <span class="src-var">$params </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2699 |
|
-<li><div class="src-line"><a name="a2683"></a> </div></li> |
| 2700 |
|
-<li><div class="src-line"><a name="a2684"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2701 |
|
-<li><div class="src-line"><a name="a2685"></a> </div></li> |
| 2702 |
|
-<li><div class="src-line"><a name="a2686"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2703 |
|
-<li><div class="src-line"><a name="a2687"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2704 |
|
-<li><div class="src-line"><a name="a2688"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2705 |
|
-<li><div class="src-line"><a name="a2689"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2706 |
|
-<li><div class="src-line"><a name="a2690"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2707 |
|
-<li><div class="src-line"><a name="a2691"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2708 |
|
-<li><div class="src-line"><a name="a2692"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2709 |
|
-<li><div class="src-line"><a name="a2693"></a> <span class="src-sym">}</span></div></li> |
| 2710 |
|
-<li><div class="src-line"><a name="a2694"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2711 |
|
-<li><div class="src-line"><a name="a2695"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2712 |
|
-<li><div class="src-line"><a name="a2696"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2713 |
|
-<li><div class="src-line"><a name="a2697"></a> <span class="src-var">$output </span>= <span class="src-var">$callback</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2714 |
|
-<li><div class="src-line"><a name="a2698"></a> <span class="src-sym">}</span></div></li> |
| 2715 |
|
-<li><div class="src-line"><a name="a2699"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2716 |
|
-<li><div class="src-line"><a name="a2700"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\'smarty_modifier_'</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2717 |
|
-<li><div class="src-line"><a name="a2701"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2718 |
|
-<li><div class="src-line"><a name="a2702"></a> <span class="src-var">$output </span>= <span class="src-str">'smarty_modifier_'</span>.<span class="src-var">$func</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2719 |
|
-<li><div class="src-line"><a name="a2703"></a> <span class="src-sym">}</span></div></li> |
| 2720 |
|
-<li><div class="src-line"><a name="a2704"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2721 |
|
-<li><div class="src-line"><a name="a2705"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2722 |
|
-<li><div class="src-line"><a name="a2706"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2723 |
|
-<li><div class="src-line"><a name="a2707"></a> <span class="src-var">$pluginName </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 2724 |
|
-<li><div class="src-line"><a name="a2708"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2725 |
|
-<li><div class="src-line"><a name="a2709"></a> <span class="src-var">$pluginName </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">;</span></div></li> |
| 2726 |
|
-<li><div class="src-line"><a name="a2710"></a> </div></li> |
| 2727 |
|
-<li><div class="src-line"><a name="a2711"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2728 |
|
-<li><div class="src-line"><a name="a2712"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$pluginName</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'compile' </span>: <span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2729 |
|
-<li><div class="src-line"><a name="a2713"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2730 |
|
-<li><div class="src-line"><a name="a2714"></a> <span class="src-var">$callback </span>= <span class="src-var">$pluginName </span>. <span class="src-sym">((</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'_compile' </span>: <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2731 |
|
-<li><div class="src-line"><a name="a2715"></a> <span class="src-sym">}</span></div></li> |
| 2732 |
|
-<li><div class="src-line"><a name="a2716"></a> <span class="src-sym">}</span></div></li> |
| 2733 |
|
-<li><div class="src-line"><a name="a2717"></a> </div></li> |
| 2734 |
|
-<li><div class="src-line"><a name="a2718"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2735 |
|
-<li><div class="src-line"><a name="a2719"></a> </div></li> |
| 2736 |
|
-<li><div class="src-line"><a name="a2720"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-sym">&</span><span class="src-var">$p</span><span class="src-sym">)</span></div></li> |
| 2737 |
|
-<li><div class="src-line"><a name="a2721"></a> <span class="src-var">$p </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2738 |
|
-<li><div class="src-line"><a name="a2722"></a> </div></li> |
| 2739 |
|
-<li><div class="src-line"><a name="a2723"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2740 |
|
-<li><div class="src-line"><a name="a2724"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2741 |
|
-<li><div class="src-line"><a name="a2725"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2742 |
|
-<li><div class="src-line"><a name="a2726"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The @ operator can not be used on compiled plugins.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2743 |
|
-<li><div class="src-line"><a name="a2727"></a> <span class="src-sym">}</span></div></li> |
| 2744 |
|
-<li><div class="src-line"><a name="a2728"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2745 |
|
-<li><div class="src-line"><a name="a2729"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2746 |
|
-<li><div class="src-line"><a name="a2730"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2747 |
|
-<li><div class="src-line"><a name="a2731"></a> <span class="src-var">$funcCompiler </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'_compile'</span><span class="src-sym">;</span></div></li> |
| 2748 |
|
-<li><div class="src-line"><a name="a2732"></a> <span class="src-sym">}</span></div></li> |
| 2749 |
|
-<li><div class="src-line"><a name="a2733"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2750 |
|
-<li><div class="src-line"><a name="a2734"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2751 |
|
-<li><div class="src-line"><a name="a2735"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2752 |
|
-<li><div class="src-line"><a name="a2736"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'$this'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2753 |
|
-<li><div class="src-line"><a name="a2737"></a> </div></li> |
| 2754 |
|
-<li><div class="src-line"><a name="a2738"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2755 |
|
-<li><div class="src-line"><a name="a2739"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2756 |
|
-<li><div class="src-line"><a name="a2740"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\''</span>.<span class="src-var">$pluginName</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2757 |
|
-<li><div class="src-line"><a name="a2741"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2758 |
|
-<li><div class="src-line"><a name="a2742"></a> <span class="src-var">$output </span>= <span class="src-var">$pluginName</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2759 |
|
-<li><div class="src-line"><a name="a2743"></a> <span class="src-sym">}</span></div></li> |
| 2760 |
|
-<li><div class="src-line"><a name="a2744"></a> <span class="src-sym">}</span></div></li> |
| 2761 |
|
-<li><div class="src-line"><a name="a2745"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2762 |
|
-<li><div class="src-line"><a name="a2746"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2763 |
|
-<li><div class="src-line"><a name="a2747"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2764 |
|
-<li><div class="src-line"><a name="a2748"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The @ operator can not be used on compiled plugins.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2765 |
|
-<li><div class="src-line"><a name="a2749"></a> <span class="src-sym">}</span></div></li> |
| 2766 |
|
-<li><div class="src-line"><a name="a2750"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2767 |
|
-<li><div class="src-line"><a name="a2751"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2768 |
|
-<li><div class="src-line"><a name="a2752"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2769 |
|
-<li><div class="src-line"><a name="a2753"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/method_exists">method_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2770 |
|
-<li><div class="src-line"><a name="a2754"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Custom plugin '</span>.<span class="src-var">$func</span>.<span class="src-str">' must implement the "compile" method to be compilable, or you should provide a full callback to the method to use'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2771 |
|
-<li><div class="src-line"><a name="a2755"></a> <span class="src-sym">}</span></div></li> |
| 2772 |
|
-<li><div class="src-line"><a name="a2756"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2773 |
|
-<li><div class="src-line"><a name="a2757"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2774 |
|
-<li><div class="src-line"><a name="a2758"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2775 |
|
-<li><div class="src-line"><a name="a2759"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2776 |
|
-<li><div class="src-line"><a name="a2760"></a> <span class="src-sym">}</span></div></li> |
| 2777 |
|
-<li><div class="src-line"><a name="a2761"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2778 |
|
-<li><div class="src-line"><a name="a2762"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
| 2779 |
|
-<li><div class="src-line"><a name="a2763"></a> <span class="src-sym">}</span></div></li> |
| 2780 |
|
-<li><div class="src-line"><a name="a2764"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2781 |
|
-<li><div class="src-line"><a name="a2765"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2782 |
|
-<li><div class="src-line"><a name="a2766"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2783 |
|
-<li><div class="src-line"><a name="a2767"></a> <span class="src-sym">}</span></div></li> |
| 2784 |
|
-<li><div class="src-line"><a name="a2768"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2785 |
|
-<li><div class="src-line"><a name="a2769"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2786 |
|
-<li><div class="src-line"><a name="a2770"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2787 |
|
-<li><div class="src-line"><a name="a2771"></a> </div></li> |
| 2788 |
|
-<li><div class="src-line"><a name="a2772"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2789 |
|
-<li><div class="src-line"><a name="a2773"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2790 |
|
-<li><div class="src-line"><a name="a2774"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2791 |
|
-<li><div class="src-line"><a name="a2775"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2792 |
|
-<li><div class="src-line"><a name="a2776"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2793 |
|
-<li><div class="src-line"><a name="a2777"></a> <span class="src-sym">}</span></div></li> |
| 2794 |
|
-<li><div class="src-line"><a name="a2778"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2795 |
|
-<li><div class="src-line"><a name="a2779"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(array($this->getObjectPlugin(\'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'\'), \'process\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2796 |
|
-<li><div class="src-line"><a name="a2780"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2797 |
|
-<li><div class="src-line"><a name="a2781"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->classCall(\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
| 2798 |
|
-<li><div class="src-line"><a name="a2782"></a> <span class="src-sym">}</span></div></li> |
| 2799 |
|
-<li><div class="src-line"><a name="a2783"></a> <span class="src-sym">}</span></div></li> |
| 2800 |
|
-<li><div class="src-line"><a name="a2784"></a> <span class="src-sym">}</span></div></li> |
| 2801 |
|
-<li><div class="src-line"><a name="a2785"></a> <span class="src-sym">}</span></div></li> |
| 2802 |
|
-<li><div class="src-line"><a name="a2786"></a> <span class="src-sym">}</span></div></li> |
|
2684 |
+<li><div class="src-line"><a name="a2668"></a> <span class="src-var">$state </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2685 |
+<li><div class="src-line"><a name="a2669"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramspos </span>=== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2686 |
+<li><div class="src-line"><a name="a2670"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
2687 |
+<li><div class="src-line"><a name="a2671"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2688 |
+<li><div class="src-line"><a name="a2672"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'MODIFIER ('</span>.<span class="src-var">$func</span>.<span class="src-str">') CALLED WITH NO PARAMS<br/>'</span><span class="src-sym">;</span></div></li> |
|
2689 |
+<li><div class="src-line"><a name="a2673"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2690 |
+<li><div class="src-line"><a name="a2674"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstr</span><span class="src-sym">, </span><span class="src-var">$paramspos</span>+<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2691 |
+<li><div class="src-line"><a name="a2675"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-var">$paramsep</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2692 |
+<li><div class="src-line"><a name="a2676"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span>-<span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2693 |
+<li><div class="src-line"><a name="a2677"></a> <span class="src-sym">}</span></div></li> |
|
2694 |
+<li><div class="src-line"><a name="a2678"></a> </div></li> |
|
2695 |
+<li><div class="src-line"><a name="a2679"></a> <span class="src-var">$ptr </span>= <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
2696 |
+<li><div class="src-line"><a name="a2680"></a> <span class="src-var">$params </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2697 |
+<li><div class="src-line"><a name="a2681"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2698 |
+<li><div class="src-line"><a name="a2682"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'MODIFIER ('</span>.<span class="src-var">$func</span>.<span class="src-str">') START PARAM PARSING WITH POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
2699 |
+<li><div class="src-line"><a name="a2683"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-var">$paramstr</span>.<span class="src-str">'--'</span>.<span class="src-var">$ptr</span>.<span class="src-str">'--'</span>.<a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span>.<span class="src-str">'--modifier<br/>'</span><span class="src-sym">;</span></div></li> |
|
2700 |
+<li><div class="src-line"><a name="a2684"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodparse">parse</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'modifier'</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2701 |
+<li><div class="src-line"><a name="a2685"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSED, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
2702 |
+<li><div class="src-line"><a name="a2686"></a> </div></li> |
|
2703 |
+<li><div class="src-line"><a name="a2687"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>>= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2704 |
+<li><div class="src-line"><a name="a2688"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, PARAM STRING CONSUMED<br/>'</span><span class="src-sym">;</span></div></li> |
|
2705 |
+<li><div class="src-line"><a name="a2689"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
2706 |
+<li><div class="src-line"><a name="a2690"></a> <span class="src-sym">}</span></div></li> |
|
2707 |
+<li><div class="src-line"><a name="a2691"></a> </div></li> |
|
2708 |
+<li><div class="src-line"><a name="a2692"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">' ' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">'|' </span>|| <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">';' </span>|| <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">)) </span>=== <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$rd">rd</a></span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2709 |
+<li><div class="src-line"><a name="a2693"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$debug">debug</a></span><span class="src-sym">) </span>echo <span class="src-str">'PARAM PARSING ENDED, " ", "|", RIGHT DELIMITER or ";" FOUND, POINTER AT '</span>.<span class="src-var">$ptr</span>.<span class="src-str">'<br/>'</span><span class="src-sym">;</span></div></li> |
|
2710 |
+<li><div class="src-line"><a name="a2694"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>!== <span class="src-str">'|'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2711 |
+<li><div class="src-line"><a name="a2695"></a> <span class="src-var">$continue </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
2712 |
+<li><div class="src-line"><a name="a2696"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pointer </span>!== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2713 |
+<li><div class="src-line"><a name="a2697"></a> <span class="src-var">$pointer </span>-= <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>- <span class="src-var">$ptr</span><span class="src-sym">;</span></div></li> |
|
2714 |
+<li><div class="src-line"><a name="a2698"></a> <span class="src-sym">}</span></div></li> |
|
2715 |
+<li><div class="src-line"><a name="a2699"></a> <span class="src-sym">}</span></div></li> |
|
2716 |
+<li><div class="src-line"><a name="a2700"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
|
2717 |
+<li><div class="src-line"><a name="a2701"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
2718 |
+<li><div class="src-line"><a name="a2702"></a> <span class="src-sym">}</span></div></li> |
|
2719 |
+<li><div class="src-line"><a name="a2703"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$ptr </span>< <a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">) </span>&& <span class="src-var">$paramstr</span><span class="src-sym">[</span><span class="src-var">$ptr</span><span class="src-sym">] </span>=== <span class="src-str">':'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2720 |
+<li><div class="src-line"><a name="a2704"></a> <span class="src-var">$ptr</span>++<span class="src-sym">;</span></div></li> |
|
2721 |
+<li><div class="src-line"><a name="a2705"></a> <span class="src-sym">}</span></div></li> |
|
2722 |
+<li><div class="src-line"><a name="a2706"></a> <span class="src-sym">}</span></div></li> |
|
2723 |
+<li><div class="src-line"><a name="a2707"></a> <span class="src-var">$cmdstrsrc </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$cmdstrsrc</span><span class="src-sym">, </span><a href="http://www.php.net/strlen">strlen</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span>+<span class="src-num">1</span>+<span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2724 |
+<li><div class="src-line"><a name="a2708"></a> <span class="src-var">$paramstr </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$paramstr</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-var">$ptr</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2725 |
+<li><div class="src-line"><a name="a2709"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2726 |
+<li><div class="src-line"><a name="a2710"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">) </span>&& <a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2727 |
+<li><div class="src-line"><a name="a2711"></a> <span class="src-var">$state </span>|= <span class="src-num">2</span><span class="src-sym">;</span></div></li> |
|
2728 |
+<li><div class="src-line"><a name="a2712"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2729 |
+<li><div class="src-line"><a name="a2713"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span>&& <a href="http://www.php.net/preg_match">preg_match</a><span class="src-sym">(</span><span class="src-str">'#^(["\'])(.+?)\1$#'</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$m</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2730 |
+<li><div class="src-line"><a name="a2714"></a> <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'true'</span><span class="src-sym">, </span><span class="src-str">'true'</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
2731 |
+<li><div class="src-line"><a name="a2715"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2732 |
+<li><div class="src-line"><a name="a2716"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2733 |
+<li><div class="src-line"><a name="a2717"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'You can not use an unnamed parameter after a named one'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2734 |
+<li><div class="src-line"><a name="a2718"></a> <span class="src-sym">}</span></div></li> |
|
2735 |
+<li><div class="src-line"><a name="a2719"></a> <span class="src-var">$state </span>|= <span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
2736 |
+<li><div class="src-line"><a name="a2720"></a> <span class="src-sym">}</span></div></li> |
|
2737 |
+<li><div class="src-line"><a name="a2721"></a> <span class="src-sym">}</span></div></li> |
|
2738 |
+<li><div class="src-line"><a name="a2722"></a> <span class="src-sym">}</span></div></li> |
|
2739 |
+<li><div class="src-line"><a name="a2723"></a> <span class="src-sym">}</span></div></li> |
|
2740 |
+<li><div class="src-line"><a name="a2724"></a> </div></li> |
|
2741 |
+<li><div class="src-line"><a name="a2725"></a> <span class="src-comm">// check if we must use array_map with this plugin or not</span></div></li> |
|
2742 |
+<li><div class="src-line"><a name="a2726"></a> <span class="src-var">$mapped </span>= <span class="src-id">false</span><span class="src-sym">;</span></div></li> |
|
2743 |
+<li><div class="src-line"><a name="a2727"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-num">0</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">) </span>=== <span class="src-str">'@'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2744 |
+<li><div class="src-line"><a name="a2728"></a> <span class="src-var">$func </span>= <a href="http://www.php.net/substr">substr</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-num">1</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2745 |
+<li><div class="src-line"><a name="a2729"></a> <span class="src-var">$mapped </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
2746 |
+<li><div class="src-line"><a name="a2730"></a> <span class="src-sym">}</span></div></li> |
|
2747 |
+<li><div class="src-line"><a name="a2731"></a> </div></li> |
|
2748 |
+<li><div class="src-line"><a name="a2732"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2749 |
+<li><div class="src-line"><a name="a2733"></a> </div></li> |
|
2750 |
+<li><div class="src-line"><a name="a2734"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$state </span><span class="src-sym">& </span><span class="src-num">2</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2751 |
+<li><div class="src-line"><a name="a2735"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'value'</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
2752 |
+<li><div class="src-line"><a name="a2736"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2753 |
+<li><div class="src-line"><a name="a2737"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$output</span><span class="src-sym">, </span><span class="src-var">$output</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
2754 |
+<li><div class="src-line"><a name="a2738"></a> <span class="src-sym">}</span></div></li> |
|
2755 |
+<li><div class="src-line"><a name="a2739"></a> </div></li> |
|
2756 |
+<li><div class="src-line"><a name="a2740"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2757 |
+<li><div class="src-line"><a name="a2741"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2758 |
+<li><div class="src-line"><a name="a2742"></a> </div></li> |
|
2759 |
+<li><div class="src-line"><a name="a2743"></a> <span class="src-var">$params </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2760 |
+<li><div class="src-line"><a name="a2744"></a> </div></li> |
|
2761 |
+<li><div class="src-line"><a name="a2745"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2762 |
+<li><div class="src-line"><a name="a2746"></a> </div></li> |
|
2763 |
+<li><div class="src-line"><a name="a2747"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2764 |
+<li><div class="src-line"><a name="a2748"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2765 |
+<li><div class="src-line"><a name="a2749"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2766 |
+<li><div class="src-line"><a name="a2750"></a> <span class="src-var">$output </span>= <span class="src-var">$func</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2767 |
+<li><div class="src-line"><a name="a2751"></a> <span class="src-sym">}</span></div></li> |
|
2768 |
+<li><div class="src-line"><a name="a2752"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2769 |
+<li><div class="src-line"><a name="a2753"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetDwoo">getDwoo</a><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">getCallback</span><span class="src-sym">(</span><span class="src-var">$func</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2770 |
+<li><div class="src-line"><a name="a2754"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-sym">&</span><span class="src-var">$p</span><span class="src-sym">)</span></div></li> |
|
2771 |
+<li><div class="src-line"><a name="a2755"></a> <span class="src-var">$p </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2772 |
+<li><div class="src-line"><a name="a2756"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func">call_user_func</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">'getCode'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$func</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2773 |
+<li><div class="src-line"><a name="a2757"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2774 |
+<li><div class="src-line"><a name="a2758"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2775 |
+<li><div class="src-line"><a name="a2759"></a> <span class="src-var">$params </span>= <span class="src-var">$params</span><span class="src-sym">[</span><span class="src-str">'*'</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2776 |
+<li><div class="src-line"><a name="a2760"></a> </div></li> |
|
2777 |
+<li><div class="src-line"><a name="a2761"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2778 |
+<li><div class="src-line"><a name="a2762"></a> </div></li> |
|
2779 |
+<li><div class="src-line"><a name="a2763"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2780 |
+<li><div class="src-line"><a name="a2764"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2781 |
+<li><div class="src-line"><a name="a2765"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2782 |
+<li><div class="src-line"><a name="a2766"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2783 |
+<li><div class="src-line"><a name="a2767"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2784 |
+<li><div class="src-line"><a name="a2768"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2785 |
+<li><div class="src-line"><a name="a2769"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2786 |
+<li><div class="src-line"><a name="a2770"></a> <span class="src-sym">}</span></div></li> |
|
2787 |
+<li><div class="src-line"><a name="a2771"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2788 |
+<li><div class="src-line"><a name="a2772"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\''</span>.<span class="src-var">$callback</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2789 |
+<li><div class="src-line"><a name="a2773"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2790 |
+<li><div class="src-line"><a name="a2774"></a> <span class="src-var">$output </span>= <span class="src-var">$callback</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2791 |
+<li><div class="src-line"><a name="a2775"></a> <span class="src-sym">}</span></div></li> |
|
2792 |
+<li><div class="src-line"><a name="a2776"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2793 |
+<li><div class="src-line"><a name="a2777"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\'smarty_modifier_'</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2794 |
+<li><div class="src-line"><a name="a2778"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2795 |
+<li><div class="src-line"><a name="a2779"></a> <span class="src-var">$output </span>= <span class="src-str">'smarty_modifier_'</span>.<span class="src-var">$func</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2796 |
+<li><div class="src-line"><a name="a2780"></a> <span class="src-sym">}</span></div></li> |
|
2797 |
+<li><div class="src-line"><a name="a2781"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2798 |
+<li><div class="src-line"><a name="a2782"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2799 |
+<li><div class="src-line"><a name="a2783"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2800 |
+<li><div class="src-line"><a name="a2784"></a> <span class="src-var">$pluginName </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
2801 |
+<li><div class="src-line"><a name="a2785"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2802 |
+<li><div class="src-line"><a name="a2786"></a> <span class="src-var">$pluginName </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">;</span></div></li> |
| 2803 |
2803 |
<li><div class="src-line"><a name="a2787"></a> </div></li> |
| 2804 |
|
-<li><div class="src-line"><a name="a2788"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'var' </span>|| <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2805 |
|
-<li><div class="src-line"><a name="a2789"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
| 2806 |
|
-<li><div class="src-line"><a name="a2790"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'string' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2807 |
|
-<li><div class="src-line"><a name="a2791"></a> <span class="src-key">return </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'.'</span>.<span class="src-var">$output</span>.<span class="src-str">'.'</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$add</span><span class="src-sym">)</span>?<span class="src-var">$add</span>:<span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2808 |
|
-<li><div class="src-line"><a name="a2792"></a> <span class="src-sym">}</span></div></li> |
| 2809 |
|
-<li><div class="src-line"><a name="a2793"></a> <span class="src-sym">}</span></div></li> |
|
2804 |
+<li><div class="src-line"><a name="a2788"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2805 |
+<li><div class="src-line"><a name="a2789"></a> <span class="src-var">$callback </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$pluginName</span><span class="src-sym">, </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'compile' </span>: <span class="src-str">'process'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2806 |
+<li><div class="src-line"><a name="a2790"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2807 |
+<li><div class="src-line"><a name="a2791"></a> <span class="src-var">$callback </span>= <span class="src-var">$pluginName </span>. <span class="src-sym">((</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>? <span class="src-str">'_compile' </span>: <span class="src-str">''</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2808 |
+<li><div class="src-line"><a name="a2792"></a> <span class="src-sym">}</span></div></li> |
|
2809 |
+<li><div class="src-line"><a name="a2793"></a> <span class="src-sym">}</span></div></li> |
| 2810 |
2810 |
<li><div class="src-line"><a name="a2794"></a> </div></li> |
| 2811 |
|
-<li><div class="src-line"><a name="a2795"></a> <span class="src-doc">/**</span></div></li> |
| 2812 |
|
-<li><div class="src-line"><a name="a2796"></a><span class="src-doc"> * recursively implodes an array in a similar manner as var_export() does but with some tweaks</span></div></li> |
| 2813 |
|
-<li><div class="src-line"><a name="a2797"></a><span class="src-doc"> * to handle pre-compiled values and the fact that we do not need to enclose everything with</span></div></li> |
| 2814 |
|
-<li><div class="src-line"><a name="a2798"></a><span class="src-doc"> * "array" and do not require top-level keys to be displayed</span></div></li> |
| 2815 |
|
-<li><div class="src-line"><a name="a2799"></a><span class="src-doc"> *</span></div></li> |
| 2816 |
|
-<li><div class="src-line"><a name="a2800"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the array to implode</span></div></li> |
| 2817 |
|
-<li><div class="src-line"><a name="a2801"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$recursiveCall </span><span class="src-doc">if set to true, the function outputs key names for the top level</span></div></li> |
| 2818 |
|
-<li><div class="src-line"><a name="a2802"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the imploded array</span></div></li> |
| 2819 |
|
-<li><div class="src-line"><a name="a2803"></a><span class="src-doc"> */</span></div></li> |
| 2820 |
|
-<li><div class="src-line"><a name="a2804"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodimplode_r">implode_r</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$recursiveCall </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
| 2821 |
|
-<li><div class="src-line"><a name="a2805"></a> <span class="src-sym">{</span></div></li> |
| 2822 |
|
-<li><div class="src-line"><a name="a2806"></a> <span class="src-var">$out </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
| 2823 |
|
-<li><div class="src-line"><a name="a2807"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2824 |
|
-<li><div class="src-line"><a name="a2808"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2825 |
|
-<li><div class="src-line"><a name="a2809"></a> <span class="src-var">$out2 </span>= <span class="src-str">'array('</span><span class="src-sym">;</span></div></li> |
| 2826 |
|
-<li><div class="src-line"><a name="a2810"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$p </span><span class="src-key">as </span><span class="src-var">$k2</span>=><span class="src-var">$v</span><span class="src-sym">)</span></div></li> |
| 2827 |
|
-<li><div class="src-line"><a name="a2811"></a> <span class="src-var">$out2 </span>.= <a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$k2</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">' => '</span>.<span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">) </span>? <span class="src-str">'array('</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">')' </span>: <span class="src-var">$v</span><span class="src-sym">)</span>.<span class="src-str">', '</span><span class="src-sym">;</span></div></li> |
| 2828 |
|
-<li><div class="src-line"><a name="a2812"></a> <span class="src-var">$p </span>= <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$out2</span><span class="src-sym">, </span><span class="src-str">', '</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
| 2829 |
|
-<li><div class="src-line"><a name="a2813"></a> <span class="src-sym">}</span></div></li> |
| 2830 |
|
-<li><div class="src-line"><a name="a2814"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$recursiveCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2831 |
|
-<li><div class="src-line"><a name="a2815"></a> <span class="src-var">$out </span>.= <a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">' => '</span>.<span class="src-var">$p</span>.<span class="src-str">', '</span><span class="src-sym">;</span></div></li> |
| 2832 |
|
-<li><div class="src-line"><a name="a2816"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2833 |
|
-<li><div class="src-line"><a name="a2817"></a> <span class="src-var">$out </span>.= <span class="src-var">$p</span>.<span class="src-str">', '</span><span class="src-sym">;</span></div></li> |
| 2834 |
|
-<li><div class="src-line"><a name="a2818"></a> <span class="src-sym">}</span></div></li> |
| 2835 |
|
-<li><div class="src-line"><a name="a2819"></a> <span class="src-sym">}</span></div></li> |
| 2836 |
|
-<li><div class="src-line"><a name="a2820"></a> <span class="src-key">return </span><a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-str">', '</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2837 |
|
-<li><div class="src-line"><a name="a2821"></a> <span class="src-sym">}</span></div></li> |
| 2838 |
|
-<li><div class="src-line"><a name="a2822"></a> </div></li> |
| 2839 |
|
-<li><div class="src-line"><a name="a2823"></a> <span class="src-doc">/**</span></div></li> |
| 2840 |
|
-<li><div class="src-line"><a name="a2824"></a><span class="src-doc"> * returns the plugin type of a plugin and adds it to the used plugins array if required</span></div></li> |
| 2841 |
|
-<li><div class="src-line"><a name="a2825"></a><span class="src-doc"> *</span></div></li> |
| 2842 |
|
-<li><div class="src-line"><a name="a2826"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">plugin name, as found in the template</span></div></li> |
| 2843 |
|
-<li><div class="src-line"><a name="a2827"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">type as a multi bit flag composed of the Dwoo plugin types constants</span></div></li> |
| 2844 |
|
-<li><div class="src-line"><a name="a2828"></a><span class="src-doc"> */</span></div></li> |
| 2845 |
|
-<li><div class="src-line"><a name="a2829"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
| 2846 |
|
-<li><div class="src-line"><a name="a2830"></a> <span class="src-sym">{</span></div></li> |
| 2847 |
|
-<li><div class="src-line"><a name="a2831"></a> <span class="src-var">$pluginType </span>= -<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
| 2848 |
|
-<li><div class="src-line"><a name="a2832"></a> </div></li> |
| 2849 |
|
-<li><div class="src-line"><a name="a2833"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> </span>=== <span class="src-id">null </span>&& <span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>=== <span class="src-str">'isset' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>=== <span class="src-str">'empty'</span><span class="src-sym">)) </span>||</div></li> |
| 2850 |
|
-<li><div class="src-line"><a name="a2834"></a> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> </span>!== <span class="src-id">null </span>&& <a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a></span><span class="src-sym">-></span><span class="src-id">getAllowedPhpFunctions</span><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2851 |
|
-<li><div class="src-line"><a name="a2835"></a> <span class="src-var">$phpFunc </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
| 2852 |
|
-<li><div class="src-line"><a name="a2836"></a> <span class="src-sym">}</span></div></li> |
| 2853 |
|
-<li><div class="src-line"><a name="a2837"></a> </div></li> |
| 2854 |
|
-<li><div class="src-line"><a name="a2838"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><= <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2855 |
|
-<li><div class="src-line"><a name="a2839"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2856 |
|
-<li><div class="src-line"><a name="a2840"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">TEMPLATE_PLUGIN </span>| <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2857 |
|
-<li><div class="src-line"><a name="a2841"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2858 |
|
-<li><div class="src-line"><a name="a2842"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>| <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2859 |
|
-<li><div class="src-line"><a name="a2843"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2860 |
|
-<li><div class="src-line"><a name="a2844"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_subclass_of">is_subclass_of</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Block_Plugin'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2861 |
|
-<li><div class="src-line"><a name="a2845"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2862 |
|
-<li><div class="src-line"><a name="a2846"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2863 |
|
-<li><div class="src-line"><a name="a2847"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2864 |
|
-<li><div class="src-line"><a name="a2848"></a> <span class="src-sym">}</span></div></li> |
| 2865 |
|
-<li><div class="src-line"><a name="a2849"></a> <span class="src-var">$interfaces </span>= <a href="http://www.php.net/class_implements">class_implements</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2866 |
|
-<li><div class="src-line"><a name="a2850"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-str">'Dwoo_ICompilable'</span><span class="src-sym">, </span><span class="src-var">$interfaces</span><span class="src-sym">) </span>!== <span class="src-id">false </span>|| <a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-str">'Dwoo_ICompilable_Block'</span><span class="src-sym">, </span><span class="src-var">$interfaces</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2867 |
|
-<li><div class="src-line"><a name="a2851"></a> <span class="src-var">$pluginType </span>|= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2868 |
|
-<li><div class="src-line"><a name="a2852"></a> <span class="src-sym">}</span></div></li> |
| 2869 |
|
-<li><div class="src-line"><a name="a2853"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2870 |
|
-<li><div class="src-line"><a name="a2854"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2871 |
|
-<li><div class="src-line"><a name="a2855"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span>.<span class="src-str">'_compile'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2872 |
|
-<li><div class="src-line"><a name="a2856"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN </span>| <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2873 |
|
-<li><div class="src-line"><a name="a2857"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'smarty_modifier_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2874 |
|
-<li><div class="src-line"><a name="a2858"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span><span class="src-sym">;</span></div></li> |
| 2875 |
|
-<li><div class="src-line"><a name="a2859"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'smarty_function_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2876 |
|
-<li><div class="src-line"><a name="a2860"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION</span><span class="src-sym">;</span></div></li> |
| 2877 |
|
-<li><div class="src-line"><a name="a2861"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'smarty_block_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2878 |
|
-<li><div class="src-line"><a name="a2862"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">;</span></div></li> |
| 2879 |
|
-<li><div class="src-line"><a name="a2863"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2880 |
|
-<li><div class="src-line"><a name="a2864"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType</span>===-<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2881 |
|
-<li><div class="src-line"><a name="a2865"></a> try <span class="src-sym">{</span></div></li> |
| 2882 |
|
-<li><div class="src-line"><a name="a2866"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getLoader</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadPlugin">loadPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span>isset<span class="src-sym">(</span><span class="src-var">$phpFunc</span><span class="src-sym">)</span>===<span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2883 |
|
-<li><div class="src-line"><a name="a2867"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2884 |
|
-<li><div class="src-line"><a name="a2868"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$phpFunc</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2885 |
|
-<li><div class="src-line"><a name="a2869"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2886 |
|
-<li><div class="src-line"><a name="a2870"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)) </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">handles</span><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2887 |
|
-<li><div class="src-line"><a name="a2871"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">;</span></div></li> |
| 2888 |
|
-<li><div class="src-line"><a name="a2872"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2889 |
|
-<li><div class="src-line"><a name="a2873"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2890 |
|
-<li><div class="src-line"><a name="a2874"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
| 2891 |
|
-<li><div class="src-line"><a name="a2875"></a> <span class="src-sym">}</span></div></li> |
| 2892 |
|
-<li><div class="src-line"><a name="a2876"></a> <span class="src-sym">}</span></div></li> |
| 2893 |
|
-<li><div class="src-line"><a name="a2877"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2894 |
|
-<li><div class="src-line"><a name="a2878"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Plugin "'</span>.<span class="src-var">$name</span>.<span class="src-str">'" could not be found'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2895 |
|
-<li><div class="src-line"><a name="a2879"></a> <span class="src-sym">}</span></div></li> |
| 2896 |
|
-<li><div class="src-line"><a name="a2880"></a> <span class="src-var">$pluginType</span>++<span class="src-sym">;</span></div></li> |
| 2897 |
|
-<li><div class="src-line"><a name="a2881"></a> <span class="src-sym">}</span></div></li> |
| 2898 |
|
-<li><div class="src-line"><a name="a2882"></a> <span class="src-sym">}</span></div></li> |
| 2899 |
|
-<li><div class="src-line"><a name="a2883"></a> </div></li> |
| 2900 |
|
-<li><div class="src-line"><a name="a2884"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>=== <span class="src-num">0 </span>&& <span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">) </span>=== <span class="src-num">0 </span>&& <span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2901 |
|
-<li><div class="src-line"><a name="a2885"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$usedPlugins">usedPlugins</a></span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">] </span>= <span class="src-var">$pluginType</span><span class="src-sym">;</span></div></li> |
| 2902 |
|
-<li><div class="src-line"><a name="a2886"></a> <span class="src-sym">}</span></div></li> |
| 2903 |
|
-<li><div class="src-line"><a name="a2887"></a> </div></li> |
| 2904 |
|
-<li><div class="src-line"><a name="a2888"></a> <span class="src-key">return </span><span class="src-var">$pluginType</span><span class="src-sym">;</span></div></li> |
| 2905 |
|
-<li><div class="src-line"><a name="a2889"></a> <span class="src-sym">}</span></div></li> |
| 2906 |
|
-<li><div class="src-line"><a name="a2890"></a> </div></li> |
| 2907 |
|
-<li><div class="src-line"><a name="a2891"></a> <span class="src-doc">/**</span></div></li> |
| 2908 |
|
-<li><div class="src-line"><a name="a2892"></a><span class="src-doc"> * allows a plugin to load another one at compile time, this will also mark</span></div></li> |
| 2909 |
|
-<li><div class="src-line"><a name="a2893"></a><span class="src-doc"> * it as used by this template so it will be loaded at runtime (which can be</span></div></li> |
| 2910 |
|
-<li><div class="src-line"><a name="a2894"></a><span class="src-doc"> * useful for compiled plugins that rely on another plugin when their compiled</span></div></li> |
| 2911 |
|
-<li><div class="src-line"><a name="a2895"></a><span class="src-doc"> * code runs)</span></div></li> |
| 2912 |
|
-<li><div class="src-line"><a name="a2896"></a><span class="src-doc"> *</span></div></li> |
| 2913 |
|
-<li><div class="src-line"><a name="a2897"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name</span></div></li> |
| 2914 |
|
-<li><div class="src-line"><a name="a2898"></a><span class="src-doc"> */</span></div></li> |
| 2915 |
|
-<li><div class="src-line"><a name="a2899"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodloadPlugin">loadPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2916 |
|
-<li><div class="src-line"><a name="a2900"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2917 |
|
-<li><div class="src-line"><a name="a2901"></a> <span class="src-sym">}</span></div></li> |
| 2918 |
|
-<li><div class="src-line"><a name="a2902"></a> </div></li> |
| 2919 |
|
-<li><div class="src-line"><a name="a2903"></a> <span class="src-doc">/**</span></div></li> |
| 2920 |
|
-<li><div class="src-line"><a name="a2904"></a><span class="src-doc"> * runs htmlentities over the matched <?php ?> blocks when the security policy enforces that</span></div></li> |
| 2921 |
|
-<li><div class="src-line"><a name="a2905"></a><span class="src-doc"> *</span></div></li> |
| 2922 |
|
-<li><div class="src-line"><a name="a2906"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$match </span><span class="src-doc">matched php block</span></div></li> |
| 2923 |
|
-<li><div class="src-line"><a name="a2907"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the htmlentities-converted string</span></div></li> |
| 2924 |
|
-<li><div class="src-line"><a name="a2908"></a><span class="src-doc"> */</span></div></li> |
| 2925 |
|
-<li><div class="src-line"><a name="a2909"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodphpTagEncodingHelper">phpTagEncodingHelper</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">)</span></div></li> |
| 2926 |
|
-<li><div class="src-line"><a name="a2910"></a> <span class="src-sym">{</span></div></li> |
| 2927 |
|
-<li><div class="src-line"><a name="a2911"></a> <span class="src-key">return </span><a href="http://www.php.net/htmlspecialchars">htmlspecialchars</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2928 |
|
-<li><div class="src-line"><a name="a2912"></a> <span class="src-sym">}</span></div></li> |
| 2929 |
|
-<li><div class="src-line"><a name="a2913"></a> </div></li> |
| 2930 |
|
-<li><div class="src-line"><a name="a2914"></a> <span class="src-doc">/**</span></div></li> |
| 2931 |
|
-<li><div class="src-line"><a name="a2915"></a><span class="src-doc"> * maps the parameters received from the template onto the parameters required by the given callback</span></div></li> |
| 2932 |
|
-<li><div class="src-line"><a name="a2916"></a><span class="src-doc"> *</span></div></li> |
| 2933 |
|
-<li><div class="src-line"><a name="a2917"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the array of parameters</span></div></li> |
| 2934 |
|
-<li><div class="src-line"><a name="a2918"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$callback </span><span class="src-doc">the function or method to reflect on to find out the required parameters</span></div></li> |
| 2935 |
|
-<li><div class="src-line"><a name="a2919"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$callType </span><span class="src-doc">the type of call in the template, 0 = no params, 1 = php-style call, 2 = named parameters call</span></div></li> |
| 2936 |
|
-<li><div class="src-line"><a name="a2920"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$map </span><span class="src-doc">the parameter map to use, if not provided it will be built from the callback</span></div></li> |
| 2937 |
|
-<li><div class="src-line"><a name="a2921"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">parameters sorted in the correct order with missing optional parameters filled</span></div></li> |
| 2938 |
|
-<li><div class="src-line"><a name="a2922"></a><span class="src-doc"> */</span></div></li> |
| 2939 |
|
-<li><div class="src-line"><a name="a2923"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$callType</span>=<span class="src-num">2</span><span class="src-sym">, </span><span class="src-var">$map </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
| 2940 |
|
-<li><div class="src-line"><a name="a2924"></a> <span class="src-sym">{</span></div></li> |
| 2941 |
|
-<li><div class="src-line"><a name="a2925"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$map</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2942 |
|
-<li><div class="src-line"><a name="a2926"></a> <span class="src-var">$map </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetParamMap">getParamMap</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2943 |
|
-<li><div class="src-line"><a name="a2927"></a> <span class="src-sym">}</span></div></li> |
| 2944 |
|
-<li><div class="src-line"><a name="a2928"></a> </div></li> |
| 2945 |
|
-<li><div class="src-line"><a name="a2929"></a> <span class="src-var">$paramlist </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2946 |
|
-<li><div class="src-line"><a name="a2930"></a> </div></li> |
| 2947 |
|
-<li><div class="src-line"><a name="a2931"></a> <span class="src-comm">// transforms the parameter array from (x=>array('paramname'=>array(values))) to (paramname=>array(values))</span></div></li> |
| 2948 |
|
-<li><div class="src-line"><a name="a2932"></a> <span class="src-var">$ps </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2949 |
|
-<li><div class="src-line"><a name="a2933"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2950 |
|
-<li><div class="src-line"><a name="a2934"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2951 |
|
-<li><div class="src-line"><a name="a2935"></a> <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2952 |
|
-<li><div class="src-line"><a name="a2936"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2953 |
|
-<li><div class="src-line"><a name="a2937"></a> <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">;</span></div></li> |
| 2954 |
|
-<li><div class="src-line"><a name="a2938"></a> <span class="src-sym">}</span></div></li> |
| 2955 |
|
-<li><div class="src-line"><a name="a2939"></a> <span class="src-sym">}</span></div></li> |
| 2956 |
|
-<li><div class="src-line"><a name="a2940"></a> </div></li> |
| 2957 |
|
-<li><div class="src-line"><a name="a2941"></a> <span class="src-comm">// loops over the param map and assigns values from the template or default value for unset optional params</span></div></li> |
| 2958 |
|
-<li><div class="src-line"><a name="a2942"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">,</span><span class="src-var">$v</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$map</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2959 |
|
-<li><div class="src-line"><a name="a2943"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'*'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2960 |
|
-<li><div class="src-line"><a name="a2944"></a> <span class="src-comm">// "rest" array parameter, fill every remaining params in it and then break</span></div></li> |
| 2961 |
|
-<li><div class="src-line"><a name="a2945"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2962 |
|
-<li><div class="src-line"><a name="a2946"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>===<span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2963 |
|
-<li><div class="src-line"><a name="a2947"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Rest argument missing for '</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span><span class="src-sym">, </span><span class="src-str">'_compile'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">) </span>? <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>: <span class="src-var">$callback</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 2964 |
|
-<li><div class="src-line"><a name="a2948"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2965 |
|
-<li><div class="src-line"><a name="a2949"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2966 |
|
-<li><div class="src-line"><a name="a2950"></a> <span class="src-sym">}</span></div></li> |
| 2967 |
|
-<li><div class="src-line"><a name="a2951"></a> <span class="src-sym">}</span></div></li> |
| 2968 |
|
-<li><div class="src-line"><a name="a2952"></a> <span class="src-var">$tmp </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2969 |
|
-<li><div class="src-line"><a name="a2953"></a> <span class="src-var">$tmp2 </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2970 |
|
-<li><div class="src-line"><a name="a2954"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ps </span><span class="src-key">as </span><span class="src-var">$i</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2971 |
|
-<li><div class="src-line"><a name="a2955"></a> <span class="src-var">$tmp</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2972 |
|
-<li><div class="src-line"><a name="a2956"></a> <span class="src-var">$tmp2</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2973 |
|
-<li><div class="src-line"><a name="a2957"></a> unset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2974 |
|
-<li><div class="src-line"><a name="a2958"></a> <span class="src-sym">}</span></div></li> |
| 2975 |
|
-<li><div class="src-line"><a name="a2959"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">, </span><span class="src-var">$tmp2</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2976 |
|
-<li><div class="src-line"><a name="a2960"></a> unset<span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">, </span><span class="src-var">$tmp2</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2977 |
|
-<li><div class="src-line"><a name="a2961"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
| 2978 |
|
-<li><div class="src-line"><a name="a2962"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2979 |
|
-<li><div class="src-line"><a name="a2963"></a> <span class="src-comm">// parameter is defined as named param</span></div></li> |
| 2980 |
|
-<li><div class="src-line"><a name="a2964"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
| 2981 |
|
-<li><div class="src-line"><a name="a2965"></a> unset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2982 |
|
-<li><div class="src-line"><a name="a2966"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2983 |
|
-<li><div class="src-line"><a name="a2967"></a> <span class="src-comm">// parameter is defined as ordered param</span></div></li> |
| 2984 |
|
-<li><div class="src-line"><a name="a2968"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
| 2985 |
|
-<li><div class="src-line"><a name="a2969"></a> unset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2986 |
|
-<li><div class="src-line"><a name="a2970"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>===<span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2987 |
|
-<li><div class="src-line"><a name="a2971"></a> <span class="src-comm">// parameter is not defined and not optional, throw error</span></div></li> |
| 2988 |
|
-<li><div class="src-line"><a name="a2972"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Argument '</span>.<span class="src-var">$k</span>.<span class="src-str">'/'</span>.<span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">' missing for '</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span><span class="src-sym">, </span><span class="src-str">'_compile'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">) </span>? <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>: <span class="src-var">$callback</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
| 2989 |
|
-<li><div class="src-line"><a name="a2973"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span>===<span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 2990 |
|
-<li><div class="src-line"><a name="a2974"></a> <span class="src-comm">// enforce lowercased null if default value is null (php outputs NULL with var export)</span></div></li> |
| 2991 |
|
-<li><div class="src-line"><a name="a2975"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'null'</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2992 |
|
-<li><div class="src-line"><a name="a2976"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 2993 |
|
-<li><div class="src-line"><a name="a2977"></a> <span class="src-comm">// outputs default value with var_export</span></div></li> |
| 2994 |
|
-<li><div class="src-line"><a name="a2978"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 2995 |
|
-<li><div class="src-line"><a name="a2979"></a> <span class="src-sym">}</span></div></li> |
| 2996 |
|
-<li><div class="src-line"><a name="a2980"></a> <span class="src-sym">}</span></div></li> |
| 2997 |
|
-<li><div class="src-line"><a name="a2981"></a> </div></li> |
| 2998 |
|
-<li><div class="src-line"><a name="a2982"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 2999 |
|
-<li><div class="src-line"><a name="a2983"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ps </span><span class="src-key">as </span><span class="src-var">$i</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 3000 |
|
-<li><div class="src-line"><a name="a2984"></a> <a href="http://www.php.net/array_push">array_push</a><span class="src-sym">(</span><span class="src-var">$paramlist</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3001 |
|
-<li><div class="src-line"><a name="a2985"></a> <span class="src-sym">}</span></div></li> |
| 3002 |
|
-<li><div class="src-line"><a name="a2986"></a> <span class="src-sym">}</span></div></li> |
| 3003 |
|
-<li><div class="src-line"><a name="a2987"></a> </div></li> |
| 3004 |
|
-<li><div class="src-line"><a name="a2988"></a> <span class="src-key">return </span><span class="src-var">$paramlist</span><span class="src-sym">;</span></div></li> |
|
2811 |
+<li><div class="src-line"><a name="a2795"></a> <span class="src-var">$params </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$state</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2812 |
+<li><div class="src-line"><a name="a2796"></a> </div></li> |
|
2813 |
+<li><div class="src-line"><a name="a2797"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-sym">&</span><span class="src-var">$p</span><span class="src-sym">)</span></div></li> |
|
2814 |
+<li><div class="src-line"><a name="a2798"></a> <span class="src-var">$p </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2815 |
+<li><div class="src-line"><a name="a2799"></a> </div></li> |
|
2816 |
+<li><div class="src-line"><a name="a2800"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2817 |
+<li><div class="src-line"><a name="a2801"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2818 |
+<li><div class="src-line"><a name="a2802"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2819 |
+<li><div class="src-line"><a name="a2803"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The @ operator can not be used on compiled plugins.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2820 |
+<li><div class="src-line"><a name="a2804"></a> <span class="src-sym">}</span></div></li> |
|
2821 |
+<li><div class="src-line"><a name="a2805"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2822 |
+<li><div class="src-line"><a name="a2806"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2823 |
+<li><div class="src-line"><a name="a2807"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2824 |
+<li><div class="src-line"><a name="a2808"></a> <span class="src-var">$funcCompiler </span>= <span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'_compile'</span><span class="src-sym">;</span></div></li> |
|
2825 |
+<li><div class="src-line"><a name="a2809"></a> <span class="src-sym">}</span></div></li> |
|
2826 |
+<li><div class="src-line"><a name="a2810"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2827 |
+<li><div class="src-line"><a name="a2811"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2828 |
+<li><div class="src-line"><a name="a2812"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2829 |
+<li><div class="src-line"><a name="a2813"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-str">'$this'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2830 |
+<li><div class="src-line"><a name="a2814"></a> </div></li> |
|
2831 |
+<li><div class="src-line"><a name="a2815"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2832 |
+<li><div class="src-line"><a name="a2816"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2833 |
+<li><div class="src-line"><a name="a2817"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(\''</span>.<span class="src-var">$pluginName</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2834 |
+<li><div class="src-line"><a name="a2818"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2835 |
+<li><div class="src-line"><a name="a2819"></a> <span class="src-var">$output </span>= <span class="src-var">$pluginName</span>.<span class="src-str">'('</span>.<span class="src-var">$params</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2836 |
+<li><div class="src-line"><a name="a2820"></a> <span class="src-sym">}</span></div></li> |
|
2837 |
+<li><div class="src-line"><a name="a2821"></a> <span class="src-sym">}</span></div></li> |
|
2838 |
+<li><div class="src-line"><a name="a2822"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2839 |
+<li><div class="src-line"><a name="a2823"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2840 |
+<li><div class="src-line"><a name="a2824"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2841 |
+<li><div class="src-line"><a name="a2825"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'The @ operator can not be used on compiled plugins.'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2842 |
+<li><div class="src-line"><a name="a2826"></a> <span class="src-sym">}</span></div></li> |
|
2843 |
+<li><div class="src-line"><a name="a2827"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2844 |
+<li><div class="src-line"><a name="a2828"></a> <span class="src-var">$callback </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$func</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'callback'</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
2845 |
+<li><div class="src-line"><a name="a2829"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2846 |
+<li><div class="src-line"><a name="a2830"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><a href="http://www.php.net/method_exists">method_exists</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2847 |
+<li><div class="src-line"><a name="a2831"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Custom plugin '</span>.<span class="src-var">$func</span>.<span class="src-str">' must implement the "compile" method to be compilable, or you should provide a full callback to the method to use'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2848 |
+<li><div class="src-line"><a name="a2832"></a> <span class="src-sym">}</span></div></li> |
|
2849 |
+<li><div class="src-line"><a name="a2833"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)) </span>&& <span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">isStatic</span><span class="src-sym">(</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2850 |
+<li><div class="src-line"><a name="a2834"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2851 |
+<li><div class="src-line"><a name="a2835"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2852 |
+<li><div class="src-line"><a name="a2836"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">new </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2853 |
+<li><div class="src-line"><a name="a2837"></a> <span class="src-sym">}</span></div></li> |
|
2854 |
+<li><div class="src-line"><a name="a2838"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2855 |
+<li><div class="src-line"><a name="a2839"></a> <span class="src-var">$funcCompiler </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
2856 |
+<li><div class="src-line"><a name="a2840"></a> <span class="src-sym">}</span></div></li> |
|
2857 |
+<li><div class="src-line"><a name="a2841"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2858 |
+<li><div class="src-line"><a name="a2842"></a> <span class="src-var">$funcCompiler </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$func</span><span class="src-sym">, </span><span class="src-str">'compile'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2859 |
+<li><div class="src-line"><a name="a2843"></a> <a href="http://www.php.net/array_unshift">array_unshift</a><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2860 |
+<li><div class="src-line"><a name="a2844"></a> <span class="src-sym">}</span></div></li> |
|
2861 |
+<li><div class="src-line"><a name="a2845"></a> <span class="src-var">$output </span>= <a href="http://www.php.net/call_user_func_array">call_user_func_array</a><span class="src-sym">(</span><span class="src-var">$funcCompiler</span><span class="src-sym">, </span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2862 |
+<li><div class="src-line"><a name="a2846"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2863 |
+<li><div class="src-line"><a name="a2847"></a> <span class="src-var">$params </span>= <span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$params</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2864 |
+<li><div class="src-line"><a name="a2848"></a> </div></li> |
|
2865 |
+<li><div class="src-line"><a name="a2849"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2866 |
+<li><div class="src-line"><a name="a2850"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2867 |
+<li><div class="src-line"><a name="a2851"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array($this->plugins[\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\'][\'callback\'][0], \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2868 |
+<li><div class="src-line"><a name="a2852"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2869 |
+<li><div class="src-line"><a name="a2853"></a> <span class="src-var">$output </span>= <span class="src-sym">(</span><span class="src-var">$mapped </span>? <span class="src-str">'$this->arrayMap' </span>: <span class="src-str">'call_user_func_array'</span><span class="src-sym">)</span>.<span class="src-str">'(array(\''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">'\', \''</span>.<span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2870 |
+<li><div class="src-line"><a name="a2854"></a> <span class="src-sym">}</span></div></li> |
|
2871 |
+<li><div class="src-line"><a name="a2855"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$mapped</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2872 |
+<li><div class="src-line"><a name="a2856"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->arrayMap(array($this->getObjectPlugin(\'Dwoo_Plugin_'</span>.<span class="src-var">$func</span>.<span class="src-str">'\'), \'process\'), array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2873 |
+<li><div class="src-line"><a name="a2857"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2874 |
+<li><div class="src-line"><a name="a2858"></a> <span class="src-var">$output </span>= <span class="src-str">'$this->classCall(\''</span>.<span class="src-var">$func</span>.<span class="src-str">'\', array('</span>.<span class="src-var">$params</span>.<span class="src-str">'))'</span><span class="src-sym">;</span></div></li> |
|
2875 |
+<li><div class="src-line"><a name="a2859"></a> <span class="src-sym">}</span></div></li> |
|
2876 |
+<li><div class="src-line"><a name="a2860"></a> <span class="src-sym">}</span></div></li> |
|
2877 |
+<li><div class="src-line"><a name="a2861"></a> <span class="src-sym">}</span></div></li> |
|
2878 |
+<li><div class="src-line"><a name="a2862"></a> <span class="src-sym">}</span></div></li> |
|
2879 |
+<li><div class="src-line"><a name="a2863"></a> <span class="src-sym">}</span></div></li> |
|
2880 |
+<li><div class="src-line"><a name="a2864"></a> </div></li> |
|
2881 |
+<li><div class="src-line"><a name="a2865"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'var' </span>|| <span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">] </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2882 |
+<li><div class="src-line"><a name="a2866"></a> <span class="src-key">return </span><span class="src-var">$output</span><span class="src-sym">;</span></div></li> |
|
2883 |
+<li><div class="src-line"><a name="a2867"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$curBlock </span>=== <span class="src-str">'string' </span>|| <span class="src-var">$curBlock </span>=== <span class="src-str">'root'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2884 |
+<li><div class="src-line"><a name="a2868"></a> <span class="src-key">return </span><span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-str">'.'</span>.<span class="src-var">$output</span>.<span class="src-str">'.'</span>.<span class="src-var">$m</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>.<span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$add</span><span class="src-sym">)</span>?<span class="src-var">$add</span>:<span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2885 |
+<li><div class="src-line"><a name="a2869"></a> <span class="src-sym">}</span></div></li> |
|
2886 |
+<li><div class="src-line"><a name="a2870"></a> <span class="src-sym">}</span></div></li> |
|
2887 |
+<li><div class="src-line"><a name="a2871"></a> </div></li> |
|
2888 |
+<li><div class="src-line"><a name="a2872"></a> <span class="src-doc">/**</span></div></li> |
|
2889 |
+<li><div class="src-line"><a name="a2873"></a><span class="src-doc"> * recursively implodes an array in a similar manner as var_export() does but with some tweaks</span></div></li> |
|
2890 |
+<li><div class="src-line"><a name="a2874"></a><span class="src-doc"> * to handle pre-compiled values and the fact that we do not need to enclose everything with</span></div></li> |
|
2891 |
+<li><div class="src-line"><a name="a2875"></a><span class="src-doc"> * "array" and do not require top-level keys to be displayed</span></div></li> |
|
2892 |
+<li><div class="src-line"><a name="a2876"></a><span class="src-doc"> *</span></div></li> |
|
2893 |
+<li><div class="src-line"><a name="a2877"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the array to implode</span></div></li> |
|
2894 |
+<li><div class="src-line"><a name="a2878"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">bool </span><span class="src-doc-var">$recursiveCall </span><span class="src-doc">if set to true, the function outputs key names for the top level</span></div></li> |
|
2895 |
+<li><div class="src-line"><a name="a2879"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the imploded array</span></div></li> |
|
2896 |
+<li><div class="src-line"><a name="a2880"></a><span class="src-doc"> */</span></div></li> |
|
2897 |
+<li><div class="src-line"><a name="a2881"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodimplode_r">implode_r</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$recursiveCall </span>= <span class="src-id">false</span><span class="src-sym">)</span></div></li> |
|
2898 |
+<li><div class="src-line"><a name="a2882"></a> <span class="src-sym">{</span></div></li> |
|
2899 |
+<li><div class="src-line"><a name="a2883"></a> <span class="src-var">$out </span>= <span class="src-str">''</span><span class="src-sym">;</span></div></li> |
|
2900 |
+<li><div class="src-line"><a name="a2884"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$k</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2901 |
+<li><div class="src-line"><a name="a2885"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2902 |
+<li><div class="src-line"><a name="a2886"></a> <span class="src-var">$out2 </span>= <span class="src-str">'array('</span><span class="src-sym">;</span></div></li> |
|
2903 |
+<li><div class="src-line"><a name="a2887"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$p </span><span class="src-key">as </span><span class="src-var">$k2</span>=><span class="src-var">$v</span><span class="src-sym">)</span></div></li> |
|
2904 |
+<li><div class="src-line"><a name="a2888"></a> <span class="src-var">$out2 </span>.= <a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$k2</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">' => '</span>.<span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">) </span>? <span class="src-str">'array('</span>.<span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">implode_r</span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">')' </span>: <span class="src-var">$v</span><span class="src-sym">)</span>.<span class="src-str">', '</span><span class="src-sym">;</span></div></li> |
|
2905 |
+<li><div class="src-line"><a name="a2889"></a> <span class="src-var">$p </span>= <a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$out2</span><span class="src-sym">, </span><span class="src-str">', '</span><span class="src-sym">)</span>.<span class="src-str">')'</span><span class="src-sym">;</span></div></li> |
|
2906 |
+<li><div class="src-line"><a name="a2890"></a> <span class="src-sym">}</span></div></li> |
|
2907 |
+<li><div class="src-line"><a name="a2891"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$recursiveCall</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2908 |
+<li><div class="src-line"><a name="a2892"></a> <span class="src-var">$out </span>.= <a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span>.<span class="src-str">' => '</span>.<span class="src-var">$p</span>.<span class="src-str">', '</span><span class="src-sym">;</span></div></li> |
|
2909 |
+<li><div class="src-line"><a name="a2893"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2910 |
+<li><div class="src-line"><a name="a2894"></a> <span class="src-var">$out </span>.= <span class="src-var">$p</span>.<span class="src-str">', '</span><span class="src-sym">;</span></div></li> |
|
2911 |
+<li><div class="src-line"><a name="a2895"></a> <span class="src-sym">}</span></div></li> |
|
2912 |
+<li><div class="src-line"><a name="a2896"></a> <span class="src-sym">}</span></div></li> |
|
2913 |
+<li><div class="src-line"><a name="a2897"></a> <span class="src-key">return </span><a href="http://www.php.net/rtrim">rtrim</a><span class="src-sym">(</span><span class="src-var">$out</span><span class="src-sym">, </span><span class="src-str">', '</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2914 |
+<li><div class="src-line"><a name="a2898"></a> <span class="src-sym">}</span></div></li> |
|
2915 |
+<li><div class="src-line"><a name="a2899"></a> </div></li> |
|
2916 |
+<li><div class="src-line"><a name="a2900"></a> <span class="src-doc">/**</span></div></li> |
|
2917 |
+<li><div class="src-line"><a name="a2901"></a><span class="src-doc"> * returns the plugin type of a plugin and adds it to the used plugins array if required</span></div></li> |
|
2918 |
+<li><div class="src-line"><a name="a2902"></a><span class="src-doc"> *</span></div></li> |
|
2919 |
+<li><div class="src-line"><a name="a2903"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">plugin name, as found in the template</span></div></li> |
|
2920 |
+<li><div class="src-line"><a name="a2904"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">int </span><span class="src-doc">type as a multi bit flag composed of the Dwoo plugin types constants</span></div></li> |
|
2921 |
+<li><div class="src-line"><a name="a2905"></a><span class="src-doc"> */</span></div></li> |
|
2922 |
+<li><div class="src-line"><a name="a2906"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span></div></li> |
|
2923 |
+<li><div class="src-line"><a name="a2907"></a> <span class="src-sym">{</span></div></li> |
|
2924 |
+<li><div class="src-line"><a name="a2908"></a> <span class="src-var">$pluginType </span>= -<span class="src-num">1</span><span class="src-sym">;</span></div></li> |
|
2925 |
+<li><div class="src-line"><a name="a2909"></a> </div></li> |
|
2926 |
+<li><div class="src-line"><a name="a2910"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> </span>=== <span class="src-id">null </span>&& <span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>=== <span class="src-str">'isset' </span>|| <a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span>=== <span class="src-str">'empty'</span><span class="src-sym">)) </span>||</div></li> |
|
2927 |
+<li><div class="src-line"><a name="a2911"></a> <span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a> </span>!== <span class="src-id">null </span>&& <a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><a href="http://www.php.net/strtolower">strtolower</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$securityPolicy">securityPolicy</a></span><span class="src-sym">-></span><span class="src-id">getAllowedPhpFunctions</span><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">false</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2928 |
+<li><div class="src-line"><a name="a2912"></a> <span class="src-var">$phpFunc </span>= <span class="src-id">true</span><span class="src-sym">;</span></div></li> |
|
2929 |
+<li><div class="src-line"><a name="a2913"></a> <span class="src-sym">}</span></div></li> |
|
2930 |
+<li><div class="src-line"><a name="a2914"></a> </div></li> |
|
2931 |
+<li><div class="src-line"><a name="a2915"></a> <span class="src-key">while </span><span class="src-sym">(</span><span class="src-var">$pluginType </span><= <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2932 |
+<li><div class="src-line"><a name="a2916"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$templatePlugins">templatePlugins</a></span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2933 |
+<li><div class="src-line"><a name="a2917"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">TEMPLATE_PLUGIN </span>| <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2934 |
+<li><div class="src-line"><a name="a2918"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2935 |
+<li><div class="src-line"><a name="a2919"></a> <span class="src-var">$pluginType </span>= <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$customPlugins">customPlugins</a></span><span class="src-sym">[</span><span class="src-var">$name</span><span class="src-sym">]</span><span class="src-sym">[</span><span class="src-str">'type'</span><span class="src-sym">] </span>| <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CUSTOM_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2936 |
+<li><div class="src-line"><a name="a2920"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/class_exists">class_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2937 |
+<li><div class="src-line"><a name="a2921"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_subclass_of">is_subclass_of</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">, </span><span class="src-str">'Dwoo_Block_Plugin'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2938 |
+<li><div class="src-line"><a name="a2922"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">BLOCK_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2939 |
+<li><div class="src-line"><a name="a2923"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2940 |
+<li><div class="src-line"><a name="a2924"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">CLASS_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2941 |
+<li><div class="src-line"><a name="a2925"></a> <span class="src-sym">}</span></div></li> |
|
2942 |
+<li><div class="src-line"><a name="a2926"></a> <span class="src-var">$interfaces </span>= <a href="http://www.php.net/class_implements">class_implements</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">, </span><span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2943 |
+<li><div class="src-line"><a name="a2927"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-str">'Dwoo_ICompilable'</span><span class="src-sym">, </span><span class="src-var">$interfaces</span><span class="src-sym">) </span>!== <span class="src-id">false </span>|| <a href="http://www.php.net/in_array">in_array</a><span class="src-sym">(</span><span class="src-str">'Dwoo_ICompilable_Block'</span><span class="src-sym">, </span><span class="src-var">$interfaces</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2944 |
+<li><div class="src-line"><a name="a2928"></a> <span class="src-var">$pluginType </span>|= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2945 |
+<li><div class="src-line"><a name="a2929"></a> <span class="src-sym">}</span></div></li> |
|
2946 |
+<li><div class="src-line"><a name="a2930"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2947 |
+<li><div class="src-line"><a name="a2931"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2948 |
+<li><div class="src-line"><a name="a2932"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span>.<span class="src-var">$name</span>.<span class="src-str">'_compile'</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2949 |
+<li><div class="src-line"><a name="a2933"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">FUNC_PLUGIN </span>| <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2950 |
+<li><div class="src-line"><a name="a2934"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'smarty_modifier_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2951 |
+<li><div class="src-line"><a name="a2935"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_MODIFIER</span><span class="src-sym">;</span></div></li> |
|
2952 |
+<li><div class="src-line"><a name="a2936"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'smarty_function_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2953 |
+<li><div class="src-line"><a name="a2937"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_FUNCTION</span><span class="src-sym">;</span></div></li> |
|
2954 |
+<li><div class="src-line"><a name="a2938"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/function_exists">function_exists</a><span class="src-sym">(</span><span class="src-str">'smarty_block_'</span>.<span class="src-var">$name</span><span class="src-sym">) </span>!== <span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2955 |
+<li><div class="src-line"><a name="a2939"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">SMARTY_BLOCK</span><span class="src-sym">;</span></div></li> |
|
2956 |
+<li><div class="src-line"><a name="a2940"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2957 |
+<li><div class="src-line"><a name="a2941"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$pluginType</span>===-<span class="src-num">1</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2958 |
+<li><div class="src-line"><a name="a2942"></a> try <span class="src-sym">{</span></div></li> |
|
2959 |
+<li><div class="src-line"><a name="a2943"></a> <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getLoader</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodloadPlugin">loadPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span>isset<span class="src-sym">(</span><span class="src-var">$phpFunc</span><span class="src-sym">)</span>===<span class="src-id">false</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2960 |
+<li><div class="src-line"><a name="a2944"></a> <span class="src-sym">} </span>catch <span class="src-sym">(</span><span class="src-id">Exception </span><span class="src-var">$e</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2961 |
+<li><div class="src-line"><a name="a2945"></a> <span class="src-key">if </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$phpFunc</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2962 |
+<li><div class="src-line"><a name="a2946"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2963 |
+<li><div class="src-line"><a name="a2947"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)) </span>&& <span class="src-var">$this</span><span class="src-sym">-></span><span class="src-id"><a href="../Dwoo/Dwoo_Compiler.html#var$dwoo">dwoo</a></span><span class="src-sym">-></span><span class="src-id">getPluginProxy</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">-></span><span class="src-id">handles</span><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
2964 |
+<li><div class="src-line"><a name="a2948"></a> <span class="src-var">$pluginType </span>= <span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">;</span></div></li> |
|
2965 |
+<li><div class="src-line"><a name="a2949"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
2966 |
+<li><div class="src-line"><a name="a2950"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2967 |
+<li><div class="src-line"><a name="a2951"></a> throw <span class="src-var">$e</span><span class="src-sym">;</span></div></li> |
|
2968 |
+<li><div class="src-line"><a name="a2952"></a> <span class="src-sym">}</span></div></li> |
|
2969 |
+<li><div class="src-line"><a name="a2953"></a> <span class="src-sym">}</span></div></li> |
|
2970 |
+<li><div class="src-line"><a name="a2954"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
2971 |
+<li><div class="src-line"><a name="a2955"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Exception.html">Dwoo_Exception</a></span><span class="src-sym">(</span><span class="src-str">'Plugin "'</span>.<span class="src-var">$name</span>.<span class="src-str">'" could not be found'</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2972 |
+<li><div class="src-line"><a name="a2956"></a> <span class="src-sym">}</span></div></li> |
|
2973 |
+<li><div class="src-line"><a name="a2957"></a> <span class="src-var">$pluginType</span>++<span class="src-sym">;</span></div></li> |
|
2974 |
+<li><div class="src-line"><a name="a2958"></a> <span class="src-sym">}</span></div></li> |
|
2975 |
+<li><div class="src-line"><a name="a2959"></a> <span class="src-sym">}</span></div></li> |
|
2976 |
+<li><div class="src-line"><a name="a2960"></a> </div></li> |
|
2977 |
+<li><div class="src-line"><a name="a2961"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">COMPILABLE_PLUGIN</span><span class="src-sym">) </span>=== <span class="src-num">0 </span>&& <span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">NATIVE_PLUGIN</span><span class="src-sym">) </span>=== <span class="src-num">0 </span>&& <span class="src-sym">(</span><span class="src-var">$pluginType </span><span class="src-sym">& </span><span class="src-id"><a href="../Dwoo/Dwoo.html">Dwoo</a></span><span class="src-sym">::</span><span class="src-id">PROXY_PLUGIN</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2978 |
+<li><div class="src-line"><a name="a2962"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodaddUsedPlugin">addUsedPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">, </span><span class="src-var">$pluginType</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2979 |
+<li><div class="src-line"><a name="a2963"></a> <span class="src-sym">}</span></div></li> |
|
2980 |
+<li><div class="src-line"><a name="a2964"></a> </div></li> |
|
2981 |
+<li><div class="src-line"><a name="a2965"></a> <span class="src-key">return </span><span class="src-var">$pluginType</span><span class="src-sym">;</span></div></li> |
|
2982 |
+<li><div class="src-line"><a name="a2966"></a> <span class="src-sym">}</span></div></li> |
|
2983 |
+<li><div class="src-line"><a name="a2967"></a> </div></li> |
|
2984 |
+<li><div class="src-line"><a name="a2968"></a> <span class="src-doc">/**</span></div></li> |
|
2985 |
+<li><div class="src-line"><a name="a2969"></a><span class="src-doc"> * allows a plugin to load another one at compile time, this will also mark</span></div></li> |
|
2986 |
+<li><div class="src-line"><a name="a2970"></a><span class="src-doc"> * it as used by this template so it will be loaded at runtime (which can be</span></div></li> |
|
2987 |
+<li><div class="src-line"><a name="a2971"></a><span class="src-doc"> * useful for compiled plugins that rely on another plugin when their compiled</span></div></li> |
|
2988 |
+<li><div class="src-line"><a name="a2972"></a><span class="src-doc"> * code runs)</span></div></li> |
|
2989 |
+<li><div class="src-line"><a name="a2973"></a><span class="src-doc"> *</span></div></li> |
|
2990 |
+<li><div class="src-line"><a name="a2974"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">string </span><span class="src-doc-var">$name </span><span class="src-doc">the plugin name</span></div></li> |
|
2991 |
+<li><div class="src-line"><a name="a2975"></a><span class="src-doc"> */</span></div></li> |
|
2992 |
+<li><div class="src-line"><a name="a2976"></a> <span class="src-key">public </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodloadPlugin">loadPlugin</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
2993 |
+<li><div class="src-line"><a name="a2977"></a> <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetPluginType">getPluginType</a><span class="src-sym">(</span><span class="src-var">$name</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
2994 |
+<li><div class="src-line"><a name="a2978"></a> <span class="src-sym">}</span></div></li> |
|
2995 |
+<li><div class="src-line"><a name="a2979"></a> </div></li> |
|
2996 |
+<li><div class="src-line"><a name="a2980"></a> <span class="src-doc">/**</span></div></li> |
|
2997 |
+<li><div class="src-line"><a name="a2981"></a><span class="src-doc"> * runs htmlentities over the matched <?php ?> blocks when the security policy enforces that</span></div></li> |
|
2998 |
+<li><div class="src-line"><a name="a2982"></a><span class="src-doc"> *</span></div></li> |
|
2999 |
+<li><div class="src-line"><a name="a2983"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$match </span><span class="src-doc">matched php block</span></div></li> |
|
3000 |
+<li><div class="src-line"><a name="a2984"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">string </span><span class="src-doc">the htmlentities-converted string</span></div></li> |
|
3001 |
+<li><div class="src-line"><a name="a2985"></a><span class="src-doc"> */</span></div></li> |
|
3002 |
+<li><div class="src-line"><a name="a2986"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodphpTagEncodingHelper">phpTagEncodingHelper</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">)</span></div></li> |
|
3003 |
+<li><div class="src-line"><a name="a2987"></a> <span class="src-sym">{</span></div></li> |
|
3004 |
+<li><div class="src-line"><a name="a2988"></a> <span class="src-key">return </span><a href="http://www.php.net/htmlspecialchars">htmlspecialchars</a><span class="src-sym">(</span><span class="src-var">$match</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3005 |
3005 |
<li><div class="src-line"><a name="a2989"></a> <span class="src-sym">}</span></div></li> |
| 3006 |
3006 |
<li><div class="src-line"><a name="a2990"></a> </div></li> |
| 3007 |
3007 |
<li><div class="src-line"><a name="a2991"></a> <span class="src-doc">/**</span></div></li> |
| 3008 |
|
-<li><div class="src-line"><a name="a2992"></a><span class="src-doc"> * returns the parameter map of the given callback, it filters out entries typed as Dwoo and Dwoo_Compiler and turns the rest parameter into a "*"</span></div></li> |
|
3008 |
+<li><div class="src-line"><a name="a2992"></a><span class="src-doc"> * maps the parameters received from the template onto the parameters required by the given callback</span></div></li> |
| 3009 |
3009 |
<li><div class="src-line"><a name="a2993"></a><span class="src-doc"> *</span></div></li> |
| 3010 |
|
-<li><div class="src-line"><a name="a2994"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$callback </span><span class="src-doc">the function/method to reflect on</span></div></li> |
| 3011 |
|
-<li><div class="src-line"><a name="a2995"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">processed parameter map</span></div></li> |
| 3012 |
|
-<li><div class="src-line"><a name="a2996"></a><span class="src-doc"> */</span></div></li> |
| 3013 |
|
-<li><div class="src-line"><a name="a2997"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetParamMap">getParamMap</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
| 3014 |
|
-<li><div class="src-line"><a name="a2998"></a> <span class="src-sym">{</span></div></li> |
| 3015 |
|
-<li><div class="src-line"><a name="a2999"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 3016 |
|
-<li><div class="src-line"><a name="a3000"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
| 3017 |
|
-<li><div class="src-line"><a name="a3001"></a> <span class="src-sym">}</span></div></li> |
| 3018 |
|
-<li><div class="src-line"><a name="a3002"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
| 3019 |
|
-<li><div class="src-line"><a name="a3003"></a> <span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3020 |
|
-<li><div class="src-line"><a name="a3004"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
| 3021 |
|
-<li><div class="src-line"><a name="a3005"></a> <span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionFunction</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3022 |
|
-<li><div class="src-line"><a name="a3006"></a> <span class="src-sym">}</span></div></li> |
|
3010 |
+<li><div class="src-line"><a name="a2994"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$params </span><span class="src-doc">the array of parameters</span></div></li> |
|
3011 |
+<li><div class="src-line"><a name="a2995"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$callback </span><span class="src-doc">the function or method to reflect on to find out the required parameters</span></div></li> |
|
3012 |
+<li><div class="src-line"><a name="a2996"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">int </span><span class="src-doc-var">$callType </span><span class="src-doc">the type of call in the template, 0 = no params, 1 = php-style call, 2 = named parameters call</span></div></li> |
|
3013 |
+<li><div class="src-line"><a name="a2997"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">array </span><span class="src-doc-var">$map </span><span class="src-doc">the parameter map to use, if not provided it will be built from the callback</span></div></li> |
|
3014 |
+<li><div class="src-line"><a name="a2998"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">parameters sorted in the correct order with missing optional parameters filled</span></div></li> |
|
3015 |
+<li><div class="src-line"><a name="a2999"></a><span class="src-doc"> */</span></div></li> |
|
3016 |
+<li><div class="src-line"><a name="a3000"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodmapParams">mapParams</a><span class="src-sym">(</span><span class="src-key">array </span><span class="src-var">$params</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">, </span><span class="src-var">$callType</span>=<span class="src-num">2</span><span class="src-sym">, </span><span class="src-var">$map </span>= <span class="src-id">null</span><span class="src-sym">)</span></div></li> |
|
3017 |
+<li><div class="src-line"><a name="a3001"></a> <span class="src-sym">{</span></div></li> |
|
3018 |
+<li><div class="src-line"><a name="a3002"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-sym">!</span><span class="src-var">$map</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3019 |
+<li><div class="src-line"><a name="a3003"></a> <span class="src-var">$map </span>= <span class="src-var">$this</span><span class="src-sym">-></span><a href="../Dwoo/Dwoo_Compiler.html#methodgetParamMap">getParamMap</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3020 |
+<li><div class="src-line"><a name="a3004"></a> <span class="src-sym">}</span></div></li> |
|
3021 |
+<li><div class="src-line"><a name="a3005"></a> </div></li> |
|
3022 |
+<li><div class="src-line"><a name="a3006"></a> <span class="src-var">$paramlist </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3023 |
3023 |
<li><div class="src-line"><a name="a3007"></a> </div></li> |
| 3024 |
|
-<li><div class="src-line"><a name="a3008"></a> <span class="src-var">$out </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3025 |
|
-<li><div class="src-line"><a name="a3009"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">getParameters</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$param</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 3026 |
|
-<li><div class="src-line"><a name="a3010"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$class </span>= <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getClass</span><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">null </span>&& <span class="src-var">$class</span><span class="src-sym">-></span><span class="src-id">name </span>=== <span class="src-str">'Dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 3027 |
|
-<li><div class="src-line"><a name="a3011"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
| 3028 |
|
-<li><div class="src-line"><a name="a3012"></a> <span class="src-sym">}</span></div></li> |
| 3029 |
|
-<li><div class="src-line"><a name="a3013"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$class </span>= <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getClass</span><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">null </span>&& <span class="src-var">$class</span><span class="src-sym">-></span><span class="src-id">name </span>=== <span class="src-str">'Dwoo_Compiler'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 3030 |
|
-<li><div class="src-line"><a name="a3014"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
3024 |
+<li><div class="src-line"><a name="a3008"></a> <span class="src-comm">// transforms the parameter array from (x=>array('paramname'=>array(values))) to (paramname=>array(values))</span></div></li> |
|
3025 |
+<li><div class="src-line"><a name="a3009"></a> <span class="src-var">$ps </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3026 |
+<li><div class="src-line"><a name="a3010"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$params </span><span class="src-key">as </span><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3027 |
+<li><div class="src-line"><a name="a3011"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3028 |
+<li><div class="src-line"><a name="a3012"></a> <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
3029 |
+<li><div class="src-line"><a name="a3013"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
3030 |
+<li><div class="src-line"><a name="a3014"></a> <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">;</span></div></li> |
| 3031 |
3031 |
<li><div class="src-line"><a name="a3015"></a> <span class="src-sym">}</span></div></li> |
| 3032 |
|
-<li><div class="src-line"><a name="a3016"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">) </span>=== <span class="src-str">'rest' </span>&& <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isArray</span><span class="src-sym">(</span><span class="src-sym">) </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 3033 |
|
-<li><div class="src-line"><a name="a3017"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isOptional</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3034 |
|
-<li><div class="src-line"><a name="a3018"></a> <span class="src-sym">}</span></div></li> |
| 3035 |
|
-<li><div class="src-line"><a name="a3019"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isOptional</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isOptional</span><span class="src-sym">(</span><span class="src-sym">) </span>? <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getDefaultValue</span><span class="src-sym">(</span><span class="src-sym">) </span>: <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
| 3036 |
|
-<li><div class="src-line"><a name="a3020"></a> <span class="src-sym">}</span></div></li> |
| 3037 |
|
-<li><div class="src-line"><a name="a3021"></a> </div></li> |
| 3038 |
|
-<li><div class="src-line"><a name="a3022"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
| 3039 |
|
-<li><div class="src-line"><a name="a3023"></a> <span class="src-sym">}</span></div></li> |
| 3040 |
|
-<li><div class="src-line"><a name="a3024"></a> </div></li> |
| 3041 |
|
-<li><div class="src-line"><a name="a3025"></a> <span class="src-doc">/**</span></div></li> |
| 3042 |
|
-<li><div class="src-line"><a name="a3026"></a><span class="src-doc"> * returns a default instance of this compiler, used by default by all Dwoo templates that do not have a</span></div></li> |
| 3043 |
|
-<li><div class="src-line"><a name="a3027"></a><span class="src-doc"> * specific compiler assigned and when you do not override the default compiler factory function</span></div></li> |
| 3044 |
|
-<li><div class="src-line"><a name="a3028"></a><span class="src-doc"> *</span></div></li> |
| 3045 |
|
-<li><div class="src-line"><a name="a3029"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> Dwoo::setDefaultCompilerFactory()</span></div></li> |
| 3046 |
|
-<li><div class="src-line"><a name="a3030"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Compiler </span></div></li> |
| 3047 |
|
-<li><div class="src-line"><a name="a3031"></a><span class="src-doc"> */</span></div></li> |
| 3048 |
|
-<li><div class="src-line"><a name="a3032"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodcompilerFactory">compilerFactory</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
| 3049 |
|
-<li><div class="src-line"><a name="a3033"></a> <span class="src-sym">{</span></div></li> |
| 3050 |
|
-<li><div class="src-line"><a name="a3034"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
| 3051 |
|
-<li><div class="src-line"><a name="a3035"></a> <span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>= <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">;</span></div></li> |
| 3052 |
|
-<li><div class="src-line"><a name="a3036"></a> <span class="src-sym">}</span></div></li> |
| 3053 |
|
-<li><div class="src-line"><a name="a3037"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance</span><span class="src-sym">;</span></div></li> |
| 3054 |
|
-<li><div class="src-line"><a name="a3038"></a> <span class="src-sym">}</span></div></li> |
| 3055 |
|
-<li><div class="src-line"><a name="a3039"></a><span class="src-sym">}</span></div></li> |
|
3032 |
+<li><div class="src-line"><a name="a3016"></a> <span class="src-sym">}</span></div></li> |
|
3033 |
+<li><div class="src-line"><a name="a3017"></a> </div></li> |
|
3034 |
+<li><div class="src-line"><a name="a3018"></a> <span class="src-comm">// loops over the param map and assigns values from the template or default value for unset optional params</span></div></li> |
|
3035 |
+<li><div class="src-line"><a name="a3019"></a> <span class="src-key">while </span><span class="src-sym">(</span>list<span class="src-sym">(</span><span class="src-var">$k</span><span class="src-sym">,</span><span class="src-var">$v</span><span class="src-sym">) </span>= <a href="http://www.php.net/each">each</a><span class="src-sym">(</span><span class="src-var">$map</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3036 |
+<li><div class="src-line"><a name="a3020"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>=== <span class="src-str">'*'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3037 |
+<li><div class="src-line"><a name="a3021"></a> <span class="src-comm">// "rest" array parameter, fill every remaining params in it and then break</span></div></li> |
|
3038 |
+<li><div class="src-line"><a name="a3022"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">) </span>=== <span class="src-num">0</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3039 |
+<li><div class="src-line"><a name="a3023"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>===<span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3040 |
+<li><div class="src-line"><a name="a3024"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Rest argument missing for '</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span><span class="src-sym">, </span><span class="src-str">'_compile'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">) </span>? <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">] </span>: <span class="src-var">$callback</span><span class="src-sym">)))</span><span class="src-sym">;</span></div></li> |
|
3041 |
+<li><div class="src-line"><a name="a3025"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
3042 |
+<li><div class="src-line"><a name="a3026"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
3043 |
+<li><div class="src-line"><a name="a3027"></a> <span class="src-sym">}</span></div></li> |
|
3044 |
+<li><div class="src-line"><a name="a3028"></a> <span class="src-sym">}</span></div></li> |
|
3045 |
+<li><div class="src-line"><a name="a3029"></a> <span class="src-var">$tmp </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3046 |
+<li><div class="src-line"><a name="a3030"></a> <span class="src-var">$tmp2 </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3047 |
+<li><div class="src-line"><a name="a3031"></a> <span class="src-var">$tmp3 </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3048 |
+<li><div class="src-line"><a name="a3032"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ps </span><span class="src-key">as </span><span class="src-var">$i</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3049 |
+<li><div class="src-line"><a name="a3033"></a> <span class="src-var">$tmp</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
3050 |
+<li><div class="src-line"><a name="a3034"></a> <span class="src-var">$tmp2</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>= <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
3051 |
+<li><div class="src-line"><a name="a3035"></a> <span class="src-var">$tmp3</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">] </span>= isset<span class="src-sym">(</span><span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">) </span>? <span class="src-var">$p</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">] </span>: <span class="src-num">0</span><span class="src-sym">;</span></div></li> |
|
3052 |
+<li><div class="src-line"><a name="a3036"></a> unset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$i</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3053 |
+<li><div class="src-line"><a name="a3037"></a> <span class="src-sym">}</span></div></li> |
|
3054 |
+<li><div class="src-line"><a name="a3038"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">, </span><span class="src-var">$tmp2</span><span class="src-sym">, </span><span class="src-var">$tmp3</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3055 |
+<li><div class="src-line"><a name="a3039"></a> unset<span class="src-sym">(</span><span class="src-var">$tmp</span><span class="src-sym">, </span><span class="src-var">$tmp2</span><span class="src-sym">, </span><span class="src-var">$i</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3056 |
+<li><div class="src-line"><a name="a3040"></a> <span class="src-key">break</span><span class="src-sym">;</span></div></li> |
|
3057 |
+<li><div class="src-line"><a name="a3041"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3058 |
+<li><div class="src-line"><a name="a3042"></a> <span class="src-comm">// parameter is defined as named param</span></div></li> |
|
3059 |
+<li><div class="src-line"><a name="a3043"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">;</span></div></li> |
|
3060 |
+<li><div class="src-line"><a name="a3044"></a> unset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3061 |
+<li><div class="src-line"><a name="a3045"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span>isset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3062 |
+<li><div class="src-line"><a name="a3046"></a> <span class="src-comm">// parameter is defined as ordered param</span></div></li> |
|
3063 |
+<li><div class="src-line"><a name="a3047"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
3064 |
+<li><div class="src-line"><a name="a3048"></a> unset<span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">[</span><span class="src-var">$k</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3065 |
+<li><div class="src-line"><a name="a3049"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span>===<span class="src-id">false</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3066 |
+<li><div class="src-line"><a name="a3050"></a> <span class="src-comm">// parameter is not defined and not optional, throw error</span></div></li> |
|
3067 |
+<li><div class="src-line"><a name="a3051"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3068 |
+<li><div class="src-line"><a name="a3052"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_object">is_object</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3069 |
+<li><div class="src-line"><a name="a3053"></a> <span class="src-var">$name </span>= <a href="http://www.php.net/get_class">get_class</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">) </span>. <span class="src-str">'::' </span>. <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
3070 |
+<li><div class="src-line"><a name="a3054"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
3071 |
+<li><div class="src-line"><a name="a3055"></a> <span class="src-var">$name </span>= <span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">;</span></div></li> |
|
3072 |
+<li><div class="src-line"><a name="a3056"></a> <span class="src-sym">}</span></div></li> |
|
3073 |
+<li><div class="src-line"><a name="a3057"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
3074 |
+<li><div class="src-line"><a name="a3058"></a> <span class="src-var">$name </span>= <span class="src-var">$callback</span><span class="src-sym">;</span></div></li> |
|
3075 |
+<li><div class="src-line"><a name="a3059"></a> <span class="src-sym">}</span></div></li> |
|
3076 |
+<li><div class="src-line"><a name="a3060"></a> </div></li> |
|
3077 |
+<li><div class="src-line"><a name="a3061"></a> throw <span class="src-key">new </span><span class="src-id"><a href="../Dwoo/Dwoo_Compilation_Exception.html">Dwoo_Compilation_Exception</a></span><span class="src-sym">(</span><span class="src-var">$this</span><span class="src-sym">, </span><span class="src-str">'Argument '</span>.<span class="src-var">$k</span>.<span class="src-str">'/'</span>.<span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span>.<span class="src-str">' missing for '</span>.<a href="http://www.php.net/str_replace">str_replace</a><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'Dwoo_Plugin_'</span><span class="src-sym">, </span><span class="src-str">'_compile'</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-str">''</span><span class="src-sym">, </span><span class="src-var">$name</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
3078 |
+<li><div class="src-line"><a name="a3062"></a> <span class="src-sym">} </span><span class="src-key">elseif </span><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span>===<span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3079 |
+<li><div class="src-line"><a name="a3063"></a> <span class="src-comm">// enforce lowercased null if default value is null (php outputs NULL with var export)</span></div></li> |
|
3080 |
+<li><div class="src-line"><a name="a3064"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'null'</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">, </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-id">T_NULL</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3081 |
+<li><div class="src-line"><a name="a3065"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
3082 |
+<li><div class="src-line"><a name="a3066"></a> <span class="src-comm">// outputs default value with var_export</span></div></li> |
|
3083 |
+<li><div class="src-line"><a name="a3067"></a> <span class="src-var">$paramlist</span><span class="src-sym">[</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]] </span>= <span class="src-key">array</span><span class="src-sym">(</span><a href="http://www.php.net/var_export">var_export</a><span class="src-sym">(</span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$v</span><span class="src-sym">[</span><span class="src-num">2</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3084 |
+<li><div class="src-line"><a name="a3068"></a> <span class="src-sym">}</span></div></li> |
|
3085 |
+<li><div class="src-line"><a name="a3069"></a> <span class="src-sym">}</span></div></li> |
|
3086 |
+<li><div class="src-line"><a name="a3070"></a> </div></li> |
|
3087 |
+<li><div class="src-line"><a name="a3071"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/count">count</a><span class="src-sym">(</span><span class="src-var">$ps</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3088 |
+<li><div class="src-line"><a name="a3072"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ps </span><span class="src-key">as </span><span class="src-var">$i</span>=><span class="src-var">$p</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3089 |
+<li><div class="src-line"><a name="a3073"></a> <a href="http://www.php.net/array_push">array_push</a><span class="src-sym">(</span><span class="src-var">$paramlist</span><span class="src-sym">, </span><span class="src-var">$p</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3090 |
+<li><div class="src-line"><a name="a3074"></a> <span class="src-sym">}</span></div></li> |
|
3091 |
+<li><div class="src-line"><a name="a3075"></a> <span class="src-sym">}</span></div></li> |
|
3092 |
+<li><div class="src-line"><a name="a3076"></a> </div></li> |
|
3093 |
+<li><div class="src-line"><a name="a3077"></a> <span class="src-key">return </span><span class="src-var">$paramlist</span><span class="src-sym">;</span></div></li> |
|
3094 |
+<li><div class="src-line"><a name="a3078"></a> <span class="src-sym">}</span></div></li> |
|
3095 |
+<li><div class="src-line"><a name="a3079"></a> </div></li> |
|
3096 |
+<li><div class="src-line"><a name="a3080"></a> <span class="src-doc">/**</span></div></li> |
|
3097 |
+<li><div class="src-line"><a name="a3081"></a><span class="src-doc"> * returns the parameter map of the given callback, it filters out entries typed as Dwoo and Dwoo_Compiler and turns the rest parameter into a "*"</span></div></li> |
|
3098 |
+<li><div class="src-line"><a name="a3082"></a><span class="src-doc"> *</span></div></li> |
|
3099 |
+<li><div class="src-line"><a name="a3083"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@param </span><span class="src-doc-type">callback </span><span class="src-doc-var">$callback </span><span class="src-doc">the function/method to reflect on</span></div></li> |
|
3100 |
+<li><div class="src-line"><a name="a3084"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">array </span><span class="src-doc">processed parameter map</span></div></li> |
|
3101 |
+<li><div class="src-line"><a name="a3085"></a><span class="src-doc"> */</span></div></li> |
|
3102 |
+<li><div class="src-line"><a name="a3086"></a> <span class="src-key">protected </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodgetParamMap">getParamMap</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span></div></li> |
|
3103 |
+<li><div class="src-line"><a name="a3087"></a> <span class="src-sym">{</span></div></li> |
|
3104 |
+<li><div class="src-line"><a name="a3088"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_null">is_null</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3105 |
+<li><div class="src-line"><a name="a3089"></a> <span class="src-key">return </span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-id">true</span><span class="src-sym">))</span><span class="src-sym">;</span></div></li> |
|
3106 |
+<li><div class="src-line"><a name="a3090"></a> <span class="src-sym">}</span></div></li> |
|
3107 |
+<li><div class="src-line"><a name="a3091"></a> <span class="src-key">if </span><span class="src-sym">(</span><a href="http://www.php.net/is_array">is_array</a><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)) </span><span class="src-sym">{</span></div></li> |
|
3108 |
+<li><div class="src-line"><a name="a3092"></a> <span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionMethod</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">0</span><span class="src-sym">]</span><span class="src-sym">, </span><span class="src-var">$callback</span><span class="src-sym">[</span><span class="src-num">1</span><span class="src-sym">]</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3109 |
+<li><div class="src-line"><a name="a3093"></a> <span class="src-sym">} </span><span class="src-key">else </span><span class="src-sym">{</span></div></li> |
|
3110 |
+<li><div class="src-line"><a name="a3094"></a> <span class="src-var">$ref </span>= <span class="src-key">new </span><span class="src-id">ReflectionFunction</span><span class="src-sym">(</span><span class="src-var">$callback</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3111 |
+<li><div class="src-line"><a name="a3095"></a> <span class="src-sym">}</span></div></li> |
|
3112 |
+<li><div class="src-line"><a name="a3096"></a> </div></li> |
|
3113 |
+<li><div class="src-line"><a name="a3097"></a> <span class="src-var">$out </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3114 |
+<li><div class="src-line"><a name="a3098"></a> <span class="src-key">foreach </span><span class="src-sym">(</span><span class="src-var">$ref</span><span class="src-sym">-></span><span class="src-id">getParameters</span><span class="src-sym">(</span><span class="src-sym">) </span><span class="src-key">as </span><span class="src-var">$param</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3115 |
+<li><div class="src-line"><a name="a3099"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$class </span>= <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getClass</span><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">null </span>&& <span class="src-var">$class</span><span class="src-sym">-></span><span class="src-id">name </span>=== <span class="src-str">'Dwoo'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3116 |
+<li><div class="src-line"><a name="a3100"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
3117 |
+<li><div class="src-line"><a name="a3101"></a> <span class="src-sym">}</span></div></li> |
|
3118 |
+<li><div class="src-line"><a name="a3102"></a> <span class="src-key">if </span><span class="src-sym">((</span><span class="src-var">$class </span>= <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getClass</span><span class="src-sym">(</span><span class="src-sym">)) </span>!== <span class="src-id">null </span>&& <span class="src-var">$class</span><span class="src-sym">-></span><span class="src-id">name </span>=== <span class="src-str">'Dwoo_Compiler'</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3119 |
+<li><div class="src-line"><a name="a3103"></a> <span class="src-key">continue</span><span class="src-sym">;</span></div></li> |
|
3120 |
+<li><div class="src-line"><a name="a3104"></a> <span class="src-sym">}</span></div></li> |
|
3121 |
+<li><div class="src-line"><a name="a3105"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">) </span>=== <span class="src-str">'rest' </span>&& <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isArray</span><span class="src-sym">(</span><span class="src-sym">) </span>=== <span class="src-id">true</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3122 |
+<li><div class="src-line"><a name="a3106"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-str">'*'</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isOptional</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3123 |
+<li><div class="src-line"><a name="a3107"></a> <span class="src-sym">}</span></div></li> |
|
3124 |
+<li><div class="src-line"><a name="a3108"></a> <span class="src-var">$out</span><span class="src-sym">[</span><span class="src-sym">] </span>= <span class="src-key">array</span><span class="src-sym">(</span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getName</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isOptional</span><span class="src-sym">(</span><span class="src-sym">)</span><span class="src-sym">, </span><span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">isOptional</span><span class="src-sym">(</span><span class="src-sym">) </span>? <span class="src-var">$param</span><span class="src-sym">-></span><span class="src-id">getDefaultValue</span><span class="src-sym">(</span><span class="src-sym">) </span>: <span class="src-id">null</span><span class="src-sym">)</span><span class="src-sym">;</span></div></li> |
|
3125 |
+<li><div class="src-line"><a name="a3109"></a> <span class="src-sym">}</span></div></li> |
|
3126 |
+<li><div class="src-line"><a name="a3110"></a> </div></li> |
|
3127 |
+<li><div class="src-line"><a name="a3111"></a> <span class="src-key">return </span><span class="src-var">$out</span><span class="src-sym">;</span></div></li> |
|
3128 |
+<li><div class="src-line"><a name="a3112"></a> <span class="src-sym">}</span></div></li> |
|
3129 |
+<li><div class="src-line"><a name="a3113"></a> </div></li> |
|
3130 |
+<li><div class="src-line"><a name="a3114"></a> <span class="src-doc">/**</span></div></li> |
|
3131 |
+<li><div class="src-line"><a name="a3115"></a><span class="src-doc"> * returns a default instance of this compiler, used by default by all Dwoo templates that do not have a</span></div></li> |
|
3132 |
+<li><div class="src-line"><a name="a3116"></a><span class="src-doc"> * specific compiler assigned and when you do not override the default compiler factory function</span></div></li> |
|
3133 |
+<li><div class="src-line"><a name="a3117"></a><span class="src-doc"> *</span></div></li> |
|
3134 |
+<li><div class="src-line"><a name="a3118"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@see</span><span class="src-doc"> Dwoo::setDefaultCompilerFactory()</span></div></li> |
|
3135 |
+<li><div class="src-line"><a name="a3119"></a><span class="src-doc"> * </span><span class="src-doc-coretag">@return </span><span class="src-doc-type">Dwoo_Compiler </span></div></li> |
|
3136 |
+<li><div class="src-line"><a name="a3120"></a><span class="src-doc"> */</span></div></li> |
|
3137 |
+<li><div class="src-line"><a name="a3121"></a> <span class="src-key">public </span><span class="src-key">static </span><span class="src-key">function </span><a href="../Dwoo/Dwoo_Compiler.html#methodcompilerFactory">compilerFactory</a><span class="src-sym">(</span><span class="src-sym">)</span></div></li> |
|
3138 |
+<li><div class="src-line"><a name="a3122"></a> <span class="src-sym">{</span></div></li> |
|
3139 |
+<li><div class="src-line"><a name="a3123"></a> <span class="src-key">if </span><span class="src-sym">(</span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance </span>=== <span class="src-id">null</span><span class="src-sym">) </span><span class="src-sym">{</span></div></li> |
|
3140 |
+<li><div class="src-line"><a name="a3124"></a> <span class="src-key">new </span><span class="src-id">self</span><span class="src-sym">;</span></div></li> |
|
3141 |
+<li><div class="src-line"><a name="a3125"></a> <span class="src-sym">}</span></div></li> |
|
3142 |
+<li><div class="src-line"><a name="a3126"></a> <span class="src-key">return </span><span class="src-id">self</span><span class="src-sym">::</span><span class="src-var">$instance</span><span class="src-sym">;</span></div></li> |
|
3143 |
+<li><div class="src-line"><a name="a3127"></a> <span class="src-sym">}</span></div></li> |
|
3144 |
+<li><div class="src-line"><a name="a3128"></a><span class="src-sym">}</span></div></li> |
| 3056 |
3145 |
</ol></div> |
| 3057 |
3146 |
</div> |
| 3058 |
3147 |
<p class="notes" id="credit"> |
| 3059 |
|
- Documentation generated on Sat, 18 Jul 2009 21:04:45 +0200 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a> |
|
3148 |
+ Documentation generated on Sun, 07 Feb 2010 17:03:45 +0000 by <a href="http://www.phpdoc.org" target="_blank">phpDocumentor 1.4.0</a> |
| 3060 |
3149 |
</p> |
| 3061 |
3150 |
</body> |
| 3062 |
3151 |
</html> |