PHP_METHOD(Owl_Cache_Driver_Redis, getInstance) { int ZEPHIR_LAST_CALL_STATUS; zval *_0, *_1, *_2, *_3 = NULL, *_4, *_5; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("instance"), PH_NOISY_CC); if (Z_TYPE_P(_0) == IS_NULL) { ZEPHIR_INIT_VAR(_1); object_init_ex(_1, zephir_get_internal_ce(SS("redis") TSRMLS_CC)); if (zephir_has_constructor(_1 TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, _1, "__construct", NULL, 0); zephir_check_call_status(); } zephir_update_property_this(this_ptr, SL("instance"), _1 TSRMLS_CC); _2 = zephir_fetch_nproperty_this(this_ptr, SL("instance"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_3); ZVAL_STRING(_3, "localhost", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, _2, "connect", NULL, 0, _3); zephir_check_temp_parameter(_3); zephir_check_call_status(); _4 = zephir_fetch_nproperty_this(this_ptr, SL("instance"), PH_NOISY_CC); ZEPHIR_INIT_NVAR(_3); ZVAL_LONG(_3, 1); ZEPHIR_INIT_VAR(_5); ZVAL_LONG(_5, 1); ZEPHIR_CALL_METHOD(NULL, _4, "setoption", NULL, 0, _3, _5); zephir_check_call_status(); RETURN_MM_MEMBER(this_ptr, "instance"); } RETURN_MM_MEMBER(this_ptr, "instance"); }
/** * Sets locale information * * <code> * // Set locale to Dutch * $gettext->setLocale(LC_ALL, "nl_NL"); * * // Try different possible locale names for german * $gettext->setLocale(LC_ALL, "de_DE@euro", "de_DE", "de", "ge"); * </code> */ PHP_METHOD(Phalcon_Translate_Adapter_Gettext, setLocale) { zval *locale = NULL; zval *category_param = NULL, *locale_param = NULL, *_0, *_1, _2, *_3, *_4, *_5, *_6, *_7, *_8, *_9, _10; zend_long category, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &category_param, &locale_param); if (UNEXPECTED(Z_TYPE_P(category_param) != IS_LONG)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'category' must be a int") TSRMLS_CC); RETURN_MM_NULL(); } category = Z_LVAL_P(category_param); if (UNEXPECTED(Z_TYPE_P(locale_param) != IS_STRING && Z_TYPE_P(locale_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'locale' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (EXPECTED(Z_TYPE_P(locale_param) == IS_STRING)) { zephir_get_strval(locale, locale_param); } else { ZEPHIR_INIT_VAR(locale); ZVAL_EMPTY_STRING(locale); } ZEPHIR_INIT_VAR(_0); ZEPHIR_INIT_VAR(_1); zephir_get_args(_1 TSRMLS_CC); ZEPHIR_SINIT_VAR(_2); ZVAL_STRING(&_2, "setlocale", 0); ZEPHIR_CALL_USER_FUNC_ARRAY(_0, &_2, _1); zephir_check_call_status(); zephir_update_property_this(getThis(), SL("_locale"), _0 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_3); ZVAL_LONG(_3, category); zephir_update_property_this(getThis(), SL("_category"), _3 TSRMLS_CC); _3 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_4); ZEPHIR_CONCAT_SV(_4, "LC_ALL=", _3); ZEPHIR_CALL_FUNCTION(NULL, "putenv", NULL, 474, _4); zephir_check_call_status(); _5 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_6); ZEPHIR_CONCAT_SV(_6, "LANG=", _5); ZEPHIR_CALL_FUNCTION(NULL, "putenv", NULL, 474, _6); zephir_check_call_status(); _7 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_8); ZEPHIR_CONCAT_SV(_8, "LANGUAGE=", _7); ZEPHIR_CALL_FUNCTION(NULL, "putenv", NULL, 474, _8); zephir_check_call_status(); _9 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_10); ZVAL_LONG(&_10, 6); ZEPHIR_CALL_FUNCTION(NULL, "setlocale", NULL, 456, &_10, _9); zephir_check_call_status(); RETURN_MM_MEMBER(getThis(), "_locale"); }
/** * Return the strategy to obtain the meta-data */ PHP_METHOD(Phalcon_Mvc_Model_MetaData, getStrategy) { zval _0, _1$$3; zend_long ZEPHIR_LAST_CALL_STATUS; zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1$$3); ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(&_0); zephir_read_property(&_0, this_ptr, SL("_strategy"), PH_NOISY_CC); if (Z_TYPE_P(&_0) == IS_NULL) { ZEPHIR_INIT_VAR(&_1$$3); object_init_ex(&_1$$3, phalcon_mvc_model_metadata_strategy_introspection_ce); if (zephir_has_constructor(&_1$$3 TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, &_1$$3, "__construct", NULL, 0); zephir_check_call_status(); } zephir_update_property_zval(this_ptr, SL("_strategy"), &_1$$3); } RETURN_MM_MEMBER(getThis(), "_strategy"); }
/** * Adds default messages to validators */ PHP_METHOD(Phalcon_Validation, setDefaultMessages) { zval *messages_param = NULL, *defaultMessages = NULL, *_0$$3; zval *messages = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &messages_param); if (!messages_param) { ZEPHIR_INIT_VAR(messages); array_init(messages); } else { zephir_get_arrval(messages, messages_param); } ZEPHIR_INIT_VAR(defaultMessages); zephir_create_array(defaultMessages, 25, 0 TSRMLS_CC); add_assoc_stringl_ex(defaultMessages, SS("Alnum"), SL("Field :field must contain only letters and numbers"), 1); add_assoc_stringl_ex(defaultMessages, SS("Alpha"), SL("Field :field must contain only letters"), 1); add_assoc_stringl_ex(defaultMessages, SS("Between"), SL("Field :field must be within the range of :min to :max"), 1); add_assoc_stringl_ex(defaultMessages, SS("Confirmation"), SL("Field :field must be the same as :with"), 1); add_assoc_stringl_ex(defaultMessages, SS("Digit"), SL("Field :field must be numeric"), 1); add_assoc_stringl_ex(defaultMessages, SS("Email"), SL("Field :field must be an email address"), 1); add_assoc_stringl_ex(defaultMessages, SS("ExclusionIn"), SL("Field :field must not be a part of list: :domain"), 1); add_assoc_stringl_ex(defaultMessages, SS("FileEmpty"), SL("Field :field must not be empty"), 1); add_assoc_stringl_ex(defaultMessages, SS("FileIniSize"), SL("File :field exceeds the maximum file size"), 1); add_assoc_stringl_ex(defaultMessages, SS("FileMaxResolution"), SL("File :field must not exceed :max resolution"), 1); add_assoc_stringl_ex(defaultMessages, SS("FileMinResolution"), SL("File :field must be at least :min resolution"), 1); add_assoc_stringl_ex(defaultMessages, SS("FileSize"), SL("File :field exceeds the size of :max"), 1); add_assoc_stringl_ex(defaultMessages, SS("FileType"), SL("File :field must be of type: :types"), 1); add_assoc_stringl_ex(defaultMessages, SS("FileValid"), SL("Field :field is not valid"), 1); add_assoc_stringl_ex(defaultMessages, SS("Identical"), SL("Field :field does not have the expected value"), 1); add_assoc_stringl_ex(defaultMessages, SS("InclusionIn"), SL("Field :field must be a part of list: :domain"), 1); add_assoc_stringl_ex(defaultMessages, SS("Numericality"), SL("Field :field does not have a valid numeric format"), 1); add_assoc_stringl_ex(defaultMessages, SS("PresenceOf"), SL("Field :field is required"), 1); add_assoc_stringl_ex(defaultMessages, SS("Regex"), SL("Field :field does not match the required format"), 1); add_assoc_stringl_ex(defaultMessages, SS("TooLong"), SL("Field :field must not exceed :max characters long"), 1); add_assoc_stringl_ex(defaultMessages, SS("TooShort"), SL("Field :field must be at least :min characters long"), 1); add_assoc_stringl_ex(defaultMessages, SS("Uniqueness"), SL("Field :field must be unique"), 1); add_assoc_stringl_ex(defaultMessages, SS("Url"), SL("Field :field must be a url"), 1); add_assoc_stringl_ex(defaultMessages, SS("CreditCard"), SL("Field :field is not valid for a credit card number"), 1); add_assoc_stringl_ex(defaultMessages, SS("Date"), SL("Field :field is not a valid date"), 1); if (zephir_fast_count_int(messages TSRMLS_CC)) { ZEPHIR_INIT_VAR(_0$$3); zephir_fast_array_merge(_0$$3, &(defaultMessages), &(messages) TSRMLS_CC); zephir_update_property_this(this_ptr, SL("_defaultMessages"), _0$$3 TSRMLS_CC); RETURN_MM_MEMBER(this_ptr, "_defaultMessages"); } zephir_update_property_this(this_ptr, SL("_defaultMessages"), defaultMessages TSRMLS_CC); RETURN_CCTOR(defaultMessages); }
/** * Return internal PDO handler * * @return \Pdo */ PHP_METHOD(Pdm_Db_Adapter_AbstractPdo, getInternalHandler) { zval *_0; ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(_0); zephir_read_property_this(&_0, this_ptr, SL("pdo"), PH_NOISY_CC); if (Z_TYPE_P(_0) == IS_OBJECT) { RETURN_MM_MEMBER(this_ptr, "pdo"); } ZEPHIR_THROW_EXCEPTION_DEBUG_STR(pdm_db_exception_ce, "Invalid PDO", "pdm/db/adapter/abstractpdo.zep", 542); return; }
/** * Get the storage array of routes * * @return array */ PHP_METHOD(Prr_RouteCollection, all) { int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_1 = NULL; zval *_0; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("storage"), PH_NOISY_CC); Z_SET_ISREF_P(_0); ZEPHIR_CALL_FUNCTION(NULL, "reset", &_1, _0); Z_UNSET_ISREF_P(_0); zephir_check_call_status(); RETURN_MM_MEMBER(this_ptr, "storage"); }
PHP_METHOD(Test_Assign, testPropertyMulAssign2) { zval *_0, *_1; ZEPHIR_MM_GROW(); ZEPHIR_INIT_ZVAL_NREF(_0); ZVAL_LONG(_0, 1); zephir_update_property_this(this_ptr, SL("testVar"), _0 TSRMLS_CC); ZEPHIR_INIT_VAR(_1); ZVAL_LONG(_1, 3); ZEPHIR_MUL_ASSIGN(_0, _1) zephir_update_property_this(this_ptr, SL("testVar"), _0 TSRMLS_CC); RETURN_MM_MEMBER(this_ptr, "testVar"); }
/** * @inheritdoc */ PHP_METHOD(Owl_Log_AbstractWriter, getFormatter) { int ZEPHIR_LAST_CALL_STATUS; zval *_0, *_1 = NULL; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("formatter"), PH_NOISY_CC); if (Z_TYPE_P(_0) == IS_NULL) { ZEPHIR_CALL_METHOD(&_1, this_ptr, "defaultformatter", NULL, 0); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("formatter"), _1 TSRMLS_CC); } RETURN_MM_MEMBER(this_ptr, "formatter"); }
/** * Retrieve the method * @return string */ PHP_METHOD(Yaf_Request_Abstract, getMethod) { zend_bool _3; zephir_nts_static zephir_fcall_cache_entry *_2 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *method = NULL, *sapiType = NULL, *_0, *_1 = NULL, _4, _5, *_6, *_7; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("method"), PH_NOISY_CC); if (Z_TYPE_P(_0) == IS_NULL) { ZEPHIR_INIT_VAR(_1); ZVAL_STRING(_1, "REQUEST_METHOD", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&method, this_ptr, "getserver", NULL, _1); zephir_check_temp_parameter(_1); zephir_check_call_status(); if (zephir_is_true(method)) { zephir_update_property_this(this_ptr, SL("method"), method TSRMLS_CC); } else { ZEPHIR_CALL_FUNCTION(&sapiType, "php_sapi_name", &_2); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_1); zephir_fast_strtolower(_1, sapiType); _3 = ZEPHIR_IS_STRING(_1, "cli"); if (!(_3)) { ZEPHIR_SINIT_VAR(_4); ZVAL_LONG(&_4, 0); ZEPHIR_SINIT_VAR(_5); ZVAL_LONG(&_5, 3); ZEPHIR_INIT_VAR(_6); zephir_substr(_6, sapiType, 0 , 3 , 0); _3 = ZEPHIR_IS_STRING(_6, "cgi"); } if (_3) { ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_STRING(_7, "CLI", 1); zephir_update_property_this(this_ptr, SL("method"), _7 TSRMLS_CC); } else { ZEPHIR_INIT_ZVAL_NREF(_7); ZVAL_STRING(_7, "Unknown", 1); zephir_update_property_this(this_ptr, SL("method"), _7 TSRMLS_CC); } } } RETURN_MM_MEMBER(this_ptr, "method"); }
/** * Sets locale information */ PHP_METHOD(Phalcon_Translate_Adapter_Gettext, setLocale) { zval *locale = NULL; zval *category_param = NULL, *locale_param = NULL, *_0, *_1 = NULL, _2, *_3, *_4, *_5, _6; int category, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &category_param, &locale_param); category = zephir_get_intval(category_param); if (unlikely(Z_TYPE_P(locale_param) != IS_STRING && Z_TYPE_P(locale_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'locale' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (likely(Z_TYPE_P(locale_param) == IS_STRING)) { zephir_get_strval(locale, locale_param); } else { ZEPHIR_INIT_VAR(locale); ZVAL_EMPTY_STRING(locale); } ZEPHIR_INIT_VAR(_0); ZEPHIR_CALL_FUNCTION(&_1, "func_get_args", NULL, 165); zephir_check_call_status(); ZEPHIR_SINIT_VAR(_2); ZVAL_STRING(&_2, "setlocale", 0); ZEPHIR_CALL_USER_FUNC_ARRAY(_0, &_2, _1); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_locale"), _0 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_3); ZVAL_LONG(_3, category); zephir_update_property_this(this_ptr, SL("_category"), _3 TSRMLS_CC); _3 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_4); ZEPHIR_CONCAT_SV(_4, "LC_ALL=", _3); ZEPHIR_CALL_FUNCTION(NULL, "putenv", NULL, 439, _4); zephir_check_call_status(); _5 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_6); ZVAL_LONG(&_6, 0); ZEPHIR_CALL_FUNCTION(NULL, "setlocale", NULL, 418, &_6, _5); zephir_check_call_status(); RETURN_MM_MEMBER(this_ptr, "_locale"); }
PHP_METHOD(Test_Issue1521, test) { zval _0; zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); zephir_create_array(&_0, 2, 0 TSRMLS_CC); add_assoc_stringl_ex(&_0, SL("merchantNumber"), SL("0818217122")); add_assoc_stringl_ex(&_0, SL("zero"), SL("0")); zephir_update_property_zval(this_ptr, SL("params"), &_0); RETURN_MM_MEMBER(getThis(), "params"); }
/** * Retrieve the language * @return string */ PHP_METHOD(Yaf_Request_Abstract, getLanguage) { int ZEPHIR_LAST_CALL_STATUS; zval *_0, *_1 = NULL, *_2; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("language"), PH_NOISY_CC); if (Z_TYPE_P(_0) == IS_NULL) { ZEPHIR_INIT_VAR(_2); ZVAL_STRING(_2, "HTTP_ACCEPT_LANGUAGE", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_1, this_ptr, "getenv", NULL, _2); zephir_check_temp_parameter(_2); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("language"), _1 TSRMLS_CC); } RETURN_MM_MEMBER(this_ptr, "language"); }
/** * Returns the internal formatter */ PHP_METHOD(Phalcon_Logger_Adapter_File, getFormatter) { int ZEPHIR_LAST_CALL_STATUS; zval *_0, *_1; ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(_0); zephir_read_property_this(&_0, this_ptr, SL("_formatter"), PH_NOISY_CC); if (Z_TYPE_P(_0) != IS_OBJECT) { ZEPHIR_INIT_VAR(_1); object_init_ex(_1, phalcon_logger_formatter_line_ce); ZEPHIR_CALL_METHOD(NULL, _1, "__construct", NULL, 289); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_formatter"), _1 TSRMLS_CC); } RETURN_MM_MEMBER(this_ptr, "_formatter"); }
/** * Set styles for vars type */ PHP_METHOD(Phalcon_Debug_Dump, setStyles) { zval *styles = NULL, *defaultStyles = NULL, *_0; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &styles); if (!styles) { ZEPHIR_CPY_WRT(styles, ZEPHIR_GLOBAL(global_null)); } else { ZEPHIR_SEPARATE_PARAM(styles); } if (Z_TYPE_P(styles) == IS_NULL) { ZEPHIR_INIT_NVAR(styles); array_init(styles); } if (Z_TYPE_P(styles) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_debug_exception_ce, "The styles must be an array", "phalcon/debug/dump.zep", 102); return; } ZEPHIR_INIT_VAR(defaultStyles); zephir_create_array(defaultStyles, 11, 0 TSRMLS_CC); add_assoc_stringl_ex(defaultStyles, SS("pre"), SL("background-color:#f3f3f3; font-size:11px; padding:10px; border:1px solid #ccc; text-align:left; color:#333"), 1); add_assoc_stringl_ex(defaultStyles, SS("arr"), SL("color:red"), 1); add_assoc_stringl_ex(defaultStyles, SS("bool"), SL("color:green"), 1); add_assoc_stringl_ex(defaultStyles, SS("float"), SL("color:fuchsia"), 1); add_assoc_stringl_ex(defaultStyles, SS("int"), SL("color:blue"), 1); add_assoc_stringl_ex(defaultStyles, SS("null"), SL("color:black"), 1); add_assoc_stringl_ex(defaultStyles, SS("num"), SL("color:navy"), 1); add_assoc_stringl_ex(defaultStyles, SS("obj"), SL("color:purple"), 1); add_assoc_stringl_ex(defaultStyles, SS("other"), SL("color:maroon"), 1); add_assoc_stringl_ex(defaultStyles, SS("res"), SL("color:lime"), 1); add_assoc_stringl_ex(defaultStyles, SS("str"), SL("color:teal"), 1); ZEPHIR_INIT_VAR(_0); zephir_fast_array_merge(_0, &(defaultStyles), &(styles) TSRMLS_CC); zephir_update_property_this(this_ptr, SL("_styles"), _0 TSRMLS_CC); RETURN_MM_MEMBER(this_ptr, "_styles"); }
/** * Returns the internal formatter */ PHP_METHOD(Phalcon_Logger_Adapter_Syslog, getFormatter) { zval *_0, *_1$$3; zend_long ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(_0); zephir_read_property_this(&_0, this_ptr, SL("_formatter"), PH_NOISY_CC); if (Z_TYPE_P(_0) != IS_OBJECT) { ZEPHIR_INIT_VAR(_1$$3); object_init_ex(_1$$3, phalcon_logger_formatter_syslog_ce); if (zephir_has_constructor(_1$$3 TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, _1$$3, "__construct", NULL, 0); zephir_check_call_status(); } zephir_update_property_this(getThis(), SL("_formatter"), _1$$3 TSRMLS_CC); } RETURN_MM_MEMBER(getThis(), "_formatter"); }
/** * Returns the annotation reader */ PHP_METHOD(Phalcon_Annotations_Adapter, getReader) { zval *_0, *_1$$3; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(_0); zephir_read_property_this(&_0, this_ptr, SL("_reader"), PH_NOISY_CC); if (Z_TYPE_P(_0) != IS_OBJECT) { ZEPHIR_INIT_VAR(_1$$3); object_init_ex(_1$$3, phalcon_annotations_reader_ce); if (zephir_has_constructor(_1$$3 TSRMLS_CC)) { ZEPHIR_CALL_METHOD(NULL, _1$$3, "__construct", NULL, 0); zephir_check_call_status(); } zephir_update_property_this(this_ptr, SL("_reader"), _1$$3 TSRMLS_CC); } RETURN_MM_MEMBER(this_ptr, "_reader"); }
PHP_METHOD(ADOdb_Connection, __get) { zval *name_param = NULL, *_0; zval *name = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &name_param); zephir_get_strval(name, name_param); do { if (ZEPHIR_IS_STRING(name, "host")) { _0 = zephir_fetch_nproperty_this(this_ptr, SL("dso"), PH_NOISY_CC); zephir_call_method(return_value, _0, "gethostname"); RETURN_MM(); } if (ZEPHIR_IS_STRING(name, "database")) { _0 = zephir_fetch_nproperty_this(this_ptr, SL("dso"), PH_NOISY_CC); zephir_call_method(return_value, _0, "getdatabase"); RETURN_MM(); } if (ZEPHIR_IS_STRING(name, "user")) { _0 = zephir_fetch_nproperty_this(this_ptr, SL("dso"), PH_NOISY_CC); zephir_call_method(return_value, _0, "getusername"); RETURN_MM(); } if (ZEPHIR_IS_STRING(name, "password")) { _0 = zephir_fetch_nproperty_this(this_ptr, SL("dso"), PH_NOISY_CC); zephir_call_method(return_value, _0, "getpassword"); RETURN_MM(); } if (ZEPHIR_IS_STRING(name, "debug")) { RETURN_MM_MEMBER(this_ptr, "debug"); } } while(0); ZEPHIR_MM_RESTORE(); }
/** * Set styles for vars type */ PHP_METHOD(Phalcon_Debug_Dump, setStyles) { zval *styles_param = NULL, defaultStyles, _0; zval styles; zval *this_ptr = getThis(); ZVAL_UNDEF(&styles); ZVAL_UNDEF(&defaultStyles); ZVAL_UNDEF(&_0); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &styles_param); if (!styles_param) { ZEPHIR_INIT_VAR(&styles); array_init(&styles); } else { ZEPHIR_OBS_COPY_OR_DUP(&styles, styles_param); } ZEPHIR_INIT_VAR(&defaultStyles); zephir_create_array(&defaultStyles, 11, 0 TSRMLS_CC); add_assoc_stringl_ex(&defaultStyles, SL("pre"), SL("background-color:#f3f3f3; font-size:11px; padding:10px; border:1px solid #ccc; text-align:left; color:#333")); add_assoc_stringl_ex(&defaultStyles, SL("arr"), SL("color:red")); add_assoc_stringl_ex(&defaultStyles, SL("bool"), SL("color:green")); add_assoc_stringl_ex(&defaultStyles, SL("float"), SL("color:fuchsia")); add_assoc_stringl_ex(&defaultStyles, SL("int"), SL("color:blue")); add_assoc_stringl_ex(&defaultStyles, SL("null"), SL("color:black")); add_assoc_stringl_ex(&defaultStyles, SL("num"), SL("color:navy")); add_assoc_stringl_ex(&defaultStyles, SL("obj"), SL("color:purple")); add_assoc_stringl_ex(&defaultStyles, SL("other"), SL("color:maroon")); add_assoc_stringl_ex(&defaultStyles, SL("res"), SL("color:lime")); add_assoc_stringl_ex(&defaultStyles, SL("str"), SL("color:teal")); ZEPHIR_INIT_VAR(&_0); zephir_fast_array_merge(&_0, &defaultStyles, &styles TSRMLS_CC); zephir_update_property_zval(this_ptr, SL("styles"), &_0); RETURN_MM_MEMBER(getThis(), "styles"); }
/** * Returns the connection related to transaction */ PHP_METHOD(Phalcon_Mvc_Model_Transaction, getConnection) { zval *_0, *_1$$3 = NULL, *_2$$4; zend_long ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("_rollbackOnAbort"), PH_NOISY_CC); if (zephir_is_true(_0)) { ZEPHIR_CALL_FUNCTION(&_1$$3, "connection_aborted", NULL, 393); zephir_check_call_status(); if (zephir_is_true(_1$$3)) { ZEPHIR_INIT_VAR(_2$$4); ZVAL_STRING(_2$$4, "The request was aborted", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, this_ptr, "rollback", NULL, 0, _2$$4); zephir_check_temp_parameter(_2$$4); zephir_check_call_status(); } } RETURN_MM_MEMBER(getThis(), "_connection"); }
/** * Returns the cache instance used to cache */ PHP_METHOD(Phalcon_Mvc_View_Simple, getCache) { zend_bool _1; zval *_0, *_2, *_3$$3 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("_cache"), PH_NOISY_CC); _1 = zephir_is_true(_0); if (_1) { ZEPHIR_OBS_VAR(_2); zephir_read_property_this(&_2, this_ptr, SL("_cache"), PH_NOISY_CC); _1 = Z_TYPE_P(_2) != IS_OBJECT; } if (_1) { ZEPHIR_CALL_METHOD(&_3$$3, this_ptr, "_createcache", NULL, 0); zephir_check_call_status(); zephir_update_property_this(getThis(), SL("_cache"), _3$$3 TSRMLS_CC); } RETURN_MM_MEMBER(getThis(), "_cache"); }
PHP_METHOD(Test_NativeArray, Issue1140) { zend_long ZEPHIR_LAST_CALL_STATUS; zval *prefix_param = NULL, *baseDir_param = NULL, _0, _2, _3, _1$$3; zval prefix, baseDir; zval *this_ptr = getThis(); ZVAL_UNDEF(&prefix); ZVAL_UNDEF(&baseDir); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_2); ZVAL_UNDEF(&_3); ZVAL_UNDEF(&_1$$3); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &prefix_param, &baseDir_param); zephir_get_strval(&prefix, prefix_param); zephir_get_strval(&baseDir, baseDir_param); zephir_read_property(&_0, this_ptr, SL("prefixes"), PH_NOISY_CC | PH_READONLY); if (!(zephir_array_isset(&_0, &prefix))) { ZEPHIR_INIT_VAR(&_1$$3); array_init(&_1$$3); zephir_update_property_array(this_ptr, SL("prefixes"), &prefix, &_1$$3); ZEPHIR_INIT_NVAR(&_1$$3); } zephir_read_property(&_2, this_ptr, SL("prefixes"), PH_NOISY_CC | PH_READONLY); zephir_array_fetch(&_3, &_2, &prefix, PH_NOISY | PH_READONLY, "test/nativearray.zep", 639 TSRMLS_CC); ZEPHIR_MAKE_REF(&_3); ZEPHIR_CALL_FUNCTION(NULL, "array_push", NULL, 53, &_3, &baseDir); ZEPHIR_UNREF(&_3); zephir_check_call_status(); RETURN_MM_MEMBER(getThis(), "prefixes"); }
PHP_METHOD(PhalconPlus_Db_Mysql, getConnection) { zval __$true, __$false, tryTimes, e, _0, _1$$4, _2$$4, _4$$3, _5$$5, _6$$5, _7$$5, _9$$5, _12$$6, _14$$6, _15$$6, _16$$6, _17$$6, _18$$7, _19$$7, _20$$7; zephir_fcall_cache_entry *_3 = NULL, *_8 = NULL, *_10 = NULL, *_13 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS, _11$$5; zval *this_ptr = getThis(); ZVAL_BOOL(&__$true, 1); ZVAL_BOOL(&__$false, 0); ZVAL_UNDEF(&tryTimes); ZVAL_UNDEF(&e); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1$$4); ZVAL_UNDEF(&_2$$4); ZVAL_UNDEF(&_4$$3); ZVAL_UNDEF(&_5$$5); ZVAL_UNDEF(&_6$$5); ZVAL_UNDEF(&_7$$5); ZVAL_UNDEF(&_9$$5); ZVAL_UNDEF(&_12$$6); ZVAL_UNDEF(&_14$$6); ZVAL_UNDEF(&_15$$6); ZVAL_UNDEF(&_16$$6); ZVAL_UNDEF(&_17$$6); ZVAL_UNDEF(&_18$$7); ZVAL_UNDEF(&_19$$7); ZVAL_UNDEF(&_20$$7); ZEPHIR_MM_GROW(); ZEPHIR_OBS_VAR(&tryTimes); zephir_read_property(&tryTimes, this_ptr, SL("retryTimes"), PH_NOISY_CC); while (1) { zephir_read_property(&_0, this_ptr, SL("connected"), PH_NOISY_CC | PH_READONLY); if (!(!(zephir_is_true(&_0)))) { break; } /* try_start_1: */ ZEPHIR_INIT_NVAR(&_1$$4); object_init_ex(&_1$$4, zephir_get_internal_ce(SL("phalcon\\db\\adapter\\pdo\\mysql"))); zephir_read_property(&_2$$4, this_ptr, SL("descriptor"), PH_NOISY_CC | PH_READONLY); ZEPHIR_CALL_METHOD(NULL, &_1$$4, "__construct", &_3, 0, &_2$$4); zephir_check_call_status_or_jump(try_end_1); zephir_update_property_zval(this_ptr, SL("connection"), &_1$$4); if (1) { zephir_update_property_zval(this_ptr, SL("connected"), &__$true); } else { zephir_update_property_zval(this_ptr, SL("connected"), &__$false); } try_end_1: if (EG(exception)) { ZEPHIR_INIT_NVAR(&_4$$3); ZVAL_OBJ(&_4$$3, EG(exception)); Z_ADDREF_P(&_4$$3); if (zephir_instance_of_ev(&_4$$3, zend_exception_get_default(TSRMLS_C) TSRMLS_CC)) { zend_clear_exception(TSRMLS_C); ZEPHIR_CPY_WRT(&e, &_4$$3); ZEPHIR_INIT_NVAR(&_5$$5); zephir_read_property(&_6$$5, this_ptr, SL("descriptor"), PH_NOISY_CC | PH_READONLY); zephir_json_encode(&_5$$5, &_6$$5, 0 ); ZEPHIR_CALL_FUNCTION(&_7$$5, "strval", &_8, 27, &tryTimes); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_9$$5); ZEPHIR_CONCAT_SVSVS(&_9$$5, "PHP Fatal error: PhalconPlus::Db::MySQL::connect() failed to connect to MySQL. Detail: ", &_5$$5, ". We will try ", &_7$$5, " times for you."); ZEPHIR_CALL_FUNCTION(NULL, "error_log", &_10, 50, &_9$$5); zephir_check_call_status(); _11$$5 = (zephir_get_numberval(&tryTimes) - 1); ZEPHIR_INIT_NVAR(&tryTimes); ZVAL_LONG(&tryTimes, _11$$5); if (ZEPHIR_GT_LONG(&tryTimes, 0)) { zephir_read_property(&_12$$6, this_ptr, SL("retryInterval"), PH_NOISY_CC | PH_READONLY); ZEPHIR_CALL_FUNCTION(NULL, "usleep", &_13, 57, &_12$$6); zephir_check_call_status(); zephir_read_property(&_14$$6, this_ptr, SL("retryTimes"), PH_NOISY_CC | PH_READONLY); ZEPHIR_SINIT_NVAR(_15$$6); zephir_sub_function(&_15$$6, &_14$$6, &tryTimes); ZEPHIR_CALL_FUNCTION(&_16$$6, "strval", &_8, 27, &_15$$6); zephir_check_call_status(); ZEPHIR_INIT_LNVAR(_17$$6); ZEPHIR_CONCAT_SVS(&_17$$6, "PHP Notice: PhalconPlus::Db::MySQL::connnect() retry to connect to MySQL for the ", &_16$$6, " time ... "); ZEPHIR_CALL_FUNCTION(NULL, "error_log", &_10, 50, &_17$$6); zephir_check_call_status(); } else { ZEPHIR_INIT_NVAR(&_18$$7); zephir_read_property(&_19$$7, this_ptr, SL("descriptor"), PH_NOISY_CC | PH_READONLY); zephir_json_encode(&_18$$7, &_19$$7, 0 ); ZEPHIR_INIT_LNVAR(_20$$7); ZEPHIR_CONCAT_SV(&_20$$7, "PHP Fatal error: PhalconPlus::Db::MySQL::connect() finally failed to connect to MySQL. Detail: ", &_18$$7); ZEPHIR_CALL_FUNCTION(NULL, "error_log", &_10, 50, &_20$$7); zephir_check_call_status(); zephir_throw_exception_debug(&e, "phalconplus/Db/Mysql.zep", 77 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } } } RETURN_MM_MEMBER(getThis(), "connection"); }
/** * Validate a set of data according to a set of rules * * @param array|object data * @param object entity * @return \Phalcon\Validation\Message\Group */ PHP_METHOD(Phalcon_Validation, validate) { zend_bool _0$$7; HashTable *_2, *_10; HashPosition _1, _9; zephir_fcall_cache_entry *_5 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *data = NULL, *entity = NULL, *validators = NULL, *messages = NULL, *scope = NULL, *field = NULL, *validator = NULL, *status = NULL, *combinedFieldsValidators = NULL, **_3, **_11, *_4$$10 = NULL, *_6$$10 = NULL, *_7$$14 = NULL, *_8$$14 = NULL, *_12$$16 = NULL, *_13$$16 = NULL, *_14$$20 = NULL, *_15$$20 = NULL, *_16$$22; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 2, &data, &entity); if (!data) { data = ZEPHIR_GLOBAL(global_null); } if (!entity) { entity = ZEPHIR_GLOBAL(global_null); } ZEPHIR_OBS_VAR(validators); zephir_read_property_this(&validators, this_ptr, SL("_validators"), PH_NOISY_CC); ZEPHIR_OBS_VAR(combinedFieldsValidators); zephir_read_property_this(&combinedFieldsValidators, this_ptr, SL("_combinedFieldsValidators"), PH_NOISY_CC); if (Z_TYPE_P(validators) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "There are no validators to validate", "phalcon/validation.zep", 94); return; } zephir_update_property_this(getThis(), SL("_values"), ZEPHIR_GLOBAL(global_null) TSRMLS_CC); ZEPHIR_INIT_VAR(messages); object_init_ex(messages, phalcon_validation_message_group_ce); ZEPHIR_CALL_METHOD(NULL, messages, "__construct", NULL, 3); zephir_check_call_status(); if (Z_TYPE_P(entity) != IS_NULL) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "setentity", NULL, 0, entity); zephir_check_call_status(); } if ((zephir_method_exists_ex(this_ptr, SS("beforevalidation") TSRMLS_CC) == SUCCESS)) { ZEPHIR_CALL_METHOD(&status, this_ptr, "beforevalidation", NULL, 0, data, entity, messages); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(status)) { RETURN_CCTOR(status); } } zephir_update_property_this(getThis(), SL("_messages"), messages TSRMLS_CC); if (Z_TYPE_P(data) != IS_NULL) { _0$$7 = Z_TYPE_P(data) == IS_ARRAY; if (!(_0$$7)) { _0$$7 = Z_TYPE_P(data) == IS_OBJECT; } if (_0$$7) { zephir_update_property_this(getThis(), SL("_data"), data TSRMLS_CC); } else { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "Invalid data to validate", "phalcon/validation.zep", 127); return; } } zephir_is_iterable(validators, &_2, &_1, 0, 0, "phalcon/validation.zep", 161); for ( ; zend_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zend_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HVALUE(scope, _3); if (Z_TYPE_P(scope) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "The validator scope is not valid", "phalcon/validation.zep", 134); return; } ZEPHIR_OBS_NVAR(field); zephir_array_fetch_long(&field, scope, 0, PH_NOISY, "phalcon/validation.zep", 137 TSRMLS_CC); ZEPHIR_OBS_NVAR(validator); zephir_array_fetch_long(&validator, scope, 1, PH_NOISY, "phalcon/validation.zep", 138 TSRMLS_CC); if (Z_TYPE_P(validator) != IS_OBJECT) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "One of the validators is not valid", "phalcon/validation.zep", 141); return; } ZEPHIR_CALL_METHOD(&_4$$10, this_ptr, "prechecking", &_5, 0, field, validator); zephir_check_call_status(); if (zephir_is_true(_4$$10)) { continue; } ZEPHIR_CALL_METHOD(&_6$$10, validator, "validate", NULL, 0, this_ptr, field); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_6$$10)) { ZEPHIR_INIT_NVAR(_8$$14); ZVAL_STRING(_8$$14, "cancelOnFail", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_7$$14, validator, "getoption", NULL, 0, _8$$14); zephir_check_temp_parameter(_8$$14); zephir_check_call_status(); if (zephir_is_true(_7$$14)) { break; } } } zephir_is_iterable(combinedFieldsValidators, &_10, &_9, 0, 0, "phalcon/validation.zep", 193); for ( ; zend_hash_get_current_data_ex(_10, (void**) &_11, &_9) == SUCCESS ; zend_hash_move_forward_ex(_10, &_9) ) { ZEPHIR_GET_HVALUE(scope, _11); if (Z_TYPE_P(scope) != IS_ARRAY) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "The validator scope is not valid", "phalcon/validation.zep", 163); return; } ZEPHIR_OBS_NVAR(field); zephir_array_fetch_long(&field, scope, 0, PH_NOISY, "phalcon/validation.zep", 166 TSRMLS_CC); ZEPHIR_OBS_NVAR(validator); zephir_array_fetch_long(&validator, scope, 1, PH_NOISY, "phalcon/validation.zep", 167 TSRMLS_CC); if (Z_TYPE_P(validator) != IS_OBJECT) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "One of the validators is not valid", "phalcon/validation.zep", 170); return; } ZEPHIR_CALL_METHOD(&_12$$16, this_ptr, "prechecking", &_5, 0, field, validator); zephir_check_call_status(); if (zephir_is_true(_12$$16)) { continue; } ZEPHIR_CALL_METHOD(&_13$$16, validator, "validate", NULL, 0, this_ptr, field); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_13$$16)) { ZEPHIR_INIT_NVAR(_15$$20); ZVAL_STRING(_15$$20, "cancelOnFail", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_14$$20, validator, "getoption", NULL, 0, _15$$20); zephir_check_temp_parameter(_15$$20); zephir_check_call_status(); if (zephir_is_true(_14$$20)) { break; } } } if ((zephir_method_exists_ex(this_ptr, SS("aftervalidation") TSRMLS_CC) == SUCCESS)) { _16$$22 = zephir_fetch_nproperty_this(this_ptr, SL("_messages"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, this_ptr, "aftervalidation", NULL, 0, data, entity, _16$$22); zephir_check_call_status(); } RETURN_MM_MEMBER(getThis(), "_messages"); }
/** * Returns the cookie's value * * @param string|array filters * @param string defaultValue * @return mixed */ PHP_METHOD(Phalcon_Http_Cookie, getValue) { int ZEPHIR_LAST_CALL_STATUS; zval *filters = NULL, *defaultValue = NULL, *_COOKIE, *dependencyInjector = NULL, *value = NULL, *crypt = NULL, *decryptedValue = NULL, *filter = NULL, *_0, *_1, *_2$$4, *_3$$5, *_4$$6, *_5$$6, *_6$$11, *_7$$10; ZEPHIR_MM_GROW(); zephir_get_global(&_COOKIE, SS("_COOKIE") TSRMLS_CC); zephir_fetch_params(1, 0, 2, &filters, &defaultValue); if (!filters) { filters = ZEPHIR_GLOBAL(global_null); } if (!defaultValue) { defaultValue = ZEPHIR_GLOBAL(global_null); } _0 = zephir_fetch_nproperty_this(this_ptr, SL("_restored"), PH_NOISY_CC); if (!(zephir_is_true(_0))) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "restore", NULL, 0); zephir_check_call_status(); } ZEPHIR_INIT_VAR(dependencyInjector); ZVAL_NULL(dependencyInjector); _1 = zephir_fetch_nproperty_this(this_ptr, SL("_readed"), PH_NOISY_CC); if (ZEPHIR_IS_FALSE_IDENTICAL(_1)) { ZEPHIR_OBS_VAR(value); _2$$4 = zephir_fetch_nproperty_this(this_ptr, SL("_name"), PH_NOISY_CC); if (zephir_array_isset_fetch(&value, _COOKIE, _2$$4, 0 TSRMLS_CC)) { _3$$5 = zephir_fetch_nproperty_this(this_ptr, SL("_useEncryption"), PH_NOISY_CC); if (zephir_is_true(_3$$5)) { _4$$6 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC); ZEPHIR_CPY_WRT(dependencyInjector, _4$$6); if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_http_response_exception_ce, "A dependency injection object is required to access the 'filter' service", "phalcon/http/cookie.zep", 152); return; } ZEPHIR_INIT_VAR(_5$$6); ZVAL_STRING(_5$$6, "crypt", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&crypt, dependencyInjector, "getshared", NULL, 0, _5$$6); zephir_check_temp_parameter(_5$$6); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&decryptedValue, crypt, "decryptbase64", NULL, 0, value); zephir_check_call_status(); } else { ZEPHIR_CPY_WRT(decryptedValue, value); } zephir_update_property_this(this_ptr, SL("_value"), decryptedValue TSRMLS_CC); if (Z_TYPE_P(filters) != IS_NULL) { ZEPHIR_OBS_VAR(filter); zephir_read_property_this(&filter, this_ptr, SL("_filter"), PH_NOISY_CC); if (Z_TYPE_P(filter) != IS_OBJECT) { if (Z_TYPE_P(dependencyInjector) == IS_NULL) { _6$$11 = zephir_fetch_nproperty_this(this_ptr, SL("_dependencyInjector"), PH_NOISY_CC); ZEPHIR_CPY_WRT(dependencyInjector, _6$$11); if (Z_TYPE_P(dependencyInjector) != IS_OBJECT) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_http_response_exception_ce, "A dependency injection object is required to access the 'filter' service", "phalcon/http/cookie.zep", 178); return; } } ZEPHIR_INIT_VAR(_7$$10); ZVAL_STRING(_7$$10, "filter", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&filter, dependencyInjector, "getshared", NULL, 0, _7$$10); zephir_check_temp_parameter(_7$$10); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_filter"), filter TSRMLS_CC); } ZEPHIR_RETURN_CALL_METHOD(filter, "sanitize", NULL, 0, decryptedValue, filters); zephir_check_call_status(); RETURN_MM(); } RETURN_CCTOR(decryptedValue); } RETVAL_ZVAL(defaultValue, 1, 0); RETURN_MM(); } RETURN_MM_MEMBER(this_ptr, "_value"); }
/** * Renders a view * * @param string path * @param array params * @return string */ PHP_METHOD(Phalcon_Mvc_View_Simple, render) { int ZEPHIR_LAST_CALL_STATUS; zval *path_param = NULL, *params = NULL, *cache = NULL, *key = NULL, *lifetime = NULL, *cacheOptions, *content = NULL, *viewParams, *mergedParams = NULL, *_0 = NULL, *_1, *_2 = NULL; zval *path = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &path_param, ¶ms); 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 (!params) { params = ZEPHIR_GLOBAL(global_null); } ZEPHIR_CALL_METHOD(&cache, this_ptr, "getcache", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(cache) == IS_OBJECT) { ZEPHIR_CALL_METHOD(&_0, cache, "isstarted", NULL, 0); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_0)) { ZEPHIR_INIT_VAR(key); ZVAL_NULL(key); ZEPHIR_INIT_VAR(lifetime); ZVAL_NULL(lifetime); ZEPHIR_OBS_VAR(cacheOptions); zephir_read_property_this(&cacheOptions, this_ptr, SL("_cacheOptions"), PH_NOISY_CC); if (Z_TYPE_P(cacheOptions) == IS_ARRAY) { ZEPHIR_OBS_NVAR(key); zephir_array_isset_string_fetch(&key, cacheOptions, SS("key"), 0 TSRMLS_CC); ZEPHIR_OBS_NVAR(lifetime); zephir_array_isset_string_fetch(&lifetime, cacheOptions, SS("lifetime"), 0 TSRMLS_CC); } if (Z_TYPE_P(key) == IS_NULL) { ZEPHIR_INIT_NVAR(key); zephir_md5(key, path); } ZEPHIR_CALL_METHOD(&content, cache, "start", NULL, 0, key, lifetime); zephir_check_call_status(); if (Z_TYPE_P(content) != IS_NULL) { zephir_update_property_this(this_ptr, SL("_content"), content TSRMLS_CC); RETURN_CCTOR(content); } } } ZEPHIR_INIT_VAR(_1); zephir_create_symbol_table(TSRMLS_C); ZEPHIR_CALL_FUNCTION(NULL, "ob_start", NULL, 116); zephir_check_call_status(); ZEPHIR_OBS_VAR(viewParams); zephir_read_property_this(&viewParams, this_ptr, SL("_viewParams"), PH_NOISY_CC); if (Z_TYPE_P(params) == IS_ARRAY) { if (Z_TYPE_P(viewParams) == IS_ARRAY) { ZEPHIR_INIT_VAR(mergedParams); zephir_fast_array_merge(mergedParams, &(viewParams), &(params) TSRMLS_CC); } else { ZEPHIR_CPY_WRT(mergedParams, params); } } else { ZEPHIR_CPY_WRT(mergedParams, viewParams); } ZEPHIR_CALL_METHOD(NULL, this_ptr, "_internalrender", NULL, 389, path, mergedParams); zephir_check_call_status(); if (Z_TYPE_P(cache) == IS_OBJECT) { ZEPHIR_CALL_METHOD(&_0, cache, "isstarted", NULL, 0); zephir_check_call_status(); if (ZEPHIR_IS_TRUE_IDENTICAL(_0)) { ZEPHIR_CALL_METHOD(&_2, cache, "isfresh", NULL, 0); zephir_check_call_status(); if (ZEPHIR_IS_TRUE_IDENTICAL(_2)) { ZEPHIR_CALL_METHOD(NULL, cache, "save", NULL, 0); zephir_check_call_status(); } else { ZEPHIR_CALL_METHOD(NULL, cache, "stop", NULL, 0); zephir_check_call_status(); } } else { ZEPHIR_CALL_METHOD(NULL, cache, "stop", NULL, 0); zephir_check_call_status(); } } ZEPHIR_CALL_FUNCTION(NULL, "ob_end_clean", NULL, 118); zephir_check_call_status(); RETURN_MM_MEMBER(this_ptr, "_content"); }