public function serializeFields($v)
 {
     $_g = 0;
     $_g1 = Reflect::fields($v);
     while ($_g < $_g1->length) {
         $f = $_g1[$_g];
         ++$_g;
         $this->serializeString($f);
         $this->serialize(Reflect::field($v, $f));
         unset($f);
     }
     $this->buf->add("g");
 }
 static function atts2field($aAtts)
 {
     $f = new _hx_array(array());
     $_g = 0;
     $_g1 = Reflect::fields($aAtts);
     while ($_g < $_g1->length) {
         $name = $_g1[$_g];
         ++$_g;
         $f->push(Reflect::field($aAtts, $name));
         unset($name);
     }
     return $f;
 }
Exemple #3
0
 static function fromObject($eventData, $object)
 {
     $_g = 0;
     $_g1 = Reflect::fields($object);
     while ($_g < $_g1->length) {
         $fieldName = $_g1[$_g];
         ++$_g;
         $value = Reflect::field($object, $fieldName);
         $eventData->{$fieldName} = $value;
         unset($value);
         unset($fieldName);
     }
 }
 public function __construct($dsn, $user = null, $password = null, $options = null)
 {
     if (!php_Boot::$skip_constructor) {
         if (null === $options) {
             $this->pdo = new PDO($dsn, $user, $password);
         } else {
             $arr = array();
             $_g = 0;
             $_g1 = Reflect::fields($options);
             while ($_g < $_g1->length) {
                 $key = $_g1[$_g];
                 ++$_g;
                 $arr[$key] = Reflect::field($options, $key);
                 unset($key);
             }
             $this->pdo = new PDO($dsn, $user, $password, $arr);
         }
         $this->dbname = _hx_explode(":", $dsn)->shift();
     }
 }
 public function load_view_object($view, $vars = null)
 {
     $base = isset(system_base_Wet_base::$get_instance) ? system_base_Wet_base::$get_instance : array("system_base_Wet_base", "get_instance");
     $viewpath = _hx_string_or_null(system_base_Wet_base::$views_path) . _hx_string_or_null($view) . ".wtv";
     $view1 = null;
     $pos = 0;
     $left = null;
     $right = null;
     $uservar = null;
     $fieldname = null;
     try {
         $view1 = sys_io_File::getContent($viewpath);
     } catch (Exception $__hx__e) {
         $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
         $e = $_ex_;
         throw new HException(new system_base_NoFileError(_hx_string_or_null($viewpath) . " does not exist or cannot be opened for reading"));
     }
     if ($vars !== null) {
         $fields = Reflect::fields($vars);
         $_g = 0;
         while ($_g < $fields->length) {
             $fieldname1 = $fields[$_g];
             ++$_g;
             $uservar = Std::string(Reflect::field($vars, $fieldname1));
             $pos = 0;
             while (($pos = _hx_index_of($view1, "::" . _hx_string_or_null($fieldname1) . "::", $pos)) !== -1) {
                 $left = _hx_substr($view1, 0, $pos);
                 $right = _hx_substr($view1, $pos + strlen($fieldname1) + 4, null);
                 $view1 = _hx_string_or_null($left) . _hx_string_or_null($uservar) . _hx_string_or_null($right);
                 $pos += 1;
             }
             unset($fieldname1);
         }
     }
     $this->cache->append($view1);
 }
Exemple #6
0
 public function addRow($r, $txt)
 {
     $json = _hx_deref(new haxe_format_JsonParser($txt))->parseRec();
     if ($this->columns === null) {
         $this->columns = new haxe_ds_StringMap();
     }
     $w = $this->tab->get_width();
     $h = $this->tab->get_height();
     $resize = false;
     $_g = 0;
     $_g1 = Reflect::fields($json);
     while ($_g < $_g1->length) {
         $name = $_g1[$_g];
         ++$_g;
         if (!$this->columns->exists($name)) {
             $this->columns->set($name, $w);
             $w++;
             $resize = true;
         }
         unset($name);
     }
     if ($r >= $h) {
         $h = $r + 1;
         $resize = true;
     }
     if ($resize) {
         $this->tab->resize($w, $h);
     }
     $_g2 = 0;
     $_g11 = Reflect::fields($json);
     while ($_g2 < $_g11->length) {
         $name1 = $_g11[$_g2];
         ++$_g2;
         $v = Reflect::field($json, $name1);
         $c = $this->columns->get($name1);
         $this->tab->setCell($c, $r, $v);
         unset($v, $name1, $c);
     }
 }
 public function initializeContext($injector)
 {
     $this->context = new haxe_remoting_Context();
     if (null == $this->apiContexts) {
         throw new HException('null iterable');
     }
     $__hx__it = $this->apiContexts->iterator();
     while ($__hx__it->hasNext()) {
         unset($apiContextClass);
         $apiContextClass = $__hx__it->next();
         $apiContext = $injector->_instantiate($apiContextClass);
         $_g = 0;
         $_g1 = Reflect::fields($apiContext);
         while ($_g < $_g1->length) {
             $fieldName = $_g1[$_g];
             ++$_g;
             $api = Reflect::field($apiContext, $fieldName);
             if (Reflect::isObject($api)) {
                 $this->context->addObject($fieldName, $api, false);
             }
             unset($fieldName, $api);
         }
         unset($_g1, $_g);
         unset($apiContext);
     }
     if (null == $this->apis) {
         throw new HException('null iterable');
     }
     $__hx__it = $this->apis->iterator();
     while ($__hx__it->hasNext()) {
         unset($apiClass);
         $apiClass = $__hx__it->next();
         $className = Type::getClassName($apiClass);
         $api1 = $injector->_instantiate($apiClass);
         $this->context->addObject($className, $api1, false);
         unset($className, $api1);
     }
 }
Exemple #8
0
 static function copy($o)
 {
     if (is_string($o)) {
         return $o;
     }
     $o2 = _hx_anonymous(array());
     $_g = 0;
     $_g1 = Reflect::fields($o);
     while ($_g < $_g1->length) {
         $f = $_g1[$_g];
         ++$_g;
         $o2->{$f} = Reflect::field($o, $f);
         unset($f);
     }
     return $o2;
 }
 public function __construct($optionsIn = null)
 {
     if (!php_Boot::$skip_constructor) {
         $this->appTemplatingEngines = new HList();
         $this->firstRun = true;
         parent::__construct();
         $this->configuration = ufront_app_DefaultUfrontConfiguration::get();
         $_g = 0;
         $_g1 = Reflect::fields($optionsIn);
         while ($_g < $_g1->length) {
             $field = $_g1[$_g];
             ++$_g;
             $value = Reflect::field($optionsIn, $field);
             $this->configuration->{$field} = $value;
             unset($value, $field);
         }
         $this->mvcHandler = new ufront_web_MVCHandler($this->configuration->indexController);
         $this->remotingHandler = new ufront_remoting_RemotingHandler();
         if ($this->configuration->remotingApi !== null) {
             $_this = $this->remotingHandler;
             $apiContext = $this->configuration->remotingApi;
             $_this->apiContexts->push($apiContext);
             $newAPIs = ufront_api_UFApiContext::getApisInContext($apiContext);
             if (null == $newAPIs) {
                 throw new HException('null iterable');
             }
             $__hx__it = $newAPIs->iterator();
             while ($__hx__it->hasNext()) {
                 unset($api);
                 $api = $__hx__it->next();
                 $_this->apis->push($api);
             }
         }
         if (null == $this->configuration->controllers) {
             throw new HException('null iterable');
         }
         $__hx__it = $this->configuration->controllers->iterator();
         while ($__hx__it->hasNext()) {
             unset($controller);
             $controller = $__hx__it->next();
             $this->injector->mapRuntimeTypeOf($controller, null)->_toClass($controller);
         }
         $this->addModule($this->requestMiddleware, null, $this->configuration->requestMiddleware, false);
         $this->addModule($this->requestHandlers, null, new _hx_array(array($this->remotingHandler, $this->mvcHandler)), false);
         $this->addModule($this->responseMiddleware, null, $this->configuration->responseMiddleware, true);
         $this->addModule($this->errorHandlers, null, $this->configuration->errorHandlers, false);
         if (!$this->configuration->disableServerTrace) {
             $logger = new ufront_log_ServerConsoleLogger();
             $this->addModule($this->logHandlers, $logger, null, false);
         }
         if (!$this->configuration->disableBrowserTrace) {
             $logger1 = new ufront_log_BrowserConsoleLogger();
             $this->addModule($this->logHandlers, $logger1, null, false);
             $logger2 = new ufront_log_RemotingLogger();
             $this->addModule($this->logHandlers, $logger2, null, false);
         }
         if (null !== $this->configuration->logFile) {
             $logger3 = new ufront_log_FileLogger($this->configuration->logFile);
             $this->addModule($this->logHandlers, $logger3, null, false);
         }
         $path = $this->configuration->basePath;
         if (StringTools::endsWith($path, "/")) {
             $path = _hx_substr($path, 0, strlen($path) - 1);
         }
         if (StringTools::startsWith($path, "/")) {
             $path = _hx_substr($path, 1, null);
         }
         if (strlen($path) > 0) {
             parent::addUrlFilter(new ufront_web_url_filter_DirectoryUrlFilter($path));
         }
         if ($this->configuration->urlRewrite !== true) {
             parent::addUrlFilter(new ufront_web_url_filter_PathInfoUrlFilter(null, null));
         }
         if ($this->configuration->sessionImplementation !== null) {
             $this->injector->mapType("ufront.web.session.UFHttpSession", null, null)->_toClass($this->configuration->sessionImplementation);
             $this->injector->mapRuntimeTypeOf($this->configuration->sessionImplementation, null)->_toClass($this->configuration->sessionImplementation);
         }
         if ($this->configuration->authImplementation !== null) {
             $this->injector->mapType("ufront.auth.UFAuthHandler", null, null)->_toClass($this->configuration->authImplementation);
             $this->injector->mapRuntimeTypeOf($this->configuration->authImplementation, null)->_toClass($this->configuration->authImplementation);
         }
         if ($this->configuration->viewEngine !== null) {
             $this->injector->mapType("String", "viewPath", null)->toValue($this->configuration->viewPath);
             $this->injector->mapType("ufront.view.UFViewEngine", null, null)->_toSingleton($this->configuration->viewEngine);
         }
         if ($this->configuration->contentDirectory !== null) {
             $this->setContentDirectory($this->configuration->contentDirectory);
         }
         if ($this->configuration->defaultLayout !== null) {
             $this->injector->mapType("String", "defaultLayout", null)->toValue($this->configuration->defaultLayout);
         }
         $_g2 = 0;
         $_g11 = $this->configuration->templatingEngines;
         while ($_g2 < $_g11->length) {
             $te = $_g11[$_g2];
             ++$_g2;
             $this->addTemplatingEngine($te);
             unset($te);
         }
     }
 }
Exemple #10
0
 public function jsonToTable($json)
 {
     $output = null;
     $_g = 0;
     $_g1 = Reflect::fields($json);
     while ($_g < $_g1->length) {
         $name = $_g1[$_g];
         ++$_g;
         $t = Reflect::field($json, $name);
         $columns = Reflect::field($t, "columns");
         if ($columns === null) {
             continue;
         }
         $rows = Reflect::field($t, "rows");
         if ($rows === null) {
             continue;
         }
         $output = new coopy_SimpleTable($columns->length, $rows->length);
         $has_hash = false;
         $has_hash_known = false;
         $_g3 = 0;
         $_g2 = $rows->length;
         while ($_g3 < $_g2) {
             $i = $_g3++;
             $row = $rows[$i];
             if (!$has_hash_known) {
                 if (Reflect::fields($row)->length === $columns->length) {
                     $has_hash = true;
                 }
                 $has_hash_known = true;
             }
             if (!$has_hash) {
                 $lst = $row;
                 $_g5 = 0;
                 $_g4 = $columns->length;
                 while ($_g5 < $_g4) {
                     $j = $_g5++;
                     $val = $lst[$j];
                     $output->setCell($j, $i, coopy_Coopy::cellFor($val));
                     unset($val, $j);
                 }
                 unset($_g5, $_g4);
                 unset($lst);
             } else {
                 $_g51 = 0;
                 $_g41 = $columns->length;
                 while ($_g51 < $_g41) {
                     $j1 = $_g51++;
                     $val1 = Reflect::field($row, $columns[$j1]);
                     $output->setCell($j1, $i, coopy_Coopy::cellFor($val1));
                     unset($val1, $j1);
                 }
                 unset($_g51, $_g41);
             }
             unset($row, $i);
         }
         unset($_g3, $_g2);
         unset($t, $rows, $name, $has_hash_known, $has_hash, $columns);
     }
     if ($output !== null) {
         $output->trimBlank();
     }
     return $output;
 }
 public function write($k, $v)
 {
     if ($this->replacer !== null) {
         $v = $this->replacer($k, $v);
     }
     $_g = Type::typeof($v);
     switch ($_g->index) {
         case 8:
             $this->buf->add("\"???\"");
             break;
         case 4:
             $this->fieldsString($v, Reflect::fields($v));
             break;
         case 1:
             $v1 = $v;
             $this->buf->add($v1);
             break;
         case 2:
             $v2 = null;
             if (Math::isFinite($v)) {
                 $v2 = $v;
             } else {
                 $v2 = "null";
             }
             $this->buf->add($v2);
             break;
         case 5:
             $this->buf->add("\"<fun>\"");
             break;
         case 6:
             $c = _hx_deref($_g)->params[0];
             if (is_object($_t = $c) && !$_t instanceof Enum ? $_t === _hx_qtype("String") : $_t == _hx_qtype("String")) {
                 $this->quote($v);
             } else {
                 if (is_object($_t2 = $c) && !$_t2 instanceof Enum ? $_t2 === _hx_qtype("Array") : $_t2 == _hx_qtype("Array")) {
                     $v3 = $v;
                     $this->buf->b .= "[";
                     $len = $v3->length;
                     $last = $len - 1;
                     $_g1 = 0;
                     while ($_g1 < $len) {
                         $i = $_g1++;
                         if ($i > 0) {
                             $this->buf->b .= ",";
                         } else {
                             $this->nind++;
                         }
                         if ($this->pretty) {
                             $this->buf->b .= "\n";
                         }
                         if ($this->pretty) {
                             $v4 = null;
                             $c1 = $this->indent;
                             $l = $this->nind * strlen($this->indent);
                             if (strlen($c1) === 0 || strlen("") >= $l) {
                                 $v4 = "";
                             } else {
                                 $v4 = str_pad("", Math::ceil(($l - strlen("")) / strlen($c1)) * strlen($c1) + strlen(""), $c1, STR_PAD_LEFT);
                             }
                             unset($l, $c1);
                             $this->buf->add($v4);
                             unset($v4);
                         }
                         $this->write($i, $v3[$i]);
                         if ($i === $last) {
                             $this->nind--;
                             if ($this->pretty) {
                                 $this->buf->b .= "\n";
                             }
                             if ($this->pretty) {
                                 $v5 = null;
                                 $c2 = $this->indent;
                                 $l1 = $this->nind * strlen($this->indent);
                                 if (strlen($c2) === 0 || strlen("") >= $l1) {
                                     $v5 = "";
                                 } else {
                                     $v5 = str_pad("", Math::ceil(($l1 - strlen("")) / strlen($c2)) * strlen($c2) + strlen(""), $c2, STR_PAD_LEFT);
                                 }
                                 unset($l1, $c2);
                                 $this->buf->add($v5);
                                 unset($v5);
                             }
                         }
                         unset($i);
                     }
                     $this->buf->b .= "]";
                 } else {
                     if (is_object($_t3 = $c) && !$_t3 instanceof Enum ? $_t3 === _hx_qtype("haxe.ds.StringMap") : $_t3 == _hx_qtype("haxe.ds.StringMap")) {
                         $v6 = $v;
                         $o = _hx_anonymous(array());
                         if (null == $v6) {
                             throw new HException('null iterable');
                         }
                         $__hx__it = $v6->keys();
                         while ($__hx__it->hasNext()) {
                             unset($k1);
                             $k1 = $__hx__it->next();
                             $value = $v6->get($k1);
                             $o->{$k1} = $value;
                             unset($value);
                         }
                         $this->fieldsString($o, Reflect::fields($o));
                     } else {
                         if (is_object($_t4 = $c) && !$_t4 instanceof Enum ? $_t4 === _hx_qtype("Date") : $_t4 == _hx_qtype("Date")) {
                             $v7 = $v;
                             $this->quote($v7->toString());
                         } else {
                             $this->fieldsString($v, Reflect::fields($v));
                         }
                     }
                 }
             }
             break;
         case 7:
             $i1 = null;
             $e = $v;
             $i1 = $e->index;
             $v8 = $i1;
             $this->buf->add($v8);
             break;
         case 3:
             $this->buf->add($v ? "true" : "false");
             break;
         case 0:
             $this->buf->add("null");
             break;
     }
 }
 public function analyse_sql($sql)
 {
     $rows = null;
     $dataset = null;
     $base = new _hx_array(array());
     $analysys = new _hx_array(array());
     $resultset = null;
     $row = null;
     $fields = null;
     $field_name = null;
     $rows = system_base_Database::$cnx->request("EXPLAIN EXTENDED " . _hx_string_or_null($sql));
     $resultset = $rows->results();
     $_g1 = 0;
     $_g = $rows->get_length();
     while ($_g1 < $_g) {
         $j = $_g1++;
         $dataset = new haxe_ds_StringMap();
         $row = $resultset->pop();
         $_g3 = 0;
         $_g2 = $rows->get_nfields();
         while ($_g3 < $_g2) {
             $i = $_g3++;
             $fields = Reflect::fields($row);
             $field_name = $fields[$i];
             if ($field_name !== null) {
                 $key = strtoupper($field_name);
                 $value = Reflect::field($row, $field_name);
                 $dataset->set($key, $value);
                 unset($value, $key);
             }
             unset($i);
         }
         unset($_g3, $_g2);
         $base[$j] = $dataset;
         unset($j);
     }
     $rows = system_base_Database::$cnx->request("SHOW WARNINGS;");
     $extended = _hx_anonymous(array("Level" => $rows->getResult(0), "Code" => $rows->getResult(1), "Message" => $rows->getResult(2)));
     $rows = system_base_Database::$cnx->request(_hx_string_or_null($sql) . " PROCEDURE ANALYSE()");
     $resultset = $rows->results();
     $_g11 = 0;
     $_g4 = $rows->get_length();
     while ($_g11 < $_g4) {
         $j1 = $_g11++;
         $dataset = new haxe_ds_StringMap();
         $row = $resultset->pop();
         $_g31 = 0;
         $_g21 = $rows->get_nfields();
         while ($_g31 < $_g21) {
             $i1 = $_g31++;
             $fields = Reflect::fields($row);
             $field_name = $fields[$i1];
             if ($field_name !== null) {
                 $key1 = strtoupper($field_name);
                 $value1 = Reflect::field($row, $field_name);
                 $dataset->set($key1, $value1);
                 unset($value1, $key1);
             }
             unset($i1);
         }
         unset($_g31, $_g21);
         $analysys[$j1] = $dataset;
         unset($j1);
     }
     return _hx_anonymous(array("SQL" => system_base_Sql_colour::pretify($sql), "base" => $base, "analysys" => $analysys, "extra" => $extended));
 }
 public function generate_links($config)
 {
     $router_params = _hx_deref(system_base_Paginator_1($this, $config))->params;
     $option_value = null;
     $uri_segment = 2;
     $full_tag_open = "";
     $full_tag_close = "";
     $first_link = "<<";
     $first_tag_open = "";
     $first_tag_close = "";
     $first_link_id = "first_paginated_link";
     $last_link = ">>";
     $last_tag_open = "";
     $last_tag_close = "";
     $last_link_id = "last_paginated_link";
     $next_link = ">";
     $next_tag_open = "";
     $next_tag_close = "";
     $next_link_id = "next_paginated_link";
     $prev_link = "<";
     $prev_tag_open = "";
     $prev_tag_close = "";
     $prev_link_id = "prev_paginated_link";
     $elipses = "...";
     $separator = "-";
     $number_class = "";
     $cur_tag_open = "";
     $cur_tag_close = "";
     $num_tag_open = "";
     $num_tag_close = "";
     $link_class = "";
     $nolink_class = "";
     $sideband_width = 5;
     $sband = null;
     $hints = true;
     $options = Reflect::fields($config);
     $urls = new StringBuf();
     $_g = 0;
     while ($_g < $options->length) {
         $option_name = $options[$_g];
         ++$_g;
         $option_value = Reflect::field($config, $option_name);
         switch ($option_name) {
             case "this.base_url":
                 $this->base_url = system_base_Paginator_2($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "uri_segment":
                 $uri_segment = system_base_Paginator_3($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "sideband_width":
                 $sideband_width = system_base_Paginator_4($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "separator":
                 $separator = system_base_Paginator_5($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "full_tag_open":
                 $full_tag_open = system_base_Paginator_6($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "full_tag_close":
                 $full_tag_close = system_base_Paginator_7($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "first_link":
                 $first_link = system_base_Paginator_8($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "first_tag_open":
                 $first_tag_open = system_base_Paginator_9($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "first_tag_close":
                 $first_tag_close = system_base_Paginator_10($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "first_link_id":
                 $first_link_id = system_base_Paginator_11($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "last_link":
                 $last_link = system_base_Paginator_12($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "last_tag_open":
                 $last_tag_open = system_base_Paginator_13($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "last_tag_close":
                 $last_tag_close = system_base_Paginator_14($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "last_link_id":
                 $last_link_id = system_base_Paginator_15($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "next_link":
                 $next_link = system_base_Paginator_16($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "next_tag_open":
                 $full_tag_open = system_base_Paginator_17($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "next_tag_close":
                 $next_tag_close = system_base_Paginator_18($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "prev_link":
                 $prev_link = system_base_Paginator_19($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "prev_tag_open":
                 $prev_tag_open = system_base_Paginator_20($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "prev_tag_close":
                 $prev_tag_close = system_base_Paginator_21($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "prev_link_id":
                 $prev_link_id = system_base_Paginator_22($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "cur_tag_open":
                 $cur_tag_open = system_base_Paginator_23($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "cur_tag_close":
                 $cur_tag_close = system_base_Paginator_24($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "num_tag_open":
                 $num_tag_open = system_base_Paginator_25($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "num_tag_close":
                 $num_tag_close = system_base_Paginator_26($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "elipses":
                 $elipses = system_base_Paginator_27($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "link_class":
                 $link_class = system_base_Paginator_28($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
             case "nolink_class":
                 $nolink_class = system_base_Paginator_29($this, $_g, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_name, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
                 break;
         }
         unset($option_name);
     }
     $current_page = system_base_Paginator_30($this, $config, $cur_tag_close, $cur_tag_open, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
     if ($current_page < 1) {
         $current_page = 1;
     }
     if ($current_page > $this->total_pages) {
         $current_page = $this->total_pages;
     }
     $urls->b .= $full_tag_open;
     $attribs = new system_base_Attributes(null, null, null, null, null, null, null, null, null, null, null);
     $attribs->set_id($first_link_id);
     $attribs->set_iclass($link_class);
     if ($current_page > 1) {
         $attribs->set_id($first_link_id);
         $urls->b .= $first_tag_open;
         $urls->b .= "<a href=\"" . Std::string($this->base_url . "1") . "\"" . $attribs->insert_attributes() . ">" . $first_link . "</a>";
         $urls->b .= $first_tag_close;
         $urls->b .= $separator;
         $attribs->set_id($prev_link_id);
         $urls->b .= $prev_tag_open;
         $urls->b .= "<a href=\"" . Std::string($this->base_url . Std::string($current_page - 1)) . "\"" . $attribs->insert_attributes() . ">" . $prev_link . "</a>";
         $urls->b .= $prev_tag_close;
     }
     $sband = system_base_Paginator_31($this, $attribs, $config, $cur_tag_close, $cur_tag_open, $current_page, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
     $urls->b .= system_base_Paginator_32($this, $attribs, $config, $cur_tag_close, $cur_tag_open, $current_page, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
     $attribs->set_id(null);
     $_g = $sband;
     while ($_g < $current_page) {
         $i = $_g++;
         $attribs->set_title(system_base_Paginator_33($this, $_g, $attribs, $config, $cur_tag_close, $cur_tag_open, $current_page, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $i, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls));
         $urls->b .= $num_tag_open;
         $urls->b .= "<a href=\"" . Std::string($this->base_url . Std::string($i)) . "\"" . $attribs->insert_attributes() . ">" . Std::string($i) . "</a>";
         $urls->b .= $num_tag_close;
         $urls->b .= $separator;
         unset($i);
     }
     $urls->b .= $cur_tag_open;
     $urls->b .= "<span class=\"" . $nolink_class . "\">" . Std::string($current_page) . "</span>";
     $urls->b .= $cur_tag_close;
     $sband = system_base_Paginator_34($this, $attribs, $config, $cur_tag_close, $cur_tag_open, $current_page, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
     $_g = $current_page + 1;
     while ($_g < $sband) {
         $i = $_g++;
         $attribs->set_title(system_base_Paginator_35($this, $_g, $attribs, $config, $cur_tag_close, $cur_tag_open, $current_page, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $i, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls));
         $urls->b .= $separator;
         $urls->b .= $num_tag_open;
         $urls->b .= "<a href=\"" . Std::string($this->base_url . Std::string($i)) . "\"" . $attribs->insert_attributes() . ">" . Std::string($i) . "</a>";
         $urls->b .= $num_tag_close;
         unset($i);
     }
     $urls->b .= system_base_Paginator_36($this, $attribs, $config, $cur_tag_close, $cur_tag_open, $current_page, $elipses, $first_link, $first_link_id, $first_tag_close, $first_tag_open, $full_tag_close, $full_tag_open, $hints, $last_link, $last_link_id, $last_tag_close, $last_tag_open, $link_class, $next_link, $next_link_id, $next_tag_close, $next_tag_open, $nolink_class, $num_tag_close, $num_tag_open, $number_class, $option_value, $options, $prev_link, $prev_link_id, $prev_tag_close, $prev_tag_open, $router_params, $sband, $separator, $sideband_width, $uri_segment, $urls);
     $urls->b .= $last_tag_open;
     if ($current_page < $this->total_pages) {
         $attribs->set_id($next_link_id);
         $attribs->set_title(null);
         $urls->b .= $next_tag_open;
         $urls->b .= "<a href=\"" . Std::string($this->base_url . Std::string($current_page + 1)) . "\"" . $attribs->insert_attributes() . ">" . $next_link . "</a>";
         $urls->b .= $next_tag_close;
         $urls->b .= $separator;
         $attribs->set_id($last_link_id);
         $urls->b .= $last_tag_open;
         $urls->b .= "<a href=\"" . Std::string($this->base_url . Std::string($this->total_pages)) . "\"" . $attribs->insert_attributes() . ">" . $last_link . "</a>";
         $urls->b .= $last_tag_close;
     }
     $urls->b .= $last_tag_close;
     $urls->b .= $full_tag_close;
     $this->current_links = $urls->b;
     return $this->current_links;
 }
 static function tabulate($o, $headings, $footers, $table, $header, $body, $footer, $rowA, $rowB, $tcol, $tcol_pos)
 {
     $output = new StringBuf();
     $i = null;
     $j = null;
     $fields = Reflect::fields($o[0]);
     $defs = null;
     $tcol_pos = system_base_Tabulator_0($body, $defs, $fields, $footer, $footers, $header, $headings, $i, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos);
     $output->b .= "<table " . system_base_Tabulator_1($body, $defs, $fields, $footer, $footers, $header, $headings, $i, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos) . ">";
     if ($headings === null) {
         $output->b .= "<thead" . system_base_Tabulator_2($body, $defs, $fields, $footer, $footers, $header, $headings, $i, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos) . ">";
         $output->b .= "<tr>";
         $_g1 = 0;
         $_g = $fields->length;
         while ($_g1 < $_g) {
             $i1 = $_g1++;
             $output->b .= "<th>" . $fields[$i1] . "</th>";
             unset($i1);
         }
         $output->b .= "</tr></thead>";
     } else {
         $output->b .= "<thead" . system_base_Tabulator_3($body, $defs, $fields, $footer, $footers, $header, $headings, $i, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos) . ">";
         $output->b .= "<tr>";
         $_g1 = 0;
         $_g = $headings->length;
         while ($_g1 < $_g) {
             $i1 = $_g1++;
             if ($i1 === $tcol_pos) {
                 $output->b .= "<th" . system_base_Tabulator_4($_g, $_g1, $body, $defs, $fields, $footer, $footers, $header, $headings, $i, $i1, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos) . ">" . $headings[$i1] . "</th>";
             } else {
                 $output->b .= "<th>" . $headings[$i1] . "</th>";
             }
             unset($i1);
         }
         $output->b .= "</tr></thead>";
     }
     if ($footers !== null) {
         $output->b .= "<tfoot" . system_base_Tabulator_5($body, $defs, $fields, $footer, $footers, $header, $headings, $i, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos) . ">";
         $output->b .= "<tr>";
         $_g1 = 0;
         $_g = $footers->length;
         while ($_g1 < $_g) {
             $i1 = $_g1++;
             if ($i1 === $tcol_pos) {
                 $output->b .= "<td" . system_base_Tabulator_6($_g, $_g1, $body, $defs, $fields, $footer, $footers, $header, $headings, $i, $i1, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos) . ">" . $footers[$i1] . "</td>";
             } else {
                 $output->b .= "<td>" . $footers[$i1] . "</td>";
             }
             unset($i1);
         }
         $output->b .= "</tr></tfoot>";
     }
     $output->b .= "<tbody" . system_base_Tabulator_7($body, $defs, $fields, $footer, $footers, $header, $headings, $i, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos) . ">";
     $toggle = true;
     $_g1 = 0;
     $_g = $o->length;
     while ($_g1 < $_g) {
         $i1 = $_g1++;
         $output->b .= "<tr" . system_base_Tabulator_8($_g, $_g1, $body, $defs, $fields, $footer, $footers, $header, $headings, $i, $i1, $j, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos, $toggle) . ">";
         $_g3 = 0;
         $_g2 = $fields->length;
         while ($_g3 < $_g2) {
             $j1 = $_g3++;
             if ($j1 === $tcol_pos) {
                 $output->b .= "<td" . system_base_Tabulator_9($_g, $_g1, $_g2, $_g3, $body, $defs, $fields, $footer, $footers, $header, $headings, $i, $i1, $j, $j1, $o, $output, $rowA, $rowB, $table, $tcol, $tcol_pos, $toggle) . ">" . Reflect::field($o[$i1], $fields[$j1]) . "</td>";
             } else {
                 $output->b .= "<td>" . Reflect::field($o[$i1], $fields[$j1]) . "</td>";
             }
             unset($j1);
         }
         unset($_g3, $_g2);
         $output->b .= "</tr>";
         $toggle = $toggle === false;
         unset($i1);
     }
     $output->b .= "</tbody></table>";
     return $output->b;
 }
Exemple #15
0
 static function dumpObjectRsafe($ob, $i = null)
 {
     $tClass = Type::getClass($ob);
     $m = "dumpObjectRsafe:" . Std::string($ob !== null ? Type::getClass($ob) : $ob) . "\n";
     $names = new _hx_array(array());
     if (Type::getClass($ob) !== null) {
         $names = Type::getInstanceFields(Type::getClass($ob));
     } else {
         $names = Reflect::fields($ob);
     }
     if (Type::getClass($ob) !== null) {
         $m = _hx_string_or_null(Type::getClassName(Type::getClass($ob))) . ":\n";
     }
     $_g = 0;
     while ($_g < $names->length) {
         $name = $names[$_g];
         ++$_g;
         try {
             $t = Std::string(Type::typeof(Reflect::field($ob, $name)));
             if (me_cunity_debug_Out::$skipFunctions && $t === "TFunction") {
                 null;
             }
             if ($name === "parentView" || $name === "ContextMenu" || $name === "cMenu") {
                 $m .= _hx_string_or_null($name) . ":" . Std::string($ob->parentView->id) . "\n";
             } else {
                 $m .= _hx_string_or_null($name) . ":" . Std::string(Reflect::field($ob, $name)) . ":" . _hx_string_or_null($t) . "\n";
             }
             unset($t);
         } catch (Exception $__hx__e) {
             $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
             $ex = $_ex_;
             $m .= _hx_string_or_null($name) . ":" . Std::string($ex);
         }
         unset($name, $ex);
     }
     me_cunity_debug_Out::_trace($m, $i);
 }