PHP_METHOD(Test_SpectralNorm, process) { zephir_fcall_cache_entry *_5 = NULL, *_9 = NULL, *_14 = NULL; zend_bool _1, _6, _10; zval *n_param = NULL, *u, *v, *w, *_0 = NULL, *_4 = NULL, *_13 = NULL, *_15 = NULL, *_16 = NULL, *_17 = NULL, _18; int n, i, vv = 0, vBv = 0, ZEPHIR_LAST_CALL_STATUS, _2, _3, _7, _8, _11, _12; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); n = zephir_get_intval(n_param); ZEPHIR_INIT_VAR(u); object_init_ex(u, spl_ce_SplFixedArray); ZEPHIR_INIT_VAR(_0); ZVAL_LONG(_0, n); ZEPHIR_CALL_METHOD(NULL, u, "__construct", NULL, 73, _0); zephir_check_call_status(); ZEPHIR_INIT_VAR(v); object_init_ex(v, spl_ce_SplFixedArray); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, n); ZEPHIR_CALL_METHOD(NULL, v, "__construct", NULL, 73, _0); zephir_check_call_status(); ZEPHIR_INIT_VAR(w); object_init_ex(w, spl_ce_SplFixedArray); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, n); ZEPHIR_CALL_METHOD(NULL, w, "__construct", NULL, 73, _0); zephir_check_call_status(); _3 = (n - 1); _2 = 0; _1 = 0; if (_2 <= _3) { while (1) { if (_1) { _2++; if (!(_2 <= _3)) { break; } } else { _1 = 1; } i = _2; ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, i); ZEPHIR_INIT_NVAR(_4); ZVAL_LONG(_4, 1); ZEPHIR_CALL_METHOD(NULL, u, "offsetset", &_5, 74, _0, _4); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, i); ZEPHIR_INIT_NVAR(_4); ZVAL_LONG(_4, 1); ZEPHIR_CALL_METHOD(NULL, v, "offsetset", &_5, 74, _0, _4); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, i); ZEPHIR_INIT_NVAR(_4); ZVAL_LONG(_4, 1); ZEPHIR_CALL_METHOD(NULL, w, "offsetset", &_5, 74, _0, _4); zephir_check_call_status(); } } _8 = 9; _7 = 0; _6 = 0; if (_7 <= _8) { while (1) { if (_6) { _7++; if (!(_7 <= _8)) { break; } } else { _6 = 1; } i = _7; ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, n); ZEPHIR_CALL_METHOD(NULL, this_ptr, "atau", &_9, 75, _0, u, v, w); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, n); ZEPHIR_CALL_METHOD(NULL, this_ptr, "atau", &_9, 75, _0, v, u, w); zephir_check_call_status(); } } _12 = (n - 1); _11 = 0; _10 = 0; if (_11 <= _12) { while (1) { if (_10) { _11++; if (!(_11 <= _12)) { break; } } else { _10 = 1; } i = _11; ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, i); ZEPHIR_CALL_METHOD(&_13, u, "offsetget", &_14, 76, _0); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, i); ZEPHIR_CALL_METHOD(&_15, v, "offsetget", &_14, 76, _0); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_16); mul_function(_16, _13, _15 TSRMLS_CC); vBv += zephir_get_numberval(_16); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, i); ZEPHIR_CALL_METHOD(&_13, v, "offsetget", &_14, 76, _0); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_0); ZVAL_LONG(_0, i); ZEPHIR_CALL_METHOD(&_15, v, "offsetget", &_14, 76, _0); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_17); mul_function(_17, _13, _15 TSRMLS_CC); vv += zephir_get_numberval(_17); } } ZEPHIR_SINIT_VAR(_18); ZVAL_DOUBLE(&_18, zephir_safe_div_long_long(vBv, vv TSRMLS_CC)); ZEPHIR_RETURN_CALL_FUNCTION("sqrt", NULL, 9, &_18); zephir_check_call_status(); RETURN_MM(); }
PHP_METHOD(Test_SpectralNorm, Au) { zend_function *_9 = NULL, *_10 = NULL, *_12 = NULL; zend_bool _0, _3; zval *n_param = NULL, *u, *v, *_6 = NULL, *_7 = NULL, *_8 = NULL, *_11 = NULL; int n, t, i, j, _1, _2, _4, _5; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &n_param, &u, &v); n = zephir_get_intval(n_param); _2 = (n - 1); _1 = 0; _0 = 0; if ((_1 <= _2)) { while (1) { if (_0) { _1++; if (!((_1 <= _2))) { break; } } else { _0 = 1; } i = _1; t = 0; _5 = (n - 1); _4 = 0; _3 = 0; if ((_4 <= _5)) { while (1) { if (_3) { _4++; if (!((_4 <= _5))) { break; } } else { _3 = 1; } j = _4; ZEPHIR_INIT_NVAR(_6); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, i); ZEPHIR_INIT_NVAR(_8); ZVAL_LONG(_8, j); zephir_call_method_p2_cache(_6, this_ptr, "ax", &_9, _7, _8); ZEPHIR_INIT_NVAR(_7); ZEPHIR_INIT_NVAR(_8); ZVAL_LONG(_8, j); zephir_call_method_p1_cache(_7, u, "offsetge", &_10, _8); ZEPHIR_INIT_LNVAR(_11); mul_function(_11, _6, _7 TSRMLS_CC); t += zephir_get_numberval(_11); } } ZEPHIR_INIT_NVAR(_6); ZVAL_LONG(_6, i); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, t); zephir_call_method_p2_cache_noret(v, "offsetset", &_12, _6, _7); } } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Xs_FieldMeta, getCustomTokenizer) { zend_class_entry *_15, *_17; int ZEPHIR_LAST_CALL_STATUS; zval *name = NULL, *arg = NULL, *_7 = NULL, *_9 = NULL, *_11 = NULL; zval *tokenizer = NULL, *m = NULL, *_0, *_1, *_2, *_3, _4, *_5 = NULL, *_6, *_8 = NULL, *_10, *_12 = NULL, *_13 = NULL, *_14 = NULL, *_16 = NULL; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(m); ZVAL_NULL(m); ZEPHIR_OBS_VAR(tokenizer); _0 = zephir_fetch_static_property_ce(xs_fieldmeta_ce, SL("tokenizers") TSRMLS_CC); _1 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); if (zephir_array_isset_fetch(&tokenizer, _0, _1, 0 TSRMLS_CC)) { RETURN_CCTOR(tokenizer); } ZEPHIR_INIT_VAR(_2); _3 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_4); ZVAL_STRING(&_4, "/^([^\\(]+)\\((.*)\\)$/", 0); zephir_preg_match(_2, &_4, _3, m, 0, 0 , 0 TSRMLS_CC); if (zephir_is_true(_2)) { ZEPHIR_INIT_VAR(_5); zephir_array_fetch_long(&_6, m, 1, PH_NOISY | PH_READONLY, "xs/fieldmeta.zep", 125 TSRMLS_CC); zephir_ucfirst(_5, _6); zephir_get_strval(_7, _5); ZEPHIR_INIT_VAR(name); ZEPHIR_CONCAT_SSV(name, "Xs", "\\Tokenizer", _7); ZEPHIR_OBS_VAR(_8); zephir_array_fetch_long(&_8, m, 2, PH_NOISY, "xs/fieldmeta.zep", 126 TSRMLS_CC); zephir_get_strval(_9, _8); ZEPHIR_CPY_WRT(arg, _9); } else { ZEPHIR_INIT_NVAR(_5); _10 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); zephir_ucfirst(_5, _10); zephir_get_strval(_11, _5); ZEPHIR_INIT_NVAR(name); ZEPHIR_CONCAT_SSV(name, "Xs", "\\Tokenizer", _11); ZEPHIR_INIT_NVAR(arg); ZVAL_EMPTY_STRING(arg); } if (unlikely(!(zephir_class_exists(name, zephir_is_true(ZEPHIR_GLOBAL(global_true)) TSRMLS_CC)))) { ZEPHIR_INIT_NVAR(_5); object_init_ex(_5, xs_exception_ce); _10 = zephir_fetch_nproperty_this(this_ptr, SL("name"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_12); ZEPHIR_CONCAT_SVSVS(_12, "Undefined custom tokenizer ", name, " for field `", _10, "`"); ZEPHIR_CALL_METHOD(NULL, _5, "__construct", NULL, 4, _12); zephir_check_call_status(); zephir_throw_exception_debug(_5, "xs/fieldmeta.zep", 133 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_INIT_NVAR(tokenizer); if (zephir_fast_strlen_ev(arg) > 0) { zephir_fetch_safe_class(_14, name); _15 = zend_fetch_class(Z_STRVAL_P(_14), Z_STRLEN_P(_14), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(tokenizer, _15); if (zephir_has_constructor(tokenizer TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, tokenizer, "__construct", NULL, 0, arg); zephir_check_call_status(); } } else { zephir_fetch_safe_class(_16, name); _17 = zend_fetch_class(Z_STRVAL_P(_16), Z_STRLEN_P(_16), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(tokenizer, _17); if (zephir_has_constructor(tokenizer TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, tokenizer, "__construct", NULL, 0); zephir_check_call_status(); } } if (unlikely(!((zephir_instance_of_ev(tokenizer, xs_tokenizer_ce TSRMLS_CC))))) { ZEPHIR_INIT_NVAR(_5); object_init_ex(_5, xs_exception_ce); _10 = zephir_fetch_nproperty_this(this_ptr, SL("name"), PH_NOISY_CC); ZEPHIR_INIT_LNVAR(_12); ZEPHIR_CONCAT_VSVS(_12, name, " for field `", _10, "` does not implement Tokenizer interface"); ZEPHIR_CALL_METHOD(NULL, _5, "__construct", NULL, 4, _12); zephir_check_call_status(); zephir_throw_exception_debug(_5, "xs/fieldmeta.zep", 143 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_OBS_NVAR(_8); zephir_read_property_this(&_8, this_ptr, SL("tokenizer"), PH_NOISY_CC); zephir_update_static_property_array_multi_ce(xs_fieldmeta_ce, SL("tokenizers"), &tokenizer TSRMLS_CC, SL("z"), 1, _8); RETURN_CCTOR(tokenizer); }
/** * This method is automatically called in Phalcon\Db\Adapter\Pdo constructor. * Call it when you need to restore a database connection * *<code> * //Make a connection * $connection = new \Phalcon\Db\Adapter\Pdo\Mysql(array( * 'host' => '192.168.0.11', * 'username' => 'sigma', * 'password' => 'secret', * 'dbname' => 'blog', * )); * * //Reconnect * $connection->connect(); * </code> * * @param array descriptor * @return boolean */ PHP_METHOD(Phalcon_Db_Adapter_Pdo, connect) { HashTable *_1$$13; HashPosition _0$$13; int ZEPHIR_LAST_CALL_STATUS; zval *descriptor = NULL, *username = NULL, *password = NULL, *dsnParts = NULL, *dsnAttributes = NULL, *persistent = NULL, *options = NULL, *key = NULL, *value = NULL, *_4, *_5, *_6, *_7, **_2$$13, *_3$$14 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &descriptor); if (!descriptor) { ZEPHIR_CPY_WRT(descriptor, ZEPHIR_GLOBAL(global_null)); } else { ZEPHIR_SEPARATE_PARAM(descriptor); } if (Z_TYPE_P(descriptor) == IS_NULL) { ZEPHIR_OBS_NVAR(descriptor); zephir_read_property_this(&descriptor, this_ptr, SL("_descriptor"), PH_NOISY_CC); } ZEPHIR_OBS_VAR(username); if (zephir_array_isset_string_fetch(&username, descriptor, SS("username"), 0 TSRMLS_CC)) { zephir_array_unset_string(&descriptor, SS("username"), PH_SEPARATE); } else { ZEPHIR_INIT_NVAR(username); ZVAL_NULL(username); } ZEPHIR_OBS_VAR(password); if (zephir_array_isset_string_fetch(&password, descriptor, SS("password"), 0 TSRMLS_CC)) { zephir_array_unset_string(&descriptor, SS("password"), PH_SEPARATE); } else { ZEPHIR_INIT_NVAR(password); ZVAL_NULL(password); } ZEPHIR_OBS_VAR(options); if (zephir_array_isset_string_fetch(&options, descriptor, SS("options"), 0 TSRMLS_CC)) { zephir_array_unset_string(&descriptor, SS("options"), PH_SEPARATE); } else { ZEPHIR_INIT_NVAR(options); array_init(options); } ZEPHIR_OBS_VAR(persistent); if (zephir_array_isset_string_fetch(&persistent, descriptor, SS("persistent"), 0 TSRMLS_CC)) { if (zephir_is_true(persistent)) { zephir_array_update_long(&options, 12, &ZEPHIR_GLOBAL(global_true), PH_COPY | PH_SEPARATE ZEPHIR_DEBUG_PARAMS_DUMMY); } zephir_array_unset_string(&descriptor, SS("persistent"), PH_SEPARATE); } if (zephir_array_isset_string(descriptor, SS("dialectClass"))) { zephir_array_unset_string(&descriptor, SS("dialectClass"), PH_SEPARATE); } ZEPHIR_OBS_VAR(dsnAttributes); if (!(zephir_array_isset_string_fetch(&dsnAttributes, descriptor, SS("dsn"), 0 TSRMLS_CC))) { ZEPHIR_INIT_VAR(dsnParts); array_init(dsnParts); zephir_is_iterable(descriptor, &_1$$13, &_0$$13, 0, 0, "phalcon/db/adapter/pdo.zep", 147); for ( ; zephir_hash_get_current_data_ex(_1$$13, (void**) &_2$$13, &_0$$13) == SUCCESS ; zephir_hash_move_forward_ex(_1$$13, &_0$$13) ) { ZEPHIR_GET_HMKEY(key, _1$$13, _0$$13); ZEPHIR_GET_HVALUE(value, _2$$13); ZEPHIR_INIT_LNVAR(_3$$14); ZEPHIR_CONCAT_VSV(_3$$14, key, "=", value); zephir_array_append(&dsnParts, _3$$14, PH_SEPARATE, "phalcon/db/adapter/pdo.zep", 145); } ZEPHIR_INIT_NVAR(dsnAttributes); zephir_fast_join_str(dsnAttributes, SL(";"), dsnParts TSRMLS_CC); } ZEPHIR_INIT_VAR(_4); ZVAL_LONG(_4, 2); zephir_array_update_long(&options, 3, &_4, PH_COPY | PH_SEPARATE ZEPHIR_DEBUG_PARAMS_DUMMY); ZEPHIR_INIT_VAR(_5); object_init_ex(_5, php_pdo_get_dbh_ce()); _6 = zephir_fetch_nproperty_this(this_ptr, SL("_type"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_7); ZEPHIR_CONCAT_VSV(_7, _6, ":", dsnAttributes); ZEPHIR_CALL_METHOD(NULL, _5, "__construct", NULL, 0, _7, username, password, options); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_pdo"), _5 TSRMLS_CC); ZEPHIR_MM_RESTORE(); }
/** * Autoloads the registered classes */ PHP_METHOD(Phalcon_Loader, autoLoad) { zephir_fcall_cache_entry *_10 = NULL, *_12 = NULL, *_13 = NULL, *_23 = NULL, *_24 = NULL, *_31 = NULL, *_32 = NULL; HashTable *_2, *_7, *_15, *_21, *_26, *_29; HashPosition _1, _6, _14, _20, _25, _28; int ZEPHIR_LAST_CALL_STATUS; zval *className_param = NULL, *eventsManager, *classes, *extensions, *filePath = NULL, *ds, *fixedDirectory = NULL, *prefixes, *directories, *namespaceSeparator, *namespaces, *nsPrefix = NULL, *directory = NULL, *fileName = NULL, *extension = NULL, *prefix = NULL, *dsClassName, *nsClassName, *_0 = NULL, **_3, *_4 = NULL, _5 = zval_used_for_init, **_8, *_9 = NULL, *_11 = NULL, **_16, *_17 = NULL, _18 = zval_used_for_init, _19 = zval_used_for_init, **_22, **_27, **_30; zval *className = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &className_param); if (unlikely(Z_TYPE_P(className_param) != IS_STRING && Z_TYPE_P(className_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'className' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(className_param) == IS_STRING)) { zephir_get_strval(className, className_param); } else { ZEPHIR_INIT_VAR(className); ZVAL_EMPTY_STRING(className); } ZEPHIR_OBS_VAR(eventsManager); zephir_read_property_this(&eventsManager, this_ptr, SL("_eventsManager"), PH_NOISY_CC); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_VAR(_0); ZVAL_STRING(_0, "loader:beforeCheckClass", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", NULL, 0, _0, this_ptr, className); zephir_check_temp_parameter(_0); zephir_check_call_status(); } ZEPHIR_OBS_VAR(classes); zephir_read_property_this(&classes, this_ptr, SL("_classes"), PH_NOISY_CC); if (Z_TYPE_P(classes) == IS_ARRAY) { ZEPHIR_OBS_VAR(filePath); if (zephir_array_isset_fetch(&filePath, classes, className, 0 TSRMLS_CC)) { if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_foundPath"), filePath TSRMLS_CC); ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "loader:pathFound", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", NULL, 0, _0, this_ptr, filePath); zephir_check_temp_parameter(_0); zephir_check_call_status(); } if (zephir_require_zval(filePath TSRMLS_CC) == FAILURE) { RETURN_MM_NULL(); } RETURN_MM_BOOL(1); } } ZEPHIR_OBS_VAR(extensions); zephir_read_property_this(&extensions, this_ptr, SL("_extensions"), PH_NOISY_CC); ZEPHIR_INIT_VAR(ds); ZVAL_STRING(ds, "/", 1); ZEPHIR_INIT_VAR(namespaceSeparator); ZVAL_STRING(namespaceSeparator, "\\", 1); ZEPHIR_OBS_VAR(namespaces); zephir_read_property_this(&namespaces, this_ptr, SL("_namespaces"), PH_NOISY_CC); if (Z_TYPE_P(namespaces) == IS_ARRAY) { zephir_is_iterable(namespaces, &_2, &_1, 0, 0, "phalcon/loader.zep", 347); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HMKEY(nsPrefix, _2, _1); ZEPHIR_GET_HVALUE(directory, _3); if (zephir_start_with(className, nsPrefix, NULL)) { ZEPHIR_INIT_LNVAR(_4); ZEPHIR_CONCAT_VV(_4, nsPrefix, namespaceSeparator); ZEPHIR_SINIT_NVAR(_5); ZVAL_LONG(&_5, zephir_fast_strlen_ev(_4)); ZEPHIR_INIT_NVAR(fileName); zephir_substr(fileName, className, zephir_get_intval(&_5), 0, ZEPHIR_SUBSTR_NO_LENGTH); ZEPHIR_INIT_NVAR(_0); zephir_fast_str_replace(&_0, namespaceSeparator, ds, fileName TSRMLS_CC); ZEPHIR_CPY_WRT(fileName, _0); if (zephir_is_true(fileName)) { ZEPHIR_INIT_NVAR(_0); zephir_fast_trim(_0, directory, ds, ZEPHIR_TRIM_RIGHT TSRMLS_CC); ZEPHIR_INIT_NVAR(fixedDirectory); ZEPHIR_CONCAT_VV(fixedDirectory, _0, ds); zephir_is_iterable(extensions, &_7, &_6, 0, 0, "phalcon/loader.zep", 344); for ( ; zephir_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS ; zephir_hash_move_forward_ex(_7, &_6) ) { ZEPHIR_GET_HVALUE(extension, _8); ZEPHIR_INIT_NVAR(filePath); ZEPHIR_CONCAT_VVSV(filePath, fixedDirectory, fileName, ".", extension); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_checkedPath"), filePath TSRMLS_CC); ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "loader:beforeCheckPath", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", &_10, 0, _9, this_ptr); zephir_check_temp_parameter(_9); zephir_check_call_status(); } ZEPHIR_CALL_FUNCTION(&_11, "is_file", &_12, 279, filePath); zephir_check_call_status(); if (zephir_is_true(_11)) { if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_foundPath"), filePath TSRMLS_CC); ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "loader:pathFound", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", &_13, 0, _9, this_ptr, filePath); zephir_check_temp_parameter(_9); zephir_check_call_status(); } if (zephir_require_zval(filePath TSRMLS_CC) == FAILURE) { RETURN_MM_NULL(); } RETURN_MM_BOOL(1); } } } } } } ZEPHIR_OBS_VAR(prefixes); zephir_read_property_this(&prefixes, this_ptr, SL("_prefixes"), PH_NOISY_CC); if (Z_TYPE_P(prefixes) == IS_ARRAY) { zephir_is_iterable(prefixes, &_15, &_14, 0, 0, "phalcon/loader.zep", 402); for ( ; zephir_hash_get_current_data_ex(_15, (void**) &_16, &_14) == SUCCESS ; zephir_hash_move_forward_ex(_15, &_14) ) { ZEPHIR_GET_HMKEY(prefix, _15, _14); ZEPHIR_GET_HVALUE(directory, _16); if (zephir_start_with(className, prefix, NULL)) { ZEPHIR_INIT_LNVAR(_4); ZEPHIR_CONCAT_VV(_4, prefix, namespaceSeparator); ZEPHIR_SINIT_NVAR(_5); ZVAL_STRING(&_5, "", 0); ZEPHIR_INIT_NVAR(fileName); zephir_fast_str_replace(&fileName, _4, &_5, className TSRMLS_CC); ZEPHIR_INIT_NVAR(_0); ZEPHIR_INIT_LNVAR(_17); ZEPHIR_CONCAT_VS(_17, prefix, "_"); ZEPHIR_SINIT_NVAR(_18); ZVAL_STRING(&_18, "", 0); zephir_fast_str_replace(&_0, _17, &_18, fileName TSRMLS_CC); ZEPHIR_CPY_WRT(fileName, _0); ZEPHIR_INIT_NVAR(_0); ZEPHIR_SINIT_NVAR(_19); ZVAL_STRING(&_19, "_", 0); zephir_fast_str_replace(&_0, &_19, ds, fileName TSRMLS_CC); ZEPHIR_CPY_WRT(fileName, _0); if (zephir_is_true(fileName)) { ZEPHIR_INIT_NVAR(_0); zephir_fast_trim(_0, directory, ds, ZEPHIR_TRIM_RIGHT TSRMLS_CC); ZEPHIR_INIT_NVAR(fixedDirectory); ZEPHIR_CONCAT_VV(fixedDirectory, _0, ds); zephir_is_iterable(extensions, &_21, &_20, 0, 0, "phalcon/loader.zep", 399); for ( ; zephir_hash_get_current_data_ex(_21, (void**) &_22, &_20) == SUCCESS ; zephir_hash_move_forward_ex(_21, &_20) ) { ZEPHIR_GET_HVALUE(extension, _22); ZEPHIR_INIT_NVAR(filePath); ZEPHIR_CONCAT_VVSV(filePath, fixedDirectory, fileName, ".", extension); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_checkedPath"), filePath TSRMLS_CC); ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "loader:beforeCheckPath", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", &_23, 0, _9, this_ptr, filePath); zephir_check_temp_parameter(_9); zephir_check_call_status(); } ZEPHIR_CALL_FUNCTION(&_11, "is_file", &_12, 279, filePath); zephir_check_call_status(); if (zephir_is_true(_11)) { if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_foundPath"), filePath TSRMLS_CC); ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "loader:pathFound", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", &_24, 0, _9, this_ptr, filePath); zephir_check_temp_parameter(_9); zephir_check_call_status(); } if (zephir_require_zval(filePath TSRMLS_CC) == FAILURE) { RETURN_MM_NULL(); } RETURN_MM_BOOL(1); } } } } } } ZEPHIR_SINIT_NVAR(_5); ZVAL_STRING(&_5, "_", 0); ZEPHIR_INIT_VAR(dsClassName); zephir_fast_str_replace(&dsClassName, &_5, ds, className TSRMLS_CC); ZEPHIR_SINIT_NVAR(_18); ZVAL_STRING(&_18, "\\", 0); ZEPHIR_INIT_VAR(nsClassName); zephir_fast_str_replace(&nsClassName, &_18, ds, dsClassName TSRMLS_CC); ZEPHIR_OBS_VAR(directories); zephir_read_property_this(&directories, this_ptr, SL("_directories"), PH_NOISY_CC); if (Z_TYPE_P(directories) == IS_ARRAY) { zephir_is_iterable(directories, &_26, &_25, 0, 0, "phalcon/loader.zep", 464); for ( ; zephir_hash_get_current_data_ex(_26, (void**) &_27, &_25) == SUCCESS ; zephir_hash_move_forward_ex(_26, &_25) ) { ZEPHIR_GET_HVALUE(directory, _27); ZEPHIR_INIT_NVAR(_0); zephir_fast_trim(_0, directory, ds, ZEPHIR_TRIM_RIGHT TSRMLS_CC); ZEPHIR_INIT_NVAR(fixedDirectory); ZEPHIR_CONCAT_VV(fixedDirectory, _0, ds); zephir_is_iterable(extensions, &_29, &_28, 0, 0, "phalcon/loader.zep", 463); for ( ; zephir_hash_get_current_data_ex(_29, (void**) &_30, &_28) == SUCCESS ; zephir_hash_move_forward_ex(_29, &_28) ) { ZEPHIR_GET_HVALUE(extension, _30); ZEPHIR_INIT_NVAR(filePath); ZEPHIR_CONCAT_VVSV(filePath, fixedDirectory, nsClassName, ".", extension); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_checkedPath"), filePath TSRMLS_CC); ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "loader:beforeCheckPath", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", &_31, 0, _9, this_ptr, filePath); zephir_check_temp_parameter(_9); zephir_check_call_status(); } ZEPHIR_CALL_FUNCTION(&_11, "is_file", &_12, 279, filePath); zephir_check_call_status(); if (zephir_is_true(_11)) { if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_foundPath"), filePath TSRMLS_CC); ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "loader:pathFound", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", &_32, 0, _9, this_ptr, filePath); zephir_check_temp_parameter(_9); zephir_check_call_status(); } if (zephir_require_zval(filePath TSRMLS_CC) == FAILURE) { RETURN_MM_NULL(); } RETURN_MM_BOOL(1); } } } } if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "loader:afterCheckClass", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", NULL, 0, _0, this_ptr, className); zephir_check_temp_parameter(_0); zephir_check_call_status(); } RETURN_MM_BOOL(0); }
/** * Gets the column name in SQLite */ PHP_METHOD(Phalcon_Db_Dialect_Sqlite, getColumnDefinition) { HashTable *_13$$41; HashPosition _12$$41; zephir_fcall_cache_entry *_17 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *column, *columnSql = NULL, *type = NULL, *typeValues = NULL, *_0$$8 = NULL, *_1$$8, *_2$$10 = NULL, *_3$$10 = NULL, *_4$$10, *_5$$16 = NULL, *_6$$16, *_7$$24 = NULL, *_8$$27 = NULL, *_9$$39, *_10$$39 = NULL, *_11$$39, *value$$41 = NULL, *valueSql$$41 = NULL, **_14$$41, _19$$41, _20$$41, *_21$$41, *_22$$41, _15$$42 = zval_used_for_init, *_16$$42 = NULL, *_18$$42 = NULL, _23$$43, *_24$$43 = NULL, *_25$$43; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &column); ZEPHIR_INIT_VAR(columnSql); ZVAL_STRING(columnSql, "", 1); ZEPHIR_CALL_METHOD(&type, column, "gettype", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(type) == IS_STRING) { zephir_concat_self(&columnSql, type TSRMLS_CC); ZEPHIR_CALL_METHOD(&type, column, "gettypereference", NULL, 0); zephir_check_call_status(); } do { if (ZEPHIR_IS_LONG(type, 0)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("INTEGER") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 1)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("DATE") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 2)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("VARCHAR") TSRMLS_CC); } ZEPHIR_CALL_METHOD(&_0$$8, column, "getsize", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_VAR(_1$$8); ZEPHIR_CONCAT_SVS(_1$$8, "(", _0$$8, ")"); zephir_concat_self(&columnSql, _1$$8 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(type, 3)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("NUMERIC") TSRMLS_CC); } ZEPHIR_CALL_METHOD(&_2$$10, column, "getsize", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_3$$10, column, "getscale", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_VAR(_4$$10); ZEPHIR_CONCAT_SVSVS(_4$$10, "(", _2$$10, ",", _3$$10, ")"); zephir_concat_self(&columnSql, _4$$10 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(type, 4)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("DATETIME") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 17)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("TIMESTAMP") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 5)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("CHARACTER") TSRMLS_CC); } ZEPHIR_CALL_METHOD(&_5$$16, column, "getsize", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_VAR(_6$$16); ZEPHIR_CONCAT_SVS(_6$$16, "(", _5$$16, ")"); zephir_concat_self(&columnSql, _6$$16 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(type, 6)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("TEXT") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 8)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("TINYINT") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 7)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("FLOAT") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 9)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("DOUBLE") TSRMLS_CC); } ZEPHIR_CALL_METHOD(&_7$$24, column, "isunsigned", NULL, 0); zephir_check_call_status(); if (zephir_is_true(_7$$24)) { zephir_concat_self_str(&columnSql, SL(" UNSIGNED") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 14)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("BIGINT") TSRMLS_CC); } ZEPHIR_CALL_METHOD(&_8$$27, column, "isunsigned", NULL, 0); zephir_check_call_status(); if (zephir_is_true(_8$$27)) { zephir_concat_self_str(&columnSql, SL(" UNSIGNED") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 10)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("TINYBLOB") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 11)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("BLOB") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 12)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("MEDIUMBLOB") TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(type, 13)) { if (ZEPHIR_IS_EMPTY(columnSql)) { zephir_concat_self_str(&columnSql, SL("LONGBLOB") TSRMLS_CC); } break; } if (ZEPHIR_IS_EMPTY(columnSql)) { ZEPHIR_INIT_VAR(_9$$39); object_init_ex(_9$$39, phalcon_db_exception_ce); ZEPHIR_CALL_METHOD(&_10$$39, column, "getname", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_VAR(_11$$39); ZEPHIR_CONCAT_SV(_11$$39, "Unrecognized SQLite data type at column ", _10$$39); ZEPHIR_CALL_METHOD(NULL, _9$$39, "__construct", NULL, 9, _11$$39); zephir_check_call_status(); zephir_throw_exception_debug(_9$$39, "phalcon/db/dialect/sqlite.zep", 169 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_CALL_METHOD(&typeValues, column, "gettypevalues", NULL, 0); zephir_check_call_status(); if (!(ZEPHIR_IS_EMPTY(typeValues))) { if (Z_TYPE_P(typeValues) == IS_ARRAY) { ZEPHIR_INIT_VAR(valueSql$$41); ZVAL_STRING(valueSql$$41, "", 1); zephir_is_iterable(typeValues, &_13$$41, &_12$$41, 0, 0, "phalcon/db/dialect/sqlite.zep", 180); for ( ; zephir_hash_get_current_data_ex(_13$$41, (void**) &_14$$41, &_12$$41) == SUCCESS ; zephir_hash_move_forward_ex(_13$$41, &_12$$41) ) { ZEPHIR_GET_HVALUE(value$$41, _14$$41); ZEPHIR_SINIT_NVAR(_15$$42); ZVAL_STRING(&_15$$42, "\"", 0); ZEPHIR_CALL_FUNCTION(&_16$$42, "addcslashes", &_17, 153, value$$41, &_15$$42); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_18$$42); ZEPHIR_CONCAT_SVS(_18$$42, "\"", _16$$42, "\", "); zephir_concat_self(&valueSql$$41, _18$$42 TSRMLS_CC); } ZEPHIR_SINIT_VAR(_19$$41); ZVAL_LONG(&_19$$41, 0); ZEPHIR_SINIT_VAR(_20$$41); ZVAL_LONG(&_20$$41, -2); ZEPHIR_INIT_VAR(_21$$41); zephir_substr(_21$$41, valueSql$$41, 0 , -2 , 0); ZEPHIR_INIT_VAR(_22$$41); ZEPHIR_CONCAT_SVS(_22$$41, "(", _21$$41, ")"); zephir_concat_self(&columnSql, _22$$41 TSRMLS_CC); } else { ZEPHIR_SINIT_VAR(_23$$43); ZVAL_STRING(&_23$$43, "\"", 0); ZEPHIR_CALL_FUNCTION(&_24$$43, "addcslashes", &_17, 153, typeValues, &_23$$43); zephir_check_call_status(); ZEPHIR_INIT_VAR(_25$$43); ZEPHIR_CONCAT_SVS(_25$$43, "(\"", _24$$43, "\")"); zephir_concat_self(&columnSql, _25$$43 TSRMLS_CC); } } } while(0); RETURN_CCTOR(columnSql); }
/** * Hendle the controller calling process. * * The steps is: * - Does alias controller are defined in main config? * - If not, is sub-controller exists? * - If not, module with this name exists? * - If all fault, then throw 404. * * @return void */ PHP_METHOD(Panada_Gear, controllerHandler) { zend_class_entry *_8; zephir_nts_static zephir_fcall_cache_entry *_3 = NULL, *_12 = NULL, *_19 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *instance, *request = NULL, *method = NULL, *classFile, *controllerNamespace, *_0, *_1, *_2, *_4, *_5, *_6 = NULL, *_7 = NULL, *_9, *_10 = NULL, _11, *_13, *_14, *_15, *_16, *_17 = NULL, *_18; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("firstUriPath"), PH_NOISY_CC); ZEPHIR_INIT_VAR(controllerNamespace); ZEPHIR_CONCAT_SV(controllerNamespace, "Controllers\\", _0); ZEPHIR_INIT_VAR(_1); ZEPHIR_GET_CONSTANT(_1, "APP"); _2 = zephir_fetch_nproperty_this(this_ptr, SL("firstUriPath"), PH_NOISY_CC); ZEPHIR_INIT_VAR(classFile); ZEPHIR_CONCAT_VSVS(classFile, _1, "Controllers/", _2, ".php"); if (!((zephir_file_exists(classFile TSRMLS_CC) == SUCCESS))) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "subcontrollerhandler", &_3); zephir_check_call_status(); RETURN_MM_NULL(); } _4 = zephir_fetch_nproperty_this(this_ptr, SL("uriObj"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&method, _4, "getmethod", NULL); zephir_check_call_status(); _5 = zephir_fetch_nproperty_this(this_ptr, SL("uriObj"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&request, _5, "getrequests", NULL); zephir_check_call_status(); if (!(zephir_is_true(request))) { ZEPHIR_INIT_VAR(request); array_init(request); } if (!(zephir_class_exists(controllerNamespace, 1 TSRMLS_CC))) { ZEPHIR_INIT_VAR(_6); object_init_ex(_6, panada_resources_runexception_ce); ZEPHIR_INIT_VAR(_7); ZEPHIR_CONCAT_SVSV(_7, "Class ", controllerNamespace, " not found in ", classFile); ZEPHIR_CALL_METHOD(NULL, _6, "__construct", NULL, _7); zephir_check_call_status(); zephir_throw_exception(_6 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_INIT_VAR(instance); _8 = zend_fetch_class(Z_STRVAL_P(controllerNamespace), Z_STRLEN_P(controllerNamespace), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(instance, _8); if (zephir_has_constructor(instance TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, instance, "__construct", NULL); zephir_check_call_status(); } if (!((zephir_method_exists(instance, method TSRMLS_CC) == SUCCESS))) { _9 = zephir_fetch_nproperty_this(this_ptr, SL("uriObj"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&_10, _9, "path", NULL); zephir_check_call_status(); ZEPHIR_SINIT_VAR(_11); ZVAL_LONG(&_11, 1); ZEPHIR_CALL_FUNCTION(&request, "array_slice", &_12, _10, &_11); zephir_check_call_status(); _13 = zephir_fetch_nproperty_this(this_ptr, SL("config"), PH_NOISY_CC); zephir_array_fetch_string(&_14, _13, SL("main"), PH_NOISY | PH_READONLY TSRMLS_CC); zephir_array_fetch_string(&_15, _14, SL("alias"), PH_NOISY | PH_READONLY TSRMLS_CC); ZEPHIR_OBS_VAR(method); zephir_array_fetch_string(&method, _15, SL("method"), PH_NOISY TSRMLS_CC); if (!((zephir_method_exists(instance, method TSRMLS_CC) == SUCCESS))) { ZEPHIR_INIT_LNVAR(_6); object_init_ex(_6, panada_resources_runexception_ce); _16 = zephir_fetch_nproperty_this(this_ptr, SL("uriObj"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&_17, _16, "getmethod", NULL); zephir_check_call_status(); _18 = zephir_fetch_nproperty_this(this_ptr, SL("firstUriPath"), PH_NOISY_CC); ZEPHIR_INIT_LNVAR(_7); ZEPHIR_CONCAT_SVSV(_7, "Method ", _17, " does not exists in controller ", _18); ZEPHIR_CALL_METHOD(NULL, _6, "__construct", NULL, _7); zephir_check_call_status(); zephir_throw_exception(_6 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } ZEPHIR_CALL_METHOD(NULL, this_ptr, "run", &_19, instance, method, request); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); }
/** * @param array ids * @param bool concurrent Only for entities fetched in this query * @return \Ouchbase\Entity[] */ PHP_METHOD(Ouchbase_Repository, findAll) { zephir_fcall_cache_entry *_7 = NULL; HashTable *_3; HashPosition _2; int ZEPHIR_LAST_CALL_STATUS; zval *_0; zend_bool concurrent; zval *ids, *concurrent_param = NULL, *entity = NULL, *entities, *cas, *data, *dataWithCas = NULL, *id = NULL, *entityData = NULL, *_1 = NULL, **_4, *_5, *_6, *_8, *_9, *_10 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &ids, &concurrent_param); if (!concurrent_param) { concurrent = 0; } else { concurrent = zephir_get_boolval(concurrent_param); } ZEPHIR_INIT_VAR(entities); array_init(entities); ZEPHIR_INIT_VAR(_0); array_init_size(_0, 2); zephir_array_fast_append(_0, ids); ZEPHIR_INIT_VAR(_1); ZVAL_STRING(_1, "__getMultiWithCas", 0); ZEPHIR_CALL_METHOD(&dataWithCas, this_ptr, "executewithouttimeouts", NULL, _1, _0); zephir_check_temp_parameter(_1); zephir_check_call_status(); ZEPHIR_OBS_VAR(data); zephir_array_fetch_string(&data, dataWithCas, SL("data"), PH_NOISY TSRMLS_CC); ZEPHIR_OBS_VAR(cas); zephir_array_fetch_string(&cas, dataWithCas, SL("cas"), PH_NOISY TSRMLS_CC); zephir_is_iterable(data, &_3, &_2, 0, 0); for ( ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS ; zephir_hash_move_forward_ex(_3, &_2) ) { ZEPHIR_GET_HMKEY(id, _3, _2); ZEPHIR_GET_HVALUE(entityData, _4); _5 = zephir_fetch_nproperty_this(this_ptr, SL("im"), PH_NOISY_CC); _6 = zephir_fetch_nproperty_this(this_ptr, SL("className"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&entity, _5, "getentity", NULL, _6, id); zephir_check_call_status(); if (zephir_is_true(entity)) { zephir_array_append(&entities, entity, PH_SEPARATE); continue; } if (!(Z_TYPE_P(entityData) == IS_ARRAY)) { ZEPHIR_INIT_NVAR(_1); zephir_json_decode(_1, &(_1), entityData, zephir_get_intval(ZEPHIR_GLOBAL(global_true)) TSRMLS_CC); ZEPHIR_CPY_WRT(entityData, _1); } ZEPHIR_CALL_METHOD(&entity, this_ptr, "toobject", &_7, entityData); zephir_check_call_status(); _8 = zephir_fetch_nproperty_this(this_ptr, SL("im"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, _8, "register", NULL, entity, entityData); zephir_check_call_status(); _9 = zephir_fetch_nproperty_this(this_ptr, SL("uow"), PH_NOISY_CC); ZEPHIR_INIT_LNVAR(_10); if (concurrent) { ZEPHIR_OBS_NVAR(_10); zephir_array_fetch(&_10, cas, id, PH_NOISY TSRMLS_CC); } else { ZEPHIR_INIT_NVAR(_10); ZVAL_NULL(_10); } ZEPHIR_CALL_METHOD(NULL, _9, "persist", NULL, entity, _10); zephir_check_call_status(); zephir_array_append(&entities, entity, PH_SEPARATE); } RETURN_CCTOR(entities); }
/** * @todo cas argument is inconsistent here * * @param \Ouchbase\Entity entity * @param string|null cas * @throws \Ouchbase\Exception\EntityLogicException * @throws \Ouchbase\Exception\EntityModifiedException * @return this */ PHP_METHOD(Ouchbase_Repository, update) { zend_class_entry *_8; zval *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *entity = NULL, *cas = NULL, *_0 = NULL, *data = NULL, *originalData = NULL, *_1, *_2 = NULL, *_3 = NULL, *_4, *_6 = NULL, *e = NULL, *_7 = NULL, *ex; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &entity, &cas); ZEPHIR_SEPARATE_PARAM(entity); if (!cas) { cas = ZEPHIR_GLOBAL(global_null); } if (!(zephir_instance_of_ev(entity, ouchbase_entity_ce TSRMLS_CC))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(spl_ce_InvalidArgumentException, "Parameter 'entity' must be an instance of 'Ouchbase\\Entity'", "", 0); return; } if (zephir_instance_of_ev(entity, ouchbase_entityproxy_ce TSRMLS_CC)) { ZEPHIR_CALL_METHOD(&_0, entity, "isproxied", NULL); zephir_check_call_status(); if (!(zephir_is_true(_0))) { RETURN_THIS(); } ZEPHIR_CALL_METHOD(&entity, entity, "_getobject", NULL); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(&data, this_ptr, "toarray", NULL, entity); zephir_check_call_status(); _1 = zephir_fetch_nproperty_this(this_ptr, SL("im"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&originalData, _1, "getoriginaldata", NULL, entity); zephir_check_call_status(); if (!(zephir_is_true(originalData))) { ZEPHIR_INIT_VAR(_2); object_init_ex(_2, ouchbase_exception_entitylogicexception_ce); ZEPHIR_INIT_VAR(_3); ZVAL_STRING(_3, "was not registered in the identity map", 0); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", NULL, entity, _3); zephir_check_temp_parameter(_3); zephir_check_call_status(); zephir_throw_exception_debug(_2, "ouchbase/Repository.zep", 215 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } if (ZEPHIR_IS_EQUAL(data, originalData)) { RETURN_THIS(); } _4 = zephir_fetch_nproperty_this(this_ptr, SL("im"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, _4, "updateoriginaldata", NULL, entity, data); zephir_check_call_status(); if (!(zephir_is_true(cas))) { ZEPHIR_INIT_VAR(_5); array_init_size(_5, 3); ZEPHIR_CALL_METHOD(&_6, entity, "getid", NULL); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_0, this_ptr, "getkey", NULL, _6); zephir_check_call_status(); zephir_array_fast_append(_5, _0); ZEPHIR_INIT_NVAR(_3); zephir_json_encode(_3, &(_3), data, 0 TSRMLS_CC); zephir_array_fast_append(_5, _3); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "replace", 0); ZEPHIR_CALL_METHOD(NULL, this_ptr, "executewithouttimeouts", NULL, _3, _5); zephir_check_temp_parameter(_3); zephir_check_call_status(); RETURN_THIS(); } /* try_start_1: */ ZEPHIR_INIT_NVAR(_5); array_init_size(_5, 6); ZEPHIR_CALL_METHOD(&_7, entity, "getid", NULL); zephir_check_call_status_or_jump(try_end_1); ZEPHIR_CALL_METHOD(&_6, this_ptr, "getkey", NULL, _7); zephir_check_call_status_or_jump(try_end_1); zephir_array_fast_append(_5, _6); ZEPHIR_INIT_NVAR(_3); zephir_json_encode(_3, &(_3), data, 0 TSRMLS_CC); zephir_array_fast_append(_5, _3); ZEPHIR_INIT_NVAR(_3); ZVAL_LONG(_3, 0); zephir_array_fast_append(_5, _3); zephir_array_fast_append(_5, cas); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "replace", 0); ZEPHIR_CALL_METHOD(&_0, this_ptr, "executewithouttimeouts", NULL, _3, _5); zephir_check_temp_parameter(_3); zephir_check_call_status_or_jump(try_end_1); if (!(zephir_is_true(_0))) { ZEPHIR_INIT_LNVAR(_2); _8 = zend_fetch_class(SL("CouchbaseKeyMutatedException"), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(_2, _8); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", NULL); zephir_check_call_status_or_jump(try_end_1); zephir_throw_exception_debug(_2, "ouchbase/Repository.zep", 233 TSRMLS_CC); goto try_end_1; } RETURN_THIS(); try_end_1: ZEPHIR_CPY_WRT(e, EG(exception)); if (zephir_is_instance_of(e, SL("CouchbaseKeyMutatedException") TSRMLS_CC)) { zend_clear_exception(TSRMLS_C); ZEPHIR_INIT_VAR(ex); object_init_ex(ex, ouchbase_exception_entitymodifiedexception_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "was modified", 0); ZEPHIR_CALL_METHOD(NULL, ex, "__construct", NULL, entity, _3); zephir_check_temp_parameter(_3); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "update", 0); ZEPHIR_CALL_METHOD(NULL, ex, "setaction", NULL, _3); zephir_check_temp_parameter(_3); zephir_check_call_status(); zephir_throw_exception_debug(ex, "ouchbase/Repository.zep", 242 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } RETURN_THIS(); }
/** * Handle the whole command-line tasks * * @param array arguments * @return mixed */ PHP_METHOD(Phalcon_Cli_Console, handle) { zephir_nts_static zephir_fcall_cache_entry *_6 = NULL; zend_bool _3; int ZEPHIR_LAST_CALL_STATUS; zval *arguments = NULL, *dependencyInjector, *router = NULL, *eventsManager = NULL, *moduleName = NULL, *modules, *module, *path, *className = NULL, *moduleObject = NULL, *dispatcher = NULL, *task = NULL, *_0, *_1 = NULL, *_2 = NULL, *_4, *_5 = NULL, *_7 = NULL, *_8 = NULL, *_9 = NULL, *_10 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &arguments); if (!arguments) { arguments = ZEPHIR_GLOBAL(global_null); } ZEPHIR_OBS_VAR(dependencyInjector); zephir_read_property_this(&dependencyInjector, this_ptr, SL("_dependencyInjector"), PH_NOISY_CC); if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "A dependency injection object is required to access internal services", "phalcon/cli/console.zep", 171); return; } _0 = zephir_fetch_nproperty_this(this_ptr, SL("_eventsManager"), PH_NOISY_CC); ZEPHIR_CPY_WRT(eventsManager, _0); ZEPHIR_INIT_VAR(_2); ZVAL_STRING(_2, "router", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_1, dependencyInjector, "getshared", NULL, _2); zephir_check_temp_parameter(_2); zephir_check_call_status(); ZEPHIR_CPY_WRT(router, _1); _3 = !zephir_is_true(arguments); if (_3) { _0 = zephir_fetch_nproperty_this(this_ptr, SL("_arguments"), PH_NOISY_CC); _3 = zephir_is_true(_0); } if (_3) { _4 = zephir_fetch_nproperty_this(this_ptr, SL("_arguments"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, router, "handle", NULL, _4); zephir_check_call_status(); } else { ZEPHIR_CALL_METHOD(NULL, router, "handle", NULL, arguments); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(&moduleName, router, "getmodulename", NULL); zephir_check_call_status(); if (zephir_is_true(moduleName)) { if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_NVAR(_2); ZVAL_STRING(_2, "console:beforeStartModule", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_1, eventsManager, "fire", NULL, _2, this_ptr, moduleName); zephir_check_temp_parameter(_2); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_1)) { RETURN_MM_BOOL(0); } } ZEPHIR_OBS_VAR(modules); zephir_read_property_this(&modules, this_ptr, SL("_modules"), PH_NOISY_CC); if (!(zephir_array_isset(modules, moduleName))) { ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_cli_console_exception_ce); ZEPHIR_INIT_VAR(_5); ZEPHIR_CONCAT_SVS(_5, "Module '", moduleName, "' isn't registered in the console container"); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _5); zephir_check_call_status(); zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 195 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_OBS_VAR(module); zephir_array_fetch(&module, modules, moduleName, PH_NOISY, "phalcon/cli/console.zep", 198 TSRMLS_CC); if (Z_TYPE_P(module) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_cli_console_exception_ce, "Invalid module definition path", "phalcon/cli/console.zep", 200); return; } ZEPHIR_OBS_VAR(path); if (zephir_array_isset_string_fetch(&path, module, SS("path"), 0 TSRMLS_CC)) { if (!((zephir_file_exists(path TSRMLS_CC) == SUCCESS))) { ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_cli_console_exception_ce); ZEPHIR_INIT_LNVAR(_5); ZEPHIR_CONCAT_SVS(_5, "Module definition path '", path, "' doesn't exist"); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, _5); zephir_check_call_status(); zephir_throw_exception_debug(_2, "phalcon/cli/console.zep", 205 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } if (zephir_require_zval(path TSRMLS_CC) == FAILURE) { RETURN_MM_NULL(); } } ZEPHIR_OBS_VAR(className); if (!(zephir_array_isset_string_fetch(&className, module, SS("className"), 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(className); ZVAL_STRING(className, "Module", 1); } ZEPHIR_CALL_METHOD(&moduleObject, dependencyInjector, "get", NULL, className); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, moduleObject, "registerautoloaders", NULL); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, moduleObject, "registerservices", NULL, dependencyInjector); zephir_check_call_status(); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { zephir_update_property_this(this_ptr, SL("_moduleObject"), moduleObject TSRMLS_CC); ZEPHIR_INIT_NVAR(_2); ZVAL_STRING(_2, "console:afterStartModule", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_7, eventsManager, "fire", NULL, _2, this_ptr, moduleObject); zephir_check_temp_parameter(_2); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_7)) { RETURN_MM_BOOL(0); } } } ZEPHIR_INIT_NVAR(_2); ZVAL_STRING(_2, "dispatcher", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_7, dependencyInjector, "getshared", NULL, _2); zephir_check_temp_parameter(_2); zephir_check_call_status(); ZEPHIR_CPY_WRT(dispatcher, _7); ZEPHIR_CALL_METHOD(&_7, router, "gettaskname", NULL); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, dispatcher, "settaskname", NULL, _7); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_8, router, "getactionname", NULL); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, dispatcher, "setactionname", NULL, _8); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_9, router, "getparams", NULL); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, dispatcher, "setparams", NULL, _9); zephir_check_call_status(); _4 = zephir_fetch_nproperty_this(this_ptr, SL("_options"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, dispatcher, "setoptions", NULL, _4); zephir_check_call_status(); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_NVAR(_2); ZVAL_STRING(_2, "console:beforeHandleTask", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_10, eventsManager, "fire", NULL, _2, this_ptr, dispatcher); zephir_check_temp_parameter(_2); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_10)) { RETURN_MM_BOOL(0); } } ZEPHIR_CALL_METHOD(&task, dispatcher, "dispatch", NULL); zephir_check_call_status(); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_NVAR(_2); ZVAL_STRING(_2, "console:afterHandleTask", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, eventsManager, "fire", NULL, _2, this_ptr, task); zephir_check_temp_parameter(_2); zephir_check_call_status(); } RETURN_CCTOR(task); }
/** * Produce the routing parameters from the rewrite information */ PHP_METHOD(Phalcon_Mvc_Router_Annotations, handle) { zend_bool _5$$6; HashTable *_3, *_9$$14, *_13$$16, *_17$$18; HashPosition _2, _8$$14, _12$$16, _16$$18; zephir_fcall_cache_entry *_7 = NULL, *_11 = NULL, *_19 = NULL, *_20 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *uri_param = NULL, *realUri = NULL, *annotationsService = NULL, *handlers = NULL, *controllerSuffix = NULL, *scope = NULL, *prefix = NULL, *dependencyInjector = NULL, *handler = NULL, *controllerName = NULL, *lowerControllerName = NULL, *namespaceName = NULL, *moduleName = NULL, *sufixed = NULL, *handlerAnnotations = NULL, *classAnnotations = NULL, *annotations = NULL, *annotation = NULL, *methodAnnotations = NULL, *method = NULL, *collection = NULL, *_0, *_1, **_4, *_6$$11 = NULL, **_10$$14, **_14$$16, *_15$$18 = NULL, **_18$$18; zval *uri = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &uri_param); if (!uri_param) { ZEPHIR_INIT_VAR(uri); ZVAL_EMPTY_STRING(uri); } else { if (UNEXPECTED(Z_TYPE_P(uri_param) != IS_STRING && Z_TYPE_P(uri_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'uri' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (EXPECTED(Z_TYPE_P(uri_param) == IS_STRING)) { zephir_get_strval(uri, uri_param); } else { ZEPHIR_INIT_VAR(uri); ZVAL_EMPTY_STRING(uri); } } if (!(!(!uri) && Z_STRLEN_P(uri))) { ZEPHIR_CALL_METHOD(&realUri, this_ptr, "getrewriteuri", NULL, 0); zephir_check_call_status(); } else { ZEPHIR_CPY_WRT(realUri, uri); } _0 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC); ZEPHIR_CPY_WRT(dependencyInjector, _0); if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_router_exception_ce, "A dependency injection container is required to access the 'annotations' service", "phalcon/mvc/router/annotations.zep", 104); return; } ZEPHIR_INIT_VAR(_1); ZVAL_STRING(_1, "annotations", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&annotationsService, dependencyInjector, "getshared", NULL, 0, _1); zephir_check_temp_parameter(_1); zephir_check_call_status(); ZEPHIR_OBS_VAR(handlers); zephir_read_property_this(&handlers, this_ptr, SL("_handlers"), PH_NOISY_CC); ZEPHIR_OBS_VAR(controllerSuffix); zephir_read_property_this(&controllerSuffix, this_ptr, SL("_controllerSuffix"), PH_NOISY_CC); zephir_is_iterable(handlers, &_3, &_2, 0, 0, "phalcon/mvc/router/annotations.zep", 205); for ( ; zend_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS ; zend_hash_move_forward_ex(_3, &_2) ) { ZEPHIR_GET_HVALUE(scope, _4); if (Z_TYPE_P(scope) != IS_ARRAY) { continue; } ZEPHIR_OBS_NVAR(prefix); zephir_array_fetch_long(&prefix, scope, 0, PH_NOISY, "phalcon/mvc/router/annotations.zep", 122 TSRMLS_CC); _5$$6 = !(ZEPHIR_IS_EMPTY(prefix)); if (_5$$6) { _5$$6 = !(zephir_start_with(realUri, prefix, NULL)); } if (_5$$6) { continue; } ZEPHIR_OBS_NVAR(handler); zephir_array_fetch_long(&handler, scope, 1, PH_NOISY, "phalcon/mvc/router/annotations.zep", 131 TSRMLS_CC); if (zephir_memnstr_str(handler, SL("\\"), "phalcon/mvc/router/annotations.zep", 133)) { ZEPHIR_INIT_NVAR(controllerName); zephir_get_class_ns(controllerName, handler, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(namespaceName); zephir_get_ns_class(namespaceName, handler, 0 TSRMLS_CC); } else { ZEPHIR_CPY_WRT(controllerName, handler); ZEPHIR_OBS_NVAR(namespaceName); zephir_fetch_property(&namespaceName, this_ptr, SL("_defaultNamespace"), PH_SILENT_CC); } zephir_update_property_this(getThis(), SL("_routePrefix"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC); ZEPHIR_OBS_NVAR(moduleName); zephir_array_isset_long_fetch(&moduleName, scope, 2, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(sufixed); ZEPHIR_CONCAT_VV(sufixed, controllerName, controllerSuffix); if (Z_TYPE_P(namespaceName) != IS_NULL) { ZEPHIR_INIT_LNVAR(_6$$11); ZEPHIR_CONCAT_VSV(_6$$11, namespaceName, "\\", sufixed); ZEPHIR_CPY_WRT(sufixed, _6$$11); } ZEPHIR_CALL_METHOD(&handlerAnnotations, annotationsService, "get", &_7, 0, sufixed); zephir_check_call_status(); if (Z_TYPE_P(handlerAnnotations) != IS_OBJECT) { continue; } ZEPHIR_CALL_METHOD(&classAnnotations, handlerAnnotations, "getclassannotations", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(classAnnotations) == IS_OBJECT) { ZEPHIR_CALL_METHOD(&annotations, classAnnotations, "getannotations", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(annotations) == IS_ARRAY) { zephir_is_iterable(annotations, &_9$$14, &_8$$14, 0, 0, "phalcon/mvc/router/annotations.zep", 182); for ( ; zend_hash_get_current_data_ex(_9$$14, (void**) &_10$$14, &_8$$14) == SUCCESS ; zend_hash_move_forward_ex(_9$$14, &_8$$14) ) { ZEPHIR_GET_HVALUE(annotation, _10$$14); ZEPHIR_CALL_METHOD(NULL, this_ptr, "processcontrollerannotation", &_11, 0, controllerName, annotation); zephir_check_call_status(); } } } ZEPHIR_CALL_METHOD(&methodAnnotations, handlerAnnotations, "getmethodsannotations", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(methodAnnotations) == IS_ARRAY) { ZEPHIR_INIT_NVAR(lowerControllerName); zephir_uncamelize(lowerControllerName, controllerName, NULL ); zephir_is_iterable(methodAnnotations, &_13$$16, &_12$$16, 0, 0, "phalcon/mvc/router/annotations.zep", 199); for ( ; zend_hash_get_current_data_ex(_13$$16, (void**) &_14$$16, &_12$$16) == SUCCESS ; zend_hash_move_forward_ex(_13$$16, &_12$$16) ) { ZEPHIR_GET_HMKEY(method, _13$$16, _12$$16); ZEPHIR_GET_HVALUE(collection, _14$$16); if (Z_TYPE_P(collection) == IS_OBJECT) { ZEPHIR_CALL_METHOD(&_15$$18, collection, "getannotations", NULL, 0); zephir_check_call_status(); zephir_is_iterable(_15$$18, &_17$$18, &_16$$18, 0, 0, "phalcon/mvc/router/annotations.zep", 197); for ( ; zend_hash_get_current_data_ex(_17$$18, (void**) &_18$$18, &_16$$18) == SUCCESS ; zend_hash_move_forward_ex(_17$$18, &_16$$18) ) { ZEPHIR_GET_HVALUE(annotation, _18$$18); ZEPHIR_CALL_METHOD(NULL, this_ptr, "processactionannotation", &_19, 0, moduleName, namespaceName, lowerControllerName, method, annotation); zephir_check_call_status(); } } } } } ZEPHIR_CALL_PARENT(NULL, phalcon_mvc_router_annotations_ce, getThis(), "handle", &_20, 398, realUri); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); }
PHP_METHOD(PhalconPlus_Logger_Processor_Trace, __toString) { HashTable *_4$$3; HashPosition _3$$3; zval *trace = NULL, *part = NULL, *_1, *trace1 = NULL, *trace2 = NULL, *_9 = NULL, *_10, *_11, *_12, *_13, *_14, *_15, *_16, *_17, *_18, *_2$$3, **_5$$3, *_6$$4, *_7$$4, *_8$$4 = NULL, *_20$$7, *_21$$7; zephir_fcall_cache_entry *_0 = NULL; int ZEPHIR_LAST_CALL_STATUS, i, j = 0, _19; ZEPHIR_MM_GROW(); ZEPHIR_CALL_FUNCTION(&trace, "debug_backtrace", NULL, 52); zephir_check_call_status(); ZEPHIR_MAKE_REF(trace); ZEPHIR_CALL_FUNCTION(NULL, "array_shift", &_0, 53, trace); ZEPHIR_UNREF(trace); zephir_check_call_status(); ZEPHIR_MAKE_REF(trace); ZEPHIR_CALL_FUNCTION(NULL, "array_shift", &_0, 53, trace); ZEPHIR_UNREF(trace); zephir_check_call_status(); i = 0; CHECK: while (1) { zephir_array_fetch_long(&_1, trace, i, PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 33 TSRMLS_CC); if (!(zephir_array_isset_string(_1, SS("class")))) { break; } _2$$3 = zephir_fetch_nproperty_this(this_ptr, SL("skipClassesPartials"), PH_NOISY_CC); zephir_is_iterable(_2$$3, &_4$$3, &_3$$3, 0, 0, "phalconplus/Logger/Processor/Trace.zep", 41); for ( ; zephir_hash_get_current_data_ex(_4$$3, (void**) &_5$$3, &_3$$3) == SUCCESS ; zephir_hash_move_forward_ex(_4$$3, &_3$$3) ) { ZEPHIR_GET_HVALUE(part, _5$$3); zephir_array_fetch_long(&_6$$4, trace, i, PH_NOISY | PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 36 TSRMLS_CC); zephir_array_fetch_string(&_7$$4, _6$$4, SL("class"), PH_NOISY | PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 36 TSRMLS_CC); ZEPHIR_INIT_NVAR(_8$$4); zephir_fast_strpos(_8$$4, _7$$4, part, 0 ); if (!ZEPHIR_IS_FALSE_IDENTICAL(_8$$4)) { i = (i + 1); goto CHECK; } } break; } ZEPHIR_INIT_VAR(trace1); array_init(trace1); ZEPHIR_INIT_VAR(trace2); array_init(trace2); j = (i - 1); ZEPHIR_INIT_NVAR(trace1); zephir_create_array(trace1, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_9); zephir_array_fetch_long(&_10, trace, j, PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 48 TSRMLS_CC); if (zephir_array_isset_string(_10, SS("file"))) { zephir_array_fetch_long(&_11, trace, j, PH_NOISY | PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 48 TSRMLS_CC); ZEPHIR_OBS_NVAR(_9); zephir_array_fetch_string(&_9, _11, SL("file"), PH_NOISY, "phalconplus/Logger/Processor/Trace.zep", 48 TSRMLS_CC); } else { ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "Nil", 1); } zephir_array_update_string(&trace1, SL("file"), &_9, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_LNVAR(_9); zephir_array_fetch_long(&_12, trace, j, PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 49 TSRMLS_CC); if (zephir_array_isset_string(_12, SS("line"))) { zephir_array_fetch_long(&_13, trace, j, PH_NOISY | PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 49 TSRMLS_CC); ZEPHIR_OBS_NVAR(_9); zephir_array_fetch_string(&_9, _13, SL("line"), PH_NOISY, "phalconplus/Logger/Processor/Trace.zep", 49 TSRMLS_CC); } else { ZEPHIR_INIT_NVAR(_9); ZVAL_LONG(_9, -1); } zephir_array_update_string(&trace1, SL("line"), &_9, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(trace2); zephir_create_array(trace2, 2, 0 TSRMLS_CC); ZEPHIR_INIT_LNVAR(_9); zephir_array_fetch_long(&_14, trace, i, PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 53 TSRMLS_CC); if (zephir_array_isset_string(_14, SS("class"))) { zephir_array_fetch_long(&_15, trace, i, PH_NOISY | PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 53 TSRMLS_CC); ZEPHIR_OBS_NVAR(_9); zephir_array_fetch_string(&_9, _15, SL("class"), PH_NOISY, "phalconplus/Logger/Processor/Trace.zep", 53 TSRMLS_CC); } else { ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "Nil", 1); } zephir_array_update_string(&trace2, SL("class"), &_9, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_LNVAR(_9); zephir_array_fetch_long(&_16, trace, i, PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 54 TSRMLS_CC); if (zephir_array_isset_string(_16, SS("function"))) { zephir_array_fetch_long(&_17, trace, i, PH_NOISY | PH_READONLY, "phalconplus/Logger/Processor/Trace.zep", 54 TSRMLS_CC); ZEPHIR_OBS_NVAR(_9); zephir_array_fetch_string(&_9, _17, SL("function"), PH_NOISY, "phalconplus/Logger/Processor/Trace.zep", 54 TSRMLS_CC); } else { ZEPHIR_INIT_NVAR(_9); ZVAL_STRING(_9, "Nil", 1); } zephir_array_update_string(&trace2, SL("function"), &_9, PH_COPY | PH_SEPARATE); _18 = zephir_fetch_nproperty_this(this_ptr, SL("mode"), PH_NOISY_CC); do { _19 = ((int) (zephir_get_numberval(_18)) & 0x0011); if (_19 == 0x0010) { zephir_fast_join_str(return_value, SL(":"), trace2 TSRMLS_CC); RETURN_MM(); } if (_19 == 0x11) { ZEPHIR_INIT_VAR(_20$$7); zephir_fast_join_str(_20$$7, SL(":"), trace1 TSRMLS_CC); ZEPHIR_INIT_VAR(_21$$7); zephir_fast_join_str(_21$$7, SL(":"), trace2 TSRMLS_CC); ZEPHIR_CONCAT_VSV(return_value, _20$$7, "][", _21$$7); RETURN_MM(); } zephir_fast_join_str(return_value, SL(":"), trace1 TSRMLS_CC); RETURN_MM(); } while(0); ZEPHIR_MM_RESTORE(); }
/** * Prepare an HTML string of information about a single variable. */ PHP_METHOD(Phalcon_Debug_Dump, output) { zend_bool _17$$5, _18$$5, _19$$5; HashTable *_8$$4, *_42$$11, *_76$$20; HashPosition _7$$4, _41$$11, _75$$20; zval *_123, *_1$$4, *_13$$5 = NULL, *_26$$8, *_68$$8, *_32$$9, *_46$$12 = NULL, *_60$$14 = NULL, *_81$$22 = NULL, *_87$$23 = NULL, *_95$$24, *_100$$25, *_104$$26, *_108$$27, *_114$$28, *_119$$29; zephir_fcall_cache_entry *_4 = NULL, *_6 = NULL, *_12 = NULL, *_23 = NULL, *_31 = NULL, *_53 = NULL, *_57 = NULL, *_62 = NULL; int tab, ZEPHIR_LAST_CALL_STATUS; zval *name = NULL, *_0$$3; zval *variable, *name_param = NULL, *tab_param = NULL, *key = NULL, *value = NULL, *output = NULL, *space = NULL, *type = NULL, *attr = NULL, *_99 = NULL, *_124 = NULL, *_125, _126, *_2$$4 = NULL, *_3$$4, _5$$4 = zval_used_for_init, **_9$$4, *_25$$4 = NULL, _10$$5 = zval_used_for_init, *_11$$5 = NULL, *_14$$5 = NULL, *_15$$5 = NULL, *_16$$5 = NULL, *_20$$7 = NULL, *_21$$7 = NULL, *_22$$7 = NULL, *_24$$7 = NULL, *_27$$8 = NULL, *_28$$8 = NULL, _29$$8 = zval_used_for_init, *_30$$8 = NULL, *_36$$8, *_67$$8 = NULL, *_69$$8 = NULL, *_70$$8, *_71$$8, *_94$$8 = NULL, *_33$$9 = NULL, *_34$$9, _35$$9, _37$$10, *_38$$10 = NULL, *_39$$10, *_40$$11 = NULL, **_43$$11, _44$$12 = zval_used_for_init, *_45$$12 = NULL, *_47$$12 = NULL, *_48$$12 = NULL, *_49$$12 = NULL, *_50$$12 = NULL, *_51$$12 = NULL, *_52$$12 = NULL, *_54$$14 = NULL, _55$$14 = zval_used_for_init, *_56$$14 = NULL, *_59$$14 = NULL, *_61$$14 = NULL, *_63$$14 = NULL, *_64$$14 = NULL, *_65$$14 = NULL, *_66$$14 = NULL, *_58$$17, _72$$19, *_73$$19 = NULL, *_74$$19, **_77$$20, _91$$20, *_92$$20 = NULL, *_93$$20, *_78$$21 = NULL, _79$$22 = zval_used_for_init, *_80$$22 = NULL, *_82$$22 = NULL, *_83$$22 = NULL, *_84$$22 = NULL, _85$$23 = zval_used_for_init, *_86$$23 = NULL, *_88$$23 = NULL, *_89$$23 = NULL, *_90$$23 = NULL, *_96$$24 = NULL, *_97$$24, _98$$24, *_101$$25 = NULL, *_102$$25, _103$$25, *_105$$26 = NULL, *_106$$26, _107$$26, *_109$$27 = NULL, *_110$$27, _111$$27 = zval_used_for_init, _112$$27, *_113$$27 = NULL, *_115$$28 = NULL, *_116$$28, *_117$$28 = NULL, _118$$28, *_120$$29 = NULL, *_121$$29, _122$$29; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 2, &variable, &name_param, &tab_param); if (!name_param) { ZEPHIR_INIT_VAR(name); ZVAL_EMPTY_STRING(name); } else { zephir_get_strval(name, name_param); } if (!tab_param) { tab = 1; } else { tab = zephir_get_intval(tab_param); } ZEPHIR_INIT_VAR(space); ZVAL_STRING(space, " ", 1); ZEPHIR_INIT_VAR(output); ZVAL_STRING(output, "", 1); if (!(!name) && Z_STRLEN_P(name)) { ZEPHIR_INIT_VAR(_0$$3); ZEPHIR_CONCAT_VS(_0$$3, name, " "); ZEPHIR_CPY_WRT(output, _0$$3); } if (Z_TYPE_P(variable) == IS_ARRAY) { ZEPHIR_INIT_VAR(_1$$4); zephir_create_array(_1$$4, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_3$$4); ZVAL_STRING(_3$$4, "arr", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_2$$4, this_ptr, "getstyle", &_4, 0, _3$$4); zephir_check_temp_parameter(_3$$4); zephir_check_call_status(); zephir_array_update_string(&_1$$4, SL(":style"), &_2$$4, PH_COPY | PH_SEPARATE); add_assoc_long_ex(_1$$4, SS(":count"), zephir_fast_count_int(variable TSRMLS_CC)); ZEPHIR_SINIT_VAR(_5$$4); ZVAL_STRING(&_5$$4, "<b style =':style'>Array</b> (<span style =':style'>:count</span>) (\n", 0); ZEPHIR_CALL_FUNCTION(&_2$$4, "strtr", &_6, 26, &_5$$4, _1$$4); zephir_check_call_status(); zephir_concat_self(&output, _2$$4 TSRMLS_CC); zephir_is_iterable(variable, &_8$$4, &_7$$4, 0, 0, "phalcon/debug/dump.zep", 156); for ( ; zephir_hash_get_current_data_ex(_8$$4, (void**) &_9$$4, &_7$$4) == SUCCESS ; zephir_hash_move_forward_ex(_8$$4, &_7$$4) ) { ZEPHIR_GET_HMKEY(key, _8$$4, _7$$4); ZEPHIR_GET_HVALUE(value, _9$$4); ZEPHIR_SINIT_NVAR(_10$$5); ZVAL_LONG(&_10$$5, tab); ZEPHIR_CALL_FUNCTION(&_11$$5, "str_repeat", &_12, 142, space, &_10$$5); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_13$$5); zephir_create_array(_13$$5, 2, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(_15$$5); ZVAL_STRING(_15$$5, "arr", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_14$$5, this_ptr, "getstyle", &_4, 0, _15$$5); zephir_check_temp_parameter(_15$$5); zephir_check_call_status(); zephir_array_update_string(&_13$$5, SL(":style"), &_14$$5, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_13$$5, SL(":key"), &key, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_NVAR(_10$$5); ZVAL_STRING(&_10$$5, "[<span style=':style'>:key</span>] => ", 0); ZEPHIR_CALL_FUNCTION(&_14$$5, "strtr", &_6, 26, &_10$$5, _13$$5); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_16$$5); ZEPHIR_CONCAT_VV(_16$$5, _11$$5, _14$$5); zephir_concat_self(&output, _16$$5 TSRMLS_CC); _17$$5 = tab == 1; if (_17$$5) { _17$$5 = !ZEPHIR_IS_STRING(name, ""); } _18$$5 = _17$$5; if (_18$$5) { _18$$5 = !(Z_TYPE_P(key) == IS_LONG); } _19$$5 = _18$$5; if (_19$$5) { _19$$5 = ZEPHIR_IS_EQUAL(name, key); } if (_19$$5) { continue; } else { ZEPHIR_INIT_NVAR(_21$$7); ZVAL_STRING(_21$$7, "", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_22$$7); ZVAL_LONG(_22$$7, (tab + 1)); ZEPHIR_CALL_METHOD(&_20$$7, this_ptr, "output", &_23, 175, value, _21$$7, _22$$7); zephir_check_temp_parameter(_21$$7); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_24$$7); ZEPHIR_CONCAT_VS(_24$$7, _20$$7, "\n"); zephir_concat_self(&output, _24$$7 TSRMLS_CC); } } ZEPHIR_SINIT_NVAR(_5$$4); ZVAL_LONG(&_5$$4, (tab - 1)); ZEPHIR_CALL_FUNCTION(&_25$$4, "str_repeat", &_12, 142, space, &_5$$4); zephir_check_call_status(); ZEPHIR_CONCAT_VVS(return_value, output, _25$$4, ")"); RETURN_MM(); } if (Z_TYPE_P(variable) == IS_OBJECT) { ZEPHIR_INIT_VAR(_26$$8); zephir_create_array(_26$$8, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_28$$8); ZVAL_STRING(_28$$8, "obj", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_27$$8, this_ptr, "getstyle", &_4, 0, _28$$8); zephir_check_temp_parameter(_28$$8); zephir_check_call_status(); zephir_array_update_string(&_26$$8, SL(":style"), &_27$$8, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_28$$8); zephir_get_class(_28$$8, variable, 0 TSRMLS_CC); zephir_array_update_string(&_26$$8, SL(":class"), &_28$$8, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_29$$8); ZVAL_STRING(&_29$$8, "<b style=':style'>Object</b> :class", 0); ZEPHIR_CALL_FUNCTION(&_27$$8, "strtr", &_6, 26, &_29$$8, _26$$8); zephir_check_call_status(); zephir_concat_self(&output, _27$$8 TSRMLS_CC); ZEPHIR_CALL_FUNCTION(&_30$$8, "get_parent_class", &_31, 176, variable); zephir_check_call_status(); if (zephir_is_true(_30$$8)) { ZEPHIR_INIT_VAR(_32$$9); zephir_create_array(_32$$9, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_34$$9); ZVAL_STRING(_34$$9, "obj", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_33$$9, this_ptr, "getstyle", &_4, 0, _34$$9); zephir_check_temp_parameter(_34$$9); zephir_check_call_status(); zephir_array_update_string(&_32$$9, SL(":style"), &_33$$9, PH_COPY | PH_SEPARATE); ZEPHIR_CALL_FUNCTION(&_33$$9, "get_parent_class", &_31, 176, variable); zephir_check_call_status(); zephir_array_update_string(&_32$$9, SL(":parent"), &_33$$9, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_35$$9); ZVAL_STRING(&_35$$9, " <b style=':style'>extends</b> :parent", 0); ZEPHIR_CALL_FUNCTION(&_33$$9, "strtr", &_6, 26, &_35$$9, _32$$9); zephir_check_call_status(); zephir_concat_self(&output, _33$$9 TSRMLS_CC); } zephir_concat_self_str(&output, SL(" (\n") TSRMLS_CC); _36$$8 = zephir_fetch_nproperty_this(this_ptr, SL("_detailed"), PH_NOISY_CC); if (zephir_instance_of_ev(variable, phalcon_di_ce TSRMLS_CC)) { ZEPHIR_SINIT_VAR(_37$$10); ZVAL_LONG(&_37$$10, tab); ZEPHIR_CALL_FUNCTION(&_38$$10, "str_repeat", &_12, 142, space, &_37$$10); zephir_check_call_status(); ZEPHIR_INIT_VAR(_39$$10); ZEPHIR_CONCAT_VS(_39$$10, _38$$10, "[skipped]\n"); zephir_concat_self(&output, _39$$10 TSRMLS_CC); } else if (!(zephir_is_true(_36$$8))) { ZEPHIR_CALL_FUNCTION(&_40$$11, "get_object_vars", NULL, 21, variable); zephir_check_call_status(); zephir_is_iterable(_40$$11, &_42$$11, &_41$$11, 0, 0, "phalcon/debug/dump.zep", 177); for ( ; zephir_hash_get_current_data_ex(_42$$11, (void**) &_43$$11, &_41$$11) == SUCCESS ; zephir_hash_move_forward_ex(_42$$11, &_41$$11) ) { ZEPHIR_GET_HMKEY(key, _42$$11, _41$$11); ZEPHIR_GET_HVALUE(value, _43$$11); ZEPHIR_SINIT_NVAR(_44$$12); ZVAL_LONG(&_44$$12, tab); ZEPHIR_CALL_FUNCTION(&_45$$12, "str_repeat", &_12, 142, space, &_44$$12); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_46$$12); zephir_create_array(_46$$12, 3, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(_48$$12); ZVAL_STRING(_48$$12, "obj", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_47$$12, this_ptr, "getstyle", &_4, 0, _48$$12); zephir_check_temp_parameter(_48$$12); zephir_check_call_status(); zephir_array_update_string(&_46$$12, SL(":style"), &_47$$12, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_46$$12, SL(":key"), &key, PH_COPY | PH_SEPARATE); add_assoc_stringl_ex(_46$$12, SS(":type"), SL("public"), 1); ZEPHIR_SINIT_NVAR(_44$$12); ZVAL_STRING(&_44$$12, "-><span style=':style'>:key</span> (<span style=':style'>:type</span>) = ", 0); ZEPHIR_CALL_FUNCTION(&_47$$12, "strtr", &_6, 26, &_44$$12, _46$$12); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_49$$12); ZEPHIR_CONCAT_VV(_49$$12, _45$$12, _47$$12); zephir_concat_self(&output, _49$$12 TSRMLS_CC); ZEPHIR_INIT_NVAR(_48$$12); ZVAL_STRING(_48$$12, "", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_51$$12); ZVAL_LONG(_51$$12, (tab + 1)); ZEPHIR_CALL_METHOD(&_50$$12, this_ptr, "output", &_23, 175, value, _48$$12, _51$$12); zephir_check_temp_parameter(_48$$12); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_52$$12); ZEPHIR_CONCAT_VS(_52$$12, _50$$12, "\n"); zephir_concat_self(&output, _52$$12 TSRMLS_CC); } } else { do { ZEPHIR_MAKE_REF(variable); ZEPHIR_CALL_FUNCTION(&attr, "each", &_53, 177, variable); ZEPHIR_UNREF(variable); zephir_check_call_status(); if (!(zephir_is_true(attr))) { continue; } ZEPHIR_OBS_NVAR(key); zephir_array_fetch_string(&key, attr, SL("key"), PH_NOISY, "phalcon/debug/dump.zep", 187 TSRMLS_CC); ZEPHIR_OBS_NVAR(value); zephir_array_fetch_string(&value, attr, SL("value"), PH_NOISY, "phalcon/debug/dump.zep", 188 TSRMLS_CC); if (!(zephir_is_true(key))) { continue; } ZEPHIR_INIT_NVAR(_54$$14); ZEPHIR_SINIT_NVAR(_55$$14); ZVAL_LONG(&_55$$14, 0); ZEPHIR_CALL_FUNCTION(&_56$$14, "chr", &_57, 141, &_55$$14); zephir_check_call_status(); zephir_fast_explode(_54$$14, _56$$14, key, LONG_MAX TSRMLS_CC); ZEPHIR_CPY_WRT(key, _54$$14); ZEPHIR_INIT_NVAR(type); ZVAL_STRING(type, "public", 1); if (zephir_array_isset_long(key, 1)) { ZEPHIR_INIT_NVAR(type); ZVAL_STRING(type, "private", 1); zephir_array_fetch_long(&_58$$17, key, 1, PH_NOISY | PH_READONLY, "phalcon/debug/dump.zep", 200 TSRMLS_CC); if (ZEPHIR_IS_STRING(_58$$17, "*")) { ZEPHIR_INIT_NVAR(type); ZVAL_STRING(type, "protected", 1); } } ZEPHIR_SINIT_NVAR(_55$$14); ZVAL_LONG(&_55$$14, tab); ZEPHIR_CALL_FUNCTION(&_59$$14, "str_repeat", &_12, 142, space, &_55$$14); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_60$$14); zephir_create_array(_60$$14, 3, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(_54$$14); ZVAL_STRING(_54$$14, "obj", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_61$$14, this_ptr, "getstyle", &_4, 0, _54$$14); zephir_check_temp_parameter(_54$$14); zephir_check_call_status(); zephir_array_update_string(&_60$$14, SL(":style"), &_61$$14, PH_COPY | PH_SEPARATE); ZEPHIR_MAKE_REF(key); ZEPHIR_CALL_FUNCTION(&_61$$14, "end", &_62, 178, key); ZEPHIR_UNREF(key); zephir_check_call_status(); zephir_array_update_string(&_60$$14, SL(":key"), &_61$$14, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_60$$14, SL(":type"), &type, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_NVAR(_55$$14); ZVAL_STRING(&_55$$14, "-><span style=':style'>:key</span> (<span style=':style'>:type</span>) = ", 0); ZEPHIR_CALL_FUNCTION(&_61$$14, "strtr", &_6, 26, &_55$$14, _60$$14); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_63$$14); ZEPHIR_CONCAT_VV(_63$$14, _59$$14, _61$$14); zephir_concat_self(&output, _63$$14 TSRMLS_CC); ZEPHIR_INIT_NVAR(_54$$14); ZVAL_STRING(_54$$14, "", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_65$$14); ZVAL_LONG(_65$$14, (tab + 1)); ZEPHIR_CALL_METHOD(&_64$$14, this_ptr, "output", &_23, 175, value, _54$$14, _65$$14); zephir_check_temp_parameter(_54$$14); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_66$$14); ZEPHIR_CONCAT_VS(_66$$14, _64$$14, "\n"); zephir_concat_self(&output, _66$$14 TSRMLS_CC); } while (zephir_is_true(attr)); } ZEPHIR_CALL_FUNCTION(&attr, "get_class_methods", NULL, 179, variable); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_29$$8); ZVAL_LONG(&_29$$8, tab); ZEPHIR_CALL_FUNCTION(&_67$$8, "str_repeat", &_12, 142, space, &_29$$8); zephir_check_call_status(); ZEPHIR_INIT_VAR(_68$$8); zephir_create_array(_68$$8, 3, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(_28$$8); ZVAL_STRING(_28$$8, "obj", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_69$$8, this_ptr, "getstyle", &_4, 0, _28$$8); zephir_check_temp_parameter(_28$$8); zephir_check_call_status(); zephir_array_update_string(&_68$$8, SL(":style"), &_69$$8, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_28$$8); zephir_get_class(_28$$8, variable, 0 TSRMLS_CC); zephir_array_update_string(&_68$$8, SL(":class"), &_28$$8, PH_COPY | PH_SEPARATE); add_assoc_long_ex(_68$$8, SS(":count"), zephir_fast_count_int(attr TSRMLS_CC)); ZEPHIR_SINIT_NVAR(_29$$8); ZVAL_STRING(&_29$$8, ":class <b style=':style'>methods</b>: (<span style=':style'>:count</span>) (\n", 0); ZEPHIR_CALL_FUNCTION(&_69$$8, "strtr", &_6, 26, &_29$$8, _68$$8); zephir_check_call_status(); ZEPHIR_INIT_VAR(_70$$8); ZEPHIR_CONCAT_VV(_70$$8, _67$$8, _69$$8); zephir_concat_self(&output, _70$$8 TSRMLS_CC); ZEPHIR_INIT_NVAR(_28$$8); zephir_get_class(_28$$8, variable, 0 TSRMLS_CC); _71$$8 = zephir_fetch_nproperty_this(this_ptr, SL("_methods"), PH_NOISY_CC); if (zephir_fast_in_array(_28$$8, _71$$8 TSRMLS_CC)) { ZEPHIR_SINIT_VAR(_72$$19); ZVAL_LONG(&_72$$19, tab); ZEPHIR_CALL_FUNCTION(&_73$$19, "str_repeat", &_12, 142, space, &_72$$19); zephir_check_call_status(); ZEPHIR_INIT_VAR(_74$$19); ZEPHIR_CONCAT_VS(_74$$19, _73$$19, "[already listed]\n"); zephir_concat_self(&output, _74$$19 TSRMLS_CC); } else { zephir_is_iterable(attr, &_76$$20, &_75$$20, 0, 0, "phalcon/debug/dump.zep", 226); for ( ; zephir_hash_get_current_data_ex(_76$$20, (void**) &_77$$20, &_75$$20) == SUCCESS ; zephir_hash_move_forward_ex(_76$$20, &_75$$20) ) { ZEPHIR_GET_HVALUE(value, _77$$20); ZEPHIR_INIT_NVAR(_78$$21); zephir_get_class(_78$$21, variable, 0 TSRMLS_CC); zephir_update_property_array_append(this_ptr, SL("_methods"), _78$$21 TSRMLS_CC); if (ZEPHIR_IS_STRING(value, "__construct")) { ZEPHIR_SINIT_NVAR(_79$$22); ZVAL_LONG(&_79$$22, (tab + 1)); ZEPHIR_CALL_FUNCTION(&_80$$22, "str_repeat", &_12, 142, space, &_79$$22); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_81$$22); zephir_create_array(_81$$22, 2, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(_83$$22); ZVAL_STRING(_83$$22, "obj", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_82$$22, this_ptr, "getstyle", &_4, 0, _83$$22); zephir_check_temp_parameter(_83$$22); zephir_check_call_status(); zephir_array_update_string(&_81$$22, SL(":style"), &_82$$22, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_81$$22, SL(":method"), &value, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_NVAR(_79$$22); ZVAL_STRING(&_79$$22, "-><span style=':style'>:method</span>(); [<b style=':style'>constructor</b>]\n", 0); ZEPHIR_CALL_FUNCTION(&_82$$22, "strtr", &_6, 26, &_79$$22, _81$$22); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_84$$22); ZEPHIR_CONCAT_VV(_84$$22, _80$$22, _82$$22); zephir_concat_self(&output, _84$$22 TSRMLS_CC); } else { ZEPHIR_SINIT_NVAR(_85$$23); ZVAL_LONG(&_85$$23, (tab + 1)); ZEPHIR_CALL_FUNCTION(&_86$$23, "str_repeat", &_12, 142, space, &_85$$23); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_87$$23); zephir_create_array(_87$$23, 2, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(_89$$23); ZVAL_STRING(_89$$23, "obj", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_88$$23, this_ptr, "getstyle", &_4, 0, _89$$23); zephir_check_temp_parameter(_89$$23); zephir_check_call_status(); zephir_array_update_string(&_87$$23, SL(":style"), &_88$$23, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_87$$23, SL(":method"), &value, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_NVAR(_85$$23); ZVAL_STRING(&_85$$23, "-><span style=':style'>:method</span>();\n", 0); ZEPHIR_CALL_FUNCTION(&_88$$23, "strtr", &_6, 26, &_85$$23, _87$$23); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_90$$23); ZEPHIR_CONCAT_VV(_90$$23, _86$$23, _88$$23); zephir_concat_self(&output, _90$$23 TSRMLS_CC); } } ZEPHIR_SINIT_VAR(_91$$20); ZVAL_LONG(&_91$$20, tab); ZEPHIR_CALL_FUNCTION(&_92$$20, "str_repeat", &_12, 142, space, &_91$$20); zephir_check_call_status(); ZEPHIR_INIT_VAR(_93$$20); ZEPHIR_CONCAT_VS(_93$$20, _92$$20, ")\n"); zephir_concat_self(&output, _93$$20 TSRMLS_CC); } ZEPHIR_SINIT_NVAR(_29$$8); ZVAL_LONG(&_29$$8, (tab - 1)); ZEPHIR_CALL_FUNCTION(&_94$$8, "str_repeat", &_12, 142, space, &_29$$8); zephir_check_call_status(); ZEPHIR_CONCAT_VVS(return_value, output, _94$$8, ")"); RETURN_MM(); } if (Z_TYPE_P(variable) == IS_LONG) { ZEPHIR_INIT_VAR(_95$$24); zephir_create_array(_95$$24, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_97$$24); ZVAL_STRING(_97$$24, "int", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_96$$24, this_ptr, "getstyle", &_4, 0, _97$$24); zephir_check_temp_parameter(_97$$24); zephir_check_call_status(); zephir_array_update_string(&_95$$24, SL(":style"), &_96$$24, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_95$$24, SL(":var"), &variable, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_98$$24); ZVAL_STRING(&_98$$24, "<b style=':style'>Integer</b> (<span style=':style'>:var</span>)", 0); ZEPHIR_CALL_FUNCTION(&_96$$24, "strtr", &_6, 26, &_98$$24, _95$$24); zephir_check_call_status(); ZEPHIR_CONCAT_VV(return_value, output, _96$$24); RETURN_MM(); } ZEPHIR_CALL_FUNCTION(&_99, "is_float", NULL, 180, variable); zephir_check_call_status(); if (zephir_is_true(_99)) { ZEPHIR_INIT_VAR(_100$$25); zephir_create_array(_100$$25, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_102$$25); ZVAL_STRING(_102$$25, "float", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_101$$25, this_ptr, "getstyle", &_4, 0, _102$$25); zephir_check_temp_parameter(_102$$25); zephir_check_call_status(); zephir_array_update_string(&_100$$25, SL(":style"), &_101$$25, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_100$$25, SL(":var"), &variable, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_103$$25); ZVAL_STRING(&_103$$25, "<b style=':style'>Float</b> (<span style=':style'>:var</span>)", 0); ZEPHIR_CALL_FUNCTION(&_101$$25, "strtr", &_6, 26, &_103$$25, _100$$25); zephir_check_call_status(); ZEPHIR_CONCAT_VV(return_value, output, _101$$25); RETURN_MM(); } if (zephir_is_numeric(variable)) { ZEPHIR_INIT_VAR(_104$$26); zephir_create_array(_104$$26, 3, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_106$$26); ZVAL_STRING(_106$$26, "num", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_105$$26, this_ptr, "getstyle", &_4, 0, _106$$26); zephir_check_temp_parameter(_106$$26); zephir_check_call_status(); zephir_array_update_string(&_104$$26, SL(":style"), &_105$$26, PH_COPY | PH_SEPARATE); add_assoc_long_ex(_104$$26, SS(":length"), zephir_fast_strlen_ev(variable)); zephir_array_update_string(&_104$$26, SL(":var"), &variable, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_107$$26); ZVAL_STRING(&_107$$26, "<b style=':style'>Numeric string</b> (<span style=':style'>:length</span>) \"<span style=':style'>:var</span>\"", 0); ZEPHIR_CALL_FUNCTION(&_105$$26, "strtr", &_6, 26, &_107$$26, _104$$26); zephir_check_call_status(); ZEPHIR_CONCAT_VV(return_value, output, _105$$26); RETURN_MM(); } if (Z_TYPE_P(variable) == IS_STRING) { ZEPHIR_INIT_VAR(_108$$27); zephir_create_array(_108$$27, 3, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_110$$27); ZVAL_STRING(_110$$27, "str", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_109$$27, this_ptr, "getstyle", &_4, 0, _110$$27); zephir_check_temp_parameter(_110$$27); zephir_check_call_status(); zephir_array_update_string(&_108$$27, SL(":style"), &_109$$27, PH_COPY | PH_SEPARATE); add_assoc_long_ex(_108$$27, SS(":length"), zephir_fast_strlen_ev(variable)); ZEPHIR_SINIT_VAR(_111$$27); ZVAL_LONG(&_111$$27, 4); ZEPHIR_SINIT_VAR(_112$$27); ZVAL_STRING(&_112$$27, "utf-8", 0); ZEPHIR_CALL_FUNCTION(&_109$$27, "htmlentities", NULL, 161, variable, &_111$$27, &_112$$27); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_113$$27, "nl2br", NULL, 181, _109$$27); zephir_check_call_status(); zephir_array_update_string(&_108$$27, SL(":var"), &_113$$27, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_NVAR(_111$$27); ZVAL_STRING(&_111$$27, "<b style=':style'>String</b> (<span style=':style'>:length</span>) \"<span style=':style'>:var</span>\"", 0); ZEPHIR_CALL_FUNCTION(&_113$$27, "strtr", &_6, 26, &_111$$27, _108$$27); zephir_check_call_status(); ZEPHIR_CONCAT_VV(return_value, output, _113$$27); RETURN_MM(); } if (Z_TYPE_P(variable) == IS_BOOL) { ZEPHIR_INIT_VAR(_114$$28); zephir_create_array(_114$$28, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_116$$28); ZVAL_STRING(_116$$28, "bool", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_115$$28, this_ptr, "getstyle", &_4, 0, _116$$28); zephir_check_temp_parameter(_116$$28); zephir_check_call_status(); zephir_array_update_string(&_114$$28, SL(":style"), &_115$$28, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_VAR(_117$$28); if (zephir_is_true(variable)) { ZEPHIR_INIT_NVAR(_117$$28); ZVAL_STRING(_117$$28, "TRUE", 1); } else { ZEPHIR_INIT_NVAR(_117$$28); ZVAL_STRING(_117$$28, "FALSE", 1); } zephir_array_update_string(&_114$$28, SL(":var"), &_117$$28, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_118$$28); ZVAL_STRING(&_118$$28, "<b style=':style'>Boolean</b> (<span style=':style'>:var</span>)", 0); ZEPHIR_CALL_FUNCTION(&_115$$28, "strtr", &_6, 26, &_118$$28, _114$$28); zephir_check_call_status(); ZEPHIR_CONCAT_VV(return_value, output, _115$$28); RETURN_MM(); } if (Z_TYPE_P(variable) == IS_NULL) { ZEPHIR_INIT_VAR(_119$$29); zephir_create_array(_119$$29, 1, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_121$$29); ZVAL_STRING(_121$$29, "null", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_120$$29, this_ptr, "getstyle", &_4, 0, _121$$29); zephir_check_temp_parameter(_121$$29); zephir_check_call_status(); zephir_array_update_string(&_119$$29, SL(":style"), &_120$$29, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_122$$29); ZVAL_STRING(&_122$$29, "<b style=':style'>NULL</b>", 0); ZEPHIR_CALL_FUNCTION(&_120$$29, "strtr", &_6, 26, &_122$$29, _119$$29); zephir_check_call_status(); ZEPHIR_CONCAT_VV(return_value, output, _120$$29); RETURN_MM(); } ZEPHIR_INIT_VAR(_123); zephir_create_array(_123, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_125); ZVAL_STRING(_125, "other", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_124, this_ptr, "getstyle", &_4, 0, _125); zephir_check_temp_parameter(_125); zephir_check_call_status(); zephir_array_update_string(&_123, SL(":style"), &_124, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_123, SL(":var"), &variable, PH_COPY | PH_SEPARATE); ZEPHIR_SINIT_VAR(_126); ZVAL_STRING(&_126, "(<span style=':style'>:var</span>)", 0); ZEPHIR_CALL_FUNCTION(&_124, "strtr", &_6, 26, &_126, _123); zephir_check_call_status(); ZEPHIR_CONCAT_VV(return_value, output, _124); RETURN_MM(); }
PHP_METHOD(Test_SpectralNorm, Au) { zephir_fcall_cache_entry *_9 = NULL, *_11 = NULL, *_13 = NULL; zend_bool _0, _3; zval *n_param = NULL, *u, *v, *_6 = NULL, *_7 = NULL, *_8 = NULL, *_10 = NULL, *_12 = NULL; int n, t, i, j, _1, _2, _4, _5, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &n_param, &u, &v); n = zephir_get_intval(n_param); _2 = (n - 1); _1 = 0; _0 = 0; if (_1 <= _2) { while (1) { if (_0) { _1++; if (!(_1 <= _2)) { break; } } else { _0 = 1; } i = _1; t = 0; _5 = (n - 1); _4 = 0; _3 = 0; if (_4 <= _5) { while (1) { if (_3) { _4++; if (!(_4 <= _5)) { break; } } else { _3 = 1; } j = _4; ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, i); ZEPHIR_INIT_NVAR(_8); ZVAL_LONG(_8, j); ZEPHIR_CALL_METHOD(&_6, this_ptr, "ax", &_9, 70, _7, _8); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, j); ZEPHIR_CALL_METHOD(&_10, u, "offsetget", &_11, 0, _7); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_12); mul_function(_12, _6, _10 TSRMLS_CC); t += zephir_get_numberval(_12); } } ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, i); ZEPHIR_INIT_NVAR(_8); ZVAL_LONG(_8, t); ZEPHIR_CALL_METHOD(NULL, v, "offsetset", &_13, 0, _7, _8); zephir_check_call_status(); } } ZEPHIR_MM_RESTORE(); }
/** * Executes the validation */ PHP_METHOD(Phalcon_Validation_Validator_Uniqueness, validate) { zend_class_entry *_4, *_5; zval *_1 = NULL, *_3 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *field = NULL; zval *validation, *field_param = NULL, *attribute = NULL, *value = NULL, *model = NULL, *except = NULL, *number = NULL, *message = NULL, *label = NULL, *replacePairs, *_0 = NULL, *_2 = NULL, *_6 = NULL, *_7; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &validation, &field_param); if (unlikely(Z_TYPE_P(field_param) != IS_STRING && Z_TYPE_P(field_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'field' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(field_param) == IS_STRING)) { zephir_get_strval(field, field_param); } else { ZEPHIR_INIT_VAR(field); ZVAL_EMPTY_STRING(field); } ZEPHIR_CALL_METHOD(&value, validation, "getvalue", NULL, 0, field); zephir_check_call_status(); ZEPHIR_INIT_VAR(_0); ZVAL_STRING(_0, "model", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&model, this_ptr, "getoption", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "attribute", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&attribute, this_ptr, "getoption", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "except", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&except, this_ptr, "getoption", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); if (ZEPHIR_IS_EMPTY(model)) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "Model must be set", "phalcon/validation/validator/uniqueness.zep", 65); return; } if (ZEPHIR_IS_EMPTY(attribute)) { ZEPHIR_CPY_WRT(attribute, field); } if (zephir_is_true(except)) { ZEPHIR_INIT_VAR(_1); zephir_create_array(_1, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_2); ZEPHIR_CONCAT_VSVS(_2, attribute, " = :value: AND ", attribute, " != :except:"); zephir_array_fast_append(_1, _2); ZEPHIR_INIT_VAR(_3); zephir_create_array(_3, 2, 0 TSRMLS_CC); zephir_array_update_string(&_3, SL("value"), &value, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_3, SL("except"), &except, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_1, SL("bind"), &_3, PH_COPY | PH_SEPARATE); _4 = zephir_fetch_class(model TSRMLS_CC); ZEPHIR_CALL_CE_STATIC(&number, _4, "count", NULL, 0, _1); zephir_check_call_status(); } else { ZEPHIR_INIT_NVAR(_1); zephir_create_array(_1, 2, 0 TSRMLS_CC); ZEPHIR_INIT_LNVAR(_2); ZEPHIR_CONCAT_VS(_2, attribute, " = :value:"); zephir_array_fast_append(_1, _2); ZEPHIR_INIT_NVAR(_3); zephir_create_array(_3, 1, 0 TSRMLS_CC); zephir_array_update_string(&_3, SL("value"), &value, PH_COPY | PH_SEPARATE); zephir_array_update_string(&_1, SL("bind"), &_3, PH_COPY | PH_SEPARATE); _5 = zephir_fetch_class(model TSRMLS_CC); ZEPHIR_CALL_CE_STATIC(&number, _5, "count", NULL, 0, _1); zephir_check_call_status(); } if (zephir_is_true(number)) { ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "label", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&label, this_ptr, "getoption", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); if (ZEPHIR_IS_EMPTY(label)) { ZEPHIR_CALL_METHOD(&label, validation, "getlabel", NULL, 0, field); zephir_check_call_status(); } ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "message", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&message, this_ptr, "getoption", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); ZEPHIR_INIT_VAR(replacePairs); zephir_create_array(replacePairs, 1, 0 TSRMLS_CC); zephir_array_update_string(&replacePairs, SL(":field"), &label, PH_COPY | PH_SEPARATE); if (ZEPHIR_IS_EMPTY(message)) { ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "Uniqueness", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&message, validation, "getdefaultmessage", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); } ZEPHIR_INIT_NVAR(_0); object_init_ex(_0, phalcon_validation_message_ce); ZEPHIR_CALL_FUNCTION(&_6, "strtr", NULL, 54, message, replacePairs); zephir_check_call_status(); ZEPHIR_INIT_VAR(_7); ZVAL_STRING(_7, "Uniqueness", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, _0, "__construct", NULL, 436, _6, field, _7); zephir_check_temp_parameter(_7); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, validation, "appendmessage", NULL, 0, _0); zephir_check_call_status(); RETURN_MM_BOOL(0); } RETURN_MM_BOOL(1); }
/** * * @param array rawData * <code> * rawData = ["service":"Demo", "method":"demo", "args": <ProtoBuffer>] * </code> * @return <ProtoBuffer> * @throw \Exception * */ PHP_METHOD(PhalconPlus_RPC_Server_AbstractServer, callByObject) { zend_bool _3; zephir_nts_static zephir_fcall_cache_entry *_2 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *rawData_param = NULL, *service = NULL, *method = NULL, *request, *response = NULL, *logId = NULL, *message = NULL, *_0 = NULL, *_1 = NULL, *_4, *_5 = NULL, *_6, *_7 = NULL, *_8 = NULL, *_9, *_10 = NULL; zval *rawData = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &rawData_param); zephir_get_arrval(rawData, rawData_param); ZEPHIR_INIT_VAR(logId); ZVAL_STRING(logId, "", 1); ZEPHIR_INIT_VAR(message); ZVAL_STRING(message, "", 1); ZEPHIR_OBS_VAR(service); if (!(zephir_array_isset_string_fetch(&service, rawData, SS("service"), 0 TSRMLS_CC))) { ZEPHIR_INIT_VAR(_0); object_init_ex(_0, zend_exception_get_default(TSRMLS_C)); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SVS(_1, "service ", service, " not exists"); ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _1); zephir_check_call_status(); zephir_throw_exception_debug(_0, "phalconplus/RPC/Server/AbstractServer.zep", 78 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_OBS_VAR(method); if (!(zephir_array_isset_string_fetch(&method, rawData, SS("method"), 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(_0); object_init_ex(_0, zend_exception_get_default(TSRMLS_C)); ZEPHIR_INIT_LNVAR(_1); ZEPHIR_CONCAT_SVS(_1, "method ", method, " not exists"); ZEPHIR_CALL_METHOD(NULL, _0, "__construct", &_2, _1); zephir_check_call_status(); zephir_throw_exception_debug(_0, "phalconplus/RPC/Server/AbstractServer.zep", 82 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_OBS_VAR(request); if (!(zephir_array_isset_string_fetch(&request, rawData, SS("args"), 0 TSRMLS_CC))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "args not exists", "phalconplus/RPC/Server/AbstractServer.zep", 86); return; } ZEPHIR_INIT_NVAR(_0); zephir_fast_trim(_0, service, NULL , ZEPHIR_TRIM_BOTH TSRMLS_CC); ZEPHIR_CPY_WRT(service, _0); ZEPHIR_INIT_NVAR(_0); zephir_fast_trim(_0, method, NULL , ZEPHIR_TRIM_BOTH TSRMLS_CC); ZEPHIR_CPY_WRT(method, _0); _3 = ZEPHIR_IS_EMPTY(service); if (!(_3)) { _3 = ZEPHIR_IS_EMPTY(method); } if (_3) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(zend_exception_get_default(TSRMLS_C), "service:method(args) must exists. All of them!!!", "phalconplus/RPC/Server/AbstractServer.zep", 93); return; } ZEPHIR_OBS_NVAR(logId); if (zephir_array_isset_string_fetch(&logId, rawData, SS("logId"), 0 TSRMLS_CC)) { } _4 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC); ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "logger", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_5, _4, "has", NULL, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); if (zephir_is_true(_5)) { ZEPHIR_INIT_NVAR(_0); zephir_json_encode(_0, &(_0), request, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(message); ZEPHIR_CONCAT_SVSVSVSV(message, "RPC Request - logId: ", logId, ", invoke: ", service, "::", method, ", args: ", _0); _6 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_8); ZVAL_STRING(_8, "logger", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_7, _6, "get", NULL, _8); zephir_check_temp_parameter(_8); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, _7, "log", NULL, message); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(&response, this_ptr, "callbyparams", NULL, service, method, request, rawData); zephir_check_call_status(); _6 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC); ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "logger", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_7, _6, "has", NULL, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); if (zephir_is_true(_7)) { ZEPHIR_INIT_NVAR(_0); zephir_json_encode(_0, &(_0), response, 0 TSRMLS_CC); ZEPHIR_INIT_NVAR(message); ZEPHIR_CONCAT_SVSVSVSV(message, "RPC Response - logId: ", logId, ", invoke: ", service, "::", method, ", response: ", _0); _9 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC); ZEPHIR_INIT_NVAR(_8); ZVAL_STRING(_8, "logger", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_10, _9, "get", NULL, _8); zephir_check_temp_parameter(_8); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, _10, "log", NULL, message); zephir_check_call_status(); } RETURN_CCTOR(response); }
PHP_METHOD(Test_RegexDNA, process) { HashTable *_6; HashPosition _5; int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_4 = NULL, *_9 = NULL; zval *path, *variants, *vIUB, *vIUBnew, *stuffToRemove, *contents = NULL, *initialLength, *regex = NULL, *codeLength, *discard = NULL, *_0, *_1, _2, *_3 = NULL, **_7, *_8 = NULL, *_10 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &path); ZEPHIR_INIT_VAR(discard); ZVAL_NULL(discard); ZEPHIR_INIT_VAR(variants); array_init_size(variants, 13); ZEPHIR_INIT_VAR(_0); ZVAL_STRING(_0, "agggtaaa|tttaccct", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "[cgt]gggtaaa|tttaccc[acg]", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "a[act]ggtaaa|tttacc[agt]t", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "ag[act]gtaaa|tttac[agt]ct", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "agg[act]taaa|ttta[agt]cct", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "aggg[acg]aaa|ttt[cgt]ccct", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "agggt[cgt]aa|tt[acg]accct", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "agggta[cgt]a|t[acg]taccct", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "agggtaa[cgt]|[acg]ttaccct", 1); zephir_array_fast_append(variants, _0); ZEPHIR_INIT_VAR(vIUB); array_init(vIUB); ZEPHIR_INIT_VAR(vIUBnew); array_init(vIUBnew); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/B/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(c|g|t)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/D/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(a|g|t)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/H/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(a|c|t)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/K/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(g|t)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/M/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(a|c)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/N/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(a|c|g|t)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/R/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(a|g)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/S/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(c|g)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/V/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(a|c|g)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/W/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(a|t)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "/Y/S", 1); zephir_array_append(&vIUB, _0, PH_SEPARATE); ZEPHIR_INIT_BNVAR(_0); ZVAL_STRING(_0, "(c|t)", 1); zephir_array_append(&vIUBnew, _0, PH_SEPARATE); ZEPHIR_INIT_VAR(stuffToRemove); ZVAL_STRING(stuffToRemove, "^>.*$|\n", 1); ZEPHIR_INIT_VAR(discard); ZVAL_NULL(discard); ZEPHIR_INIT_VAR(contents); zephir_file_get_contents(contents, path TSRMLS_CC); ZEPHIR_INIT_VAR(initialLength); ZVAL_LONG(initialLength, zephir_fast_strlen_ev(contents)); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SVS(_1, "/", stuffToRemove, "/mS"); ZEPHIR_SINIT_VAR(_2); ZVAL_STRING(&_2, "", 0); ZEPHIR_CALL_FUNCTION(&_3, "preg_replace", &_4, _1, &_2, contents); zephir_check_call_status(); ZEPHIR_CPY_WRT(contents, _3); ZEPHIR_INIT_VAR(codeLength); ZVAL_LONG(codeLength, zephir_fast_strlen_ev(contents)); zephir_is_iterable(variants, &_6, &_5, 0, 0); for ( ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS ; zephir_hash_move_forward_ex(_6, &_5) ) { ZEPHIR_GET_HVALUE(regex, _7); zend_print_zval(regex, 0); php_printf(" "); ZEPHIR_INIT_LNVAR(_8); ZEPHIR_CONCAT_SVS(_8, "/", regex, "/iS"); Z_SET_ISREF_P(discard); ZEPHIR_CALL_FUNCTION(&_3, "preg_match_all", &_9, _8, contents, discard); Z_UNSET_ISREF_P(discard); zephir_check_call_status(); zend_print_zval(_3, 0); php_printf("%c", '\n'); } ZEPHIR_CALL_FUNCTION(&_10, "preg_replace", &_4, vIUB, vIUBnew, contents); zephir_check_call_status(); ZEPHIR_CPY_WRT(contents, _10); php_printf("%c", '\n'); zend_print_zval(initialLength, 0); php_printf("%c", '\n'); zend_print_zval(codeLength, 0); php_printf("%c", '\n'); php_printf("%d", zephir_fast_strlen_ev(contents)); php_printf("%c", '\n'); ZEPHIR_MM_RESTORE(); }
PHP_METHOD(PhalconPlus_RPC_Server_AbstractServer, callByParams) { zend_class_entry *_10, *_17; zephir_nts_static zephir_fcall_cache_entry *_5 = NULL, *_7 = NULL, *_13 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *_3 = NULL, *_18, *_19; zend_bool _2; zval *service_param = NULL, *method_param = NULL, *request = NULL, *rawData, *serviceClass = NULL, *_0 = NULL, *_1, *tmp = NULL, *param, *paramClass = NULL, *_4 = NULL, *_6 = NULL, *_8 = NULL, *_9 = NULL, *_11 = NULL, *_12 = NULL, *_14, *_15, *serviceObj, *response = NULL, *e = NULL, *_16 = NULL, *_20; zval *service = NULL, *method = NULL, *_21; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 4, 0, &service_param, &method_param, &request, &rawData); if (unlikely(Z_TYPE_P(service_param) != IS_STRING && Z_TYPE_P(service_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'service' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(service_param) == IS_STRING)) { zephir_get_strval(service, service_param); } else { ZEPHIR_INIT_VAR(service); ZVAL_EMPTY_STRING(service); } if (unlikely(Z_TYPE_P(method_param) != IS_STRING && Z_TYPE_P(method_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'method' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(method_param) == IS_STRING)) { zephir_get_strval(method, method_param); } else { ZEPHIR_INIT_VAR(method); ZVAL_EMPTY_STRING(method); } ZEPHIR_INIT_VAR(serviceClass); ZVAL_STRING(serviceClass, "", 1); ZEPHIR_INIT_VAR(tmp); array_init(tmp); ZEPHIR_INIT_VAR(_1); zephir_ucfirst(_1, service); ZEPHIR_INIT_NVAR(serviceClass); ZEPHIR_CONCAT_VS(serviceClass, _1, "Service"); _2 = Z_TYPE_P(request) == IS_OBJECT; if (_2) { _2 = zephir_instance_of_ev(request, phalconplus_base_protobuffer_ce TSRMLS_CC); } if (_2) { zephir_update_property_this(this_ptr, SL("phpOnly"), (1) ? ZEPHIR_GLOBAL(global_true) : ZEPHIR_GLOBAL(global_false) TSRMLS_CC); } else if (Z_TYPE_P(request) == IS_ARRAY) { ZEPHIR_CPY_WRT(tmp, request); ZEPHIR_INIT_VAR(param); object_init_ex(param, zephir_get_internal_ce(SS("reflectionparameter") TSRMLS_CC)); ZEPHIR_INIT_VAR(_3); zephir_create_array(_3, 2, 0 TSRMLS_CC); zephir_array_fast_append(_3, serviceClass); zephir_array_fast_append(_3, method); ZEPHIR_INIT_VAR(_4); ZVAL_LONG(_4, 0); ZEPHIR_CALL_METHOD(NULL, param, "__construct", &_5, _3, _4); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_6, param, "getclass", &_7); zephir_check_call_status(); if (zephir_is_true(_6)) { ZEPHIR_CALL_METHOD(&_8, param, "getclass", &_7); zephir_check_call_status(); ZEPHIR_CALL_METHOD(¶mClass, _8, "getname", NULL); zephir_check_call_status(); ZEPHIR_INIT_NVAR(request); zephir_fetch_safe_class(_9, paramClass); _10 = zend_fetch_class(Z_STRVAL_P(_9), Z_STRLEN_P(_9), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(request, _10); if (zephir_has_constructor(request TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, request, "__construct", NULL); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(NULL, request, "softclone", NULL, tmp); zephir_check_call_status(); } else { ZEPHIR_INIT_NVAR(_4); object_init_ex(_4, zend_exception_get_default(TSRMLS_C)); ZEPHIR_INIT_VAR(_11); zephir_json_encode(_11, &(_11), request, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_12); ZEPHIR_CONCAT_SVSVSV(_12, "Service class:method definition is invalid. Detail: ", service, " : ", method, ". Request: ", _11); ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_13, _12); zephir_check_call_status(); zephir_throw_exception_debug(_4, "phalconplus/RPC/Server/AbstractServer.zep", 36 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } else { ZEPHIR_INIT_NVAR(_4); object_init_ex(_4, zend_exception_get_default(TSRMLS_C)); ZEPHIR_INIT_NVAR(_11); zephir_json_encode(_11, &(_11), request, 0 TSRMLS_CC); ZEPHIR_INIT_LNVAR(_12); ZEPHIR_CONCAT_SV(_12, "Your input is not allowed. Request: ", _11); ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_13, _12); zephir_check_call_status(); zephir_throw_exception_debug(_4, "phalconplus/RPC/Server/AbstractServer.zep", 39 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } _14 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "requestCheck", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_6, _14, "has", NULL, _4); zephir_check_temp_parameter(_4); zephir_check_call_status(); if (zephir_is_true(_6)) { _15 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC); ZEPHIR_INIT_NVAR(_3); zephir_create_array(_3, 3, 0 TSRMLS_CC); zephir_array_fast_append(_3, serviceClass); zephir_array_fast_append(_3, method); zephir_array_fast_append(_3, rawData); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "requestCheck", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, _15, "get", NULL, _4, _3); zephir_check_temp_parameter(_4); zephir_check_call_status(); } else { ZEPHIR_CALL_METHOD(NULL, this_ptr, "requestcheck", NULL, serviceClass, method, request); zephir_check_call_status(); } ZEPHIR_INIT_VAR(serviceObj); zephir_fetch_safe_class(_16, serviceClass); _17 = zend_fetch_class(Z_STRVAL_P(_16), Z_STRLEN_P(_16), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(serviceObj, _17); if (zephir_has_constructor(serviceObj TSRMLS_CC)) { _15 = zephir_fetch_nproperty_this(this_ptr, SL("di"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, serviceObj, "__construct", NULL, _15); zephir_check_call_status(); } ZEPHIR_INIT_NVAR(_3); zephir_create_array(_3, 2, 0 TSRMLS_CC); zephir_array_fast_append(_3, serviceObj); zephir_array_fast_append(_3, method); if (zephir_is_callable(_3 TSRMLS_CC)) { /* try_start_1: */ ZEPHIR_INIT_NVAR(_4); ZEPHIR_INIT_VAR(_18); zephir_create_array(_18, 2, 0 TSRMLS_CC); zephir_array_fast_append(_18, serviceObj); zephir_array_fast_append(_18, method); ZEPHIR_INIT_VAR(_19); zephir_create_array(_19, 1, 0 TSRMLS_CC); zephir_array_fast_append(_19, request); ZEPHIR_CALL_USER_FUNC_ARRAY(_4, _18, _19); zephir_check_call_status_or_jump(try_end_1); ZEPHIR_CPY_WRT(response, _4); try_end_1: if (EG(exception)) { ZEPHIR_CPY_WRT(e, EG(exception)); if (zephir_instance_of_ev(e, zend_exception_get_default(TSRMLS_C) TSRMLS_CC)) { zend_clear_exception(TSRMLS_C); zephir_throw_exception_debug(e, "phalconplus/RPC/Server/AbstractServer.zep", 55 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } ZEPHIR_INIT_NVAR(_4); _20 = zephir_fetch_nproperty_this(this_ptr, SL("phpOnly"), PH_NOISY_CC); if (ZEPHIR_IS_TRUE(_20)) { ZEPHIR_CPY_WRT(_4, response); } else { ZEPHIR_CALL_METHOD(&_4, response, "toarray", NULL); zephir_check_call_status(); } RETURN_CCTOR(_4); } else { object_init_ex(_4, zend_exception_get_default(TSRMLS_C)); ZEPHIR_INIT_VAR(_21); ZEPHIR_CONCAT_SVSV(_21, "Service:method not found. Detail: ", service, " : ", method); ZEPHIR_CALL_METHOD(NULL, _4, "__construct", &_13, _21); zephir_check_call_status(); zephir_throw_exception_debug(_4, "phalconplus/RPC/Server/AbstractServer.zep", 59 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } }
/** * Generates SQL to create a table */ PHP_METHOD(Phalcon_Db_Dialect_Sqlite, createTable) { HashTable *_1, *_18$$14, *_31$$18; HashPosition _0, _17$$14, _30$$18; zend_bool hasPrimary = 0, _7$$7, _9$$7, _20$$15, _21$$15; zephir_fcall_cache_entry *_5 = NULL, *_14 = NULL, *_25 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *definition = NULL; zval *tableName_param = NULL, *schemaName_param = NULL, *definition_param = NULL, *columns = NULL, *table = NULL, *temporary = NULL, *options = NULL, *createLines = NULL, *columnLine = NULL, *column = NULL, *indexes = NULL, *index = NULL, *indexName = NULL, *indexType = NULL, *references = NULL, *reference = NULL, *defaultValue = NULL, *referenceSql = NULL, *onDelete = NULL, *onUpdate = NULL, *sql = NULL, **_2, *_41, *_42, *_3$$7 = NULL, *_4$$7 = NULL, *_6$$7 = NULL, *_8$$7 = NULL, *_10$$7 = NULL, *_16$$7 = NULL, *_11$$10 = NULL, _12$$12 = zval_used_for_init, *_13$$12 = NULL, *_15$$12 = NULL, **_19$$14, *_22$$15 = NULL, *_23$$16 = NULL, *_24$$16 = NULL, *_26$$16 = NULL, *_27$$17 = NULL, *_28$$17 = NULL, *_29$$17 = NULL, **_32$$18, *_33$$19 = NULL, *_34$$19 = NULL, *_35$$19 = NULL, *_36$$19 = NULL, *_37$$19 = NULL, *_38$$19 = NULL, *_39$$20 = NULL, *_40$$21 = NULL; zval *tableName = NULL, *schemaName = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &tableName_param, &schemaName_param, &definition_param); if (unlikely(Z_TYPE_P(tableName_param) != IS_STRING && Z_TYPE_P(tableName_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'tableName' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(tableName_param) == IS_STRING)) { zephir_get_strval(tableName, tableName_param); } else { ZEPHIR_INIT_VAR(tableName); ZVAL_EMPTY_STRING(tableName); } if (unlikely(Z_TYPE_P(schemaName_param) != IS_STRING && Z_TYPE_P(schemaName_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'schemaName' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(schemaName_param) == IS_STRING)) { zephir_get_strval(schemaName, schemaName_param); } else { ZEPHIR_INIT_VAR(schemaName); ZVAL_EMPTY_STRING(schemaName); } definition = definition_param; ZEPHIR_CALL_METHOD(&table, this_ptr, "preparetable", NULL, 0, tableName, schemaName); zephir_check_call_status(); ZEPHIR_INIT_VAR(temporary); ZVAL_BOOL(temporary, 0); ZEPHIR_OBS_VAR(options); if (zephir_array_isset_string_fetch(&options, definition, SS("options"), 0 TSRMLS_CC)) { ZEPHIR_OBS_NVAR(temporary); zephir_array_isset_string_fetch(&temporary, options, SS("temporary"), 0 TSRMLS_CC); } ZEPHIR_OBS_VAR(columns); if (!(zephir_array_isset_string_fetch(&columns, definition, SS("columns"), 0 TSRMLS_CC))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "The index 'columns' is required in the definition array", "phalcon/db/dialect/sqlite.zep", 322); return; } ZEPHIR_INIT_VAR(sql); if (zephir_is_true(temporary)) { ZEPHIR_CONCAT_SVS(sql, "CREATE TEMPORARY TABLE ", table, " (\n\t"); } else { ZEPHIR_CONCAT_SVS(sql, "CREATE TABLE ", table, " (\n\t"); } hasPrimary = 0; ZEPHIR_INIT_VAR(createLines); array_init(createLines); zephir_is_iterable(columns, &_1, &_0, 0, 0, "phalcon/db/dialect/sqlite.zep", 380); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HVALUE(column, _2); ZEPHIR_CALL_METHOD(&_3$$7, column, "getname", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_4$$7, this_ptr, "getcolumndefinition", &_5, 0, column); zephir_check_call_status(); ZEPHIR_INIT_NVAR(columnLine); ZEPHIR_CONCAT_SVSV(columnLine, "`", _3$$7, "` ", _4$$7); ZEPHIR_CALL_METHOD(&_6$$7, column, "isprimary", NULL, 0); zephir_check_call_status(); _7$$7 = zephir_is_true(_6$$7); if (_7$$7) { _7$$7 = !hasPrimary; } if (_7$$7) { zephir_concat_self_str(&columnLine, SL(" PRIMARY KEY") TSRMLS_CC); hasPrimary = 1; } ZEPHIR_CALL_METHOD(&_8$$7, column, "isautoincrement", NULL, 0); zephir_check_call_status(); _9$$7 = zephir_is_true(_8$$7); if (_9$$7) { _9$$7 = hasPrimary; } if (_9$$7) { zephir_concat_self_str(&columnLine, SL(" AUTOINCREMENT") TSRMLS_CC); } ZEPHIR_CALL_METHOD(&_10$$7, column, "hasdefault", NULL, 0); zephir_check_call_status(); if (zephir_is_true(_10$$7)) { ZEPHIR_CALL_METHOD(&defaultValue, column, "getdefault", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_11$$10); zephir_fast_strtoupper(_11$$10, defaultValue); if (zephir_memnstr_str(_11$$10, SL("CURRENT_TIMESTAMP"), "phalcon/db/dialect/sqlite.zep", 360)) { zephir_concat_self_str(&columnLine, SL(" DEFAULT CURRENT_TIMESTAMP") TSRMLS_CC); } else { ZEPHIR_SINIT_NVAR(_12$$12); ZVAL_STRING(&_12$$12, "\"", 0); ZEPHIR_CALL_FUNCTION(&_13$$12, "addcslashes", &_14, 153, defaultValue, &_12$$12); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_15$$12); ZEPHIR_CONCAT_SVS(_15$$12, " DEFAULT \"", _13$$12, "\""); zephir_concat_self(&columnLine, _15$$12 TSRMLS_CC); } } ZEPHIR_CALL_METHOD(&_16$$7, column, "isnotnull", NULL, 0); zephir_check_call_status(); if (zephir_is_true(_16$$7)) { zephir_concat_self_str(&columnLine, SL(" NOT NULL") TSRMLS_CC); } zephir_array_append(&createLines, columnLine, PH_SEPARATE, "phalcon/db/dialect/sqlite.zep", 374); } ZEPHIR_OBS_VAR(indexes); if (zephir_array_isset_string_fetch(&indexes, definition, SS("indexes"), 0 TSRMLS_CC)) { zephir_is_iterable(indexes, &_18$$14, &_17$$14, 0, 0, "phalcon/db/dialect/sqlite.zep", 396); for ( ; zephir_hash_get_current_data_ex(_18$$14, (void**) &_19$$14, &_17$$14) == SUCCESS ; zephir_hash_move_forward_ex(_18$$14, &_17$$14) ) { ZEPHIR_GET_HVALUE(index, _19$$14); ZEPHIR_CALL_METHOD(&indexName, index, "getname", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&indexType, index, "gettype", NULL, 0); zephir_check_call_status(); _20$$15 = ZEPHIR_IS_STRING(indexName, "PRIMARY"); if (_20$$15) { _20$$15 = !hasPrimary; } _21$$15 = !(ZEPHIR_IS_EMPTY(indexType)); if (_21$$15) { ZEPHIR_INIT_NVAR(_22$$15); zephir_fast_strtoupper(_22$$15, indexType); _21$$15 = zephir_memnstr_str(_22$$15, SL("UNIQUE"), "phalcon/db/dialect/sqlite.zep", 392); } if (_20$$15) { ZEPHIR_CALL_METHOD(&_24$$16, index, "getcolumns", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_23$$16, this_ptr, "getcolumnlist", &_25, 54, _24$$16); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_26$$16); ZEPHIR_CONCAT_SVS(_26$$16, "PRIMARY KEY (", _23$$16, ")"); zephir_array_append(&createLines, _26$$16, PH_SEPARATE, "phalcon/db/dialect/sqlite.zep", 391); } else if (_21$$15) { ZEPHIR_CALL_METHOD(&_28$$17, index, "getcolumns", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_27$$17, this_ptr, "getcolumnlist", &_25, 54, _28$$17); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_29$$17); ZEPHIR_CONCAT_SVS(_29$$17, "UNIQUE (", _27$$17, ")"); zephir_array_append(&createLines, _29$$17, PH_SEPARATE, "phalcon/db/dialect/sqlite.zep", 393); } } } ZEPHIR_OBS_VAR(references); if (zephir_array_isset_string_fetch(&references, definition, SS("references"), 0 TSRMLS_CC)) { zephir_is_iterable(references, &_31$$18, &_30$$18, 0, 0, "phalcon/db/dialect/sqlite.zep", 418); for ( ; zephir_hash_get_current_data_ex(_31$$18, (void**) &_32$$18, &_30$$18) == SUCCESS ; zephir_hash_move_forward_ex(_31$$18, &_30$$18) ) { ZEPHIR_GET_HVALUE(reference, _32$$18); ZEPHIR_CALL_METHOD(&_33$$19, reference, "getname", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_35$$19, reference, "getcolumns", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_34$$19, this_ptr, "getcolumnlist", &_25, 54, _35$$19); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_36$$19, reference, "getreferencedtable", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_38$$19, reference, "getreferencedcolumns", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_37$$19, this_ptr, "getcolumnlist", &_25, 54, _38$$19); zephir_check_call_status(); ZEPHIR_INIT_NVAR(referenceSql); ZEPHIR_CONCAT_SVSVSSVSVS(referenceSql, "CONSTRAINT `", _33$$19, "` FOREIGN KEY (", _34$$19, ")", " REFERENCES `", _36$$19, "`(", _37$$19, ")"); ZEPHIR_CALL_METHOD(&onDelete, reference, "getondelete", NULL, 0); zephir_check_call_status(); if (!(ZEPHIR_IS_EMPTY(onDelete))) { ZEPHIR_INIT_LNVAR(_39$$20); ZEPHIR_CONCAT_SV(_39$$20, " ON DELETE ", onDelete); zephir_concat_self(&referenceSql, _39$$20 TSRMLS_CC); } ZEPHIR_CALL_METHOD(&onUpdate, reference, "getonupdate", NULL, 0); zephir_check_call_status(); if (!(ZEPHIR_IS_EMPTY(onUpdate))) { ZEPHIR_INIT_LNVAR(_40$$21); ZEPHIR_CONCAT_SV(_40$$21, " ON UPDATE ", onUpdate); zephir_concat_self(&referenceSql, _40$$21 TSRMLS_CC); } zephir_array_append(&createLines, referenceSql, PH_SEPARATE, "phalcon/db/dialect/sqlite.zep", 416); } } ZEPHIR_INIT_VAR(_41); zephir_fast_join_str(_41, SL(",\n\t"), createLines TSRMLS_CC); ZEPHIR_INIT_VAR(_42); ZEPHIR_CONCAT_VS(_42, _41, "\n)"); zephir_concat_self(&sql, _42 TSRMLS_CC); RETURN_CCTOR(sql); }
/** * Builds a SELECT statement * * @param array definition * @return string */ PHP_METHOD(Pdm_Db_AbstractDialect, select) { zephir_fcall_cache_entry *_4 = NULL, *_9 = NULL; int ZEPHIR_LAST_CALL_STATUS; HashTable *_2, *_6, *_11, *_16, *_22, *_26; HashPosition _1, _5, _10, _15, _21, _25; zval *definition, *tables, *columns = NULL, *escapeChar = NULL, *columnItem = NULL, *column = NULL, *selectedColumns, *columnSql = NULL, *columnDomainSql = NULL, *columnAlias = NULL, *selectedTables, *sqlJoin = NULL, *joinExpressions = NULL, *joinCondition = NULL, *joinConditionsArray = NULL, *tablesSql = NULL, *columnDomain = NULL, *columnAliasSql = NULL, *columnsSql = NULL, *table = NULL, *sql, *joins, *join = NULL, *sqlTable = NULL, *whereConditions, *groupFields, *groupField = NULL, *groupItems, *havingConditions, *orderFields, *orderItem = NULL, *orderItems, *orderSqlItem = NULL, *sqlOrderType = NULL, *orderSqlItemType = NULL, *limitValue, *number, *offset, *_0, **_3, **_7, *_8 = NULL, **_12, *_13, *_14, **_17, *_18 = NULL, *_19 = NULL, *_20 = NULL, **_23, *_24 = NULL, **_27, *_28, *_29; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &definition); if (Z_TYPE_P(definition) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(pdm_db_exception_ce, "Invalid SELECT definition", "pdm/db/abstractdialect.zep", 375); return; } ZEPHIR_OBS_VAR(tables); if (!(zephir_array_isset_string_fetch(&tables, definition, SS("tables"), 0 TSRMLS_CC))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(pdm_db_exception_ce, "The index 'tables' is required in the definition array", "pdm/db/abstractdialect.zep", 379); return; } ZEPHIR_OBS_VAR(columns); if (!(zephir_array_isset_string_fetch(&columns, definition, SS("columns"), 0 TSRMLS_CC))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(pdm_db_exception_ce, "The index 'columns' is required in the definition array", "pdm/db/abstractdialect.zep", 383); return; } if (ZEPHIR_GLOBAL(db).escape_identifiers) { _0 = zephir_fetch_nproperty_this(this_ptr, SL("escapeChar"), PH_NOISY_CC); ZEPHIR_CPY_WRT(escapeChar, _0); } else { ZEPHIR_INIT_VAR(escapeChar); ZVAL_NULL(escapeChar); } ZEPHIR_OBS_NVAR(columns); zephir_array_fetch_string(&columns, definition, SL("columns"), PH_NOISY TSRMLS_CC); if (Z_TYPE_P(columns) == IS_ARRAY) { ZEPHIR_INIT_VAR(selectedColumns); array_init(selectedColumns); zephir_is_iterable(columns, &_2, &_1, 0, 0); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HVALUE(column, _3); ZEPHIR_OBS_NVAR(columnItem); zephir_array_fetch_long(&columnItem, column, 0, PH_NOISY TSRMLS_CC); if (Z_TYPE_P(columnItem) == IS_ARRAY) { ZEPHIR_CALL_METHOD(&columnSql, this_ptr, "getsqlexpression", &_4, columnItem, escapeChar); zephir_check_call_status(); } else { if (ZEPHIR_IS_STRING(columnItem, "*")) { ZEPHIR_CPY_WRT(columnSql, columnItem); } else { if (ZEPHIR_GLOBAL(db).escape_identifiers) { ZEPHIR_INIT_NVAR(columnSql); ZEPHIR_CONCAT_VVV(columnSql, escapeChar, columnItem, escapeChar); } else { ZEPHIR_CPY_WRT(columnSql, columnItem); } } } ZEPHIR_OBS_NVAR(columnDomain); if (zephir_array_isset_long_fetch(&columnDomain, column, 1, 0 TSRMLS_CC)) { if (zephir_is_true(columnDomain)) { ZEPHIR_INIT_NVAR(columnDomainSql); if (ZEPHIR_GLOBAL(db).escape_identifiers) { ZEPHIR_CONCAT_VVVSV(columnDomainSql, escapeChar, columnDomain, escapeChar, ".", columnSql); } else { ZEPHIR_CONCAT_VSV(columnDomainSql, columnDomain, ".", columnSql); } } else { ZEPHIR_CPY_WRT(columnDomainSql, columnSql); } } else { ZEPHIR_CPY_WRT(columnDomainSql, columnSql); } ZEPHIR_OBS_NVAR(columnAlias); if (zephir_array_isset_long_fetch(&columnAlias, column, 2, 0 TSRMLS_CC)) { if (zephir_is_true(columnAlias)) { ZEPHIR_INIT_NVAR(columnAliasSql); if (ZEPHIR_GLOBAL(db).escape_identifiers) { ZEPHIR_CONCAT_VSVVV(columnAliasSql, columnDomainSql, " AS ", escapeChar, columnAlias, escapeChar); } else { ZEPHIR_CONCAT_VSV(columnAliasSql, columnDomainSql, " AS ", columnAlias); } } else { ZEPHIR_CPY_WRT(columnAliasSql, columnDomainSql); } } else { ZEPHIR_CPY_WRT(columnAliasSql, columnDomainSql); } zephir_array_append(&selectedColumns, columnAliasSql, PH_SEPARATE); } ZEPHIR_INIT_VAR(columnsSql); zephir_fast_join_str(columnsSql, SL(", "), selectedColumns TSRMLS_CC); } else { ZEPHIR_CPY_WRT(columnsSql, columns); } if (Z_TYPE_P(tables) == IS_ARRAY) { ZEPHIR_INIT_VAR(selectedTables); array_init(selectedTables); zephir_is_iterable(tables, &_6, &_5, 0, 0); for ( ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS ; zephir_hash_move_forward_ex(_6, &_5) ) { ZEPHIR_GET_HVALUE(table, _7); ZEPHIR_CALL_METHOD(&_8, this_ptr, "getsqltable", &_9, table, escapeChar); zephir_check_call_status(); zephir_array_append(&selectedTables, _8, PH_SEPARATE); } ZEPHIR_INIT_VAR(tablesSql); zephir_fast_join_str(tablesSql, SL(", "), selectedTables TSRMLS_CC); } else { ZEPHIR_CPY_WRT(tablesSql, tables); } ZEPHIR_INIT_VAR(sql); ZEPHIR_CONCAT_SVSV(sql, "SELECT ", columnsSql, " FROM ", tablesSql); ZEPHIR_OBS_VAR(joins); if (zephir_array_isset_string_fetch(&joins, definition, SS("joins"), 0 TSRMLS_CC)) { zephir_is_iterable(joins, &_11, &_10, 0, 0); for ( ; zephir_hash_get_current_data_ex(_11, (void**) &_12, &_10) == SUCCESS ; zephir_hash_move_forward_ex(_11, &_10) ) { ZEPHIR_GET_HVALUE(join, _12); zephir_array_fetch_string(&_13, join, SL("source"), PH_NOISY | PH_READONLY TSRMLS_CC); ZEPHIR_CALL_METHOD(&sqlTable, this_ptr, "getsqltable", &_9, _13, escapeChar); zephir_check_call_status(); zephir_array_append(&selectedTables, sqlTable, PH_SEPARATE); zephir_array_fetch_string(&_14, join, SL("type"), PH_NOISY | PH_READONLY TSRMLS_CC); ZEPHIR_INIT_NVAR(sqlJoin); ZEPHIR_CONCAT_SVSV(sqlJoin, " ", _14, " JOIN ", sqlTable); ZEPHIR_OBS_NVAR(joinConditionsArray); if (zephir_array_isset_string_fetch(&joinConditionsArray, join, SS("conditions"), 0 TSRMLS_CC)) { if (zephir_fast_count_int(joinConditionsArray TSRMLS_CC)) { ZEPHIR_INIT_NVAR(joinExpressions); array_init(joinExpressions); zephir_is_iterable(joinConditionsArray, &_16, &_15, 0, 0); for ( ; zephir_hash_get_current_data_ex(_16, (void**) &_17, &_15) == SUCCESS ; zephir_hash_move_forward_ex(_16, &_15) ) { ZEPHIR_GET_HVALUE(joinCondition, _17); ZEPHIR_CALL_METHOD(&_8, this_ptr, "getsqlexpression", &_4, joinCondition, escapeChar); zephir_check_call_status(); zephir_array_append(&joinExpressions, _8, PH_SEPARATE); } ZEPHIR_INIT_NVAR(_18); zephir_fast_join_str(_18, SL(" AND "), joinExpressions TSRMLS_CC); ZEPHIR_INIT_LNVAR(_19); ZEPHIR_CONCAT_SVS(_19, " ON ", _18, " "); zephir_concat_self(&sqlJoin, _19 TSRMLS_CC); } } zephir_concat_self(&sql, sqlJoin TSRMLS_CC); } } ZEPHIR_OBS_VAR(whereConditions); if (zephir_array_isset_string_fetch(&whereConditions, definition, SS("where"), 0 TSRMLS_CC)) { if (Z_TYPE_P(whereConditions) == IS_ARRAY) { ZEPHIR_CALL_METHOD(&_8, this_ptr, "getsqlexpression", &_4, whereConditions, escapeChar); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_19); ZEPHIR_CONCAT_SV(_19, " WHERE ", _8); zephir_concat_self(&sql, _19 TSRMLS_CC); } else { ZEPHIR_INIT_VAR(_20); ZEPHIR_CONCAT_SV(_20, " WHERE ", whereConditions); zephir_concat_self(&sql, _20 TSRMLS_CC); } } ZEPHIR_OBS_VAR(groupFields); if (zephir_array_isset_string_fetch(&groupFields, definition, SS("group"), 0 TSRMLS_CC)) { ZEPHIR_INIT_VAR(groupItems); array_init(groupItems); zephir_is_iterable(groupFields, &_22, &_21, 0, 0); for ( ; zephir_hash_get_current_data_ex(_22, (void**) &_23, &_21) == SUCCESS ; zephir_hash_move_forward_ex(_22, &_21) ) { ZEPHIR_GET_HVALUE(groupField, _23); ZEPHIR_CALL_METHOD(&_8, this_ptr, "getsqlexpression", &_4, groupField, escapeChar); zephir_check_call_status(); zephir_array_append(&groupItems, _8, PH_SEPARATE); } ZEPHIR_INIT_NVAR(_18); zephir_fast_join_str(_18, SL(", "), groupItems TSRMLS_CC); ZEPHIR_INIT_LNVAR(_20); ZEPHIR_CONCAT_SV(_20, " GROUP BY ", _18); zephir_concat_self(&sql, _20 TSRMLS_CC); ZEPHIR_OBS_VAR(havingConditions); if (zephir_array_isset_string_fetch(&havingConditions, definition, SS("having"), 0 TSRMLS_CC)) { ZEPHIR_CALL_METHOD(&_8, this_ptr, "getsqlexpression", &_4, havingConditions, escapeChar); zephir_check_call_status(); ZEPHIR_INIT_VAR(_24); ZEPHIR_CONCAT_SV(_24, " HAVING ", _8); zephir_concat_self(&sql, _24 TSRMLS_CC); } } ZEPHIR_OBS_VAR(orderFields); if (zephir_array_isset_string_fetch(&orderFields, definition, SS("order"), 0 TSRMLS_CC)) { ZEPHIR_INIT_VAR(orderItems); array_init(orderItems); zephir_is_iterable(orderFields, &_26, &_25, 0, 0); for ( ; zephir_hash_get_current_data_ex(_26, (void**) &_27, &_25) == SUCCESS ; zephir_hash_move_forward_ex(_26, &_25) ) { ZEPHIR_GET_HVALUE(orderItem, _27); zephir_array_fetch_long(&_13, orderItem, 0, PH_NOISY | PH_READONLY TSRMLS_CC); ZEPHIR_CALL_METHOD(&orderSqlItem, this_ptr, "getsqlexpression", &_4, _13, escapeChar); zephir_check_call_status(); ZEPHIR_OBS_NVAR(sqlOrderType); if (zephir_array_isset_long_fetch(&sqlOrderType, orderItem, 1, 0 TSRMLS_CC)) { ZEPHIR_INIT_NVAR(orderSqlItemType); ZEPHIR_CONCAT_VSV(orderSqlItemType, orderSqlItem, " ", sqlOrderType); } else { ZEPHIR_CPY_WRT(orderSqlItemType, orderSqlItem); } zephir_array_append(&orderItems, orderSqlItemType, PH_SEPARATE); } ZEPHIR_INIT_VAR(_28); zephir_fast_join_str(_28, SL(", "), orderItems TSRMLS_CC); ZEPHIR_INIT_LNVAR(_20); ZEPHIR_CONCAT_SV(_20, " ORDER BY ", _28); zephir_concat_self(&sql, _20 TSRMLS_CC); } if (zephir_array_isset_string_fetch(&limitValue, definition, SS("limit"), 1 TSRMLS_CC)) { if (Z_TYPE_P(limitValue) == IS_ARRAY) { zephir_array_fetch_string(&_13, limitValue, SL("number"), PH_NOISY | PH_READONLY TSRMLS_CC); zephir_array_fetch_string(&number, _13, SL("value"), PH_NOISY | PH_READONLY TSRMLS_CC); if (zephir_array_isset_string_fetch(&offset, limitValue, SS("offset"), 1 TSRMLS_CC)) { zephir_array_fetch_string(&_14, offset, SL("value"), PH_NOISY | PH_READONLY TSRMLS_CC); ZEPHIR_INIT_LNVAR(_24); ZEPHIR_CONCAT_SVSV(_24, " LIMIT ", number, " OFFSET ", _14); zephir_concat_self(&sql, _24 TSRMLS_CC); } else { ZEPHIR_INIT_VAR(_29); ZEPHIR_CONCAT_SV(_29, " LIMIT ", number); zephir_concat_self(&sql, _29 TSRMLS_CC); } } else { ZEPHIR_INIT_LNVAR(_20); ZEPHIR_CONCAT_SV(_20, " LIMIT ", limitValue); zephir_concat_self(&sql, _20 TSRMLS_CC); } } RETURN_CCTOR(sql); }
/** * Magic loader to load instantiated class. * * @param string $file Class namespace. * @return void */ PHP_METHOD(Panada_Gear, loader) { zephir_nts_static zephir_fcall_cache_entry *_16 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *file = NULL, *folder = NULL, *prefix, *_0, *_1, *_2, *_3, *_4 = NULL, *_5 = NULL, *_6, *_7, *_8, *_9, *_10, *_11, *_12, _13, _14, *_15 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &file); ZEPHIR_SEPARATE_PARAM(file); ZEPHIR_INIT_VAR(prefix); zephir_fast_explode_str(prefix, SL("\\"), file, LONG_MAX TSRMLS_CC); zephir_array_fetch_long(&_0, prefix, 0, PH_NOISY | PH_READONLY TSRMLS_CC); do { if (ZEPHIR_IS_STRING(_0, "Models")) { ZEPHIR_INIT_VAR(folder); ZEPHIR_GET_CONSTANT(folder, "APP"); break; } if (ZEPHIR_IS_STRING(_0, "Libraries")) { ZEPHIR_INIT_NVAR(folder); ZEPHIR_GET_CONSTANT(folder, "APP"); break; } if (ZEPHIR_IS_STRING(_0, "Controllers")) { ZEPHIR_INIT_NVAR(folder); ZEPHIR_GET_CONSTANT(folder, "APP"); break; } if (ZEPHIR_IS_STRING(_0, "Resources")) { ZEPHIR_INIT_NVAR(folder); ZEPHIR_GET_CONSTANT(folder, "GEAR"); break; } if (ZEPHIR_IS_STRING(_0, "Drivers")) { ZEPHIR_INIT_NVAR(folder); ZEPHIR_GET_CONSTANT(folder, "GEAR"); break; } if (ZEPHIR_IS_STRING(_0, "Modules")) { _1 = zephir_fetch_nproperty_this(this_ptr, SL("config"), PH_NOISY_CC); zephir_array_fetch_string(&_2, _1, SL("main"), PH_NOISY | PH_READONLY TSRMLS_CC); zephir_array_fetch_string(&_3, _2, SL("module"), PH_NOISY | PH_READONLY TSRMLS_CC); ZEPHIR_OBS_NVAR(folder); zephir_array_fetch_string(&folder, _3, SL("path"), PH_NOISY TSRMLS_CC); break; } _1 = zephir_fetch_nproperty_this(this_ptr, SL("config"), PH_NOISY_CC); zephir_array_fetch_string(&_2, _1, SL("main"), PH_NOISY | PH_READONLY TSRMLS_CC); if (!(zephir_array_isset_string(_2, SS("namespace")))) { ZEPHIR_INIT_VAR(_4); object_init_ex(_4, panada_resources_runexception_ce); ZEPHIR_INIT_VAR(_5); ZEPHIR_CONCAT_SVS(_5, "Resource ", file, " not available!"); ZEPHIR_CALL_METHOD(NULL, _4, "__construct", NULL, _5); zephir_check_call_status(); zephir_throw_exception(_4 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } _6 = zephir_fetch_nproperty_this(this_ptr, SL("config"), PH_NOISY_CC); zephir_array_fetch_string(&_3, _6, SL("main"), PH_NOISY | PH_READONLY TSRMLS_CC); zephir_array_fetch_string(&_7, _3, SL("namespace"), PH_NOISY | PH_READONLY TSRMLS_CC); zephir_array_fetch_long(&_8, prefix, 0, PH_NOISY | PH_READONLY TSRMLS_CC); if (!(zephir_array_isset(_7, _8))) { ZEPHIR_INIT_LNVAR(_4); object_init_ex(_4, panada_resources_runexception_ce); ZEPHIR_INIT_LNVAR(_5); ZEPHIR_CONCAT_SVS(_5, "Resource ", file, " not available!"); ZEPHIR_CALL_METHOD(NULL, _4, "__construct", NULL, _5); zephir_check_call_status(); zephir_throw_exception(_4 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } _9 = zephir_fetch_nproperty_this(this_ptr, SL("config"), PH_NOISY_CC); zephir_array_fetch_string(&_10, _9, SL("main"), PH_NOISY | PH_READONLY TSRMLS_CC); zephir_array_fetch_string(&_11, _10, SL("namespace"), PH_NOISY | PH_READONLY TSRMLS_CC); ZEPHIR_OBS_NVAR(folder); ZEPHIR_OBS_VAR(_12); zephir_array_fetch_long(&_12, prefix, 0, PH_NOISY TSRMLS_CC); zephir_array_fetch(&folder, _11, _12, PH_NOISY TSRMLS_CC); break; } while(0); ZEPHIR_SINIT_VAR(_13); ZVAL_STRING(&_13, "\\", 0); ZEPHIR_SINIT_VAR(_14); ZVAL_STRING(&_14, "/", 0); ZEPHIR_CALL_FUNCTION(&_15, "str_ireplace", &_16, &_13, &_14, file); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_4); ZEPHIR_CONCAT_VVS(_4, folder, _15, ".php"); ZEPHIR_CPY_WRT(file, _4); if (!((zephir_file_exists(file TSRMLS_CC) == SUCCESS))) { ZEPHIR_INIT_LNVAR(_4); object_init_ex(_4, panada_resources_runexception_ce); ZEPHIR_INIT_LNVAR(_5); ZEPHIR_CONCAT_SVS(_5, "Resource ", file, " not available!"); ZEPHIR_CALL_METHOD(NULL, _4, "__construct", NULL, _5); zephir_check_call_status(); zephir_throw_exception(_4 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } if (zephir_require_zval(file TSRMLS_CC) == FAILURE) { RETURN_MM_NULL(); } ZEPHIR_MM_RESTORE(); }
/** * Builds a Phalcon\Mvc\Model\Criteria based on an input array like _POST */ PHP_METHOD(Phalcon_Mvc_Model_Criteria, fromInput) { zend_bool _6$$4, _7$$7; HashTable *_4$$3; HashPosition _3$$3; zend_class_entry *_2$$3; int ZEPHIR_LAST_CALL_STATUS; zval *data = NULL; zval *modelName = NULL, *operator = NULL, *_12$$10; zval *dependencyInjector, *modelName_param = NULL, *data_param = NULL, *operator_param = NULL, *attribute = NULL, *conditions = NULL, *field = NULL, *value = NULL, *type = NULL, *metaData = NULL, *model = NULL, *dataTypes = NULL, *bind = NULL, *criteria = NULL, *columnMap = NULL, *_0$$3, *_1$$3 = NULL, **_5$$3, *_8$$9 = NULL, *_9$$9 = NULL, *_10$$8 = NULL, *_11$$10; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 1, &dependencyInjector, &modelName_param, &data_param, &operator_param); if (unlikely(Z_TYPE_P(modelName_param) != IS_STRING && Z_TYPE_P(modelName_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'modelName' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(modelName_param) == IS_STRING)) { zephir_get_strval(modelName, modelName_param); } else { ZEPHIR_INIT_VAR(modelName); ZVAL_EMPTY_STRING(modelName); } data = data_param; if (!operator_param) { ZEPHIR_INIT_VAR(operator); ZVAL_STRING(operator, "AND", 1); } else { if (unlikely(Z_TYPE_P(operator_param) != IS_STRING && Z_TYPE_P(operator_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'operator' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(operator_param) == IS_STRING)) { zephir_get_strval(operator, operator_param); } else { ZEPHIR_INIT_VAR(operator); ZVAL_EMPTY_STRING(operator); } } ZEPHIR_INIT_VAR(conditions); array_init(conditions); if (zephir_fast_count_int(data TSRMLS_CC)) { ZEPHIR_INIT_VAR(_0$$3); ZVAL_STRING(_0$$3, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&metaData, dependencyInjector, "getshared", NULL, 0, _0$$3); zephir_check_temp_parameter(_0$$3); zephir_check_call_status(); ZEPHIR_INIT_VAR(model); zephir_fetch_safe_class(_1$$3, modelName); _2$$3 = zend_fetch_class(Z_STRVAL_P(_1$$3), Z_STRLEN_P(_1$$3), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(model, _2$$3); if (zephir_has_constructor(model TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, model, "__construct", NULL, 0); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(&dataTypes, metaData, "getdatatypes", NULL, 0, model); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&columnMap, metaData, "getreversecolumnmap", NULL, 0, model); zephir_check_call_status(); ZEPHIR_INIT_VAR(bind); array_init(bind); zephir_is_iterable(data, &_4$$3, &_3$$3, 0, 0, "phalcon/mvc/model/criteria.zep", 747); for ( ; zephir_hash_get_current_data_ex(_4$$3, (void**) &_5$$3, &_3$$3) == SUCCESS ; zephir_hash_move_forward_ex(_4$$3, &_3$$3) ) { ZEPHIR_GET_HMKEY(field, _4$$3, _3$$3); ZEPHIR_GET_HVALUE(value, _5$$3); _6$$4 = Z_TYPE_P(columnMap) == IS_ARRAY; if (_6$$4) { _6$$4 = (zephir_fast_count_int(columnMap TSRMLS_CC)) ? 1 : 0; } if (_6$$4) { ZEPHIR_OBS_NVAR(attribute); zephir_array_fetch(&attribute, columnMap, field, PH_NOISY, "phalcon/mvc/model/criteria.zep", 724 TSRMLS_CC); } else { ZEPHIR_CPY_WRT(attribute, field); } ZEPHIR_OBS_NVAR(type); if (zephir_array_isset_fetch(&type, dataTypes, attribute, 0 TSRMLS_CC)) { _7$$7 = Z_TYPE_P(value) != IS_NULL; if (_7$$7) { _7$$7 = !ZEPHIR_IS_STRING_IDENTICAL(value, ""); } if (_7$$7) { if (ZEPHIR_IS_LONG(type, 2)) { ZEPHIR_INIT_LNVAR(_8$$9); ZEPHIR_CONCAT_SVSVS(_8$$9, "[", field, "] LIKE :", field, ":"); zephir_array_append(&conditions, _8$$9, PH_SEPARATE, "phalcon/mvc/model/criteria.zep", 736); ZEPHIR_INIT_LNVAR(_9$$9); ZEPHIR_CONCAT_SVS(_9$$9, "%", value, "%"); zephir_array_update_zval(&bind, field, &_9$$9, PH_COPY | PH_SEPARATE); continue; } ZEPHIR_INIT_LNVAR(_10$$8); ZEPHIR_CONCAT_SVSVS(_10$$8, "[", field, "] = :", field, ":"); zephir_array_append(&conditions, _10$$8, PH_SEPARATE, "phalcon/mvc/model/criteria.zep", 743); zephir_array_update_zval(&bind, field, &value, PH_COPY | PH_SEPARATE); } } } } ZEPHIR_INIT_VAR(criteria); object_init_ex(criteria, phalcon_mvc_model_criteria_ce); if (zephir_has_constructor(criteria TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, criteria, "__construct", NULL, 0); zephir_check_call_status(); } if (zephir_fast_count_int(conditions TSRMLS_CC)) { ZEPHIR_INIT_VAR(_11$$10); ZEPHIR_INIT_VAR(_12$$10); ZEPHIR_CONCAT_SVS(_12$$10, " ", operator, " "); zephir_fast_join(_11$$10, _12$$10, conditions TSRMLS_CC); ZEPHIR_CALL_METHOD(NULL, criteria, "where", NULL, 306, _11$$10); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, criteria, "bind", NULL, 307, bind); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(NULL, criteria, "setmodelname", NULL, 300, modelName); zephir_check_call_status(); RETURN_CCTOR(criteria); }
/** * Executes a prepared statement binding. This function uses integer indexes starting from zero * *<code> * use Phalcon\Db\Column; * * $statement = $db->prepare('SELECT * FROM robots WHERE name = :name'); * $result = $connection->executePrepared($statement, ['name' => 'Voltron'], ['name' => Column::BIND_PARAM_INT]); *</code> * * @param \PDOStatement statement * @param array placeholders * @param array dataTypes * @return \PDOStatement */ PHP_METHOD(Phalcon_Db_Adapter_Pdo, executePrepared) { zval *_6$$13 = NULL; zend_bool _3$$3; HashTable *_1, *_9$$22, *_14$$28; HashPosition _0, _8$$22, _13$$28; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_5 = NULL, *_7 = NULL; zval *placeholders = NULL; zval *statement, *placeholders_param = NULL, *dataTypes, *wildcard = NULL, *value = NULL, *type = NULL, *castValue = NULL, *parameter = NULL, *position = NULL, *itemValue = NULL, **_2, _4$$12 = zval_used_for_init, **_10$$22, *_11$$24 = NULL, *_12$$25 = NULL, **_15$$28, *_16$$29 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 0, &statement, &placeholders_param, &dataTypes); placeholders = placeholders_param; zephir_is_iterable(placeholders, &_1, &_0, 0, 0, "phalcon/db/adapter/pdo.zep", 273); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(wildcard, _1, _0); ZEPHIR_GET_HVALUE(value, _2); if (Z_TYPE_P(wildcard) == IS_LONG) { ZEPHIR_INIT_NVAR(parameter); ZVAL_LONG(parameter, (zephir_get_numberval(wildcard) + 1)); } else if (Z_TYPE_P(wildcard) == IS_STRING) { ZEPHIR_CPY_WRT(parameter, wildcard); } else { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_db_exception_ce, "Invalid bind parameter (1)", "phalcon/db/adapter/pdo.zep", 200); return; } _3$$3 = Z_TYPE_P(dataTypes) == IS_ARRAY; if (_3$$3) { ZEPHIR_OBS_NVAR(type); _3$$3 = zephir_array_isset_fetch(&type, dataTypes, wildcard, 0 TSRMLS_CC); } if (_3$$3) { if (ZEPHIR_IS_LONG(type, 32)) { ZEPHIR_INIT_NVAR(castValue); ZVAL_DOUBLE(castValue, zephir_get_doubleval(value)); ZEPHIR_INIT_NVAR(type); ZVAL_LONG(type, 1024); } else { if (ZEPHIR_GLOBAL(db).force_casting) { if (Z_TYPE_P(value) != IS_ARRAY) { do { if (ZEPHIR_IS_LONG(type, 1)) { ZEPHIR_SINIT_NVAR(_4$$12); ZVAL_LONG(&_4$$12, 10); ZEPHIR_CALL_FUNCTION(&castValue, "intval", &_5, 26, value, &_4$$12); zephir_check_call_status(); break; } if (ZEPHIR_IS_LONG(type, 2)) { zephir_get_strval(_6$$13, value); ZEPHIR_CPY_WRT(castValue, _6$$13); break; } if (ZEPHIR_IS_LONG(type, 0)) { ZEPHIR_INIT_NVAR(castValue); ZVAL_NULL(castValue); break; } if (ZEPHIR_IS_LONG(type, 5)) { ZEPHIR_INIT_NVAR(castValue); ZVAL_BOOL(castValue, zephir_get_boolval(value)); break; } ZEPHIR_CPY_WRT(castValue, value); break; } while(0); } else { ZEPHIR_CPY_WRT(castValue, value); } } else { ZEPHIR_CPY_WRT(castValue, value); } } if (Z_TYPE_P(castValue) != IS_ARRAY) { if (ZEPHIR_IS_LONG(type, 1024)) { ZEPHIR_CALL_METHOD(NULL, statement, "bindvalue", &_7, 0, parameter, castValue); zephir_check_call_status(); } else { ZEPHIR_CALL_METHOD(NULL, statement, "bindvalue", &_7, 0, parameter, castValue, type); zephir_check_call_status(); } } else { zephir_is_iterable(castValue, &_9$$22, &_8$$22, 0, 0, "phalcon/db/adapter/pdo.zep", 261); for ( ; zephir_hash_get_current_data_ex(_9$$22, (void**) &_10$$22, &_8$$22) == SUCCESS ; zephir_hash_move_forward_ex(_9$$22, &_8$$22) ) { ZEPHIR_GET_HMKEY(position, _9$$22, _8$$22); ZEPHIR_GET_HVALUE(itemValue, _10$$22); if (ZEPHIR_IS_LONG(type, 1024)) { ZEPHIR_INIT_LNVAR(_11$$24); ZEPHIR_CONCAT_VV(_11$$24, parameter, position); ZEPHIR_CALL_METHOD(NULL, statement, "bindvalue", &_7, 0, _11$$24, itemValue); zephir_check_call_status(); } else { ZEPHIR_INIT_LNVAR(_12$$25); ZEPHIR_CONCAT_VV(_12$$25, parameter, position); ZEPHIR_CALL_METHOD(NULL, statement, "bindvalue", &_7, 0, _12$$25, itemValue, type); zephir_check_call_status(); } } } } else { if (Z_TYPE_P(value) != IS_ARRAY) { ZEPHIR_CALL_METHOD(NULL, statement, "bindvalue", &_7, 0, parameter, value); zephir_check_call_status(); } else { zephir_is_iterable(value, &_14$$28, &_13$$28, 0, 0, "phalcon/db/adapter/pdo.zep", 269); for ( ; zephir_hash_get_current_data_ex(_14$$28, (void**) &_15$$28, &_13$$28) == SUCCESS ; zephir_hash_move_forward_ex(_14$$28, &_13$$28) ) { ZEPHIR_GET_HMKEY(position, _14$$28, _13$$28); ZEPHIR_GET_HVALUE(itemValue, _15$$28); ZEPHIR_INIT_LNVAR(_16$$29); ZEPHIR_CONCAT_VV(_16$$29, parameter, position); ZEPHIR_CALL_METHOD(NULL, statement, "bindvalue", &_7, 0, _16$$29, itemValue); zephir_check_call_status(); } } } } ZEPHIR_CALL_METHOD(NULL, statement, "execute", NULL, 0); zephir_check_call_status(); RETVAL_ZVAL(statement, 1, 0); RETURN_MM(); }
PHP_METHOD(Test_RegexDNA, process) { int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_3 = NULL; zval *path, path_sub, variants, vIUB, vIUBnew, stuffToRemove, contents, initialLength, regex, codeLength, discard, _0, _1, _2, *_4, _5$$3, _6$$3; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&path_sub); ZVAL_UNDEF(&variants); ZVAL_UNDEF(&vIUB); ZVAL_UNDEF(&vIUBnew); ZVAL_UNDEF(&stuffToRemove); ZVAL_UNDEF(&contents); ZVAL_UNDEF(&initialLength); ZVAL_UNDEF(®ex); ZVAL_UNDEF(&codeLength); ZVAL_UNDEF(&discard); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_5$$3); ZVAL_UNDEF(&_6$$3); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &path); ZEPHIR_INIT_VAR(&discard); ZVAL_NULL(&discard); ZEPHIR_INIT_VAR(&variants); zephir_create_array(&variants, 9, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(&_0); ZVAL_STRING(&_0, "agggtaaa|tttaccct"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "[cgt]gggtaaa|tttaccc[acg]"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "a[act]ggtaaa|tttacc[agt]t"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "ag[act]gtaaa|tttac[agt]ct"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "agg[act]taaa|ttta[agt]cct"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "aggg[acg]aaa|ttt[cgt]ccct"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "agggt[cgt]aa|tt[acg]accct"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "agggta[cgt]a|t[acg]taccct"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "agggtaa[cgt]|[acg]ttaccct"); zephir_array_fast_append(&variants, &_0); ZEPHIR_INIT_VAR(&vIUB); array_init(&vIUB); ZEPHIR_INIT_VAR(&vIUBnew); array_init(&vIUBnew); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/B/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 30); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(c|g|t)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 30); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/D/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 31); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|g|t)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 31); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/H/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 32); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c|t)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 32); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/K/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 33); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(g|t)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 33); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/M/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 34); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 34); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/N/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 35); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c|g|t)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 35); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/R/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 36); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|g)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 36); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/S/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 37); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(c|g)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 37); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/V/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 38); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|c|g)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 38); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/W/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 39); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(a|t)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 39); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "/Y/S"); zephir_array_append(&vIUB, &_0, PH_SEPARATE, "test/regexdna.zep", 40); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, "(c|t)"); zephir_array_append(&vIUBnew, &_0, PH_SEPARATE, "test/regexdna.zep", 40); ZEPHIR_INIT_VAR(&stuffToRemove); ZVAL_STRING(&stuffToRemove, "^>.*$|\n"); ZEPHIR_INIT_NVAR(&discard); ZVAL_NULL(&discard); ZEPHIR_INIT_VAR(&contents); zephir_file_get_contents(&contents, path TSRMLS_CC); ZEPHIR_INIT_VAR(&initialLength); ZVAL_LONG(&initialLength, zephir_fast_strlen_ev(&contents)); ZEPHIR_INIT_VAR(&_1); ZEPHIR_CONCAT_SVS(&_1, "/", &stuffToRemove, "/mS"); ZEPHIR_INIT_NVAR(&_0); ZVAL_STRING(&_0, ""); ZEPHIR_CALL_FUNCTION(&_2, "preg_replace", &_3, 51, &_1, &_0, &contents); zephir_check_call_status(); ZEPHIR_CPY_WRT(&contents, &_2); ZEPHIR_INIT_VAR(&codeLength); ZVAL_LONG(&codeLength, zephir_fast_strlen_ev(&contents)); zephir_is_iterable(&variants, 0, "test/regexdna.zep", 59); ZEND_HASH_FOREACH_VAL(Z_ARRVAL_P(&variants), _4) { ZEPHIR_INIT_NVAR(®ex); ZVAL_COPY(®ex, _4); zend_print_zval(®ex, 0); php_printf("%s", " "); ZEPHIR_INIT_NVAR(&_5$$3); ZEPHIR_INIT_LNVAR(_6$$3); ZEPHIR_CONCAT_SVS(&_6$$3, "/", ®ex, "/iS"); zephir_preg_match(&_5$$3, &_6$$3, &contents, &discard, 1, 0 , 0 TSRMLS_CC); zend_print_zval(&_5$$3, 0); php_printf("%c", '\n'); } ZEND_HASH_FOREACH_END();
PHP_METHOD(Test_SpectralNorm, process) { zend_function *_8 = NULL, *_9 = NULL, *_10 = NULL, *_14 = NULL, *_15 = NULL, *_19 = NULL, *_21 = NULL, *_23 = NULL, *_24 = NULL; zend_bool _4, _11, _16; zend_class_entry *_0, *_2, *_3; zval *n_param = NULL, *u, *v, *w, *_1 = NULL, *_7 = NULL, *_20 = NULL, *_22 = NULL, *_25 = NULL, _26; int n, i, vv = 0, vBv = 0, _5, _6, _12, _13, _17, _18; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); n = zephir_get_intval(n_param); ZEPHIR_INIT_VAR(u); _0 = zend_fetch_class(SL("SplFixedArray"), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(u, _0); ZEPHIR_INIT_VAR(_1); ZVAL_LONG(_1, n); zephir_call_method_p1_noret(u, "__construct", _1); ZEPHIR_INIT_VAR(v); _2 = zend_fetch_class(SL("SplFixedArray"), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(v, _2); ZEPHIR_INIT_BNVAR(_1); ZVAL_LONG(_1, n); zephir_call_method_p1_noret(v, "__construct", _1); ZEPHIR_INIT_VAR(w); _3 = zend_fetch_class(SL("SplFixedArray"), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(w, _3); ZEPHIR_INIT_BNVAR(_1); ZVAL_LONG(_1, n); zephir_call_method_p1_noret(w, "__construct", _1); _6 = (n - 1); _5 = 0; _4 = 0; if ((_5 <= _6)) { while (1) { if (_4) { _5++; if (!((_5 <= _6))) { break; } } else { _4 = 1; } i = _5; ZEPHIR_INIT_NVAR(_1); ZVAL_LONG(_1, i); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, 1); zephir_call_method_p2_cache_noret(u, "offsetset", &_8, _1, _7); ZEPHIR_INIT_NVAR(_1); ZVAL_LONG(_1, i); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, 1); zephir_call_method_p2_cache_noret(v, "offsetset", &_9, _1, _7); ZEPHIR_INIT_NVAR(_1); ZVAL_LONG(_1, i); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, 1); zephir_call_method_p2_cache_noret(w, "offsetset", &_10, _1, _7); } } _13 = 9; _12 = 0; _11 = 0; if ((_12 <= _13)) { while (1) { if (_11) { _12++; if (!((_12 <= _13))) { break; } } else { _11 = 1; } i = _12; ZEPHIR_INIT_NVAR(_1); ZVAL_LONG(_1, n); zephir_call_method_p4_cache_noret(this_ptr, "atau", &_14, _1, u, v, w); ZEPHIR_INIT_NVAR(_1); ZVAL_LONG(_1, n); zephir_call_method_p4_cache_noret(this_ptr, "atau", &_15, _1, v, u, w); } } _18 = (n - 1); _17 = 0; _16 = 0; if ((_17 <= _18)) { while (1) { if (_16) { _17++; if (!((_17 <= _18))) { break; } } else { _16 = 1; } i = _17; ZEPHIR_INIT_NVAR(_1); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, i); zephir_call_method_p1_cache(_1, u, "offsetget", &_19, _7); ZEPHIR_INIT_NVAR(_7); ZEPHIR_INIT_NVAR(_20); ZVAL_LONG(_20, i); zephir_call_method_p1_cache(_7, v, "offsetget", &_21, _20); ZEPHIR_INIT_LNVAR(_22); mul_function(_22, _1, _7 TSRMLS_CC); vBv += zephir_get_numberval(_22); ZEPHIR_INIT_NVAR(_1); ZEPHIR_INIT_NVAR(_7); ZVAL_LONG(_7, i); zephir_call_method_p1_cache(_1, v, "offsetget", &_23, _7); ZEPHIR_INIT_NVAR(_7); ZEPHIR_INIT_NVAR(_20); ZVAL_LONG(_20, i); zephir_call_method_p1_cache(_7, v, "offsetget", &_24, _20); ZEPHIR_INIT_LNVAR(_25); mul_function(_25, _1, _7 TSRMLS_CC); vv += zephir_get_numberval(_25); } } ZEPHIR_SINIT_VAR(_26); ZVAL_LONG(&_26, (vBv / vv)); zephir_call_func_p1(return_value, "sqrt", &_26); RETURN_MM(); }
/** * Receives events generated in the models and dispatches them to a events-manager if available * Notify the behaviors that are listening in the model */ PHP_METHOD(Phalcon_Mvc_Collection_Manager, notifyEvent) { int ZEPHIR_LAST_CALL_STATUS; HashTable *_2; HashPosition _1; zval *eventName_param = NULL, *model, *behavior = NULL, *behaviors, *modelsBehaviors, *eventsManager, *status = NULL, *customEventsManager, *_0 = NULL, **_3; zval *eventName = NULL, *_4 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &eventName_param, &model); if (unlikely(Z_TYPE_P(eventName_param) != IS_STRING && Z_TYPE_P(eventName_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'eventName' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(eventName_param) == IS_STRING)) { zephir_get_strval(eventName, eventName_param); } else { ZEPHIR_INIT_VAR(eventName); ZVAL_EMPTY_STRING(eventName); } ZEPHIR_INIT_VAR(status); ZVAL_NULL(status); ZEPHIR_OBS_VAR(behaviors); zephir_read_property_this(&behaviors, this_ptr, SL("_behaviors"), PH_NOISY_CC); if (Z_TYPE_P(behaviors) == IS_ARRAY) { ZEPHIR_OBS_VAR(modelsBehaviors); ZEPHIR_INIT_VAR(_0); zephir_get_class(_0, model, 1 TSRMLS_CC); if (zephir_array_isset_fetch(&modelsBehaviors, behaviors, _0, 0 TSRMLS_CC)) { zephir_is_iterable(modelsBehaviors, &_2, &_1, 0, 0, "phalcon/mvc/collection/manager.zep", 269); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HVALUE(behavior, _3); ZEPHIR_CALL_METHOD(&status, behavior, "notify", NULL, 0, eventName, model); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(status)) { RETURN_MM_BOOL(0); } } } } ZEPHIR_OBS_VAR(eventsManager); zephir_read_property_this(&eventsManager, this_ptr, SL("_eventsManager"), PH_NOISY_CC); if (Z_TYPE_P(eventsManager) == IS_OBJECT) { ZEPHIR_INIT_VAR(_4); ZEPHIR_CONCAT_SV(_4, "collection:", eventName); ZEPHIR_CALL_METHOD(&status, eventsManager, "fire", NULL, 0, _4, model); zephir_check_call_status(); if (!(zephir_is_true(status))) { RETURN_CCTOR(status); } } ZEPHIR_OBS_VAR(customEventsManager); zephir_read_property_this(&customEventsManager, this_ptr, SL("_customEventsManager"), PH_NOISY_CC); if (Z_TYPE_P(customEventsManager) == IS_ARRAY) { ZEPHIR_INIT_NVAR(_0); zephir_get_class(_0, model, 1 TSRMLS_CC); if (zephir_array_isset(customEventsManager, _0)) { ZEPHIR_INIT_LNVAR(_4); ZEPHIR_CONCAT_SV(_4, "collection:", eventName); ZEPHIR_CALL_METHOD(&status, customEventsManager, "fire", NULL, 0, _4, model); zephir_check_call_status(); if (!(zephir_is_true(status))) { RETURN_CCTOR(status); } } } RETURN_CCTOR(status); }
/** * Returns a complete resultset as an array, if the resultset has a big number of rows * it could consume more memory than currently it does. Export the resultset to an array * couldn't be faster with a large number of records */ PHP_METHOD(Phalcon_Mvc_Model_Resultset_Simple, toArray) { HashTable *_2$$7, *_5$$8; HashPosition _1$$7, _4$$8; zephir_fcall_cache_entry *_9 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *renameColumns_param = NULL, *result = NULL, *records = NULL, *record = NULL, *renamed = NULL, *renamedKey = NULL, *key = NULL, *value = NULL, *renamedRecords = NULL, *columnMap = NULL, *_0$$3, **_3$$7, **_6$$8, *_7$$10 = NULL, *_8$$10 = NULL, *_10$$12 = NULL, *_11$$12 = NULL; zend_bool renameColumns; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &renameColumns_param); if (!renameColumns_param) { renameColumns = 1; } else { renameColumns = zephir_get_boolval(renameColumns_param); } ZEPHIR_OBS_VAR(records); zephir_read_property_this(&records, this_ptr, SL("_rows"), PH_NOISY_CC); if (Z_TYPE_P(records) != IS_ARRAY) { ZEPHIR_OBS_VAR(result); zephir_read_property_this(&result, this_ptr, SL("_result"), PH_NOISY_CC); _0$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_row"), PH_NOISY_CC); if (Z_TYPE_P(_0$$3) != IS_NULL) { ZEPHIR_CALL_METHOD(NULL, result, "execute", NULL, 0); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(&records, result, "fetchall", NULL, 0); zephir_check_call_status(); zephir_update_property_this(getThis(), SL("_row"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC); zephir_update_property_this(getThis(), SL("_rows"), records TSRMLS_CC); } if (renameColumns) { ZEPHIR_OBS_VAR(columnMap); zephir_read_property_this(&columnMap, this_ptr, SL("_columnMap"), PH_NOISY_CC); if (Z_TYPE_P(columnMap) != IS_ARRAY) { RETURN_CCTOR(records); } ZEPHIR_INIT_VAR(renamedRecords); array_init(renamedRecords); if (Z_TYPE_P(records) == IS_ARRAY) { zephir_is_iterable(records, &_2$$7, &_1$$7, 0, 0, "phalcon/mvc/model/resultset/simple.zep", 217); for ( ; zend_hash_get_current_data_ex(_2$$7, (void**) &_3$$7, &_1$$7) == SUCCESS ; zend_hash_move_forward_ex(_2$$7, &_1$$7) ) { ZEPHIR_GET_HVALUE(record, _3$$7); ZEPHIR_INIT_NVAR(renamed); array_init(renamed); zephir_is_iterable(record, &_5$$8, &_4$$8, 0, 0, "phalcon/mvc/model/resultset/simple.zep", 215); for ( ; zend_hash_get_current_data_ex(_5$$8, (void**) &_6$$8, &_4$$8) == SUCCESS ; zend_hash_move_forward_ex(_5$$8, &_4$$8) ) { ZEPHIR_GET_HMKEY(key, _5$$8, _4$$8); ZEPHIR_GET_HVALUE(value, _6$$8); ZEPHIR_OBS_NVAR(renamedKey); if (!(zephir_array_isset_fetch(&renamedKey, columnMap, key, 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(_7$$10); object_init_ex(_7$$10, phalcon_mvc_model_exception_ce); ZEPHIR_INIT_LNVAR(_8$$10); ZEPHIR_CONCAT_SVS(_8$$10, "Column '", key, "' is not part of the column map"); ZEPHIR_CALL_METHOD(NULL, _7$$10, "__construct", &_9, 9, _8$$10); zephir_check_call_status(); zephir_throw_exception_debug(_7$$10, "phalcon/mvc/model/resultset/simple.zep", 199 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } if (Z_TYPE_P(renamedKey) == IS_ARRAY) { ZEPHIR_OBS_NVAR(renamedKey); if (!(zephir_array_isset_long_fetch(&renamedKey, renamedKey, 0, 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(_10$$12); object_init_ex(_10$$12, phalcon_mvc_model_exception_ce); ZEPHIR_INIT_LNVAR(_11$$12); ZEPHIR_CONCAT_SVS(_11$$12, "Column '", key, "' is not part of the column map"); ZEPHIR_CALL_METHOD(NULL, _10$$12, "__construct", &_9, 9, _11$$12); zephir_check_call_status(); zephir_throw_exception_debug(_10$$12, "phalcon/mvc/model/resultset/simple.zep", 205 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } zephir_array_update_zval(&renamed, renamedKey, &value, PH_COPY | PH_SEPARATE); } zephir_array_append(&renamedRecords, renamed, PH_SEPARATE, "phalcon/mvc/model/resultset/simple.zep", 215); } } RETURN_CCTOR(renamedRecords); } RETURN_CCTOR(records); }
/** * Returns current row in the resultset */ PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, current) { zend_class_entry *_13$$15; HashTable *_3, *_6$$11; HashPosition _2, _5$$11; zval *row = NULL, *hydrateMode = NULL, *eager = NULL, *alias = NULL, *activeRow = NULL, *type = NULL, *column = NULL, *columnValue = NULL, *value = NULL, *attribute = NULL, *source = NULL, *attributes = NULL, *columnMap = NULL, *rowModel = NULL, *keepSnapshots = NULL, *sqlAlias = NULL, *modelName = NULL, *_0, *_1, **_4, **_7$$11, *_8$$12 = NULL, *_9$$15 = NULL, *_11$$15, *_12$$15 = NULL, *_10$$16, *_15$$18, *_16$$18 = NULL, _18$$24 = zval_used_for_init, _19$$24 = zval_used_for_init; zephir_fcall_cache_entry *_14 = NULL, *_17 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS, dirtyState = 0; ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(activeRow); zephir_read_property_this(&activeRow, this_ptr, SL("_activeRow"), PH_NOISY_CC); if (Z_TYPE_P(activeRow) != IS_NULL) { RETURN_CCTOR(activeRow); } ZEPHIR_OBS_VAR(row); zephir_read_property_this(&row, this_ptr, SL("_row"), PH_NOISY_CC); _0 = zephir_fetch_nproperty_this(this_ptr, SL("_disableHydration"), PH_NOISY_CC); if (zephir_is_true(_0)) { zephir_update_property_this(getThis(), SL("_activeRow"), row TSRMLS_CC); RETURN_CCTOR(row); } if (Z_TYPE_P(row) != IS_ARRAY) { if (0) { zephir_update_property_this(getThis(), SL("_activeRow"), ZEPHIR_GLOBAL(global_true) TSRMLS_CC); } else { zephir_update_property_this(getThis(), SL("_activeRow"), ZEPHIR_GLOBAL(global_false) TSRMLS_CC); } RETURN_MM_BOOL(0); } ZEPHIR_OBS_VAR(hydrateMode); zephir_read_property_this(&hydrateMode, this_ptr, SL("_hydrateMode"), PH_NOISY_CC); do { if (ZEPHIR_IS_LONG(hydrateMode, 0)) { ZEPHIR_INIT_NVAR(activeRow); object_init_ex(activeRow, phalcon_mvc_model_row_ce); if (zephir_has_constructor(activeRow TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, activeRow, "__construct", NULL, 0); zephir_check_call_status(); } break; } if (ZEPHIR_IS_LONG(hydrateMode, 1)) { ZEPHIR_INIT_NVAR(activeRow); array_init(activeRow); break; } ZEPHIR_INIT_NVAR(activeRow); object_init(activeRow); break; } while(0); dirtyState = 0; _1 = zephir_fetch_nproperty_this(this_ptr, SL("_columnTypes"), PH_NOISY_CC); zephir_is_iterable(_1, &_3, &_2, 0, 0, "phalcon/mvc/model/resultset/complex.zep", 246); for ( ; zend_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS ; zend_hash_move_forward_ex(_3, &_2) ) { ZEPHIR_GET_HMKEY(alias, _3, _2); ZEPHIR_GET_HVALUE(column, _4); if (Z_TYPE_P(column) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "Column type is corrupt", "phalcon/mvc/model/resultset/complex.zep", 133); return; } ZEPHIR_OBS_NVAR(type); zephir_array_fetch_string(&type, column, SL("type"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 136 TSRMLS_CC); if (ZEPHIR_IS_STRING(type, "object")) { ZEPHIR_OBS_NVAR(source); zephir_array_fetch_string(&source, column, SL("column"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 142 TSRMLS_CC); ZEPHIR_OBS_NVAR(attributes); zephir_array_fetch_string(&attributes, column, SL("attributes"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 143 TSRMLS_CC); ZEPHIR_OBS_NVAR(columnMap); zephir_array_fetch_string(&columnMap, column, SL("columnMap"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 144 TSRMLS_CC); ZEPHIR_INIT_NVAR(rowModel); array_init(rowModel); zephir_is_iterable(attributes, &_6$$11, &_5$$11, 0, 0, "phalcon/mvc/model/resultset/complex.zep", 162); for ( ; zend_hash_get_current_data_ex(_6$$11, (void**) &_7$$11, &_5$$11) == SUCCESS ; zend_hash_move_forward_ex(_6$$11, &_5$$11) ) { ZEPHIR_GET_HVALUE(attribute, _7$$11); ZEPHIR_OBS_NVAR(columnValue); ZEPHIR_INIT_LNVAR(_8$$12); ZEPHIR_CONCAT_SVSV(_8$$12, "_", source, "_", attribute); zephir_array_fetch(&columnValue, row, _8$$12, PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 155 TSRMLS_CC); zephir_array_update_zval(&rowModel, attribute, &columnValue, PH_COPY | PH_SEPARATE); } do { if (ZEPHIR_IS_LONG(hydrateMode, 0)) { ZEPHIR_OBS_NVAR(keepSnapshots); if (!(zephir_array_isset_string_fetch(&keepSnapshots, column, SS("keepSnapshots"), 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(keepSnapshots); ZVAL_BOOL(keepSnapshots, 0); } if (ZEPHIR_GLOBAL(orm).late_state_binding) { ZEPHIR_OBS_NVAR(_9$$15); zephir_array_fetch_string(&_9$$15, column, SL("instance"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 173 TSRMLS_CC); if (zephir_instance_of_ev(_9$$15, phalcon_mvc_model_ce TSRMLS_CC)) { zephir_array_fetch_string(&_10$$16, column, SL("instance"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 174 TSRMLS_CC); ZEPHIR_INIT_NVAR(modelName); zephir_get_class(modelName, _10$$16, 0 TSRMLS_CC); } else { ZEPHIR_INIT_NVAR(modelName); ZVAL_STRING(modelName, "Phalcon\\Mvc\\Model", 1); } zephir_array_fetch_string(&_11$$15, column, SL("instance"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 180 TSRMLS_CC); ZEPHIR_INIT_NVAR(_12$$15); ZVAL_LONG(_12$$15, dirtyState); _13$$15 = zephir_fetch_class(modelName TSRMLS_CC); ZEPHIR_CALL_CE_STATIC(&value, _13$$15, "cloneresultmap", NULL, 0, _11$$15, rowModel, columnMap, _12$$15, keepSnapshots); zephir_check_call_status(); } else { zephir_array_fetch_string(&_15$$18, column, SL("instance"), PH_NOISY | PH_READONLY, "phalcon/mvc/model/resultset/complex.zep", 188 TSRMLS_CC); ZEPHIR_INIT_NVAR(_16$$18); ZVAL_LONG(_16$$18, dirtyState); ZEPHIR_CALL_CE_STATIC(&value, phalcon_mvc_model_ce, "cloneresultmap", &_14, 0, _15$$18, rowModel, columnMap, _16$$18, keepSnapshots); zephir_check_call_status(); } break; } ZEPHIR_CALL_CE_STATIC(&value, phalcon_mvc_model_ce, "cloneresultmaphydrate", &_17, 0, rowModel, columnMap, hydrateMode); zephir_check_call_status(); break; } while(0); ZEPHIR_OBS_NVAR(attribute); zephir_array_fetch_string(&attribute, column, SL("balias"), PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 202 TSRMLS_CC); } else { ZEPHIR_OBS_NVAR(sqlAlias); if (zephir_array_isset_string_fetch(&sqlAlias, column, SS("sqlAlias"), 0 TSRMLS_CC)) { ZEPHIR_OBS_NVAR(value); zephir_array_fetch(&value, row, sqlAlias, PH_NOISY, "phalcon/mvc/model/resultset/complex.zep", 210 TSRMLS_CC); } else { ZEPHIR_OBS_NVAR(value); zephir_array_isset_fetch(&value, row, alias, 0 TSRMLS_CC); } if (zephir_array_isset_string(column, SS("balias"))) { ZEPHIR_CPY_WRT(attribute, alias); } else { ZEPHIR_SINIT_NVAR(_18$$24); ZVAL_STRING(&_18$$24, "_", 0); ZEPHIR_SINIT_NVAR(_19$$24); ZVAL_STRING(&_19$$24, "", 0); ZEPHIR_INIT_NVAR(attribute); zephir_fast_str_replace(&attribute, &_18$$24, &_19$$24, alias TSRMLS_CC); } } if (!(zephir_array_isset_string_fetch(&eager, column, SS("eager"), 1 TSRMLS_CC))) { do { if (ZEPHIR_IS_LONG(hydrateMode, 1)) { zephir_array_update_zval(&activeRow, attribute, &value, PH_COPY | PH_SEPARATE); break; } zephir_update_property_zval_zval(activeRow, attribute, value TSRMLS_CC); break; } while(0); } } zephir_update_property_this(getThis(), SL("_activeRow"), activeRow TSRMLS_CC); RETURN_CCTOR(activeRow); }
PHP_METHOD(Xs_FieldMeta, toConfig) { zend_bool _6, _9, _10, _13, _14, _16; zval *s; zval index, *_0, *_1, *_2, *_3, *_4, *_5, *_7, *_8 = NULL, *_11, *_12, *_15; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(s); ZVAL_STRING(s, "", 1); _0 = zephir_fetch_nproperty_this(this_ptr, SL("name"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_1); ZEPHIR_CONCAT_SVS(_1, "[", _0, "]\n"); zephir_concat_self(&s, _1 TSRMLS_CC); _2 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); do { if (ZEPHIR_IS_LONG(_2, 1)) { zephir_concat_self_str(&s, "type = numeric\n", sizeof("type = numeric\n")-1 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(_2, 10)) { zephir_concat_self_str(&s, "type = id\n", sizeof("type = id\n")-1 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(_2, 11)) { zephir_concat_self_str(&s, "type = title\n", sizeof("type = title\n")-1 TSRMLS_CC); break; } if (ZEPHIR_IS_LONG(_2, 12)) { zephir_concat_self_str(&s, "type = body\n", sizeof("type = body\n")-1 TSRMLS_CC); break; } } while(0); _3 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); if (!ZEPHIR_IS_LONG_IDENTICAL(_3, 12)) { _4 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(index); ZVAL_LONG(&index, ((int) (zephir_get_numberval(_4)) & 0x03)); if (zephir_is_true(&index)) { do { if (ZEPHIR_IS_LONG(&index, 0x03)) { _5 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); if (!ZEPHIR_IS_LONG_IDENTICAL(_5, 11)) { zephir_concat_self_str(&s, "index = both\n", sizeof("index = both\n")-1 TSRMLS_CC); } break; } if (ZEPHIR_IS_LONG(&index, 0x02)) { zephir_concat_self_str(&s, "index = mixed\n", sizeof("index = mixed\n")-1 TSRMLS_CC); break; } _5 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); if (!ZEPHIR_IS_LONG_IDENTICAL(_5, 10)) { zephir_concat_self_str(&s, "index = self\n", sizeof("index = self\n")-1 TSRMLS_CC); } break; } while(0); } } _4 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _6 = !ZEPHIR_IS_LONG_IDENTICAL(_4, 10); if (_6) { _5 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); _6 = !ZEPHIR_IS_LONG_IDENTICAL(_5, 0); } if (_6) { _7 = zephir_fetch_nproperty_this(this_ptr, SL("tokenizer"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_8); ZEPHIR_CONCAT_SVS(_8, "tokenizer = ", _7, "\n"); zephir_concat_self(&s, _8 TSRMLS_CC); } _4 = zephir_fetch_nproperty_this(this_ptr, SL("cutlen"), PH_NOISY_CC); _9 = ZEPHIR_GT_LONG(_4, 0); if (_9) { _7 = zephir_fetch_nproperty_this(this_ptr, SL("cutlen"), PH_NOISY_CC); _10 = ZEPHIR_IS_LONG_IDENTICAL(_7, 300); if (_10) { _11 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _10 = ZEPHIR_IS_LONG_IDENTICAL(_11, 12); } _9 = !(_10); } if (_9) { _12 = zephir_fetch_nproperty_this(this_ptr, SL("cutlen"), PH_NOISY_CC); ZEPHIR_INIT_LNVAR(_8); ZEPHIR_CONCAT_SVS(_8, "cutlen = ", _12, "\n"); zephir_concat_self(&s, _8 TSRMLS_CC); } _4 = zephir_fetch_nproperty_this(this_ptr, SL("weight"), PH_NOISY_CC); _13 = !ZEPHIR_IS_LONG_IDENTICAL(_4, 1); if (_13) { _7 = zephir_fetch_nproperty_this(this_ptr, SL("weight"), PH_NOISY_CC); _14 = ZEPHIR_IS_LONG_IDENTICAL(_7, 5); if (_14) { _12 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _14 = ZEPHIR_IS_LONG_IDENTICAL(_12, 11); } _13 = !(_14); } if (_13) { _15 = zephir_fetch_nproperty_this(this_ptr, SL("weight"), PH_NOISY_CC); ZEPHIR_INIT_LNVAR(_8); ZEPHIR_CONCAT_SVS(_8, "weight = ", _15, "\n"); zephir_concat_self(&s, _8 TSRMLS_CC); } _4 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); if (((int) (zephir_get_numberval(_4)) & 0x10)) { _7 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _16 = !ZEPHIR_IS_LONG_IDENTICAL(_7, 12); if (_16) { _12 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _16 = !ZEPHIR_IS_LONG_IDENTICAL(_12, 11); } if (_16) { zephir_concat_self_str(&s, "phrase = yes\n", sizeof("phrase = yes\n")-1 TSRMLS_CC); } } else { _4 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _16 = ZEPHIR_IS_LONG_IDENTICAL(_4, 12); if (!(_16)) { _7 = zephir_fetch_nproperty_this(this_ptr, SL("type"), PH_NOISY_CC); _16 = ZEPHIR_IS_LONG_IDENTICAL(_7, 11); } if (_16) { zephir_concat_self_str(&s, "phrase = no\n", sizeof("phrase = no\n")-1 TSRMLS_CC); } } _4 = zephir_fetch_nproperty_this(this_ptr, SL("flag"), PH_NOISY_CC); if (((int) (zephir_get_numberval(_4)) & 0x80)) { zephir_concat_self_str(&s, "non_bool = yes\n", sizeof("non_bool = yes\n")-1 TSRMLS_CC); } RETURN_CTOR(s); }
/** * Generates random text in accordance with the template * * <code> * echo Phalcon\Text::dynamic("{Hi|Hello}, my name is a {Bob|Mark|Jon}!"); // Hi my name is a Bob * echo Phalcon\Text::dynamic("{Hi|Hello}, my name is a {Bob|Mark|Jon}!"); // Hi my name is a Jon * echo Phalcon\Text::dynamic("{Hi|Hello}, my name is a {Bob|Mark|Jon}!"); // Hello my name is a Bob * echo Phalcon\Text::dynamic("[Hi/Hello], my name is a [Zyxep/Mark]!", '[', ']', '/'); // Hello my name is a Zyxep * </code> */ PHP_METHOD(Phalcon_Text, dynamic) { zend_bool _11$$6; HashTable *_9$$5; HashPosition _8$$5; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_1 = NULL, *_5 = NULL, *_14 = NULL, *_19 = NULL; zval *text_param = NULL, *leftDelimiter_param = NULL, *rightDelimiter_param = NULL, *separator_param = NULL, *ldS = NULL, *rdS = NULL, *pattern = NULL, *matches = NULL, *match = NULL, *words = NULL, *word = NULL, *sub = NULL, *_0 = NULL, *_2 = NULL, *_6, *_7 = NULL, *_3$$3, **_10$$5, *_12$$6, *_13$$6 = NULL, *_15$$6, *_16$$6 = NULL, *_17$$6 = NULL, *_18$$6 = NULL; zval *text = NULL, *leftDelimiter = NULL, *rightDelimiter = NULL, *separator = NULL, *_4$$3; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 3, &text_param, &leftDelimiter_param, &rightDelimiter_param, &separator_param); if (unlikely(Z_TYPE_P(text_param) != IS_STRING && Z_TYPE_P(text_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'text' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(text_param) == IS_STRING)) { zephir_get_strval(text, text_param); } else { ZEPHIR_INIT_VAR(text); ZVAL_EMPTY_STRING(text); } if (!leftDelimiter_param) { ZEPHIR_INIT_VAR(leftDelimiter); ZVAL_STRING(leftDelimiter, "{", 1); } else { if (unlikely(Z_TYPE_P(leftDelimiter_param) != IS_STRING && Z_TYPE_P(leftDelimiter_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'leftDelimiter' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(leftDelimiter_param) == IS_STRING)) { zephir_get_strval(leftDelimiter, leftDelimiter_param); } else { ZEPHIR_INIT_VAR(leftDelimiter); ZVAL_EMPTY_STRING(leftDelimiter); } } if (!rightDelimiter_param) { ZEPHIR_INIT_VAR(rightDelimiter); ZVAL_STRING(rightDelimiter, "}", 1); } else { if (unlikely(Z_TYPE_P(rightDelimiter_param) != IS_STRING && Z_TYPE_P(rightDelimiter_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'rightDelimiter' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(rightDelimiter_param) == IS_STRING)) { zephir_get_strval(rightDelimiter, rightDelimiter_param); } else { ZEPHIR_INIT_VAR(rightDelimiter); ZVAL_EMPTY_STRING(rightDelimiter); } } if (!separator_param) { ZEPHIR_INIT_VAR(separator); ZVAL_STRING(separator, "|", 1); } else { if (unlikely(Z_TYPE_P(separator_param) != IS_STRING && Z_TYPE_P(separator_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'separator' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(separator_param) == IS_STRING)) { zephir_get_strval(separator, separator_param); } else { ZEPHIR_INIT_VAR(separator); ZVAL_EMPTY_STRING(separator); } } ZEPHIR_CALL_FUNCTION(&_0, "substr_count", &_1, 445, text, leftDelimiter); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_2, "substr_count", &_1, 445, text, rightDelimiter); zephir_check_call_status(); if (!ZEPHIR_IS_IDENTICAL(_0, _2)) { ZEPHIR_INIT_VAR(_3$$3); object_init_ex(_3$$3, spl_ce_RuntimeException); ZEPHIR_INIT_VAR(_4$$3); ZEPHIR_CONCAT_SVS(_4$$3, "Syntax error in string \"", text, "\""); ZEPHIR_CALL_METHOD(NULL, _3$$3, "__construct", NULL, 446, _4$$3); zephir_check_call_status(); zephir_throw_exception_debug(_3$$3, "phalcon/text.zep", 265 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_CALL_FUNCTION(&ldS, "preg_quote", &_5, 447, leftDelimiter); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&rdS, "preg_quote", &_5, 447, rightDelimiter); zephir_check_call_status(); ZEPHIR_INIT_VAR(pattern); ZEPHIR_CONCAT_SVSVVSVS(pattern, "/", ldS, "([^", ldS, rdS, "]+)", rdS, "/"); ZEPHIR_INIT_VAR(matches); array_init(matches); ZEPHIR_INIT_VAR(_6); ZVAL_LONG(_6, 2); ZEPHIR_MAKE_REF(matches); ZEPHIR_CALL_FUNCTION(&_7, "preg_match_all", NULL, 38, pattern, text, matches, _6); ZEPHIR_UNREF(matches); zephir_check_call_status(); if (!(zephir_is_true(_7))) { RETURN_CTOR(text); } if (Z_TYPE_P(matches) == IS_ARRAY) { zephir_is_iterable(matches, &_9$$5, &_8$$5, 0, 0, "phalcon/text.zep", 288); for ( ; zephir_hash_get_current_data_ex(_9$$5, (void**) &_10$$5, &_8$$5) == SUCCESS ; zephir_hash_move_forward_ex(_9$$5, &_8$$5) ) { ZEPHIR_GET_HVALUE(match, _10$$5); _11$$6 = !(zephir_array_isset_long(match, 0)); if (!(_11$$6)) { _11$$6 = !(zephir_array_isset_long(match, 1)); } if (_11$$6) { continue; } zephir_array_fetch_long(&_12$$6, match, 1, PH_NOISY | PH_READONLY, "phalcon/text.zep", 283 TSRMLS_CC); ZEPHIR_INIT_NVAR(words); zephir_fast_explode(words, separator, _12$$6, LONG_MAX TSRMLS_CC); ZEPHIR_OBS_NVAR(word); ZEPHIR_CALL_FUNCTION(&_13$$6, "array_rand", &_14, 448, words); zephir_check_call_status(); zephir_array_fetch(&word, words, _13$$6, PH_NOISY, "phalcon/text.zep", 284 TSRMLS_CC); zephir_array_fetch_long(&_15$$6, match, 0, PH_NOISY | PH_READONLY, "phalcon/text.zep", 285 TSRMLS_CC); ZEPHIR_CALL_FUNCTION(&sub, "preg_quote", &_5, 447, _15$$6, separator); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_16$$6); ZEPHIR_CONCAT_SVS(_16$$6, "/", sub, "/"); ZEPHIR_INIT_NVAR(_17$$6); ZVAL_LONG(_17$$6, 1); ZEPHIR_CALL_FUNCTION(&_18$$6, "preg_replace", &_19, 39, _16$$6, word, text, _17$$6); zephir_check_call_status(); zephir_get_strval(text, _18$$6); } } RETURN_CTOR(text); }