1
0
mirror of https://github.com/e107inc/e107.git synced 2025-03-21 21:09:53 +01:00

12462 Commits

Author SHA1 Message Date
Cameron
ab0b4ec49b Support for high-resolution avatar rendering. 2020-01-27 11:37:57 -08:00
Cameron
48ae6455a4 getUsersInClass() now accepts extended user field names - just prefix those fields with "ue.". 2020-01-23 14:59:01 -08:00
Cameron
c18edcac43 PHP Notice removal 2020-01-23 13:15:24 -08:00
Nick Liu
beedf081ab
Fix infinite recursion in compatibility strptime() for Windows
\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().
2020-01-23 09:42:46 +01:00
Cameron
3fd23555a8
Merge pull request #4077 from Deltik/fix-4076
Have e_date::strptime() use eShims::strptime()
2020-01-22 12:06:42 -08:00
Cameron
692cee83ca Make sure user_id is an integer. 2020-01-22 12:04:59 -08:00
Nick Liu
f23aec7395
Replaced e_date::strptime() with 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()
2020-01-22 09:07:27 +01:00
Nick Liu
f93ab61372
Moved readfile() shim to its own trait 2020-01-22 00:40:26 +01:00
Cameron
e1e8a8b627 Added 'base64' option to allow for embedded image src. (useful when including avatars in email signatures)
Added test for toAvatar() method.
Cleaned up & when found in URL by getRemoteContent()
2020-01-19 15:35:36 -08:00
Cameron
0b26a97217 Revert "Removed useless STRPTIME_COMPAT constant"
This reverts commit ce510159a9913b104e0c0a07d5018e774f47898b.

Added check for 'tm_hour' key.
2020-01-19 12:35:02 -08:00
Cameron
1d2add821e Fixes #3943 Allow semi-colon in URL queries. 2020-01-19 12:21:13 -08:00
Cameron
b2e915352d Restored loading of admin LAN definitions early.
Removed unnecessary constants from admin_theme.php
2020-01-19 12:06:06 -08:00
Cameron
09e3e32ca9 Warning removal. Define e_PAGE when e_url.php is active. 2020-01-19 11:44:30 -08:00
Cameron
2487f58924
Merge pull request #4074 from Deltik/errors-galore
Pass through PHP notices, warnings, and errors to test harness and fix resulting failures
2020-01-19 11:21:51 -08:00
Nick Liu
f2a7590e68
Workaround for old phpunit/php-code-coverage missing mkdir()
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.
2020-01-19 15:41:02 +01:00
Nick Liu
8b354adf44
Don't spam database server with connections
- MOD: Silently ignore failures to e_db_mysql::close(); if it's failing, it's probably already closed
- FIX: Close the PDO or mysqli connection after each e_db_abstractTest test
- MOD: Changed class2.php's $sql variable to be hinted as an e_db instead of e_db_mysql
2020-01-19 14:33:11 +01:00
Nick Liu
1fd0a171a0
CI now installs mysqli extension 2020-01-19 13:50:57 +01:00
Nick Liu
8c528de191
e_db_mysql: Replaced mysql with mysqli
Finally no longer using the mysql_* functions removed in PHP 7.0
2020-01-19 13:33:52 +01:00
Nick Liu
4a26ac5fd7
Removed unused USE_PERSISTANT_DB constant 2020-01-19 12:57:39 +01:00
Nick Liu
c78976750c
Removed PDO from e_db_mysql
e_db_mysql has divorced e_db_pdo. They are now independently functioning implementations of e_db.
2020-01-19 12:52:22 +01:00
Nick Liu
72d3f07410
PHP 5.6 fixes for e_db_mysql
- FIX: Don't redefine MYSQL_* constants in e_db_pdo_class.php
- FIX: e_db_mysql::rowCount() could try to use mysql_num_rows() to count rows of a non-resource
- FIX: e_db_mysql::delete() stores the number of deleted rows in e_db_mysql::$mySQLrows
- FIX: e_db_abstractTest::testDb_Query() was fetching in PDO mode but shouldn't have been
- FIX: Typos in e_db_abstractTest::testDelete()
- MOD: Moved PDO-exclusive testBackup() from e_db_abstractTest to e_db_pdoTest
- FIX: e_db_mysqlTest now works in PHP 5.6 if the main e_db instance was in PDO mode but the test
       class initializes in legacy mode
- MOD: e_db_mysqlTest now asserts that PDO mode is not in use
- FIX: e_db_mysqlTest::testGetServerInfo() should now actually get a version number
- FIX: e_db_mysqlTest::testGetLastErrorNumber() has a different error code compared to PDO
- FIX: e_db_mysqlTest::testEscape() should actually get something from mysql_real_escape_string()
2020-01-19 12:30:23 +01:00
Nick Liu
970f65b705
Null check for optional query string in e107::url() 2020-01-18 19:20:48 +01:00
Nick Liu
510d8e231f
Fix flaky e_pluginTest::testBuildAddonPrefList()
Apparently requires the "gallery" plugin to be installed
2020-01-18 19:14:06 +01:00
Nick Liu
52116adc89
Silence debug prints clearly not meant for CLI
- FIX: e_array::unserialize() HTML vomit in CLI mode
- FIX: e107_debug_shutdown() HTML vomit because $error_handler was not global
2020-01-18 18:57:43 +01:00
Nick Liu
be8f2bbeb6
Fixed PHP 7.3 warnings
- FIX: Silenced compact() in e107Test::testInitCore()
- FIX: Null check in e_db_pdo::makeTableDef()
- FIX: Null check in e_db_mysql::makeTableDef()
- FIX: userlogin::login() had this warning on line 148:
       "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"?
2020-01-18 18:52:20 +01:00
Nick Liu
4454b01588
Fix PHP 7.3 deprecation warning in lan_ren_help.php
Apparently a bug introduced on 2004-09-21:
https://sourceforge.net/p/e107/svn/898/tree/trunk/e107_0.7/e107_languages/English/lan_ren_help.php

Just happens to be a misuse of the third parameter of define()
2020-01-18 18:43:34 +01:00
Nick Liu
524229ba0b
Fixed a bunch of PHP 7.4 syntax errors
- FIX: Removed pointless (and invalid) destructor in LinkedIn::__destruct()
- FIX: All files that trigger this deprecation notice in PHP 7.4:
       "Array and string offset access syntax with curly braces is deprecated"
2020-01-18 18:26:35 +01:00
Nick Liu
d55fe8a77b
Import LAN for e_formTest::testRenderElement() 2020-01-18 16:36:23 +01:00
Nick Liu
d1bdfb8546
Type checks and corrections for e_parse::thumbSrcSet() 2020-01-18 16:35:21 +01:00
Nick Liu
207ce81106
Bring class2Test::testCheckClass() back to passing (workaround) 2020-01-18 16:35:21 +01:00
Nick Liu
638412af09
Null coalesce optional variable in link.bb 2020-01-18 16:35:20 +01:00
Nick Liu
76c0f7ecdd
Type validation for navigation_shortcode() 2020-01-18 16:35:20 +01:00
Nick Liu
9506f98f69
Empty check for e_tohtml_linkwords::linksproc() 2020-01-18 16:35:20 +01:00
Nick Liu
a1560b1989
Strict fixes for e_tree_model::flattenTree()
- FIX: Null check during child recursion of e_tree_model::flattenTree()
- FIX: TreeModelTest::testTreeParentsAreAssignedCorrectly() apparently never worked until now because the wrong index was used
2020-01-18 16:35:20 +01:00
Nick Liu
d6eafdc3fc
Null check for e_user_model::isBot() 2020-01-18 16:35:19 +01:00
Nick Liu
f56bf44b98
Ignore redefines of EUF_* constants in e107_user_extended 2020-01-18 16:35:19 +01:00
Nick Liu
cf8dc0b909
Null coalescing for e_theme constructor 2020-01-18 16:35:19 +01:00
Nick Liu
f5f145485a
Eliminated notice failures in e107Test
- FIX: e107::getTemplate() could be run without the necessary plugin LANs
- FIX: e107Test::testGetInstance() included e107_config.php too many times
- FIX: Empty check in e107Test::testGetTemplate()
2020-01-18 16:35:19 +01:00
Nick Liu
91660a2c32
Test isolation fixes for e_db_abstractTest
Also needed a null check in e_db_pdo::db_Query()
2020-01-18 16:35:18 +01:00
Nick Liu
a0f4489e41
Disabled db_verifyTest::testGetIndex() due to no assertions 2020-01-18 16:35:18 +01:00
Nick Liu
b8d6b9eccb
Type and null checks for pluginsTest 2020-01-18 16:35:18 +01:00
Nick Liu
fc6b81fdd4
Fix undefined constant by importing LAN in e_marketplace
Apparently e_marketplace depends on the admin area theme LAN
2020-01-18 16:35:17 +01:00
Nick Liu
622be85140
Type checks involving e_formTest
- MOD: e107::getTemplate() now accepts blank strings for the plugin name to mean
       that a core template should be loaded
- FIX: e_form::progressBar() now supports input values that already have % at the end
- FIX: Null check for $options['list'] in e_form::progressBar()
- NEW: Test rounding in e_formTest::testProgressBar()
2020-01-18 16:35:17 +01:00
Nick Liu
46b541889f
Fixed array key absence check in e_db_abstractTest::testDb_Fetch() 2020-01-18 16:35:17 +01:00
Nick Liu
15de2e233b
Null check for e_file::file_size_decode() 2020-01-18 16:35:17 +01:00
Nick Liu
d2d0105378
Null check for UserHandler::userClassUpdate() 2020-01-18 16:35:16 +01:00
Nick Liu
509b9ff761
Type check for online_shortcodes::sc_online_member_user() 2020-01-18 16:35:16 +01:00
Nick Liu
dbdb5f4a86
Fix e_arrayTest::testUnserialize()
e_DEBUG is already set because of the new test debug strategy
2020-01-18 11:38:39 +01:00
Nick Liu
1d72d48a35
Type checks for db_verify::prepareResults() 2020-01-18 11:38:36 +01:00
Nick Liu
ce510159a9
Removed useless STRPTIME_COMPAT constant 2020-01-18 11:05:09 +01:00