void phalcon_concat_vv(zval *result, zval *op1, zval *op2, int self_var){ if (self_var) { concat_function(result, result, op1); concat_function(result, result, op2); } else { concat_function(result, op1, op2); } }
void phalcon_concat_sv(zval *result, const char *op1, uint32_t op1_len, zval *op2, int self_var){ zval zop1 = {}; ZVAL_STRINGL(&zop1, op1, op1_len); if (self_var) { concat_function(result, result, &zop1); concat_function(result, result, op2); } else { concat_function(result, &zop1, op2); } }
void phalcon_concat_vvs(zval *result, zval *op1, zval *op2, const char *op3, uint32_t op3_len, int self_var){ zval zop3 = {}; ZVAL_STRINGL(&zop3, op3, op3_len); if (self_var) { concat_function(result, result, op1); concat_function(result, result, op2); } else { concat_function(result, op1, op2); } concat_function(result, result, &zop3); }
/** * Appends the content of the right operator to the left operator */ void phalcon_concat_self_char(zval *left, unsigned char right) { zval zright = {}; char c[1]; c[0] = right; ZVAL_STRINGL(&zright, c, 1); concat_function(left, left, &zright); }
/** * Appends a string to the HTTP response body * * @param string $content * @return Phalcon\Http\ResponseInterface */ PHP_METHOD(Phalcon_Http_Response, appendContent){ zval *content, *_content; zval *r0 = NULL; PHALCON_MM_GROW(); phalcon_fetch_params(1, 1, 0, &content); PHALCON_OBS_VAR(_content); phalcon_read_property_this(&_content, this_ptr, SL("_content"), PH_NOISY_CC); PHALCON_ALLOC_ZVAL_MM(r0); concat_function(r0, _content, content TSRMLS_CC); phalcon_update_property_this(this_ptr, SL("_content"), r0 TSRMLS_CC); RETURN_THIS(); }
/** * Appends a text to current document title * * @param string $title */ PHP_METHOD(Phalcon_Tag, appendTitle){ zval *title; zval *t0 = NULL; zval *r0 = NULL; PHALCON_MM_GROW(); phalcon_fetch_params(1, 1, 0, &title); PHALCON_OBS_VAR(t0); phalcon_read_static_property(&t0, SL("phalcon\\tag"), SL("_documentTitle") TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r0); concat_function(r0, t0, title TSRMLS_CC); phalcon_update_static_property(SL("phalcon\\tag"), SL("_documentTitle"), r0 TSRMLS_CC); PHALCON_MM_RESTORE(); }
/** * Appends a string to the HTTP response body * * @param string $content * @return Phalcon\Http\ResponseInterface */ PHP_METHOD(Phalcon_Http_Response, appendContent){ zval *content, *_content; zval *r0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &content) == FAILURE) { RETURN_MM_NULL(); } PHALCON_OBS_VAR(_content); phalcon_read_property(&_content, this_ptr, SL("_content"), PH_NOISY_CC); PHALCON_ALLOC_ZVAL_MM(r0); concat_function(r0, _content, content TSRMLS_CC); phalcon_update_property_zval(this_ptr, SL("_content"), r0 TSRMLS_CC); RETURN_THIS(); }
/** * Add to title of view content * * @param string $title */ PHP_METHOD(Phalcon_Tag, appendTitle){ zval *title; zval *t0 = NULL; zval *r0 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &title) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_OBSERVE_VAR(t0); phalcon_read_static_property(&t0, SL("phalcon\\tag"), SL("_documentTitle") TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r0); concat_function(r0, t0, title TSRMLS_CC); phalcon_update_static_property(SL("phalcon\\tag"), SL("_documentTitle"), r0 TSRMLS_CC); PHALCON_MM_RESTORE(); }
/** * Makes the work of autoload registered classes * * @param string $className */ PHP_METHOD(Phalcon_Loader, autoLoad){ zval *class_name = NULL, *directory = NULL, *preffix = NULL, *file_name = NULL; zval *t0 = NULL, *t1 = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL, *r6 = NULL; zval *r7 = NULL; zval *c0 = NULL, *c1 = NULL; HashTable *ah0, *ah1; HashPosition hp0, hp1; zval **hd; char *hash_index; uint hash_index_len; ulong hash_num; int hash_type; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &class_name) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_ALLOC_ZVAL_MM(t0); phalcon_read_property(&t0, this_ptr, "_namespaces", sizeof("_namespaces")-1, PHALCON_NOISY TSRMLS_CC); if (phalcon_valid_foreach(t0 TSRMLS_CC)) { ah0 = Z_ARRVAL_P(t0); zend_hash_internal_pointer_reset_ex(ah0, &hp0); fes_0c08_0: if(zend_hash_get_current_data_ex(ah0, (void**) &hd, &hp0) != SUCCESS){ goto fee_0c08_0; } else { PHALCON_INIT_VAR(preffix); PHALCON_GET_FOREACH_KEY(preffix, ah0, hp0); } PHALCON_INIT_VAR(directory); ZVAL_ZVAL(directory, *hd, 1, 0); PHALCON_INIT_VAR(r0); PHALCON_CALL_FUNC_PARAMS_1(r0, "strlen", class_name, 0x001); PHALCON_INIT_VAR(r1); is_smaller_function(r1, preffix, r0 TSRMLS_CC); if (zend_is_true(r1)) { PHALCON_INIT_VAR(r2); PHALCON_INIT_VAR(c0); ZVAL_LONG(c0, 0); PHALCON_INIT_VAR(r3); PHALCON_CALL_FUNC_PARAMS_1(r3, "strlen", preffix, 0x001); PHALCON_CALL_FUNC_PARAMS_3(r2, "substr", class_name, c0, r3, 0x002); PHALCON_INIT_VAR(r4); is_equal_function(r4, r2, preffix TSRMLS_CC); if (zend_is_true(r4)) { PHALCON_INIT_VAR(r5); PHALCON_INIT_VAR(c1); ZVAL_STRING(c1, "", 1); PHALCON_CALL_FUNC_PARAMS_3(r5, "str_replace", preffix, c1, class_name, 0x003); PHALCON_CPY_WRT(file_name, r5); PHALCON_INIT_VAR(r6); concat_function(r6, directory, file_name TSRMLS_CC); if (phalcon_file_exists(r6 TSRMLS_CC) == SUCCESS) { if (phalcon_require(file_name TSRMLS_CC) == FAILURE) { return; } PHALCON_MM_RESTORE(); RETURN_TRUE; } } } zend_hash_move_forward_ex(ah0, &hp0); goto fes_0c08_0; fee_0c08_0: if(0){} } else { return; } PHALCON_ALLOC_ZVAL_MM(t1); phalcon_read_property(&t1, this_ptr, "_directories", sizeof("_directories")-1, PHALCON_NOISY TSRMLS_CC); if (phalcon_valid_foreach(t1 TSRMLS_CC)) { ah1 = Z_ARRVAL_P(t1); zend_hash_internal_pointer_reset_ex(ah1, &hp1); fes_0c08_1: if(zend_hash_get_current_data_ex(ah1, (void**) &hd, &hp1) != SUCCESS){ goto fee_0c08_1; } PHALCON_INIT_VAR(directory); ZVAL_ZVAL(directory, *hd, 1, 0); PHALCON_INIT_VAR(r7); concat_function(r7, directory, file_name TSRMLS_CC); if (phalcon_file_exists(r7 TSRMLS_CC) == SUCCESS) { if (phalcon_require(file_name TSRMLS_CC) == FAILURE) { return; } PHALCON_MM_RESTORE(); RETURN_TRUE; } zend_hash_move_forward_ex(ah1, &hp1); goto fes_0c08_1; fee_0c08_1: if(0){} } else { return; } PHALCON_MM_RESTORE(); }
/** * Stores cached content into the file backend * * @param string $keyName * @param string $content * @param boolean $stopBuffer */ PHP_METHOD(Phalcon_Cache_Backend_File, save){ zval *key_name = NULL, *content = NULL, *stop_buffer = NULL, *last_key = NULL; zval *front_end = NULL, *backend = NULL, *cache_dir = NULL, *cache_file = NULL; zval *cached_content = NULL, *prepared_content = NULL, *is_buffering = NULL; zval *t0 = NULL, *t1 = NULL, *t2 = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL, *r6 = NULL; zval *i0 = NULL, *i1 = NULL; zval *c0 = NULL, *c1 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "|zzz", &key_name, &content, &stop_buffer) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } if (!key_name) { PHALCON_INIT_VAR(key_name); ZVAL_NULL(key_name); } if (!content) { PHALCON_INIT_VAR(content); ZVAL_NULL(content); } if (!stop_buffer) { PHALCON_INIT_VAR(stop_buffer); ZVAL_BOOL(stop_buffer, 1); } if (Z_TYPE_P(key_name) == IS_NULL) { PHALCON_ALLOC_ZVAL_MM(t0); phalcon_read_property(&t0, this_ptr, "_lastKey", sizeof("_lastKey")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(last_key, t0); } else { PHALCON_ALLOC_ZVAL_MM(r0); phalcon_filter_alphanum(r0, key_name); PHALCON_CPY_WRT(last_key, r0); } if (!zend_is_true(last_key)) { PHALCON_ALLOC_ZVAL_MM(i0); object_init_ex(i0, phalcon_cache_exception_ce); PHALCON_INIT_VAR(c0); ZVAL_STRING(c0, "The cache must be started first", 1); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(i0, "__construct", c0, PHALCON_CHECK); phalcon_throw_exception(i0 TSRMLS_CC); return; } PHALCON_ALLOC_ZVAL_MM(t1); phalcon_read_property(&t1, this_ptr, "_frontendObject", sizeof("_frontendObject")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(front_end, t1); PHALCON_ALLOC_ZVAL_MM(t2); phalcon_read_property(&t2, this_ptr, "_backendOptions", sizeof("_backendOptions")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(backend, t2); PHALCON_ALLOC_ZVAL_MM(r1); phalcon_array_fetch_string(&r1, backend, "cacheDir", strlen("cacheDir"), PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(cache_dir, r1); PHALCON_ALLOC_ZVAL_MM(r2); PHALCON_CALL_FUNC_PARAMS_1(r2, "is_writable", cache_dir, 0x017); if (!zend_is_true(r2)) { PHALCON_ALLOC_ZVAL_MM(i1); object_init_ex(i1, phalcon_cache_exception_ce); PHALCON_INIT_VAR(c1); ZVAL_STRING(c1, "The cache file is not writable", 1); PHALCON_CALL_METHOD_PARAMS_1_NORETURN(i1, "__construct", c1, PHALCON_CHECK); phalcon_throw_exception(i1 TSRMLS_CC); return; } PHALCON_ALLOC_ZVAL_MM(r3); concat_function(r3, cache_dir, last_key TSRMLS_CC); PHALCON_CPY_WRT(cache_file, r3); if (!zend_is_true(content)) { PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_CALL_METHOD(r4, front_end, "getcontent", PHALCON_NO_CHECK); PHALCON_CPY_WRT(cached_content, r4); } else { PHALCON_CPY_WRT(cached_content, content); } PHALCON_ALLOC_ZVAL_MM(r5); PHALCON_CALL_METHOD_PARAMS_1(r5, front_end, "beforestore", cached_content, PHALCON_NO_CHECK); PHALCON_CPY_WRT(prepared_content, r5); PHALCON_CALL_FUNC_PARAMS_2_NORETURN("file_put_contents", cache_file, prepared_content, 0x01B); PHALCON_ALLOC_ZVAL_MM(r6); PHALCON_CALL_METHOD(r6, front_end, "isbuffering", PHALCON_NO_CHECK); PHALCON_CPY_WRT(is_buffering, r6); if (zend_is_true(stop_buffer)) { PHALCON_CALL_METHOD_NORETURN(front_end, "stop", PHALCON_NO_CHECK); } if (zend_is_true(is_buffering)) { zend_print_zval(cached_content, 1); } PHALCON_MM_RESTORE(); }
/** * Returns a cached content * * @param string $keyName * @return mixed */ PHP_METHOD(Phalcon_Cache_Backend_File, get){ zval *key_name = NULL, *backend = NULL, *front_end = NULL, *sanitize_key = NULL; zval *cache_file = NULL, *time = NULL, *lifetime = NULL, *cached_content = NULL; zval *t0 = NULL, *t1 = NULL; zval *r0 = NULL, *r1 = NULL, *r2 = NULL, *r3 = NULL, *r4 = NULL, *r5 = NULL, *r6 = NULL; zval *r7 = NULL, *r8 = NULL, *r9 = NULL; PHALCON_MM_GROW(); if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "z", &key_name) == FAILURE) { PHALCON_MM_RESTORE(); RETURN_NULL(); } PHALCON_ALLOC_ZVAL_MM(t0); phalcon_read_property(&t0, this_ptr, "_backendOptions", sizeof("_backendOptions")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(backend, t0); PHALCON_ALLOC_ZVAL_MM(t1); phalcon_read_property(&t1, this_ptr, "_frontendObject", sizeof("_frontendObject")-1, PHALCON_NOISY TSRMLS_CC); PHALCON_CPY_WRT(front_end, t1); PHALCON_ALLOC_ZVAL_MM(r0); phalcon_filter_alphanum(r0, key_name); PHALCON_CPY_WRT(sanitize_key, r0); phalcon_update_property_zval(this_ptr, "_lastKey", strlen("_lastKey"), sanitize_key TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r1); phalcon_array_fetch_string(&r1, backend, "cacheDir", strlen("cacheDir"), PHALCON_NOISY TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r2); concat_function(r2, r1, sanitize_key TSRMLS_CC); PHALCON_CPY_WRT(cache_file, r2); if (phalcon_file_exists(cache_file TSRMLS_CC) == SUCCESS) { PHALCON_ALLOC_ZVAL_MM(r3); PHALCON_CALL_FUNC(r3, "time", 0x018); PHALCON_CPY_WRT(time, r3); PHALCON_ALLOC_ZVAL_MM(r4); PHALCON_CALL_METHOD(r4, front_end, "getlifetime", PHALCON_NO_CHECK); PHALCON_CPY_WRT(lifetime, r4); PHALCON_ALLOC_ZVAL_MM(r5); sub_function(r5, time, lifetime TSRMLS_CC); PHALCON_ALLOC_ZVAL_MM(r6); PHALCON_CALL_FUNC_PARAMS_1(r6, "filemtime", cache_file, 0x019); PHALCON_INIT_VAR(r7); is_smaller_function(r7, r5, r6 TSRMLS_CC); if (zend_is_true(r7)) { PHALCON_ALLOC_ZVAL_MM(r8); PHALCON_CALL_FUNC_PARAMS_1(r8, "file_get_contents", cache_file, 0x01A); PHALCON_CPY_WRT(cached_content, r8); PHALCON_ALLOC_ZVAL_MM(r9); PHALCON_CALL_METHOD_PARAMS_1(r9, front_end, "afterretrieve", cached_content, PHALCON_NO_CHECK); PHALCON_RETURN_DZVAL(r9); } } PHALCON_MM_RESTORE(); RETURN_NULL(); }
/** * Appends the content of the right operator to the left operator */ void phalcon_concat_self_long(zval *left, const long right) { zval zright = {}; ZVAL_LONG(&zright, right); concat_function(left, left, &zright); }
/** * Appends the content of the right operator to the left operator */ void phalcon_concat_self_str(zval *left, const char *right, int right_length){ zval zright = {}; ZVAL_STRINGL(&zright, right, right_length); concat_function(left, left, &zright); }
/** * Appends the content of the right operator to the left operator */ void phalcon_concat_self(zval *left, zval *right){ concat_function(left, left, right); }
void phalcon_concat_vvvvv(zval *result, zval *op1, zval *op2, zval *op3, zval *op4, zval *op5, int self_var){ phalcon_concat_vvvv(result, op1, op2, op3, op4, self_var); concat_function(result, result, op5); }