- FIX: Duplicate invalid login messages in userlogin::login()
- NEW: e_user_provider: Return URL passthrough to go back where intended
- MOD: Cleanup of some confusing APIs in e_user_provider
- MOD: Return URL passthrough in system/xup/*
- MOD: system/xup/test: Logout test renamed into something clearer
In PHP 7.0.12 and earlier, a class could not be loaded with the same
name as another class in a different namespace. This commit patches the
Hybridauth dependency to avoid PHP bug 66773. Unfortunately, the fix
will be rolled back any time Hybridauth is updated or overwritten.
PHP bug link: https://bugs.php.net/bug.php?id=66773
- MOD: Replaced e107::getPref('social_login') with
SocialLoginConfigManager::getValidConfiguredProviderConfigs()
- FIX: signup_shortcodes updated with new social login providers
- MOD: e107::filter_request() code de-duplication: HTTP 400 exits
- MOD: Deprecated e107::getHybridAuth() to discourage direct access to
third-party dependency Hybridauth
- FIX: Updated e_user_provider for Hybridauth 3
- FIX: e_user::tryProviderSession() and Hybridauth 3
- NEW: Dynamic auth provider support in social_adminarea
- NEW: Database migration for social plugin's social_login pref
\e107\Shims\Internal\InternalTrait::strptime() now tries to run the internal PHP strptime()
function first instead of what's defined, which should defend against accidental infinite
recursion if something else like ./e107_handlers/php_compatibility_handler.php declares
strptime() and calls eShims::strptime().
- NEW: Added \e107\Shims\Internal\StrptimeTrait, which implements PHP internal function
strptime(). On not-Windows, the built-in function is called. If that function fails
or if the operating system is Windows, the alternative pure PHP implementation is
attempted. The first successful call is returned, or false if none are successful.
- MOD: Deprecated e_date::strptime() in favor of eShims::strptime()
- FIX: License misatributed for e_date::strptime() (now eShims::strptime()). The library
used was public domain, not CC BY-NC-SA 2.0 FR by Lionel Sauron.
- MOD: Removed STRPTIME_COMPAT constant now that eShims::strptime() exists
- MOD: Removed support for calling e_date::strptime() with:
- a localized full month name
- a localized abbreviated month name
- AM or PM
- am or pm
because these features were only implemented in Windows mode (STRPTIME_COMPAT).
- MOD: php_compatibility_handler.php now defines global strptime() using the
eShims::strptime() implementation
- NEW: Test all(?) the possibilities of eShims::strptime()
codecept_output_dir() might not exist when the PHP-serialized coverage
report is being generated. phpunit/php-code-coverage >= 6.0.8 fix this
by creating that directory before writing the coverage report.
PHP 5.6 can only get phpunit/php-code-coverage up to version 4.0.8,
which does not have this fix. A workaround has been introduced in this
commit to allow PHP-serialized coverage reports to be stored with PHP
5.6.