Example #1
0
/**
 * Sets a session variable in an application context
 *
 *<code>
 *	$session->set('auth', 'yes');
 *</code>
 */
PHP_METHOD(Phalcon_Session_Adapter, set) {

	int _2, _1$$3;
	zval *index_param = NULL, *value, *_SESSION, *uniqueId = NULL, *_0$$3;
	zval *index = NULL;

	ZEPHIR_MM_GROW();
	zephir_get_global(&_SESSION, SS("_SESSION") TSRMLS_CC);
	zephir_fetch_params(1, 2, 0, &index_param, &value);

	zephir_get_strval(index, index_param);


	uniqueId = zephir_fetch_nproperty_this(this_ptr, SL("_uniqueId"), PH_NOISY_CC);
	if (!(ZEPHIR_IS_EMPTY(uniqueId))) {
		ZEPHIR_INIT_VAR(_0$$3);
		ZEPHIR_CONCAT_VSV(_0$$3, uniqueId, "#", index);
		_1$$3 = zephir_maybe_separate_zval(&_SESSION);
		zephir_array_update_zval(&_SESSION, _0$$3, &value, PH_COPY | PH_SEPARATE);
		if (_1$$3) {
			ZEND_SET_SYMBOL(&EG(symbol_table), "_SESSION", _SESSION);
		}
		RETURN_MM_NULL();
	}
	_2 = zephir_maybe_separate_zval(&_SESSION);
	zephir_array_update_zval(&_SESSION, index, &value, PH_COPY | PH_SEPARATE);
	if (_2) {
		ZEND_SET_SYMBOL(&EG(symbol_table), "_SESSION", _SESSION);
	}
	ZEPHIR_MM_RESTORE();

}
Example #2
0
/**
 * Allow setting of a session variable.
 * Throw an exception if the name is not string.
 *
 * @param  string $name
 * @param  mixed  $value
 * @throws Yaf_Exception
 * @return void
 */
PHP_METHOD(Yaf_Session, __set) {

    int _0;
    zval *name_param = NULL, *value, *_SESSION;
    zval *name = NULL;

    ZEPHIR_MM_GROW();
    zephir_fetch_params(1, 2, 0, &name_param, &value);

    zephir_get_strval(name, name_param);


    if (Z_TYPE_P(name) == IS_STRING) {
        zephir_update_property_array(this_ptr, SL("session"), name, value TSRMLS_CC);
        zephir_get_global(&_SESSION, SS("_SESSION") TSRMLS_CC);
        _0 = zephir_maybe_separate_zval(&_SESSION);
        zephir_array_update_zval(&_SESSION, name, &value, PH_COPY | PH_SEPARATE);
        if (_0) {
            ZEND_SET_SYMBOL(&EG(symbol_table), "_SESSION", _SESSION);
        }
    } else {
        ZEPHIR_THROW_EXCEPTION_DEBUG_STR(yaf_exception_ce, "Expect a string key name", "yaf/session.zep", 219);
        return;
    }
    ZEPHIR_MM_RESTORE();

}
Example #3
0
/**
 * @link https://github.com/phalcon/zephir/issues/159
 */
PHP_METHOD(Test_Assign, testGlobalVarAssign) {

	int _0;
	zval *index, *value, *_POST;

	zephir_fetch_params(0, 2, 0, &index, &value);



	zephir_get_global(&_POST, SS("_POST") TSRMLS_CC);
	_0 = zephir_maybe_separate_zval(&_POST);
	zephir_array_update_zval(&_POST, index, &value, PH_COPY | PH_SEPARATE);
	if (_0) {
		ZEND_SET_SYMBOL(&EG(symbol_table), "_POST", _POST);
	}

}
Example #4
0
PHP_METHOD(Test_Assign, testArrayVarAssign2) {

	int _0;
	zval *index, *value, *_POST;

	ZEPHIR_MM_GROW();
	zephir_fetch_params(1, 2, 0, &index, &value);



	ZEPHIR_INIT_VAR(_POST);
	array_init(_POST);
	_0 = zephir_maybe_separate_zval(&_POST);
	zephir_array_update_zval(&_POST, index, &value, PH_COPY | PH_SEPARATE);
	if (_0) {
		ZEND_SET_SYMBOL(&EG(symbol_table), "_POST", _POST);
	}
	RETURN_CCTOR(_POST);

}