PHP_METHOD(Transbybd_TransApi, __convert) { HashTable *_1$$3, *_4$$5; HashPosition _0$$3, _3$$5; zval *data; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_7 = NULL; zval *args, *key = NULL, *val = NULL, *k = NULL, *v = NULL, **_2$$3, *_11$$3, _12$$3, **_5$$5, *_6$$6 = NULL, *_8$$6 = NULL, *_9$$7 = NULL, *_10$$7 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &args); ZEPHIR_INIT_VAR(data); ZVAL_EMPTY_STRING(data); if (Z_TYPE_P(args) == IS_ARRAY) { zephir_is_iterable(args, &_1$$3, &_0$$3, 0, 0, "transbybd/transApi.zep", 106); for ( ; zephir_hash_get_current_data_ex(_1$$3, (void**) &_2$$3, &_0$$3) == SUCCESS ; zephir_hash_move_forward_ex(_1$$3, &_0$$3) ) { ZEPHIR_GET_HMKEY(key, _1$$3, _0$$3); ZEPHIR_GET_HVALUE(val, _2$$3); if (Z_TYPE_P(val) == IS_ARRAY) { zephir_is_iterable(val, &_4$$5, &_3$$5, 0, 0, "transbybd/transApi.zep", 102); for ( ; zephir_hash_get_current_data_ex(_4$$5, (void**) &_5$$5, &_3$$5) == SUCCESS ; zephir_hash_move_forward_ex(_4$$5, &_3$$5) ) { ZEPHIR_GET_HMKEY(k, _4$$5, _3$$5); ZEPHIR_GET_HVALUE(v, _5$$5); ZEPHIR_CALL_FUNCTION(&_6$$6, "rawurlencode", &_7, 11, v); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_8$$6); ZEPHIR_CONCAT_VSVSVS(_8$$6, key, "[", k, "]=", _6$$6, "&"); zephir_concat_self(&data, _8$$6 TSRMLS_CC); } } else { ZEPHIR_CALL_FUNCTION(&_9$$7, "rawurlencode", &_7, 11, val); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_10$$7); ZEPHIR_CONCAT_VSVS(_10$$7, key, "=", _9$$7, "&"); zephir_concat_self(&data, _10$$7 TSRMLS_CC); } } ZEPHIR_INIT_VAR(_11$$3); ZEPHIR_SINIT_VAR(_12$$3); ZVAL_STRING(&_12$$3, "&", 0); zephir_fast_trim(_11$$3, data, &_12$$3, ZEPHIR_TRIM_BOTH TSRMLS_CC); RETURN_CCTOR(_11$$3); } RETVAL_ZVAL(args, 1, 0); RETURN_MM(); }
/** * Sets the path for a domain * * @return string */ PHP_METHOD(Phalcon_Translate_Adapter_Gettext, setDirectory) { int ZEPHIR_LAST_CALL_STATUS; HashTable *_1; HashPosition _0; zval *directory, *key = NULL, *value = NULL, **_2, *_3 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &directory); zephir_update_property_this(this_ptr, SL("_directory"), directory TSRMLS_CC); if (Z_TYPE_P(directory) == IS_ARRAY) { if (zephir_fast_count_int(directory TSRMLS_CC)) { zephir_is_iterable(directory, &_1, &_0, 0, 0, "phalcon/translate/adapter/gettext.zep", 188); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(key, _1, _0); ZEPHIR_GET_HVALUE(value, _2); ZEPHIR_CALL_FUNCTION(NULL, "bindtextdomain", NULL, key, value); zephir_check_call_status(); } } } else { ZEPHIR_CALL_METHOD(&_3, this_ptr, "getdefaultdomain", NULL); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(NULL, "bindtextdomain", NULL, _3, directory); zephir_check_call_status(); } ZEPHIR_MM_RESTORE(); }
/** * Resolves an array of parameters */ PHP_METHOD(Phalcon_Di_Service_Builder, _buildParameters) { zephir_fcall_cache_entry *_4 = NULL; int ZEPHIR_LAST_CALL_STATUS; HashTable *_1; HashPosition _0; zval *arguments = NULL; zval *dependencyInjector, *arguments_param = NULL, *position = NULL, *argument = NULL, *buildArguments, **_2, *_3 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &dependencyInjector, &arguments_param); arguments = arguments_param; ZEPHIR_INIT_VAR(buildArguments); array_init(buildArguments); zephir_is_iterable(arguments, &_1, &_0, 0, 0, "phalcon/di/service/builder.zep", 119); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(position, _1, _0); ZEPHIR_GET_HVALUE(argument, _2); ZEPHIR_CALL_METHOD(&_3, this_ptr, "_buildparameter", &_4, 177, dependencyInjector, position, argument); zephir_check_call_status(); zephir_array_append(&buildArguments, _3, PH_SEPARATE, "phalcon/di/service/builder.zep", 117); } RETURN_CCTOR(buildArguments); }
/** * Adds an option to the current options * * @param array option * @return this */ PHP_METHOD(Phalcon_Forms_Element_Select, addOption) { HashTable *_1; HashPosition _0; zval *option, *key = NULL, *value = NULL, **_2; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &option); if (Z_TYPE_P(option) == IS_ARRAY) { zephir_is_iterable(option, &_1, &_0, 0, 0, "phalcon/forms/element/select.zep", 85); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(key, _1, _0); ZEPHIR_GET_HVALUE(value, _2); zephir_update_property_array(this_ptr, SL("_optionsValues"), key, value TSRMLS_CC); } } else { zephir_update_property_array_append(this_ptr, SL("_optionsValues"), option TSRMLS_CC); } RETURN_THIS(); }
PHP_METHOD(PhalconPlus_Base_SimpleRequest, softClone) { HashTable *_1; HashPosition _0; zend_long ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_4 = NULL, *_5 = NULL; zval *data_param = NULL, *key = NULL, *val = NULL, **_2, *_3$$3 = NULL; zval *data = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &data_param); zephir_get_arrval(data, data_param); zephir_is_iterable(data, &_1, &_0, 0, 0, "phalconplus/Base/SimpleRequest.zep", 20); for ( ; zend_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zend_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(key, _1, _0); ZEPHIR_GET_HVALUE(val, _2); ZEPHIR_CALL_FUNCTION(&_3$$3, "property_exists", &_4, 1, this_ptr, key); zephir_check_call_status(); if (zephir_is_true(_3$$3)) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "__set", &_5, 0, key, val); zephir_check_call_status(); } else { zephir_update_property_array(this_ptr, SL("params"), key, val TSRMLS_CC); } } ZEPHIR_MM_RESTORE(); }
/** * Adds multiple attributes to the element. * * @param array * @return \Xpl\HtmlElement */ PHP_METHOD(Xpl_HtmlElement, addAttributes) { HashTable *_1; HashPosition _0; zephir_fcall_cache_entry *_3 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *attributes_param = NULL, *name = NULL, *value = NULL, **_2; zval *attributes = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &attributes_param); zephir_get_arrval(attributes, attributes_param); zephir_is_iterable(attributes, &_1, &_0, 0, 0, "xpl/htmlelement.zep", 135); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(name, _1, _0); ZEPHIR_GET_HVALUE(value, _2); ZEPHIR_CALL_METHOD(NULL, this_ptr, "addattribute", &_3, 0, name, value); zephir_check_call_status(); } RETURN_THIS(); }
/** * Phalcon\Config constructor */ PHP_METHOD(Phalcon_Config, __construct) { zephir_fcall_cache_entry *_3 = NULL; int ZEPHIR_LAST_CALL_STATUS; HashTable *_1; HashPosition _0; zval *arrayConfig_param = NULL, *key = NULL, *value = NULL, **_2; zval *arrayConfig = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &arrayConfig_param); if (!arrayConfig_param) { ZEPHIR_INIT_VAR(arrayConfig); array_init(arrayConfig); } else { arrayConfig = arrayConfig_param; } zephir_is_iterable(arrayConfig, &_1, &_0, 0, 0, "phalcon/config.zep", 62); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(key, _1, _0); ZEPHIR_GET_HVALUE(value, _2); ZEPHIR_CALL_METHOD(NULL, this_ptr, "offsetset", &_3, 0, key, value); zephir_check_call_status(); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Yb_Db_Entity, set) { HashTable *_1; HashPosition _0; zval *updates_param = NULL, *k = NULL, *v = NULL, **_2, *_3$$3; zval *updates = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &updates_param); zephir_get_arrval(updates, updates_param); zephir_is_iterable(updates, &_1, &_0, 0, 0, "yb/db/entity.zep", 70); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(k, _1, _0); ZEPHIR_GET_HVALUE(v, _2); zephir_update_property_array(this_ptr, SL("row"), k, v TSRMLS_CC); _3$$3 = zephir_fetch_nproperty_this(this_ptr, SL("isNew"), PH_NOISY_CC); if (!(zephir_is_true(_3$$3))) { zephir_update_property_array(this_ptr, SL("updates"), k, v TSRMLS_CC); } } RETURN_THIS(); }
/** * Returns an HTML string of debugging information about any number of * variables, each wrapped in a "pre" tag. * * <code> * $foo = "string"; * $bar = ["key" => "value"]; * $baz = new stdClass(); * echo (new \Phalcon\Debug\Dump())->variables($foo, $bar, $baz); *</code> * * @param mixed variable * @param ... */ PHP_METHOD(Phalcon_Debug_Dump, variables) { HashTable *_2; HashPosition _1; zval *key = NULL, *value = NULL, *output = NULL, *_0 = NULL, **_3, *_4$$3 = NULL, *_5$$3 = NULL; zephir_fcall_cache_entry *_6 = NULL; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(output); ZVAL_STRING(output, "", 1); ZEPHIR_CALL_FUNCTION(&_0, "func_get_args", NULL, 174); zephir_check_call_status(); zephir_is_iterable(_0, &_2, &_1, 0, 0, "phalcon/debug/dump.zep", 297); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HMKEY(key, _2, _1); ZEPHIR_GET_HVALUE(value, _3); ZEPHIR_INIT_LNVAR(_5$$3); ZEPHIR_CONCAT_SV(_5$$3, "var ", key); ZEPHIR_CALL_METHOD(&_4$$3, this_ptr, "one", &_6, 0, value, _5$$3); zephir_check_call_status(); zephir_concat_self(&output, _4$$3 TSRMLS_CC); } RETURN_CCTOR(output); }
/** * Converts recursively the object to an array * *<code> * print_r($config->toArray()); *</code> */ PHP_METHOD(Phalcon_Config, toArray) { HashTable *_2; HashPosition _1; int ZEPHIR_LAST_CALL_STATUS; zval *key = NULL, *value = NULL, *arrayConfig, *_0 = NULL, **_3, *_4 = NULL; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(arrayConfig); array_init(arrayConfig); ZEPHIR_CALL_FUNCTION(&_0, "get_object_vars", NULL, 23, this_ptr); zephir_check_call_status(); zephir_is_iterable(_0, &_2, &_1, 0, 0, "phalcon/config.zep", 180); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HMKEY(key, _2, _1); ZEPHIR_GET_HVALUE(value, _3); if (Z_TYPE_P(value) == IS_OBJECT) { if ((zephir_method_exists_ex(value, SS("toarray") TSRMLS_CC) == SUCCESS)) { ZEPHIR_CALL_METHOD(&_4, value, "toarray", NULL, 0); zephir_check_call_status(); zephir_array_update_zval(&arrayConfig, key, &_4, PH_COPY | PH_SEPARATE); } else { zephir_array_update_zval(&arrayConfig, key, &value, PH_COPY | PH_SEPARATE); } } else { zephir_array_update_zval(&arrayConfig, key, &value, PH_COPY | PH_SEPARATE); } } RETURN_CCTOR(arrayConfig); }
/** * Filter records by levels */ PHP_METHOD(Owl_Log_AbstractWriter, filterRecords) { HashTable *_2; HashPosition _1; zval *records_param = NULL, *index = NULL, *record = NULL, *_0, **_3, *_4 = NULL, *_5; zval *records = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &records_param); zephir_get_arrval(records, records_param); ZEPHIR_OBS_VAR(_0); zephir_read_property_this(&_0, this_ptr, SL("levels"), PH_NOISY_CC); if (ZEPHIR_IS_EMPTY(_0)) { RETURN_CTOR(records); } zephir_is_iterable(records, &_2, &_1, 1, 0, "owl/Log/AbstractWriter.zep", 125); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HMKEY(index, _2, _1); ZEPHIR_GET_HVALUE(record, _3); ZEPHIR_OBS_NVAR(_4); zephir_read_property(&_4, record, SL("level"), PH_NOISY_CC); _5 = zephir_fetch_nproperty_this(this_ptr, SL("levels"), PH_NOISY_CC); if (!(zephir_fast_in_array(_4, _5 TSRMLS_CC))) { zephir_array_unset(&records, index, PH_SEPARATE); } } RETURN_CTOR(records); }
/** * Renders a view using the template engine */ PHP_METHOD(Phalcon_Mvc_View_Engine_Php, render) { HashTable *_1$$4; HashPosition _0$$4; int ZEPHIR_LAST_CALL_STATUS; zend_bool mustClean; zval *path_param = NULL, *params, *mustClean_param = NULL, *key = NULL, *value = NULL, **_2$$4, *_3$$5 = NULL, *_4$$6, *_5$$6 = NULL; zval *path = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 1, &path_param, ¶ms, &mustClean_param); if (unlikely(Z_TYPE_P(path_param) != IS_STRING && Z_TYPE_P(path_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'path' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(path_param) == IS_STRING)) { zephir_get_strval(path, path_param); } else { ZEPHIR_INIT_VAR(path); ZVAL_EMPTY_STRING(path); } if (!mustClean_param) { mustClean = 0; } else { mustClean = zephir_get_boolval(mustClean_param); } if (mustClean == 1) { ZEPHIR_CALL_FUNCTION(NULL, "ob_clean", NULL, 388); zephir_check_call_status(); } if (Z_TYPE_P(params) == IS_ARRAY) { zephir_is_iterable(params, &_1$$4, &_0$$4, 0, 0, "phalcon/mvc/view/engine/php.zep", 50); for ( ; zephir_hash_get_current_data_ex(_1$$4, (void**) &_2$$4, &_0$$4) == SUCCESS ; zephir_hash_move_forward_ex(_1$$4, &_0$$4) ) { ZEPHIR_GET_HMKEY(key, _1$$4, _0$$4); ZEPHIR_GET_HVALUE(value, _2$$4); ZEPHIR_CPY_WRT(_3$$5, value); if (zephir_set_symbol(key, _3$$5 TSRMLS_CC) == FAILURE) { return; } } } if (zephir_require_zval(path TSRMLS_CC) == FAILURE) { RETURN_MM_NULL(); } if (mustClean == 1) { _4$$6 = zephir_fetch_nproperty_this(this_ptr, SL("_view"), PH_NOISY_CC); ZEPHIR_CALL_FUNCTION(&_5$$6, "ob_get_contents", NULL, 130); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, _4$$6, "setcontent", NULL, 0, _5$$6); zephir_check_call_status(); } ZEPHIR_MM_RESTORE(); }
/** * Flush Memcache data and resets internal meta-data in order to regenerate it */ PHP_METHOD(Phalcon_Mvc_Model_MetaData_Libmemcached, reset) { HashTable *_2$$3; HashPosition _1$$3; zval *meta = NULL, *key = NULL, *realKey = NULL, *_0$$3 = NULL, **_3$$3, *_4$$4; zephir_fcall_cache_entry *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(meta); zephir_read_property_this(&meta, this_ptr, SL("_metaData"), PH_NOISY_CC); if (Z_TYPE_P(meta) == IS_ARRAY) { ZEPHIR_INIT_VAR(_0$$3); zephir_is_iterable(meta, &_2$$3, &_1$$3, 0, 0, "phalcon/mvc/model/metadata/libmemcached.zep", 132); for ( ; zephir_hash_get_current_data_ex(_2$$3, (void**) &_3$$3, &_1$$3) == SUCCESS ; zephir_hash_move_forward_ex(_2$$3, &_1$$3) ) { ZEPHIR_GET_HMKEY(key, _2$$3, _1$$3); ZEPHIR_GET_HVALUE(_0$$3, _3$$3); ZEPHIR_INIT_NVAR(realKey); ZEPHIR_CONCAT_SV(realKey, "meta-", key); _4$$4 = zephir_fetch_nproperty_this(this_ptr, SL("_memcache"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, _4$$4, "delete", NULL, 0, realKey); zephir_check_call_status(); } } ZEPHIR_CALL_PARENT(NULL, phalcon_mvc_model_metadata_libmemcached_ce, this_ptr, "reset", &_5, 336); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Cake_Core_Configure, write) { int ZEPHIR_LAST_CALL_STATUS, debug; zephir_fcall_cache_entry *_4 = NULL; HashTable *_1; HashPosition _0; zval *config = NULL, *value = NULL, *name = NULL, **_2, *_3 = NULL, *_5, *_6, *_7, _8, _9; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &config, &value); ZEPHIR_SEPARATE_PARAM(config); if (!value) { ZEPHIR_CPY_WRT(value, ZEPHIR_GLOBAL(global_null)); } else { ZEPHIR_SEPARATE_PARAM(value); } if (!(Z_TYPE_P(config) == IS_ARRAY)) { ZEPHIR_INIT_NVAR(config); zephir_create_array(config, 1, 0 TSRMLS_CC); zephir_array_update_zval(&config, config, &value, PH_COPY); } zephir_is_iterable(config, &_1, &_0, 0, 0, "cake/Core/Configure.zep", 28); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(name, _1, _0); ZEPHIR_GET_HVALUE(value, _2); _5 = zephir_fetch_static_property_ce(cake_core_configure_ce, SL("_values") TSRMLS_CC); ZEPHIR_CALL_CE_STATIC(&_3, cake_utility_hash_ce, "insert", &_4, 0, _5, name, value); zephir_check_call_status(); zephir_update_static_property_ce(cake_core_configure_ce, SL("_values"), &_3 TSRMLS_CC); } if (zephir_array_isset_string(config, SS("debug"))) { _5 = zephir_fetch_static_property_ce(cake_core_configure_ce, SL("_hasIniSet") TSRMLS_CC); if (Z_TYPE_P(_5) == IS_NULL) { zephir_update_static_property_ce(cake_core_configure_ce, SL("_hasIniSet"), ((zephir_function_exists_ex(SS("ini_set") TSRMLS_CC) == SUCCESS)) ? &(ZEPHIR_GLOBAL(global_true)) : &(ZEPHIR_GLOBAL(global_false)) TSRMLS_CC); } _6 = zephir_fetch_static_property_ce(cake_core_configure_ce, SL("_hasIniSet") TSRMLS_CC); if (zephir_is_true(_6)) { zephir_array_fetch_string(&_7, config, SL("debug"), PH_NOISY | PH_READONLY, "cake/Core/Configure.zep", 36 TSRMLS_CC); if (zephir_is_true(_7)) { debug = 1; } else { debug = 0; } ZEPHIR_SINIT_VAR(_8); ZVAL_STRING(&_8, "display_errors", 0); ZEPHIR_SINIT_VAR(_9); ZVAL_LONG(&_9, debug); ZEPHIR_CALL_FUNCTION(NULL, "ini_set", NULL, 4, &_8, &_9); zephir_check_call_status(); } } RETURN_MM_BOOL(1); }
/** * Import data into the object * * @param mixed */ PHP_METHOD(Xpl_Collection_ArrayObject, addAll) { HashTable *_3; HashPosition _2; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_1 = NULL; zval *data, *key = NULL, *value = NULL, *_0 = NULL, **_4; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &data); ZEPHIR_CALL_CE_STATIC(&_0, xpl_type_ce, "toarray", &_1, 66, data); zephir_check_call_status(); zephir_is_iterable(_0, &_3, &_2, 0, 0, "xpl/collection/arrayobject.zep", 41); for ( ; zephir_hash_get_current_data_ex(_3, (void**) &_4, &_2) == SUCCESS ; zephir_hash_move_forward_ex(_3, &_2) ) { ZEPHIR_GET_HMKEY(key, _3, _2); ZEPHIR_GET_HVALUE(value, _4); zephir_update_property_zval_zval(this_ptr, key, value TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Yb_Std, uniqueValues) { HashTable *_1; HashPosition _0; zephir_fcall_cache_entry *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *uniqueKey = NULL; zval *data_param = NULL, *uniqueKey_param = NULL, *k = NULL, *v = NULL, *arr = NULL, *uniqueValue = NULL, **_2, *_3$$4 = NULL, *_4$$4 = NULL, *_6$$5 = NULL, *_7$$5 = NULL; zval *data = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &data_param, &uniqueKey_param); zephir_get_arrval(data, data_param); zephir_get_strval(uniqueKey, uniqueKey_param); ZEPHIR_INIT_VAR(arr); array_init(arr); zephir_is_iterable(data, &_1, &_0, 0, 0, "yb/std.zep", 377); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(k, _1, _0); ZEPHIR_GET_HVALUE(v, _2); if (unlikely(Z_TYPE_P(v) != IS_ARRAY)) { ZEPHIR_INIT_NVAR(_3$$4); object_init_ex(_3$$4, yb_exception_ce); ZEPHIR_INIT_LNVAR(_4$$4); ZEPHIR_CONCAT_SV(_4$$4, "Invalid item type, array required at: ", k); ZEPHIR_CALL_METHOD(NULL, _3$$4, "__construct", &_5, 2, _4$$4); zephir_check_call_status(); zephir_throw_exception_debug(_3$$4, "yb/std.zep", 368 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_OBS_NVAR(uniqueValue); if (unlikely(!(zephir_array_isset_fetch(&uniqueValue, v, uniqueKey, 0 TSRMLS_CC)))) { ZEPHIR_INIT_NVAR(_6$$5); object_init_ex(_6$$5, yb_exception_ce); ZEPHIR_INIT_LNVAR(_7$$5); ZEPHIR_CONCAT_SV(_7$$5, "Cannot find value of unique at: ", k); ZEPHIR_CALL_METHOD(NULL, _6$$5, "__construct", &_5, 2, _7$$5); zephir_check_call_status(); zephir_throw_exception_debug(_6$$5, "yb/std.zep", 371 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } zephir_array_update_zval(&arr, uniqueValue, &ZEPHIR_GLOBAL(global_null), PH_COPY | PH_SEPARATE); } zephir_array_keys(return_value, arr TSRMLS_CC); RETURN_MM(); }
/** * Destroys the active session * *<code> * var_dump($session->destroy()); * var_dump($session->destroy(true)); *</code> */ PHP_METHOD(Phalcon_Session_Adapter, destroy) { HashTable *_2$$4; HashPosition _1$$4; int ZEPHIR_LAST_CALL_STATUS; zval *removeData_param = NULL, *_SESSION = NULL, *uniqueId = NULL, *key = NULL, *_0$$4 = NULL, **_3$$4, *_4$$5 = NULL; zend_bool removeData; ZEPHIR_MM_GROW(); zephir_get_global(&_SESSION, SS("_SESSION") TSRMLS_CC); zephir_fetch_params(1, 0, 1, &removeData_param); if (!removeData_param) { removeData = 0; } else { removeData = zephir_get_boolval(removeData_param); } if (removeData) { ZEPHIR_OBS_VAR(uniqueId); zephir_read_property_this(&uniqueId, this_ptr, SL("_uniqueId"), PH_NOISY_CC); if (!(ZEPHIR_IS_EMPTY(uniqueId))) { ZEPHIR_INIT_VAR(_0$$4); zephir_is_iterable(_SESSION, &_2$$4, &_1$$4, 1, 0, "phalcon/session/adapter.zep", 262); for ( ; zephir_hash_get_current_data_ex(_2$$4, (void**) &_3$$4, &_1$$4) == SUCCESS ; zephir_hash_move_forward_ex(_2$$4, &_1$$4) ) { ZEPHIR_GET_HMKEY(key, _2$$4, _1$$4); ZEPHIR_GET_HVALUE(_0$$4, _3$$4); ZEPHIR_INIT_LNVAR(_4$$5); ZEPHIR_CONCAT_VS(_4$$5, uniqueId, "#"); if (zephir_start_with(key, _4$$5, NULL)) { zephir_array_unset(&_SESSION, key, PH_SEPARATE); } } zend_hash_destroy(_2$$4); FREE_HASHTABLE(_2$$4); } else { ZEPHIR_INIT_NVAR(_SESSION); array_init(_SESSION); } } if (0) { zephir_update_property_this(this_ptr, SL("_started"), ZEPHIR_GLOBAL(global_true) TSRMLS_CC); } else { zephir_update_property_this(this_ptr, SL("_started"), ZEPHIR_GLOBAL(global_false) TSRMLS_CC); } ZEPHIR_RETURN_CALL_FUNCTION("session_destroy", NULL, 32); zephir_check_call_status(); RETURN_MM(); }
PHP_METHOD(Yb_Std, groupedData) { HashTable *_1; HashPosition _0; zephir_fcall_cache_entry *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *groupKey = NULL; zval *data_param = NULL, *groupKey_param = NULL, *k = NULL, *v = NULL, *arr = NULL, *groupValue = NULL, **_2, *_3$$4 = NULL, *_4$$4 = NULL, *_6$$5 = NULL, *_7$$5 = NULL; zval *data = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &data_param, &groupKey_param); zephir_get_arrval(data, data_param); zephir_get_strval(groupKey, groupKey_param); ZEPHIR_INIT_VAR(arr); array_init(arr); zephir_is_iterable(data, &_1, &_0, 0, 0, "yb/std.zep", 293); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(k, _1, _0); ZEPHIR_GET_HVALUE(v, _2); if (unlikely(Z_TYPE_P(v) != IS_ARRAY)) { ZEPHIR_INIT_NVAR(_3$$4); object_init_ex(_3$$4, yb_exception_ce); ZEPHIR_INIT_LNVAR(_4$$4); ZEPHIR_CONCAT_SV(_4$$4, "Invalid item type, array required at: ", k); ZEPHIR_CALL_METHOD(NULL, _3$$4, "__construct", &_5, 2, _4$$4); zephir_check_call_status(); zephir_throw_exception_debug(_3$$4, "yb/std.zep", 284 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_OBS_NVAR(groupValue); if (unlikely(!(zephir_array_isset_fetch(&groupValue, v, groupKey, 0 TSRMLS_CC)))) { ZEPHIR_INIT_NVAR(_6$$5); object_init_ex(_6$$5, yb_exception_ce); ZEPHIR_INIT_LNVAR(_7$$5); ZEPHIR_CONCAT_SV(_7$$5, "Cannot find value of group at: ", k); ZEPHIR_CALL_METHOD(NULL, _6$$5, "__construct", &_5, 2, _7$$5); zephir_check_call_status(); zephir_throw_exception_debug(_6$$5, "yb/std.zep", 287 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } zephir_array_update_multi(&arr, &v TSRMLS_CC, SL("za"), 2, groupValue); } RETURN_CCTOR(arr); }
/** * Sends the headers to the client */ PHP_METHOD(Phalcon_Http_Response_Headers, send) { zend_bool _7$$6; HashTable *_3$$3; HashPosition _2$$3; zval *header = NULL, *value = NULL, *_0 = NULL, *_1$$3, **_4$$3, *_5$$5 = NULL, _8$$6 = zval_used_for_init, _9$$6 = zval_used_for_init, *_10$$6 = NULL, *_11$$8 = NULL; zephir_fcall_cache_entry *_6 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_CALL_FUNCTION(&_0, "headers_sent", NULL, 28); zephir_check_call_status(); if (!(zephir_is_true(_0))) { _1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_headers"), PH_NOISY_CC); zephir_is_iterable(_1$$3, &_3$$3, &_2$$3, 0, 0, "phalcon/http/response/headers.zep", 94); for ( ; zend_hash_get_current_data_ex(_3$$3, (void**) &_4$$3, &_2$$3) == SUCCESS ; zend_hash_move_forward_ex(_3$$3, &_2$$3) ) { ZEPHIR_GET_HMKEY(header, _3$$3, _2$$3); ZEPHIR_GET_HVALUE(value, _4$$3); if (Z_TYPE_P(value) != IS_NULL) { ZEPHIR_INIT_LNVAR(_5$$5); ZEPHIR_CONCAT_VSV(_5$$5, header, ": ", value); ZEPHIR_CALL_FUNCTION(NULL, "header", &_6, 257, _5$$5, ZEPHIR_GLOBAL(global_true)); zephir_check_call_status(); } else { _7$$6 = zephir_memnstr_str(header, SL(":"), "phalcon/http/response/headers.zep", 87); if (!(_7$$6)) { ZEPHIR_SINIT_NVAR(_8$$6); ZVAL_LONG(&_8$$6, 0); ZEPHIR_SINIT_NVAR(_9$$6); ZVAL_LONG(&_9$$6, 5); ZEPHIR_INIT_NVAR(_10$$6); zephir_substr(_10$$6, header, 0 , 5 , 0); _7$$6 = ZEPHIR_IS_STRING(_10$$6, "HTTP/"); } if (_7$$6) { ZEPHIR_CALL_FUNCTION(NULL, "header", &_6, 257, header, ZEPHIR_GLOBAL(global_true)); zephir_check_call_status(); } else { ZEPHIR_INIT_LNVAR(_11$$8); ZEPHIR_CONCAT_VS(_11$$8, header, ": "); ZEPHIR_CALL_FUNCTION(NULL, "header", &_6, 257, _11$$8, ZEPHIR_GLOBAL(global_true)); zephir_check_call_status(); } } } RETURN_MM_BOOL(1); } RETURN_MM_BOOL(0); }
/** * {@inheritdoc} */ PHP_METHOD(Phalcon_Session_Adapter_Libmemcached, destroy) { HashTable *_2; HashPosition _1; int ZEPHIR_LAST_CALL_STATUS; zval *sessionId_param = NULL, *_SESSION, *id = NULL, *key = NULL, *_0 = NULL, **_3, *_4 = NULL, *_5, *_6 = NULL, *_7; zval *sessionId = NULL; ZEPHIR_MM_GROW(); zephir_get_global(&_SESSION, SS("_SESSION") TSRMLS_CC); zephir_fetch_params(1, 0, 1, &sessionId_param); if (!sessionId_param) { ZEPHIR_INIT_VAR(sessionId); ZVAL_EMPTY_STRING(sessionId); } else { zephir_get_strval(sessionId, sessionId_param); } if (ZEPHIR_IS_STRING_IDENTICAL(sessionId, "")) { ZEPHIR_CALL_METHOD(&id, this_ptr, "getid", NULL, 0); zephir_check_call_status(); } else { ZEPHIR_CPY_WRT(id, sessionId); } ZEPHIR_INIT_VAR(_0); zephir_is_iterable(_SESSION, &_2, &_1, 1, 0, "phalcon/session/adapter/libmemcached.zep", 168); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HMKEY(key, _2, _1); ZEPHIR_GET_HVALUE(_0, _3); zephir_array_unset(&_SESSION, key, PH_SEPARATE); } zend_hash_destroy(_2); FREE_HASHTABLE(_2); ZEPHIR_INIT_VAR(_4); _5 = zephir_fetch_nproperty_this(this_ptr, SL("_libmemcached"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&_6, _5, "exists", NULL, 0, id); zephir_check_call_status(); if (zephir_is_true(_6)) { _7 = zephir_fetch_nproperty_this(this_ptr, SL("_libmemcached"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&_4, _7, "delete", NULL, 0, id); zephir_check_call_status(); } else { ZVAL_BOOL(_4, 1); } RETURN_CCTOR(_4); }
/** * * @param \Phal\Entity $resource * @param array linksByRel * @return void */ PHP_METHOD(Phal_Format_Reader_Hal_JsonReader, transformLinks) { zephir_fcall_cache_entry *_4 = NULL, *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; HashTable *_1; HashPosition _0; zval *resource, *linksByRel, *rel = NULL, *data = NULL, *link = NULL, *links = NULL, **_2, *_3 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &resource, &linksByRel); if (!(zephir_instance_of_ev(resource, phal_entity_ce TSRMLS_CC))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(spl_ce_InvalidArgumentException, "Parameter 'resource' must be an instance of 'Phal\\Entity'", "", 0); return; } if (Z_TYPE_P(linksByRel) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(spl_ce_InvalidArgumentException, "linksByRel must be array", "phal/format/reader/hal/jsonreader.zep", 66); return; } zephir_is_iterable(linksByRel, &_1, &_0, 0, 0); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(rel, _1, _0); ZEPHIR_GET_HVALUE(data, _2); if (ZEPHIR_IS_STRING(rel, "self")) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "transformselflink", NULL, resource, data); zephir_check_call_status(); continue; } ZEPHIR_CALL_METHOD(&_3, this_ptr, "isassocarray", NULL, data); zephir_check_call_status(); if (zephir_is_true(_3)) { ZEPHIR_CALL_METHOD(&link, this_ptr, "dotransformlink", NULL, data); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, resource, "setlink", &_4, rel, link); zephir_check_call_status(); } else { ZEPHIR_CALL_METHOD(&links, this_ptr, "dotransformlinks", NULL, data); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, resource, "setlinks", &_5, rel, links); zephir_check_call_status(); } } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Yb_Db_Entity, save) { HashTable *_10; HashPosition _9; zval *k = NULL, *v = NULL, *row = NULL, *_0, **_11, *_1$$3, *_2$$3, *_3$$4, *_5$$4, *_6$$4, *_7$$4 = NULL, *_8$$4, *_4$$5; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("isNew"), PH_NOISY_CC); if (zephir_is_true(_0)) { _1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("model"), PH_NOISY_CC); _2$$3 = zephir_fetch_nproperty_this(this_ptr, SL("row"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&row, _1$$3, "insert", NULL, 0, _2$$3); zephir_check_call_status(); if (0) { zephir_update_property_this(this_ptr, SL("isNew"), ZEPHIR_GLOBAL(global_true) TSRMLS_CC); } else { zephir_update_property_this(this_ptr, SL("isNew"), ZEPHIR_GLOBAL(global_false) TSRMLS_CC); } } else { _3$$4 = zephir_fetch_nproperty_this(this_ptr, SL("updates"), PH_NOISY_CC); if (unlikely(zephir_fast_count_int(_3$$4 TSRMLS_CC) < 1)) { ZEPHIR_INIT_VAR(_4$$5); array_init(_4$$5); zephir_update_property_this(this_ptr, SL("updates"), _4$$5 TSRMLS_CC); } _5$$4 = zephir_fetch_nproperty_this(this_ptr, SL("model"), PH_NOISY_CC); _6$$4 = zephir_fetch_nproperty_this(this_ptr, SL("updates"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&_7$$4, this_ptr, "primarykeyvalue", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&row, _5$$4, "update", NULL, 0, _6$$4, _7$$4); zephir_check_call_status(); ZEPHIR_INIT_VAR(_8$$4); array_init(_8$$4); zephir_update_property_this(this_ptr, SL("updates"), _8$$4 TSRMLS_CC); } zephir_is_iterable(row, &_10, &_9, 0, 0, "yb/db/entity.zep", 114); for ( ; zephir_hash_get_current_data_ex(_10, (void**) &_11, &_9) == SUCCESS ; zephir_hash_move_forward_ex(_10, &_9) ) { ZEPHIR_GET_HMKEY(k, _10, _9); ZEPHIR_GET_HVALUE(v, _11); zephir_update_property_array(this_ptr, SL("row"), k, v TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(OAuth_V1_Service, getAuthorizationUri) { zend_function *_6 = NULL; HashTable *_4; HashPosition _3; zend_class_entry *_1; zval *params = NULL, *uri, *endpoint, *key = NULL, *value = NULL, *_0, *_2, **_5; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, ¶ms); if (!params) { params = ZEPHIR_GLOBAL(global_null); } if (((Z_TYPE_P(params) != IS_ARRAY) && (Z_TYPE_P(params) != IS_NULL))) { ZEPHIR_INIT_VAR(_0); _1 = zend_fetch_class(SL("InvalidArgumentException"), ZEND_FETCH_CLASS_AUTO TSRMLS_CC); object_init_ex(_0, _1); ZEPHIR_INIT_VAR(_2); ZVAL_STRING(_2, "The params must be an Array", 1); zephir_call_method_p1_noret(_0, "__construct", _2); zephir_throw_exception(_0 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_INIT_VAR(endpoint); object_init_ex(endpoint, oauth_uri_ce); zephir_call_method_noret(endpoint, "__construct"); ZEPHIR_INIT_VAR(uri); if (zephir_clone(uri, endpoint TSRMLS_CC) == FAILURE) { RETURN_MM(); } if ((Z_TYPE_P(params) != IS_ARRAY)) { zephir_is_iterable(params, &_4, &_3, 0, 0); for ( ; zend_hash_get_current_data_ex(_4, (void**) &_5, &_3) == SUCCESS ; zend_hash_move_forward_ex(_4, &_3) ) { ZEPHIR_GET_HMKEY(key, _4, _3); ZEPHIR_GET_HVALUE(value, _5); zephir_call_method_p2_cache_noret(uri, "addtoquery", &_6, key, value); } } RETURN_CCTOR(uri); }
/** * Returns the annotations found in the properties' docblocks */ PHP_METHOD(Phalcon_Annotations_Reflection, getPropertiesAnnotations) { HashTable *_2$$5; HashPosition _1$$5; zval *annotations = NULL, *reflectionProperties = NULL, *collections = NULL, *property = NULL, *reflectionProperty = NULL, *_0$$3, **_3$$5, *_4$$6 = NULL; zephir_fcall_cache_entry *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(annotations); zephir_read_property_this(&annotations, this_ptr, SL("_propertyAnnotations"), PH_NOISY_CC); if (Z_TYPE_P(annotations) != IS_OBJECT) { ZEPHIR_OBS_VAR(reflectionProperties); _0$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_reflectionData"), PH_NOISY_CC); if (zephir_array_isset_string_fetch(&reflectionProperties, _0$$3, SS("properties"), 0 TSRMLS_CC)) { if (zephir_fast_count_int(reflectionProperties TSRMLS_CC)) { ZEPHIR_INIT_VAR(collections); array_init(collections); zephir_is_iterable(reflectionProperties, &_2$$5, &_1$$5, 0, 0, "phalcon/annotations/reflection.zep", 131); for ( ; zephir_hash_get_current_data_ex(_2$$5, (void**) &_3$$5, &_1$$5) == SUCCESS ; zephir_hash_move_forward_ex(_2$$5, &_1$$5) ) { ZEPHIR_GET_HMKEY(property, _2$$5, _1$$5); ZEPHIR_GET_HVALUE(reflectionProperty, _3$$5); ZEPHIR_INIT_NVAR(_4$$6); object_init_ex(_4$$6, phalcon_annotations_collection_ce); ZEPHIR_CALL_METHOD(NULL, _4$$6, "__construct", &_5, 17, reflectionProperty); zephir_check_call_status(); zephir_array_update_zval(&collections, property, &_4$$6, PH_COPY | PH_SEPARATE); } zephir_update_property_this(this_ptr, SL("_propertyAnnotations"), collections TSRMLS_CC); RETURN_CCTOR(collections); } } if (0) { zephir_update_property_this(this_ptr, SL("_propertyAnnotations"), ZEPHIR_GLOBAL(global_true) TSRMLS_CC); } else { zephir_update_property_this(this_ptr, SL("_propertyAnnotations"), ZEPHIR_GLOBAL(global_false) TSRMLS_CC); } RETURN_MM_BOOL(0); } RETURN_CCTOR(annotations); }
/** * Replaces placeholders by the values passed */ PHP_METHOD(Phalcon_Translate_Adapter, replacePlaceholders) { HashTable *_1; HashPosition _0; zval *translation_param = NULL, *placeholders = NULL, *key = NULL, *value = NULL, **_2, *_3 = NULL, *_4 = NULL; zval *translation = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &translation_param, &placeholders); if (unlikely(Z_TYPE_P(translation_param) != IS_STRING && Z_TYPE_P(translation_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'translation' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(translation_param) == IS_STRING)) { zephir_get_strval(translation, translation_param); } else { ZEPHIR_INIT_VAR(translation); ZVAL_EMPTY_STRING(translation); } if (!placeholders) { placeholders = ZEPHIR_GLOBAL(global_null); } if (Z_TYPE_P(placeholders) == IS_ARRAY) { if (zephir_fast_count_int(placeholders TSRMLS_CC)) { zephir_is_iterable(placeholders, &_1, &_0, 0, 0, "phalcon/translate/adapter.zep", 108); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(key, _1, _0); ZEPHIR_GET_HVALUE(value, _2); ZEPHIR_INIT_NVAR(_3); ZEPHIR_INIT_LNVAR(_4); ZEPHIR_CONCAT_SVS(_4, "%", key, "%"); zephir_fast_str_replace(&_3, _4, value, translation TSRMLS_CC); zephir_get_strval(translation, _3); } } } RETURN_CTOR(translation); }
/** * @param array data * @return \Phal\Entity */ PHP_METHOD(Phal_Format_Reader_Hal_JsonReader, doTransformEmbedded) { zephir_fcall_cache_entry *_7 = NULL; zephir_nts_static zephir_fcall_cache_entry *_6 = NULL; HashTable *_1; HashPosition _0; int ZEPHIR_LAST_CALL_STATUS; zval *data, *resource, *key = NULL, *value = NULL, **_2, _3 = zval_used_for_init, _4 = zval_used_for_init, *_5 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &data); if (Z_TYPE_P(data) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(spl_ce_InvalidArgumentException, "data must be array", "phal/format/reader/hal/jsonreader.zep", 227); return; } ZEPHIR_INIT_VAR(resource); object_init_ex(resource, phal_entity_ce); ZEPHIR_CALL_METHOD(NULL, resource, "__construct", NULL); zephir_check_call_status(); zephir_is_iterable(data, &_1, &_0, 0, 0); for ( ; zephir_hash_get_current_data_ex(_1, (void**) &_2, &_0) == SUCCESS ; zephir_hash_move_forward_ex(_1, &_0) ) { ZEPHIR_GET_HMKEY(key, _1, _0); ZEPHIR_GET_HVALUE(value, _2); ZEPHIR_SINIT_NVAR(_3); ZVAL_LONG(&_3, 0); ZEPHIR_SINIT_NVAR(_4); ZVAL_LONG(&_4, 1); ZEPHIR_CALL_FUNCTION(&_5, "substr", &_6, key, &_3, &_4); zephir_check_call_status(); if (!ZEPHIR_IS_STRING_IDENTICAL(_5, "_")) { ZEPHIR_CALL_METHOD(NULL, resource, "adddata", &_7, key, value); zephir_check_call_status(); } } ZEPHIR_CALL_METHOD(NULL, this_ptr, "transformmetadata", NULL, resource, data); zephir_check_call_status(); RETURN_CCTOR(resource); }
/** * is a simple checksum formula used to validate a variety of identification numbers * @param string number * @return boolean */ PHP_METHOD(Phalcon_Validation_Validator_CreditCard, verifyByLuhnAlgorithm) { HashTable *_6; HashPosition _5; zval *digits = NULL, *_2 = NULL; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_1 = NULL; zval *number, *_0 = NULL, *digit = NULL, *position = NULL, *hash = NULL, *_3 = NULL, *_4 = NULL, **_7, *result = NULL, *_9 = NULL, *_8$$3 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &number); ZEPHIR_CALL_FUNCTION(&_0, "str_split", &_1, 71, number); zephir_check_call_status(); zephir_get_arrval(_2, _0); ZEPHIR_CPY_WRT(digits, _2); ZEPHIR_INIT_VAR(hash); ZVAL_STRING(hash, "", 1); ZEPHIR_CALL_FUNCTION(&_4, "array_reverse", NULL, 439, digits); zephir_check_call_status(); zephir_is_iterable(_4, &_6, &_5, 0, 0, "phalcon/validation/validator/creditcard.zep", 87); for ( ; zephir_hash_get_current_data_ex(_6, (void**) &_7, &_5) == SUCCESS ; zephir_hash_move_forward_ex(_6, &_5) ) { ZEPHIR_GET_HMKEY(position, _6, _5); ZEPHIR_GET_HVALUE(digit, _7); ZEPHIR_INIT_LNVAR(_8$$3); if (zephir_safe_mod_zval_long(position, 2 TSRMLS_CC)) { ZEPHIR_INIT_NVAR(_8$$3); ZVAL_LONG(_8$$3, (zephir_get_numberval(digit) * 2)); } else { ZEPHIR_CPY_WRT(_8$$3, digit); } zephir_concat_self(&hash, _8$$3 TSRMLS_CC); } ZEPHIR_CALL_FUNCTION(&_9, "str_split", &_1, 71, hash); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&result, "array_sum", NULL, 440, _9); zephir_check_call_status(); RETURN_MM_BOOL((zephir_safe_mod_zval_long(result, 10 TSRMLS_CC) == 0)); }
/** * Allow access to a role on a resource * * You can use '*' as wildcard * * Example: * <code> * //Allow access to guests to search on customers * $acl->allow("guests", "customers", "search"); * * //Allow access to guests to search or create on customers * $acl->allow("guests", "customers", ["search", "create"]); * * //Allow access to any role to browse on products * $acl->allow("*", "products", "browse"); * * //Allow access to any role to browse on any resource * $acl->allow("*", "*", "browse"); * </code> */ PHP_METHOD(Phalcon_Acl_Adapter_Memory, allow) { HashTable *_5$$4; HashPosition _4$$4; zephir_fcall_cache_entry *_1 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *roleName_param = NULL, *resourceName_param = NULL, *access, *func = NULL, *innerRoleName = NULL, *_0$$3, *_2$$4, *_3$$4 = NULL, **_6$$4, *_7$$5 = NULL; zval *roleName = NULL, *resourceName = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 1, &roleName_param, &resourceName_param, &access, &func); zephir_get_strval(roleName, roleName_param); zephir_get_strval(resourceName, resourceName_param); if (!func) { func = ZEPHIR_GLOBAL(global_null); } if (!ZEPHIR_IS_STRING(roleName, "*")) { ZEPHIR_INIT_VAR(_0$$3); ZVAL_LONG(_0$$3, 1); ZEPHIR_RETURN_CALL_METHOD(this_ptr, "_allowordeny", &_1, 0, roleName, resourceName, access, _0$$3, func); zephir_check_call_status(); RETURN_MM(); } else { _2$$4 = zephir_fetch_nproperty_this(this_ptr, SL("_rolesNames"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_3$$4); zephir_is_iterable(_2$$4, &_5$$4, &_4$$4, 0, 0, "phalcon/acl/adapter/memory.zep", 487); for ( ; zephir_hash_get_current_data_ex(_5$$4, (void**) &_6$$4, &_4$$4) == SUCCESS ; zephir_hash_move_forward_ex(_5$$4, &_4$$4) ) { ZEPHIR_GET_HMKEY(innerRoleName, _5$$4, _4$$4); ZEPHIR_GET_HVALUE(_3$$4, _6$$4); ZEPHIR_INIT_NVAR(_7$$5); ZVAL_LONG(_7$$5, 1); ZEPHIR_CALL_METHOD(NULL, this_ptr, "_allowordeny", &_1, 0, innerRoleName, resourceName, access, _7$$5, func); zephir_check_call_status(); } } ZEPHIR_MM_RESTORE(); }
/** * Interpolates context values into the message placeholders * * @see http://www.php-fig.org/psr/psr-3/ Section 1.2 Message * @param string $message * @param array $context */ PHP_METHOD(Phalcon_Logger_Formatter, interpolate) { int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_5 = NULL; HashTable *_2; HashPosition _1; zend_bool _0; zval *message_param = NULL, *context = NULL, *replace, *key = NULL, *value = NULL, **_3, *_4 = NULL; zval *message = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &message_param, &context); zephir_get_strval(message, message_param); if (!context) { context = ZEPHIR_GLOBAL(global_null); } _0 = Z_TYPE_P(context) == IS_ARRAY; if (_0) { _0 = zephir_fast_count_int(context TSRMLS_CC) > 0; } if (_0) { ZEPHIR_INIT_VAR(replace); array_init(replace); zephir_is_iterable(context, &_2, &_1, 0, 0, "phalcon/logger/formatter.zep", 92); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HMKEY(key, _2, _1); ZEPHIR_GET_HVALUE(value, _3); ZEPHIR_INIT_LNVAR(_4); ZEPHIR_CONCAT_SVS(_4, "{", key, "}"); zephir_array_update_zval(&replace, _4, &value, PH_COPY | PH_SEPARATE); } ZEPHIR_RETURN_CALL_FUNCTION("strtr", &_5, message, replace); zephir_check_call_status(); RETURN_MM(); } RETURN_CTOR(message); }
/** * Prints the messages in the session flasher */ PHP_METHOD(Phalcon_Flash_Session, output) { HashTable *_2$$3; HashPosition _1$$3; zephir_fcall_cache_entry *_4 = NULL, *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *remove_param = NULL, *type = NULL, *message = NULL, *messages = NULL, *_0, **_3$$3; zend_bool remove; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &remove_param); if (!remove_param) { remove = 1; } else { remove = zephir_get_boolval(remove_param); } ZEPHIR_INIT_VAR(_0); if (remove) { ZVAL_BOOL(_0, 1); } else { ZVAL_BOOL(_0, 0); } ZEPHIR_CALL_METHOD(&messages, this_ptr, "_getsessionmessages", NULL, 0, _0); zephir_check_call_status(); if (Z_TYPE_P(messages) == IS_ARRAY) { zephir_is_iterable(messages, &_2$$3, &_1$$3, 0, 0, "phalcon/flash/session.zep", 161); for ( ; zephir_hash_get_current_data_ex(_2$$3, (void**) &_3$$3, &_1$$3) == SUCCESS ; zephir_hash_move_forward_ex(_2$$3, &_1$$3) ) { ZEPHIR_GET_HMKEY(type, _2$$3, _1$$3); ZEPHIR_GET_HVALUE(message, _3$$3); ZEPHIR_CALL_METHOD(NULL, this_ptr, "outputmessage", &_4, 0, type, message); zephir_check_call_status(); } } ZEPHIR_CALL_PARENT(NULL, phalcon_flash_session_ce, this_ptr, "clear", &_5, 198); zephir_check_call_status(); ZEPHIR_MM_RESTORE(); }