Content Type
Downloads
Release Notes
IPS4 Guides
IPS4 Developer Documentation
Invision Community Blog
Development Blog
Deprecation Tracker
Providers Directory
Projects
Release Notes v5
Forums
Events
Store
Gallery
Everything posted by teraßyte
-
The only way would be to compare the list of tables to a fresh install and account for the additional tables added by installed modifications. That's how I usually do it, especially after a legacy upgrade.
-
@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 )
-
Here's a guide on the options currently available: Also, as long as FB and/or Twitter are set up, when posting a new item (topic, file, etc) there is also a checkbox you can select to automatically share the content: As shown above, you have to manually do it though, there is no option to automatically do it in specific forums right now. You can either contact the developer of the previous modification to see if they're willing to update it or hire another developer to make it for you: https://invisioncommunity.com/third-party/providers/
-
@Daniel F No idea honestly. I'm just helping someone upgrade their site from 4.4. There are 5 such items in the table. And after you mentioned it I looked also for \IPS\gallery\Album\Item and there is 1 such record. Looking at the database there are 5 albums like that, all promoted in the second half of 2017. And based on the upgrade history table, the suite was on version 4.2.3. An old bug maybe? I guess the proper fix here then would be to update any \IPS\gallery\Album in the promote_class column to \IPS\gallery\Album\Item instead.
-
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.
-
Can confirm the fix worked. 👍
-
After updating the application to the latest version (2.5.5) we're getting an error trying to delete an account: Error: Call to undefined method IPS\deletemyaccount\Members::setMemberData() (0) #0 /home/admin/web/domain.org/public_html/forum/system/Task/Task.php(47): IPS\deletemyaccount\extensions\core\Queue\_membersTable->run(Array, 0) #1 /home/admin/web/domain.org/public_html/forum/applications/core/modules/admin/system/background.php(87): IPS\_Task::runQueue() #2 /home/admin/web/domain.org/public_html/forum/system/Helpers/MultipleRedirect/MultipleRedirect.php(93): IPS\core\modules\admin\system\_background->IPS\core\modules\admin\system\{closure}(Array) #3 /home/admin/web/domain.org/public_html/forum/applications/core/modules/admin/system/background.php(138): IPS\Helpers\_MultipleRedirect->__construct(Object(IPS\Http\Url\Internal), Object(Closure), Object(Closure)) #4 /home/admin/web/domain.org/public_html/forum/system/Dispatcher/Controller.php(107): IPS\core\modules\admin\system\_background->process() #5 /home/admin/web/domain.org/public_html/forum/applications/core/modules/admin/system/background.php(42): IPS\Dispatcher\_Controller->execute() #6 /home/admin/web/domain.org/public_html/forum/system/Dispatcher/Dispatcher.php(153): IPS\core\modules\admin\system\_background->execute() #7 /home/admin/web/domain.org/public_html/forum/admin/index.php(13): IPS\_Dispatcher->run() #8 {main} As the error says there is no setMemberData() function in the \applications\deletemyaccount\sources\Members\Members.php file. I just see 5 class variables defined inside it with no functions at all. Since it's a staging site we also tried removing and reinstalling the application from scratch just in case. The error is still there and comparing the files nothing changed.
-
Email notifications are always sent by default. But there is indeed no option for inline or push notifications currently.
-
Started an update (almost) now extremely high load averages!
teraßyte replied to AnonymousDev's topic in Technical Problems
From your first replies, I had assumed you'd already updated. What forum & PHP version are you currently using? -
Started an update (almost) now extremely high load averages!
teraßyte replied to AnonymousDev's topic in Technical Problems
PHP 8 is required starting from version 4.7.4+. If you switch back to PHP 7.4 after the upgrade you'll get errors all over. -
You couldn't find any native options because there aren't any. 😅 It's all handled by javascript. If you look at a quote's HTML you'll see this: <div class="ipsQuote_contents ipsClearfix" data-ipstruncate="true" data-ipstruncate-type="hide" data-ipstruncate-size="7 lines" data-ipstruncate-expandtext="Expand" style="" animating="false"> <p> Just a quick note: Minimized Quote has been a default feature at least since version 4.5. You can uninstall that plugin. </p> </div> Note the various inline attributes: <div data-ipstruncate="true" data-ipstruncate-type="hide" data-ipstruncate-size="7 lines" data-ipstruncate-expandtext="Expand">
-
Download - Forum Topics - Include field in topics?
teraßyte replied to Mopar1973Man's topic in Technical Problems
It's a bug in the code. I reported it ~6 months ago: There's a patch included in that topic if you want to temporarily apply it until IPS fixes the bug. -
Oh, that was in the 1.1.0 changelog and I completely missed it. No worries, I'll do something about it myself then. 🙂
-
While testing an upgrade for a client we upgraded this modification from its 1.0.1 (plugin) version to 1.1.3 (application). The 1.0.2 changelog says the data is synced and then the column dropped, but the current 1.1.3 version simply uninstalls the plugin without syncing any data: Taking a quick look at the Application.php file I see only the code to uninstall the plugin: public function installOther() { try { $pluginData = \IPS\Db::i()->select( '*', 'core_plugins', array( 'plugin_location=?', "profilebackgrounds" ) )->first(); try { $plugin = \IPS\Plugin::load( $pluginData['plugin_id'] ); $plugin->delete(); } catch ( \Exception $e ){} } catch( \UnderflowException $e ){} } Ideally the function should instead run a background queue task to sync the data in batches and uninstall the plugin only once the process is complete. Was the sync process only included in the 1.0.2 version of the plugin perhaps?
-
How To Change Group Assignment At Registration?
teraßyte replied to Morpheo's topic in Technical Problems
You need to edit the conf_global.php file in your forum's root folder and change the member_group value with the ID of the New Members group you created. By default the Members group ID is 3: The format will be either: 'member_group' => 3, OR $INFO['member_group'] = 3; -
Find large filed in downloads app?
teraßyte replied to Sirmadsen's topic in Classic self-hosted technical help
The Files area in ACP shows only attachments uploaded through the editor in all areas. Files added to categories in the Downloads application are not included there unfortunately. There used to be an area in ACP in the 3.x version (I think?) that listed that data, but it got removed in 4.x. -
Getting an Error when Upgrading
teraßyte replied to Niji's topic in Classic self-hosted technical help
That's the first time I've seen that. No idea about this one, sorry. It would require to debug in which file exactly it's failing and why it's reporting Not Set. The two are related most likely. -
The xml file is in this folder: \applications\core\data\achievements
-
Getting an Error when Upgrading
teraßyte replied to Niji's topic in Classic self-hosted technical help
Strange, the code is indeed using array_map(). You must have some very old data with a different format. If you just want to skip the whole metadata conversion you can simply comment/remove that line completely and continue with the upgrade. -
Getting an Error when Upgrading
teraßyte replied to Niji's topic in Classic self-hosted technical help
I need another screenshot like the second one in your first post that tells me which application and upgrade step it's stuck on. -
Getting an Error when Upgrading
teraßyte replied to Niji's topic in Classic self-hosted technical help
I posted a fix for this error in this post: -
Downloading 4.7.3 - upgrade issues
teraßyte replied to PiotrR's topic in Classic self-hosted technical help
It might look scary but as long as you follow the steps mentioned above there shouldn't be too many issues. Hopefully none at all. Good luck with the upgrade. 🙂 And, as mentioned above, you can also hire a 3rd party provider if you need help. Here's the link just in case: https://invisioncommunity.com/third-party/providers/