PHP_METHOD(Test_Flow, testFor34) { zend_object_iterator *_0; zval *e = NULL, *v = NULL, *result; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &e); if (!e) { e = ZEPHIR_GLOBAL(global_null); } ZEPHIR_INIT_VAR(result); array_init(result); if (Z_TYPE_P(e) == IS_OBJECT) { _0 = zephir_get_iterator(e TSRMLS_CC); _0->funcs->rewind(_0 TSRMLS_CC); for (;_0->funcs->valid(_0 TSRMLS_CC) == SUCCESS && !EG(exception); _0->funcs->move_forward(_0 TSRMLS_CC)) { { zval **ZEPHIR_TMP_ITERATOR_PTR; _0->funcs->get_current_data(_0, &ZEPHIR_TMP_ITERATOR_PTR TSRMLS_CC); ZEPHIR_CPY_WRT(v, (*ZEPHIR_TMP_ITERATOR_PTR)); } zephir_array_append(&result, v, PH_SEPARATE, "test/flow.zep", 720); } _0->funcs->dtor(_0 TSRMLS_CC); RETURN_CCTOR(result); } ZEPHIR_MM_RESTORE(); }
/** * Appends an array of messages to the group * *<code> * $messages->appendMessages($messagesArray); *</code> * * @param Phalcon\Validation\MessageInterface[] messages */ PHP_METHOD(Phalcon_Validation_Message_Group, appendMessages) { zephir_fcall_cache_entry *_2 = NULL; int ZEPHIR_LAST_CALL_STATUS; zend_object_iterator *_1; zend_bool _0; zval *messages, *currentMessages, *finalMessages = NULL, *message = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 0, &messages); _0 = Z_TYPE_P(messages) != IS_ARRAY; if (_0) { _0 = Z_TYPE_P(messages) != IS_OBJECT; } if (_0) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_validation_exception_ce, "The messages must be array or object", "phalcon/validation/message/group.zep", 146); return; } ZEPHIR_OBS_VAR(currentMessages); zephir_read_property_this(¤tMessages, this_ptr, SL("_messages"), PH_NOISY_CC); if (Z_TYPE_P(messages) == IS_ARRAY) { if (ZEPHIR_IS_STRING(currentMessages, "array")) { ZEPHIR_INIT_VAR(finalMessages); zephir_fast_array_merge(finalMessages, &(currentMessages), &(messages) TSRMLS_CC); } else { ZEPHIR_CPY_WRT(finalMessages, messages); } zephir_update_property_this(this_ptr, SL("_messages"), finalMessages TSRMLS_CC); } else { _1 = zephir_get_iterator(messages TSRMLS_CC); _1->funcs->rewind(_1 TSRMLS_CC); for (; _1->funcs->valid(_1 TSRMLS_CC) == SUCCESS && !EG(exception); _1->funcs->move_forward(_1 TSRMLS_CC)) { { zval **ZEPHIR_TMP_ITERATOR_PTR; _1->funcs->get_current_data(_1, &ZEPHIR_TMP_ITERATOR_PTR TSRMLS_CC); ZEPHIR_CPY_WRT(message, (*ZEPHIR_TMP_ITERATOR_PTR)); } ZEPHIR_CALL_METHOD(NULL, this_ptr, "appendmessage", &_2, 0, message); zephir_check_call_status(); } _1->funcs->dtor(_1 TSRMLS_CC); } ZEPHIR_MM_RESTORE(); }
/** * Serialize to an array representing the stack * * @return array */ PHP_METHOD(Zend_Stdlib_SplStack, toArray) { zend_object_iterator *_0; zval *item = NULL, *data; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(data); array_init(data); _0 = zephir_get_iterator(this_ptr TSRMLS_CC); _0->funcs->rewind(_0 TSRMLS_CC); for (;_0->funcs->valid(_0 TSRMLS_CC) == SUCCESS && !EG(exception); _0->funcs->move_forward(_0 TSRMLS_CC)) { { zval **tmp; _0->funcs->get_current_data(_0, &tmp TSRMLS_CC); item = *tmp; } zephir_array_append(&data, item, PH_SEPARATE, "zend/stdlib/splstack.zep", 27); } _0->funcs->dtor(_0 TSRMLS_CC); RETURN_CCTOR(data); }
/** * Returns a complete resultset as an array, if the resultset has a big number of rows * it could consume more memory than currently it does. */ PHP_METHOD(Phalcon_Mvc_Model_Resultset_Complex, toArray) { zend_object_iterator *_0; zval *records, *current = NULL; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(records); array_init(records); _0 = zephir_get_iterator(this_ptr TSRMLS_CC); _0->funcs->rewind(_0 TSRMLS_CC); for (;_0->funcs->valid(_0 TSRMLS_CC) == SUCCESS && !EG(exception); _0->funcs->move_forward(_0 TSRMLS_CC)) { { zval **ZEPHIR_TMP_ITERATOR_PTR; _0->funcs->get_current_data(_0, &ZEPHIR_TMP_ITERATOR_PTR TSRMLS_CC); ZEPHIR_CPY_WRT(current, (*ZEPHIR_TMP_ITERATOR_PTR)); } zephir_array_append(&records, current, PH_SEPARATE, "phalcon/mvc/model/resultset/complex.zep", 248); } _0->funcs->dtor(_0 TSRMLS_CC); RETURN_CCTOR(records); }
/** * Validates the form * * @param array data * @param object entity */ PHP_METHOD(Phalcon_Forms_Form, isValid) { zend_object_iterator *_16$$15; HashTable *_7, *_11$$11; HashPosition _6, _10$$11; zend_bool validationStatus = 0, _4, _9$$11; zephir_fcall_cache_entry *_13 = NULL, *_14 = NULL, *_19 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *data = NULL, *entity = NULL, *messages = NULL, *element = NULL, *validators = NULL, *name = NULL, *filters = NULL, *validator = NULL, *validation = NULL, *elementMessage = NULL, *_0, *_5, **_8, *_15 = NULL, *_1$$6, *_2$$7, *_3$$8 = NULL, **_12$$11, *_17$$16 = NULL, *_18$$16 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 2, &data, &entity); if (!data) { ZEPHIR_CPY_WRT(data, ZEPHIR_GLOBAL(global_null)); } else { ZEPHIR_SEPARATE_PARAM(data); } if (!entity) { entity = ZEPHIR_GLOBAL(global_null); } _0 = zephir_fetch_nproperty_this(this_ptr, SL("_elements"), PH_NOISY_CC); if (ZEPHIR_IS_EMPTY(_0)) { RETURN_MM_BOOL(1); } if (Z_TYPE_P(data) != IS_ARRAY) { ZEPHIR_OBS_NVAR(data); zephir_read_property_this(&data, this_ptr, SL("_data"), PH_NOISY_CC); } if (Z_TYPE_P(entity) == IS_OBJECT) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "bind", NULL, 0, data, entity); zephir_check_call_status(); } else { ZEPHIR_OBS_VAR(_1$$6); zephir_read_property_this(&_1$$6, this_ptr, SL("_entity"), PH_NOISY_CC); if (Z_TYPE_P(_1$$6) == IS_OBJECT) { _2$$7 = zephir_fetch_nproperty_this(this_ptr, SL("_entity"), PH_NOISY_CC); ZEPHIR_CALL_METHOD(NULL, this_ptr, "bind", NULL, 0, data, _2$$7); zephir_check_call_status(); } } if ((zephir_method_exists_ex(this_ptr, SS("beforevalidation") TSRMLS_CC) == SUCCESS)) { ZEPHIR_CALL_METHOD(&_3$$8, this_ptr, "beforevalidation", NULL, 0, data, entity); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_3$$8)) { RETURN_MM_BOOL(0); } } validationStatus = 1; ZEPHIR_CALL_METHOD(&validation, this_ptr, "getvalidation", NULL, 0); zephir_check_call_status(); _4 = Z_TYPE_P(validation) != IS_OBJECT; if (!(_4)) { _4 = !((zephir_instance_of_ev(validation, phalcon_validationinterface_ce TSRMLS_CC))); } if (_4) { ZEPHIR_INIT_NVAR(validation); object_init_ex(validation, phalcon_validation_ce); ZEPHIR_CALL_METHOD(NULL, validation, "__construct", NULL, 227); zephir_check_call_status(); } _5 = zephir_fetch_nproperty_this(this_ptr, SL("_elements"), PH_NOISY_CC); zephir_is_iterable(_5, &_7, &_6, 0, 0, "phalcon/forms/form.zep", 338); for ( ; zend_hash_get_current_data_ex(_7, (void**) &_8, &_6) == SUCCESS ; zend_hash_move_forward_ex(_7, &_6) ) { ZEPHIR_GET_HVALUE(element, _8); ZEPHIR_CALL_METHOD(&validators, element, "getvalidators", NULL, 0); zephir_check_call_status(); _9$$11 = Z_TYPE_P(validators) != IS_ARRAY; if (!(_9$$11)) { _9$$11 = zephir_fast_count_int(validators TSRMLS_CC) == 0; } if (_9$$11) { continue; } ZEPHIR_CALL_METHOD(&name, element, "getname", NULL, 0); zephir_check_call_status(); zephir_is_iterable(validators, &_11$$11, &_10$$11, 0, 0, "phalcon/forms/form.zep", 325); for ( ; zend_hash_get_current_data_ex(_11$$11, (void**) &_12$$11, &_10$$11) == SUCCESS ; zend_hash_move_forward_ex(_11$$11, &_10$$11) ) { ZEPHIR_GET_HVALUE(validator, _12$$11); ZEPHIR_CALL_METHOD(NULL, validation, "add", &_13, 228, name, validator); zephir_check_call_status(); } ZEPHIR_CALL_METHOD(&filters, element, "getfilters", NULL, 0); zephir_check_call_status(); if (Z_TYPE_P(filters) == IS_ARRAY) { ZEPHIR_CALL_METHOD(NULL, validation, "setfilters", &_14, 229, name, filters); zephir_check_call_status(); } } ZEPHIR_CALL_METHOD(&messages, validation, "validate", NULL, 230, data, entity); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_15, messages, "count", NULL, 0); zephir_check_call_status(); if (zephir_is_true(_15)) { _16$$15 = zephir_get_iterator(messages TSRMLS_CC); _16$$15->funcs->rewind(_16$$15 TSRMLS_CC); for (;_16$$15->funcs->valid(_16$$15 TSRMLS_CC) == SUCCESS && !EG(exception); _16$$15->funcs->move_forward(_16$$15 TSRMLS_CC)) { { zval **ZEPHIR_TMP_ITERATOR_PTR; _16$$15->funcs->get_current_data(_16$$15, &ZEPHIR_TMP_ITERATOR_PTR TSRMLS_CC); ZEPHIR_CPY_WRT(elementMessage, (*ZEPHIR_TMP_ITERATOR_PTR)); } ZEPHIR_CALL_METHOD(&_18$$16, elementMessage, "getfield", NULL, 0); zephir_check_call_status(); ZEPHIR_CALL_METHOD(&_17$$16, this_ptr, "get", &_19, 0, _18$$16); zephir_check_call_status(); ZEPHIR_CALL_METHOD(NULL, _17$$16, "appendmessage", NULL, 0, elementMessage); zephir_check_call_status(); } _16$$15->funcs->dtor(_16$$15 TSRMLS_CC); ZEPHIR_CALL_METHOD(NULL, messages, "rewind", NULL, 0); zephir_check_call_status(); validationStatus = 0; } if (!(validationStatus)) { zephir_update_property_this(getThis(), SL("_messages"), messages TSRMLS_CC); } if ((zephir_method_exists_ex(this_ptr, SS("aftervalidation") TSRMLS_CC) == SUCCESS)) { ZEPHIR_CALL_METHOD(NULL, this_ptr, "aftervalidation", NULL, 0, messages); zephir_check_call_status(); } RETURN_MM_BOOL(validationStatus); }
/** * Updates every record in the resultset * * @param array data * @param \Closure conditionCallback * @return boolean */ PHP_METHOD(Phalcon_Mvc_Model_Resultset, update) { zval *_2$$6 = NULL; zend_object_iterator *_0; zend_bool transaction = 0; int ZEPHIR_LAST_CALL_STATUS; zval *data, *conditionCallback = NULL, *record = NULL, *connection = NULL, *_1$$6 = NULL, *_3$$3 = NULL, *_4$$8 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &data, &conditionCallback); if (!conditionCallback) { conditionCallback = ZEPHIR_GLOBAL(global_null); } ZEPHIR_INIT_VAR(connection); ZVAL_NULL(connection); transaction = 0; _0 = zephir_get_iterator(this_ptr TSRMLS_CC); _0->funcs->rewind(_0 TSRMLS_CC); for (;_0->funcs->valid(_0 TSRMLS_CC) == SUCCESS && !EG(exception); _0->funcs->move_forward(_0 TSRMLS_CC)) { { zval **ZEPHIR_TMP_ITERATOR_PTR; _0->funcs->get_current_data(_0, &ZEPHIR_TMP_ITERATOR_PTR TSRMLS_CC); ZEPHIR_CPY_WRT(record, (*ZEPHIR_TMP_ITERATOR_PTR)); } if (transaction == 0) { if (!((zephir_method_exists_ex(record, SS("getwriteconnection") TSRMLS_CC) == SUCCESS))) { ZEPHIR_THROW_EXCEPTION_DEBUG_STR(phalcon_mvc_model_exception_ce, "The returned record is not valid", "phalcon/mvc/model/resultset.zep", 414); return; } ZEPHIR_CALL_METHOD(&connection, record, "getwriteconnection", NULL, 0); zephir_check_call_status(); transaction = 1; ZEPHIR_CALL_METHOD(NULL, connection, "begin", NULL, 0); zephir_check_call_status(); } if (Z_TYPE_P(conditionCallback) == IS_OBJECT) { ZEPHIR_INIT_NVAR(_1$$6); ZEPHIR_INIT_NVAR(_2$$6); zephir_create_array(_2$$6, 1, 0 TSRMLS_CC); zephir_array_fast_append(_2$$6, record); ZEPHIR_CALL_USER_FUNC_ARRAY(_1$$6, conditionCallback, _2$$6); zephir_check_call_status(); if (ZEPHIR_IS_FALSE_IDENTICAL(_1$$6)) { continue; } } ZEPHIR_CALL_METHOD(&_3$$3, record, "save", NULL, 0, data); zephir_check_call_status(); if (!(zephir_is_true(_3$$3))) { ZEPHIR_CALL_METHOD(&_4$$8, record, "getmessages", NULL, 0); zephir_check_call_status(); zephir_update_property_this(this_ptr, SL("_errorMessages"), _4$$8 TSRMLS_CC); ZEPHIR_CALL_METHOD(NULL, connection, "rollback", NULL, 0); zephir_check_call_status(); transaction = 0; break; } } _0->funcs->dtor(_0 TSRMLS_CC); if (transaction == 1) { ZEPHIR_CALL_METHOD(NULL, connection, "commit", NULL, 0); zephir_check_call_status(); } RETURN_MM_BOOL(1); }