Hello community, here is the log from the commit of package php5-ice for openSUSE:Factory checked in at 2017-02-19 01:04:35 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/php5-ice (Old) and /work/SRC/openSUSE:Factory/.php5-ice.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "php5-ice" Changes: -------- --- /work/SRC/openSUSE:Factory/php5-ice/php5-ice.changes 2017-02-13 07:51:11.684466000 +0100 +++ /work/SRC/openSUSE:Factory/.php5-ice.new/php5-ice.changes 2017-02-19 01:04:36.977370161 +0100 @@ -1,0 +2,12 @@ +Sat Feb 18 18:50:05 UTC 2017 - m...@poczta.onet.pl + +- Ice 1.2.8 + * Facebook, add fields to API call + +------------------------------------------------------------------- +Sat Feb 18 15:05:57 UTC 2017 - m...@poczta.onet.pl + +- Ice 1.2.7 + * Social auth, get scope from options, use static url + +------------------------------------------------------------------- Old: ---- php5-ice-1.2.6.tar.gz New: ---- php5-ice-1.2.8.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ php5-ice.spec ++++++ --- /var/tmp/diff_new_pack.afxAbh/_old 2017-02-19 01:04:37.369315087 +0100 +++ /var/tmp/diff_new_pack.afxAbh/_new 2017-02-19 01:04:37.377313963 +0100 @@ -22,7 +22,7 @@ %define _name ice Name: %{_php}-%{_name} -Version: 1.2.6 +Version: 1.2.8 Release: 0 Summary: Simple and fast PHP framework delivered as C-extension License: BSD-3-Clause ++++++ php5-ice-1.2.6.tar.gz -> php5-ice-1.2.8.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/CHANGELOG.md new/framework-1.2.8/CHANGELOG.md --- old/framework-1.2.6/CHANGELOG.md 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/CHANGELOG.md 2017-02-18 19:55:14.000000000 +0100 @@ -1,4 +1,16 @@ ------------------------------------------------------------------- +Sat Feb 18 18:50:05 UTC 2017 + +- Ice 1.2.8 + * Facebook, add fields to API call + +------------------------------------------------------------------- +Sat Feb 18 15:05:57 UTC 2017 + +- Ice 1.2.7 + * Social auth, get scope from options, use static url + +------------------------------------------------------------------- Fri Feb 10 21:20:56 UTC 2017 - Ice 1.2.6 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php5/ice/auth/social/adapter.zep.c new/framework-1.2.8/build/php5/ice/auth/social/adapter.zep.c --- old/framework-1.2.6/build/php5/ice/auth/social/adapter.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php5/ice/auth/social/adapter.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -36,6 +36,8 @@ ZEPHIR_REGISTER_CLASS(Ice\\Auth\\Social, Adapter, ice, auth_social_adapter, ice_auth_social_adapter_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + zend_declare_property_null(ice_auth_social_adapter_ce, SL("options"), ZEND_ACC_PROTECTED TSRMLS_CC); + zend_declare_property_null(ice_auth_social_adapter_ce, SL("accessToken"), ZEND_ACC_PROTECTED TSRMLS_CC); zend_declare_property_null(ice_auth_social_adapter_ce, SL("clientId"), ZEND_ACC_PROTECTED TSRMLS_CC); @@ -106,11 +108,11 @@ */ PHP_METHOD(Ice_Auth_Social_Adapter, __construct) { - zval *_15$$8; - zend_bool _10, _12, _4$$3; + zval *_18$$8; + zend_bool _13, _15, _3$$3; int ZEPHIR_LAST_CALL_STATUS; - zephir_fcall_cache_entry *_1 = NULL; - zval *config = NULL, *clientId = NULL, *clientSecret = NULL, *redirectUri = NULL, *tmp = NULL, *_9, *_11, *_13, *_0$$3 = NULL, *_2$$3 = NULL, *_3$$3 = NULL, *_5$$3 = NULL, *_6$$3, *_7$$4 = NULL, *_8$$4, *_14$$8, *_16$$8 = NULL; + zephir_fcall_cache_entry *_0 = NULL; + zval *config = NULL, *clientId = NULL, *clientSecret = NULL, *redirectUri = NULL, *di = NULL, *auth = NULL, *_12, *_14, *_16, *_1$$3 = NULL, *_2$$3 = NULL, *_4$$3 = NULL, *_5$$3, *_6$$4 = NULL, *_7$$4, *_8$$7 = NULL, *_9$$7 = NULL, *_10$$7 = NULL, *_11$$7 = NULL, *_17$$8, *_19$$8 = NULL; ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &config); @@ -123,31 +125,31 @@ } + ZEPHIR_CALL_CE_STATIC(&di, ice_di_ce, "fetch", &_0, 1); + zephir_check_call_status(); if (!(zephir_fast_count_int(config TSRMLS_CC))) { - ZEPHIR_CALL_CE_STATIC(&_0$$3, ice_di_ce, "fetch", &_1, 1); - zephir_check_call_status(); - ZEPHIR_INIT_VAR(_3$$3); - ZVAL_STRING(_3$$3, "config", ZEPHIR_TEMP_PARAM_COPY); - ZEPHIR_CALL_METHOD(&_2$$3, _0$$3, "get", NULL, 0, _3$$3); - zephir_check_temp_parameter(_3$$3); + ZEPHIR_INIT_VAR(_2$$3); + ZVAL_STRING(_2$$3, "config", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&_1$$3, di, "get", NULL, 0, _2$$3); + zephir_check_temp_parameter(_2$$3); zephir_check_call_status(); - ZEPHIR_INIT_NVAR(_3$$3); - ZVAL_STRING(_3$$3, "auth", ZEPHIR_TEMP_PARAM_COPY); - ZEPHIR_CALL_METHOD(&tmp, _2$$3, "get", NULL, 0, _3$$3); - zephir_check_temp_parameter(_3$$3); + ZEPHIR_INIT_NVAR(_2$$3); + ZVAL_STRING(_2$$3, "auth", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&auth, _1$$3, "get", NULL, 0, _2$$3); + zephir_check_temp_parameter(_2$$3); zephir_check_call_status(); - _4$$3 = zephir_is_true(tmp); - if (_4$$3) { - _6$$3 = zephir_fetch_nproperty_this(this_ptr, SL("provider"), PH_NOISY_CC); - ZEPHIR_CALL_METHOD(&_5$$3, tmp, "has", NULL, 0, _6$$3); + _3$$3 = zephir_is_true(auth); + if (_3$$3) { + _5$$3 = zephir_fetch_nproperty_this(this_ptr, SL("provider"), PH_NOISY_CC); + ZEPHIR_CALL_METHOD(&_4$$3, auth, "has", NULL, 0, _5$$3); zephir_check_call_status(); - _4$$3 = zephir_is_true(_5$$3); + _3$$3 = zephir_is_true(_4$$3); } - if (_4$$3) { - _8$$4 = zephir_fetch_nproperty_this(this_ptr, SL("provider"), PH_NOISY_CC); - ZEPHIR_CALL_METHOD(&_7$$4, tmp, "get", NULL, 0, _8$$4); + if (_3$$3) { + _7$$4 = zephir_fetch_nproperty_this(this_ptr, SL("provider"), PH_NOISY_CC); + ZEPHIR_CALL_METHOD(&_6$$4, auth, "get", NULL, 0, _7$$4); zephir_check_call_status(); - ZEPHIR_CALL_METHOD(&config, _7$$4, "toarray", NULL, 0); + ZEPHIR_CALL_METHOD(&config, _6$$4, "toarray", NULL, 0); zephir_check_call_status(); } } @@ -161,42 +163,60 @@ } ZEPHIR_OBS_VAR(redirectUri); if (zephir_array_isset_string_fetch(&redirectUri, config, SS("redirect_uri"), 0 TSRMLS_CC)) { - zephir_update_property_this(this_ptr, SL("redirectUri"), redirectUri TSRMLS_CC); + ZEPHIR_INIT_VAR(_8$$7); + ZEPHIR_INIT_VAR(_10$$7); + ZVAL_STRING(_10$$7, "url", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&_9$$7, di, "has", NULL, 0, _10$$7); + zephir_check_temp_parameter(_10$$7); + zephir_check_call_status(); + if (zephir_is_true(_9$$7)) { + ZEPHIR_INIT_NVAR(_10$$7); + ZVAL_STRING(_10$$7, "url", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&_11$$7, di, "get", NULL, 0, _10$$7); + zephir_check_temp_parameter(_10$$7); + zephir_check_call_status(); + ZEPHIR_CALL_METHOD(&_8$$7, _11$$7, "getstatic", NULL, 0, redirectUri); + zephir_check_call_status(); + } else { + ZEPHIR_CPY_WRT(_8$$7, redirectUri); + } + zephir_update_property_this(this_ptr, SL("redirectUri"), _8$$7 TSRMLS_CC); } - _9 = zephir_fetch_nproperty_this(this_ptr, SL("clientId"), PH_NOISY_CC); - _10 = !zephir_is_true(_9); - if (!(_10)) { - _11 = zephir_fetch_nproperty_this(this_ptr, SL("clientSecret"), PH_NOISY_CC); - _10 = !zephir_is_true(_11); - } - _12 = _10; - if (!(_12)) { - _13 = zephir_fetch_nproperty_this(this_ptr, SL("redirectUri"), PH_NOISY_CC); - _12 = !zephir_is_true(_13); - } - if (_12) { - ZEPHIR_INIT_VAR(_14$$8); - object_init_ex(_14$$8, ice_exception_ce); - ZEPHIR_INIT_VAR(_15$$8); - zephir_create_array(_15$$8, 4, 0 TSRMLS_CC); - ZEPHIR_INIT_VAR(_16$$8); - ZVAL_STRING(_16$$8, "Option `%s`, `%s`, `%s` are required", 1); - zephir_array_fast_append(_15$$8, _16$$8); - ZEPHIR_INIT_NVAR(_16$$8); - ZVAL_STRING(_16$$8, "client_id", 1); - zephir_array_fast_append(_15$$8, _16$$8); - ZEPHIR_INIT_NVAR(_16$$8); - ZVAL_STRING(_16$$8, "client_secret", 1); - zephir_array_fast_append(_15$$8, _16$$8); - ZEPHIR_INIT_NVAR(_16$$8); - ZVAL_STRING(_16$$8, "redirect_uri", 1); - zephir_array_fast_append(_15$$8, _16$$8); - ZEPHIR_CALL_METHOD(NULL, _14$$8, "__construct", NULL, 13, _15$$8); + _12 = zephir_fetch_nproperty_this(this_ptr, SL("clientId"), PH_NOISY_CC); + _13 = !zephir_is_true(_12); + if (!(_13)) { + _14 = zephir_fetch_nproperty_this(this_ptr, SL("clientSecret"), PH_NOISY_CC); + _13 = !zephir_is_true(_14); + } + _15 = _13; + if (!(_15)) { + _16 = zephir_fetch_nproperty_this(this_ptr, SL("redirectUri"), PH_NOISY_CC); + _15 = !zephir_is_true(_16); + } + if (_15) { + ZEPHIR_INIT_VAR(_17$$8); + object_init_ex(_17$$8, ice_exception_ce); + ZEPHIR_INIT_VAR(_18$$8); + zephir_create_array(_18$$8, 4, 0 TSRMLS_CC); + ZEPHIR_INIT_VAR(_19$$8); + ZVAL_STRING(_19$$8, "Option `%s`, `%s`, `%s` are required", 1); + zephir_array_fast_append(_18$$8, _19$$8); + ZEPHIR_INIT_NVAR(_19$$8); + ZVAL_STRING(_19$$8, "client_id", 1); + zephir_array_fast_append(_18$$8, _19$$8); + ZEPHIR_INIT_NVAR(_19$$8); + ZVAL_STRING(_19$$8, "client_secret", 1); + zephir_array_fast_append(_18$$8, _19$$8); + ZEPHIR_INIT_NVAR(_19$$8); + ZVAL_STRING(_19$$8, "redirect_uri", 1); + zephir_array_fast_append(_18$$8, _19$$8); + ZEPHIR_CALL_METHOD(NULL, _17$$8, "__construct", NULL, 13, _18$$8); zephir_check_call_status(); - zephir_throw_exception_debug(_14$$8, "ice/auth/social/adapter.zep", 60 TSRMLS_CC); + zephir_throw_exception_debug(_17$$8, "ice/auth/social/adapter.zep", 63 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } + zephir_update_property_this(this_ptr, SL("options"), config TSRMLS_CC); ZEPHIR_MM_RESTORE(); } @@ -275,7 +295,7 @@ _0 = zephir_fetch_nproperty_this(this_ptr, SL("socialFieldsMap"), PH_NOISY_CC); if (zephir_array_isset(_0, key)) { _1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("socialFieldsMap"), PH_NOISY_CC); - zephir_array_fetch(&_2$$3, _1$$3, key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 97 TSRMLS_CC); + zephir_array_fetch(&_2$$3, _1$$3, key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 102 TSRMLS_CC); zephir_get_strval(key, _2$$3); } _3 = zephir_fetch_nproperty_this(this_ptr, SL("userInfo"), PH_NOISY_CC); @@ -308,7 +328,7 @@ _0 = zephir_fetch_nproperty_this(this_ptr, SL("socialFieldsMap"), PH_NOISY_CC); if (zephir_array_isset(_0, key)) { _1$$3 = zephir_fetch_nproperty_this(this_ptr, SL("socialFieldsMap"), PH_NOISY_CC); - zephir_array_fetch(&_2$$3, _1$$3, key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 117 TSRMLS_CC); + zephir_array_fetch(&_2$$3, _1$$3, key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 122 TSRMLS_CC); zephir_get_strval(key, _2$$3); } _3 = zephir_fetch_nproperty_this(this_ptr, SL("userInfo"), PH_NOISY_CC); @@ -334,8 +354,8 @@ ZEPHIR_CALL_METHOD(&config, this_ptr, "prepareauthparams", NULL, 0); zephir_check_call_status(); - zephir_array_fetch_string(&_0, config, SL("auth_url"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 138 TSRMLS_CC); - zephir_array_fetch_string(&_1, config, SL("auth_params"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 138 TSRMLS_CC); + zephir_array_fetch_string(&_0, config, SL("auth_url"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 143 TSRMLS_CC); + zephir_array_fetch_string(&_1, config, SL("auth_params"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 143 TSRMLS_CC); ZEPHIR_CALL_FUNCTION(&_2, "http_build_query", NULL, 19, _1); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_3, "urldecode", NULL, 20, _2); @@ -344,6 +364,45 @@ RETURN_MM(); } + +/** + * Get option value with key. + * + * @param string key The option key + * @param mixed defaultValue The value to return if option key does not exist + * @return mixed + */ +PHP_METHOD(Ice_Auth_Social_Adapter, getOption) { + + zval *key_param = NULL, *defaultValue = NULL, *value = NULL, *_0; + zval *key = NULL; + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 1, &key_param, &defaultValue); + + if (unlikely(Z_TYPE_P(key_param) != IS_STRING && Z_TYPE_P(key_param) != IS_NULL)) { + zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'key' must be a string") TSRMLS_CC); + RETURN_MM_NULL(); + } + if (likely(Z_TYPE_P(key_param) == IS_STRING)) { + zephir_get_strval(key, key_param); + } else { + ZEPHIR_INIT_VAR(key); + ZVAL_EMPTY_STRING(key); + } + if (!defaultValue) { + defaultValue = ZEPHIR_GLOBAL(global_null); + } + + + _0 = zephir_fetch_nproperty_this(this_ptr, SL("options"), PH_NOISY_CC); + if (zephir_array_isset_fetch(&value, _0, key, 1 TSRMLS_CC)) { + RETURN_CTOR(value); + } + RETVAL_ZVAL(defaultValue, 1, 0); + RETURN_MM(); + +} /** * Make curl get/post request and return result. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php5/ice/auth/social/adapter.zep.h new/framework-1.2.8/build/php5/ice/auth/social/adapter.zep.h --- old/framework-1.2.6/build/php5/ice/auth/social/adapter.zep.h 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php5/ice/auth/social/adapter.zep.h 2017-02-18 19:55:14.000000000 +0100 @@ -12,6 +12,7 @@ PHP_METHOD(Ice_Auth_Social_Adapter, has); PHP_METHOD(Ice_Auth_Social_Adapter, get); PHP_METHOD(Ice_Auth_Social_Adapter, getAuthUrl); +PHP_METHOD(Ice_Auth_Social_Adapter, getOption); PHP_METHOD(Ice_Auth_Social_Adapter, call); zend_object_value zephir_init_properties_Ice_Auth_Social_Adapter(zend_class_entry *class_type TSRMLS_DC); @@ -37,6 +38,11 @@ ZEND_ARG_INFO(0, defaultValue) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_auth_social_adapter_getoption, 0, 0, 1) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, defaultValue) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_auth_social_adapter_call, 0, 0, 2) ZEND_ARG_INFO(0, method) ZEND_ARG_INFO(0, url) @@ -54,6 +60,7 @@ PHP_ME(Ice_Auth_Social_Adapter, has, arginfo_ice_auth_social_adapter_has, ZEND_ACC_PUBLIC) PHP_ME(Ice_Auth_Social_Adapter, get, arginfo_ice_auth_social_adapter_get, ZEND_ACC_PUBLIC) PHP_ME(Ice_Auth_Social_Adapter, getAuthUrl, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Ice_Auth_Social_Adapter, getOption, arginfo_ice_auth_social_adapter_getoption, ZEND_ACC_PUBLIC) PHP_ME(Ice_Auth_Social_Adapter, call, arginfo_ice_auth_social_adapter_call, ZEND_ACC_PROTECTED) PHP_FE_END }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php5/ice/auth/social/facebook.zep.c new/framework-1.2.8/build/php5/ice/auth/social/facebook.zep.c --- old/framework-1.2.6/build/php5/ice/auth/social/facebook.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php5/ice/auth/social/facebook.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -115,7 +115,7 @@ zend_bool result = 0, _6$$4; int ZEPHIR_LAST_CALL_STATUS; - zval *_GET, *params = NULL, *tokenInfo = NULL, *userInfo = NULL, *_0$$3 = NULL, *_1$$3, *_8$$3, *_2$$4 = NULL, *_3$$4, *_4$$4, *_5$$4, *_7$$5, *_9$$6, *_10$$6, *_11$$6; + zval *_GET, *params = NULL, *tokenInfo = NULL, *userInfo = NULL, *_0$$3 = NULL, *_1$$3, *_8$$3, *_2$$4 = NULL, *_3$$4, *_4$$4, *_5$$4, *_7$$5, *_9$$6, *_10$$6 = NULL, *_11$$6 = NULL, *_12$$6 = NULL; ZEPHIR_MM_GROW(); zephir_get_global(&_GET, SS("_GET") TSRMLS_CC); @@ -165,16 +165,25 @@ _8$$3 = zephir_fetch_nproperty_this(this_ptr, SL("accessToken"), PH_NOISY_CC); if (zephir_is_true(_8$$3)) { ZEPHIR_INIT_NVAR(params); - zephir_create_array(params, 1, 0 TSRMLS_CC); + zephir_create_array(params, 2, 0 TSRMLS_CC); ZEPHIR_OBS_VAR(_9$$6); zephir_read_property_this(&_9$$6, this_ptr, SL("accessToken"), PH_NOISY_CC); zephir_array_update_string(¶ms, SL("access_token"), &_9$$6, PH_COPY | PH_SEPARATE); - ZEPHIR_INIT_VAR(_10$$6); - ZVAL_LONG(_10$$6, 0); ZEPHIR_INIT_VAR(_11$$6); - ZVAL_STRING(_11$$6, "https://graph.facebook.com/me", ZEPHIR_TEMP_PARAM_COPY); - ZEPHIR_CALL_METHOD(&userInfo, this_ptr, "call", NULL, 0, _10$$6, _11$$6, params); + ZVAL_STRING(_11$$6, "fields", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_INIT_VAR(_12$$6); + ZVAL_STRING(_12$$6, "id,name,email,gender,link,verified,first_name,last_name,birthday,locale,timezone", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&_10$$6, this_ptr, "getoption", NULL, 0, _11$$6, _12$$6); zephir_check_temp_parameter(_11$$6); + zephir_check_temp_parameter(_12$$6); + zephir_check_call_status(); + zephir_array_update_string(¶ms, SL("fields"), &_10$$6, PH_COPY | PH_SEPARATE); + ZEPHIR_INIT_NVAR(_11$$6); + ZVAL_LONG(_11$$6, 0); + ZEPHIR_INIT_NVAR(_12$$6); + ZVAL_STRING(_12$$6, "https://graph.facebook.com/me", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&userInfo, this_ptr, "call", NULL, 0, _11$$6, _12$$6, params); + zephir_check_temp_parameter(_12$$6); zephir_check_call_status(); if (zephir_array_isset_string(userInfo, SS("id"))) { zephir_update_property_this(this_ptr, SL("userInfo"), userInfo TSRMLS_CC); @@ -193,8 +202,9 @@ */ PHP_METHOD(Ice_Auth_Social_Facebook, prepareAuthParams) { - zval *_1 = NULL; + zval *_1 = NULL, *_2 = NULL, *_3, *_4; zval *_0; + int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); @@ -209,7 +219,15 @@ zephir_read_property_this(&_1, this_ptr, SL("redirectUri"), PH_NOISY_CC); zephir_array_update_string(&_0, SL("redirect_uri"), &_1, PH_COPY | PH_SEPARATE); add_assoc_stringl_ex(_0, SS("response_type"), SL("code"), 1); - add_assoc_stringl_ex(_0, SS("scope"), SL("email,user_birthday"), 1); + ZEPHIR_INIT_VAR(_3); + ZVAL_STRING(_3, "scope", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_INIT_VAR(_4); + ZVAL_STRING(_4, "email,public_profile", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&_2, this_ptr, "getoption", NULL, 0, _3, _4); + zephir_check_temp_parameter(_3); + zephir_check_temp_parameter(_4); + zephir_check_call_status(); + zephir_array_update_string(&_0, SL("scope"), &_2, PH_COPY | PH_SEPARATE); zephir_array_update_string(&return_value, SL("auth_params"), &_0, PH_COPY | PH_SEPARATE); RETURN_MM(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php5/ice/auth/social/google.zep.c new/framework-1.2.8/build/php5/ice/auth/social/google.zep.c --- old/framework-1.2.6/build/php5/ice/auth/social/google.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php5/ice/auth/social/google.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -197,8 +197,9 @@ */ PHP_METHOD(Ice_Auth_Social_Google, prepareAuthParams) { - zval *_1 = NULL; + zval *_1 = NULL, *_2 = NULL, *_3, *_4; zval *_0; + int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_MM_GROW(); @@ -213,7 +214,15 @@ ZEPHIR_OBS_NVAR(_1); zephir_read_property_this(&_1, this_ptr, SL("clientId"), PH_NOISY_CC); zephir_array_update_string(&_0, SL("client_id"), &_1, PH_COPY | PH_SEPARATE); - add_assoc_stringl_ex(_0, SS("scope"), SL("https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"), 1); + ZEPHIR_INIT_VAR(_3); + ZVAL_STRING(_3, "scope", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_INIT_VAR(_4); + ZVAL_STRING(_4, "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile", ZEPHIR_TEMP_PARAM_COPY); + ZEPHIR_CALL_METHOD(&_2, this_ptr, "getoption", NULL, 0, _3, _4); + zephir_check_temp_parameter(_3); + zephir_check_temp_parameter(_4); + zephir_check_call_status(); + zephir_array_update_string(&_0, SL("scope"), &_2, PH_COPY | PH_SEPARATE); zephir_array_update_string(&return_value, SL("auth_params"), &_0, PH_COPY | PH_SEPARATE); RETURN_MM(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php5/ice/version.zep.c new/framework-1.2.8/build/php5/ice/version.zep.c --- old/framework-1.2.6/build/php5/ice/version.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php5/ice/version.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -47,7 +47,7 @@ zend_declare_class_constant_long(ice_version_ce, SL("MINOR"), 2 TSRMLS_CC); - zend_declare_class_constant_long(ice_version_ce, SL("PATCH"), 6 TSRMLS_CC); + zend_declare_class_constant_long(ice_version_ce, SL("PATCH"), 8 TSRMLS_CC); zend_declare_class_constant_long(ice_version_ce, SL("STAGE"), 4 TSRMLS_CC); @@ -69,7 +69,7 @@ zephir_create_array(return_value, 5, 0 TSRMLS_CC); add_assoc_long_ex(return_value, SS("major"), 1); add_assoc_long_ex(return_value, SS("minor"), 2); - add_assoc_long_ex(return_value, SS("patch"), 6); + add_assoc_long_ex(return_value, SS("patch"), 8); add_assoc_long_ex(return_value, SS("stage"), 4); add_assoc_long_ex(return_value, SS("build"), 0); return; @@ -138,7 +138,7 @@ ZEPHIR_SINIT_VAR(_8); ZVAL_LONG(&_8, 2); ZEPHIR_SINIT_VAR(_9); - ZVAL_LONG(&_9, 6); + ZVAL_LONG(&_9, 8); ZEPHIR_CONCAT_VSVSVV(return_value, &_7, ".", &_8, ".", &_9, suffix); RETURN_MM(); @@ -171,7 +171,7 @@ ZEPHIR_SINIT_NVAR(_1); ZVAL_STRING(&_1, "%02s", 0); ZEPHIR_SINIT_NVAR(_2); - ZVAL_LONG(&_2, 6); + ZVAL_LONG(&_2, 8); ZEPHIR_CALL_FUNCTION(&_5, "sprintf", &_4, 12, &_1, &_2); zephir_check_call_status(); ZEPHIR_SINIT_NVAR(_1); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php5/php_ice.h new/framework-1.2.8/build/php5/php_ice.h --- old/framework-1.2.6/build/php5/php_ice.h 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php5/php_ice.h 2017-02-18 19:55:14.000000000 +0100 @@ -11,10 +11,10 @@ #include "kernel/globals.h" #define PHP_ICE_NAME "ice" -#define PHP_ICE_VERSION "1.2.6" +#define PHP_ICE_VERSION "1.2.8" #define PHP_ICE_EXTNAME "ice" #define PHP_ICE_AUTHOR "Ice Team" -#define PHP_ICE_ZEPVERSION "0.9.6a-dev-72dbb2063e" +#define PHP_ICE_ZEPVERSION "0.9.6a-dev-aef205594b" #define PHP_ICE_DESCRIPTION "Simple and fast PHP framework delivered as C-extension.<br>Copyright (c) 2014-2016 Ice Team." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php7/ice/auth/social/adapter.zep.c new/framework-1.2.8/build/php7/ice/auth/social/adapter.zep.c --- old/framework-1.2.6/build/php7/ice/auth/social/adapter.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php7/ice/auth/social/adapter.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -36,6 +36,8 @@ ZEPHIR_REGISTER_CLASS(Ice\\Auth\\Social, Adapter, ice, auth_social_adapter, ice_auth_social_adapter_method_entry, ZEND_ACC_EXPLICIT_ABSTRACT_CLASS); + zend_declare_property_null(ice_auth_social_adapter_ce, SL("options"), ZEND_ACC_PROTECTED TSRMLS_CC); + zend_declare_property_null(ice_auth_social_adapter_ce, SL("accessToken"), ZEND_ACC_PROTECTED TSRMLS_CC); zend_declare_property_null(ice_auth_social_adapter_ce, SL("clientId"), ZEND_ACC_PROTECTED TSRMLS_CC); @@ -112,31 +114,35 @@ */ PHP_METHOD(Ice_Auth_Social_Adapter, __construct) { - zval _15$$8; - zend_bool _10, _12, _4$$3; + zval _18$$8; + zend_bool _13, _15, _3$$3; int ZEPHIR_LAST_CALL_STATUS; - zephir_fcall_cache_entry *_1 = NULL; - zval *config = NULL, config_sub, clientId, clientSecret, redirectUri, tmp, _9, _11, _13, _0$$3, _2$$3, _3$$3, _5$$3, _6$$3, _7$$4, _8$$4, _14$$8, _16$$8; + zephir_fcall_cache_entry *_0 = NULL; + zval *config = NULL, config_sub, clientId, clientSecret, redirectUri, di, auth, _12, _14, _16, _1$$3, _2$$3, _4$$3, _5$$3, _6$$4, _7$$4, _8$$7, _9$$7, _10$$7, _11$$7, _17$$8, _19$$8; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&config_sub); ZVAL_UNDEF(&clientId); ZVAL_UNDEF(&clientSecret); ZVAL_UNDEF(&redirectUri); - ZVAL_UNDEF(&tmp); - ZVAL_UNDEF(&_9); - ZVAL_UNDEF(&_11); - ZVAL_UNDEF(&_13); - ZVAL_UNDEF(&_0$$3); + ZVAL_UNDEF(&di); + ZVAL_UNDEF(&auth); + ZVAL_UNDEF(&_12); + ZVAL_UNDEF(&_14); + ZVAL_UNDEF(&_16); + ZVAL_UNDEF(&_1$$3); ZVAL_UNDEF(&_2$$3); - ZVAL_UNDEF(&_3$$3); + ZVAL_UNDEF(&_4$$3); ZVAL_UNDEF(&_5$$3); - ZVAL_UNDEF(&_6$$3); + ZVAL_UNDEF(&_6$$4); ZVAL_UNDEF(&_7$$4); - ZVAL_UNDEF(&_8$$4); - ZVAL_UNDEF(&_14$$8); - ZVAL_UNDEF(&_16$$8); - ZVAL_UNDEF(&_15$$8); + ZVAL_UNDEF(&_8$$7); + ZVAL_UNDEF(&_9$$7); + ZVAL_UNDEF(&_10$$7); + ZVAL_UNDEF(&_11$$7); + ZVAL_UNDEF(&_17$$8); + ZVAL_UNDEF(&_19$$8); + ZVAL_UNDEF(&_18$$8); ZEPHIR_MM_GROW(); zephir_fetch_params(1, 0, 1, &config); @@ -150,29 +156,29 @@ } + ZEPHIR_CALL_CE_STATIC(&di, ice_di_ce, "fetch", &_0, 1); + zephir_check_call_status(); if (!(zephir_fast_count_int(config TSRMLS_CC))) { - ZEPHIR_CALL_CE_STATIC(&_0$$3, ice_di_ce, "fetch", &_1, 1); - zephir_check_call_status(); - ZEPHIR_INIT_VAR(&_3$$3); - ZVAL_STRING(&_3$$3, "config"); - ZEPHIR_CALL_METHOD(&_2$$3, &_0$$3, "get", NULL, 0, &_3$$3); + ZEPHIR_INIT_VAR(&_2$$3); + ZVAL_STRING(&_2$$3, "config"); + ZEPHIR_CALL_METHOD(&_1$$3, &di, "get", NULL, 0, &_2$$3); zephir_check_call_status(); - ZEPHIR_INIT_NVAR(&_3$$3); - ZVAL_STRING(&_3$$3, "auth"); - ZEPHIR_CALL_METHOD(&tmp, &_2$$3, "get", NULL, 0, &_3$$3); + ZEPHIR_INIT_NVAR(&_2$$3); + ZVAL_STRING(&_2$$3, "auth"); + ZEPHIR_CALL_METHOD(&auth, &_1$$3, "get", NULL, 0, &_2$$3); zephir_check_call_status(); - _4$$3 = zephir_is_true(&tmp); - if (_4$$3) { - zephir_read_property(&_6$$3, this_ptr, SL("provider"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_METHOD(&_5$$3, &tmp, "has", NULL, 0, &_6$$3); + _3$$3 = zephir_is_true(&auth); + if (_3$$3) { + zephir_read_property(&_5$$3, this_ptr, SL("provider"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_CALL_METHOD(&_4$$3, &auth, "has", NULL, 0, &_5$$3); zephir_check_call_status(); - _4$$3 = zephir_is_true(&_5$$3); + _3$$3 = zephir_is_true(&_4$$3); } - if (_4$$3) { - zephir_read_property(&_8$$4, this_ptr, SL("provider"), PH_NOISY_CC | PH_READONLY); - ZEPHIR_CALL_METHOD(&_7$$4, &tmp, "get", NULL, 0, &_8$$4); + if (_3$$3) { + zephir_read_property(&_7$$4, this_ptr, SL("provider"), PH_NOISY_CC | PH_READONLY); + ZEPHIR_CALL_METHOD(&_6$$4, &auth, "get", NULL, 0, &_7$$4); zephir_check_call_status(); - ZEPHIR_CALL_METHOD(config, &_7$$4, "toarray", NULL, 0); + ZEPHIR_CALL_METHOD(config, &_6$$4, "toarray", NULL, 0); zephir_check_call_status(); } } @@ -186,42 +192,58 @@ } ZEPHIR_OBS_VAR(&redirectUri); if (zephir_array_isset_string_fetch(&redirectUri, config, SL("redirect_uri"), 0)) { - zephir_update_property_zval(this_ptr, SL("redirectUri"), &redirectUri); + ZEPHIR_INIT_VAR(&_8$$7); + ZEPHIR_INIT_VAR(&_10$$7); + ZVAL_STRING(&_10$$7, "url"); + ZEPHIR_CALL_METHOD(&_9$$7, &di, "has", NULL, 0, &_10$$7); + zephir_check_call_status(); + if (zephir_is_true(&_9$$7)) { + ZEPHIR_INIT_NVAR(&_10$$7); + ZVAL_STRING(&_10$$7, "url"); + ZEPHIR_CALL_METHOD(&_11$$7, &di, "get", NULL, 0, &_10$$7); + zephir_check_call_status(); + ZEPHIR_CALL_METHOD(&_8$$7, &_11$$7, "getstatic", NULL, 0, &redirectUri); + zephir_check_call_status(); + } else { + ZEPHIR_CPY_WRT(&_8$$7, &redirectUri); + } + zephir_update_property_zval(this_ptr, SL("redirectUri"), &_8$$7); } - zephir_read_property(&_9, this_ptr, SL("clientId"), PH_NOISY_CC | PH_READONLY); - _10 = !zephir_is_true(&_9); - if (!(_10)) { - zephir_read_property(&_11, this_ptr, SL("clientSecret"), PH_NOISY_CC | PH_READONLY); - _10 = !zephir_is_true(&_11); - } - _12 = _10; - if (!(_12)) { - zephir_read_property(&_13, this_ptr, SL("redirectUri"), PH_NOISY_CC | PH_READONLY); - _12 = !zephir_is_true(&_13); - } - if (_12) { - ZEPHIR_INIT_VAR(&_14$$8); - object_init_ex(&_14$$8, ice_exception_ce); - ZEPHIR_INIT_VAR(&_15$$8); - zephir_create_array(&_15$$8, 4, 0 TSRMLS_CC); - ZEPHIR_INIT_VAR(&_16$$8); - ZVAL_STRING(&_16$$8, "Option `%s`, `%s`, `%s` are required"); - zephir_array_fast_append(&_15$$8, &_16$$8); - ZEPHIR_INIT_NVAR(&_16$$8); - ZVAL_STRING(&_16$$8, "client_id"); - zephir_array_fast_append(&_15$$8, &_16$$8); - ZEPHIR_INIT_NVAR(&_16$$8); - ZVAL_STRING(&_16$$8, "client_secret"); - zephir_array_fast_append(&_15$$8, &_16$$8); - ZEPHIR_INIT_NVAR(&_16$$8); - ZVAL_STRING(&_16$$8, "redirect_uri"); - zephir_array_fast_append(&_15$$8, &_16$$8); - ZEPHIR_CALL_METHOD(NULL, &_14$$8, "__construct", NULL, 13, &_15$$8); + zephir_read_property(&_12, this_ptr, SL("clientId"), PH_NOISY_CC | PH_READONLY); + _13 = !zephir_is_true(&_12); + if (!(_13)) { + zephir_read_property(&_14, this_ptr, SL("clientSecret"), PH_NOISY_CC | PH_READONLY); + _13 = !zephir_is_true(&_14); + } + _15 = _13; + if (!(_15)) { + zephir_read_property(&_16, this_ptr, SL("redirectUri"), PH_NOISY_CC | PH_READONLY); + _15 = !zephir_is_true(&_16); + } + if (_15) { + ZEPHIR_INIT_VAR(&_17$$8); + object_init_ex(&_17$$8, ice_exception_ce); + ZEPHIR_INIT_VAR(&_18$$8); + zephir_create_array(&_18$$8, 4, 0 TSRMLS_CC); + ZEPHIR_INIT_VAR(&_19$$8); + ZVAL_STRING(&_19$$8, "Option `%s`, `%s`, `%s` are required"); + zephir_array_fast_append(&_18$$8, &_19$$8); + ZEPHIR_INIT_NVAR(&_19$$8); + ZVAL_STRING(&_19$$8, "client_id"); + zephir_array_fast_append(&_18$$8, &_19$$8); + ZEPHIR_INIT_NVAR(&_19$$8); + ZVAL_STRING(&_19$$8, "client_secret"); + zephir_array_fast_append(&_18$$8, &_19$$8); + ZEPHIR_INIT_NVAR(&_19$$8); + ZVAL_STRING(&_19$$8, "redirect_uri"); + zephir_array_fast_append(&_18$$8, &_19$$8); + ZEPHIR_CALL_METHOD(NULL, &_17$$8, "__construct", NULL, 13, &_18$$8); zephir_check_call_status(); - zephir_throw_exception_debug(&_14$$8, "ice/auth/social/adapter.zep", 60 TSRMLS_CC); + zephir_throw_exception_debug(&_17$$8, "ice/auth/social/adapter.zep", 63 TSRMLS_CC); ZEPHIR_MM_RESTORE(); return; } + zephir_update_property_zval(this_ptr, SL("options"), config); ZEPHIR_MM_RESTORE(); } @@ -317,7 +339,7 @@ zephir_read_property(&_0, this_ptr, SL("socialFieldsMap"), PH_NOISY_CC | PH_READONLY); if (zephir_array_isset(&_0, &key)) { zephir_read_property(&_1$$3, this_ptr, SL("socialFieldsMap"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_2$$3, &_1$$3, &key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 97 TSRMLS_CC); + zephir_array_fetch(&_2$$3, &_1$$3, &key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 102 TSRMLS_CC); zephir_get_strval(&key, &_2$$3); } zephir_read_property(&_3, this_ptr, SL("userInfo"), PH_NOISY_CC | PH_READONLY); @@ -361,7 +383,7 @@ zephir_read_property(&_0, this_ptr, SL("socialFieldsMap"), PH_NOISY_CC | PH_READONLY); if (zephir_array_isset(&_0, &key)) { zephir_read_property(&_1$$3, this_ptr, SL("socialFieldsMap"), PH_NOISY_CC | PH_READONLY); - zephir_array_fetch(&_2$$3, &_1$$3, &key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 117 TSRMLS_CC); + zephir_array_fetch(&_2$$3, &_1$$3, &key, PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 122 TSRMLS_CC); zephir_get_strval(&key, &_2$$3); } zephir_read_property(&_3, this_ptr, SL("userInfo"), PH_NOISY_CC | PH_READONLY); @@ -394,8 +416,8 @@ ZEPHIR_CALL_METHOD(&config, this_ptr, "prepareauthparams", NULL, 0); zephir_check_call_status(); - zephir_array_fetch_string(&_0, &config, SL("auth_url"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 138 TSRMLS_CC); - zephir_array_fetch_string(&_1, &config, SL("auth_params"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 138 TSRMLS_CC); + zephir_array_fetch_string(&_0, &config, SL("auth_url"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 143 TSRMLS_CC); + zephir_array_fetch_string(&_1, &config, SL("auth_params"), PH_NOISY | PH_READONLY, "ice/auth/social/adapter.zep", 143 TSRMLS_CC); ZEPHIR_CALL_FUNCTION(&_2, "http_build_query", NULL, 19, &_1); zephir_check_call_status(); ZEPHIR_CALL_FUNCTION(&_3, "urldecode", NULL, 20, &_2); @@ -404,6 +426,53 @@ RETURN_MM(); } + +/** + * Get option value with key. + * + * @param string key The option key + * @param mixed defaultValue The value to return if option key does not exist + * @return mixed + */ +PHP_METHOD(Ice_Auth_Social_Adapter, getOption) { + + zval *key_param = NULL, *defaultValue = NULL, defaultValue_sub, __$null, value, _0; + zval key; + ZEPHIR_INIT_THIS(); + + ZVAL_UNDEF(&key); + ZVAL_UNDEF(&defaultValue_sub); + ZVAL_NULL(&__$null); + ZVAL_UNDEF(&value); + ZVAL_UNDEF(&_0); + + ZEPHIR_MM_GROW(); + zephir_fetch_params(1, 1, 1, &key_param, &defaultValue); + + if (unlikely(Z_TYPE_P(key_param) != IS_STRING && Z_TYPE_P(key_param) != IS_NULL)) { + zephir_throw_exception_string(spl_ce_InvalidArgumentException, SL("Parameter 'key' must be a string") TSRMLS_CC); + RETURN_MM_NULL(); + } + if (likely(Z_TYPE_P(key_param) == IS_STRING)) { + zephir_get_strval(&key, key_param); + } else { + ZEPHIR_INIT_VAR(&key); + ZVAL_EMPTY_STRING(&key); + } + if (!defaultValue) { + defaultValue = &defaultValue_sub; + defaultValue = &__$null; + } + + + zephir_read_property(&_0, this_ptr, SL("options"), PH_NOISY_CC | PH_READONLY); + if (zephir_array_isset_fetch(&value, &_0, &key, 1 TSRMLS_CC)) { + RETURN_CTOR(value); + } + RETVAL_ZVAL(defaultValue, 1, 0); + RETURN_MM(); + +} /** * Make curl get/post request and return result. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php7/ice/auth/social/adapter.zep.h new/framework-1.2.8/build/php7/ice/auth/social/adapter.zep.h --- old/framework-1.2.6/build/php7/ice/auth/social/adapter.zep.h 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php7/ice/auth/social/adapter.zep.h 2017-02-18 19:55:14.000000000 +0100 @@ -12,6 +12,7 @@ PHP_METHOD(Ice_Auth_Social_Adapter, has); PHP_METHOD(Ice_Auth_Social_Adapter, get); PHP_METHOD(Ice_Auth_Social_Adapter, getAuthUrl); +PHP_METHOD(Ice_Auth_Social_Adapter, getOption); PHP_METHOD(Ice_Auth_Social_Adapter, call); zend_object *zephir_init_properties_Ice_Auth_Social_Adapter(zend_class_entry *class_type TSRMLS_DC); @@ -37,6 +38,11 @@ ZEND_ARG_INFO(0, defaultValue) ZEND_END_ARG_INFO() +ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_auth_social_adapter_getoption, 0, 0, 1) + ZEND_ARG_INFO(0, key) + ZEND_ARG_INFO(0, defaultValue) +ZEND_END_ARG_INFO() + ZEND_BEGIN_ARG_INFO_EX(arginfo_ice_auth_social_adapter_call, 0, 0, 2) ZEND_ARG_INFO(0, method) ZEND_ARG_INFO(0, url) @@ -54,6 +60,7 @@ PHP_ME(Ice_Auth_Social_Adapter, has, arginfo_ice_auth_social_adapter_has, ZEND_ACC_PUBLIC) PHP_ME(Ice_Auth_Social_Adapter, get, arginfo_ice_auth_social_adapter_get, ZEND_ACC_PUBLIC) PHP_ME(Ice_Auth_Social_Adapter, getAuthUrl, NULL, ZEND_ACC_PUBLIC) + PHP_ME(Ice_Auth_Social_Adapter, getOption, arginfo_ice_auth_social_adapter_getoption, ZEND_ACC_PUBLIC) PHP_ME(Ice_Auth_Social_Adapter, call, arginfo_ice_auth_social_adapter_call, ZEND_ACC_PROTECTED) PHP_FE_END }; diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php7/ice/auth/social/facebook.zep.c new/framework-1.2.8/build/php7/ice/auth/social/facebook.zep.c --- old/framework-1.2.6/build/php7/ice/auth/social/facebook.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php7/ice/auth/social/facebook.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -126,7 +126,7 @@ zend_bool result = 0, _6$$4; int ZEPHIR_LAST_CALL_STATUS; - zval _GET, params, tokenInfo, userInfo, _0$$3, _1$$3, _8$$3, _2$$4, _3$$4, _4$$4, _5$$4, _7$$5, _9$$6, _10$$6, _11$$6; + zval _GET, params, tokenInfo, userInfo, _0$$3, _1$$3, _8$$3, _2$$4, _3$$4, _4$$4, _5$$4, _7$$5, _9$$6, _10$$6, _11$$6, _12$$6, _13$$6; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&_GET); @@ -144,6 +144,8 @@ ZVAL_UNDEF(&_9$$6); ZVAL_UNDEF(&_10$$6); ZVAL_UNDEF(&_11$$6); + ZVAL_UNDEF(&_12$$6); + ZVAL_UNDEF(&_13$$6); ZEPHIR_MM_GROW(); zephir_get_global(&_GET, SL("_GET")); @@ -190,14 +192,21 @@ zephir_read_property(&_8$$3, this_ptr, SL("accessToken"), PH_NOISY_CC | PH_READONLY); if (zephir_is_true(&_8$$3)) { ZEPHIR_INIT_NVAR(¶ms); - zephir_create_array(¶ms, 1, 0 TSRMLS_CC); + zephir_create_array(¶ms, 2, 0 TSRMLS_CC); ZEPHIR_OBS_VAR(&_9$$6); zephir_read_property(&_9$$6, this_ptr, SL("accessToken"), PH_NOISY_CC); zephir_array_update_string(¶ms, SL("access_token"), &_9$$6, PH_COPY | PH_SEPARATE); - ZVAL_LONG(&_10$$6, 0); ZEPHIR_INIT_VAR(&_11$$6); + ZVAL_STRING(&_11$$6, "fields"); + ZEPHIR_INIT_VAR(&_12$$6); + ZVAL_STRING(&_12$$6, "id,name,email,gender,link,verified,first_name,last_name,birthday,locale,timezone"); + ZEPHIR_CALL_METHOD(&_10$$6, this_ptr, "getoption", NULL, 0, &_11$$6, &_12$$6); + zephir_check_call_status(); + zephir_array_update_string(¶ms, SL("fields"), &_10$$6, PH_COPY | PH_SEPARATE); + ZVAL_LONG(&_13$$6, 0); + ZEPHIR_INIT_NVAR(&_11$$6); ZVAL_STRING(&_11$$6, "https://graph.facebook.com/me"); - ZEPHIR_CALL_METHOD(&userInfo, this_ptr, "call", NULL, 0, &_10$$6, &_11$$6, ¶ms); + ZEPHIR_CALL_METHOD(&userInfo, this_ptr, "call", NULL, 0, &_13$$6, &_11$$6, ¶ms); zephir_check_call_status(); if (zephir_array_isset_string(&userInfo, SL("id"))) { zephir_update_property_zval(this_ptr, SL("userInfo"), &userInfo); @@ -216,12 +225,16 @@ */ PHP_METHOD(Ice_Auth_Social_Facebook, prepareAuthParams) { - zval _1; + zval _1, _2, _3, _4; zval _0; + int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_2); + ZVAL_UNDEF(&_3); + ZVAL_UNDEF(&_4); ZEPHIR_MM_GROW(); @@ -236,7 +249,13 @@ zephir_read_property(&_1, this_ptr, SL("redirectUri"), PH_NOISY_CC); zephir_array_update_string(&_0, SL("redirect_uri"), &_1, PH_COPY | PH_SEPARATE); add_assoc_stringl_ex(&_0, SL("response_type"), SL("code")); - add_assoc_stringl_ex(&_0, SL("scope"), SL("email,user_birthday")); + ZEPHIR_INIT_VAR(&_3); + ZVAL_STRING(&_3, "scope"); + ZEPHIR_INIT_VAR(&_4); + ZVAL_STRING(&_4, "email,public_profile"); + ZEPHIR_CALL_METHOD(&_2, this_ptr, "getoption", NULL, 0, &_3, &_4); + zephir_check_call_status(); + zephir_array_update_string(&_0, SL("scope"), &_2, PH_COPY | PH_SEPARATE); zephir_array_update_string(return_value, SL("auth_params"), &_0, PH_COPY | PH_SEPARATE); RETURN_MM(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php7/ice/auth/social/google.zep.c new/framework-1.2.8/build/php7/ice/auth/social/google.zep.c --- old/framework-1.2.6/build/php7/ice/auth/social/google.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php7/ice/auth/social/google.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -227,12 +227,16 @@ */ PHP_METHOD(Ice_Auth_Social_Google, prepareAuthParams) { - zval _1; + zval _1, _2, _3, _4; zval _0; + int ZEPHIR_LAST_CALL_STATUS; ZEPHIR_INIT_THIS(); ZVAL_UNDEF(&_0); ZVAL_UNDEF(&_1); + ZVAL_UNDEF(&_2); + ZVAL_UNDEF(&_3); + ZVAL_UNDEF(&_4); ZEPHIR_MM_GROW(); @@ -247,7 +251,13 @@ ZEPHIR_OBS_NVAR(&_1); zephir_read_property(&_1, this_ptr, SL("clientId"), PH_NOISY_CC); zephir_array_update_string(&_0, SL("client_id"), &_1, PH_COPY | PH_SEPARATE); - add_assoc_stringl_ex(&_0, SL("scope"), SL("https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile")); + ZEPHIR_INIT_VAR(&_3); + ZVAL_STRING(&_3, "scope"); + ZEPHIR_INIT_VAR(&_4); + ZVAL_STRING(&_4, "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile"); + ZEPHIR_CALL_METHOD(&_2, this_ptr, "getoption", NULL, 0, &_3, &_4); + zephir_check_call_status(); + zephir_array_update_string(&_0, SL("scope"), &_2, PH_COPY | PH_SEPARATE); zephir_array_update_string(return_value, SL("auth_params"), &_0, PH_COPY | PH_SEPARATE); RETURN_MM(); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php7/ice/version.zep.c new/framework-1.2.8/build/php7/ice/version.zep.c --- old/framework-1.2.6/build/php7/ice/version.zep.c 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php7/ice/version.zep.c 2017-02-18 19:55:14.000000000 +0100 @@ -47,7 +47,7 @@ zephir_declare_class_constant_long(ice_version_ce, SL("MINOR"), 2); - zephir_declare_class_constant_long(ice_version_ce, SL("PATCH"), 6); + zephir_declare_class_constant_long(ice_version_ce, SL("PATCH"), 8); zephir_declare_class_constant_long(ice_version_ce, SL("STAGE"), 4); @@ -70,7 +70,7 @@ zephir_create_array(return_value, 5, 0 TSRMLS_CC); add_assoc_long_ex(return_value, SL("major"), 1); add_assoc_long_ex(return_value, SL("minor"), 2); - add_assoc_long_ex(return_value, SL("patch"), 6); + add_assoc_long_ex(return_value, SL("patch"), 8); add_assoc_long_ex(return_value, SL("stage"), 4); add_assoc_long_ex(return_value, SL("build"), 0); return; @@ -151,7 +151,7 @@ ZEPHIR_SINIT_VAR(_8); ZVAL_LONG(&_8, 2); ZEPHIR_SINIT_VAR(_9); - ZVAL_LONG(&_9, 6); + ZVAL_LONG(&_9, 8); ZEPHIR_CONCAT_VSVSVV(return_value, &_7, ".", &_8, ".", &_9, &suffix); RETURN_MM(); @@ -192,7 +192,7 @@ zephir_check_call_status(); ZEPHIR_INIT_NVAR(&_1); ZVAL_STRING(&_1, "%02s"); - ZVAL_LONG(&_2, 6); + ZVAL_LONG(&_2, 8); ZEPHIR_CALL_FUNCTION(&_5, "sprintf", &_4, 12, &_1, &_2); zephir_check_call_status(); ZEPHIR_SINIT_VAR(_6); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/build/php7/php_ice.h new/framework-1.2.8/build/php7/php_ice.h --- old/framework-1.2.6/build/php7/php_ice.h 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/build/php7/php_ice.h 2017-02-18 19:55:14.000000000 +0100 @@ -11,10 +11,10 @@ #include "kernel/globals.h" #define PHP_ICE_NAME "ice" -#define PHP_ICE_VERSION "1.2.6" +#define PHP_ICE_VERSION "1.2.8" #define PHP_ICE_EXTNAME "ice" #define PHP_ICE_AUTHOR "Ice Team" -#define PHP_ICE_ZEPVERSION "0.9.6a-dev-72dbb2063e" +#define PHP_ICE_ZEPVERSION "0.9.6a-dev-aef205594b" #define PHP_ICE_DESCRIPTION "Simple and fast PHP framework delivered as C-extension.<br>Copyright (c) 2014-2016 Ice Team." diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/config.json new/framework-1.2.8/config.json --- old/framework-1.2.6/config.json 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/config.json 2017-02-18 19:55:14.000000000 +0100 @@ -3,7 +3,7 @@ "name": "ice", "description": "Simple and fast PHP framework delivered as C-extension.<br>Copyright (c) 2014-2016 Ice Team.", "author": "Ice Team", - "version": "1.2.6", + "version": "1.2.8", "verbose": false, "info": [ { diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/ice/auth/social/adapter.zep new/framework-1.2.8/ice/auth/social/adapter.zep --- old/framework-1.2.6/ice/auth/social/adapter.zep 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/ice/auth/social/adapter.zep 2017-02-18 19:55:14.000000000 +0100 @@ -16,6 +16,7 @@ abstract class Adapter implements SocialInterface { + protected options; protected accessToken { set, get }; protected clientId; protected clientSecret; @@ -36,13 +37,15 @@ */ public function __construct(config = []) { - var clientId, clientSecret, redirectUri, tmp; + var clientId, clientSecret, redirectUri, di, auth; + + let di = Di::$fetch(); if !count(config) { - let tmp = Di::$fetch()->get("config")->get("auth"); + let auth = di->get("config")->get("auth"); - if tmp && tmp->has(this->provider) { - let config = tmp->get(this->provider)->toArray(); + if auth && auth->has(this->provider) { + let config = auth->get(this->provider)->toArray(); } } @@ -53,12 +56,14 @@ let this->clientSecret = clientSecret; } if fetch redirectUri, config["redirect_uri"] { - let this->redirectUri = redirectUri; + let this->redirectUri = di->has("url") ? di->get("url")->getStatic(redirectUri) : redirectUri; } if !this->clientId || !this->clientSecret || !this->redirectUri { throw new Exception(["Option `%s`, `%s`, `%s` are required", "client_id", "client_secret", "redirect_uri"]); } + + let this->options = config; } /** @@ -139,6 +144,23 @@ } /** + * Get option value with key. + * + * @param string key The option key + * @param mixed defaultValue The value to return if option key does not exist + * @return mixed + */ + public function getOption(string! key, var defaultValue = null) + { + var value; + + if fetch value, this->options[key] { + return value; + } + return defaultValue; + } + + /** * Make curl get/post request and return result. * * @param int method diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/ice/auth/social/facebook.zep new/framework-1.2.8/ice/auth/social/facebook.zep --- old/framework-1.2.6/ice/auth/social/facebook.zep 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/ice/auth/social/facebook.zep 2017-02-18 19:55:14.000000000 +0100 @@ -71,14 +71,17 @@ // Be able to store access_token in the session (message: This_authorization_code_has_expired_) if !this->accessToken { parse_str(this->call(parent::GET, "https://graph.facebook.com/oauth/access_token", params, false), tokenInfo); - + if count(tokenInfo) > 0 && isset tokenInfo["access_token"] { let this->accessToken = tokenInfo["access_token"]; - } + } } if this->accessToken { - let params = ["access_token": this->accessToken], + let params = [ + "access_token": this->accessToken, + "fields": this->getOption("fields", "id,name,email,gender,link,verified,first_name,last_name,birthday,locale,timezone") + ], userInfo = this->call(parent::GET, "https://graph.facebook.com/me", params); if isset userInfo["id"] { @@ -103,7 +106,7 @@ "client_id": this->clientId, "redirect_uri": this->redirectUri, "response_type": "code", - "scope": "email,user_birthday" + "scope": this->getOption("scope", "email,public_profile") ] ]; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/ice/auth/social/google.zep new/framework-1.2.8/ice/auth/social/google.zep --- old/framework-1.2.6/ice/auth/social/google.zep 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/ice/auth/social/google.zep 2017-02-18 19:55:14.000000000 +0100 @@ -105,7 +105,7 @@ "redirect_uri": this->redirectUri, "response_type": "code", "client_id": this->clientId, - "scope": "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile" + "scope": this->getOption("scope", "https://www.googleapis.com/auth/userinfo.email https://www.googleapis.com/auth/userinfo.profile") ] ]; } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/framework-1.2.6/ice/version.zep new/framework-1.2.8/ice/version.zep --- old/framework-1.2.6/ice/version.zep 2017-02-10 22:28:47.000000000 +0100 +++ new/framework-1.2.8/ice/version.zep 2017-02-18 19:55:14.000000000 +0100 @@ -22,7 +22,7 @@ // Don't forget to update config.json and run zephir fullclean const MAJOR = 1; const MINOR = 2; - const PATCH = 6; + const PATCH = 8; const STAGE = self::STABLE; const BUILD = 0;