Everything posted by teraßyte
-
$form->addHeader on a UINode extension?
teraßyte replied to Adriano Faria's post in a topic in Invision Community 5: Beta Testing's Beta DiscussionSince the extension specifically calls $form->add() on the returned elements we also can't add messages, dummy rows, HTML rows, buttons, etc. 🙄
-
Commerce, product descriptions
It seems like a bug (unparsed language string), but I can't be sure. The Courses application is available only on the Cloud, so only IPS developers can answer what exactly is going on with that hash.
-
Recuring subscription
Have a look at this guide:
-
Requiring users to complete custom fields
You can use the setting in ACP > System > SETTINGS > Login & Registration > Registration TAB > Minimum age required to register. 🤔
-
Requiring users to complete custom fields
It should.
-
Requiring users to complete custom fields
Checkboxes have a bug that allows members to leave them empty even when required:
-
Trying to upgrade to latest IPB version - Database Issue
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.
-
Trying to upgrade to latest IPB version - Database Issue
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.
-
Retrieving old version install package (4.3.6)
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).
-
Retrieving old version install package (4.3.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.
-
Personalized URLs for Profiles and Communities
teraßyte replied to Unicorrrrrn's post in a topic in Invision Community 5: Beta Testing's Beta DiscussionIf 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.
-
[BUG 4.7.19] Content widget throws an error for Item classes without $containerNodeClass set
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
-
Set Permission for a member group to view Profile Fields.
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.
-
I cannot apply the latest Update. Fails over and over.
Oh, okay. If you're on the Cloud the manual option is not applicable. You'll have to wait for a reply from IPS. 😅
-
I cannot apply the latest Update. Fails over and over.
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
-
Forum Index
Yep... 🤷♂️
-
I cannot apply the latest Update. Fails over and over.
What is the error exactly? Without more details, it's hard to tell what the actual problem is.
-
Forum Index
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
-
How to remove all logs from core_log?
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.
-
Changing the location of followers in profile in beta 7 is not good
teraßyte replied to EliasM's post in a topic in Invision Community 5: Beta Testing's Beta DiscussionYeah, that layout is ugly. It should be changed to something like: X Followers Options --- FOLLOWER AVATARS BELOW ---
-
[BUG 4.7.19] Adding a required Checkbox form helper allows to submit the form regardless
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.
-
Can't renew expired membership product
The reactivate option is only available to admins in the ACP. You won't find it on the front end. 👀
-
Can't renew expired membership product
Okay, then my modification won't help. It was made to work only with subscriptions (original client's request). 🤷♂️
-
Can't renew expired membership product
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.
-
Database error stopping updrade to 4.7.19
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.