PHP_METHOD(Yb_Std, randString) { zephir_fcall_cache_entry *_9 = NULL; int ZEPHIR_LAST_CALL_STATUS; zval *charList = NULL, *result; zval *len_param = NULL, *charList_param = NULL, *_0 = NULL, _1, *_2 = NULL, _3$$5 = zval_used_for_init, _4$$5 = zval_used_for_init, _5$$5 = zval_used_for_init, _6$$5 = zval_used_for_init, _7$$5 = zval_used_for_init, *_8$$5 = NULL; long len, maxIndex = 0; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 1, 1, &len_param, &charList_param); len = zephir_get_intval(len_param); if (!charList_param) { ZEPHIR_INIT_VAR(charList); ZVAL_STRING(charList, "", 1); } else { zephir_get_strval(charList, charList_param); } ZEPHIR_INIT_VAR(result); ZVAL_EMPTY_STRING(result); if (unlikely(len < 1)) { RETURN_MM_STRING("", 1); } if (zephir_fast_strlen_ev(charList) < 1) { ZEPHIR_INIT_NVAR(charList); ZVAL_STRING(charList, "0123456789abcdefghijklmnopqrstuvwxyz", 1); } ZEPHIR_SINIT_VAR(_1); ZVAL_STRING(&_1, "UTF-8", 0); ZEPHIR_CALL_FUNCTION(&_2, "mb_strlen", NULL, 51, charList, &_1); zephir_check_call_status(); maxIndex = (zephir_get_intval(_2) - 1); while (1) { if (!(len)) { break; } len--; ZEPHIR_SINIT_NVAR(_3$$5); ZVAL_LONG(&_3$$5, 0); ZEPHIR_SINIT_NVAR(_4$$5); ZVAL_LONG(&_4$$5, maxIndex); ZEPHIR_SINIT_NVAR(_5$$5); ZVAL_LONG(&_5$$5, zephir_mt_rand(zephir_get_intval(&_3$$5), zephir_get_intval(&_4$$5) TSRMLS_CC)); ZEPHIR_SINIT_NVAR(_6$$5); ZVAL_LONG(&_6$$5, 1); ZEPHIR_SINIT_NVAR(_7$$5); ZVAL_STRING(&_7$$5, "UTF-8", 0); ZEPHIR_CALL_FUNCTION(&_8$$5, "mb_substr", &_9, 54, charList, &_5$$5, &_6$$5, &_7$$5); zephir_check_call_status(); zephir_concat_self(&result, _8$$5 TSRMLS_CC); } RETURN_CTOR(result); }
PHP_METHOD(Test_Fcall, testCall2) { zval _0 = zval_used_for_init, _1 = zval_used_for_init; while (1) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 100); RETURN_LONG(zephir_mt_rand(zephir_get_intval(&_0), zephir_get_intval(&_1) TSRMLS_CC)); } }
/** * Generates a random string based on the given type. Type is one of the RANDOM_* constants * * <code> * echo Phalcon\Text::random(Phalcon\Text::RANDOM_ALNUM); //"aloiwkqz" * </code> */ PHP_METHOD(Phalcon_Text, random) { zephir_fcall_cache_entry *_3 = NULL, *_18 = NULL; long length; zval *type_param = NULL, *length_param = NULL, *pool = NULL, *str = NULL, _0$$3 = zval_used_for_init, _1$$3 = zval_used_for_init, *_2$$3 = NULL, *_4$$3 = NULL, _5$$4 = zval_used_for_init, _6$$4 = zval_used_for_init, *_7$$4 = NULL, *_8$$4 = NULL, _9$$5, _10$$5, _11$$6, _12$$6, _13$$7 = zval_used_for_init, _14$$7 = zval_used_for_init, *_15$$7 = NULL, *_16$$7 = NULL, *_17$$7 = NULL, *_19$$8, _20$$8 = zval_used_for_init, _21$$8 = zval_used_for_init; int type, ZEPHIR_LAST_CALL_STATUS, end = 0; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 2, &type_param, &length_param); if (!type_param) { type = 0; } else { type = zephir_get_intval(type_param); } if (!length_param) { length = 8; } else { length = zephir_get_intval(length_param); } ZEPHIR_INIT_VAR(str); ZVAL_STRING(str, "", 1); do { if (type == 1) { ZEPHIR_SINIT_VAR(_0$$3); ZVAL_STRING(&_0$$3, "a", 0); ZEPHIR_SINIT_VAR(_1$$3); ZVAL_STRING(&_1$$3, "z", 0); ZEPHIR_CALL_FUNCTION(&_2$$3, "range", &_3, 441, &_0$$3, &_1$$3); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0$$3); ZVAL_STRING(&_0$$3, "A", 0); ZEPHIR_SINIT_NVAR(_1$$3); ZVAL_STRING(&_1$$3, "Z", 0); ZEPHIR_CALL_FUNCTION(&_4$$3, "range", &_3, 441, &_0$$3, &_1$$3); zephir_check_call_status(); ZEPHIR_INIT_VAR(pool); zephir_fast_array_merge(pool, &(_2$$3), &(_4$$3) TSRMLS_CC); break; } if (type == 2) { ZEPHIR_SINIT_VAR(_5$$4); ZVAL_LONG(&_5$$4, 0); ZEPHIR_SINIT_VAR(_6$$4); ZVAL_LONG(&_6$$4, 9); ZEPHIR_CALL_FUNCTION(&_7$$4, "range", &_3, 441, &_5$$4, &_6$$4); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_5$$4); ZVAL_STRING(&_5$$4, "a", 0); ZEPHIR_SINIT_NVAR(_6$$4); ZVAL_STRING(&_6$$4, "f", 0); ZEPHIR_CALL_FUNCTION(&_8$$4, "range", &_3, 441, &_5$$4, &_6$$4); zephir_check_call_status(); ZEPHIR_INIT_NVAR(pool); zephir_fast_array_merge(pool, &(_7$$4), &(_8$$4) TSRMLS_CC); break; } if (type == 3) { ZEPHIR_SINIT_VAR(_9$$5); ZVAL_LONG(&_9$$5, 0); ZEPHIR_SINIT_VAR(_10$$5); ZVAL_LONG(&_10$$5, 9); ZEPHIR_CALL_FUNCTION(&pool, "range", &_3, 441, &_9$$5, &_10$$5); zephir_check_call_status(); break; } if (type == 4) { ZEPHIR_SINIT_VAR(_11$$6); ZVAL_LONG(&_11$$6, 1); ZEPHIR_SINIT_VAR(_12$$6); ZVAL_LONG(&_12$$6, 9); ZEPHIR_CALL_FUNCTION(&pool, "range", &_3, 441, &_11$$6, &_12$$6); zephir_check_call_status(); break; } ZEPHIR_SINIT_VAR(_13$$7); ZVAL_LONG(&_13$$7, 0); ZEPHIR_SINIT_VAR(_14$$7); ZVAL_LONG(&_14$$7, 9); ZEPHIR_CALL_FUNCTION(&_15$$7, "range", &_3, 441, &_13$$7, &_14$$7); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_13$$7); ZVAL_STRING(&_13$$7, "a", 0); ZEPHIR_SINIT_NVAR(_14$$7); ZVAL_STRING(&_14$$7, "z", 0); ZEPHIR_CALL_FUNCTION(&_16$$7, "range", &_3, 441, &_13$$7, &_14$$7); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_13$$7); ZVAL_STRING(&_13$$7, "A", 0); ZEPHIR_SINIT_NVAR(_14$$7); ZVAL_STRING(&_14$$7, "Z", 0); ZEPHIR_CALL_FUNCTION(&_17$$7, "range", &_3, 441, &_13$$7, &_14$$7); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&pool, "array_merge", &_18, 442, _15$$7, _16$$7, _17$$7); zephir_check_call_status(); break; } while(0); end = (zephir_fast_count_int(pool TSRMLS_CC) - 1); while (1) { if (!(zephir_fast_strlen_ev(str) < length)) { break; } ZEPHIR_SINIT_NVAR(_20$$8); ZVAL_LONG(&_20$$8, 0); ZEPHIR_SINIT_NVAR(_21$$8); ZVAL_LONG(&_21$$8, end); zephir_array_fetch_long(&_19$$8, pool, zephir_mt_rand(zephir_get_intval(&_20$$8), zephir_get_intval(&_21$$8) TSRMLS_CC), PH_NOISY | PH_READONLY, "phalcon/text.zep", 129 TSRMLS_CC); zephir_concat_self(&str, _19$$8 TSRMLS_CC); } RETURN_CCTOR(str); }
/** * Generates a random string based on the given type. Type is one of the RANDOM_* constants * * <code> * echo Phalcon\Text::random(Phalcon\Text::RANDOM_ALNUM); //"aloiwkqz" * </code> */ PHP_METHOD(Phalcon_Text, random) { zephir_fcall_cache_entry *_3 = NULL, *_6 = NULL; long length; zval *type_param = NULL, *length_param = NULL, *pool = NULL, *str, _0 = zval_used_for_init, _1 = zval_used_for_init, *_2 = NULL, *_4 = NULL, *_5 = NULL, *_7; int type, end, ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 2, &type_param, &length_param); if (!type_param) { type = 0; } else { type = zephir_get_intval(type_param); } if (!length_param) { length = 8; } else { length = zephir_get_intval(length_param); } ZEPHIR_INIT_VAR(str); ZVAL_STRING(str, "", 1); do { if (type == 1) { ZEPHIR_SINIT_VAR(_0); ZVAL_STRING(&_0, "a", 0); ZEPHIR_SINIT_VAR(_1); ZVAL_STRING(&_1, "z", 0); ZEPHIR_CALL_FUNCTION(&_2, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "A", 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_STRING(&_1, "Z", 0); ZEPHIR_CALL_FUNCTION(&_4, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); ZEPHIR_INIT_VAR(pool); zephir_fast_array_merge(pool, &(_2), &(_4) TSRMLS_CC); break; } if (type == 2) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 9); ZEPHIR_CALL_FUNCTION(&_2, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "a", 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_STRING(&_1, "f", 0); ZEPHIR_CALL_FUNCTION(&_4, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); ZEPHIR_INIT_NVAR(pool); zephir_fast_array_merge(pool, &(_2), &(_4) TSRMLS_CC); break; } if (type == 3) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 9); ZEPHIR_CALL_FUNCTION(&pool, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); break; } if (type == 4) { ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 1); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 9); ZEPHIR_CALL_FUNCTION(&pool, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); break; } ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, 9); ZEPHIR_CALL_FUNCTION(&_2, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "a", 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_STRING(&_1, "z", 0); ZEPHIR_CALL_FUNCTION(&_4, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_0); ZVAL_STRING(&_0, "A", 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_STRING(&_1, "Z", 0); ZEPHIR_CALL_FUNCTION(&_5, "range", &_3, 416, &_0, &_1); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&pool, "array_merge", &_6, 417, _2, _4, _5); zephir_check_call_status(); break; } while(0); end = (zephir_fast_count_int(pool TSRMLS_CC) - 1); while (1) { if (!(zephir_fast_strlen_ev(str) < length)) { break; } ZEPHIR_SINIT_NVAR(_0); ZVAL_LONG(&_0, 0); ZEPHIR_SINIT_NVAR(_1); ZVAL_LONG(&_1, end); zephir_array_fetch_long(&_7, pool, zephir_mt_rand(zephir_get_intval(&_0), zephir_get_intval(&_1) TSRMLS_CC), PH_NOISY | PH_READONLY, "phalcon/text.zep", 130 TSRMLS_CC); zephir_concat_self(&str, _7 TSRMLS_CC); } RETURN_CCTOR(str); }