Developer Connection
Use this forum to interact with our development team on technical issues, suggestions and official best practices advice.
1,734 topics in this forum
-
- 2 followers
- 1 reply
- 313 views
Hi, I'm currently using php-redis 4.2 on my Invision installation, and I was wondering if I could update it to php-redis 5.0.2. As there seems to be some breaking changes in this v5, could IPS run with it without issues? Does anyone of you use this version? Thank you!
Last reply by Martin A., -
- 2 followers
- 6 replies
- 646 views
sorry @bfarber and @everyone else, no video today (sore throat!), has any one else hit this when trying to uninstall an app? IPS\Db\Exception thrown with message "Truncated incorrect DOUBLE value: 'sockets'" Stacktrace: #9 IPS\Db\Exception in /home/michael/public_html/dev/system/Db/Db.php:671 #8 IPS\_Db:preparedQuery in /home/michael/public_html/dev/system/Db/Db.php:1280 #7 IPS\_Db:delete in /home/michael/public_html/dev/system/Node/Model.php:3082 #6 IPS\Node\_Model:delete in /home/michael/public_html/dev/system/Application/Application.php:4294 #5 IPS\_Application:delete in /home/michael/public_html/dev/applications/core/modules/admin/applications/applications.php:11…
Last reply by bfarber, -
- 1 follower
- 1 reply
- 410 views
I recall reading we should report bugs here now? Not 100% sure though... 🙄 Anyway, the task applications/core/tasks/clearincompletemembers.php is not properly cleaning up incomplete accounts for those who signed up with FB/Twitter/etc. We've noticed this issue for a while now, but today I had a better look at it and figured out the issue. The problem is caused by this code on line 54: foreach ( new \IPS\Patterns\ActiveRecordIterator( \IPS\Db::i()->select( '*', 'core_members', array( array( '(name=? OR email=?)', '', '' ), array( '! (members_bitoptions2 & 16384 ) AND joined<? AND (last_visit=0 OR last_visit IS NULL)', \IPS\DateTime::create()-…
Last reply by bfarber, -
- 1 follower
- 3 replies
- 363 views
Not that it really matters I guess... But is there a considered "best practice" on the comment header for a method when extending/hooking it? 1) Copy the original method header comment 2) Copy the original method header comment, and making any necessary clarifications/additions about what you do in the extension 3) Only have a comment telling what you do in the extension of the method. (No copying, so no @param , @return etc either). 4) No comment 5) Dude, noone cares Example of method I may extend and it's header comment: /** * Hide/Delete All Content * * @param string $action 'hide' or 'delete' or 'merge' * @param…
Last reply by newbie LAC, -
- 1 follower
- 2 replies
- 329 views
In: public function parse( $value ) { /* CKEditor sometimes includes these for markers. HTMLPurifier will remove the style attribute so we need to strip them first */ $value = str_replace( '<span style="display: none;"> </span>', '', $value ); /* Clean HTML */ if ( $value and $this->htmlPurifier ) { $value = $this->htmlPurifier->purify( $value ); } /* BBCode, Profanity, etc. */ if ( $value ) { $value = $this->_parseContent( $value ); } /* Clean HTML */ if ( $value and $this->htmlPurifier ) { $value = $this->htmlPurifier->purify( $value ); } What's the reasoning by runni…
Last reply by All Astronauts, -
- 1 follower
- 2 replies
- 289 views
Could you let this API point ( https://invisioncommunity.com/developers/rest-api?endpoint=forums/topics/GETindex ) and similar take in multiple ids (TopicIDs in this case)? So you can make an API-request for multiple topic Ids at once.
Last reply by TSP, -
- 1 follower
- 8 replies
- 443 views
I love IPS and all it's features, but I prefer the capability of Wordpress from my blogging as I still can not wrap my head around Pages and there is little help to get to build what i want. So, I would like to have Wordpress comments use IPS so I get the member data from IPS with the comments. The question is if this is something I should build in IPS or in Wordpress using the IPS API?
Last reply by Jimi Wikman, -
- 2 followers
- 8 replies
- 570 views
Hello, $data = array(); foreach (range(1,100) as $r) { $data[] = array( 'field1' => 'value' . $r ); } $table = new \IPS\Helpers\Table\Custom( $data, \IPS\Http\Url::internal("app=app&module=module&controller=controller") ); $table->quickSearch = 'field1'; \IPS\Output::i()->output = (string) $table; Search by value11 This is also affect on built in functions E.g. SQL toolbox
Last reply by Sonya*, -
- 1 follower
- 16 replies
- 1.1k views
public static function moveCheck( $configuration, $oldConfiguration ) { foreach( array( 'bucket', 'bucket_path' ) as $field ) if ( $configuration[ $field ] !== $oldConfiguration[ $field ] ) { return TRUE; } return FALSE; } @Martin A. dragged me into this brief insanity, he accepted it before I did. It's still just so wrong.
Last reply by CodingJungle, -
- 1 reply
- 292 views
Hello, applications\core\data\defaults\extensions\MemberACPProfileTabs.txt class _Main extends \IPS\core\MemberACPProfile\MainTab This will create extension with correct file name and incorrect class name and a data in the applications\%app%\data\extensions.json will not be updated
Last reply by Daniel F, -
- 3 replies
- 353 views
@Martin A., after getting the low-down from me on this hitch, suggested this should be brought up to you guys before 4.5 is feature locked. I suspect this deadline may have already passed but this still would be nice to get fixed up. PROBLEM: Alternative storage handlers (e.g. non-Amazon S3 providers, Azure, etc.) when added via 3rd party applications will crash routine IPS upgrades. If you add a new file storage service (S3 alternative, whatever), such that it really is there, existing as a source file in your app, and correctly listed in core_file_storage (method field) and you hook onto \IPS\File\storageHandlers, you have no problems - everything works seamle…
Last reply by bfarber, -
- 2 followers
- 3 replies
- 327 views
{{if $comment->author()->inGroup( \IPS\Theme::i()->setting( 'aXenTopics_1' ) ) AND theme.aXenMFluent_Pro_1 == 1 AND theme.aXenMFluent_Pro_1_Topic == 1}}aXenTopicsProfile_1{{endif}} Hi, I would like to pull the setting value to the style bit and paste it into the if. I wanted to do something like this, but writing is not possible. \IPS\Theme::i()->setting( 'aXenTopics_1' ) What is wrong?
Last reply by aXenDev, -
- 2 replies
- 290 views
Any chance you can make the css a bit better for the upload form, it currently uses the ipsDataList elements and ipsDataItem_size8 and ipsDataItem_size5 etc so basically the minimum widths it will set will only work properly when using a full width ajax pop up or on a page, if we use the narrow ipsDialog it all goes crazy as the minimum widths the ipsDataItem_size_ use is more than double the size of the ipsDialog pop-up so it pushes everything together just changing the last one from ipsDataItem_size8 to ipsDataItem_size3 will fix that or add them both as ipsDataItem_size3
Last reply by bfarber, -
- 1 follower
- 2 replies
- 314 views
https://invisioncommunity.com/files/categories/ It is showing unapproved files latest file info on mobile (can’t see how it is on desktop):
Last reply by bfarber, -
- 2 followers
- 5 replies
- 418 views
We are in the process of translating IPS to German and other languages. While most of the calendar and system is translated, the little mini calendar selection seems to remain in English. So is the date format. For English it is mm/dd/yyyy, but for German it needs to be dd.mm.yyyy While it was possible to change the date format almost everywhere else, this date selection box remains in English (including the weekdays, which also have been translated). Where can we translate this? Thank you.
Last reply by Florian Greß, -
- 2 followers
- 26 replies
- 1k views
Seems about definite this is a bug, but I am testing on 4.4.2, so maybe it was already known about and fixed? When putting a Form\Select on a form and having its default be some value and submitting the form causes a $form->error, when the form is then shown again on the page with the error message above it, the select no longer has the default choice selected. And no, I did not change what was selected when submitting the form. I left it totally unchanged, so both the default AND my selected choice were the same, but on the next page with the form error it has a totally different choice selected by default (the first choice in the select). I confirmed b…
Last reply by bfarber, -
- 1 follower
- 4 replies
- 413 views
Hello IPS, So we're in the process of developing a Mobile App for our Community. But one of the big things we're having problems with is uploading attachments/images. In order to place them within a post. Is there an Endpoint we can use to upload to our Server? Or some work around that we can use in order to upload attachments? I know Tapatalk offers the ability to upload images. And with the announcement of the Native IPS Mobile App it seems we will be able to upload images. So I know it must be possible. Any help would be super appreciated. Thanks in advance!
Last reply by bfarber, -
- 1 follower
- 3 replies
- 309 views
Okay you use the content router extension to determine which nodes class can be used in clubs. however this is extremely limited if you are using Parent/Subnode's and the item class belongs to the subnode. I'm not entirely sure how to work around this, i can't easily change my $nodeClass prop in my item's class to point to the parentnode class and i'm not seeing an easy way to trick the system to kick it up to the parentNode. maybe adding in a method to the item's class that we can define club node ourselves or add in a clubContainer extension instead of using the content router. i mean i know parent/subnodes aren't common, but the ability is there and there is…
Last reply by CodingJungle, -
- 2 followers
- 1 reply
- 424 views
Hi, I create a theme for the forum and I would like to put copyright on it. More precisely, here: How can I add it?
Last reply by DawPi, -
- 4 replies
- 388 views
Hello, is there any chance of editing mapbox widget except those options provided in ACP? I want to change its upfront zoom - for now we have whole world while we want to change its zoom to Poland for example. https://www.audiostereo.pl/clubs/
Last reply by wegorz23, -
- 1 follower
- 1 reply
- 346 views
When running the support tool in ACP the guest caching is NOT cleared (since it now uses a different class \IPS\Output\Cache). This causes the old CSS/JS files to be deleted and regenerated but the guest-cached pages returned from the cache still use the old urls causing all pages to be broken. Right now the guests cache is cleared ONLY by a couple of tasks (cleanup.php + clearcache.php) but until those tasks run the pages are broken as I mentioned above.
Last reply by Daniel F, -
- 1 follower
- 4 replies
- 337 views
Hey, I need to find a condition for the element to appear when it receives a reaction. I tried the following code, but the item appears despite not receiving a reaction to the record. {{if \IPS\IPS::classUsesTrait( $record, 'IPS\Content\Reactable' ) and settings.reputation_enabled}} test {{endif}}
Last reply by newbie LAC, -
- 7 replies
- 313 views
I have used a subnode class for an app I already finished, but I am curious about other possibilities with them in the current app I am working on and have some questions. I haven't noticed IPS do any of this, so I am not sure if someone will remember offhand if these situations are possible without issues or not... 1. can a node class still allow subcategories of the same class if it also has a subnode class? Or is it either/or? (wondering because then it would probably need 2 totally separate add buttons in the acp). 2. could content items still be added? Would they have to be added into the subnode class? or they could be added to the main node class as …
Last reply by Midnight Modding, -
- 4 replies
- 282 views
Ever since the introduction of the SEO friendly pagination \IPS\Request::i()->page has been empty. In \IPS\cms\Databases\Dispatcher::run you extract this data, and adds it to the request object. You mind doing this for other pages too, not just pages that use the {database} template tag?
Last reply by bfarber, -
- 1 follower
- 1 reply
- 414 views
Hello, I have 2 login handlers with remote database connection. In the MySQL Database #2 I have a user Test When I check the name I get FALSE \IPS\Login::usernameIsInUse('Test'); Reason \system\Login\Handler\ExternalDatabase\ExternalDatabase.php You use the same identifier (external_login) for all connections return \IPS\Db::i( 'external_login', $this->settings ); the first of the list is used Solution Change 'external_login' to 'external_login_' . $this->id
Last reply by bfarber,