コード例 #1
0
 public function request($post)
 {
     $proxy = $this->getProxy();
     if ($proxy !== null && $proxy->host !== null && strlen($proxy->host) > 0) {
         $hpa = $proxy->auth;
         if ($hpa->user !== null && strlen($hpa->user) > 0) {
             $data = _hx_deref(new com_wiris_system_Base64())->encodeBytes(haxe_io_Bytes::ofString($hpa->user . ":" . $hpa->pass))->toString();
             $this->setHeader("Proxy-Authorization", "Basic " . $data);
         }
     }
     parent::request($post);
 }
コード例 #2
0
 public function writeXml($rset)
 {
     $fout = php_io_File::write("RomanianDictionary.xml", false);
     $fout->writeString(_hx_deref(new haxe_Template(haxe_Resource::getString("header")))->execute(_hx_anonymous(array()), null));
     $wordTemplate = new haxe_Template(haxe_Resource::getString("word"));
     $»it = $rset;
     while ($»it->hasNext()) {
         $row = $»it->next();
         $properties = _hx_anonymous(array("id" => $row->id, "word" => $row->lexicon, "definition" => $row->htmlRep));
         $fout->writeString($wordTemplate->execute($properties, null) . "\n");
         unset($properties);
     }
     $fout->writeString(_hx_deref(new haxe_Template(haxe_Resource::getString("footer")))->execute(_hx_anonymous(array()), null));
     $fout->close();
 }
コード例 #3
0
ファイル: Host.class.php プロジェクト: axelhuizinga/gem
 public function __construct($name)
 {
     if (!php_Boot::$skip_constructor) {
         if (_hx_deref(new EReg("^(\\d{1,3}\\.){3}\\d{1,3}\$", ""))->match($name)) {
             $this->_ip = $name;
         } else {
             $this->_ip = gethostbyname($name);
             if ($this->_ip === $name) {
                 $this->ip = 0;
                 return;
             }
         }
         $p = _hx_explode(".", $this->_ip);
         $this->ip = intval(sprintf("%02X%02X%02X%02X", $p[3], $p[2], $p[1], $p[0]), 16);
     }
 }
コード例 #4
0
ファイル: S.class.php プロジェクト: axelhuizinga/gem
 static function checkAuth()
 {
     S::$user = php_Session::get("PHP_AUTH_USER");
     haxe_Log::trace(S::$user, _hx_anonymous(array("fileName" => "S.hx", "lineNumber" => 98, "className" => "S", "methodName" => "checkAuth")));
     if (S::$user === null) {
         return false;
     }
     $pass = php_Session::get("PHP_AUTH_PW");
     if ($pass === null) {
         return false;
     }
     $res = php_Lib::hashOfAssociativeArray(_hx_deref(new Model(null))->query("SELECT use_non_latin,webroot_writable,pass_hash_enabled,pass_key,pass_cost,hosted_settings FROM system_settings"));
     if (S_0($pass, $res) === "1") {
         S::hexit("ENCRYPTED PASSWORDS NOT IMPLEMENTED");
     }
     $res = php_Lib::hashOfAssociativeArray(_hx_deref(new Model(null))->query("SELECT count(*) AS cnt FROM vicidial_users WHERE user=\"" . _hx_string_or_null(S::$user) . "\" and pass=\"" . _hx_string_or_null($pass) . "\" and user_level > 7 and active=\"Y\""));
     return $res->exists("0") && S_1($pass, $res) === "1";
 }
コード例 #5
0
 static function itemToString($b, $s)
 {
     switch ($s->index) {
         case 0:
             $b->add("a C function");
             break;
         case 1:
             $m = _hx_deref($s)->params[0];
             $b->add("module ");
             $b->add($m);
             break;
         case 2:
             $line = _hx_deref($s)->params[2];
             $file = _hx_deref($s)->params[1];
             $s1 = _hx_deref($s)->params[0];
             if ($s1 !== null) {
                 haxe_CallStack::itemToString($b, $s1);
                 $b->add(" (");
             }
             $b->add($file);
             $b->add(" line ");
             $b->add($line);
             if ($s1 !== null) {
                 $b->add(")");
             }
             break;
         case 3:
             $meth = _hx_deref($s)->params[1];
             $cname = _hx_deref($s)->params[0];
             $b->add($cname);
             $b->add(".");
             $b->add($meth);
             break;
         case 4:
             $n = _hx_deref($s)->params[0];
             $b->add("local function #");
             $b->add($n);
             break;
     }
 }
コード例 #6
0
ファイル: Ndjson.class.php プロジェクト: paulfitz/daff-php
 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);
     }
 }
コード例 #7
0
function tink_core__Outcome_OutcomeMapper_Impl__1(&$f, $o)
{
    switch ($o->index) {
        case 0:
            $d = _hx_deref($o)->params[0];
            $_g = call_user_func_array($f, array($d));
            switch ($_g->index) {
                case 0:
                    $d1 = _hx_deref($_g)->params[0];
                    return tink_core_Outcome::Success($d1);
                    break;
                case 1:
                    $f1 = _hx_deref($_g)->params[0];
                    return tink_core_Outcome::Failure(tink_core_Either::Right($f1));
                    break;
            }
            break;
        case 1:
            $f2 = _hx_deref($o)->params[0];
            return tink_core_Outcome::Failure(tink_core_Either::Left($f2));
            break;
    }
}
コード例 #8
0
 public function responseOut($ctx)
 {
     if (strtolower($ctx->request->get_httpMethod()) === "post" && $ctx->request->isMultipart()) {
         $_g = 0;
         $_g1 = $this->files;
         while ($_g < $_g1->length) {
             $f = $_g1[$_g];
             ++$_g;
             $_g2 = $f->deleteTemporaryFile();
             switch ($_g2->index) {
                 case 1:
                     $e = _hx_deref($_g2)->params[0];
                     $ctx->messages->push(_hx_anonymous(array("msg" => $e, "pos" => _hx_anonymous(array("fileName" => "TmpFileUploadMiddleware.hx", "lineNumber" => 120, "className" => "ufront.web.upload.TmpFileUploadMiddleware", "methodName" => "responseOut")), "type" => ufront_log_MessageType::$MError)));
                     break;
                 default:
                     break;
             }
             unset($_g2);
             unset($f);
         }
     }
     return ufront_core_SurpriseTools::success();
 }
コード例 #9
0
ファイル: JsonTest.php プロジェクト: paulfitz/daff-php
 public function testNdjsonLoop()
 {
     $t = harness_Native::table(new _hx_array(array()));
     _hx_deref(new coopy_Ndjson($t))->parse("{\"a\":1,\"b\":2}\n{\"a\":11,\"b\":22}\r\n{\"a\":111,\"b\":222}\n");
     $txt = _hx_deref(new coopy_Ndjson($t))->render();
     $t2 = harness_Native::table(new _hx_array(array()));
     _hx_deref(new coopy_Ndjson($t2))->parse($txt);
     $ca = null;
     if (_hx_equal($t->getCell(0, 0), "a")) {
         $ca = 0;
     } else {
         $ca = 1;
     }
     $cb = 1 - $ca;
     $this->assertEquals("a", $t->getCell($ca, 0), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 55, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
     $this->assertEquals("b", $t->getCell($cb, 0), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 56, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
     $this->assertEquals(1, $t->getCell($ca, 1), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 57, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
     $this->assertEquals(2, $t->getCell($cb, 1), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 58, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
     $this->assertEquals(11, $t->getCell($ca, 2), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 59, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
     $this->assertEquals(22, $t->getCell($cb, 2), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 60, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
     $this->assertEquals(111, $t->getCell($ca, 3), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 61, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
     $this->assertEquals(222, $t->getCell($cb, 3), _hx_anonymous(array("fileName" => "JsonTest.hx", "lineNumber" => 62, "className" => "harness.JsonTest", "methodName" => "testNdjsonLoop")));
 }
コード例 #10
0
 public function key()
 {
     $reg = "^";
     $chars = _hx_explode("", $this->str);
     $ch = "";
     $inKey = false;
     $keyName = "";
     $matchIndex = 0;
     $keys = new Hash();
     while (($ch = $chars->shift()) !== null) {
         if ($ch == ":") {
             $matchIndex++;
             $keyName = "";
             $inKey = true;
         } else {
             if ($inKey && _hx_deref(new EReg("[^a-z]", "i"))->match($ch)) {
                 $inKey = false;
                 $keys->set($keyName, $matchIndex);
                 $reg .= "([a-zA-Z0-9]+)" . $this->escape($ch);
             } else {
                 if ($inKey) {
                     $keyName .= $ch;
                 } else {
                     $reg .= $this->escape($ch);
                 }
             }
         }
     }
     if ($inKey) {
         $keys->set($keyName, $matchIndex);
         $reg .= "([a-zA-Z0-9]+)";
     }
     $reg .= "\$";
     haxe_Log::trace("(key) From pattern: " . $this->str . " we created expression: " . $reg . " and found these keys: " . $keys, _hx_anonymous(array("fileName" => "Route.hx", "lineNumber" => 144, "className" => "sinatra.RouteParser", "methodName" => "key")));
     return new EReg($reg, "");
 }
コード例 #11
0
function ufront_web_Controller_2(&$_g, &$result, $outcome)
{
    switch ($outcome->index) {
        case 0:
            $ar = _hx_deref($outcome)->params[0];
            $_g->context->actionContext->actionResult = $ar;
            break;
        default:
            break;
    }
}
コード例 #12
0
 static function map($outcome, $transform)
 {
     switch ($outcome->index) {
         case 0:
             $a = _hx_deref($outcome)->params[0];
             return tink_core_Outcome::Success(call_user_func_array($transform, array($a)));
             break;
         case 1:
             $f = _hx_deref($outcome)->params[0];
             return tink_core_Outcome::Failure($f);
             break;
     }
 }
コード例 #13
0
ファイル: Model.class.php プロジェクト: axelhuizinga/gem
 public function buildCond($whereParam, $sob, $phValues, $first = null)
 {
     if ($first === null) {
         $first = true;
     }
     $sb = new StringBuf();
     $where = _hx_explode(",", $whereParam);
     if ($where->length === 0) {
         return false;
     }
     $_g = 0;
     while ($_g < $where->length) {
         $w = $where[$_g];
         ++$_g;
         $wData = _hx_string_call($w, "split", array("|"));
         $values = $wData->slice(2, null);
         $filter_tables = null;
         if (Util::any2bool($this->param) && $this->param->exists("filter_tables") && Util::any2bool($this->param->get("filter_tables"))) {
             $jt = $this->param->get("filter_tables");
             $filter_tables = _hx_explode(",", $jt);
             unset($jt);
         }
         haxe_Log::trace(Std::string($wData) . ":" . _hx_string_or_null($this->joinTable) . ":" . Std::string($filter_tables), _hx_anonymous(array("fileName" => "Model.hx", "lineNumber" => 386, "className" => "Model", "methodName" => "buildCond")));
         if (_hx_deref(new EReg("^pay_[a-zA-Z_]+\\.", ""))->match($wData[0]) && _hx_array_get(_hx_explode(".", $wData[0]), 0) !== $this->joinTable) {
             continue;
         }
         if ($first) {
             $sb->add(" WHERE ");
         } else {
             $sb->add(" AND ");
         }
         $first = false;
         $_g1 = strtoupper($wData[1]);
         switch ($_g1) {
             case "BETWEEN":
                 if (!($values->length === 2) && Lambda::hforeach($values, array(new _hx_lambda(array(&$_g, &$_g1, &$filter_tables, &$first, &$phValues, &$sb, &$sob, &$values, &$w, &$wData, &$where, &$whereParam), "Model_13"), 'execute'))) {
                     S::hexit("BETWEEN needs 2 values - got only:" . _hx_string_or_null($values->join(",")));
                 }
                 $sb->add($this->quoteField($wData[0]));
                 $sb->add(" BETWEEN ? AND ?");
                 $phValues->push(new _hx_array(array($wData[0], $values[0])));
                 $phValues->push(new _hx_array(array($wData[0], $values[1])));
                 break;
             case "IN":
                 $sb->add($this->quoteField($wData[0]));
                 $sb->add(" IN(");
                 $sb->add($values->map(array(new _hx_lambda(array(&$_g, &$_g1, &$filter_tables, &$first, &$phValues, &$sb, &$sob, &$values, &$w, &$wData, &$where, &$whereParam), "Model_14"), 'execute'))->join(","));
                 $sb->add(")");
                 break;
             case "LIKE":
                 $sb->add($this->quoteField($wData[0]));
                 $sb->add(" LIKE ?");
                 $phValues->push(new _hx_array(array($wData[0], $wData[2])));
                 break;
             default:
                 $sb->add($this->quoteField($wData[0]));
                 if (_hx_deref(new EReg("^(<|>)", ""))->match($wData[1])) {
                     $eR = new EReg("^(<|>)", "");
                     $eR->match($wData[1]);
                     $val = Std::parseFloat($eR->matchedRight());
                     $sb->add(_hx_string_or_null($eR->matched(0)) . "?");
                     $phValues->push(new _hx_array(array($wData[0], $val)));
                     continue 2;
                 }
                 if ($wData[1] === "NULL") {
                     $sb->add(" IS NULL");
                 } else {
                     $sb->add(" = ?");
                     $phValues->push(new _hx_array(array($wData[0], $wData[1])));
                 }
                 break;
         }
         unset($_g1);
         unset($wData, $w, $values, $filter_tables);
     }
     $sob->add($sb->b);
     return true;
 }
コード例 #14
0
 static function main()
 {
     _hx_deref(new zcale_sys_db_tests_DatabaseTest())->run();
 }
コード例 #15
0
 static function snap($this1, $period)
 {
     $time = null;
     switch ($period->index) {
         case 0:
             $d = _hx_deref($period)->params[0];
             $time = datetime_utils_DateTimeSnapUtils::snapYear($this1 - 62135596800.0 + 62135596800.0, $d);
             break;
         case 1:
             $d1 = _hx_deref($period)->params[0];
             $time = datetime_utils_DateTimeSnapUtils::snapMonth($this1 - 62135596800.0 + 62135596800.0, $d1);
             break;
         case 2:
             $d2 = _hx_deref($period)->params[0];
             $time = datetime_utils_DateTimeSnapUtils::snapDay($this1 - 62135596800.0 + 62135596800.0, $d2);
             break;
         case 3:
             $d3 = _hx_deref($period)->params[0];
             $time = datetime_utils_DateTimeSnapUtils::snapHour($this1 - 62135596800.0 + 62135596800.0, $d3);
             break;
         case 4:
             $d4 = _hx_deref($period)->params[0];
             $time = datetime_utils_DateTimeSnapUtils::snapMinute($this1 - 62135596800.0 + 62135596800.0, $d4);
             break;
         case 5:
             $d5 = _hx_deref($period)->params[0];
             if ($d5 === 1) {
                 $time = $this1 - 62135596800.0 + 1;
             } else {
                 $time = $this1 - 62135596800.0;
             }
             break;
         case 6:
             $day = _hx_deref($period)->params[1];
             $d6 = _hx_deref($period)->params[0];
             $time = datetime_utils_DateTimeSnapUtils::snapWeek($this1 - 62135596800.0 + 62135596800.0, $d6, $day);
             break;
     }
     return $time + 62135596800.0;
 }
コード例 #16
0
ファイル: QC.class.php プロジェクト: axelhuizinga/gem
 public function edit($param)
 {
     $entry_list_id = $param->get("entry_list_id");
     $cF = $this->getCustomFields($entry_list_id);
     $cFields = $cF->map(array(new _hx_lambda(array(&$cF, &$entry_list_id, &$param), "model_QC_0"), 'execute'));
     haxe_Log::trace($cFields->join(","), _hx_anonymous(array("fileName" => "QC.hx", "lineNumber" => 38, "className" => "model.QC", "methodName" => "edit")));
     $fieldDefault = new haxe_ds_StringMap();
     $fieldNames = new haxe_ds_StringMap();
     $fieldRequired = new haxe_ds_StringMap();
     $typeMap = new haxe_ds_StringMap();
     $optionsMap = new haxe_ds_StringMap();
     $eF = $this->getEditorFields(null)->get("vicidial_list");
     $_g = 0;
     while ($_g < $eF->length) {
         $f = $eF[$_g];
         ++$_g;
         $fieldNames->set($f->get("field_label"), $f->get("field_name"));
         if ($f->get("field_options") !== null) {
             $optionsMap->set($f->get("field_label"), $f->get("field_options"));
         }
         $typeMap->set($f->get("field_label"), $f->get("field_type"));
         unset($f);
     }
     $_g1 = 0;
     $_g2 = $cFields->length;
     while ($_g1 < $_g2) {
         $f1 = $_g1++;
         $fieldNames->set($cFields[$f1], _hx_array_get($cF, $f1)->get("field_name"));
         if (_hx_array_get($cF, $f1)->get("field_options") !== null) {
             $optionsMap->set($cFields[$f1], _hx_array_get($cF, $f1)->get("field_options"));
         }
         $def = _hx_array_get($cF, $f1)->get("field_default");
         if ($def === null) {
         } else {
             switch ($def) {
                 case "NULL":
                 case "":
                     break;
                 default:
                     $fieldDefault->set($cFields[$f1], _hx_array_get($cF, $f1)->get("field_default"));
                     break;
             }
         }
         if (_hx_array_get($cF, $f1)->get("field_required") === "Y") {
             $fieldRequired->set($cFields[$f1], true);
         }
         $typeMap->set($cFields[$f1], _hx_array_get($cF, $f1)->get("field_type"));
         unset($f1, $def);
     }
     $cFields->push("entry_date");
     $param->set("fields", $cFields);
     $sb = new StringBuf();
     $phValues = new _hx_array(array());
     $this->data = _hx_anonymous(array("fieldDefault" => php_Lib::associativeArrayOfHash($fieldDefault), "fieldNames" => php_Lib::associativeArrayOfHash($fieldNames), "fieldRequired" => php_Lib::associativeArrayOfHash($fieldRequired), "rows" => $this->doSelectCustom($param, $sb, $phValues), "typeMap" => php_Lib::associativeArrayOfHash($typeMap), "optionsMap" => php_Lib::associativeArrayOfHash($optionsMap), "recordings" => $this->getRecordings(Std::parseInt($param->get("lead_id")))));
     $userMap = new haxe_ds_StringMap();
     $sb = new StringBuf();
     $phValues = new _hx_array(array());
     $p = new haxe_ds_StringMap();
     $p->set("table", "vicidial_users");
     $p->set("fields", "user,full_name");
     $p->set("where", "user_group|AGENTS_A");
     haxe_Log::trace(_hx_string_rec($this->num_rows, "") . ":" . Std::string($param->get("owner")), _hx_anonymous(array("fileName" => "QC.hx", "lineNumber" => 108, "className" => "model.QC", "methodName" => "edit")));
     $this->data->userMap = _hx_deref(new model_Users(null))->get_info(null);
     return $this->json_encode();
 }
コード例 #17
0
ファイル: BasicTest.php プロジェクト: sp-ruben-simon/daff-php
 public function testNestedOutputHtml()
 {
     $table1 = harness_Native::table($this->data1);
     $table2 = harness_Native::table($this->data2);
     $alignment = coopy_Coopy::compareTables($table1, $table2, null)->align();
     $table_diff1 = harness_Native::table(new _hx_array(array()));
     $table_diff2 = harness_Native::table(new _hx_array(array()));
     $flags = new coopy_CompareFlags();
     $highlighter1 = new coopy_TableDiff($alignment, $flags);
     $highlighter1->hilite($table_diff1);
     $flags->allow_nested_cells = true;
     $highlighter2 = new coopy_TableDiff($alignment, $flags);
     $highlighter2->hilite($table_diff2);
     $render1 = _hx_deref(new coopy_DiffRender())->render($table_diff1)->html();
     $render2 = _hx_deref(new coopy_DiffRender())->render($table_diff2)->html();
     $this->assertEquals($render1, $render2, _hx_anonymous(array("fileName" => "BasicTest.hx", "lineNumber" => 117, "className" => "harness.BasicTest", "methodName" => "testNestedOutputHtml")));
 }
コード例 #18
0
function ufront_app_HttpApplication_22(&$_g, &$ctx, &$done, &$e, &$flag, &$m, &$moduleCb, &$moduleResult, &$modules, &$runNext, &$runNext1, $result2)
{
    switch ($result2->index) {
        case 0:
            call_user_func($runNext1);
            break;
        case 1:
            $e1 = _hx_deref($result2)->params[0];
            $_g->handleError($e1, $ctx, $done);
            break;
    }
}
コード例 #19
0
 public function createImage($mml, $param, &$output)
 {
     $output = $output;
     if ($mml === null) {
         throw new HException("Missing parameter 'mml'.");
     }
     $digest = $this->computeDigest($mml, $param);
     $contextPath = $this->plugin->getConfiguration()->getProperty(com_wiris_plugin_api_ConfigurationKeys::$CONTEXT_PATH, "/");
     $showImagePath = $this->plugin->getConfiguration()->getProperty(com_wiris_plugin_api_ConfigurationKeys::$SHOWIMAGE_PATH, null);
     $saveMode = $this->plugin->getConfiguration()->getProperty(com_wiris_plugin_api_ConfigurationKeys::$SAVE_MODE, "xml");
     $s = "";
     if ($param !== null && com_wiris_system_PropertiesTools::getProperty($param, "metrics", "false") === "true") {
         $s = $this->getMetrics($digest, $output);
     }
     $a = "";
     if ($param !== null && com_wiris_system_PropertiesTools::getProperty($param, "accessible", "false") === "true") {
         $lang = com_wiris_system_PropertiesTools::getProperty($param, "lang", "en");
         $text = $this->safeMath2Accessible($mml, $lang, $param);
         if ($output === null) {
             $a = "&text=" . rawurlencode($text);
         } else {
             $output["alt"] = $text;
         }
     }
     $rparam = "";
     if ($param !== null && com_wiris_system_PropertiesTools::getProperty($param, "refererquery", null) !== null) {
         $refererquery = com_wiris_system_PropertiesTools::getProperty($param, "refererquery", null);
         $rparam = "&refererquery=" . $refererquery;
     }
     if ($param !== null && com_wiris_system_PropertiesTools::getProperty($param, "base64", null) !== null || $saveMode === "base64") {
         $bs = $this->showImage($digest, null, $param);
         $by = haxe_io_Bytes::ofData($bs);
         $b64 = _hx_deref(new com_wiris_system_Base64())->encodeBytes($by);
         return "data:image/png;base64," . $b64->toString();
     } else {
         return com_wiris_plugin_impl_RenderImpl::concatPath($contextPath, $showImagePath) . rawurlencode($digest) . $s . $a . $rparam;
     }
 }
コード例 #20
0
 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;
 }
コード例 #21
0
 public function run($e)
 {
     switch ($e->index) {
         case 0:
             $v = _hx_deref($e)->params[0];
             $this->buf->add(Std::string($this->resolve($v)));
             break;
         case 1:
             $e1 = _hx_deref($e)->params[0];
             $this->buf->add(Std::string(call_user_func($e1)));
             break;
         case 2:
             $eelse = _hx_deref($e)->params[2];
             $eif = _hx_deref($e)->params[1];
             $e2 = _hx_deref($e)->params[0];
             $v1 = call_user_func($e2);
             if ($v1 === null || _hx_equal($v1, false)) {
                 if ($eelse !== null) {
                     $this->run($eelse);
                 }
             } else {
                 $this->run($eif);
             }
             break;
         case 3:
             $str = _hx_deref($e)->params[0];
             $this->buf->add($str);
             break;
         case 4:
             $l = _hx_deref($e)->params[0];
             if (null == $l) {
                 throw new HException('null iterable');
             }
             $__hx__it = $l->iterator();
             while ($__hx__it->hasNext()) {
                 unset($e3);
                 $e3 = $__hx__it->next();
                 $this->run($e3);
             }
             break;
         case 5:
             $loop = _hx_deref($e)->params[1];
             $e4 = _hx_deref($e)->params[0];
             $v2 = call_user_func($e4);
             try {
                 $x = $v2->iterator();
                 if (_hx_field($x, "hasNext") === null) {
                     throw new HException(null);
                 }
                 $v2 = $x;
             } catch (Exception $__hx__e) {
                 $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
                 $e5 = $_ex_;
                 try {
                     if (_hx_field($v2, "hasNext") === null) {
                         throw new HException(null);
                     }
                 } catch (Exception $__hx__e) {
                     $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
                     $e6 = $_ex_;
                     throw new HException("Cannot iter on " . Std::string($v2));
                 }
             }
             $this->stack->push($this->context);
             $v3 = $v2;
             $__hx__it = $v3;
             while ($__hx__it->hasNext()) {
                 unset($ctx);
                 $ctx = $__hx__it->next();
                 $this->context = $ctx;
                 $this->run($loop);
             }
             $this->context = $this->stack->pop();
             break;
         case 6:
             $params = _hx_deref($e)->params[1];
             $m = _hx_deref($e)->params[0];
             $v4 = Reflect::field($this->macros, $m);
             $pl = new _hx_array(array());
             $old = $this->buf;
             $pl->push(isset($this->resolve) ? $this->resolve : array($this, "resolve"));
             if (null == $params) {
                 throw new HException('null iterable');
             }
             $__hx__it = $params->iterator();
             while ($__hx__it->hasNext()) {
                 unset($p);
                 $p = $__hx__it->next();
                 switch ($p->index) {
                     case 0:
                         $v5 = _hx_deref($p)->params[0];
                         $pl->push($this->resolve($v5));
                         break;
                     default:
                         $this->buf = new StringBuf();
                         $this->run($p);
                         $pl->push($this->buf->b);
                         break;
                 }
             }
             $this->buf = $old;
             try {
                 $this->buf->add(Std::string(Reflect::callMethod($this->macros, $v4, $pl)));
             } catch (Exception $__hx__e) {
                 $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
                 $e7 = $_ex_;
                 $plstr = null;
                 try {
                     $plstr = $pl->join(",");
                 } catch (Exception $__hx__e) {
                     $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
                     $e8 = $_ex_;
                     $plstr = "???";
                 }
                 $msg = "Macro call " . _hx_string_or_null($m) . "(" . _hx_string_or_null($plstr) . ") failed (" . Std::string($e7) . ")";
                 throw new HException($msg);
             }
             break;
     }
 }
コード例 #22
0
 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;
     }
 }
コード例 #23
0
function sys_ufront_web_context_HttpRequest_8(&$_g, &$callbackFutures, &$currentContent, &$errors, &$fileName, &$isFile, &$noParts, &$onData, &$onEndPart, &$onPart, &$partName, &$surprise, $outcome)
{
    switch ($outcome->index) {
        case 1:
            $err = _hx_deref($outcome)->params[0];
            $errors->push($err->toString());
            break;
        default:
            break;
    }
}
コード例 #24
0
 static function run($v)
 {
     return _hx_deref(new haxe_Unserializer($v))->unserialize();
 }
コード例 #25
0
 static function addJsScriptToResult($originalResult, $path)
 {
     return _hx_deref(new ufront_web_result_CallJavascriptResult($originalResult))->addJsScript($path);
 }
コード例 #26
0
 public function serialize($v)
 {
     $_g = Type::typeof($v);
     switch ($_g->index) {
         case 0:
             $this->buf->add("n");
             break;
         case 1:
             $v1 = $v;
             if ($v1 === 0) {
                 $this->buf->add("z");
                 return;
             }
             $this->buf->add("i");
             $this->buf->add($v1);
             break;
         case 2:
             $v2 = $v;
             if (Math::isNaN($v2)) {
                 $this->buf->add("k");
             } else {
                 if (!Math::isFinite($v2)) {
                     $this->buf->add($v2 < 0 ? "m" : "p");
                 } else {
                     $this->buf->add("d");
                     $this->buf->add($v2);
                 }
             }
             break;
         case 3:
             $this->buf->add($v ? "t" : "f");
             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->serializeString($v);
                 return;
             }
             if ($this->useCache && $this->serializeRef($v)) {
                 return;
             }
             switch ($c) {
                 case _hx_qtype("Array"):
                     $ucount = 0;
                     $this->buf->add("a");
                     $l = _hx_len($v);
                     $_g1 = 0;
                     while ($_g1 < $l) {
                         $i = $_g1++;
                         if ($v[$i] === null) {
                             $ucount++;
                         } else {
                             if ($ucount > 0) {
                                 if ($ucount === 1) {
                                     $this->buf->add("n");
                                 } else {
                                     $this->buf->add("u");
                                     $this->buf->add($ucount);
                                 }
                                 $ucount = 0;
                             }
                             $this->serialize($v[$i]);
                         }
                         unset($i);
                     }
                     if ($ucount > 0) {
                         if ($ucount === 1) {
                             $this->buf->add("n");
                         } else {
                             $this->buf->add("u");
                             $this->buf->add($ucount);
                         }
                     }
                     $this->buf->add("h");
                     break;
                 case _hx_qtype("List"):
                     $this->buf->add("l");
                     $v3 = $v;
                     if (null == $v3) {
                         throw new HException('null iterable');
                     }
                     $__hx__it = $v3->iterator();
                     while ($__hx__it->hasNext()) {
                         unset($i1);
                         $i1 = $__hx__it->next();
                         $this->serialize($i1);
                     }
                     $this->buf->add("h");
                     break;
                 case _hx_qtype("Date"):
                     $d = $v;
                     $this->buf->add("v");
                     $this->buf->add($d->getTime());
                     break;
                 case _hx_qtype("haxe.ds.StringMap"):
                     $this->buf->add("b");
                     $v4 = $v;
                     if (null == $v4) {
                         throw new HException('null iterable');
                     }
                     $__hx__it = $v4->keys();
                     while ($__hx__it->hasNext()) {
                         unset($k);
                         $k = $__hx__it->next();
                         $this->serializeString($k);
                         $this->serialize($v4->get($k));
                     }
                     $this->buf->add("h");
                     break;
                 case _hx_qtype("haxe.ds.IntMap"):
                     $this->buf->add("q");
                     $v5 = $v;
                     if (null == $v5) {
                         throw new HException('null iterable');
                     }
                     $__hx__it = $v5->keys();
                     while ($__hx__it->hasNext()) {
                         unset($k1);
                         $k1 = $__hx__it->next();
                         $this->buf->add(":");
                         $this->buf->add($k1);
                         $this->serialize($v5->get($k1));
                     }
                     $this->buf->add("h");
                     break;
                 case _hx_qtype("haxe.ds.ObjectMap"):
                     $this->buf->add("M");
                     $v6 = $v;
                     $__hx__it = new _hx_array_iterator(array_values($v6->hk));
                     while ($__hx__it->hasNext()) {
                         unset($k2);
                         $k2 = $__hx__it->next();
                         $this->serialize($k2);
                         $this->serialize($v6->get($k2));
                     }
                     $this->buf->add("h");
                     break;
                 case _hx_qtype("haxe.io.Bytes"):
                     $v7 = $v;
                     $i2 = 0;
                     $max = $v7->length - 2;
                     $charsBuf = new StringBuf();
                     $b64 = haxe_Serializer::$BASE64;
                     while ($i2 < $max) {
                         $b1 = null;
                         $pos = $i2++;
                         $b1 = ord($v7->b[$pos]);
                         unset($pos);
                         $b2 = null;
                         $pos1 = $i2++;
                         $b2 = ord($v7->b[$pos1]);
                         unset($pos1);
                         $b3 = null;
                         $pos2 = $i2++;
                         $b3 = ord($v7->b[$pos2]);
                         unset($pos2);
                         $charsBuf->add(_hx_char_at($b64, $b1 >> 2));
                         $charsBuf->add(_hx_char_at($b64, ($b1 << 4 | $b2 >> 4) & 63));
                         $charsBuf->add(_hx_char_at($b64, ($b2 << 2 | $b3 >> 6) & 63));
                         $charsBuf->add(_hx_char_at($b64, $b3 & 63));
                         unset($b3, $b2, $b1);
                     }
                     if ($i2 === $max) {
                         $b11 = null;
                         $pos3 = $i2++;
                         $b11 = ord($v7->b[$pos3]);
                         $b21 = null;
                         $pos4 = $i2++;
                         $b21 = ord($v7->b[$pos4]);
                         $charsBuf->add(_hx_char_at($b64, $b11 >> 2));
                         $charsBuf->add(_hx_char_at($b64, ($b11 << 4 | $b21 >> 4) & 63));
                         $charsBuf->add(_hx_char_at($b64, $b21 << 2 & 63));
                     } else {
                         if ($i2 === $max + 1) {
                             $b12 = null;
                             $pos5 = $i2++;
                             $b12 = ord($v7->b[$pos5]);
                             $charsBuf->add(_hx_char_at($b64, $b12 >> 2));
                             $charsBuf->add(_hx_char_at($b64, $b12 << 4 & 63));
                         }
                     }
                     $chars = $charsBuf->b;
                     $this->buf->add("s");
                     $this->buf->add(strlen($chars));
                     $this->buf->add(":");
                     $this->buf->add($chars);
                     break;
                 default:
                     if ($this->useCache) {
                         $this->cache->pop();
                     }
                     if (_hx_field($v, "hxSerialize") !== null) {
                         $this->buf->add("C");
                         $this->serializeString(Type::getClassName($c));
                         if ($this->useCache) {
                             $this->cache->push($v);
                         }
                         $v->hxSerialize($this);
                         $this->buf->add("g");
                     } else {
                         $this->buf->add("c");
                         $this->serializeString(Type::getClassName($c));
                         if ($this->useCache) {
                             $this->cache->push($v);
                         }
                         $this->serializeFields($v);
                     }
                     break;
             }
             break;
         case 4:
             if (Std::is($v, _hx_qtype("Class"))) {
                 $className = Type::getClassName($v);
                 $this->buf->add("A");
                 $this->serializeString($className);
             } else {
                 if (Std::is($v, _hx_qtype("Enum"))) {
                     $this->buf->add("B");
                     $this->serializeString(Type::getEnumName($v));
                 } else {
                     if ($this->useCache && $this->serializeRef($v)) {
                         return;
                     }
                     $this->buf->add("o");
                     $this->serializeFields($v);
                 }
             }
             break;
         case 7:
             $e = _hx_deref($_g)->params[0];
             if ($this->useCache) {
                 if ($this->serializeRef($v)) {
                     return;
                 }
                 $this->cache->pop();
             }
             $this->buf->add($this->useEnumIndex ? "j" : "w");
             $this->serializeString(Type::getEnumName($e));
             if ($this->useEnumIndex) {
                 $this->buf->add(":");
                 $this->buf->add($v->index);
             } else {
                 $this->serializeString($v->tag);
             }
             $this->buf->add(":");
             $l1 = count($v->params);
             if ($l1 === 0 || _hx_field($v, "params") === null) {
                 $this->buf->add(0);
             } else {
                 $this->buf->add($l1);
                 $_g11 = 0;
                 while ($_g11 < $l1) {
                     $i3 = $_g11++;
                     $this->serialize($v->params[$i3]);
                     unset($i3);
                 }
             }
             if ($this->useCache) {
                 $this->cache->push($v);
             }
             break;
         case 5:
             throw new HException("Cannot serialize function");
             break;
         default:
             throw new HException("Cannot serialize " . Std::string($v));
             break;
     }
 }
コード例 #27
0
 public function filter($str, $prop)
 {
     return _hx_deref(new com_wiris_plugin_impl_TextFilter($this->plugin))->filter($str, $prop);
 }
コード例 #28
0
 static function remotingError($error, $pos = null)
 {
     switch ($error->index) {
         case 0:
             $responseData = _hx_deref($error)->params[2];
             $responseCode = _hx_deref($error)->params[1];
             $remotingCallString = _hx_deref($error)->params[0];
             return tink_core_TypedError::typed($responseCode, "HTTP " . _hx_string_rec($responseCode, "") . " Error during " . _hx_string_or_null($remotingCallString), $error, $pos);
             break;
         case 1:
             $errorMessage = _hx_deref($error)->params[1];
             $remotingCallString1 = _hx_deref($error)->params[0];
             return tink_core_TypedError::typed(404, "Remoting API " . _hx_string_or_null($remotingCallString1) . " not found: " . _hx_string_or_null($errorMessage), $error, $pos);
             break;
         case 2:
             $stack = _hx_deref($error)->params[2];
             $e = _hx_deref($error)->params[1];
             $remotingCallString2 = _hx_deref($error)->params[0];
             $errorObj = Std::instance($e, _hx_qtype("tink.core.TypedError"));
             if ($errorObj !== null) {
                 return tink_core_TypedError::typed($errorObj->code, $errorObj->message, $error, $pos);
             } else {
                 return tink_core_TypedError::typed(500, "Internal Server Error while executing " . _hx_string_or_null($remotingCallString2), $error, $pos);
             }
             break;
         case 3:
             $e1 = _hx_deref($error)->params[1];
             $remotingCallString3 = _hx_deref($error)->params[0];
             return tink_core_TypedError::typed(500, "Error during callback after " . _hx_string_or_null($remotingCallString3) . ": " . Std::string($e1), $error, $pos);
             break;
         case 4:
             $err = _hx_deref($error)->params[2];
             $troubleLine = _hx_deref($error)->params[1];
             $remotingCallString4 = _hx_deref($error)->params[0];
             return tink_core_TypedError::typed(422, "Remoting serialization failed for call " . _hx_string_or_null($remotingCallString4) . ": could not process " . _hx_string_or_null($troubleLine), $error, $pos);
             break;
         case 5:
             $responseData1 = _hx_deref($error)->params[1];
             $remotingCallString5 = _hx_deref($error)->params[0];
             return tink_core_TypedError::typed(500, "Error with response for " . _hx_string_or_null($remotingCallString5) . ": no remoting response found", $error, $pos);
             break;
         case 6:
             $data = _hx_deref($error)->params[1];
             $remotingCallString6 = _hx_deref($error)->params[0];
             return tink_core_TypedError::typed(500, "Call to " . _hx_string_or_null($remotingCallString6) . " failed: " . Std::string($data), $error, $pos);
             break;
         case 7:
             $e2 = _hx_deref($error)->params[0];
             return tink_core_TypedError::typed(500, "Unknown exception during remoting call", $error, $pos);
             break;
     }
 }
コード例 #29
0
ファイル: Coopy.class.php プロジェクト: paulfitz/daff-php
 public function loadTable($name)
 {
     $ext = $this->checkFormat($name);
     if ($ext === "sqlite") {
         $sql = $this->io->openSqliteDatabase($name);
         if ($sql === null) {
             $this->io->writeStderr("! Cannot open database, aborting\n");
             return null;
         }
         $tab = new coopy_SqlTables($sql, $this->flags);
         return $tab;
     }
     $txt = $this->io->getContent($name);
     if ($ext === "ndjson") {
         $t = new coopy_SimpleTable(0, 0);
         $ndjson = new coopy_Ndjson($t);
         $ndjson->parse($txt);
         return $t;
     }
     if ($ext === "json" || $ext === "") {
         try {
             $json = _hx_deref(new haxe_format_JsonParser($txt))->parseRec();
             $this->format_preference = "json";
             $t1 = $this->jsonToTables($json);
             if ($t1 === null) {
                 throw new HException("JSON failed");
             }
             return $t1;
         } catch (Exception $__hx__e) {
             $_ex_ = $__hx__e instanceof HException ? $__hx__e->e : $__hx__e;
             $e = $_ex_;
             if ($ext === "json") {
                 throw new HException($e);
             }
         }
     }
     $this->format_preference = "csv";
     $csv = new coopy_Csv($this->delim_preference);
     $output = new coopy_SimpleTable(0, 0);
     $csv->parseTable($txt, $output);
     if ($output !== null) {
         $output->trimBlank();
     }
     return $output;
 }
コード例 #30
0
 static function getValueType($value)
 {
     if (Std::is($value, _hx_qtype("String"))) {
         return "String";
     }
     if (Std::is($value, _hx_qtype("Class"))) {
         return Type::getClassName($value);
     }
     if (Std::is($value, _hx_qtype("Enum"))) {
         return Type::getEnumName($value);
     }
     $name = null;
     $_g = Type::typeof($value);
     switch ($_g->index) {
         case 1:
             $name = "Int";
             break;
         case 3:
             $name = "Bool";
             break;
         case 6:
             $c = _hx_deref($_g)->params[0];
             $name = Type::getClassName($c);
             break;
         case 7:
             $e = _hx_deref($_g)->params[0];
             $name = Type::getEnumName($e);
             break;
         default:
             $name = null;
             break;
     }
     if ($name !== null) {
         return $name;
     }
     throw new HException("Could not determine type name of " . Std::string($value));
 }