summaryrefslogtreecommitdiff
path: root/example
diff options
context:
space:
mode:
authorKevin Chabowski <kevin@kch42.de>2013-10-25 21:44:02 +0200
committerKevin Chabowski <kevin@kch42.de>2013-10-25 21:44:02 +0200
commitdd03af69265ad686ae8daff6ecbd9df763e6d19f (patch)
treea86dae876afae2dcea9a3d70e3b513e305b38415 /example
parent91b965181f907b169aeeff63a6c15f9b8df9d9a9 (diff)
parenteebf5cb885f266104333ac145355ef6e2599e5f6 (diff)
downloadste-dd03af69265ad686ae8daff6ecbd9df763e6d19f.tar.gz
ste-dd03af69265ad686ae8daff6ecbd9df763e6d19f.tar.bz2
ste-dd03af69265ad686ae8daff6ecbd9df763e6d19f.zip
Merge branch 'parser2'
STE gets a new, more robust parser. The previous parser was very fragile and relied on some ugly regular expressions. Other advantages of the new parser: * No precompile phase to implement short tags (?{}, ~{}), that means short tags can now be nested in any order. * The parses now uses the mb_* functions, so it should handle non-ascii text correctly. There were also some improvements to the compiler: * Various small bugfixes. * The compiler accepts and compiles tag parameters that have tags in them. The parser still doesn't accept this (and probably never will), this is mainly used to allow arbitrary code inside of short cmp tags (~{..}). There are now (finally!) tests for the language to maintain a certain quality and consistency (which STE lacked in the past, to be honest). And finally the code was reformatted. Now 1TBS is used instead of Allman.
Diffstat (limited to 'example')
-rw-r--r--example/templates/transc/.gitignore1
-rw-r--r--example/templates/transc/articles.html.php172
-rw-r--r--example/templates/transc/custom_tags.tpl.php65
-rw-r--r--example/templates/transc/master.html.php503
4 files changed, 1 insertions, 740 deletions
diff --git a/example/templates/transc/.gitignore b/example/templates/transc/.gitignore
new file mode 100644
index 0000000..cde8069
--- /dev/null
+++ b/example/templates/transc/.gitignore
@@ -0,0 +1 @@
+*.php
diff --git a/example/templates/transc/articles.html.php b/example/templates/transc/articles.html.php
deleted file mode 100644
index d52658c..0000000
--- a/example/templates/transc/articles.html.php
+++ /dev/null
@@ -1,172 +0,0 @@
-<?php $transcompile_fx = function($ste)
-{
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= $ste->load("custom_tags.tpl");
- $outputstack[$outputstack_i] .= $ste->load("master.html");
- $blockname_4feb57c8eb53c0_39108239 = "content";
- $ste->blocks['4feb57c8eb54f8.57715029'] = array_pop($outputstack);
- $ste->blockorder[] = '4feb57c8eb54f8.57715029';
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "<h2>Some Articles</h2>\n\t";
- $parameters_4feb57c8eb55d1_49937129 = array();
- $parameters_4feb57c8eb55d1_49937129['array'] = "articles";
- $parameters_4feb57c8eb55d1_49937129['value'] = "article";
- $parameters_4feb57c8eb55d1_49937129['max'] = "3";
- $parameters_4feb57c8eb55d1_49937129['counter'] = "i";
- $outputstack[$outputstack_i] .= $ste->call_tag('foreach_limit', $parameters_4feb57c8eb55d1_49937129, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "<h3>";
- $parameters_4feb57c8eb59c3_59434363 = array();
- $outputstack[$outputstack_i] .= $ste->call_tag('uppercase', $parameters_4feb57c8eb59c3_59434363, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $parameters_4feb57c8eb5a98_71645476 = array();
- $outputstack[$outputstack_i] .= $ste->call_tag('escape', $parameters_4feb57c8eb5a98_71645476, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= @$ste->vars["article"]["title"];
- return array_pop($outputstack);
- });
- return array_pop($outputstack);
- });
- $outputstack[$outputstack_i] .= "</h3>\n\t\t<div class=\"author\">Author: ";
- $parameters_4feb57c8eb5f92_71020272 = array();
- $outputstack[$outputstack_i] .= $ste->call_tag('escape', $parameters_4feb57c8eb5f92_71020272, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= @$ste->vars["article"]["author"];
- return array_pop($outputstack);
- });
- $outputstack[$outputstack_i] .= "</div>\n\t\t<div class=\"date\">";
- $parameters_4feb57c8eb62b8_11002450 = array();
- $parameters_4feb57c8eb62b8_11002450['timestamp'] = @$ste->vars["article"]["timestamp"];
- $outputstack[$outputstack_i] .= $ste->call_tag('date', $parameters_4feb57c8eb62b8_11002450, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "%d. %h. %Y, %H:%M:%S";
- return array_pop($outputstack);
- });
- $outputstack[$outputstack_i] .= "</div>\n\t\t<div class=\"article_content\">\n\t\t\t";
- $outputstack[] = "";
- $outputstack_i++;
- $outputstack[$outputstack_i] .= (($ste->get_var_by_name("i")) == ("0")) ? 'yes' : '';
- $outputstack_i--;
- if($ste->evalbool(array_pop($outputstack)))
- {
- $outputstack[$outputstack_i] .= "\n\t\t\t\t\t" . @$ste->vars["article"]["full"];
-
- }
- else
- {
- $outputstack[$outputstack_i] .= "\n\t\t\t\t\t" . @$ste->vars["article"]["excerpt"];
-
- }
- $outputstack[$outputstack_i] .= "</div>\n\t\t<hr />\n\t";
- return array_pop($outputstack);
- });
- $outputstack[] = '';
- $outputstack_i++;
- $parameters_4feb57c8eb72f3_12728934 = array();
- $parameters_4feb57c8eb72f3_12728934['array'] = "articles";
- $outputstack[$outputstack_i] .= $ste->call_tag('arraylen', $parameters_4feb57c8eb72f3_12728934, function($ste) { return ''; });
- $outputstack_i--;
- $ste->set_var_by_name("articles_n", array_pop($outputstack));
- $outputstack[] = "";
- $outputstack_i++;
- $outputstack[$outputstack_i] .= ((@$ste->vars["articles_n"]) > ("3")) ? 'yes' : '';
- $outputstack_i--;
- if($ste->evalbool(array_pop($outputstack)))
- {
- $outputstack[$outputstack_i] .= "<p>There are <a href=\"#\">more articles</a>.</p>\n\t\t";
-
- }
- $outputstack[$outputstack_i] .= "<h2>Some more useless demo stuff...</h2>\n\t\t<h3>Counting from 10 to 0...</h3>\n\t\t<p>but take only the even ones and multiply by 5...</p>\n\t\t";
- $forloop_4feb57c8eb7965_88913250_start = "10";
- $forloop_4feb57c8eb7965_88913250_stop = "0";
- $forloop_4feb57c8eb7965_88913250_countername = "i";
- for($forloop_4feb57c8eb7965_88913250_counter = $forloop_4feb57c8eb7965_88913250_start; $forloop_4feb57c8eb7965_88913250_counter >= $forloop_4feb57c8eb7965_88913250_stop; $forloop_4feb57c8eb7965_88913250_counter += -1)
- {
- try
- {
- $ste->set_var_by_name($forloop_4feb57c8eb7965_88913250_countername, $forloop_4feb57c8eb7965_88913250_counter);
- $outputstack[] = "";
- $outputstack_i++;
- $outputstack[] = '';
- $outputstack_i++;
- $outputstack[$outputstack_i] .= @$ste->vars["i"];
- $outputstack_i--;
- $tmp_even = array_pop($outputstack);
- $outputstack[$outputstack_i] .= (is_numeric($tmp_even) and ($tmp_even % 2 == 0)) ? 'yes' : '';
- $outputstack_i--;
- if($ste->evalbool(array_pop($outputstack)))
- {
- $outputstack[] = '';
- $outputstack_i++;
- $outputstack[$outputstack_i] .= @$ste->vars["i"] . " * 5";
- $outputstack_i--;
- $outputstack[$outputstack_i] .= $ste->calc(array_pop($outputstack));
- $outputstack[$outputstack_i] .= "<br />\n\t\t\t\t";
-
- }
-
- }
- catch(\ste\BreakException $e) { break; }
- catch(\ste\ContinueException $e) { continue; }
-
- }
-
- $outputstack[$outputstack_i] .= "<h3>Repeat some text...</h3>\n\t\t";
- $parameters_4feb57c8eb86f4_27000372 = array();
- $parameters_4feb57c8eb86f4_27000372['n'] = "10";
- $outputstack[$outputstack_i] .= $ste->call_tag('repeat', $parameters_4feb57c8eb86f4_27000372, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "<p>Bla</p>\n\t\t";
- return array_pop($outputstack);
- });
- $outputstack[$outputstack_i] .= "<h3>Get a variable's content dynamically</h3>\n\t\t";
- $outputstack[$outputstack_i] .= $ste->get_var_by_name(@$ste->vars["foo"] . "[" . @$ste->vars["bar"] . "]");$outputstack[$outputstack_i] .= "<h3>We will call ste:repeat with a non-numerical value for n here to see the handling of a RuntimeError</h3>\n\t\t";
- $parameters_4feb57c8eb8be8_11772552 = array();
- $parameters_4feb57c8eb8be8_11772552['n'] = "lol";
- $outputstack[$outputstack_i] .= $ste->call_tag('repeat', $parameters_4feb57c8eb8be8_11772552, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "<p>Bla</p>\n\t\t";
- return array_pop($outputstack);
- });
- $parameters_4feb57c8eb8e64_48510077 = array();
- $parameters_4feb57c8eb8e64_48510077['array'] = "hai";
- $parameters_4feb57c8eb8e64_48510077['delim'] = ",";
- $outputstack[$outputstack_i] .= $ste->call_tag('split', $parameters_4feb57c8eb8e64_48510077, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "a,b,c,d,e";
- return array_pop($outputstack);
- });
- $parameters_4feb57c8eb91f2_76021324 = array();
- $parameters_4feb57c8eb91f2_76021324['array'] = "hai";
- $outputstack[$outputstack_i] .= $ste->call_tag('join', $parameters_4feb57c8eb91f2_76021324, function($ste)
- {
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "<br />";
- return array_pop($outputstack);
- });
- $ste->blocks[$blockname_4feb57c8eb53c0_39108239] = array_pop($outputstack);
- if(array_search($blockname_4feb57c8eb53c0_39108239, $ste->blockorder) === FALSE)
- $ste->blockorder[] = $blockname_4feb57c8eb53c0_39108239;
- $outputstack = array('');
- $outputstack_i = 0;
- return array_pop($outputstack);
-}; ?> \ No newline at end of file
diff --git a/example/templates/transc/custom_tags.tpl.php b/example/templates/transc/custom_tags.tpl.php
deleted file mode 100644
index b92f8a3..0000000
--- a/example/templates/transc/custom_tags.tpl.php
+++ /dev/null
@@ -1,65 +0,0 @@
-<?php $transcompile_fx = function($ste)
-{
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[] = '';
- $outputstack_i++;
- $outputstack[$outputstack_i] .= "array|value|max";
- $outputstack_i--;
- $mandatory_params = explode('|', array_pop($outputstack));
- $tag_fx = function($ste, $params, $sub) use ($mandatory_params)
- {
- $outputstack = array(); $outputstack_i = 0;$ste->vars['_tag_parameters'] = $params;
- foreach($mandatory_params as $mp)
- {
- if(!isset($params[$mp]))
- throw new \ste\RuntimeError("$mp missing in <ste:" . "foreach_limit" . ">.");
- }$foreachloop_4f4e9064144651_57761022_arrayvar = @$ste->vars["_tag_parameters"]["array"];
- $foreachloop_4f4e9064144651_57761022_valuevar = @$ste->vars["_tag_parameters"]["value"];
- $foreachloop_4f4e9064144651_57761022_countervar = "i";
- $foreachloop_4f4e9064144651_57761022_array = $ste->get_var_by_name($foreachloop_4f4e9064144651_57761022_arrayvar);
- if(!is_array($foreachloop_4f4e9064144651_57761022_array))
- $foreachloop_4f4e9064144651_57761022_array = array();
- $foreachloop_4f4e9064144651_57761022_counter = -1;
- foreach($foreachloop_4f4e9064144651_57761022_array as $foreachloop_4f4e9064144651_57761022_key => $foreachloop_4f4e9064144651_57761022_value)
- {
- try
- {
- $foreachloop_4f4e9064144651_57761022_counter++;
- $ste->set_var_by_name($foreachloop_4f4e9064144651_57761022_countervar, $foreachloop_4f4e9064144651_57761022_counter);
- $ste->set_var_by_name($foreachloop_4f4e9064144651_57761022_valuevar, $foreachloop_4f4e9064144651_57761022_value);
-
- $outputstack[] = "";
- $outputstack_i++;
- $outputstack[$outputstack_i] .= (($ste->get_var_by_name("i")) >= ($ste->get_var_by_name("_tag_parameters[max]"))) ? 'yes' : '';
- $outputstack_i--;
- if($ste->evalbool(array_pop($outputstack)))
- {
- throw new \ste\BreakException();
-
- }
- $outputstack[] = "";
- $outputstack_i++;
- $outputstack[$outputstack_i] .= "\n\t\t\t" . @$ste->vars["_tag_parameters"]["counter"];
- $outputstack_i--;
- if($ste->evalbool(array_pop($outputstack)))
- {
- $outputstack[] = '';
- $outputstack_i++;
- $outputstack[$outputstack_i] .= @$ste->vars["i"];
- $outputstack_i--;
- $ste->set_var_by_name(@$ste->vars["_tag_parameters"]["counter"], array_pop($outputstack));
-
- }
- $outputstack[$outputstack_i] .= $sub($ste);
- }
- catch(\ste\BreakException $e) { break; }
- catch(\ste\ContinueException $e) { continue; }
-
- }
-
- return array_pop($outputstack);
- };
- $ste->register_tag("foreach_limit", $tag_fx);
- return array_pop($outputstack);
-}; ?> \ No newline at end of file
diff --git a/example/templates/transc/master.html.php b/example/templates/transc/master.html.php
deleted file mode 100644
index 1bee843..0000000
--- a/example/templates/transc/master.html.php
+++ /dev/null
@@ -1,503 +0,0 @@
-<?php $transcompile_fx = function($ste)
-{/*Array
-(
- [0] => ste\TextNode Object
- (
- [text] => <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en">
-<head>
- <title>
- [tpl] => master.html
- [offset] => 0
- )
-
- [1] => ste\TagNode Object
- (
- [name] => if
- [params] => Array
- (
- )
-
- [sub] => Array
- (
- [0] => ste\VariableNode Object
- (
- [name] => title
- [arrayfields] => Array
- (
- )
-
- [tpl] => master.html
- [offset] => 206
- )
-
- [1] => ste\TagNode Object
- (
- [name] => then
- [params] => Array
- (
- )
-
- [sub] => Array
- (
- [0] => ste\VariableNode Object
- (
- [name] => title
- [arrayfields] => Array
- (
- )
-
- [tpl] => master.html
- [offset] => 222
- )
-
- [1] => ste\TextNode Object
- (
- [text] => - example
- [tpl] => master.html
- [offset] => 227
- )
-
- )
-
- [tpl] => master.html
- [offset] => 211
- )
-
- [2] => ste\TagNode Object
- (
- [name] => else
- [params] => Array
- (
- )
-
- [sub] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => example
- [tpl] => master.html
- [offset] => 258
- )
-
- )
-
- [tpl] => master.html
- [offset] => 248
- )
-
- )
-
- [tpl] => master.html
- [offset] => 197
- )
-
- [2] => ste\TextNode Object
- (
- [text] => </title>
- [tpl] => master.html
- [offset] => 285
- )
-
- [3] => ste\TextNode Object
- (
- [text] => <style type="text/css">
- * {
- font-family: sans-serif;
- }
- .online {
- color: #0a0;
- }
- .offline {
- color: #555;
- font-style: italic;
-
- }
- </style>
-
-</head>
-<body>
- <h1>example</h1>
-
- <div id="content">
-
- [tpl] => master.html
- [offset] => 384
- )
-
- [4] => ste\TagNode Object
- (
- [name] => block
- [params] => Array
- (
- [name] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => content
- [tpl] => master.html
- [offset] => 626
- )
-
- )
-
- )
-
- [sub] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => Default content.
-
- [tpl] => master.html
- [offset] => 635
- )
-
- )
-
- [tpl] => master.html
- [offset] => 609
- )
-
- [5] => ste\TextNode Object
- (
- [text] => </div>
- <div id="otherstuff">
-
- [tpl] => master.html
- [offset] => 670
- )
-
- [6] => ste\TagNode Object
- (
- [name] => block
- [params] => Array
- (
- [name] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => otherstuff
- [tpl] => master.html
- [offset] => 721
- )
-
- )
-
- )
-
- [sub] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => <h2>List of users</h2>
-
- [tpl] => master.html
- [offset] => 733
- )
-
- [1] => ste\TextNode Object
- (
- [text] => <ul>
-
- [tpl] => master.html
- [offset] => 820
- )
-
- [2] => ste\TagNode Object
- (
- [name] => foreach
- [params] => Array
- (
- [array] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => users
- [tpl] => master.html
- [offset] => 853
- )
-
- )
-
- [value] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => user
- [tpl] => master.html
- [offset] => 867
- )
-
- )
-
- )
-
- [sub] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => <li class="
- [tpl] => master.html
- [offset] => 873
- )
-
- [1] => ste\TagNode Object
- (
- [name] => if
- [params] => Array
- (
- )
-
- [sub] => Array
- (
- [0] => ste\VariableNode Object
- (
- [name] => user
- [arrayfields] => Array
- (
- [0] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => online
- [tpl] => master.html
- [offset] => 904
- )
-
- )
-
- )
-
- [tpl] => master.html
- [offset] => 899
- )
-
- [1] => ste\TagNode Object
- (
- [name] => then
- [params] => Array
- (
- )
-
- [sub] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => online
- [tpl] => master.html
- [offset] => 921
- )
-
- )
-
- [tpl] => master.html
- [offset] => 911
- )
-
- [2] => ste\TagNode Object
- (
- [name] => else
- [params] => Array
- (
- )
-
- [sub] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => offline
- [tpl] => master.html
- [offset] => 948
- )
-
- )
-
- [tpl] => master.html
- [offset] => 938
- )
-
- )
-
- [tpl] => master.html
- [offset] => 890
- )
-
- [2] => ste\TextNode Object
- (
- [text] => ">
- [tpl] => master.html
- [offset] => 975
- )
-
- [3] => ste\VariableNode Object
- (
- [name] => user
- [arrayfields] => Array
- (
- [0] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => name
- [tpl] => master.html
- [offset] => 983
- )
-
- )
-
- )
-
- [tpl] => master.html
- [offset] => 978
- )
-
- [4] => ste\TextNode Object
- (
- [text] => (
- [tpl] => master.html
- [offset] => 988
- )
-
- [5] => ste\VariableNode Object
- (
- [name] => user
- [arrayfields] => Array
- (
- [0] => Array
- (
- [0] => ste\TextNode Object
- (
- [text] => username
- [tpl] => master.html
- [offset] => 996
- )
-
- )
-
- )
-
- [tpl] => master.html
- [offset] => 991
- )
-
- [6] => ste\TextNode Object
- (
- [text] => )</li>
-
- [tpl] => master.html
- [offset] => 1005
- )
-
- )
-
- [tpl] => master.html
- [offset] => 833
- )
-
- [3] => ste\TextNode Object
- (
- [text] => </ul>
-
- [tpl] => master.html
- [offset] => 1030
- )
-
- )
-
- [tpl] => master.html
- [offset] => 704
- )
-
- [7] => ste\TextNode Object
- (
- [text] => </div>
-</body>
-</html>
-
- [tpl] => master.html
- [offset] => 1054
- )
-
-)
-*/
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n\t\"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"en-us\" lang=\"en\">\n<head>\n\t<title>";
- $outputstack[] = "";
- $outputstack_i++;
- $outputstack[$outputstack_i] .= @$ste->vars["title"];
- $outputstack_i--;
- if($ste->evalbool(array_pop($outputstack)))
- {
- $outputstack[$outputstack_i] .= @$ste->vars["title"] . " - example";
-
- }
- else
- {
- $outputstack[$outputstack_i] .= "example";
-
- }
- $outputstack[$outputstack_i] .= "</title>" . "<style type=\"text/css\">\n\t\t* {\n\t\t\tfont-family: sans-serif;\n\t\t}\n\t\t.online {\n\t\t\tcolor: #0a0;\n\t\t}\n\t\t.offline {\n\t\t\tcolor: #555;\n\t\t\tfont-style: italic;\n\t\t\t\n\t\t}\n\t</style>\n\t\n</head>\n<body>\n\t<h1>example</h1>\n\t\n\t<div id=\"content\">\n\t\t";
- $blockname_4f4e94ddd41342_39491438 = "content";
- $ste->blocks['4f4e94ddd41470.10353359'] = array_pop($outputstack);
- $ste->blockorder[] = '4f4e94ddd41470.10353359';
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "Default content.\n\t\t";
- $ste->blocks[$blockname_4f4e94ddd41342_39491438] = array_pop($outputstack);
- if(array_search($blockname_4f4e94ddd41342_39491438, $ste->blockorder) === FALSE)
- $ste->blockorder[] = $blockname_4f4e94ddd41342_39491438;
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "</div>\n\t<div id=\"otherstuff\">\n\t\t";
- $blockname_4f4e94ddd415e6_09352068 = "otherstuff";
- $ste->blocks['4f4e94ddd416b2.98760934'] = array_pop($outputstack);
- $ste->blockorder[] = '4f4e94ddd416b2.98760934';
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "<h2>List of users</h2>\n\t\t\t" . "<ul>\n\t\t\t\t";
- $foreachloop_4f4e94ddd417b7_50245786_arrayvar = "users";
- $foreachloop_4f4e94ddd417b7_50245786_valuevar = "user";
- $foreachloop_4f4e94ddd417b7_50245786_array = $ste->get_var_by_name($foreachloop_4f4e94ddd417b7_50245786_arrayvar);
- if(!is_array($foreachloop_4f4e94ddd417b7_50245786_array))
- $foreachloop_4f4e94ddd417b7_50245786_array = array();
- foreach($foreachloop_4f4e94ddd417b7_50245786_array as $foreachloop_4f4e94ddd417b7_50245786_key => $foreachloop_4f4e94ddd417b7_50245786_value)
- {
- try
- {
- $ste->set_var_by_name($foreachloop_4f4e94ddd417b7_50245786_valuevar, $foreachloop_4f4e94ddd417b7_50245786_value);
-
- $outputstack[$outputstack_i] .= "<li class=\"";
- $outputstack[] = "";
- $outputstack_i++;
- $outputstack[$outputstack_i] .= @$ste->vars["user"]["online"];
- $outputstack_i--;
- if($ste->evalbool(array_pop($outputstack)))
- {
- $outputstack[$outputstack_i] .= "online";
-
- }
- else
- {
- $outputstack[$outputstack_i] .= "offline";
-
- }
- $outputstack[$outputstack_i] .= "\">" . @$ste->vars["user"]["name"] . " (" . @$ste->vars["user"]["username"] . ")</li>\n\t\t\t\t";
-
- }
- catch(\ste\BreakException $e) { break; }
- catch(\ste\ContinueException $e) { continue; }
-
- }
-
- $outputstack[$outputstack_i] .= "</ul>\n\t\t";
- $ste->blocks[$blockname_4f4e94ddd415e6_09352068] = array_pop($outputstack);
- if(array_search($blockname_4f4e94ddd415e6_09352068, $ste->blockorder) === FALSE)
- $ste->blockorder[] = $blockname_4f4e94ddd415e6_09352068;
- $outputstack = array('');
- $outputstack_i = 0;
- $outputstack[$outputstack_i] .= "</div>\n</body>\n</html>\n";
- return array_pop($outputstack);
-}; ?> \ No newline at end of file