Jump to content

teraßyte

Clients
  • Posts

    33,431
  • Joined

  • Days Won

    47

 Content Type 

Downloads

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog

Development Blog

Deprecation Tracker

Providers Directory

Projects

Forums

Events

Store

Gallery

Everything posted by teraßyte

  1. @Matt Traits... huh? In that case, please be sure to have a look at this topic: We need a solution to that. The only option currently is to add very specific checks based on URLs, and it doesn't work for every situation, either.
  2. When I replied earlier there was no image in the first post. 🤨 Do you have anything logged in your browser's console?
  3. Stuck how, exactly? Are you receiving some kind of error?
  4. The template /applications/core/dev/html/front/tables/rows.phtml contains this code on lines 46-55: {{if $row->unread()}} <a href='{$row->url( 'getNewComment' )}' title='{lang="first_unread_post"}' data-ipsTooltip> {{if $row->containerWrapper() AND \in_array( $row->$idField, $row->containerWrapper()->contentPostedIn( null, $rowIds ) )}} <span class='ipsItemStatus'><i class="fa fa-star"></i></span> {{else}} <span class='ipsItemStatus'><i class="fa fa-circle"></i></span> {{endif}} </a> {{else}} {{if $row->containerWrapper() AND \in_array( $row->$idField, $row->containerWrapper()->contentPostedIn( null, $rowIds ) )}} <span class='ipsItemStatus ipsItemStatus_read ipsItemStatus_posted'><i class="fa fa-star"></i></span> {{else}} &nbsp; {{endif}} {{endif}} The problem is that the template uses twice the function contentPostedIn() without checking if the Node/container class uses the \IPS\Node\Statistics trait. Both IFs need this check added: \IPS\IPS::classUsesTrait( $row->containerWrapper(), 'IPS\Node\Statistics' )
  5. The best option is to ask the developer, Stuart, directly.
  6. No, they're not needed modules. Unless you use them for some other software, you can go ahead.
  7. I mentioned the issue in my reply above, you need to manually specify the ROW_FORMAT value in the ALTER TABLE query to avoid using the COMPACT format set by default by your hosting. In your example above you're still skipping that part: ALTER TABLE downloads_ccontent ENGINE=InnoDB; instead of: ALTER TABLE downloads_ccontent ENGINE=InnoDB ROW_FORMAT=DYNAMIC;
  8. Try checking which TLS version your server is using. The Marketplace requires version 1.2.
  9. It sounds like you're making a fresh 4.x install. However, to upgrade you only need to upload the new 4.x files over the old 3.x ones and then go to /admin/upgrade to start the upgrade process. IPS Guide link:
  10. Try using this kind of query which sets the table to use the DYNAMIC row format by default instead: ALTER TABLE nexus_licensekeys ENGINE=InnoDB ROW_FORMAT=DYNAMIC; That is, as long as your host has it enabled. I've seen plenty of hosting with only the COMPACT option available, unfortunately.
  11. Click on Optional patch available in the first box (Invision Community) in your screenshot.
  12. I think we need to take a step back and start from scratch here. What are you trying to do exactly? If you just need to load a member by using their ID, you don't need the hook or the remote_id value. Or are you trying to load a member based on some kind of external ID after adding a remote_id column to the core_members table in the database? Knowing your goal would help guide you in the correct direction.
  13. I just had a thought. They could use the converters app and stop after converting (importing) the groups? 🙄 I think I did the same at some point with an older version, not sure if it's still possible on the latest version, though.
  14. @Marc Stridgen The problem was indeed what I mentioned above. A call to getItemsWithPermissions() was missing the newest $location value at the end. I've already resolved the issue for them. 👍
  15. @Marc Stridgen I'll turn it into your worst nightmare ever then. 😋 Jokes aside, there is a problem where that setting that is supposed to be for "records per page" controls also the "comments" per page. I made a bug report a whole year ago for 4.7.0, but it was ignored: Can you open an internal bug report about it?
  16. Yes, that seems indeed correct. Try adding this code right before the parent call: var_dump( static::$databaseIdFields );exit; If the hook is being loaded properly, you should get an output of 3 values: name, email, remote_id. If you don't get anything, maybe there's a typo in the class you're trying to extend. Something like \IPS\Members instead of \IPS\Member. I had it happen a few times. 😅
  17. As long as you fixed the parent call being outside the function in the example, it should work. I you post here the hook's code I can take a quick look maybe.
  18. You can only use the allowed values in the \IPS\Member class for the second parameter: /** * @brief [ActiveRecord] Database ID Fields */ protected static $databaseIdFields = array( 'name', 'email' ); If you want to load based on the member_id column, simply skip the second parameter. You need to provide it only if you're loading a member based on their name or email address.
  19. There is a way to import members, but not groups. You'd need a custom modification for that. It's probably faster to setup them from scratch unless you have a lot of groups. (Really a lot to make it worth a custom modification.)
  20. That actually used to be the case at some point, but IPS now suggests always using InnoDB, which is more reliable than MyISAM compared to the past. Even the ACP Support page in 4.x will give you a warning if there are non-InnoDB tables.
  21. That's your fault for quietly updating. Next time hire me from the start! 😋
  22. The main issue is that some of the old upgrade steps aren't compatible with PHP 8. With PHP 7 they simply failed silently. When upgrading from 3.x, I usually upgrade to 4.7.3 using PHP 7.4, and then I upgrade to the latest version available after switching to PHP 8.x. It saves a lot of trouble. 😅
  23. In the recent 4.7.11 update, I've noticed you updated the search filters code in \applications\core\modules\front\search\search.php to cast the variables as (int) types: if ( isset( \IPS\Request::i()->search_min_replies ) AND isset( $class::$commentClass ) ) { $filter->minimumComments( (int) \IPS\Request::i()->search_min_replies + 1 ); $baseUrl = $baseUrl->setQueryString( 'search_min_replies', (int) \IPS\Request::i()->search_min_replies ); $titleConditions[] = \IPS\Member::loggedIn()->language()->addToStack( 'search_blurb_min_replies', FALSE, [ 'sprintf' => [ (int) \IPS\Request::i()->search_min_replies ] ] ); } Note how there are 3 values cast as (int) in the code above. However, in the code for minimum reviews on line 514, the $baseUrl line wasn't updated: if ( isset( \IPS\Request::i()->search_min_reviews ) AND isset( $class::$reviewClass ) ) { $filter->minimumReviews( (int) \IPS\Request::i()->search_min_reviews ); $baseUrl = $baseUrl->setQueryString( 'search_min_reviews', \IPS\Request::i()->search_min_reviews ); $titleConditions[] = \IPS\Member::loggedIn()->language()->addToStack( 'search_blurb_min_reviews', FALSE, [ 'sprintf' => [ (int) \IPS\Request::i()->search_min_reviews ] ] ); } For consistency, it should be: $baseUrl = $baseUrl->setQueryString( 'search_min_reviews', (int) \IPS\Request::i()->search_min_reviews );
  24. Most likely, a function's parameters don't match the changes in the latest version of the files, and that generates the 500 error. Your error_log file on the server should have more details about it.
×
×
  • Create New...