Content Type
Downloads
Release Notes
IPS4 Guides
IPS4 Developer Documentation
Invision Community Blog
Development Blog
Deprecation Tracker
Providers Directory
Forums
Events
Store
Gallery
Everything posted by teraßyte
-
In \applications\downloads\modules\front\downloads\view.php around lines 1023-1028 there's a duplicate $existingThumbnails = array(); line (3rd and 6th): $existingRecords = array(); $existingScreenshots = array(); $existingThumbnails = array(); $existingLinks = array(); $existingScreenshotLinks = array(); $existingThumbnails = array();
-
[4.6.3] Error when IPS\Content\Item has only a $reviewClass
teraßyte replied to teraßyte's topic in Developer Connection
Hmm, I never got the PM notification on here but I do see it listed after checking just now. I'll reply there. -
[4.6.3] Error when IPS\Content\Item has only a $reviewClass
teraßyte replied to teraßyte's topic in Developer Connection
It's been more than a month since I posted. Nothing? At least I see this is still not fixed in 4.6.5.1. -
[4.6.3] Error when IPS\Content\Item has only a $reviewClass
teraßyte replied to teraßyte's topic in Developer Connection
I forgot to post the error I'm getting, here it is: class_uses(): object or string expected This happens because the function isQuestion() doesn't exist and once the code reaches the else part with the \IPS\IPS::classUsesTrait( $this, 'IPS\Content\Solvable' ) check the static::$commentClass variable doesn't exist and NULL is used instead. -
I have an application that uses only $reviewClass and NO $commentClass which throws an error after upgrading to 4.6. This happens because loading the reviews then goes on to call the function _comments() from system\Content\Item::reviews() to load the data. The error is because of this code added in system\Content\Item::_comments() to handle solved contents, statistics, and recognized content (lines 4349-4400): /* Solved count */ $commentClass = static::$commentClass; $showSolvedStats = FALSE; if ( method_exists( $this, 'isQuestion' ) and $this->isQuestion() ) { $showSolvedStats = TRUE; } else if ( \IPS\IPS::classUsesTrait( $this, 'IPS\Content\Solvable' ) and ( $this->containerAllowsMemberSolvable() OR $this->containerAllowsSolvable() ) ) { $showSolvedStats = TRUE; } if ( $showSolvedStats ) { $memberIds = array(); $solvedCounts = array(); $authorField = $commentClass::$databaseColumnMap['author']; foreach( $results as $id => $data ) { $memberIds[ $data->$authorField ] = $data->$authorField; } if ( \count( $memberIds ) ) { foreach( \IPS\Db::i()->select( 'COUNT(*) as count, member_id', 'core_solved_index', array( \IPS\Db::i()->in( 'member_id', $memberIds ) ), NULL, NULL, 'member_id' ) as $member ) { $solvedCounts[ $member['member_id'] ] = $member['count']; } foreach( $results as $id => $data ) { if ( isset( $solvedCounts[ $data->$authorField ] ) ) { $results[ $id ]->author_solved_count = $solvedCounts[ $data->$authorField ]; } } } } /* Recognized content */ if ( \IPS\IPS::classUsesTrait( $commentClass, 'IPS\Content\Recognizable' ) ) { foreach( \IPS\Db::i()->select( '*', 'core_member_recognize', [ [ 'r_content_class=?', $commentClass ], [ \IPS\Db::i()->in('r_content_id', array_keys( $results ) ) ] ] ) as $row ) { if ( isset( $results[ $row['r_content_id'] ] ) ) { $results[ $row['r_content_id'] ]->recognized = \IPS\core\Achievements\Recognize::constructFromData( $row ); } } } To solve the issue I had to wrap the whole thing in an IF check for the class: if ( isset(static::$commentClass) ) { //... {
-
In \applications\core\api\hello.php you have this code: public function GETindex() { return new \IPS\Api\Response( 200, array( 'communityName' => \IPS\Settings::i()->board_name, 'communityUrl' => \IPS\Settings::i()->base_url, 'ipsApplications' => \IPS\Application::load('core')->version, 'ipsApplications' => array_filter( array_keys( \IPS\Application::applications() ), function( $k ) { return \in_array( $k, \IPS\IPS::$ipsApps ); } ) ) ); } The version line used to have the ipsVersion key, looks like it was overwritten by mistake with ipsApplications: 'ipsVersion' => \IPS\Application::load('core')->version
-
@Kevin Carwile Found a few more errors on the front-end this time around (the one above was in ACP). Here's a list below (all missing root namespaces - also IPS is custting down on call_user_func_array & func_get_args as well): Whoops\Exception\ErrorException thrown with message "You have used a function (in_array) that should be called from the root namespace for performance reasons (applications/advancedtagsprefixes/hooks/forumLastPostPrefix.php::270)." if ( isset( static::$contentItemClass ) and \IPS\Settings::i()->tags_enabled and in_array( 'IPS\Content\Tags', class_implements( static::$contentItemClass ) ) ) ==== Whoops\Exception\ErrorException thrown with message "You have used a function (is_null) that should be called from the root namespace for performance reasons (applications/advancedtagsprefixes/hooks/nodeModel.php::66)." There are 2 "is_null" instances on the same line here. if ( static::isTaggable() === TRUE and !is_null( static::$permApp ) and !is_null( static::$permType ) ) === Whoops\Exception\ErrorException thrown with message "You have used a function (in_array) that should be called from the root namespace for performance reasons (applications/advancedtagsprefixes/hooks/nodeModel.php::233)." if ( isset( static::$contentItemClass ) and \IPS\Settings::i()->tags_enabled and in_array( 'IPS\Content\Tags', class_implements( static::$contentItemClass ) ) ) === In the hook "applications/advancedtagsprefixes/hooks/forumLastPostPrefix.php" replace 3 instances of "call_user_func_array/func_get_args": return call_user_func_array( 'parent::setLastComment', func_get_args() ); with: return parent::setLastComment($comment); === In the hook "applications/advancedtagsprefixes/hooks/forumLastPostPrefix.php" replace 1 instance of "call_user_func_array/func_get_args/is_null": $result = call_user_func_array( 'parent::lastPost', func_get_args() ); if( !is_null( $result ) ) with: $result = parent::lastPost(); if( !\is_null( $result ) ) === In the hook "applications/advancedtagsprefixes/hooks/forumLastPostPrefix.php" replace 1 instance of "is_array/in_array": is_array( \IPS\Member::loggedIn()->modPermission( 'forums' ) ) and in_array( $this->_id, \IPS\Member::loggedIn()->modPermission( 'forums' ) ) with: \is_array( \IPS\Member::loggedIn()->modPermission( 'forums' ) ) and \in_array( $this->_id, \IPS\Member::loggedIn()->modPermission( 'forums' ) )
-
@Adriano Faria Just a quick note that this application throws an error when using IN_DEV with 4.4 because 6 functions in the file applications/linkedaccounts/hooks/la_getAccounts.php don't use the root namespace. I simply updated the 2 functions in this line below 3 times: return call_user_func_array( 'parent::' . __FUNCTION__, func_get_args() ); to: return \call_user_func_array( 'parent::' . __FUNCTION__, \func_get_args() );
-
@Kevin Carwile Here's a quick bug report after I upgraded the application to 3.2.0 on a site I manage for someone: PHP Warning: Declaration of IPS\Content\advancedtagsprefixes_hook_addPrefixToForm::tagsFormField($item, $container) should be compatible with IPS\Content\_Item::tagsFormField($item, $container, $minimized = false) in 141 on line 407 The fix is to simply update line 233 in the hook from: public static function tagsFormField( $item, $container ) to: public static function tagsFormField( $item, $container, $minimized = FALSE ) and also line 260 from: parent::tagsFormField( $item, $container ) to: parent::tagsFormField( $item, $container, $minimized ) 👍
-
Just an update that's I've updated my dev board and I'm working on this mod (in my spare free time >.<). I'm currently looking into the activity stream issue and I also need to recode a portion of it to adhere to the new marketplace rules about no colums in the default tables. As far as I can remember I fixed that bug quite a while ago, but for the fix to work you first need to re-install the last version available and then uninstall it. If that still doesn't work let me know.
-
I will take a look at the compatibility of this mod with 4.4.1 (and possibly all other mods, too) this weekend. Just a quick update for everyone since I've received a few PMs about it in the last days 🙂
-
How do we extend functionality contained within traits?
teraßyte replied to Kevin Carwile's topic in Developer Connection
Yeah, I can hook into specific classes but not the main one. For example I want to make all apps not save a point for the chosen reputation under certain circumstances. I'd have to go around making an hook on each class for each application I want to support. And I just can't go around adding support for any 3rd party apps 1 by 1. I could do it, but I won't. I'll use my time in better ways 🙂 -
How do we extend functionality contained within traits?
teraßyte replied to Kevin Carwile's topic in Developer Connection
I guess it's about time to send a rescue team? The explorers got lost along the way it seems... 🙄 Jokes aside. I found myself needing to hook into one of the reactions functions and remembered this topic. It seems nothing has changed since then. -
Just a quick update that I started looking into my mods compatibility with 4.3. I've started with the few paid ones I have thought, but I'm going to release an update for anything that doesn't work. I also have a todo to check this bump up mod with the activity stream since a few people reported issues with it
-
I planned to check this mod and the others today, but things happened... I'll try to find some time tomorrow instead.
-
I remember updating the plugin so that it would show unread on the activity stream too. Maybe at some point with a new version they changed how things work. I'll remember to take a look at it for 4.3.
-
I'm not sure honestly. I've been busy with other things (as I've just posted in another topic). I haven't checked all my mods with 4.2, and I haven't used fluid view myself. I do plan on checking that all my mods are working on 4.3 once it goes final. At that time I'll try to look into fluid view, but I make no promises to get it working there.
-
I've been quite busy with work, a few troubles and other things. Everything has settled down lately though. I haven't looked much into my mods in the past months, but I do plan on checking all of them once 4.3 goes final. I can't assure my mods are working with 4.2 right now but I'll be sure to check them for 4.3.
-
No idea yet, sorry. I recently mentioned it in another plugin thread:
-
I haven't had the time to test my plugins/apps with 4.2 yet unfortunately (yeah I know, it's been a while already lol). I'll see if I can find some time on Sunday (tomorrow I'm away) or next week before I go away for vacation.
-
It is possible, but that would require to save a LOT more data to keep track of the time for EACH single topic. I could maybe work around it by rewriting how the hook works to use less data, but unless it is a widely requested feature I won't consider it (at least for now).
-
This plugin works only for topic view at this time.
-
NEW 3.0.3 version is out: @Simon Woods Update the plugin to this new version and then try to uninstall it again, it should work properly after the update.
-
I think I know what the issue is. I'm currently out, I'll check when I'm back home in a few hours.