PHP_METHOD(Test_Bench_Foo, read_const) { int _1; zend_bool _0; zval *n, *i = NULL, x = zval_used_for_init, *_2 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n); ZEPHIR_CPY_WRT(_2, n); _1 = 1; _0 = 0; if (ZEPHIR_GE_LONG(_2, _1)) { while (1) { if (_0) { _1++; if (!(ZEPHIR_GE_LONG(_2, _1))) { break; } } else { _0 = 1; } ZEPHIR_INIT_NVAR(i); ZVAL_LONG(i, _1); ZEPHIR_SINIT_NVAR(x); ZVAL_LONG(&x, 0); } } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Test_Fibonnaci, fibonacciFinalRecursive) { zval *n_param = NULL, *_0, _1 = zval_used_for_init, *_2; int n; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); n = zephir_get_intval(n_param); if ((n == 0)) { RETURN_MM_LONG(0); } else { if ((n == 1)) { RETURN_MM_LONG(1); } else { ZEPHIR_INIT_VAR(_0); ZEPHIR_SINIT_VAR(_1); ZVAL_LONG(&_1, (n - 1)); zephir_call_internal_method_p1(_0, this_ptr, "fibonaccifinalrecursive", ZEND_MN(Test_Fibonnaci_fibonacciFinalRecursive), &_1); ZEPHIR_INIT_VAR(_2); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, (n - 2)); zephir_call_internal_method_p1(_2, this_ptr, "fibonaccifinalrecursive", ZEND_MN(Test_Fibonnaci_fibonacciFinalRecursive), &_1); zephir_add_function(return_value, _0, _2 TSRMLS_CC); RETURN_MM(); } } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Test_BuiltIn_IntMethods, getLog) { zephir_nts_static zephir_fcall_cache_entry *_2 = NULL; zval *num_param = NULL, *base_param = NULL, _0 = zval_used_for_init, *_1 = NULL, _3; int num, base, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &num_param, &base_param); num = zephir_get_intval(num_param); if (!base_param) { base = -1; } else { base = zephir_get_intval(base_param); } if (base == -1) { ZEPHIR_SINIT_VAR(_0); ZVAL_LONG(&_0, num); ZEPHIR_CALL_FUNCTION(&_1, "log", &_2, &_0); zephir_check_call_status(); RETURN_CCTOR(_1); } ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, num); ZEPHIR_SINIT_VAR(_3); ZVAL_LONG(&_3, base); ZEPHIR_CALL_FUNCTION(&_1, "log", &_2, &_0, &_3); zephir_check_call_status(); RETURN_CCTOR(_1); }
/** * Returns the numeric active version * * <code> * echo Phalcon\Version::getId(); * </code> */ PHP_METHOD(Phalcon_Version, getId) { zval *version = NULL, *major = NULL, *medium = NULL, *minor = NULL, *special = NULL, *specialNumber = NULL, _0 = zval_used_for_init, *_1 = NULL, *_3 = NULL; zephir_fcall_cache_entry *_2 = NULL; int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_CALL_STATIC(&version, "_getversion", NULL, 0); zephir_check_call_status(); ZEPHIR_OBS_VAR(major); zephir_array_fetch_long(&major, version, 0, PH_NOISY, "phalcon/version.zep", 169 TSRMLS_CC); ZEPHIR_OBS_VAR(medium); zephir_array_fetch_long(&medium, version, 1, PH_NOISY, "phalcon/version.zep", 170 TSRMLS_CC); ZEPHIR_OBS_VAR(minor); zephir_array_fetch_long(&minor, version, 2, PH_NOISY, "phalcon/version.zep", 171 TSRMLS_CC); ZEPHIR_OBS_VAR(special); zephir_array_fetch_long(&special, version, 3, PH_NOISY, "phalcon/version.zep", 172 TSRMLS_CC); ZEPHIR_OBS_VAR(specialNumber); zephir_array_fetch_long(&specialNumber, version, 4, PH_NOISY, "phalcon/version.zep", 173 TSRMLS_CC); ZEPHIR_SINIT_VAR(_0); ZVAL_STRING(&_0, "%02s", 0); ZEPHIR_CALL_FUNCTION(&_1, "sprintf", &_2, 197, &_0, medium); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "%02s", 0); ZEPHIR_CALL_FUNCTION(&_3, "sprintf", &_2, 197, &_0, minor); zephir_check_call_status(); ZEPHIR_CONCAT_VVVVV(return_value, major, _1, _3, special, specialNumber); RETURN_MM(); }
PHP_METHOD(Test_Fibonnaci, fibonacciFinalRecursive) { zephir_fcall_cache_entry *_2 = NULL; zval *n_param = NULL, *_0 = NULL, _1 = zval_used_for_init, *_3 = NULL; int n, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &n_param); n = zephir_get_intval(n_param); if (n == 0) { RETURN_MM_LONG(0); } else { if (n == 1) { RETURN_MM_LONG(1); } else { ZEPHIR_SINIT_VAR(_1); ZVAL_LONG(&_1, (n - 1)); ZEPHIR_CALL_METHOD(&_0, this_ptr, "fibonaccifinalrecursive", &_2, 34, &_1); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, (n - 2)); ZEPHIR_CALL_METHOD(&_3, this_ptr, "fibonaccifinalrecursive", &_2, 34, &_1); zephir_check_call_status(); zephir_add_function_ex(return_value, _0, _3 TSRMLS_CC); RETURN_MM(); } } }
PHP_METHOD(Transbybd_TransApi, __callMutil) { int ZEPHIR_LAST_CALL_STATUS, i; zephir_fcall_cache_entry *_1 = NULL, *_2 = NULL; zval *args_param = NULL, *ret = NULL, _0$$5 = zval_used_for_init; zval *args = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &args_param); args = args_param; ZEPHIR_INIT_VAR(ret); ZVAL_BOOL(ret, 0); i = 0; while (1) { if (i > 1) { break; } if (i == 1) { ZEPHIR_SINIT_NVAR(_0$$5); ZVAL_LONG(&_0$$5, 1); ZEPHIR_CALL_FUNCTION(NULL, "sleep", &_1, 4, &_0$$5); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(&ret, this_ptr, "__callonce", &_2, 5, args); zephir_check_call_status(); i++; } RETURN_CCTOR(ret); }
/** * Applies a format to a message before sent it to the internal log * * @param string message * @param int type * @param int timestamp * @param array $context * @return string */ PHP_METHOD(Phalcon_Logger_Formatter_Line, format) { zend_long type, timestamp, ZEPHIR_LAST_CALL_STATUS; zval *message_param = NULL, *type_param = NULL, *timestamp_param = NULL, *context = NULL, *format = NULL, *_8, _9, *_10, *_11, *_0$$3, *_1$$3, _2$$3 = zval_used_for_init, *_3$$3 = NULL, *_4$$4, *_5$$4 = NULL, *_6$$4, _7$$4; zval *message = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 3, 1, &message_param, &type_param, ×tamp_param, &context); zephir_get_strval(message, message_param); type = zephir_get_intval(type_param); timestamp = zephir_get_intval(timestamp_param); if (!context) { context = ZEPHIR_GLOBAL(global_null); } ZEPHIR_OBS_VAR(format); zephir_read_property_this(&format, this_ptr, SL("_format"), PH_NOISY_CC); if (zephir_memnstr_str(format, SL("%date%"), "phalcon/logger/formatter/line.zep", 80)) { ZEPHIR_INIT_VAR(_0$$3); _1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("_dateFormat"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_2$$3); ZVAL_LONG(&_2$$3, timestamp); ZEPHIR_CALL_FUNCTION(&_3$$3, "date", NULL, 306, _1$$3, &_2$$3); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_2$$3); ZVAL_STRING(&_2$$3, "%date%", 0); zephir_fast_str_replace(&_0$$3, &_2$$3, _3$$3, format TSRMLS_CC); ZEPHIR_CPY_WRT(format, _0$$3); } if (zephir_memnstr_str(format, SL("%type%"), "phalcon/logger/formatter/line.zep", 87)) { ZEPHIR_INIT_VAR(_4$$4); ZEPHIR_INIT_VAR(_6$$4); ZVAL_LONG(_6$$4, type); ZEPHIR_CALL_METHOD(&_5$$4, this_ptr, "gettypestring", NULL, 0, _6$$4); zephir_check_call_status(); ZEPHIR_SINIT_VAR(_7$$4); ZVAL_STRING(&_7$$4, "%type%", 0); zephir_fast_str_replace(&_4$$4, &_7$$4, _5$$4, format TSRMLS_CC); ZEPHIR_CPY_WRT(format, _4$$4); } ZEPHIR_INIT_VAR(_8); ZEPHIR_SINIT_VAR(_9); ZVAL_STRING(&_9, "%message%", 0); zephir_fast_str_replace(&_8, &_9, message, format TSRMLS_CC); ZEPHIR_INIT_VAR(_10); ZEPHIR_GET_CONSTANT(_10, "PHP_EOL"); ZEPHIR_INIT_VAR(_11); ZEPHIR_CONCAT_VV(_11, _8, _10); ZEPHIR_CPY_WRT(format, _11); if (Z_TYPE_P(context) == IS_ARRAY) { ZEPHIR_RETURN_CALL_METHOD(this_ptr, "interpolate", NULL, 0, format, context); zephir_check_call_status(); RETURN_MM(); } RETURN_CCTOR(format); }
/** * Encrypts a text returning the result as a base64 string */ PHP_METHOD(Phalcon_Crypt, encryptBase64) { zephir_fcall_cache_entry *_1 = NULL, *_3 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zend_bool safe; zval *text_param = NULL, *key = NULL, *safe_param = NULL, *_0$$3 = NULL, *_2$$3 = NULL, _4$$3 = zval_used_for_init, _5$$3, *_6$$3 = NULL, *_7 = NULL; zval *text = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 2, &text_param, &key, &safe_param); if (UNEXPECTED(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 (EXPECTED(Z_TYPE_P(text_param) == IS_STRING)) { zephir_get_strval(text, text_param); } else { ZEPHIR_INIT_VAR(text); ZVAL_EMPTY_STRING(text); } if (!key) { key = ZEPHIR_GLOBAL(global_null); } if (!safe_param) { safe = 0; } else { if (UNEXPECTED(Z_TYPE_P(safe_param) != IS_BOOL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'safe' must be a bool") TSRMLS_CC); RETURN_MM_NULL(); } safe = Z_BVAL_P(safe_param); } if (safe == 1) { ZEPHIR_CALL_METHOD(&_0$$3, this_ptr, "encrypt", &_1, 0, text, key); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_2$$3, "base64_encode", &_3, 132, _0$$3); zephir_check_call_status(); ZEPHIR_SINIT_VAR(_4$$3); ZVAL_STRING(&_4$$3, "+/", 0); ZEPHIR_SINIT_VAR(_5$$3); ZVAL_STRING(&_5$$3, "-_", 0); ZEPHIR_CALL_FUNCTION(&_6$$3, "strtr", NULL, 27, _2$$3, &_4$$3, &_5$$3); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_4$$3); ZVAL_STRING(&_4$$3, "=", 0); zephir_fast_trim(return_value, _6$$3, &_4$$3, ZEPHIR_TRIM_RIGHT TSRMLS_CC); RETURN_MM(); } ZEPHIR_CALL_METHOD(&_7, this_ptr, "encrypt", &_1, 0, text, key); zephir_check_call_status(); ZEPHIR_RETURN_CALL_FUNCTION("base64_encode", &_3, 132, _7); zephir_check_call_status(); RETURN_MM(); }
/** * @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); }
PHP_METHOD(PocketMine_Math_Vector2, distanceSquared) { zephir_nts_static zephir_fcall_cache_entry *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *x, *y = NULL, *_0 = NULL, *_1 = NULL, *_2 = NULL, _3 = zval_used_for_init, _4 = zval_used_for_init, *_6 = NULL, *_7; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &x, &y); if (!y) { ZEPHIR_INIT_VAR(y); ZVAL_LONG(y, 0); } if (zephir_instance_of_ev(x, pocketmine_math_vector2_ce TSRMLS_CC)) { ZEPHIR_OBS_VAR(_1); zephir_read_property(&_1, x, SL("x"), PH_NOISY_CC); ZEPHIR_OBS_VAR(_2); zephir_read_property(&_2, x, SL("y"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(&_0, this_ptr, "distancesquared", NULL, _1, _2); zephir_check_call_status(); RETURN_MM_DOUBLE(zephir_get_doubleval(_0)); } ZEPHIR_OBS_NVAR(_1); zephir_read_property_this(&_1, this_ptr, SL("x"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_3); ZVAL_DOUBLE(&_3, (zephir_get_doubleval(_1) - zephir_get_doubleval(x))); ZEPHIR_SINIT_VAR(_4); ZVAL_LONG(&_4, 2); ZEPHIR_CALL_FUNCTION(&_0, "pow", &_5, &_3, &_4); zephir_check_call_status(); ZEPHIR_OBS_NVAR(_2); zephir_read_property_this(&_2, this_ptr, SL("y"), PH_NOISY_CC); ZEPHIR_SINIT_NVAR(_3); ZVAL_DOUBLE(&_3, (zephir_get_doubleval(_2) - zephir_get_doubleval(y))); ZEPHIR_SINIT_NVAR(_4); ZVAL_LONG(&_4, 2); ZEPHIR_CALL_FUNCTION(&_6, "pow", &_5, &_3, &_4); zephir_check_call_status(); ZEPHIR_INIT_VAR(_7); zephir_add_function(_7, _0, _6 TSRMLS_CC); RETURN_MM_DOUBLE(zephir_get_doubleval(_7)); }
PHP_METHOD(Test_Fcall, testCall2) { zend_function *_2 = NULL; zval _0 = zval_used_for_init, _1 = zval_used_for_init; ZEPHIR_MM_GROW(); while (1) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 100); ZEPHIR_CALL_INTERNAL_FUNCTION(return_value, &return_value, "mt_rand", &_2, 2, &_0, &_1); RETURN_MM(); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Test_Fcall, testCall2) { int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_2 = NULL; zval _0 = zval_used_for_init, _1 = zval_used_for_init; ZEPHIR_MM_GROW(); while (1) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 100); ZEPHIR_RETURN_CALL_FUNCTION("mt_rand", &_2, &_0, &_1); zephir_check_call_status(); RETURN_MM(); } }
/** * Reads a packet from the socket. Prior to reading from the socket will * check for availability of the connection. */ PHP_METHOD(Phalcon_Queue_Beanstalk, read) { zephir_fcall_cache_entry *_1 = NULL; zval *length_param = NULL, *connection = NULL, *data = NULL, _4, _5, _0$$5 = zval_used_for_init, *_2$$5 = NULL, *_3$$5; int length, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &length_param); if (!length_param) { length = 0; } else { length = zephir_get_intval(length_param); } ZEPHIR_OBS_VAR(connection); zephir_read_property_this(&connection, this_ptr, SL("_connection"), PH_NOISY_CC); if (Z_TYPE_P(connection) != IS_RESOURCE) { ZEPHIR_CALL_METHOD(&connection, this_ptr, "connect", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(connection) != IS_RESOURCE) { RETURN_MM_BOOL(0); } } if (length) { if (zephir_feof(connection TSRMLS_CC)) { RETURN_MM_BOOL(0); } ZEPHIR_SINIT_VAR(_0$$5); ZVAL_LONG(&_0$$5, (length + 2)); ZEPHIR_CALL_FUNCTION(&data, "stream_get_line", &_1, 386, connection, &_0$$5); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_2$$5, "stream_get_meta_data", NULL, 387, connection); zephir_check_call_status(); zephir_array_fetch_string(&_3$$5, _2$$5, SL("timed_out"), PH_NOISY | PH_READONLY, "phalcon/queue/beanstalk.zep", 373 TSRMLS_CC); if (zephir_is_true(_3$$5)) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_queue_beanstalk_exception_ce, "Connection timed out", "phalcon/queue/beanstalk.zep", 374); return; } ZEPHIR_SINIT_NVAR(_0$$5); ZVAL_STRING(&_0$$5, "\r\n", 0); zephir_fast_trim(return_value, data, &_0$$5, ZEPHIR_TRIM_RIGHT TSRMLS_CC); RETURN_MM(); } ZEPHIR_SINIT_VAR(_4); ZVAL_LONG(&_4, 16384); ZEPHIR_SINIT_VAR(_5); ZVAL_STRING(&_5, "\r\n", 0); ZEPHIR_RETURN_CALL_FUNCTION("stream_get_line", &_1, 386, connection, &_4, &_5); zephir_check_call_status(); RETURN_MM(); }
/** * {@inheritDoc} */ PHP_METHOD(Lynx_Stdlib_Hydrator_ClassMethods, extract) { HashTable *_2; HashPosition _1; int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_0 = NULL, *_6 = NULL, *_9 = NULL, *_11 = NULL; zval *currentObject, *methods = NULL, *method = NULL, *attribute = NULL, *attributes, **_3, *_4 = NULL, *_5 = NULL, _7 = zval_used_for_init, *_8 = NULL, *_10 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, ¤tObject); if (unlikely(Z_TYPE_P(currentObject) != IS_OBJECT)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'currentObject' must be an object") TSRMLS_CC); RETURN_MM_NULL(); } ZEPHIR_CALL_FUNCTION(&methods, "get_class_methods", &_0, currentObject); zephir_check_call_status(); ZEPHIR_INIT_VAR(attributes); array_init(attributes); zephir_is_iterable(methods, &_2, &_1, 0, 0, "lynx/Stdlib/Hydrator/ClassMethods.zep", 48); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HVALUE(method, _3); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "/^get/", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_FUNCTION(&_5, "preg_match", &_6, _4, method); zephir_check_temp_parameter(_4); zephir_check_call_status(); if (zephir_is_true(_5)) { ZEPHIR_SINIT_NVAR(_7); ZVAL_LONG(&_7, 3); ZEPHIR_INIT_NVAR(attribute); zephir_substr(attribute, method, 3 , 0, ZEPHIR_SUBSTR_NO_LENGTH); ZEPHIR_CALL_FUNCTION(&_8, "property_exists", &_9, currentObject, attribute); zephir_check_call_status(); if (!zephir_is_true(_8)) { ZEPHIR_CALL_FUNCTION(&_10, "lcfirst", &_11, attribute); zephir_check_call_status(); ZEPHIR_CPY_WRT(attribute, _10); ZEPHIR_CALL_METHOD(&_10, currentObject, "attributes", NULL); zephir_check_call_status(); zephir_array_update_zval(&attributes, attribute, &_10, PH_COPY | PH_SEPARATE); } } } RETURN_CCTOR(attributes); }
PHP_METHOD(Test_Statements, test544Issue) { zephir_fcall_cache_entry *_8 = NULL; zval *step_param = NULL, *_0, *_1, *_2, *_3, *_4, *_5, _6 = zval_used_for_init, *_7 = NULL, *_9, *_10, *_11 = NULL; int step, filledWidth, unfilledWidth, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &step_param); if (unlikely(Z_TYPE_P(step_param) != IS_LONG)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'step' must be a long/integer") TSRMLS_CC); RETURN_MM_NULL(); } step = Z_LVAL_P(step_param); _0 = zephir_fetch_nproperty_this(this_ptr, SL("totalSteps"), PH_NOISY_CC); _1 = zephir_fetch_nproperty_this(this_ptr, SL("totalSteps"), PH_NOISY_CC); if (ZEPHIR_GT_LONG(_0, step)) { _2 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); _3 = zephir_fetch_nproperty_this(this_ptr, SL("totalSteps"), PH_NOISY_CC); filledWidth = (long) ((zephir_safe_div_long_zval(((zephir_get_numberval(_2) - 1)), _3 TSRMLS_CC) * step)); _4 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); unfilledWidth = (((zephir_get_numberval(_4) - 1)) - filledWidth); _5 = zephir_fetch_nproperty_this(this_ptr, SL("filledChar"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_6); ZVAL_LONG(&_6, filledWidth); ZEPHIR_CALL_FUNCTION(&_7, "str_repeat", &_8, 17, _5, &_6); zephir_check_call_status(); _9 = zephir_fetch_nproperty_this(this_ptr, SL("arrow"), PH_NOISY_CC); _10 = zephir_fetch_nproperty_this(this_ptr, SL("unfilledChar"), PH_NOISY_CC); ZEPHIR_SINIT_NVAR(_6); ZVAL_LONG(&_6, unfilledWidth); ZEPHIR_CALL_FUNCTION(&_11, "str_repeat", &_8, 17, _10, &_6); zephir_check_call_status(); ZEPHIR_CONCAT_VVV(return_value, _7, _9, _11); RETURN_MM(); } else if (ZEPHIR_IS_LONG_IDENTICAL(_1, step)) { _2 = zephir_fetch_nproperty_this(this_ptr, SL("filledChar"), PH_NOISY_CC); _3 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); ZEPHIR_RETURN_CALL_FUNCTION("str_repeat", &_8, 17, _2, _3); zephir_check_call_status(); RETURN_MM(); } else { _2 = zephir_fetch_nproperty_this(this_ptr, SL("unfilledChar"), PH_NOISY_CC); _3 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); ZEPHIR_RETURN_CALL_FUNCTION("str_repeat", &_8, 17, _2, _3); zephir_check_call_status(); RETURN_MM(); } }
PHP_METHOD(Test_Statements, test544IssueWithVariable) { zephir_fcall_cache_entry *_6 = NULL; zval *step_param = NULL, *_0, *_1$$3, *_2$$3, *_3$$3, _4$$3 = zval_used_for_init, *_5$$3 = NULL, *_7$$3, *_8$$3, *_9$$3 = NULL, *_10$$4, *_11$$4, *_12$$5, *_13$$5; int step, ZEPHIR_LAST_CALL_STATUS, filledWidth = 0, unfilledWidth = 0, totalSteps = 0; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &step_param); if (unlikely(Z_TYPE_P(step_param) != IS_LONG)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'step' must be a int") TSRMLS_CC); RETURN_MM_NULL(); } step = Z_LVAL_P(step_param); _0 = zephir_fetch_nproperty_this(this_ptr, SL("totalSteps"), PH_NOISY_CC); totalSteps = zephir_get_numberval(_0); if (step < totalSteps) { _1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); filledWidth = (long) ((zephir_safe_div_long_long(((zephir_get_numberval(_1$$3) - 1)), totalSteps TSRMLS_CC) * step)); _2$$3 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); unfilledWidth = (((zephir_get_numberval(_2$$3) - 1)) - filledWidth); _3$$3 = zephir_fetch_nproperty_this(this_ptr, SL("filledChar"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_4$$3); ZVAL_LONG(&_4$$3, filledWidth); ZEPHIR_CALL_FUNCTION(&_5$$3, "str_repeat", &_6, 17, _3$$3, &_4$$3); zephir_check_call_status(); _7$$3 = zephir_fetch_nproperty_this(this_ptr, SL("arrow"), PH_NOISY_CC); _8$$3 = zephir_fetch_nproperty_this(this_ptr, SL("unfilledChar"), PH_NOISY_CC); ZEPHIR_SINIT_NVAR(_4$$3); ZVAL_LONG(&_4$$3, unfilledWidth); ZEPHIR_CALL_FUNCTION(&_9$$3, "str_repeat", &_6, 17, _8$$3, &_4$$3); zephir_check_call_status(); ZEPHIR_CONCAT_VVV(return_value, _5$$3, _7$$3, _9$$3); RETURN_MM(); } else if (step == totalSteps) { _10$$4 = zephir_fetch_nproperty_this(this_ptr, SL("filledChar"), PH_NOISY_CC); _11$$4 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); ZEPHIR_RETURN_CALL_FUNCTION("str_repeat", &_6, 17, _10$$4, _11$$4); zephir_check_call_status(); RETURN_MM(); } else { _12$$5 = zephir_fetch_nproperty_this(this_ptr, SL("unfilledChar"), PH_NOISY_CC); _13$$5 = zephir_fetch_nproperty_this(this_ptr, SL("width"), PH_NOISY_CC); ZEPHIR_RETURN_CALL_FUNCTION("str_repeat", &_6, 17, _12$$5, _13$$5); zephir_check_call_status(); RETURN_MM(); } }
PHP_METHOD(Test_Fcall, testCall3) { int ZEPHIR_LAST_CALL_STATUS; zephir_nts_static zephir_fcall_cache_entry *_2 = NULL, *_3 = NULL; zval *handle = NULL, *handle2 = NULL, *buffer = NULL, _0 = zval_used_for_init, _1 = zval_used_for_init; ZEPHIR_MM_GROW(); ZEPHIR_SINIT_VAR(_0); ZVAL_STRING(&_0, "inputfile.txt", 0); ZEPHIR_SINIT_VAR(_1); ZVAL_STRING(&_1, "r", 0); ZEPHIR_CALL_FUNCTION(&handle, "fopen", &_2, &_0, &_1); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "outputfile.txt", 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_STRING(&_1, "w", 0); ZEPHIR_CALL_FUNCTION(&handle2, "fopen", &_2, &_0, &_1); zephir_check_call_status(); if (zephir_is_true(handle)) { while (1) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 4096); ZEPHIR_CALL_FUNCTION(&buffer, "fgets", &_3, handle, &_0); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(buffer)) { break; } zephir_fwrite(NULL, handle2, buffer TSRMLS_CC); } zephir_fclose(handle TSRMLS_CC); zephir_fclose(handle2 TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Xs_Command, __toString) { int ZEPHIR_LAST_CALL_STATUS; zval *_0, *_1, _2 = zval_used_for_init, _3 = zval_used_for_init, *_4, *_5, *_6, *_7, *_8, _9, *_10 = NULL, *_11, *_12; ZEPHIR_MM_GROW(); _0 = zephir_fetch_nproperty_this(this_ptr, SL("buf1"), PH_NOISY_CC); if (zephir_fast_strlen_ev(_0) > 0xff) { _1 = zephir_fetch_nproperty_this(this_ptr, SL("buf1"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_2); ZVAL_LONG(&_2, 0); ZEPHIR_SINIT_VAR(_3); ZVAL_LONG(&_3, 0xff); ZEPHIR_INIT_VAR(_4); zephir_substr(_4, _1, 0 , 0xff , 0); zephir_update_property_this(this_ptr, SL("buf1"), _4 TSRMLS_CC); } _1 = zephir_fetch_nproperty_this(this_ptr, SL("cmd"), PH_NOISY_CC); _5 = zephir_fetch_nproperty_this(this_ptr, SL("arg1"), PH_NOISY_CC); _6 = zephir_fetch_nproperty_this(this_ptr, SL("arg2"), PH_NOISY_CC); _7 = zephir_fetch_nproperty_this(this_ptr, SL("buf1"), PH_NOISY_CC); _8 = zephir_fetch_nproperty_this(this_ptr, SL("buf"), PH_NOISY_CC); ZEPHIR_SINIT_NVAR(_2); ZVAL_STRING(&_2, "CCCCI", 0); ZEPHIR_SINIT_NVAR(_3); ZVAL_LONG(&_3, zephir_fast_strlen_ev(_7)); ZEPHIR_SINIT_VAR(_9); ZVAL_LONG(&_9, zephir_fast_strlen_ev(_8)); ZEPHIR_CALL_FUNCTION(&_10, "pack", NULL, 2, &_2, _1, _5, _6, &_3, &_9); zephir_check_call_status(); _11 = zephir_fetch_nproperty_this(this_ptr, SL("buf"), PH_NOISY_CC); _12 = zephir_fetch_nproperty_this(this_ptr, SL("buf1"), PH_NOISY_CC); ZEPHIR_CONCAT_VVV(return_value, _10, _11, _12); RETURN_MM(); }
/** * Phalcon\Http\Request\File constructor */ PHP_METHOD(Phalcon_Http_Request_File, __construct) { int ZEPHIR_LAST_CALL_STATUS; zval *file_param = NULL, *key = NULL, *name, *tempName, *size, *type, *error, _0 = zval_used_for_init, *_1 = NULL, *_2 = NULL; zval *file = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &file_param, &key); file = file_param; if (!key) { key = ZEPHIR_GLOBAL(global_null); } ZEPHIR_OBS_VAR(name); if (zephir_array_isset_string_fetch(&name, file, SS("name"), 0 TSRMLS_CC)) { zephir_update_property_this(this_ptr, SL("_name"), name TSRMLS_CC); ZEPHIR_SINIT_VAR(_0); ZVAL_STRING(&_0, "PATHINFO_EXTENSION", 0); ZEPHIR_CALL_FUNCTION(&_1, "defined", NULL, 204, &_0); zephir_check_call_status(); if (zephir_is_true(_1)) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 4); ZEPHIR_CALL_FUNCTION(&_2, "pathinfo", NULL, 205, name, &_0); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_extension"), _2 TSRMLS_CC); } } if (zephir_array_isset_string_fetch(&tempName, file, SS("tmp_name"), 1 TSRMLS_CC)) { zephir_update_property_this(this_ptr, SL("_tmp"), tempName TSRMLS_CC); } if (zephir_array_isset_string_fetch(&size, file, SS("size"), 1 TSRMLS_CC)) { zephir_update_property_this(this_ptr, SL("_size"), size TSRMLS_CC); } if (zephir_array_isset_string_fetch(&type, file, SS("type"), 1 TSRMLS_CC)) { zephir_update_property_this(this_ptr, SL("_type"), type TSRMLS_CC); } if (zephir_array_isset_string_fetch(&error, file, SS("error"), 1 TSRMLS_CC)) { zephir_update_property_this(this_ptr, SL("_error"), error TSRMLS_CC); } if (zephir_is_true(key)) { zephir_update_property_this(this_ptr, SL("_key"), key TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Test_Fcall, testCall3) { zend_function *_2 = NULL; zval *handle, *handle2, *buffer = NULL, _0 = zval_used_for_init, _1 = zval_used_for_init; ZEPHIR_MM_GROW(); ZEPHIR_SINIT_VAR(_0); ZVAL_STRING(&_0, "inputfile.txt", 0); ZEPHIR_SINIT_VAR(_1); ZVAL_STRING(&_1, "r", 0); ZEPHIR_INIT_VAR(handle); zephir_call_func_p2(handle, "fopen", &_0, &_1); ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "outputfile.txt", 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_STRING(&_1, "w", 0); ZEPHIR_INIT_VAR(handle2); zephir_call_func_p2(handle2, "fopen", &_0, &_1); if (zephir_is_true(handle)) { while (1) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 4096); ZEPHIR_INIT_NVAR(buffer); ZEPHIR_CALL_INTERNAL_FUNCTION(buffer, &buffer, "fgets", &_2, 2, handle, &_0); if (ZEPHIR_IS_FALSE(buffer)) { break; } zephir_fwrite(NULL, handle2, buffer TSRMLS_CC); } zephir_fclose(handle TSRMLS_CC); zephir_fclose(handle2 TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
PHP_METHOD(Transbybd_TransApi, __callOnce) { zephir_fcall_cache_entry *_1 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *args_param = NULL, *ch = NULL, *data = NULL, *r = NULL, _0 = zval_used_for_init, _2 = zval_used_for_init, *_3; zval *args = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &args_param); args = args_param; ZEPHIR_CALL_FUNCTION(&ch, "curl_init", NULL, 6); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&data, this_ptr, "__convert", NULL, 7, args); zephir_check_call_status(); ZEPHIR_SINIT_VAR(_0); ZVAL_LONG(&_0, 10015); ZEPHIR_CALL_FUNCTION(NULL, "curl_setopt", &_1, 8, ch, &_0, data); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 47); ZEPHIR_SINIT_VAR(_2); ZVAL_LONG(&_2, 1); ZEPHIR_CALL_FUNCTION(NULL, "curl_setopt", &_1, 8, ch, &_0, &_2); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 10002); ZEPHIR_SINIT_NVAR(_2); ZVAL_STRING(&_2, "http://api.fanyi.baidu.com/api/trans/vip/translate", 0); ZEPHIR_CALL_FUNCTION(NULL, "curl_setopt", &_1, 8, ch, &_0, &_2); zephir_check_call_status(); _3 = zephir_fetch_nproperty_this(this_ptr, SL("curl_timeout"), PH_NOISY_CC); ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 13); ZEPHIR_CALL_FUNCTION(NULL, "curl_setopt", &_1, 8, ch, &_0, _3); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 19913); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, 1); ZEPHIR_CALL_FUNCTION(NULL, "curl_setopt", &_1, 8, ch, &_0, &_2); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&r, "curl_exec", NULL, 9, ch); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(NULL, "curl_close", NULL, 10, ch); zephir_check_call_status(); RETURN_CCTOR(r); }
/** * Compare strings */ PHP_METHOD(Phalcon_Validation_Validator_Confirmation, compare) { zephir_fcall_cache_entry *_5 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *a_param = NULL, *b_param = NULL, *_0 = NULL, *_1, *_2, _3$$3 = zval_used_for_init, *_4$$3 = NULL, *_6$$3 = NULL; zval *a = NULL, *b = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &a_param, &b_param); zephir_get_strval(a, a_param); zephir_get_strval(b, b_param); ZEPHIR_INIT_VAR(_1); ZVAL_STRING(_1, "ignoreCase", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_VAR(_2); ZVAL_BOOL(_2, 0); ZEPHIR_CALL_METHOD(&_0, this_ptr, "getoption", NULL, 0, _1, _2); zephir_check_temp_parameter(_1); zephir_check_call_status(); if (zephir_is_true(_0)) { if (!((zephir_function_exists_ex(SS("mb_strtolower") TSRMLS_CC) == SUCCESS))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "Extension 'mbstring' is required", "phalcon/validation/validator/confirmation.zep", 122); return; } ZEPHIR_SINIT_VAR(_3$$3); ZVAL_STRING(&_3$$3, "utf-8", 0); ZEPHIR_CALL_FUNCTION(&_4$$3, "mb_strtolower", &_5, 200, a, &_3$$3); zephir_check_call_status(); zephir_get_strval(a, _4$$3); ZEPHIR_SINIT_NVAR(_3$$3); ZVAL_STRING(&_3$$3, "utf-8", 0); ZEPHIR_CALL_FUNCTION(&_6$$3, "mb_strtolower", &_5, 200, b, &_3$$3); zephir_check_call_status(); zephir_get_strval(b, _6$$3); } RETURN_MM_BOOL(ZEPHIR_IS_EQUAL(a, b)); }
PHP_METHOD(Yb_Std, bytesToSize) { zend_bool _0; zval *size; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_4 = NULL; long decimal; zval *bytes_param = NULL, *decimal_param = NULL, _1$$4 = zval_used_for_init, _2$$4, *_3$$4 = NULL, _5$$5 = zval_used_for_init, _6$$5, *_7$$5 = NULL, _8$$6 = zval_used_for_init, _9$$6, *_10$$6 = NULL, _11$$7 = zval_used_for_init, _12$$7, *_13$$7 = NULL, _14$$8 = zval_used_for_init, _15$$8, *_16$$8 = NULL; double bytes; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &bytes_param, &decimal_param); bytes = zephir_get_doubleval(bytes_param); if (!decimal_param) { decimal = 3; } else { decimal = zephir_get_intval(decimal_param); } ZEPHIR_INIT_VAR(size); ZVAL_STRING(size, "0", 1); _0 = decimal < 0; if (!(_0)) { _0 = decimal > 6; } if (_0) { decimal = 3; } if (bytes > 1099511627776.0) { ZEPHIR_SINIT_VAR(_1$$4); ZVAL_STRING(&_1$$4, "%%0.%dfT", 0); ZEPHIR_SINIT_VAR(_2$$4); ZVAL_LONG(&_2$$4, decimal); ZEPHIR_CALL_FUNCTION(&_3$$4, "sprintf", &_4, 1, &_1$$4, &_2$$4); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_1$$4); ZVAL_DOUBLE(&_1$$4, zephir_safe_div_double_long(bytes, 1099511627776.0 TSRMLS_CC)); ZEPHIR_RETURN_CALL_FUNCTION("sprintf", &_4, 1, _3$$4, &_1$$4); zephir_check_call_status(); RETURN_MM(); } if (bytes > 1073741824.0) { ZEPHIR_SINIT_VAR(_5$$5); ZVAL_STRING(&_5$$5, "%%0.%dfG", 0); ZEPHIR_SINIT_VAR(_6$$5); ZVAL_LONG(&_6$$5, decimal); ZEPHIR_CALL_FUNCTION(&_7$$5, "sprintf", &_4, 1, &_5$$5, &_6$$5); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_5$$5); ZVAL_DOUBLE(&_5$$5, zephir_safe_div_double_long(bytes, 1073741824.0 TSRMLS_CC)); ZEPHIR_RETURN_CALL_FUNCTION("sprintf", &_4, 1, _7$$5, &_5$$5); zephir_check_call_status(); RETURN_MM(); } if (bytes > 1048576.0) { ZEPHIR_SINIT_VAR(_8$$6); ZVAL_STRING(&_8$$6, "%%0.%dfM", 0); ZEPHIR_SINIT_VAR(_9$$6); ZVAL_LONG(&_9$$6, decimal); ZEPHIR_CALL_FUNCTION(&_10$$6, "sprintf", &_4, 1, &_8$$6, &_9$$6); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_8$$6); ZVAL_DOUBLE(&_8$$6, zephir_safe_div_double_long(bytes, 1048576.0 TSRMLS_CC)); ZEPHIR_RETURN_CALL_FUNCTION("sprintf", &_4, 1, _10$$6, &_8$$6); zephir_check_call_status(); RETURN_MM(); } if (bytes > 1024.0) { ZEPHIR_SINIT_VAR(_11$$7); ZVAL_STRING(&_11$$7, "%%0.%dfK", 0); ZEPHIR_SINIT_VAR(_12$$7); ZVAL_LONG(&_12$$7, decimal); ZEPHIR_CALL_FUNCTION(&_13$$7, "sprintf", &_4, 1, &_11$$7, &_12$$7); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_11$$7); ZVAL_DOUBLE(&_11$$7, zephir_safe_div_double_long(bytes, 1024.0 TSRMLS_CC)); ZEPHIR_RETURN_CALL_FUNCTION("sprintf", &_4, 1, _13$$7, &_11$$7); zephir_check_call_status(); RETURN_MM(); } if (bytes > 1.0) { ZEPHIR_SINIT_VAR(_14$$8); ZVAL_STRING(&_14$$8, "%%0.%dfB", 0); ZEPHIR_SINIT_VAR(_15$$8); ZVAL_LONG(&_15$$8, decimal); ZEPHIR_CALL_FUNCTION(&_16$$8, "sprintf", &_4, 1, &_14$$8, &_15$$8); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_14$$8); ZVAL_DOUBLE(&_14$$8, bytes); ZEPHIR_RETURN_CALL_FUNCTION("sprintf", &_4, 1, _16$$8, &_14$$8); zephir_check_call_status(); RETURN_MM(); } RETURN_CTOR(size); }
/** * Replaces placeholders from pattern returning a valid PCRE regular expression * * @param string pattern * @return string */ PHP_METHOD(Test_Router_Route, compilePattern) { zval *pattern = NULL, *idPattern, _0 = zval_used_for_init, *_1 = NULL, _2 = zval_used_for_init, *_3 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern); ZEPHIR_SEPARATE_PARAM(pattern); if (zephir_memnstr_str(pattern, SL(":"), "test/router/route.zep", 57)) { ZEPHIR_INIT_VAR(idPattern); ZVAL_STRING(idPattern, "/([a-zA-Z0-9\\_\\-]+)", 1); if (zephir_memnstr_str(pattern, SL("/:module"), "test/router/route.zep", 63)) { ZEPHIR_SINIT_VAR(_0); ZVAL_STRING(&_0, "/:module", 0); ZEPHIR_INIT_VAR(_1); zephir_call_func_p3(_1, "str_replace", &_0, idPattern, pattern); ZEPHIR_CPY_WRT(pattern, _1); } if (zephir_memnstr_str(pattern, SL("/:controller"), "test/router/route.zep", 68)) { ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "/:controller", 0); ZEPHIR_INIT_NVAR(_1); zephir_call_func_p3(_1, "str_replace", &_0, idPattern, pattern); ZEPHIR_CPY_WRT(pattern, _1); } if (zephir_memnstr_str(pattern, SL("/:namespace"), "test/router/route.zep", 73)) { ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "/:namespace", 0); ZEPHIR_INIT_NVAR(_1); zephir_call_func_p3(_1, "str_replace", &_0, idPattern, pattern); ZEPHIR_CPY_WRT(pattern, _1); } if (zephir_memnstr_str(pattern, SL("/:action"), "test/router/route.zep", 78)) { ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "/:action", 0); ZEPHIR_INIT_NVAR(_1); zephir_call_func_p3(_1, "str_replace", &_0, idPattern, pattern); ZEPHIR_CPY_WRT(pattern, _1); } if (zephir_memnstr_str(pattern, SL("/:params"), "test/router/route.zep", 83)) { ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "/:params", 0); ZEPHIR_SINIT_VAR(_2); ZVAL_STRING(&_2, "(/.*)*", 0); ZEPHIR_INIT_NVAR(_1); zephir_call_func_p3(_1, "str_replace", &_0, &_2, pattern); ZEPHIR_CPY_WRT(pattern, _1); } if (zephir_memnstr_str(pattern, SL("/:int"), "test/router/route.zep", 88)) { ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "/:int", 0); ZEPHIR_SINIT_NVAR(_2); ZVAL_STRING(&_2, "/([0-9]+)", 0); ZEPHIR_INIT_NVAR(_1); zephir_call_func_p3(_1, "str_replace", &_0, &_2, pattern); ZEPHIR_CPY_WRT(pattern, _1); } } if (zephir_memnstr_str(pattern, SL("("), "test/router/route.zep", 94)) { ZEPHIR_INIT_VAR(_3); ZEPHIR_CONCAT_SV(_3, "#^", pattern); ZEPHIR_CONCAT_VS(return_value, _3, "$#"); RETURN_MM(); } if (zephir_memnstr_str(pattern, SL("["), "test/router/route.zep", 99)) { ZEPHIR_INIT_LNVAR(_3); ZEPHIR_CONCAT_SV(_3, "#^", pattern); ZEPHIR_CONCAT_VS(return_value, _3, "$#"); RETURN_MM(); } RETURN_CCTOR(pattern); }
/** * Extracts parameters from a string * * @param string pattern */ PHP_METHOD(Test_Router_Route, extractNamedParams) { zend_bool notValid; int tmp, cursor, cursorVar, marker, bracketCount = 0, parenthesesCount = 0, foundPattern = 0, intermediate = 0, numberMatches = 0, _0, _5, _10; char ch; zval *pattern_param = NULL, *matches, _1 = zval_used_for_init, _2 = zval_used_for_init, *_3 = NULL, *_6 = NULL, *_8 = NULL; zval *pattern = NULL, *route, *item = NULL, *variable = NULL, *regexp = NULL, *_4 = NULL, *_7 = NULL, *_9 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern_param); zephir_get_strval(pattern, pattern_param); if ((zephir_fast_strlen_ev(pattern) <= 0)) { RETURN_MM_BOOL(0); } ZEPHIR_INIT_VAR(matches); array_init(matches); ZEPHIR_INIT_VAR(route); ZVAL_EMPTY_STRING(route); for (_0 = 0; _0 < Z_STRLEN_P(pattern); _0++) { cursor = _0; ch = Z_STRVAL_P(pattern)[_0]; if ((parenthesesCount == 0)) { if ((ch == '{')) { if ((bracketCount == 0)) { marker = (cursor + 1); intermediate = 0; notValid = 0; } bracketCount++; } else { if ((ch == '}')) { bracketCount--; if ((intermediate > 0)) { if ((bracketCount == 0)) { numberMatches++; ZEPHIR_INIT_NVAR(variable); ZVAL_EMPTY_STRING(variable); ZEPHIR_INIT_NVAR(regexp); ZVAL_EMPTY_STRING(regexp); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, marker); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, (cursor - marker)); ZEPHIR_INIT_NVAR(_3); zephir_call_func_p3(_3, "substr", pattern, &_1, &_2); zephir_get_strval(_4, _3); ZEPHIR_CPY_WRT(item, _4); for (_5 = 0; _5 < Z_STRLEN_P(item); _5++) { cursorVar = _5; ch = Z_STRVAL_P(item)[_5]; if ((ch == '\0')) { break; } if (((cursorVar == 0) && !(((((ch >= 'a') && (ch <= 'z'))) || (((ch >= 'A') && (ch <= 'Z'))))))) { notValid = 1; break; } if (((((((((ch >= 'a') && (ch <= 'z'))) || (((ch >= 'A') && (ch <= 'Z')))) || (((ch >= '0') && (ch <= '9')))) || (ch == '-')) || (ch == '_')) || (ch == ':'))) { if ((ch == ':')) { ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 0); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, cursorVar); ZEPHIR_INIT_NVAR(_6); zephir_call_func_p3(_6, "substr", item, &_1, &_2); zephir_get_strval(_7, _6); ZEPHIR_CPY_WRT(variable, _7); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, (cursorVar + 1)); ZEPHIR_INIT_NVAR(_8); zephir_call_func_p2(_8, "substr", item, &_1); zephir_get_strval(_9, _8); ZEPHIR_CPY_WRT(regexp, _9); break; } } else { notValid = 1; break; } } if (!(notValid)) { tmp = numberMatches; if ((variable && Z_STRLEN_P(variable)) && (regexp && Z_STRLEN_P(regexp))) { foundPattern = 0; for (_10 = 0; _10 < Z_STRLEN_P(regexp); _10++) { ch = Z_STRVAL_P(regexp)[_10]; if ((ch == '\0')) { break; } if (!(foundPattern)) { if ((ch == '(')) { foundPattern = 1; } } else { if ((ch == ')')) { foundPattern = 2; break; } } } if ((foundPattern != 2)) { zephir_concat_self_str(&route, "(", sizeof("(")-1 TSRMLS_CC); zephir_concat_self(&route, regexp TSRMLS_CC); zephir_concat_self_str(&route, ")", sizeof(")")-1 TSRMLS_CC); } else { zephir_concat_self(&route, regexp TSRMLS_CC); } ZEPHIR_INIT_NVAR(_6); ZVAL_LONG(_6, tmp); zephir_array_update_zval(&matches, variable, &_6, PH_COPY | PH_SEPARATE); } else { zephir_concat_self_str(&route, "([^/]*)", sizeof("([^/]*)")-1 TSRMLS_CC); ZEPHIR_INIT_NVAR(_8); ZVAL_LONG(_8, tmp); zephir_array_update_zval(&matches, item, &_8, PH_COPY | PH_SEPARATE); } } else { zephir_concat_self_str(&route, "{", sizeof("{")-1 TSRMLS_CC); zephir_concat_self(&route, item TSRMLS_CC); zephir_concat_self_str(&route, "}", sizeof("}")-1 TSRMLS_CC); } continue; } } } } } if ((bracketCount == 0)) { if ((ch == '(')) { parenthesesCount++; } else { if ((ch == ')')) { parenthesesCount--; if ((parenthesesCount == 0)) { numberMatches++; } } } } if ((bracketCount > 0)) { intermediate++; } else { zephir_concat_self_char(&route, ch TSRMLS_CC); } } array_init(return_value); zephir_array_fast_append(return_value, route); zephir_array_fast_append(return_value, matches); RETURN_MM(); }
/** * Extracts parameters from a string * * @param string pattern */ PHP_METHOD(Test_Router_Route, extractNamedParams) { zephir_nts_static zephir_fcall_cache_entry *_4 = NULL; long _0, _6, _23; zend_bool notValid = 0, _7, _8, _9, _10, _11, _12, _13, _14, _15, _16, _17, _18; int tmp, cursor, cursorVar, marker, bracketCount = 0, parenthesesCount = 0, foundPattern = 0, intermediate = 0, numberMatches = 0, ZEPHIR_LAST_CALL_STATUS; char ch; zval *pattern_param = NULL, *matches, _1 = zval_used_for_init, _2 = zval_used_for_init, *_3 = NULL, *_19 = NULL, *_21 = NULL, *_24 = NULL; zval *pattern = NULL, *route, *item = NULL, *variable = NULL, *regexp = NULL, *_5 = NULL, *_20 = NULL, *_22 = NULL, *_25 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &pattern_param); zephir_get_strval(pattern, pattern_param); if (zephir_fast_strlen_ev(pattern) <= 0) { RETURN_MM_BOOL(0); } ZEPHIR_INIT_VAR(matches); array_init(matches); ZEPHIR_INIT_VAR(route); ZVAL_EMPTY_STRING(route); for (_0 = 0; _0 < Z_STRLEN_P(pattern); _0++) { cursor = _0; ch = ZEPHIR_STRING_OFFSET(pattern, _0); if (parenthesesCount == 0) { if (ch == '{') { if (bracketCount == 0) { marker = (cursor + 1); intermediate = 0; notValid = 0; } bracketCount++; } else { if (ch == '}') { bracketCount--; if (intermediate > 0) { if (bracketCount == 0) { numberMatches++; ZEPHIR_INIT_NVAR(variable); ZVAL_EMPTY_STRING(variable); ZEPHIR_INIT_NVAR(regexp); ZVAL_EMPTY_STRING(regexp); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, marker); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, (cursor - marker)); ZEPHIR_CALL_FUNCTION(&_3, "substr", &_4, pattern, &_1, &_2); zephir_check_call_status(); zephir_get_strval(_5, _3); ZEPHIR_CPY_WRT(item, _5); for (_6 = 0; _6 < Z_STRLEN_P(item); _6++) { cursorVar = _6; ch = ZEPHIR_STRING_OFFSET(item, _6); if (ch == '\0') { break; } _7 = cursorVar == 0; if (_7) { _8 = ch >= 'a'; if (_8) { _8 = ch <= 'z'; } _9 = _8; if (!(_9)) { _10 = ch >= 'A'; if (_10) { _10 = ch <= 'Z'; } _9 = _10; } _7 = !_9; } if (_7) { notValid = 1; break; } _11 = ch >= 'a'; if (_11) { _11 = ch <= 'z'; } _12 = _11; if (!(_12)) { _13 = ch >= 'A'; if (_13) { _13 = ch <= 'Z'; } _12 = _13; } _14 = _12; if (!(_14)) { _15 = ch >= '0'; if (_15) { _15 = ch <= '9'; } _14 = _15; } _16 = _14; if (!(_16)) { _16 = ch == '-'; } _17 = _16; if (!(_17)) { _17 = ch == '_'; } _18 = _17; if (!(_18)) { _18 = ch == ':'; } if (_18) { if (ch == ':') { ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 0); ZEPHIR_SINIT_NVAR(_2); ZVAL_LONG(&_2, cursorVar); ZEPHIR_CALL_FUNCTION(&_19, "substr", &_4, item, &_1, &_2); zephir_check_call_status(); zephir_get_strval(_20, _19); ZEPHIR_CPY_WRT(variable, _20); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, (cursorVar + 1)); ZEPHIR_CALL_FUNCTION(&_21, "substr", &_4, item, &_1); zephir_check_call_status(); zephir_get_strval(_22, _21); ZEPHIR_CPY_WRT(regexp, _22); break; } } else { notValid = 1; break; } } if (!(notValid)) { tmp = numberMatches; _7 = zephir_is_true(variable); if (_7) { _7 = zephir_is_true(regexp); } if (_7) { foundPattern = 0; for (_23 = 0; _23 < Z_STRLEN_P(regexp); _23++) { ch = ZEPHIR_STRING_OFFSET(regexp, _23); if (ch == '\0') { break; } if (!(foundPattern)) { if (ch == '(') { foundPattern = 1; } } else { if (ch == ')') { foundPattern = 2; break; } } } if (foundPattern != 2) { zephir_concat_self_str(&route, "(", sizeof("(")-1 TSRMLS_CC); zephir_concat_self(&route, regexp TSRMLS_CC); zephir_concat_self_str(&route, ")", sizeof(")")-1 TSRMLS_CC); } else { zephir_concat_self(&route, regexp TSRMLS_CC); } ZEPHIR_INIT_NVAR(_24); ZVAL_LONG(_24, tmp); zephir_array_update_zval(&matches, variable, &_24, PH_COPY | PH_SEPARATE); } else { zephir_concat_self_str(&route, "([^/]*)", sizeof("([^/]*)")-1 TSRMLS_CC); ZEPHIR_INIT_NVAR(_24); ZVAL_LONG(_24, tmp); zephir_array_update_zval(&matches, item, &_24, PH_COPY | PH_SEPARATE); } } else { ZEPHIR_INIT_LNVAR(_25); ZEPHIR_CONCAT_SVS(_25, "{", item, "}"); zephir_concat_self(&route, _25 TSRMLS_CC); } continue; } } } } } if (bracketCount == 0) { if (ch == '(') { parenthesesCount++; } else { if (ch == ')') { parenthesesCount--; if (parenthesesCount == 0) { numberMatches++; } } } } if (bracketCount > 0) { intermediate++; } else { zephir_concat_self_char(&route, ch TSRMLS_CC); } } array_init_size(return_value, 3); zephir_array_fast_append(return_value, route); zephir_array_fast_append(return_value, matches); RETURN_MM(); }
/** * Extracts a slice from a string/array/traversable object value */ PHP_METHOD(Phalcon_Mvc_View_Engine_Volt, slice) { zephir_fcall_cache_entry *_3 = NULL, *_4 = NULL, *_6 = NULL; zend_bool _1; int start, position, ZEPHIR_LAST_CALL_STATUS; zval *value, *start_param = NULL, *end = NULL, *length, *slice, *_0 = NULL, *_2 = NULL, _5 = zval_used_for_init; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 2, &value, &start_param, &end); if (!start_param) { start = 0; } else { start = zephir_get_intval(start_param); } if (!end) { ZEPHIR_CPY_WRT(end, ZEPHIR_GLOBAL(global_null)); } else { ZEPHIR_SEPARATE_PARAM(end); } if (Z_TYPE_P(value) == IS_OBJECT) { if (Z_TYPE_P(end) == IS_NULL) { ZEPHIR_INIT_NVAR(end); ZVAL_LONG(end, (zephir_fast_count_int(value TSRMLS_CC) - 1)); } position = 0; ZEPHIR_INIT_VAR(slice); array_init(slice); ZEPHIR_CALL_METHOD(NULL, value, "rewind", NULL, 0); zephir_check_call_status(); while (1) { ZEPHIR_CALL_METHOD(&_0, value, "valid", NULL, 0); zephir_check_call_status(); if (!(zephir_is_true(_0))) { break; } _1 = position >= start; if (_1) { _1 = ZEPHIR_GE_LONG(end, position); } if (_1) { ZEPHIR_CALL_METHOD(&_2, value, "current", &_3, 0); zephir_check_call_status(); zephir_array_append(&slice, _2, PH_SEPARATE, "phalcon/mvc/view/engine/volt.zep", 231); } ZEPHIR_CALL_METHOD(NULL, value, "next", &_4, 0); zephir_check_call_status(); position++; } RETURN_CCTOR(slice); } ZEPHIR_INIT_VAR(length); if (Z_TYPE_P(end) != IS_NULL) { ZVAL_LONG(length, (((zephir_get_numberval(end) - start)) + 1)); } else { ZVAL_NULL(length); } if (Z_TYPE_P(value) == IS_ARRAY) { ZEPHIR_SINIT_VAR(_5); ZVAL_LONG(&_5, start); ZEPHIR_RETURN_CALL_FUNCTION("array_slice", NULL, 379, value, &_5, length); zephir_check_call_status(); RETURN_MM(); } if ((zephir_function_exists_ex(SS("mb_substr") TSRMLS_CC) == SUCCESS)) { if (Z_TYPE_P(length) != IS_NULL) { ZEPHIR_SINIT_NVAR(_5); ZVAL_LONG(&_5, start); ZEPHIR_RETURN_CALL_FUNCTION("mb_substr", &_6, 380, value, &_5, length); zephir_check_call_status(); RETURN_MM(); } ZEPHIR_SINIT_NVAR(_5); ZVAL_LONG(&_5, start); ZEPHIR_RETURN_CALL_FUNCTION("mb_substr", &_6, 380, value, &_5); zephir_check_call_status(); RETURN_MM(); } if (Z_TYPE_P(length) != IS_NULL) { ZEPHIR_SINIT_NVAR(_5); ZVAL_LONG(&_5, start); zephir_substr(return_value, value, zephir_get_intval(&_5), zephir_get_intval(length), 0); RETURN_MM(); } ZEPHIR_SINIT_NVAR(_5); ZVAL_LONG(&_5, start); zephir_substr(return_value, value, zephir_get_intval(&_5), 0, ZEPHIR_SUBSTR_NO_LENGTH); RETURN_MM(); }
PHP_METHOD(Phalcon_Validation_Validator_Uniqueness, isUniqueness) { zval *_32$$16 = NULL, *_44$$20 = NULL, *_58$$25 = NULL; zend_bool _11$$7, _18$$12; zend_class_entry *_78; HashTable *_2, *_8, *_24$$13, *_29$$15, *_41$$19, *_50$$22, *_55$$24, *_68$$27; HashPosition _1, _7, _23$$13, _28$$15, _40$$19, _49$$22, _54$$24, _67$$27; zephir_fcall_cache_entry *_5 = NULL, *_12 = NULL, *_14 = NULL; int ZEPHIR_LAST_CALL_STATUS, index = 0; zval *validation, *field = NULL, *value = NULL, *values = NULL, *convert = NULL, *record = NULL, *attribute = NULL, *except = NULL, *params = NULL, *metaData = NULL, *primaryField = NULL, *className = NULL, *singleField = NULL, *fieldExcept = NULL, *singleExcept = NULL, *notInValues = NULL, *exceptConditions = NULL, *_0 = NULL, **_3, **_9, *_63 = NULL, *_76, *_77 = NULL, *_4$$4 = NULL, *_6$$5 = NULL, *_10$$7 = NULL, *_13$$7 = NULL, _15$$10 = zval_used_for_init, *_16$$10 = NULL, *_17$$11 = NULL, *_19$$12, _20$$12, _21$$12, *_22$$12 = NULL, **_25$$13, *_26$$14 = NULL, *_27$$14 = NULL, **_30$$15, *_33$$15 = NULL, *_34$$15 = NULL, _31$$16 = zval_used_for_init, _35$$17 = zval_used_for_init, *_36$$17 = NULL, *_37$$18 = NULL, *_38$$18, *_39$$18, **_42$$19, *_45$$19, *_46$$19, _43$$20 = zval_used_for_init, _47$$21, *_48$$21, **_51$$22, *_52$$23 = NULL, *_53$$23 = NULL, **_56$$24, *_59$$24 = NULL, *_60$$24 = NULL, _57$$25 = zval_used_for_init, _61$$26 = zval_used_for_init, *_62$$26 = NULL, *_64$$27 = NULL, *_65$$27, *_66$$27 = NULL, **_69$$27, *_70$$28 = NULL, _71$$28 = zval_used_for_init, *_72$$28 = NULL, *_73$$28 = NULL, *_74$$29, *_75$$29; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &validation, &field); ZEPHIR_SEPARATE_PARAM(field); ZEPHIR_INIT_VAR(exceptConditions); array_init(exceptConditions); index = 0; ZEPHIR_INIT_VAR(params); zephir_create_array(params, 2, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_0); array_init(_0); zephir_array_update_string(¶ms, SL("conditions"), &_0, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_0); array_init(_0); zephir_array_update_string(¶ms, SL("bind"), &_0, PH_COPY | PH_SEPARATE); if (Z_TYPE_P(field) != IS_ARRAY) { ZEPHIR_CPY_WRT(singleField, field); ZEPHIR_INIT_NVAR(field); array_init(field); zephir_array_append(&field, singleField, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 156); } ZEPHIR_INIT_VAR(values); array_init(values); ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "convert", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&convert, this_ptr, "getoption", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); zephir_is_iterable(field, &_2, &_1, 0, 0, "phalcon/validation/validator/uniqueness.zep", 166); for ( ; zephir_hash_get_current_data_ex(_2, (void**) &_3, &_1) == SUCCESS ; zephir_hash_move_forward_ex(_2, &_1) ) { ZEPHIR_GET_HVALUE(singleField, _3); ZEPHIR_CALL_METHOD(&_4$$4, validation, "getvalue", &_5, 0, singleField); zephir_check_call_status(); zephir_array_update_zval(&values, singleField, &_4$$4, PH_COPY | PH_SEPARATE); } if (Z_TYPE_P(convert) != IS_NULL) { ZEPHIR_CALL_ZVAL_FUNCTION(&_6$$5, convert, NULL, 0, values); zephir_check_call_status(); ZEPHIR_CPY_WRT(values, _6$$5); if (!(Z_TYPE_P(values) == IS_ARRAY)) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "Value conversion must return an array", "phalcon/validation/validator/uniqueness.zep", 170); return; } } zephir_is_iterable(field, &_8, &_7, 0, 0, "phalcon/validation/validator/uniqueness.zep", 200); for ( ; zephir_hash_get_current_data_ex(_8, (void**) &_9, &_7) == SUCCESS ; zephir_hash_move_forward_ex(_8, &_7) ) { ZEPHIR_GET_HVALUE(singleField, _9); ZEPHIR_INIT_NVAR(fieldExcept); ZVAL_NULL(fieldExcept); ZEPHIR_INIT_NVAR(notInValues); array_init(notInValues); ZEPHIR_INIT_NVAR(_10$$7); ZVAL_STRING(_10$$7, "model", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&record, this_ptr, "getoption", NULL, 0, _10$$7); zephir_check_temp_parameter(_10$$7); zephir_check_call_status(); ZEPHIR_OBS_NVAR(value); zephir_array_fetch(&value, values, singleField, PH_NOISY, "phalcon/validation/validator/uniqueness.zep", 178 TSRMLS_CC); _11$$7 = ZEPHIR_IS_EMPTY(record); if (!(_11$$7)) { _11$$7 = Z_TYPE_P(record) != IS_OBJECT; } if (_11$$7) { ZEPHIR_CALL_METHOD(&record, validation, "getentity", &_12, 0); zephir_check_call_status(); if (ZEPHIR_IS_EMPTY(record)) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "Model of record must be set to property \"model\"", "phalcon/validation/validator/uniqueness.zep", 184); return; } } ZEPHIR_INIT_NVAR(_10$$7); ZVAL_STRING(_10$$7, "attribute", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_13$$7, this_ptr, "getoption", NULL, 0, _10$$7, singleField); zephir_check_temp_parameter(_10$$7); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&attribute, this_ptr, "getcolumnnamereal", &_14, 0, record, _13$$7); zephir_check_call_status(); if (Z_TYPE_P(value) != IS_NULL) { ZEPHIR_SINIT_NVAR(_15$$10); ZVAL_LONG(&_15$$10, index); ZEPHIR_INIT_LNVAR(_16$$10); ZEPHIR_CONCAT_VSV(_16$$10, attribute, " = ?", &_15$$10); zephir_array_update_multi(¶ms, &_16$$10 TSRMLS_CC, SL("sa"), 3, SL("conditions")); zephir_array_update_multi(¶ms, &value TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } else { ZEPHIR_INIT_LNVAR(_17$$11); ZEPHIR_CONCAT_VS(_17$$11, attribute, " IS NULL"); zephir_array_update_multi(¶ms, &_17$$11 TSRMLS_CC, SL("sa"), 3, SL("conditions")); } } 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_true(except)) { _18$$12 = Z_TYPE_P(except) == IS_ARRAY; if (_18$$12) { ZEPHIR_INIT_VAR(_19$$12); zephir_array_keys(_19$$12, except TSRMLS_CC); ZEPHIR_SINIT_VAR(_20$$12); ZVAL_LONG(&_20$$12, 0); ZEPHIR_SINIT_VAR(_21$$12); ZVAL_LONG(&_21$$12, (zephir_fast_count_int(except TSRMLS_CC) - 1)); ZEPHIR_CALL_FUNCTION(&_22$$12, "range", NULL, 446, &_20$$12, &_21$$12); zephir_check_call_status(); _18$$12 = !ZEPHIR_IS_IDENTICAL(_19$$12, _22$$12); } if (_18$$12) { zephir_is_iterable(except, &_24$$13, &_23$$13, 0, 0, "phalcon/validation/validator/uniqueness.zep", 219); for ( ; zephir_hash_get_current_data_ex(_24$$13, (void**) &_25$$13, &_23$$13) == SUCCESS ; zephir_hash_move_forward_ex(_24$$13, &_23$$13) ) { ZEPHIR_GET_HMKEY(singleField, _24$$13, _23$$13); ZEPHIR_GET_HVALUE(fieldExcept, _25$$13); ZEPHIR_INIT_NVAR(_27$$14); ZVAL_STRING(_27$$14, "attribute", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_26$$14, this_ptr, "getoption", NULL, 0, _27$$14, singleField); zephir_check_temp_parameter(_27$$14); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&attribute, this_ptr, "getcolumnnamereal", &_14, 0, record, _26$$14); zephir_check_call_status(); if (Z_TYPE_P(fieldExcept) == IS_ARRAY) { zephir_is_iterable(fieldExcept, &_29$$15, &_28$$15, 0, 0, "phalcon/validation/validator/uniqueness.zep", 212); for ( ; zephir_hash_get_current_data_ex(_29$$15, (void**) &_30$$15, &_28$$15) == SUCCESS ; zephir_hash_move_forward_ex(_29$$15, &_28$$15) ) { ZEPHIR_GET_HVALUE(singleExcept, _30$$15); ZEPHIR_SINIT_NVAR(_31$$16); ZVAL_LONG(&_31$$16, index); ZEPHIR_INIT_LNVAR(_32$$16); ZEPHIR_CONCAT_SV(_32$$16, "?", &_31$$16); zephir_array_append(¬InValues, _32$$16, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 208); zephir_array_update_multi(¶ms, &singleExcept TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } ZEPHIR_INIT_NVAR(_33$$15); zephir_fast_join_str(_33$$15, SL(","), notInValues TSRMLS_CC); ZEPHIR_INIT_LNVAR(_34$$15); ZEPHIR_CONCAT_VSVS(_34$$15, attribute, " NOT IN (", _33$$15, ")"); zephir_array_append(&exceptConditions, _34$$15, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 212); } else { ZEPHIR_SINIT_NVAR(_35$$17); ZVAL_LONG(&_35$$17, index); ZEPHIR_INIT_LNVAR(_36$$17); ZEPHIR_CONCAT_VSV(_36$$17, attribute, " <> ?", &_35$$17); zephir_array_append(&exceptConditions, _36$$17, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 214); zephir_array_update_multi(¶ms, &fieldExcept TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } } } else if (zephir_fast_count_int(field TSRMLS_CC) == 1) { zephir_array_fetch_long(&_38$$18, field, 0, PH_NOISY | PH_READONLY, "phalcon/validation/validator/uniqueness.zep", 220 TSRMLS_CC); ZEPHIR_INIT_VAR(_39$$18); ZVAL_STRING(_39$$18, "attribute", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_37$$18, this_ptr, "getoption", NULL, 0, _39$$18, _38$$18); zephir_check_temp_parameter(_39$$18); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&attribute, this_ptr, "getcolumnnamereal", &_14, 0, record, _37$$18); zephir_check_call_status(); if (Z_TYPE_P(except) == IS_ARRAY) { zephir_is_iterable(except, &_41$$19, &_40$$19, 0, 0, "phalcon/validation/validator/uniqueness.zep", 227); for ( ; zephir_hash_get_current_data_ex(_41$$19, (void**) &_42$$19, &_40$$19) == SUCCESS ; zephir_hash_move_forward_ex(_41$$19, &_40$$19) ) { ZEPHIR_GET_HVALUE(singleExcept, _42$$19); ZEPHIR_SINIT_NVAR(_43$$20); ZVAL_LONG(&_43$$20, index); ZEPHIR_INIT_LNVAR(_44$$20); ZEPHIR_CONCAT_SV(_44$$20, "?", &_43$$20); zephir_array_append(¬InValues, _44$$20, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 223); zephir_array_update_multi(¶ms, &singleExcept TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } ZEPHIR_INIT_VAR(_45$$19); zephir_fast_join_str(_45$$19, SL(","), notInValues TSRMLS_CC); ZEPHIR_INIT_VAR(_46$$19); ZEPHIR_CONCAT_VSVS(_46$$19, attribute, " NOT IN (", _45$$19, ")"); zephir_array_append(&exceptConditions, _46$$19, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 227); } else { ZEPHIR_SINIT_VAR(_47$$21); ZVAL_LONG(&_47$$21, index); ZEPHIR_INIT_VAR(_48$$21); ZEPHIR_CONCAT_VSV(_48$$21, attribute, " <> ?", &_47$$21); zephir_array_update_multi(¶ms, &_48$$21 TSRMLS_CC, SL("sa"), 3, SL("conditions")); zephir_array_update_multi(¶ms, &except TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } } else if (zephir_fast_count_int(field TSRMLS_CC) > 1) { zephir_is_iterable(field, &_50$$22, &_49$$22, 0, 0, "phalcon/validation/validator/uniqueness.zep", 249); for ( ; zephir_hash_get_current_data_ex(_50$$22, (void**) &_51$$22, &_49$$22) == SUCCESS ; zephir_hash_move_forward_ex(_50$$22, &_49$$22) ) { ZEPHIR_GET_HVALUE(singleField, _51$$22); ZEPHIR_INIT_NVAR(_53$$23); ZVAL_STRING(_53$$23, "attribute", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&_52$$23, this_ptr, "getoption", NULL, 0, _53$$23, singleField); zephir_check_temp_parameter(_53$$23); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&attribute, this_ptr, "getcolumnnamereal", &_14, 0, record, _52$$23); zephir_check_call_status(); if (Z_TYPE_P(except) == IS_ARRAY) { zephir_is_iterable(except, &_55$$24, &_54$$24, 0, 0, "phalcon/validation/validator/uniqueness.zep", 242); for ( ; zephir_hash_get_current_data_ex(_55$$24, (void**) &_56$$24, &_54$$24) == SUCCESS ; zephir_hash_move_forward_ex(_55$$24, &_54$$24) ) { ZEPHIR_GET_HVALUE(singleExcept, _56$$24); ZEPHIR_SINIT_NVAR(_57$$25); ZVAL_LONG(&_57$$25, index); ZEPHIR_INIT_LNVAR(_58$$25); ZEPHIR_CONCAT_SV(_58$$25, "?", &_57$$25); zephir_array_append(¬InValues, _58$$25, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 238); zephir_array_update_multi(¶ms, &singleExcept TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } ZEPHIR_INIT_NVAR(_59$$24); zephir_fast_join_str(_59$$24, SL(","), notInValues TSRMLS_CC); ZEPHIR_INIT_LNVAR(_60$$24); ZEPHIR_CONCAT_VSVS(_60$$24, attribute, " NOT IN (", _59$$24, ")"); zephir_array_append(&exceptConditions, _60$$24, PH_SEPARATE, "phalcon/validation/validator/uniqueness.zep", 242); } else { ZEPHIR_SINIT_NVAR(_61$$26); ZVAL_LONG(&_61$$26, index); ZEPHIR_INIT_LNVAR(_62$$26); ZEPHIR_CONCAT_VSV(_62$$26, attribute, " <> ?", &_61$$26); zephir_array_update_multi(¶ms, &_62$$26 TSRMLS_CC, SL("sa"), 3, SL("conditions")); zephir_array_update_multi(¶ms, &except TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } } } } ZEPHIR_CALL_METHOD(&_63, record, "getdirtystate", NULL, 0); zephir_check_call_status(); if (ZEPHIR_IS_LONG(_63, 0)) { ZEPHIR_CALL_METHOD(&_64$$27, record, "getdi", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_VAR(_65$$27); ZVAL_STRING(_65$$27, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&metaData, _64$$27, "getshared", NULL, 0, _65$$27); zephir_check_temp_parameter(_65$$27); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_66$$27, metaData, "getprimarykeyattributes", NULL, 0, record); zephir_check_call_status(); zephir_is_iterable(_66$$27, &_68$$27, &_67$$27, 0, 0, "phalcon/validation/validator/uniqueness.zep", 263); for ( ; zephir_hash_get_current_data_ex(_68$$27, (void**) &_69$$27, &_67$$27) == SUCCESS ; zephir_hash_move_forward_ex(_68$$27, &_67$$27) ) { ZEPHIR_GET_HVALUE(primaryField, _69$$27); ZEPHIR_CALL_METHOD(&_70$$28, this_ptr, "getcolumnnamereal", &_14, 0, record, primaryField); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_71$$28); ZVAL_LONG(&_71$$28, index); ZEPHIR_INIT_LNVAR(_72$$28); ZEPHIR_CONCAT_VSV(_72$$28, _70$$28, " <> ?", &_71$$28); zephir_array_update_multi(¶ms, &_72$$28 TSRMLS_CC, SL("sa"), 3, SL("conditions")); ZEPHIR_CALL_METHOD(&_73$$28, record, "readattribute", NULL, 0, primaryField); zephir_check_call_status(); zephir_array_update_multi(¶ms, &_73$$28 TSRMLS_CC, SL("sa"), 3, SL("bind")); index++; } } ZEPHIR_INIT_VAR(className); zephir_get_class(className, record, 0 TSRMLS_CC); if (!(ZEPHIR_IS_EMPTY(exceptConditions))) { ZEPHIR_INIT_VAR(_74$$29); zephir_fast_join_str(_74$$29, SL(" OR "), exceptConditions TSRMLS_CC); ZEPHIR_INIT_VAR(_75$$29); ZEPHIR_CONCAT_SVS(_75$$29, "(", _74$$29, ")"); zephir_array_update_multi(¶ms, &_75$$29 TSRMLS_CC, SL("sa"), 3, SL("conditions")); } ZEPHIR_INIT_NVAR(_0); zephir_array_fetch_string(&_76, params, SL("conditions"), PH_NOISY | PH_READONLY, "phalcon/validation/validator/uniqueness.zep", 269 TSRMLS_CC); zephir_fast_join_str(_0, SL(" AND "), _76 TSRMLS_CC); zephir_array_update_string(¶ms, SL("conditions"), &_0, PH_COPY | PH_SEPARATE); _78 = zephir_fetch_class(className TSRMLS_CC); ZEPHIR_CALL_CE_STATIC(&_77, _78, "count", NULL, 0, params); zephir_check_call_status(); RETURN_MM_BOOL(ZEPHIR_IS_LONG(_77, 0)); }
/** * Phalcon\Di\FactoryDefault\CLI constructor */ PHP_METHOD(Phalcon_Di_FactoryDefault_Cli, __construct) { zval *_2 = NULL, *_3 = NULL, *_4 = NULL, _5 = zval_used_for_init; zval *_1; int ZEPHIR_LAST_CALL_STATUS; zephir_fcall_cache_entry *_0 = NULL, *_6 = NULL; ZEPHIR_MM_GROW(); ZEPHIR_CALL_PARENT(NULL, phalcon_di_factorydefault_cli_ce, this_ptr, "__construct", &_0, 144); zephir_check_call_status(); ZEPHIR_INIT_VAR(_1); zephir_create_array(_1, 10, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_VAR(_3); ZVAL_STRING(_3, "router", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_VAR(_4); ZVAL_STRING(_4, "Phalcon\\CLI\\Router", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_VAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("router"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "dispatcher", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\CLI\\Dispatcher", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("dispatcher"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "modelsManager", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Manager", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("modelsManager"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\MetaData\\Memory", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("modelsMetadata"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "filter", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Filter", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("filter"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "escaper", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Escaper", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("escaper"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "annotations", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Annotations\\Adapter\\Memory", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("annotations"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "security", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Security", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("security"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "eventsManager", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Events\\Manager", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("eventsManager"), &_2, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_2); object_init_ex(_2, phalcon_di_service_ce); ZEPHIR_INIT_NVAR(_3); ZVAL_STRING(_3, "transactionManager", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_INIT_NVAR(_4); ZVAL_STRING(_4, "Phalcon\\Mvc\\Model\\Transaction\\Manager", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_SINIT_NVAR(_5); ZVAL_BOOL(&_5, 1); ZEPHIR_CALL_METHOD(NULL, _2, "__construct", &_6, 139, _3, _4, &_5); zephir_check_temp_parameter(_3); zephir_check_temp_parameter(_4); zephir_check_call_status(); zephir_array_update_string(&_1, SL("transactionManager"), &_2, PH_COPY | PH_SEPARATE); zephir_update_property_this(this_ptr, SL("_services"), _1 TSRMLS_CC); ZEPHIR_MM_RESTORE(); }
/** * Executes the validator */ PHP_METHOD(Phalcon_Mvc_Model_Validator_Uniqueness, validate) { HashTable *_2$$5, *_22$$16; HashPosition _1$$5, _21$$16; zend_class_entry *_33; zephir_fcall_cache_entry *_6 = NULL, *_12 = NULL, *_31 = NULL; int ZEPHIR_LAST_CALL_STATUS, number = 0; zval *record, *field = NULL, *dependencyInjector = NULL, *metaData = NULL, *message = NULL, *bindTypes = NULL, *bindDataTypes = NULL, *columnMap = NULL, *conditions = NULL, *bindParams = NULL, *composeField = NULL, *columnField = NULL, *bindType = NULL, *primaryField = NULL, *attributeField = NULL, *params = NULL, *className = NULL, *replacePairs = NULL, *_0 = NULL, *_19 = NULL, *_32 = NULL, **_3$$5, *_4$$8 = NULL, *_5$$8 = NULL, *_7$$10 = NULL, *_8$$10 = NULL, _9$$6 = zval_used_for_init, *_10$$6 = NULL, *_11$$6 = NULL, *_13$$13, *_14$$13, *_15$$15, *_16$$15, *_17$$11, *_18$$11 = NULL, *_20$$16 = NULL, **_23$$16, *_24$$20 = NULL, *_25$$20 = NULL, *_26$$22 = NULL, *_27$$22 = NULL, _28$$19 = zval_used_for_init, *_29$$19 = NULL, *_30$$19 = NULL, *_34$$24 = NULL, *_36$$24 = NULL, *_35$$25; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &record); ZEPHIR_CALL_METHOD(&dependencyInjector, record, "getdi", NULL, 0); zephir_check_call_status(); ZEPHIR_INIT_VAR(_0); ZVAL_STRING(_0, "modelsMetadata", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&metaData, dependencyInjector, "getshared", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); ZEPHIR_INIT_VAR(bindTypes); array_init(bindTypes); ZEPHIR_CALL_METHOD(&bindDataTypes, metaData, "getbindtypes", NULL, 0, record); zephir_check_call_status(); if (ZEPHIR_GLOBAL(orm).column_renaming) { ZEPHIR_CALL_METHOD(&columnMap, metaData, "getreversecolumnmap", NULL, 0, record); zephir_check_call_status(); } else { ZEPHIR_INIT_NVAR(columnMap); ZVAL_NULL(columnMap); } ZEPHIR_INIT_VAR(conditions); array_init(conditions); ZEPHIR_INIT_VAR(bindParams); array_init(bindParams); number = 0; ZEPHIR_INIT_NVAR(_0); ZVAL_STRING(_0, "field", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&field, this_ptr, "getoption", NULL, 0, _0); zephir_check_temp_parameter(_0); zephir_check_call_status(); if (Z_TYPE_P(field) == IS_ARRAY) { zephir_is_iterable(field, &_2$$5, &_1$$5, 0, 0, "phalcon/mvc/model/validator/uniqueness.zep", 127); 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_HVALUE(composeField, _3$$5); if (Z_TYPE_P(columnMap) == IS_ARRAY) { ZEPHIR_OBS_NVAR(columnField); if (!(zephir_array_isset_fetch(&columnField, columnMap, composeField, 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(_4$$8); object_init_ex(_4$$8, phalcon_mvc_model_exception_ce); ZEPHIR_INIT_LNVAR(_5$$8); ZEPHIR_CONCAT_SVS(_5$$8, "Column '", composeField, "' isn't part of the column map"); ZEPHIR_CALL_METHOD(NULL, _4$$8, "__construct", &_6, 9, _5$$8); zephir_check_call_status(); zephir_throw_exception_debug(_4$$8, "phalcon/mvc/model/validator/uniqueness.zep", 104 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } else { ZEPHIR_CPY_WRT(columnField, composeField); } ZEPHIR_OBS_NVAR(bindType); if (!(zephir_array_isset_fetch(&bindType, bindDataTypes, columnField, 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 '", columnField, "' isn't part of the table columns"); ZEPHIR_CALL_METHOD(NULL, _7$$10, "__construct", &_6, 9, _8$$10); zephir_check_call_status(); zephir_throw_exception_debug(_7$$10, "phalcon/mvc/model/validator/uniqueness.zep", 114 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_SINIT_NVAR(_9$$6); ZVAL_LONG(&_9$$6, number); ZEPHIR_INIT_LNVAR(_10$$6); ZEPHIR_CONCAT_SVSV(_10$$6, "[", composeField, "] = ?", &_9$$6); zephir_array_append(&conditions, _10$$6, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 120); ZEPHIR_CALL_METHOD(&_11$$6, record, "readattribute", &_12, 0, composeField); zephir_check_call_status(); zephir_array_append(&bindParams, _11$$6, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 121); zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 122); number++; } } else { if (Z_TYPE_P(columnMap) == IS_ARRAY) { ZEPHIR_OBS_NVAR(columnField); if (!(zephir_array_isset_fetch(&columnField, columnMap, field, 0 TSRMLS_CC))) { ZEPHIR_INIT_VAR(_13$$13); object_init_ex(_13$$13, phalcon_mvc_model_exception_ce); ZEPHIR_INIT_VAR(_14$$13); ZEPHIR_CONCAT_SVS(_14$$13, "Column '", field, "' isn't part of the column map"); ZEPHIR_CALL_METHOD(NULL, _13$$13, "__construct", &_6, 9, _14$$13); zephir_check_call_status(); zephir_throw_exception_debug(_13$$13, "phalcon/mvc/model/validator/uniqueness.zep", 134 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } else { ZEPHIR_CPY_WRT(columnField, field); } ZEPHIR_OBS_NVAR(bindType); if (!(zephir_array_isset_fetch(&bindType, bindDataTypes, columnField, 0 TSRMLS_CC))) { ZEPHIR_INIT_VAR(_15$$15); object_init_ex(_15$$15, phalcon_mvc_model_exception_ce); ZEPHIR_INIT_VAR(_16$$15); ZEPHIR_CONCAT_SVS(_16$$15, "Column '", columnField, "' isn't part of the table columns"); ZEPHIR_CALL_METHOD(NULL, _15$$15, "__construct", &_6, 9, _16$$15); zephir_check_call_status(); zephir_throw_exception_debug(_15$$15, "phalcon/mvc/model/validator/uniqueness.zep", 144 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } ZEPHIR_INIT_VAR(_17$$11); ZEPHIR_CONCAT_SVS(_17$$11, "[", field, "] = ?0"); zephir_array_append(&conditions, _17$$11, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 150); ZEPHIR_CALL_METHOD(&_18$$11, record, "readattribute", NULL, 0, field); zephir_check_call_status(); zephir_array_append(&bindParams, _18$$11, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 151); zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 152); number++; } ZEPHIR_CALL_METHOD(&_19, record, "getoperationmade", NULL, 0); zephir_check_call_status(); if (ZEPHIR_IS_LONG(_19, 2)) { if (ZEPHIR_GLOBAL(orm).column_renaming) { ZEPHIR_CALL_METHOD(&columnMap, metaData, "getcolumnmap", NULL, 0, record); zephir_check_call_status(); } else { ZEPHIR_INIT_NVAR(columnMap); ZVAL_NULL(columnMap); } ZEPHIR_CALL_METHOD(&_20$$16, metaData, "getprimarykeyattributes", NULL, 0, record); zephir_check_call_status(); zephir_is_iterable(_20$$16, &_22$$16, &_21$$16, 0, 0, "phalcon/mvc/model/validator/uniqueness.zep", 197); for ( ; zephir_hash_get_current_data_ex(_22$$16, (void**) &_23$$16, &_21$$16) == SUCCESS ; zephir_hash_move_forward_ex(_22$$16, &_21$$16) ) { ZEPHIR_GET_HVALUE(primaryField, _23$$16); ZEPHIR_OBS_NVAR(bindType); if (!(zephir_array_isset_fetch(&bindType, bindDataTypes, primaryField, 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(_24$$20); object_init_ex(_24$$20, phalcon_mvc_model_exception_ce); ZEPHIR_INIT_LNVAR(_25$$20); ZEPHIR_CONCAT_SVS(_25$$20, "Column '", primaryField, "' isn't part of the table columns"); ZEPHIR_CALL_METHOD(NULL, _24$$20, "__construct", &_6, 9, _25$$20); zephir_check_call_status(); zephir_throw_exception_debug(_24$$20, "phalcon/mvc/model/validator/uniqueness.zep", 174 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } if (Z_TYPE_P(columnMap) == IS_ARRAY) { ZEPHIR_OBS_NVAR(attributeField); if (!(zephir_array_isset_fetch(&attributeField, columnMap, primaryField, 0 TSRMLS_CC))) { ZEPHIR_INIT_NVAR(_26$$22); object_init_ex(_26$$22, phalcon_mvc_model_exception_ce); ZEPHIR_INIT_LNVAR(_27$$22); ZEPHIR_CONCAT_SVS(_27$$22, "Column '", primaryField, "' isn't part of the column map"); ZEPHIR_CALL_METHOD(NULL, _26$$22, "__construct", &_6, 9, _27$$22); zephir_check_call_status(); zephir_throw_exception_debug(_26$$22, "phalcon/mvc/model/validator/uniqueness.zep", 182 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } } else { ZEPHIR_CPY_WRT(attributeField, primaryField); } ZEPHIR_SINIT_NVAR(_28$$19); ZVAL_LONG(&_28$$19, number); ZEPHIR_INIT_LNVAR(_29$$19); ZEPHIR_CONCAT_SVSV(_29$$19, "[", attributeField, "] <> ?", &_28$$19); zephir_array_append(&conditions, _29$$19, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 191); ZEPHIR_CALL_METHOD(&_30$$19, record, "readattribute", &_31, 0, primaryField); zephir_check_call_status(); zephir_array_append(&bindParams, _30$$19, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 192); zephir_array_append(&bindTypes, bindType, PH_SEPARATE, "phalcon/mvc/model/validator/uniqueness.zep", 193); number++; } } ZEPHIR_INIT_VAR(params); array_init(params); zephir_array_update_string(¶ms, SL("di"), &dependencyInjector, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_NVAR(_0); zephir_fast_join_str(_0, SL(" AND "), conditions TSRMLS_CC); zephir_array_update_string(¶ms, SL("conditions"), &_0, PH_COPY | PH_SEPARATE); zephir_array_update_string(¶ms, SL("bind"), &bindParams, PH_COPY | PH_SEPARATE); zephir_array_update_string(¶ms, SL("bindTypes"), &bindTypes, PH_COPY | PH_SEPARATE); ZEPHIR_INIT_VAR(className); zephir_get_class(className, record, 0 TSRMLS_CC); _33 = zephir_fetch_class(className TSRMLS_CC); ZEPHIR_CALL_CE_STATIC(&_32, _33, "count", NULL, 0, params); zephir_check_call_status(); if (!ZEPHIR_IS_LONG(_32, 0)) { ZEPHIR_INIT_VAR(_34$$24); ZVAL_STRING(_34$$24, "message", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(&message, this_ptr, "getoption", NULL, 0, _34$$24); zephir_check_temp_parameter(_34$$24); zephir_check_call_status(); ZEPHIR_INIT_VAR(replacePairs); if (Z_TYPE_P(field) == IS_ARRAY) { zephir_create_array(replacePairs, 1, 0 TSRMLS_CC); ZEPHIR_INIT_VAR(_35$$25); zephir_fast_join_str(_35$$25, SL(", "), field TSRMLS_CC); zephir_array_update_string(&replacePairs, SL(":fields"), &_35$$25, PH_COPY | PH_SEPARATE); if (ZEPHIR_IS_EMPTY(message)) { ZEPHIR_INIT_NVAR(message); ZVAL_STRING(message, "Value of fields: :fields are already present in another record", 1); } } else { zephir_create_array(replacePairs, 1, 0 TSRMLS_CC); zephir_array_update_string(&replacePairs, SL(":field"), &field, PH_COPY | PH_SEPARATE); if (ZEPHIR_IS_EMPTY(message)) { ZEPHIR_INIT_NVAR(message); ZVAL_STRING(message, "Value of field: ':field' is already present in another record", 1); } } ZEPHIR_CALL_FUNCTION(&_36$$24, "strtr", NULL, 26, message, replacePairs); zephir_check_call_status(); ZEPHIR_INIT_NVAR(_34$$24); ZVAL_STRING(_34$$24, "Unique", ZEPHIR_TEMP_PARAM_COPY); ZEPHIR_CALL_METHOD(NULL, this_ptr, "appendmessage", NULL, 0, _36$$24, field, _34$$24); zephir_check_temp_parameter(_34$$24); zephir_check_call_status(); RETURN_MM_BOOL(0); } RETURN_MM_BOOL(1); }