1
0
mirror of https://github.com/e107inc/e107.git synced 2025-01-31 04:07:55 +01:00

3372 Commits

Author SHA1 Message Date
Cameron
73dfbf0d74 Issue #4299 - PHP8 fatal error fixes 2021-10-17 08:43:07 -07:00
Cameron
8d968d2ee3 e107.org URL updates. 2021-10-16 13:18:45 -07:00
Cameron
567b5022f2 Fix for customfields Youtube video preview not displaying after selection. 2021-09-29 10:44:21 -07:00
Cameron
5ecc0beca6 Issue #6 LANS added. Clear system cache before checking for updates. Extra checks to e_parse to avoid possible errors. 2021-09-28 08:13:27 -07:00
Cameron
66d8081580 Added new field to navigation links table: link_rel 2021-09-27 10:22:14 -07:00
Cameron
171cac87b1 Admin-UI type=datestamp and batch=true was producing unexpected results in the batch filter. Now provides an option for setting the current date/time. 2021-09-23 12:37:30 -07:00
Cameron
45bb6c2f35 Custom meta-image option added to Pages. 2021-09-23 12:01:26 -07:00
Cameron
4747ad3c6e
Merge pull request #4547 from Deltik/fix/4546
Deprecate `e_parse::toJS()`
2021-09-15 12:18:41 -07:00
Cameron
2682aeaa27 Token checks added. 2021-09-14 13:28:03 -07:00
Cameron
3e52f29087
Merge pull request #4554 from Deltik/php-8.1
PHP 8.1 compatibility
2021-09-10 14:38:31 -07:00
Cameron
3844bec9cc Fix for missing LAN 2021-09-10 09:18:04 -07:00
Cameron
daf0008705 Added 'nolist' attribute to e_user.php settings() method for hiding fields within admin/users.php listing. 2021-09-06 12:13:18 -07:00
Nick Liu
20882920a0
Fix all PHP 8.1 test failures
* `strftime()` has been replaced with a polyfill based on `DateTime`.
* Explicit type casts/assertions added where required by PHP 8.1
* `filter_var(…, FILTER_SANITIZE_STRING)` replaced with `strip_tags()`
  or HTML entity encoding of quotation marks, depending on a guess of
  what the intended "sanitization" was
* `http_build_query()` usage type mismatches fixed
* Removed usages of the `FILE_TEXT` constant
* To avoid breaking PHP 5.6 compatibility (function return types),
  `e_session_db` no longer implements `SessionHandlerInterface`.
  Instead, the alternative non-OOP invocation of
  `session_set_save_handler()` is used instead to apply the session
  handler.
* The shim for `strptime()` still calls the native function if available
  but now suppresses the deprecation warning.

* `e_db_pdo` explicitly asks for `PDO::ATTR_STRINGIFY_FETCHES` to
  maintain consistent behavior with past versions of PHP.
* `e_db_mysql` explicitly sets `mysqli_report(MYSQLI_REPORT_OFF)` to
  maintain consistent behavior with past versions of PHP.

* Removed pointless random number generator seed from `banner` plugin
* Workaround for `COUNT(*)` SQL query in
  `validatorClass::dbValidateArray()` without a proper API for avoiding
  SQL injection
2021-09-04 15:06:19 +02:00
Nick Liu
f6d6d1b185
Deprecate e_parse::toJS()
`e_parse::toJS()`, documented with the description

> Convert text blocks which are to be embedded within JS

, does not protect strings from injections, which appears to be its
primary use.  Additionally, it performs multiple unrelated string
modifications:

* Replace Windows line breaks with a literal `\\n` (which would later be
  parsed as `\n` in JavaScript/JSON)
* Does not modify Unix line breaks (`\n`), which is inconsistent with
  the Windows line break behavior
* Removes HTML tags
* Replaces HTML entities as `htmlentities()` does

This method cannot be fixed because its usages are inconsistent.  Most
notably, some usages surround the method's output in single quotes while
others surround it with double quotes.  Strings cannot be JSON-encoded
without confounding quotation mark styles.

All core usages of `e_parse::toJS()` have been replaced with
alternatives, which are also documented in the method's DocBlock.

Fixes: #4546
2021-08-31 00:11:14 +02:00
Cameron
7973e10dea Debug code removal. Rel prev/next added. 2021-08-13 11:53:21 -07:00
Cameron
32618817d1 Character counting display added to meta description on admin News and Page inputs. 2021-08-12 11:51:55 -07:00
Cameron
c941e5b98d Issue #4024 - Pagination url option added to News preferences. Select between 'record' (legacy format eg. page=20, page=40 etc) or 'page' numbers (page=1, page=2 etc). Experimental - requires more testing. 2021-07-06 17:53:55 -07:00
Cameron
d8f9a96dea Issue #4520 Possible fix for session duration. (testing needed) 2021-06-18 09:44:26 -07:00
Cameron
aa6e449aee New shortcode added on News view page: {NEWS_AUTHOR_REALNAME}
Tagcloud menu can now be sorted via shortcode parms. eg. {MENU: path=tagcloud&order=tag,asc&limit=20}
Animate.css library loading example added to bootstrap5/theme.xml
2021-06-12 16:18:51 -07:00
Cameron
2f9d81d7fc Prevent column pref conflict. 2021-06-07 11:43:47 -07:00
Cameron
07f4e53932 Fix fatal error in PHP8 that occurred when building a plugin without database tables. Developer mode alert now uses the {ALERTS} shortcode for greater control of placement. 2021-06-03 09:56:00 -07:00
Nick Liu
d790faa049
Convert and run e107 using the MySQL/MariaDB utf8mb4 character set and
InnoDB storage engine

Components affected:
* `db_verify` now checks and corrects the table storage engine
* `db_verify` now checks and corrects the table default character set
  * Note: Field character sets can still be overridden
  * Note: When correcting, the entire table is converted to the target
    charset.
* The alt_auth plugin now connects via PDO using the e107 default
  charset, utf8mb4
* `e_db_pdo` now sets the charset to utf8mb4. This is currently not
  customizable because it was previously not customizable.
* `install.php` now generates an `e107_config.php` file with
  `$mySQLcharset = 'utf8mb4';`, though this option is not actually used.
* `install.php` now removes plugin tables before installing plugins.
* `e_db_mysql` now only accepts the `utf8mb4` charset. Previously, it
  only accepted the `utf8` charset.
* `e_db_mysql` now configures `mysqli_real_escape_string` to match the
  new default charset, `utf8mb4`.
* Plugin installations now use the preferred MySQL table storage engines
  and charsets.

The preferred MySQL table storage engines are now mapped like so:
* If `ENGINE=MyISAM` is specified, the actual storage engine set will be
  the first available of: InnoDB, Aria, Maria, MyISAM
* If `ENGINE=Aria` is specified, the actual storage engine set will be
  the first available of: Aria, Maria, MyISAM
* If `ENGINE=InnoDB` is specified, the actual storage engine set will be
  the first available of: InnoDB, XtraDB
* If `ENGINE=XtraDB` is specified, the actual storage engine set will be
  the first available of: XtraDB, InnoDB

The preferred MySQL character set is now aliased like so:
* `utf8`    => `utf8mb4`
* `utf8mb3` => `utf8mb3`
* `utf8mb4` => `utf8mb4`

Fixes: #4501
2021-05-22 00:46:35 -05:00
Cameron
8d29f97bd2 Sort by primary id when exporting tables. Alert-box styling fix on modern-light admin theme. 2021-05-11 13:26:27 -07:00
Cameron
c11bd224f8 Prevent possible memory overload in Database > Export. Corrected {ALERTS} debug info when using theme.html. 2021-05-08 11:53:39 -07:00
Tijn Kuyper
4c56593f81
Merge pull request #4234 from yesszus/patch-1
Small corrections
2021-04-25 16:02:00 +02:00
Cameron
e5ff5f53c8 Issue #550 - Expanded filetypes.xml display in admin preferences area to include Admin and Main admin perms. Additional defaults for admin and mainadmin added to filetypes.xml during installation. 2021-04-21 16:48:04 -07:00
Cameron
b06e0e16fb Fixes #4484 - Modification of extended field of type EUF_ADDON causes corrupted data. 2021-04-13 11:28:25 -07:00
Cameron
2862e18db9 Issue #4471 2021-04-06 18:41:15 -07:00
Cameron
b7bb4cd3d2 Fixes #4470 Incorrect ajax output in theme manager. 2021-03-29 12:16:12 -07:00
Cameron
283b9340b5 Fixes #4459 $HEADER and $FOOTER within a class/method when old themes in use. Disable BS5 in admin area 2021-03-23 10:17:22 -07:00
Moc
0057d24ede
Fix upgrade routine
Was broken in 402d1f4126 (addslashes was default with WriteArray())
2021-03-22 21:27:22 +01:00
Cameron
21f8fdcbf6 Fixes #2392 - Theme-Manager > Tools > Create (ie. theme-copy tool) updated to work with libraries, layouts, prefs etc. 2021-03-21 20:15:03 -07:00
Erdei Gábor
36ebe449a7
Update links.php 2021-03-17 23:44:32 +01:00
Erdei Gábor
02e4d3379a
Update links.php 2021-03-17 02:14:04 +01:00
Erdei Gábor
63c56cbcb7
Update links.php 2021-03-17 01:53:51 +01:00
Cameron
3400c34d59 Issue #4446 - theme preferences added to preference editor. 2021-03-15 10:46:50 -07:00
Cameron
f815d91bec Issue #4442 Global lan check for news added to upgrade routine. 2021-03-11 09:44:37 -08:00
Cameron
2db174defe Fixes #4438 - missing fields. Removed empty row from "Create News" 2021-03-09 10:38:31 -08:00
Cameron
689c8db841 Issue #4299 - PHP8 errors. 2021-03-02 08:33:27 -08:00
Cameron
223ed8fc0a Removed PHP8-only code. 2021-02-23 09:20:43 -08:00
Cameron
821f2e9c22 Moved e_layout to menumanager_class.php 2021-02-20 11:31:09 -08:00
Cameron
823a228e7e Issue #3912 Typing ':' now pops-up a menu of available routes. Bootstrap-suggest library added for this and other areas in future. 2021-02-17 14:33:35 -08:00
Cameron
5b9ecd2200 Issue #4372 Extra fields. 2021-02-16 09:22:12 -08:00
Cameron
c94b1867a3 Issue #4372 - Enhancement: Contact page info. Requires database update. 2021-02-15 10:58:49 -08:00
Cameron
50e0445807 Issue #3184 Issue #3912 New Feature: can now use :(e_ROUTE) to switch theme layout visibility. 2021-02-14 10:36:45 -08:00
Cameron
aee77a102f Set profanity list limit to 1000. (Could reduce performance)
Fix for comment template. Prevent secureImage from buffering too many keys.
2021-02-14 07:02:09 -08:00
Cameron
6662b04323 Menu-Manager styling. 2021-02-13 08:52:43 -08:00
Cameron
6d29e4244d Fix icon appearing on admin language selection. Minor tweaks 2021-02-13 07:58:24 -08:00
Cameron
800f8734bf Tweak of isCompatible method. 2021-02-13 06:15:42 -08:00
Cameron
0527993d98 Added check for FileInfo extension 2021-02-12 14:32:20 -08:00