/** * Sets locale information * * <code> * // Set locale to Dutch * $gettext->setLocale(LC_ALL, "nl_NL"); * * // Try different possible locale names for german * $gettext->setLocale(LC_ALL, "de_DE@euro", "de_DE", "de", "ge"); * </code> */ PHP_METHOD(Phalcon_Translate_Adapter_Gettext, setLocale) { zval *locale = NULL; zval *category_param = NULL, *locale_param = NULL, *_0, *_1, _2, *_3, *_4, *_5, *_6, *_7, *_8, *_9, _10; zend_long category, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 2, 0, &category_param, &locale_param); if (UNEXPECTED(Z_TYPE_P(category_param) != IS_LONG)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'category' must be a int") TSRMLS_CC); RETURN_MM_NULL(); } category = Z_LVAL_P(category_param); if (UNEXPECTED(Z_TYPE_P(locale_param) != IS_STRING && Z_TYPE_P(locale_param) != IS_NULL)) { zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'locale' must be a string") TSRMLS_CC); RETURN_MM_NULL(); } if (EXPECTED(Z_TYPE_P(locale_param) == IS_STRING)) { zephir_get_strval(locale, locale_param); } else { ZEPHIR_INIT_VAR(locale); ZVAL_EMPTY_STRING(locale); } ZEPHIR_INIT_VAR(_0); ZEPHIR_INIT_VAR(_1); zephir_get_args(_1 TSRMLS_CC); ZEPHIR_SINIT_VAR(_2); ZVAL_STRING(&_2, "setlocale", 0); ZEPHIR_CALL_USER_FUNC_ARRAY(_0, &_2, _1); zephir_check_call_status(); zephir_update_property_this(getThis(), SL("_locale"), _0 TSRMLS_CC); ZEPHIR_INIT_ZVAL_NREF(_3); ZVAL_LONG(_3, category); zephir_update_property_this(getThis(), SL("_category"), _3 TSRMLS_CC); _3 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_4); ZEPHIR_CONCAT_SV(_4, "LC_ALL=", _3); ZEPHIR_CALL_FUNCTION(NULL, "putenv", NULL, 474, _4); zephir_check_call_status(); _5 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_6); ZEPHIR_CONCAT_SV(_6, "LANG=", _5); ZEPHIR_CALL_FUNCTION(NULL, "putenv", NULL, 474, _6); zephir_check_call_status(); _7 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_INIT_VAR(_8); ZEPHIR_CONCAT_SV(_8, "LANGUAGE=", _7); ZEPHIR_CALL_FUNCTION(NULL, "putenv", NULL, 474, _8); zephir_check_call_status(); _9 = zephir_fetch_nproperty_this(this_ptr, SL("_locale"), PH_NOISY_CC); ZEPHIR_SINIT_VAR(_10); ZVAL_LONG(&_10, 6); ZEPHIR_CALL_FUNCTION(NULL, "setlocale", NULL, 456, &_10, _9); zephir_check_call_status(); RETURN_MM_MEMBER(getThis(), "_locale"); }
/** * Alias of variables() method * * @param mixed variable * @param ... */ PHP_METHOD(Phalcon_Debug_Dump, all) { zval _1; zval _0; zend_long ZEPHIR_LAST_CALL_STATUS; zval *this_ptr = getThis(); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&_0); zephir_create_array(&_0, 2, 0 TSRMLS_CC); zephir_array_fast_append(&_0, this_ptr); ZEPHIR_INIT_VAR(&_1); ZVAL_STRING(&_1, "variables"); zephir_array_fast_append(&_0, &_1); ZEPHIR_INIT_NVAR(&_1); zephir_get_args(&_1); ZEPHIR_CALL_USER_FUNC_ARRAY(return_value, &_0, &_1); zephir_check_call_status(); RETURN_MM(); }
/** * Concatenates strings using the separator only once without duplication in places concatenation * * <code> * $str = Phalcon\Text::concat( * "/", * "/tmp/", * "/folder_1/", * "/folder_2", * "folder_3/" * ); * * // /tmp/folder_1/folder_2/folder_3/ * echo $str; * </code> * * @param string separator * @param string a * @param string b * @param string ...N */ PHP_METHOD(Phalcon_Text, concat) { HashTable *_7$$3; HashPosition _6$$3; zval *separator = NULL, *a = NULL, *b = NULL, _0, _1, _2, *c = NULL, *_12, *_13, *_3$$3, _4$$3, *_5$$3 = NULL, **_8$$3, *_9$$4 = NULL, *_10$$4 = NULL, *_11$$4 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(separator); ZEPHIR_SINIT_VAR(_0); ZVAL_LONG(&_0, 0); zephir_get_arg(separator, zephir_get_intval(&_0) TSRMLS_CC); ZEPHIR_INIT_VAR(a); ZEPHIR_SINIT_VAR(_1); ZVAL_LONG(&_1, 1); zephir_get_arg(a, zephir_get_intval(&_1) TSRMLS_CC); ZEPHIR_INIT_VAR(b); ZEPHIR_SINIT_VAR(_2); ZVAL_LONG(&_2, 2); zephir_get_arg(b, zephir_get_intval(&_2) TSRMLS_CC); if (ZEND_NUM_ARGS() > 3) { ZEPHIR_INIT_VAR(_3$$3); zephir_get_args(_3$$3 TSRMLS_CC); ZEPHIR_SINIT_VAR(_4$$3); ZVAL_LONG(&_4$$3, 3); ZEPHIR_CALL_FUNCTION(&_5$$3, "array_slice", NULL, 406, _3$$3, &_4$$3); zephir_check_call_status(); zephir_is_iterable(_5$$3, &_7$$3, &_6$$3, 0, 0, "phalcon/text.zep", 262); for ( ; zend_hash_get_current_data_ex(_7$$3, (void**) &_8$$3, &_6$$3) == SUCCESS ; zend_hash_move_forward_ex(_7$$3, &_6$$3) ) { ZEPHIR_GET_HVALUE(c, _8$$3); ZEPHIR_INIT_NVAR(_9$$4); zephir_fast_trim(_9$$4, b, separator, ZEPHIR_TRIM_RIGHT TSRMLS_CC); ZEPHIR_INIT_NVAR(_10$$4); zephir_fast_trim(_10$$4, c, separator, ZEPHIR_TRIM_LEFT TSRMLS_CC); ZEPHIR_INIT_LNVAR(_11$$4); ZEPHIR_CONCAT_VVV(_11$$4, _9$$4, separator, _10$$4); ZEPHIR_CPY_WRT(b, _11$$4); } } ZEPHIR_INIT_VAR(_12); zephir_fast_trim(_12, a, separator, ZEPHIR_TRIM_RIGHT TSRMLS_CC); ZEPHIR_INIT_VAR(_13); zephir_fast_trim(_13, b, separator, ZEPHIR_TRIM_LEFT TSRMLS_CC); ZEPHIR_CONCAT_VVV(return_value, _12, separator, _13); RETURN_MM(); }
/** * Returns an HTML string of debugging information about any number of * variables, each wrapped in a "pre" tag. * * <code> * $foo = "string"; * $bar = ["key" => "value"]; * $baz = new stdClass(); * * echo (new \Phalcon\Debug\Dump())->variables($foo, $bar, $baz); * </code> * * @param mixed variable * @param ... */ PHP_METHOD(Phalcon_Debug_Dump, variables) { zend_string *_3; zend_ulong _2; zval key, value, output, _0, *_1, _4$$3, _5$$3; zephir_fcall_cache_entry *_6 = NULL; zend_long ZEPHIR_LAST_CALL_STATUS; zval *this_ptr = getThis(); ZVAL_UNDEF(&key); ZVAL_UNDEF(&value); ZVAL_UNDEF(&output); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_4$$3); ZVAL_UNDEF(&_5$$3); ZEPHIR_MM_GROW(); ZEPHIR_INIT_VAR(&output); ZVAL_STRING(&output, ""); ZEPHIR_INIT_VAR(&_0); zephir_get_args(&_0); zephir_is_iterable(&_0, 0, "phalcon/debug/dump.zep", 169); ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(&_0), _2, _3, _1) { ZEPHIR_INIT_NVAR(&key); if (_3 != NULL) { ZVAL_STR_COPY(&key, _3); } else { ZVAL_LONG(&key, _2); } ZEPHIR_INIT_NVAR(&value); ZVAL_COPY(&value, _1); ZEPHIR_INIT_LNVAR(_5$$3); ZEPHIR_CONCAT_SV(&_5$$3, "var ", &key); ZEPHIR_CALL_METHOD(&_4$$3, this_ptr, "one", &_6, 0, &value, &_5$$3); zephir_check_call_status(); zephir_concat_self(&output, &_4$$3 TSRMLS_CC); } ZEND_HASH_FOREACH_END();