Jump to content

teraßyte

Clients
  • Posts

    33,860
  • Joined

  • Last visited

  • Days Won

    56

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Projects

Release Notes v5

Invision Community 5 Bug Tracker

Forums

Events

Store

Gallery

Everything posted by teraßyte

  1. You can use the setting in ACP > System > SETTINGS > Login & Registration > Registration TAB > Minimum age required to register. 🤔
  2. Checkboxes have a bug that allows members to leave them empty even when required:
  3. Just to be sure, do you have a file named constants.php in your forum's root folder? If yes, does it contain a line like this? \define( 'CP_DIRECTORY', 'house' ); If it does, your folder is indeed renamed, so for the upgrade rather than /admin/upgrade you should go to /house/upgrade instead. If you don't have that line, I can't explain why the upgrader is looking for files inside the /house/ folder.
  4. Based on the screenshot you posted above your admin folder is renamed house. You won't get past that error unless you rename the admin folder to the same house name before uploading it. Or you can remove the constant to rename the admin folder in the constants.php file and use the default admin value. The option to rename the folder has been removed from v5, so you'll have to rename it back to admin in a future upgrade regardless.
  5. When any database table or column is missing, you'll get a warning in the ACP > Support page with a list of queries to automatically fix the issues. If you have nothing there, you're okay. 👍 You would need to proceed with a manual upgrade following these steps: Disable all applications/plugins in ACP (in case some are not compatible with PHP 8). Upload a fresh set of files downloaded from your client area (version 4.7.19 currently). Switch the PHP version to either 8.1 (recommended) or 8.0. Starting from version 4.7.4 PHP 7.x isn't supported anymore. Go to domain.com/admin/upgrade and follow the upgrade instructions. Once the upgrade is complete check in the ACP if any applications and plugins still work (enable them 1-by-1). You can also use the PHP8 Compatibility Scanner tool available in ACP > Support for further help. That "serviceworker" URL is actually not a task but a backend JS script that handles the push notifications for the browser, tablets, and phones. If any tasks are not running correctly, a big red warning will show up in your ACP to warn you about eventual issues (including the name of the task not working).
  6. Unfortunately, IPS never provides older versions for download, not even for a simple comparison. I have a folder with all versions myself, but I'm not allowed to share the package/files. 🤷‍♂️ A way to work around the sharing problem would be to hire someone with access to the 4.3.6 package and have them compare the files for you. Here are a few considerations: While the 2.x and 3.x versions used to require extensive file edits to install modifications, starting with version 4, there were no file edits at all. If you have third-party modifications installed (applications and/or plugins), they'll show up in your ACP. It is very rare for someone to edit the core/default files of the 4.x version. I recall that "serviceworker" file had some changes/fixes at some point, but I don't recall which version exactly. However, it might simply be a bug that's fixed in a later version. 🤔 Since you mentioned making a test copy, I would simply try upgrading that copy to the latest 4.7.19 version and see if the issue is fixed. The summary is: you most likely don't have any file edits.
  7. If a name changes the old URL won't work anymore and can't be redirected unless there's an unchanging value (the ID in this case). While it "can" be done, and I know some people have this setup in their custom apps, I doubt we'll ever see this supported in the default URLs.
  8. The function \IPS\Content\Widget::formElements() includes this check to skip the container field when no container class is set: /* Container */ if ( isset( $class::$containerNodeClass ) ) { $return['container'] = new \IPS\Helpers\Form\Node( 'widget_feed_container_' . $class::$title, isset( $this->configuration['widget_feed_container'] ) ? $this->configuration['widget_feed_container'] : 0, FALSE, array( 'class' => $class::$containerNodeClass, 'zeroVal' => 'all', 'permissionCheck' => 'view', 'multiple' => true, 'forceOwner' => false, 'clubs' => TRUE ) ); } The problem pops up when trying to save the widget configuration in the preConfig() function: public function preConfig( $values ) { $class = static::$class; if ( \is_array( $values[ 'widget_feed_container_' . $class::$title ] ) ) { $values['widget_feed_container'] = array_keys( $values[ 'widget_feed_container_' . $class::$title ] ); unset( $values[ 'widget_feed_container_' . $class::$title ] ); } The code checks if the container value is an array, but never checks if the value is available in the first place. Adding a simple isset() check solves the issue. Here's the full error: Whoops\Exception\ErrorException thrown with message "Undefined array key "widget_feed_container_XXXXXX"" Stacktrace: #7 Whoops\Exception\ErrorException in \system\Content\Widget.php:257 #6 Whoops\Run:handleError in \system\Content\Widget.php:257 #5 IPS\Content\_Widget:preConfig in \applications\CUSTOMAPP\widgets\itemFeed.php:101 #4 IPS\CUSTOMAPP\widgets\_itemFeed:preConfig in \applications\core\modules\front\system\widgets.php:224 #3 IPS\core\modules\front\system\_widgets:getConfiguration in \system\Dispatcher\Controller.php:107 #2 IPS\Dispatcher\_Controller:execute in \applications\core\modules\front\system\widgets.php:38 #1 IPS\core\modules\front\system\_widgets:execute in \system\Dispatcher\Dispatcher.php:153 #0 IPS\_Dispatcher:run in \init.php:947
  9. There is a modification for v4 if you're using v4.7.x: https://www.sosinvision.com.br/index.php?/file/40-profile-field-per-user-group/ Nothing yet for v5 if you're using the beta version.
  10. Oh, okay. If you're on the Cloud the manual option is not applicable. You'll have to wait for a reply from IPS. 😅
  11. It looks like it can't properly extract the files for the upgrade. In this case, your best option is to perform a manual upgrade instead of using the automatic one from the ACP: https://invisioncommunity.com/4guides/advanced-options/server-management/install-and-upgrade-r259/#manualupgrade
  12. What is the error exactly? Without more details, it's hard to tell what the actual problem is.
  13. It's a theme setting now. Users can no longer choose. What you can do instead is create a new theme for each layout option. You'll need 3 separate themes: Table Grid Fluid
  14. Maybe you have the prune logs setting disabled? Or some recurring error quickly filled up your table. You can truncate the core_log table, or you can use this modification I made: https://invisionbyte.net/files/file/282-tb-delete-all-system-logs-button/ No need to mess with the database with it, you can easily delete all logs from ACP.
  15. I just checked and the text is still there even in Beta 8. It's now on line 521 of the file, though.
  16. Yeah, that layout is ugly. It should be changed to something like: X Followers Options --- FOLLOWER AVATARS BELOW ---
  17. Here's some quick test code to check the issue: $form = new \IPS\Helpers\Form; $form->add( new \IPS\Helpers\Form\Checkbox( 'example_checkbox', NULL, TRUE ) ); if ( $values = $form->values() ) { var_dump( $values );exit; } The code will always output either FALSE or TRUE, but it will never throw an error telling you you must select the checkbox. This happens because of the validate function in \IPS\Helpers\Form\FormAbstract: /** * Validate * * @throws \InvalidArgumentException * @return TRUE */ public function validate() { if( ( $this->value === '' OR ( \is_array( $this->value ) AND empty( $this->value ) ) ) and $this->required ) { throw new \InvalidArgumentException('form_required'); } [...] At this point, the variable $this->value contains either TRUE or FALSE and fails the empty string check with 3 equal signs. The empty() check is skipped too because the value is not an array. === The same issue is also present in v5 Beta 6.
  18. The reactivate option is only available to admins in the ACP. You won't find it on the front end. 👀
  19. Okay, then my modification won't help. It was made to work only with subscriptions (original client's request). 🤷‍♂️
  20. If a member cancels the renewal, when it expires, the renewal data (cost/period) is not preset and the user can't renew by themselves anymore. Just to double-check, is it a product or a subscription? If it's a subscription, I have a modification for v4: https://invisionbyte.net/files/file/303-tb-always-allow-subscription-renewals/ There's no v5 version yet, but I have plans to upgrade it. Just waiting for IPS to add some hook points in the beta version.
  21. Is your database using UTF8 or UTF8MB4 as the charset? It's possible you're still using UTF8 and with MySQL using the new UTF8MB3 alias those queries popped up.
×
×
  • Create New...