/** * Returns the element as a string. * * @return string */ PHP_METHOD(Xpl_HtmlElement, __toString) { zval *_0 = NULL, *_1 = NULL, *_3 = NULL, *_4 = NULL, *_5 = NULL, *_6 = NULL; zval *html; zephir_fcall_cache_entry *_2 = NULL; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(html); ZVAL_EMPTY_STRING(html); ZEPHIR_CALL_METHOD(NULL, this_ptr, "prepare", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_0, this_ptr, "getprependstring", NULL, 0); zephir_check_call_status(); zephir_concat_self(&html, _0 TSRMLS_CC); ZEPHIR_CALL_METHOD(&_3, this_ptr, "gettag", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_4, this_ptr, "getattributes", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_5, this_ptr, "getcontent", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_CE_STATIC(&_1, xpl_html_ce, "make", &_2, 110, _3, _4, _5); zephir_check_call_status(); zephir_concat_self(&html, _1 TSRMLS_CC); ZEPHIR_CALL_METHOD(&_6, this_ptr, "getappendstring", NULL, 0); zephir_check_call_status(); zephir_concat_self(&html, _6 TSRMLS_CC); RETURN_CTOR(html); }
PHP_METHOD(Test_Concat, testConcatSelf1) { zval _1; zval url, _0, _2; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&url); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_1); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); ZVAL_STRING(&url, ""); zephir_concat_self_str(&url, SL("test") TSRMLS_CC); ZEPHIR_INIT_VAR(&_0); ZEPHIR_CONCAT_SVS(&_0, "append", &url, "other"); zephir_concat_self(&url, &_0 TSRMLS_CC); ZEPHIR_INIT_VAR(&_1); ZEPHIR_CONCAT_SS(&_1, "append", "other"); zephir_concat_self(&url, &_1 TSRMLS_CC); ZEPHIR_INIT_VAR(&_2); ZEPHIR_CONCAT_SSV(&_2, "append", "other", &url); zephir_concat_self(&url, &_2 TSRMLS_CC); RETURN_CCTOR(url); }
/** * Generates SQL to query foreign keys on a table * * @param string table * @param string schema * @return string */ PHP_METHOD(Phalcon_Db_Dialect_Postgresql, describeReferences) { zval *table, *schema = NULL, *sql, *_0 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &table, &schema); if (!schema) { schema = ZEPHIR_GLOBAL(global_null); } ZEPHIR_INIT_VAR(sql); ZVAL_STRING(sql, "SELECT tc.table_name as TABLE_NAME, kcu.column_name as COLUMN_NAME, tc.constraint_name as CONSTRAINT_NAME, tc.table_catalog as REFERENCED_TABLE_SCHEMA, ccu.table_name AS REFERENCED_TABLE_NAME, ccu.column_name AS REFERENCED_COLUMN_NAME FROM information_schema.table_constraints AS tc JOIN information_schema.key_column_usage AS kcu ON tc.constraint_name = kcu.constraint_name JOIN information_schema.constraint_column_usage AS ccu ON ccu.constraint_name = tc.constraint_name WHERE constraint_type = 'FOREIGN KEY' AND ", 1); if (zephir_is_true(schema)) { ZEPHIR_INIT_VAR(_0); ZEPHIR_CONCAT_SVSVS(_0, "tc.table_schema = '", schema, "' AND tc.table_name='", table, "'"); zephir_concat_self(&sql, _0 TSRMLS_CC); } else { ZEPHIR_INIT_LNVAR(_0); ZEPHIR_CONCAT_SVS(_0, "tc.table_name='", table, "'"); zephir_concat_self(&sql, _0 TSRMLS_CC); } RETURN_CCTOR(sql); }
PHP_METHOD(Test_Concat, testConcatSelf1) { zval _1; zval url, _0, _2; zval this_zv; zval *this_ptr = getThis(); if (EXPECTED(this_ptr)) { ZVAL_OBJ(&this_zv, Z_OBJ_P(this_ptr)); this_ptr = &this_zv; } else this_ptr = NULL; ZVAL_UNDEF(&url); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_1); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&url); ZVAL_STRING(&url, ""); zephir_concat_self_str(&url, SL("test") TSRMLS_CC); ZEPHIR_INIT_VAR(&_0); ZEPHIR_CONCAT_SVS(&_0, "append", &url, "other"); zephir_concat_self(&url, &_0 TSRMLS_CC); ZEPHIR_INIT_VAR(&_1); ZEPHIR_CONCAT_SS(&_1, "append", "other"); zephir_concat_self(&url, &_1 TSRMLS_CC); ZEPHIR_INIT_VAR(&_2); ZEPHIR_CONCAT_SSV(&_2, "append", "other", &url); zephir_concat_self(&url, &_2 TSRMLS_CC); RETURN_CCTOR(url); }
/** * Generate the HTML to label the element * * @param array attributes */ PHP_METHOD(Phalcon_Forms_Element, label) { zend_bool _2; zephir_fcall_cache_entry *_0 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *attributes = NULL, *internalAttributes = NULL, *label = NULL, *name = NULL, *code = NULL, *_1, *_3$$7, *_4$$8; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &attributes); if (!attributes) { ZEPHIR_CPY_WRT(attributes, ZEPHIR_GLOBAL(global_null)); } else { ZEPHIR_SEPARATE_PARAM(attributes); } ZEPHIR_CALL_METHOD(&internalAttributes, this_ptr, "getattributes", NULL, 0); zephir_check_call_status(); ZEPHIR_OBS_VAR(name); if (!(zephir_array_isset_string_fetch(&name, internalAttributes, SS("id"), 0 TSRMLS_CC))) { ZEPHIR_OBS_NVAR(name); zephir_read_property_this(&name, this_ptr, SL("_name"), PH_NOISY_CC); } if (Z_TYPE_P(attributes) == IS_ARRAY) { if (!(zephir_array_isset_string(attributes, SS("for")))) { zephir_array_update_string(&attributes, SL("for"), &name, PH_COPY | PH_SEPARATE); } } else { ZEPHIR_INIT_NVAR(attributes); zephir_create_array(attributes, 1, 0 TSRMLS_CC); zephir_array_update_string(&attributes, SL("for"), &name, PH_COPY | PH_SEPARATE); } ZEPHIR_INIT_VAR(_1); ZVAL_STRING(_1, "<label", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_CE_STATIC(&code, phalcon_tag_ce, "renderattributes", &_0, 4, _1, attributes); zephir_check_temp_parameter(_1); zephir_check_call_status(); ZEPHIR_OBS_VAR(label); zephir_read_property_this(&label, this_ptr, SL("_label"), PH_NOISY_CC); _2 = zephir_is_true(label); if (!(_2)) { _2 = zephir_is_numeric(label); } if (_2) { ZEPHIR_INIT_VAR(_3$$7); ZEPHIR_CONCAT_SVS(_3$$7, ">", label, "</label>"); zephir_concat_self(&code, _3$$7 TSRMLS_CC); } else { ZEPHIR_INIT_VAR(_4$$8); ZEPHIR_CONCAT_SVS(_4$$8, ">", name, "</label>"); zephir_concat_self(&code, _4$$8 TSRMLS_CC); } RETURN_CCTOR(code); }
PHP_METHOD(Transbybd_TransApi, __convert) { HashTable *_1$$3, *_4$$5; HashPosition _0$$3, _3$$5; zval *data; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_7 = NULL; zval *args, *key = NULL, *val = NULL, *k = NULL, *v = NULL, **_2$$3, *_11$$3, _12$$3, **_5$$5, *_6$$6 = NULL, *_8$$6 = NULL, *_9$$7 = NULL, *_10$$7 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &args); ZEPHIR_INIT_VAR(data); ZVAL_EMPTY_STRING(data); if (Z_TYPE_P(args) == IS_ARRAY) { zephir_is_iterable(args, &_1$$3, &_0$$3, 0, 0, "transbybd/transApi.zep", 106); for ( ; zephir_hash_get_current_data_ex(_1$$3, (void**) &_2$$3, &_0$$3) == SUCCESS ; zephir_hash_move_forward_ex(_1$$3, &_0$$3) ) { ZEPHIR_GET_HMKEY(key, _1$$3, _0$$3); ZEPHIR_GET_HVALUE(val, _2$$3); if (Z_TYPE_P(val) == IS_ARRAY) { zephir_is_iterable(val, &_4$$5, &_3$$5, 0, 0, "transbybd/transApi.zep", 102); for ( ; zephir_hash_get_current_data_ex(_4$$5, (void**) &_5$$5, &_3$$5) == SUCCESS ; zephir_hash_move_forward_ex(_4$$5, &_3$$5) ) { ZEPHIR_GET_HMKEY(k, _4$$5, _3$$5); ZEPHIR_GET_HVALUE(v, _5$$5); ZEPHIR_CALL_FUNCTION(&_6$$6, "rawurlencode", &_7, 11, v); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_8$$6); ZEPHIR_CONCAT_VSVSVS(_8$$6, key, "[", k, "]=", _6$$6, "&"); zephir_concat_self(&data, _8$$6 TSRMLS_CC); } } else { ZEPHIR_CALL_FUNCTION(&_9$$7, "rawurlencode", &_7, 11, val); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_10$$7); ZEPHIR_CONCAT_VSVS(_10$$7, key, "=", _9$$7, "&"); zephir_concat_self(&data, _10$$7 TSRMLS_CC); } } ZEPHIR_INIT_VAR(_11$$3); ZEPHIR_SINIT_VAR(_12$$3); ZVAL_STRING(&_12$$3, "&", 0); zephir_fast_trim(_11$$3, data, &_12$$3, ZEPHIR_TRIM_BOTH TSRMLS_CC); RETURN_CCTOR(_11$$3); } RETVAL_ZVAL(args, 1, 0); RETURN_MM(); }
/** * Returns the active version (string) * * <code> * echo Phalcon\Version::get(); * </code> */ PHP_METHOD(Phalcon_Version, get) { zval version, major, medium, minor, special, specialNumber, result, suffix, _1$$3, _2$$4; zephir_fcall_cache_entry *_0 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *this_ptr = getThis(); ZVAL_UNDEF(&version); ZVAL_UNDEF(&major); ZVAL_UNDEF(&medium); ZVAL_UNDEF(&minor); ZVAL_UNDEF(&special); ZVAL_UNDEF(&specialNumber); ZVAL_UNDEF(&result); ZVAL_UNDEF(&suffix); ZVAL_UNDEF(&_1$$3); ZVAL_UNDEF(&_2$$4); ZEPHIR_MM_GROW(); ZEPHIR_CALL_STATIC(&version, "_getversion", NULL, 0); zephir_check_call_status(); ZEPHIR_OBS_VAR(&major); zephir_array_fetch_long(&major, &version, 0, PH_NOISY, "phalcon/version.zep", 127 TSRMLS_CC); ZEPHIR_OBS_VAR(&medium); zephir_array_fetch_long(&medium, &version, 1, PH_NOISY, "phalcon/version.zep", 128 TSRMLS_CC); ZEPHIR_OBS_VAR(&minor); zephir_array_fetch_long(&minor, &version, 2, PH_NOISY, "phalcon/version.zep", 129 TSRMLS_CC); ZEPHIR_OBS_VAR(&special); zephir_array_fetch_long(&special, &version, 3, PH_NOISY, "phalcon/version.zep", 130 TSRMLS_CC); ZEPHIR_OBS_VAR(&specialNumber); zephir_array_fetch_long(&specialNumber, &version, 4, PH_NOISY, "phalcon/version.zep", 131 TSRMLS_CC); ZEPHIR_INIT_VAR(&result); ZEPHIR_CONCAT_VSVSV(&result, &major, ".", &medium, ".", &minor); ZEPHIR_CALL_STATIC(&suffix, "_getspecial", &_0, 460, &special); zephir_check_call_status(); if (!ZEPHIR_IS_STRING(&suffix, "")) { ZEPHIR_INIT_VAR(&_1$$3); ZEPHIR_CONCAT_SV(&_1$$3, "-", &suffix); zephir_concat_self(&result, &_1$$3 TSRMLS_CC); if (!ZEPHIR_IS_LONG(&specialNumber, 0)) { ZEPHIR_INIT_VAR(&_2$$4); ZEPHIR_CONCAT_SV(&_2$$4, ".", &specialNumber); zephir_concat_self(&result, &_2$$4 TSRMLS_CC); } } RETURN_CCTOR(&result); }
/** * Generates SQL to query foreign keys on a table */ PHP_METHOD(Phalcon_Db_Dialect_Oracle, describeReferences) { int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_1 = NULL; zval *table_param = NULL, *schema_param = NULL, *sql, *_0 = NULL, *_2 = NULL, *_3 = NULL; zval *table = NULL, *schema = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &table_param, &schema_param); if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(table_param) == IS_STRING)) { zephir_get_strval(table, table_param); } else { ZEPHIR_INIT_VAR(table); ZVAL_EMPTY_STRING(table); } if (!schema_param) { ZEPHIR_INIT_VAR(schema); ZVAL_EMPTY_STRING(schema); } else { zephir_get_strval(schema, schema_param); } ZEPHIR_INIT_VAR(sql); ZVAL_STRING(sql, "SELECT AC.TABLE_NAME, CC.COLUMN_NAME, AC.CONSTRAINT_NAME, AC.R_OWNER, RCC.TABLE_NAME R_TABLE_NAME, RCC.COLUMN_NAME R_COLUMN_NAME FROM ALL_CONSTRAINTS AC JOIN ALL_CONS_COLUMNS CC ON AC.CONSTRAINT_NAME = CC.CONSTRAINT_NAME JOIN ALL_CONS_COLUMNS RCC ON AC.R_OWNER = RCC.OWNER AND AC.R_CONSTRAINT_NAME = RCC.CONSTRAINT_NAME WHERE AC.CONSTRAINT_TYPE='R' ", 1); if (!ZEPHIR_IS_STRING(schema, "")) { ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, 144, schema); zephir_check_call_status(); ZEPHIR_CALL_CE_STATIC(&_2, phalcon_text_ce, "upper", &_1, 144, table); zephir_check_call_status(); ZEPHIR_INIT_VAR(_3); ZEPHIR_CONCAT_SVSVS(_3, "AND AC.OWNER='", _0, "' AND AC.TABLE_NAME = '", _2, "'"); zephir_concat_self(&sql, _3 TSRMLS_CC); } else { ZEPHIR_CALL_CE_STATIC(&_0, phalcon_text_ce, "upper", &_1, 144, table); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_3); ZEPHIR_CONCAT_SVS(_3, "AND AC.TABLE_NAME = '", _0, "'"); zephir_concat_self(&sql, _3 TSRMLS_CC); } RETURN_CCTOR(sql); }
/** * Returns an HTML string of debugging information about any number of * variables, each wrapped in a "pre" tag. * * <code> * $foo = "string"; * $bar = ["key" => "value"]; * $baz = new stdClass(); * echo (new \Phalcon\Debug\Dump())->variables($foo, $bar, $baz); *</code> * * @param mixed variable * @param ... */ PHP_METHOD(Phalcon_Debug_Dump, variables) { HashTable *_2; HashPosition _1; zval *key = NULL, *value = NULL, *output = NULL, *_0 = NULL, **_3, *_4$$3 = NULL, *_5$$3 = NULL; zephir_fcall_cache_entry *_6 = NULL; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(output); ZVAL_STRING(output, "", 1); ZEPHIR_CALL_FUNCTION(&_0, "func_get_args", NULL, 174); zephir_check_call_status(); zephir_is_iterable(_0, &_2, &_1, 0, 0, "phalcon/debug/dump.zep", 297); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HMKEY(key, _2, _1); ZEPHIR_GET_HVALUE(value, _3); ZEPHIR_INIT_LNVAR(_5$$3); ZEPHIR_CONCAT_SV(_5$$3, "var ", key); ZEPHIR_CALL_METHOD(&_4$$3, this_ptr, "one", &_6, 0, value, _5$$3); zephir_check_call_status(); zephir_concat_self(&output, _4$$3 TSRMLS_CC); } RETURN_CCTOR(output); }
/** * Returns the active version (string) * * <code> * echo Phalcon\Version::get(); * </code> */ PHP_METHOD(Phalcon_Version, get) { zval *version = NULL, *major = NULL, *medium = NULL, *minor = NULL, *special = NULL, *specialNumber = NULL, *result = NULL, *suffix = NULL, *_1$$3; zephir_fcall_cache_entry *_0 = NULL; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_CALL_STATIC(&version, "_getversion", NULL, 0); zephir_check_call_status(); ZEPHIR_OBS_VAR(major); zephir_array_fetch_long(&major, version, 0, PH_NOISY, "phalcon/version.zep", 139 TSRMLS_CC); ZEPHIR_OBS_VAR(medium); zephir_array_fetch_long(&medium, version, 1, PH_NOISY, "phalcon/version.zep", 140 TSRMLS_CC); ZEPHIR_OBS_VAR(minor); zephir_array_fetch_long(&minor, version, 2, PH_NOISY, "phalcon/version.zep", 141 TSRMLS_CC); ZEPHIR_OBS_VAR(special); zephir_array_fetch_long(&special, version, 3, PH_NOISY, "phalcon/version.zep", 142 TSRMLS_CC); ZEPHIR_OBS_VAR(specialNumber); zephir_array_fetch_long(&specialNumber, version, 4, PH_NOISY, "phalcon/version.zep", 143 TSRMLS_CC); ZEPHIR_INIT_VAR(result); ZEPHIR_CONCAT_VSVSVS(result, major, ".", medium, ".", minor, " "); ZEPHIR_CALL_STATIC(&suffix, "_getspecial", &_0, 472, special); zephir_check_call_status(); if (!ZEPHIR_IS_STRING(suffix, "")) { ZEPHIR_INIT_VAR(_1$$3); ZEPHIR_CONCAT_VSV(_1$$3, suffix, " ", specialNumber); zephir_concat_self(&result, _1$$3 TSRMLS_CC); } zephir_fast_trim(return_value, result, NULL , ZEPHIR_TRIM_BOTH TSRMLS_CC); RETURN_MM(); }
/** * Gets the signing key * * @return string */ PHP_METHOD(OAuth_V1_Signature, getSigningKey) { zval *signingKey, *credentials = NULL, *consumerSecret, *tokenSecret, *_0, *_1; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(_0); zephir_call_method(_0, this_ptr, "getcredentials"); ZEPHIR_CPY_WRT(credentials, _0); ZEPHIR_INIT_VAR(consumerSecret); zephir_call_method(consumerSecret, credentials, "getconsumersecret"); ZEPHIR_INIT_VAR(tokenSecret); zephir_call_method(tokenSecret, this_ptr, "gettokensecret"); ZEPHIR_INIT_BNVAR(_0); zephir_call_func_p1(_0, "rawurlencode", consumerSecret); ZEPHIR_INIT_VAR(signingKey); ZEPHIR_CONCAT_VS(signingKey, _0, "&"); if (!(ZEPHIR_IS_EMPTY(tokenSecret))) { ZEPHIR_INIT_VAR(_1); zephir_call_func_p1(_1, "rawurlencode", tokenSecret); zephir_concat_self(&signingKey, _1 TSRMLS_CC); } RETURN_CCTOR(signingKey); }
PHP_METHOD(Test_BuiltIn_CharMethods, getHexForString) { int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_5 = NULL; long _0; char ch; zval *str_param = NULL, *o, *_1 = NULL, _2 = zval_used_for_init, _3 = zval_used_for_init, *_4 = NULL; zval *str = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &str_param); zephir_get_strval(str, str_param); ZEPHIR_INIT_VAR(o); ZVAL_STRING(o, "", 1); for (_0 = 0; _0 < Z_STRLEN_P(str); _0++) { ch = ZEPHIR_STRING_OFFSET(str, _0); ZEPHIR_SINIT_NVAR(_2); ZVAL_STRING(&_2, "%X", 0); ZEPHIR_SINIT_NVAR(_3); ZVAL_LONG(&_3, ch); ZEPHIR_CALL_FUNCTION(&_4, "sprintf", &_5, &_2, &_3); zephir_check_call_status(); zephir_concat_self(&o, _4 TSRMLS_CC); } RETURN_CCTOR(o); }
PHP_METHOD(Yb_Std, normalCase) { long _0; zend_bool found, _1$$3, _2$$3, _3$$3, _4$$3; char c = 0; zval *from_param = NULL, *sep_param = NULL; zval *from = NULL, *sep = NULL, *to; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &from_param, &sep_param); zephir_get_strval(from, from_param); if (!sep_param) { ZEPHIR_INIT_VAR(sep); ZVAL_STRING(sep, "-", 1); } else { zephir_get_strval(sep, sep_param); } ZEPHIR_INIT_VAR(to); ZVAL_EMPTY_STRING(to); found = 0; for (_0 = 0; _0 < Z_STRLEN_P(from); _0++) { c = ZEPHIR_STRING_OFFSET(from, _0); _1$$3 = c >= '0'; if (_1$$3) { _1$$3 = c <= '9'; } _2$$3 = _1$$3; if (!(_2$$3)) { _3$$3 = c >= 'a'; if (_3$$3) { _3$$3 = c <= 'z'; } _2$$3 = _3$$3; } if (_2$$3) { zephir_concat_self_char(&to, c TSRMLS_CC); found = 1; continue; } _4$$3 = c >= 'A'; if (_4$$3) { _4$$3 = c <= 'Z'; } if (_4$$3) { if (found) { zephir_concat_self(&to, sep TSRMLS_CC); } c += 32; zephir_concat_self_char(&to, c TSRMLS_CC); found = 1; continue; } } RETURN_CTOR(to); }
/** * Generates the SQL for LIMIT clause */ PHP_METHOD(Phalcon_Db_Dialect_Oracle, limit) { int limit, offset = 0; zval *sqlQuery_param = NULL, *number, *_0 = NULL, *_1, _2 = zval_used_for_init, *_3, _4 = zval_used_for_init, _6; zval *sqlQuery = NULL, *_5, *_7; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &sqlQuery_param, &number); if (unlikely(Z_TYPE_P(sqlQuery_param) != IS_STRING && Z_TYPE_P(sqlQuery_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'sqlQuery' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(sqlQuery_param) == IS_STRING)) { zephir_get_strval(sqlQuery, sqlQuery_param); } else { ZEPHIR_INIT_VAR(sqlQuery); ZVAL_EMPTY_STRING(sqlQuery); } if (Z_TYPE_P(number) == IS_ARRAY) { if (zephir_array_isset_long(number, 1)) { ZEPHIR_INIT_VAR(_0); zephir_array_fetch_long(&_1, number, 1, PH_NOISY | PH_READONLY, "phalcon/db/dialect/oracle.zep", 51 TSRMLS_CC); ZEPHIR_SINIT_VAR(_2); ZVAL_STRING(&_2, "'", 0); zephir_fast_trim(_0, _1, &_2, ZEPHIR_TRIM_BOTH TSRMLS_CC); offset = zephir_get_intval(_0); } ZEPHIR_INIT_NVAR(_0); zephir_array_fetch_long(&_1, number, 0, PH_NOISY | PH_READONLY, "phalcon/db/dialect/oracle.zep", 54 TSRMLS_CC); ZEPHIR_SINIT_NVAR(_2); ZVAL_STRING(&_2, "'", 0); zephir_fast_trim(_0, _1, &_2, ZEPHIR_TRIM_BOTH TSRMLS_CC); limit = (zephir_get_intval(_0) + offset); } else { ZEPHIR_INIT_VAR(_3); ZEPHIR_SINIT_VAR(_4); ZVAL_STRING(&_4, "'", 0); zephir_fast_trim(_3, number, &_4, ZEPHIR_TRIM_BOTH TSRMLS_CC); limit = zephir_get_intval(_3); } ZEPHIR_SINIT_NVAR(_4); ZVAL_LONG(&_4, limit); ZEPHIR_INIT_VAR(_5); ZEPHIR_CONCAT_SVSVS(_5, "SELECT * FROM (SELECT Z1.*, ROWNUM PHALCON_RN FROM (", sqlQuery, ") Z1 WHERE ROWNUM <= ", &_4, ")"); ZEPHIR_CPY_WRT(sqlQuery, _5); if (offset != 0) { ZEPHIR_SINIT_VAR(_6); ZVAL_LONG(&_6, offset); ZEPHIR_INIT_VAR(_7); ZEPHIR_CONCAT_SV(_7, " WHERE PHALCON_RN >= ", &_6); zephir_concat_self(&sqlQuery, _7 TSRMLS_CC); } RETURN_CTOR(sqlQuery); }
/** * Returns the css sources */ PHP_METHOD(Phalcon_Debug, getCssSources) { zval *uri = NULL, *sources = NULL, *_0, *_1; ZEPHIR_MM_GROW(); uri = zephir_fetch_nproperty_this(this_ptr, SL("_uri"), PH_NOISY_CC); ZEPHIR_INIT_VAR(sources); ZEPHIR_CONCAT_SVS(sources, "<link href=\"", uri, "bower_components/jquery-ui/themes/ui-lightness/jquery-ui.min.css\" type=\"text/css\" rel=\"stylesheet\" />"); ZEPHIR_INIT_VAR(_0); ZEPHIR_CONCAT_SVS(_0, "<link href=\"", uri, "bower_components/jquery-ui/themes/ui-lightness/theme.css\" type=\"text/css\" rel=\"stylesheet\" />"); zephir_concat_self(&sources, _0 TSRMLS_CC); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SVS(_1, "<link href=\"", uri, "themes/default/style.css\" type=\"text/css\" rel=\"stylesheet\" />"); zephir_concat_self(&sources, _1 TSRMLS_CC); RETURN_CCTOR(sources); }
PHP_METHOD(Yb_Std, randString) { zephir_fcall_cache_entry *_9 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *charList = NULL, *result; zval *len_param = NULL, *charList_param = NULL, *_0 = NULL, _1, *_2 = NULL, _3$$5 = zval_used_for_init, _4$$5 = zval_used_for_init, _5$$5 = zval_used_for_init, _6$$5 = zval_used_for_init, _7$$5 = zval_used_for_init, *_8$$5 = NULL; long len, maxIndex = 0; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &len_param, &charList_param); len = zephir_get_intval(len_param); if (!charList_param) { ZEPHIR_INIT_VAR(charList); ZVAL_STRING(charList, "", 1); } else { zephir_get_strval(charList, charList_param); } ZEPHIR_INIT_VAR(result); ZVAL_EMPTY_STRING(result); if (unlikely(len < 1)) { RETURN_MM_STRING("", 1); } if (zephir_fast_strlen_ev(charList) < 1) { ZEPHIR_INIT_NVAR(charList); ZVAL_STRING(charList, "0123456789abcdefghijklmnopqrstuvwxyz", 1); } ZEPHIR_SINIT_VAR(_1); ZVAL_STRING(&_1, "UTF-8", 0); ZEPHIR_CALL_FUNCTION(&_2, "mb_strlen", NULL, 51, charList, &_1); zephir_check_call_status(); maxIndex = (zephir_get_intval(_2) - 1); while (1) { if (!(len)) { break; } len--; ZEPHIR_SINIT_NVAR(_3$$5); ZVAL_LONG(&_3$$5, 0); ZEPHIR_SINIT_NVAR(_4$$5); ZVAL_LONG(&_4$$5, maxIndex); ZEPHIR_SINIT_NVAR(_5$$5); ZVAL_LONG(&_5$$5, zephir_mt_rand(zephir_get_intval(&_3$$5), zephir_get_intval(&_4$$5) TSRMLS_CC)); ZEPHIR_SINIT_NVAR(_6$$5); ZVAL_LONG(&_6$$5, 1); ZEPHIR_SINIT_NVAR(_7$$5); ZVAL_STRING(&_7$$5, "UTF-8", 0); ZEPHIR_CALL_FUNCTION(&_8$$5, "mb_substr", &_9, 54, charList, &_5$$5, &_6$$5, &_7$$5); zephir_check_call_status(); zephir_concat_self(&result, _8$$5 TSRMLS_CC); } RETURN_CTOR(result); }
PHP_METHOD(Test_Concat, testConcatSelf1) { zval *_1; zval *url = NULL, *_0, *_2; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(url); ZVAL_STRING(url, "", 1); zephir_concat_self_str(&url, SL("test") TSRMLS_CC); ZEPHIR_INIT_VAR(_0); ZEPHIR_CONCAT_SVS(_0, "append", url, "other"); zephir_concat_self(&url, _0 TSRMLS_CC); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SS(_1, "append", "other"); zephir_concat_self(&url, _1 TSRMLS_CC); ZEPHIR_INIT_VAR(_2); ZEPHIR_CONCAT_SSV(_2, "append", "other", url); zephir_concat_self(&url, _2 TSRMLS_CC); RETURN_CCTOR(url); }
/** * Checks a plain text password and its hash version to check if the password matches */ PHP_METHOD(Phalcon_Security, checkHash) { unsigned char _5; long _4; zephir_nts_static zephir_fcall_cache_entry *_2 = NULL; zend_bool _0; char ch; int maxPassLength, i, sum, cryptedLength, passwordLength, ZEPHIR_LAST_CALL_STATUS; zval *password_param = NULL, *passwordHash_param = NULL, *maxPassLength_param = NULL, *_1 = NULL; zval *password = NULL, *passwordHash = NULL, *cryptedHash = NULL, *_3 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 1, &password_param, &passwordHash_param, &maxPassLength_param); zephir_get_strval(password, password_param); zephir_get_strval(passwordHash, passwordHash_param); if (!maxPassLength_param) { maxPassLength = 0; } else { maxPassLength = zephir_get_intval(maxPassLength_param); } if (maxPassLength) { _0 = maxPassLength > 0; if (_0) { _0 = zephir_fast_strlen_ev(password) > maxPassLength; } if (_0) { RETURN_MM_BOOL(0); } } ZEPHIR_CALL_FUNCTION(&_1, "crypt", &_2, password, passwordHash); zephir_check_call_status(); zephir_get_strval(_3, _1); ZEPHIR_CPY_WRT(cryptedHash, _3); cryptedLength = zephir_fast_strlen_ev(cryptedHash); passwordLength = zephir_fast_strlen_ev(passwordHash); zephir_concat_self(&cryptedHash, passwordHash TSRMLS_CC); sum = (cryptedLength - passwordLength); for (_4 = 0; _4 < Z_STRLEN_P(passwordHash); _4++) { i = _4; ch = ZEPHIR_STRING_OFFSET(passwordHash, _4); _5 = ZEPHIR_STRING_OFFSET(cryptedHash, i); sum = (sum | ((_5 ^ ch))); } RETURN_MM_BOOL(0 == sum); }
/** * Returns the javascript sources */ PHP_METHOD(Phalcon_Debug, getJsSources) { zval *uri = NULL, *sources = NULL, *_0, *_1, *_2, *_3; ZEPHIR_MM_GROW(); uri = zephir_fetch_nproperty_this(this_ptr, SL("_uri"), PH_NOISY_CC); ZEPHIR_INIT_VAR(sources); ZEPHIR_CONCAT_SVS(sources, "<script type=\"text/javascript\" src=\"", uri, "bower_components/jquery/dist/jquery.min.js\"></script>"); ZEPHIR_INIT_VAR(_0); ZEPHIR_CONCAT_SVS(_0, "<script type=\"text/javascript\" src=\"", uri, "bower_components/jquery-ui/jquery-ui.min.js\"></script>"); zephir_concat_self(&sources, _0 TSRMLS_CC); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SVS(_1, "<script type=\"text/javascript\" src=\"", uri, "bower_components/jquery.scrollTo/jquery.scrollTo.min.js\"></script>"); zephir_concat_self(&sources, _1 TSRMLS_CC); ZEPHIR_INIT_VAR(_2); ZEPHIR_CONCAT_SVS(_2, "<script type=\"text/javascript\" src=\"", uri, "prettify/prettify.js\"></script>"); zephir_concat_self(&sources, _2 TSRMLS_CC); ZEPHIR_INIT_VAR(_3); ZEPHIR_CONCAT_SVS(_3, "<script type=\"text/javascript\" src=\"", uri, "pretty.js\"></script>"); zephir_concat_self(&sources, _3 TSRMLS_CC); RETURN_CCTOR(sources); }
/** * Checks a plain text password and its hash version to check if the password matches */ PHP_METHOD(Phalcon_Security, checkHash) { unsigned char _4$$5; zend_bool _0$$3; long _3; char ch = 0; int maxPassLength, ZEPHIR_LAST_CALL_STATUS, i = 0, sum = 0, cryptedLength = 0, passwordLength = 0; zval *password_param = NULL, *passwordHash_param = NULL, *maxPassLength_param = NULL, *_1 = NULL; zval *password = NULL, *passwordHash = NULL, *cryptedHash = NULL, *_2 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 1, &password_param, &passwordHash_param, &maxPassLength_param); zephir_get_strval(password, password_param); zephir_get_strval(passwordHash, passwordHash_param); if (!maxPassLength_param) { maxPassLength = 0; } else { maxPassLength = zephir_get_intval(maxPassLength_param); } if (maxPassLength) { _0$$3 = maxPassLength > 0; if (_0$$3) { _0$$3 = zephir_fast_strlen_ev(password) > maxPassLength; } if (_0$$3) { RETURN_MM_BOOL(0); } } ZEPHIR_CALL_FUNCTION(&_1, "crypt", NULL, 396, password, passwordHash); zephir_check_call_status(); zephir_get_strval(_2, _1); ZEPHIR_CPY_WRT(cryptedHash, _2); cryptedLength = zephir_fast_strlen_ev(cryptedHash); passwordLength = zephir_fast_strlen_ev(passwordHash); zephir_concat_self(&cryptedHash, passwordHash TSRMLS_CC); sum = (cryptedLength - passwordLength); for (_3 = 0; _3 < Z_STRLEN_P(passwordHash); _3++) { i = _3; ch = ZEPHIR_STRING_OFFSET(passwordHash, _3); _4$$5 = ZEPHIR_STRING_OFFSET(cryptedHash, i); sum = (sum | ((_4$$5 ^ ch))); } RETURN_MM_BOOL(0 == sum); }
/** * Generates the SQL to get query list of indexes * * <code> * print_r( * $dialect->listIndexesSql("blog") * ); * </code> */ PHP_METHOD(Phalcon_Db_Dialect_Sqlite, listIndexesSql) { int ZEPHIR_LAST_CALL_STATUS; zval *table_param = NULL, *schema_param = NULL, *keyName_param = NULL, *_0 = NULL, *_1, *_2$$3 = NULL, *_3$$3; zval *table = NULL, *schema = NULL, *keyName = NULL, *sql = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 2, &table_param, &schema_param, &keyName_param); if (unlikely(Z_TYPE_P(table_param) != IS_STRING && Z_TYPE_P(table_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'table' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(table_param) == IS_STRING)) { zephir_get_strval(table, table_param); } else { ZEPHIR_INIT_VAR(table); ZVAL_EMPTY_STRING(table); } if (!schema_param) { ZEPHIR_INIT_VAR(schema); ZVAL_EMPTY_STRING(schema); } else { zephir_get_strval(schema, schema_param); } if (!keyName_param) { ZEPHIR_INIT_VAR(keyName); ZVAL_EMPTY_STRING(keyName); } else { zephir_get_strval(keyName, keyName_param); } ZEPHIR_CALL_METHOD(&_0, this_ptr, "escape", NULL, 53, table); zephir_check_call_status(); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SVS(_1, "SELECT sql FROM sqlite_master WHERE type = 'index' AND tbl_name = ", _0, " COLLATE NOCASE"); zephir_get_strval(sql, _1); if (!(!keyName) && Z_STRLEN_P(keyName)) { ZEPHIR_CALL_METHOD(&_2$$3, this_ptr, "escape", NULL, 53, keyName); zephir_check_call_status(); ZEPHIR_INIT_VAR(_3$$3); ZEPHIR_CONCAT_SVS(_3$$3, " AND name = ", _2$$3, " COLLATE NOCASE"); zephir_concat_self(&sql, _3$$3 TSRMLS_CC); } RETURN_CTOR(sql); }
/** * is a simple checksum formula used to validate a variety of identification numbers * @param string number * @return boolean */ PHP_METHOD(Phalcon_Validation_Validator_CreditCard, verifyByLuhnAlgorithm) { HashTable *_6; HashPosition _5; zval *digits = NULL, *_2 = NULL; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_1 = NULL; zval *number, *_0 = NULL, *digit = NULL, *position = NULL, *hash = NULL, *_3 = NULL, *_4 = NULL, **_7, *result = NULL, *_9 = NULL, *_8$$3 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &number); ZEPHIR_CALL_FUNCTION(&_0, "str_split", &_1, 71, number); zephir_check_call_status(); zephir_get_arrval(_2, _0); ZEPHIR_CPY_WRT(digits, _2); ZEPHIR_INIT_VAR(hash); ZVAL_STRING(hash, "", 1); ZEPHIR_CALL_FUNCTION(&_4, "array_reverse", NULL, 439, digits); zephir_check_call_status(); zephir_is_iterable(_4, &_6, &_5, 0, 0, "phalcon/validation/validator/creditcard.zep", 87); for ( ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS ; zephir_hash_move_forward_ex(_6, &_5) ) { ZEPHIR_GET_HMKEY(position, _6, _5); ZEPHIR_GET_HVALUE(digit, _7); ZEPHIR_INIT_LNVAR(_8$$3); if (zephir_safe_mod_zval_long(position, 2 TSRMLS_CC)) { ZEPHIR_INIT_NVAR(_8$$3); ZVAL_LONG(_8$$3, (zephir_get_numberval(digit) * 2)); } else { ZEPHIR_CPY_WRT(_8$$3, digit); } zephir_concat_self(&hash, _8$$3 TSRMLS_CC); } ZEPHIR_CALL_FUNCTION(&_9, "str_split", &_1, 71, hash); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&result, "array_sum", NULL, 440, _9); zephir_check_call_status(); RETURN_MM_BOOL((zephir_safe_mod_zval_long(result, 10 TSRMLS_CC) == 0)); }
PHP_METHOD(Test_Strings, strToHex) { unsigned char _1$$3; zend_long ZEPHIR_LAST_CALL_STATUS, i; zephir_fcall_cache_entry *_4 = NULL, *_6 = NULL; zval *value_param = NULL, _0, _2$$3, _3$$3, _5$$3; zval value, ret; zval *this_ptr = getThis(); ZVAL_UNDEF(&value); ZVAL_UNDEF(&ret); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2$$3); ZVAL_UNDEF(&_3$$3); ZVAL_UNDEF(&_5$$3); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &value_param); zephir_get_strval(&value, value_param); i = 0; ZEPHIR_INIT_VAR(&ret); ZVAL_STRING(&ret, ""); while (1) { if (!(i < zephir_fast_strlen_ev(&value))) { break; } _1$$3 = ZEPHIR_STRING_OFFSET(&value, i); ZEPHIR_INIT_NVAR(&_2$$3); ZVAL_STRINGL(&_2$$3, &_1$$3, 1); ZEPHIR_CALL_FUNCTION(&_3$$3, "ord", &_4, 78, &_2$$3); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_5$$3, "dechex", &_6, 10, &_3$$3); zephir_check_call_status(); zephir_concat_self(&ret, &_5$$3 TSRMLS_CC); i++; } RETURN_CTOR(&ret); }
/** * Returns an HTML string of debugging information about any number of * variables, each wrapped in a "pre" tag. * * <code> * $foo = "string"; * $bar = ["key" => "value"]; * $baz = new stdClass(); * * echo (new \Phalcon\Debug\Dump())->variables($foo, $bar, $baz); * </code> * * @param mixed variable * @param ... */ PHP_METHOD(Phalcon_Debug_Dump, variables) { zend_string *_3; zend_ulong _2; zval key, value, output, _0, *_1, _4$$3, _5$$3; zephir_fcall_cache_entry *_6 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *this_ptr = getThis(); ZVAL_UNDEF(&key); ZVAL_UNDEF(&value); ZVAL_UNDEF(&output); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_4$$3); ZVAL_UNDEF(&_5$$3); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&output); ZVAL_STRING(&output, ""); ZEPHIR_INIT_VAR(&_0); zephir_get_args(&_0); zephir_is_iterable(&_0, 0, "phalcon/debug/dump.zep", 169); ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(&_0), _2, _3, _1) { ZEPHIR_INIT_NVAR(&key); if (_3 != NULL) { ZVAL_STR_COPY(&key, _3); } else { ZVAL_LONG(&key, _2); } ZEPHIR_INIT_NVAR(&value); ZVAL_COPY(&value, _1); ZEPHIR_INIT_LNVAR(_5$$3); ZEPHIR_CONCAT_SV(&_5$$3, "var ", &key); ZEPHIR_CALL_METHOD(&_4$$3, this_ptr, "one", &_6, 0, &value, &_5$$3); zephir_check_call_status(); zephir_concat_self(&output, &_4$$3 TSRMLS_CC); } ZEND_HASH_FOREACH_END();
PHP_METHOD(Test_Flow, testFor24) { HashTable *_3; HashPosition _2; zval *_0; zval *b; zval *a = NULL, *_1, **_4; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(b); ZVAL_EMPTY_STRING(b); ZEPHIR_INIT_VAR(_0); array_init_size(_0, 5); ZEPHIR_INIT_VAR(_1); ZVAL_LONG(_1, 'a'); zephir_array_fast_append(_0, _1); ZEPHIR_INIT_BNVAR(_1); ZVAL_LONG(_1, 'b'); zephir_array_fast_append(_0, _1); ZEPHIR_INIT_BNVAR(_1); ZVAL_LONG(_1, 'c'); zephir_array_fast_append(_0, _1); ZEPHIR_INIT_BNVAR(_1); ZVAL_LONG(_1, 'd'); zephir_array_fast_append(_0, _1); zephir_is_iterable(_0, &_3, &_2, 0, 0); for ( ; zend_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS ; zend_hash_move_forward_ex(_3, &_2) ) { ZEPHIR_GET_HVALUE(a, _4); zephir_concat_self(&b, a TSRMLS_CC); } RETURN_CTOR(b); }
/** * Extracts parameters from a string * * @param string pattern */ PHP_METHOD(Test_Router_Route, extractNamedParams) { long _0, _5$$11, _26$$19; zend_bool notValid, _6$$12, _7$$12, _8$$12, _9$$12, _10$$12, _11$$12, _12$$12, _13$$12, _14$$12, _15$$12, _16$$12, _17$$12, _25$$18; int tmp = 0, cursor = 0, cursorVar = 0, marker = 0, bracketCount, parenthesesCount, foundPattern, intermediate, numberMatches; char ch = 0; zval *pattern_param = NULL, matches, _1$$11, _2$$11, _3$$11, _18$$16, _19$$16, _20$$16, _22$$16, _23$$16, _27$$19, _28$$28; zval pattern, route, item, variable, regexp, _4$$11, _21$$16, _24$$16, _29$$29; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&pattern); ZVAL_UNDEF(&route); ZVAL_UNDEF(&item); ZVAL_UNDEF(&variable); ZVAL_UNDEF(®exp); ZVAL_UNDEF(&_4$$11); ZVAL_UNDEF(&_21$$16); ZVAL_UNDEF(&_24$$16); ZVAL_UNDEF(&_29$$29); ZVAL_UNDEF(&matches); ZVAL_UNDEF(&_1$$11); ZVAL_UNDEF(&_2$$11); ZVAL_UNDEF(&_3$$11); ZVAL_UNDEF(&_18$$16); ZVAL_UNDEF(&_19$$16); ZVAL_UNDEF(&_20$$16); ZVAL_UNDEF(&_22$$16); ZVAL_UNDEF(&_23$$16); ZVAL_UNDEF(&_27$$19); ZVAL_UNDEF(&_28$$28); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern_param); zephir_get_strval(&pattern, pattern_param); notValid = 0; bracketCount = 0; parenthesesCount = 0; foundPattern = 0; intermediate = 0; numberMatches = 0; if (zephir_fast_strlen_ev(&pattern) <= 0) { RETURN_MM_BOOL(0); } ZEPHIR_INIT_VAR(&matches); array_init(&matches); ZEPHIR_INIT_VAR(&route); ZVAL_STRING(&route, ""); for (_0 = 0; _0 < Z_STRLEN_P(&pattern); _0++) { cursor = _0; ch = ZEPHIR_STRING_OFFSET(&pattern, _0); if (parenthesesCount == 0) { if (ch == '{') { if (bracketCount == 0) { marker = (cursor + 1); intermediate = 0; notValid = 0; } bracketCount++; } else { if (ch == '}') { bracketCount--; if (intermediate > 0) { if (bracketCount == 0) { numberMatches++; ZEPHIR_INIT_NVAR(&variable); ZVAL_STRING(&variable, ""); ZEPHIR_INIT_NVAR(®exp); ZVAL_STRING(®exp, ""); ZVAL_LONG(&_1$$11, marker); ZVAL_LONG(&_2$$11, (cursor - marker)); ZEPHIR_INIT_NVAR(&_3$$11); zephir_substr(&_3$$11, &pattern, zephir_get_intval(&_1$$11), zephir_get_intval(&_2$$11), 0); zephir_get_strval(&_4$$11, &_3$$11); ZEPHIR_CPY_WRT(&item, &_4$$11); for (_5$$11 = 0; _5$$11 < Z_STRLEN_P(&item); _5$$11++) { cursorVar = _5$$11; ch = ZEPHIR_STRING_OFFSET(&item, _5$$11); if (ch == '\0') { break; } _6$$12 = cursorVar == 0; if (_6$$12) { _7$$12 = ch >= 'a'; if (_7$$12) { _7$$12 = ch <= 'z'; } _8$$12 = _7$$12; if (!(_8$$12)) { _9$$12 = ch >= 'A'; if (_9$$12) { _9$$12 = ch <= 'Z'; } _8$$12 = _9$$12; } _6$$12 = !(_8$$12); } if (_6$$12) { notValid = 1; break; } _10$$12 = ch >= 'a'; if (_10$$12) { _10$$12 = ch <= 'z'; } _11$$12 = _10$$12; if (!(_11$$12)) { _12$$12 = ch >= 'A'; if (_12$$12) { _12$$12 = ch <= 'Z'; } _11$$12 = _12$$12; } _13$$12 = _11$$12; if (!(_13$$12)) { _14$$12 = ch >= '0'; if (_14$$12) { _14$$12 = ch <= '9'; } _13$$12 = _14$$12; } _15$$12 = _13$$12; if (!(_15$$12)) { _15$$12 = ch == '-'; } _16$$12 = _15$$12; if (!(_16$$12)) { _16$$12 = ch == '_'; } _17$$12 = _16$$12; if (!(_17$$12)) { _17$$12 = ch == ':'; } if (_17$$12) { if (ch == ':') { ZVAL_LONG(&_18$$16, 0); ZVAL_LONG(&_19$$16, cursorVar); ZEPHIR_INIT_NVAR(&_20$$16); zephir_substr(&_20$$16, &item, 0 , zephir_get_intval(&_19$$16), 0); zephir_get_strval(&_21$$16, &_20$$16); ZEPHIR_CPY_WRT(&variable, &_21$$16); ZVAL_LONG(&_22$$16, (cursorVar + 1)); ZEPHIR_INIT_NVAR(&_23$$16); zephir_substr(&_23$$16, &item, zephir_get_intval(&_22$$16), 0, ZEPHIR_SUBSTR_NO_LENGTH); zephir_get_strval(&_24$$16, &_23$$16); ZEPHIR_CPY_WRT(®exp, &_24$$16); break; } } else { notValid = 1; break; } } if (!(notValid)) { tmp = numberMatches; _25$$18 = zephir_is_true(&variable); if (_25$$18) { _25$$18 = zephir_is_true(®exp); } if (_25$$18) { foundPattern = 0; for (_26$$19 = 0; _26$$19 < Z_STRLEN_P(®exp); _26$$19++) { ch = ZEPHIR_STRING_OFFSET(®exp, _26$$19); if (ch == '\0') { break; } if (!(foundPattern)) { if (ch == '(') { foundPattern = 1; } } else { if (ch == ')') { foundPattern = 2; break; } } } if (foundPattern != 2) { zephir_concat_self_str(&route, "(", sizeof("(")-1 TSRMLS_CC); zephir_concat_self(&route, ®exp TSRMLS_CC); zephir_concat_self_str(&route, ")", sizeof(")")-1 TSRMLS_CC); } else { zephir_concat_self(&route, ®exp TSRMLS_CC); } ZEPHIR_INIT_NVAR(&_27$$19); ZVAL_LONG(&_27$$19, tmp); zephir_array_update_zval(&matches, &variable, &_27$$19, PH_COPY | PH_SEPARATE); } else { zephir_concat_self_str(&route, "([^/]*)", sizeof("([^/]*)")-1 TSRMLS_CC); ZEPHIR_INIT_NVAR(&_28$$28); ZVAL_LONG(&_28$$28, tmp); zephir_array_update_zval(&matches, &item, &_28$$28, PH_COPY | PH_SEPARATE); } } else { ZEPHIR_INIT_LNVAR(_29$$29); ZEPHIR_CONCAT_SVS(&_29$$29, "{", &item, "}"); zephir_concat_self(&route, &_29$$29 TSRMLS_CC); } continue; } } } } } if (bracketCount == 0) { if (ch == '(') { parenthesesCount++; } else { if (ch == ')') { parenthesesCount--; if (parenthesesCount == 0) { numberMatches++; } } } } if (bracketCount > 0) { intermediate++; } else { zephir_concat_self_char(&route, ch TSRMLS_CC); } } zephir_create_array(return_value, 2, 0 TSRMLS_CC); zephir_array_fast_append(return_value, &route); zephir_array_fast_append(return_value, &matches); RETURN_MM(); }
PHP_METHOD(Yb_View_Redirect, run) { zend_bool redirectDataAsQueries = 0, _7; zval *redirectUrl = NULL, *_4 = NULL, *_11; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_1 = NULL; zval *data_param = NULL, *options_param = NULL, *_0 = NULL, *_2 = NULL, *_3 = NULL, *_5 = NULL, *_6 = NULL, _8$$4, *_9$$4, *_10$$4 = NULL; zval *data = NULL, *options = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &data_param, &options_param); zephir_get_arrval(data, data_param); zephir_get_arrval(options, options_param); ZEPHIR_INIT_VAR(_2); ZVAL_STRING(_2, "redirectUrl", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_VAR(_3); ZVAL_STRING(_3, "", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_CE_STATIC(&_0, yb_std_ce, "valueat", &_1, 5, options, _2, _3); zephir_check_temp_parameter(_2); zephir_check_temp_parameter(_3); zephir_check_call_status(); zephir_get_strval(_4, _0); ZEPHIR_CPY_WRT(redirectUrl, _4); if (unlikely(zephir_fast_strlen_ev(redirectUrl) < 1)) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(yb_view_exception_ce, "Missing option: redirectUrl", "yb/view/redirect.zep", 14); return; } ZEPHIR_INIT_NVAR(_2); ZVAL_STRING(_2, "redirectDataAsQueries", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_3); ZVAL_BOOL(_3, 0); ZEPHIR_CALL_CE_STATIC(&_6, yb_std_ce, "valueat", &_1, 5, options, _2, _3); zephir_check_temp_parameter(_2); zephir_check_call_status(); redirectDataAsQueries = zephir_get_boolval(_6); _7 = redirectDataAsQueries; if (_7) { _7 = zephir_fast_count_int(data TSRMLS_CC) > 0; } if (_7) { ZEPHIR_SINIT_VAR(_8$$4); ZVAL_STRING(&_8$$4, "?", 0); ZEPHIR_INIT_VAR(_9$$4); zephir_fast_strpos(_9$$4, redirectUrl, &_8$$4, 0 ); if (ZEPHIR_IS_FALSE_IDENTICAL(_9$$4)) { zephir_concat_self_str(&redirectUrl, "?", sizeof("?")-1 TSRMLS_CC); } else { zephir_concat_self_str(&redirectUrl, "&", sizeof("&")-1 TSRMLS_CC); } ZEPHIR_CALL_FUNCTION(&_10$$4, "http_build_query", NULL, 99, data); zephir_check_call_status(); zephir_concat_self(&redirectUrl, _10$$4 TSRMLS_CC); } ZEPHIR_INIT_VAR(_11); ZEPHIR_CONCAT_SV(_11, "Location: ", redirectUrl); ZEPHIR_CALL_FUNCTION(NULL, "header", NULL, 93, _11); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); }
/** * Extracts parameters from a string * * @param string pattern */ PHP_METHOD(Test_Router_Route, extractNamedParams) { zend_bool notValid; int tmp, cursor, cursorVar, marker, bracketCount = 0, parenthesesCount = 0, foundPattern = 0, intermediate = 0, numberMatches = 0, _0, _5, _10; char ch; zval *pattern_param = NULL, *matches, _1 = zval_used_for_init, _2 = zval_used_for_init, *_3 = NULL, *_6 = NULL, *_8 = NULL; zval *pattern = NULL, *route, *item = NULL, *variable = NULL, *regexp = NULL, *_4 = NULL, *_7 = NULL, *_9 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern_param); zephir_get_strval(pattern, pattern_param); if ((zephir_fast_strlen_ev(pattern) <= 0)) { RETURN_MM_BOOL(0); } ZEPHIR_INIT_VAR(matches); array_init(matches); ZEPHIR_INIT_VAR(route); ZVAL_EMPTY_STRING(route); for (_0 = 0; _0 < Z_STRLEN_P(pattern); _0++) { cursor = _0; ch = Z_STRVAL_P(pattern)[_0]; if ((parenthesesCount == 0)) { if ((ch == '{')) { if ((bracketCount == 0)) { marker = (cursor + 1); intermediate = 0; notValid = 0; } bracketCount++; } else { if ((ch == '}')) { bracketCount--; if ((intermediate > 0)) { if ((bracketCount == 0)) { numberMatches++; ZEPHIR_INIT_NVAR(variable); ZVAL_EMPTY_STRING(variable); ZEPHIR_INIT_NVAR(regexp); ZVAL_EMPTY_STRING(regexp); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, marker); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, (cursor - marker)); ZEPHIR_INIT_NVAR(_3); zephir_call_func_p3(_3, "substr", pattern, &_1, &_2); zephir_get_strval(_4, _3); ZEPHIR_CPY_WRT(item, _4); for (_5 = 0; _5 < Z_STRLEN_P(item); _5++) { cursorVar = _5; ch = Z_STRVAL_P(item)[_5]; if ((ch == '\0')) { break; } if (((cursorVar == 0) && !(((((ch >= 'a') && (ch <= 'z'))) || (((ch >= 'A') && (ch <= 'Z'))))))) { notValid = 1; break; } if (((((((((ch >= 'a') && (ch <= 'z'))) || (((ch >= 'A') && (ch <= 'Z')))) || (((ch >= '0') && (ch <= '9')))) || (ch == '-')) || (ch == '_')) || (ch == ':'))) { if ((ch == ':')) { ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 0); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, cursorVar); ZEPHIR_INIT_NVAR(_6); zephir_call_func_p3(_6, "substr", item, &_1, &_2); zephir_get_strval(_7, _6); ZEPHIR_CPY_WRT(variable, _7); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, (cursorVar + 1)); ZEPHIR_INIT_NVAR(_8); zephir_call_func_p2(_8, "substr", item, &_1); zephir_get_strval(_9, _8); ZEPHIR_CPY_WRT(regexp, _9); break; } } else { notValid = 1; break; } } if (!(notValid)) { tmp = numberMatches; if ((variable && Z_STRLEN_P(variable)) && (regexp && Z_STRLEN_P(regexp))) { foundPattern = 0; for (_10 = 0; _10 < Z_STRLEN_P(regexp); _10++) { ch = Z_STRVAL_P(regexp)[_10]; if ((ch == '\0')) { break; } if (!(foundPattern)) { if ((ch == '(')) { foundPattern = 1; } } else { if ((ch == ')')) { foundPattern = 2; break; } } } if ((foundPattern != 2)) { zephir_concat_self_str(&route, "(", sizeof("(")-1 TSRMLS_CC); zephir_concat_self(&route, regexp TSRMLS_CC); zephir_concat_self_str(&route, ")", sizeof(")")-1 TSRMLS_CC); } else { zephir_concat_self(&route, regexp TSRMLS_CC); } ZEPHIR_INIT_NVAR(_6); ZVAL_LONG(_6, tmp); zephir_array_update_zval(&matches, variable, &_6, PH_COPY | PH_SEPARATE); } else { zephir_concat_self_str(&route, "([^/]*)", sizeof("([^/]*)")-1 TSRMLS_CC); ZEPHIR_INIT_NVAR(_8); ZVAL_LONG(_8, tmp); zephir_array_update_zval(&matches, item, &_8, PH_COPY | PH_SEPARATE); } } else { zephir_concat_self_str(&route, "{", sizeof("{")-1 TSRMLS_CC); zephir_concat_self(&route, item TSRMLS_CC); zephir_concat_self_str(&route, "}", sizeof("}")-1 TSRMLS_CC); } continue; } } } } } if ((bracketCount == 0)) { if ((ch == '(')) { parenthesesCount++; } else { if ((ch == ')')) { parenthesesCount--; if ((parenthesesCount == 0)) { numberMatches++; } } } } if ((bracketCount > 0)) { intermediate++; } else { zephir_concat_self_char(&route, ch TSRMLS_CC); } } array_init(return_value); zephir_array_fast_append(return_value, route); zephir_array_fast_append(return_value, matches); RETURN_MM(); }
/** * Extracts parameters from a string * * @param string pattern */ PHP_METHOD(Test_Router_Route, extractNamedParams) { zephir_nts_static zephir_fcall_cache_entry *_4 = NULL; long _0, _6, _23; zend_bool notValid = 0, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18; int tmp, cursor, cursorVar, marker, bracketCount = 0, parenthesesCount = 0, foundPattern = 0, intermediate = 0, numberMatches = 0, ZEPHIR_LAST_CALL_STATUS; char ch; zval *pattern_param = NULL, *matches, _1 = zval_used_for_init, _2 = zval_used_for_init, *_3 = NULL, *_19 = NULL, *_21 = NULL, *_24 = NULL; zval *pattern = NULL, *route, *item = NULL, *variable = NULL, *regexp = NULL, *_5 = NULL, *_20 = NULL, *_22 = NULL, *_25 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern_param); zephir_get_strval(pattern, pattern_param); if (zephir_fast_strlen_ev(pattern) <= 0) { RETURN_MM_BOOL(0); } ZEPHIR_INIT_VAR(matches); array_init(matches); ZEPHIR_INIT_VAR(route); ZVAL_EMPTY_STRING(route); for (_0 = 0; _0 < Z_STRLEN_P(pattern); _0++) { cursor = _0; ch = ZEPHIR_STRING_OFFSET(pattern, _0); if (parenthesesCount == 0) { if (ch == '{') { if (bracketCount == 0) { marker = (cursor + 1); intermediate = 0; notValid = 0; } bracketCount++; } else { if (ch == '}') { bracketCount--; if (intermediate > 0) { if (bracketCount == 0) { numberMatches++; ZEPHIR_INIT_NVAR(variable); ZVAL_EMPTY_STRING(variable); ZEPHIR_INIT_NVAR(regexp); ZVAL_EMPTY_STRING(regexp); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, marker); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, (cursor - marker)); ZEPHIR_CALL_FUNCTION(&_3, "substr", &_4, pattern, &_1, &_2); zephir_check_call_status(); zephir_get_strval(_5, _3); ZEPHIR_CPY_WRT(item, _5); for (_6 = 0; _6 < Z_STRLEN_P(item); _6++) { cursorVar = _6; ch = ZEPHIR_STRING_OFFSET(item, _6); if (ch == '\0') { break; } _7 = cursorVar == 0; if (_7) { _8 = ch >= 'a'; if (_8) { _8 = ch <= 'z'; } _9 = _8; if (!(_9)) { _10 = ch >= 'A'; if (_10) { _10 = ch <= 'Z'; } _9 = _10; } _7 = !_9; } if (_7) { notValid = 1; break; } _11 = ch >= 'a'; if (_11) { _11 = ch <= 'z'; } _12 = _11; if (!(_12)) { _13 = ch >= 'A'; if (_13) { _13 = ch <= 'Z'; } _12 = _13; } _14 = _12; if (!(_14)) { _15 = ch >= '0'; if (_15) { _15 = ch <= '9'; } _14 = _15; } _16 = _14; if (!(_16)) { _16 = ch == '-'; } _17 = _16; if (!(_17)) { _17 = ch == '_'; } _18 = _17; if (!(_18)) { _18 = ch == ':'; } if (_18) { if (ch == ':') { ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 0); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, cursorVar); ZEPHIR_CALL_FUNCTION(&_19, "substr", &_4, item, &_1, &_2); zephir_check_call_status(); zephir_get_strval(_20, _19); ZEPHIR_CPY_WRT(variable, _20); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, (cursorVar + 1)); ZEPHIR_CALL_FUNCTION(&_21, "substr", &_4, item, &_1); zephir_check_call_status(); zephir_get_strval(_22, _21); ZEPHIR_CPY_WRT(regexp, _22); break; } } else { notValid = 1; break; } } if (!(notValid)) { tmp = numberMatches; _7 = zephir_is_true(variable); if (_7) { _7 = zephir_is_true(regexp); } if (_7) { foundPattern = 0; for (_23 = 0; _23 < Z_STRLEN_P(regexp); _23++) { ch = ZEPHIR_STRING_OFFSET(regexp, _23); if (ch == '\0') { break; } if (!(foundPattern)) { if (ch == '(') { foundPattern = 1; } } else { if (ch == ')') { foundPattern = 2; break; } } } if (foundPattern != 2) { zephir_concat_self_str(&route, "(", sizeof("(")-1 TSRMLS_CC); zephir_concat_self(&route, regexp TSRMLS_CC); zephir_concat_self_str(&route, ")", sizeof(")")-1 TSRMLS_CC); } else { zephir_concat_self(&route, regexp TSRMLS_CC); } ZEPHIR_INIT_NVAR(_24); ZVAL_LONG(_24, tmp); zephir_array_update_zval(&matches, variable, &_24, PH_COPY | PH_SEPARATE); } else { zephir_concat_self_str(&route, "([^/]*)", sizeof("([^/]*)")-1 TSRMLS_CC); ZEPHIR_INIT_NVAR(_24); ZVAL_LONG(_24, tmp); zephir_array_update_zval(&matches, item, &_24, PH_COPY | PH_SEPARATE); } } else { ZEPHIR_INIT_LNVAR(_25); ZEPHIR_CONCAT_SVS(_25, "{", item, "}"); zephir_concat_self(&route, _25 TSRMLS_CC); } continue; } } } } } if (bracketCount == 0) { if (ch == '(') { parenthesesCount++; } else { if (ch == ')') { parenthesesCount--; if (parenthesesCount == 0) { numberMatches++; } } } } if (bracketCount > 0) { intermediate++; } else { zephir_concat_self_char(&route, ch TSRMLS_CC); } } array_init_size(return_value, 3); zephir_array_fast_append(return_value, route); zephir_array_fast_append(return_value, matches); RETURN_MM(); }
/** * Outputs a message formatting it with HTML * *<code> * $flash->outputMessage('error', message); *</code> * * @param string|array message * @return string|void */ PHP_METHOD(Phalcon_Flash, outputMessage) { HashTable *_3$$8; HashPosition _2$$8; zend_bool automaticHtml = 0, implicitFlush = 0; zval *type_param = NULL, *message, *content = NULL, *cssClasses = NULL, *classes = NULL, *typeClasses = NULL, *eol = NULL, *msg = NULL, *htmlMessage = NULL, *_0 = NULL, *_1$$5, **_4$$8; zval *type = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &type_param, &message); zephir_get_strval(type, type_param); ZEPHIR_OBS_VAR(_0); zephir_read_property_this(&_0, this_ptr, SL("_automaticHtml"), PH_NOISY_CC); automaticHtml = zephir_get_boolval(_0); if (automaticHtml == 1) { ZEPHIR_OBS_VAR(classes); zephir_read_property_this(&classes, this_ptr, SL("_cssClasses"), PH_NOISY_CC); ZEPHIR_OBS_VAR(typeClasses); if (zephir_array_isset_fetch(&typeClasses, classes, type, 0 TSRMLS_CC)) { ZEPHIR_INIT_VAR(cssClasses); if (Z_TYPE_P(typeClasses) == IS_ARRAY) { ZEPHIR_INIT_VAR(_1$$5); zephir_fast_join_str(_1$$5, SL(" "), typeClasses TSRMLS_CC); ZEPHIR_CONCAT_SVS(cssClasses, " class=\"", _1$$5, "\""); } else { ZEPHIR_CONCAT_SVS(cssClasses, " class=\"", typeClasses, "\""); } } else { ZEPHIR_INIT_NVAR(cssClasses); ZVAL_STRING(cssClasses, "", 1); } ZEPHIR_INIT_VAR(eol); ZEPHIR_GET_CONSTANT(eol, "PHP_EOL"); } ZEPHIR_OBS_NVAR(_0); zephir_read_property_this(&_0, this_ptr, SL("_implicitFlush"), PH_NOISY_CC); implicitFlush = zephir_get_boolval(_0); if (Z_TYPE_P(message) == IS_ARRAY) { if (implicitFlush == 0) { ZEPHIR_INIT_VAR(content); ZVAL_STRING(content, "", 1); } zephir_is_iterable(message, &_3$$8, &_2$$8, 0, 0, "phalcon/flash.zep", 204); for ( ; zephir_hash_get_current_data_ex(_3$$8, (void**) &_4$$8, &_2$$8) == SUCCESS ; zephir_hash_move_forward_ex(_3$$8, &_2$$8) ) { ZEPHIR_GET_HVALUE(msg, _4$$8); if (automaticHtml == 1) { ZEPHIR_INIT_NVAR(htmlMessage); ZEPHIR_CONCAT_SVSVSV(htmlMessage, "<div", cssClasses, ">", msg, "</div>", eol); } else { ZEPHIR_CPY_WRT(htmlMessage, msg); } if (implicitFlush == 1) { zend_print_zval(htmlMessage, 0); } else { zephir_concat_self(&content, htmlMessage TSRMLS_CC); zephir_update_property_array_append(this_ptr, SL("_messages"), htmlMessage TSRMLS_CC); } } if (implicitFlush == 0) { RETURN_CCTOR(content); } } else { if (automaticHtml == 1) { ZEPHIR_INIT_NVAR(htmlMessage); ZEPHIR_CONCAT_SVSVSV(htmlMessage, "<div", cssClasses, ">", message, "</div>", eol); } else { ZEPHIR_CPY_WRT(htmlMessage, message); } if (implicitFlush == 1) { zend_print_zval(htmlMessage, 0); } else { zephir_update_property_array_append(this_ptr, SL("_messages"), htmlMessage TSRMLS_CC); RETURN_CCTOR(htmlMessage); } } ZEPHIR_MM_RESTORE(); }