Jump to content

SJ77

Clients
  • Posts

    3,366
  • Joined

  • Last visited

  • Days Won

    13

Reputation Activity

  1. Like
    SJ77 reacted to teraßyte in [BUG 4.7.6] Downloads embeds wrongly state free files aren't available for purchase   
    As per title, downloads embeds are wrongly stating free files are not available for purchase. I noticed the issue when someone posted this link:
     
    You can see for yourself the embed says This file is not currently available for purchase. in the row under the version/number of downloads.
    The file is free and certainly available for download though.
  2. Like
    SJ77 reacted to teraßyte in [BUG 4.7.6] Rebuilding achievements throws an error on gallery albums   
    Starting the process to rebuild achievements from ACP throws an error rebuilding a gallery album as promoted content.
    The issue specifically happens in the file /applications/core/extensions/core/AchievementAction/ContentPromotion.php inside the function rebuildRow() on lines 249-255:
    case 'core_social_promote': $promote = \IPS\core\Promote::load( $row['promote_id'] ); $promote->object()->author()->achievementAction( 'core', 'ContentPromotion', [ 'content' => $promote->object(), 'promotype' => 'promote' ] ); break; The problem in the code above is that when it hits a gallery album entry, which is a node, it tries to call \IPS\gallery\Album::author() which exists only in content items. The correct code for an album would be \IPS\gallery\Album::owner() instead.
     
    This is the error's backtrace:
    Error: Call to undefined method IPS\gallery\Album::author() (0) #0 /home/admin/web/domain.com/public_html/forum/applications/core/extensions/core/Queue/RebuildAchievements.php(141): IPS\core\extensions\core\AchievementAction\_ContentPromotion::rebuildRow(Array, Array) #1 /home/admin/web/domain.com/public_html/forum/system/Task/Task.php(47): IPS\core\extensions\core\Queue\_RebuildAchievements->run(Array, 103) #2 /home/admin/web/domain.com/public_html/forum/applications/core/tasks/queue.php(43): IPS\_Task::runQueue() #3 /home/admin/web/domain.com/public_html/forum/system/Task/Task.php(375): IPS\core\tasks\_queue->IPS\core\tasks\{closure}() #4 /home/admin/web/domain.com/public_html/forum/applications/core/tasks/queue.php(55): IPS\_Task->runUntilTimeout(Object(Closure)) #5 /home/admin/web/domain.com/public_html/forum/system/Task/Task.php(274): IPS\core\tasks\_queue->execute() #6 /home/admin/web/domain.com/public_html/forum/applications/core/modules/admin/settings/advanced.php(751): IPS\_Task->run() #7 /home/admin/web/domain.com/public_html/forum/system/Dispatcher/Controller.php(107): IPS\core\modules\admin\settings\_advanced->runTask() #8 /home/admin/web/domain.com/public_html/forum/applications/core/modules/admin/settings/advanced.php(38): IPS\Dispatcher\_Controller->execute() #9 /home/admin/web/domain.com/public_html/forum/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\admin\settings\_advanced->execute() #10 /home/admin/web/domain.com/public_html/forum/admin/index.php(13): IPS\_Dispatcher->run() #11 {main}  
     
    As a temporary measure, I've replaced the code above with this one:
    case 'core_social_promote': $promote = \IPS\core\Promote::load( $row['promote_id'] ); if ( $promote->object() instanceof \IPS\Gallery\Album ) { $promote->object()->owner()->achievementAction( 'core', 'ContentPromotion', [ 'content' => $promote->object(), 'promotype' => 'promote' ] ); } else { $promote->object()->author()->achievementAction( 'core', 'ContentPromotion', [ 'content' => $promote->object(), 'promotype' => 'promote' ] ); } break; Not the best fix though, so you'll probably want to implement something different. 😋
    ===
    EDIT: Forgot to mention that the bug is still present in 4.7.7 Beta 3.
  3. Like
    SJ77 reacted to teraßyte in [BUG 4.7.7] Recounting a member's reputation from ACP throws an exception   
    Recounting a member's reputation from a profile in ACP makes the code throw this exception:
    Whoops\Exception\ErrorException thrown with message "Object of class IPS\Db\Select could not be converted to int" Stacktrace: #11 Whoops\Exception\ErrorException in /dev47/system/Member/Member.php:1334 #10 Whoops\Run:handleError in /dev47/system/Member/Member.php:1334 #9 IPS\_Member:get_pp_reputation_points in /dev47/system/Patterns/ActiveRecord.php:335 #8 IPS\Patterns\_ActiveRecord:__get in /dev47/system/Member/Member.php:3509 #7 IPS\_Member:apiOutput in /dev47/applications/core/extensions/core/MemberSync/System.php:426 #6 IPS\core\extensions\core\MemberSync\_System:onProfileUpdate in /dev47/system/Member/Member.php:4033 #5 IPS\_Member:memberSync in /dev47/system/Member/Member.php:442 #4 IPS\_Member:save in /dev47/init.php:935 #3 IPS\_Member:recountReputation in /dev47/init.php:935 #2 IPS\core\modules\admin\members\_members:recountReputation in /dev47/system/Dispatcher/Controller.php:107 #1 IPS\Dispatcher\_Controller:execute in /dev47/system/Dispatcher/Dispatcher.php:153 #0 IPS\_Dispatcher:run in /dev47/init.php:935  
    The issue comes from the code below in /system/Member/Member.php on lines 3821-3830:
    /** * Recounts reputation for this member * * @return void */ public function recountReputation() { $this->pp_reputation_points = \IPS\Db::i()->select( 'SUM(rep_rating)', 'core_reputation_index', array( 'member_received=?', $this->member_id ) ); $this->save(); }  
    Simply adding ->first() in the query fixes it:
    $this->pp_reputation_points = \IPS\Db::i()->select( 'SUM(rep_rating)', 'core_reputation_index', array( 'member_received=?', $this->member_id ) )->first();  
  4. Thanks
    SJ77 reacted to teraßyte in Where is max files per submission setting?   
    It's the Kitchen Sink application:
     
  5. Like
    SJ77 reacted to teraßyte in runesuite.io redirected you too many times.   
    Often the issue is that the conf_global.php file has an HTTP URL in it, and your server tries to redirect to HTTPS.
    Check your conf_global.php file and also disable any automatic redirects server-side. The suite handles redirects on its own.
     
     
  6. Agree
    SJ77 reacted to Daniel F in [BUG 4.7.7] New Images tab in profile always shows even if there's no content   
    I've created a bug report for this.
    That said, I've gone ahead and also posted some further ideas to improve the experience here.
    It would be lovely if the admin could manage the tabs ( change the order + set if it should be hidden, shown only when data are present, or if it should be always shown. )
  7. Thanks
    SJ77 reacted to teraßyte in [BUG 4.7.7] New Images tab in profile always shows even if there's no content   
    As mentioned in the topic's title, in 4.4.7 with the new gallery version includes a new IMAGES profile extension when viewing a member profile. However, unlike other tabs (for example the ALBUMS TAB in the same gallery application) it doesn't check if the user has uploaded any images before deciding if it should be shown or not.
     
    This is the code inside /applications/gallery/extensions/core/Profile/galleryImages.php:
    public function showTab(): bool { return TRUE; } The ALBUMS profile extension in the same folder (gallery.php) does check if the user has any albums before showing the profile's tab.
  8. Like
    SJ77 reacted to Marc Stridgen in [BUG 4.7.6] Rebuilding achievements throws an error on gallery albums   
    He does that 😄 
  9. Agree
    SJ77 reacted to teraßyte in Follow Specific User Content   
    On a big site with 1.5M rows in the plugin's table the queries are extremely slow and take up to ~3 seconds.
    Looking at the table and the code, I found there are no indexes that can be used to speed up the queries. After manually adding a couple of indexes the queries are almost instant.
     
    Here are the 2 indexes I added:
    ALTER TABLE `followspecificusercontent_data` ADD INDEX `cfe_rel_id_member_id` (`cfe_rel_id`, `cfe_member_id`); ALTER TABLE `followspecificusercontent_data` ADD INDEX `cfe_type_rel_id` (`cfe_type`, `cfe_rel_id`);  
  10. Thanks
    SJ77 reacted to teraßyte in [BUG 4.6.11] Installing/upgrading plugins is actually quite broken   
    Just hit a "table already exists" error installing a plugin locally because this bug isn't fixed. 🙄
     
    Adding a check in the upgrade file to not execute the create table query is an option, but that's just a workaround and not the proper fix.
  11. Like
    SJ77 reacted to teraßyte in [BUG 4.6.11] Installing/upgrading plugins is actually quite broken   
    9 months later... this still isn't fixed even with the fix already provided in the first post... 🙄
  12. Like
    SJ77 reacted to Richard Arch in Fresh installation: Can't login to frontend   
    Would love to know what the issue was once resolved 👍
  13. Thanks
    SJ77 reacted to Stuart Silvester in What exactly does define( 'NEXUS_TEST_GATEWAYS', true ); do?   
    The constants are documented in the init.php file
    // Enable test/sandbox mode for Commerce payment gateways? // Sets all payment gateways into test/sandbox mode and makes a generic "Test Gateway" // which just acts as if a payment was successful available. Is used in development // so they can be tested without actually taking any money. If you enable that constant, you will not be able to get paid any real money since gateways will use the sandbox versions (where applicable)
  14. Agree
    SJ77 reacted to Sonya* in Elasticsearch on Plesk/Docker   
    Can somebody help me to understand how Elasticsearch should be configured on the Plesk Server with Docker extension?
    The goal: using Elasticsearch for multiple IPS communities.
    Questions:
    1. In AdminCP, I have to configure Elasticsearch Index Name (It is important to use different index names if multiple Invision Community installations are using the same Elasticsearch instance). In Plesk I see this:

    Where Elasticsearch Index Name is configured? Is it a container name, volume mapping or environment variable? 😵
    2. Right now, Elasticsearch does not run. The error is:
    at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured What of these variable must be configured and what values should be used if multiple communities are supposed to use elasticsearch.
    Thank you!
  15. Thanks
    SJ77 reacted to Marc Stridgen in What Elasticsearch version is supported well?   
    On the current version, you can actually use either, as they are compatible with one another. However its likely we will focus on the opensearch route going forward. 
  16. Like
    SJ77 reacted to RevengeFNF in What Elasticsearch version is supported well?   
    The recommendations is to use OpenSearch instead of Elasticsearch?
  17. Like
    SJ77 reacted to David.. in [Suggestion] Add Storage Method Cloudflare R2 (Api compatible with Amazon S3)   
    +1
    Would like to see this added too!
  18. Agree
    SJ77 reacted to RevengeFNF in [Suggestion] Add Storage Method Cloudflare R2 (Api compatible with Amazon S3)   
    Cloudflare R2 is a storage method like Amazon S3 and both are Api Compatible.
    R2 is a lot cheaper than S3, there are the prices:

    Would it be viable for IPS to add support for it?
    It would be a really upgrade for IPS self hosting clients, since in R2 bandwidth is free, we only pay for storage and operations.  
  19. Like
    SJ77 reacted to teraßyte in Profile Backgrounds (Support Topic)   
    @Adriano Faria In case you want to add it in a future version, here's the code I added right before the code to uninstall the plugin in order to convert old background data:
    # Plugin column available? Convert the background data if ( \IPS\Db::i()->checkForColumn( 'core_members', 'ProfileBackgroundImage' ) ) { \IPS\Db::i()->insert( 'profilebackgrounds_data', \IPS\Db::i()->select( 'member_id, ProfileBackgroundImage', 'core_members', 'ProfileBackgroundImage IS NOT NULL' ) ); }  
     
    Also, I had problems getting the image to display in the profile. I was receiving this error:
    Unknown column '' in 'where clause'  
    After debugging, the problem is in the file /applications/profilebackgrounds/hooks/memberModel.php. The profileBackgroundImage() function currently uses this code to load the background data:
    return \IPS\Db::i()->select( 'pb_location', 'profilebackgrounds_data', array( 'pb_location!="" AND pb_member_id=?', $this->member_id ) )->first(); Unfortunately, some MySQL versions are picky and don't like double quotes in queries. Once I swapped around single and double quotes in the WHERE parameter it started working properly:
    array( "pb_location!='' AND pb_member_id=?", $this->member_id )  
  20. Thanks
    SJ77 reacted to Marc Stridgen in [BUG 4.7.6] Rebuilding achievements throws an error on gallery albums   
    Thank you for bringing this issue to our attention! I can confirm this should be further reviewed and I have logged an internal bug report for our development team to investigate and address as necessary, in a future maintenance release.
     
  21. Thanks
    SJ77 reacted to Nathan Explosion in dumb question about ranks and points in 4.7   
    Got to achievements settings, click the rebuild button.
  22. Thanks
    SJ77 reacted to Michael.J in Forms Support   
    I trust you were able to renew successfully? For future reference IPS does not give me much control of invoices here, so you will need to contact them for such matters.
    There is no setting for this. You could setup a high value to the "Submit wait time" setting so members can't submit again for a year or what ever.
    What was the error?
    Are you getting an error when upgrading?
    It looks like the permissions are gone for your forms. If you go into the admin cp, can you set view permissions for the forms once again?

  23. Like
    SJ77 reacted to teraßyte in Tapatalk on IPS 4.7   
    Honestly that broken app is not worth the trouble nowadays, and their support being crap doesn't help either. It had a place before when the forum's theme was not responsive / good enough for mobile, but with the newer versions the situation has changed drastically.
    Most of the sites I've updated in the last couple of years decided to drop it, especially after they started forcing forum owners to pay to upload the files to their own servers instead of tapatalk's cdn.
     
    My opinion is that you shouldn't install it, no matter what your users say. Try mentioning instead that using Tapatalk makes them lose a lot of functionality compared to using the site in a normal browser. This is especially true if you have modifications installed on your forum, those will never work on Tapatalk.
  24. Haha
    SJ77 reacted to Adriano Faria in Not able to start new PM conversations.   
    No, I can’t. 😃
    In your screenshot, bottom right, you have the code error.
  25. Thanks
    SJ77 reacted to Adriano Faria in What exactly doesn’t work when using php 8.1?   
    My live board is 8.1. No warn in ACP, no error.
    Show a screenshot of that warning… may help to identify the issue.
×
×
  • Create New...