Developer Connection
Use this forum to interact with our development team on technical issues, suggestions and official best practices advice.
1,736 topics in this forum
-
- 1 follower
- 1 reply
- 368 views
Regarding this: https://invisioncommunity.com/forums/topic/430442-links-directory/?do=findComment&comment=2770214 The user doesn't has comments enabled in the app but the IPS\core\extensions\core\Sitemap\Content::generateSitemap() rely in the comment date: $data = array( 'url' => $node->url(), 'lastmod' => $node->getLastCommentTime() ); The getLastCommentTime() in my node model returns the last added record: public function getLastCommentTime() { return $this->last_link_date ? \IPS\DateTime::ts( $this->last_link_date ) : NULL; } At least, it should, as it has data. Below in generateSitempa() still has: $dat…
Last reply by Daniel F, -
- 1 reply
- 307 views
Can you please increase the plugin_name length in the form? Currently it has max length 32 only! The column is varchar(255). Increase to 50 or 64. Plugin_location is 32 and that's fine but 32 characters for the name is too little!
Last reply by Daniel F, -
- 1 follower
- 6 replies
- 432 views
I have a forum running IP.Board 3.4.x. As I've had problems with users abusing the edit feature in the past (rage quitting and editing away thousands of posts, attacking other users in posts then editing the post before mods see it, etc.), so I've had to limit editing to a short period of time after the post has been made. However, it is useful for people to be able to edit the first post in a thread in many circumstances, and it's useful in some forums to allow editing of all posts, but only in those specific forums. For instance, in Marketplace-related forums it's very useful for the topic author to be able to edit their initial post as they sell things or add new it…
Last reply by AtariAge, -
- 2 followers
- 5 replies
- 464 views
Hey guys, I have several pages that I made in the Pages application where I have some general information etc. But it's only viewable in the standard Dutch language of the website. I have English translations for every page but how can I make it so that whenever a user is using the English language the page is showing an English text. The only thing I can change is the name of the page based on language. But I need to change the content. Anyone knows how to do this? Kind regards
Last reply by bfarber, -
- 2 followers
- 2 replies
- 308 views
Hello, I asked this already in the Development Assistance community but I just have a hard time believing that you are developing software without the ability to set a breakpoint within your hook in an IDE, so I thought I would run it by you guys too just to be sure. I am using VS Code to write & debug the software using xampp 7.2 and xdebug. I notice that when I step through the code, I can set breakpoints in any of the standard files, but when it gets to my hook, I cannot set breakpoints. VS Code opens up the eval section in "eval.php" and I can see the code for my hook and I can step over, step into any of the code. However, if I try to set a breakpoint …
Last reply by Aiwa, -
- 1 follower
- 16 replies
- 428 views
I'm not sure I already asked this so here it goes again. There are some mod permissions that I explicitly disallow on my content item: /** * Can pin? * * @param \IPS\Member|NULL $member The member to check for (NULL for currently logged in member) * @return bool */ public function canPin( $member=NULL ) { return FALSE; } /** * Can unpin? * * @param \IPS\Member|NULL $member The member to check for (NULL for currently logged in member) * @return bool */ public function canUnpin( $member=NULL ) { return FALSE; } /** * Can feature? * * @param \IPS\Member|NULL $member The member to check for (NULL for currently logged in member…
Last reply by Adriano Faria, -
- 1 follower
- 4 replies
- 330 views
While implementing this code for getting secondary groups, my localhost instance through this whoops exception: Is there something else that I need to do to get this line to work //\IPS\Output::i()->error( 'node_error', 'YOUR_ERROR_CODE', 404, '' ); ? It seems it's looking for a template, but a directory doesn't exist?
Last reply by JimBurnett, -
- 1 follower
- 2 replies
- 440 views
Hi, I'm wondering how can I get secondary groups for exact user and show their names. Any ideas how?
Last reply by JimBurnett, -
- 1 follower
- 11 replies
- 350 views
I'm looking for a way to add custom embedded content when you paste a link matching specific criteria into the WYSIWYG editor. Similar to how when you paste a YouTube URL it turns it into an embedded video, or how when you paste a forum thread's URL, it converts it into the embedded version thereof. But I want to make a plugin that does it with a custom URL / embed code.
Last reply by MrFisc, -
- 1 follower
- 2 replies
- 326 views
Quick question, ya'll know which is run first in the upgrade routine? The queries.json file or an upgrade.php file if you have one? In my next version, i'll be adding a table in the queries.json file, then hoping to insert an entry in the upgrade.php file. Is that kosher?
Last reply by Jon Erickson, -
- 1 follower
- 8 replies
- 424 views
Hello, is there a good example or tutorial for how a custom application can access settings? I created an admin module for my application ("em") in applications\em\modules\admin\em\settings.php. When I navigate to it on the /admin/ dashboard, the page will load, but I get an exception when I try to save. Thanks in advance for any help. Here's the exception: Here is settings.php. <?php namespace IPS\em\modules\admin\em; /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { header( ( isset( $_SERVER['SERVER_PROTOCOL'] ) …
Last reply by JimBurnett, -
- 2 followers
- 5 replies
- 372 views
My IPS suite runs on app.mydomain.com I have a front site that runs on mydomain.com I'm trying to use SSO to validate if the user who is on mydomain.com is logged into IPS (app.mydomain.com). I'm using this code: /* Require the init.php file from the Community Suite root directory */ require '/path/to/suite/init.php'; /* Initiate the session to verify who this user is */ \IPS\Session\Front::i(); print_r(\IPS\Member::loggedIn()); But the print_r only shows stdClass Object ( [timezone] => Europe/London ) The front site has access to the IPS cookies as I am able to run this code echo $_COOKIE['ips4_IPSSessionFront']; And it displays …
Last reply by bfarber, -
- 2 followers
- 0 replies
- 310 views
I'm back to make another totally unreasonable request! 😛 as you might know, some of us dev's use dirty taboo things called IDE's, and love their totally useless features like automatic imports, autocomplete/suggestions/etc. the issue i have and would love to see improved, is a slight tweak to the hook system, to allow me to better generate proxy files. currently you use _HOOK_CLASS_, which is great cause it doesn't toss errors up in the IDE, however, they all get this, so there is no easy way to generate a proxy file for _HOOK_CLASS_. I can easily generate them, but the problem becomes my IDE complains about multiple definitions and then throws its hands up in …
Last reply by CodingJungle, -
- 1 follower
- 16 replies
- 637 views
I have a stupidly simple code hook running on \IPS\Dispatcher\Front: /** * Init * * @return void */ public function init() { parent::init(); if( !\IPS\Request::i()->isAjax() && $this->application->directory != 'audit' ) { \IPS\audit\Logs\Views::logPageView(); } } That is literally the entire hook. But it's not doing anything. Flat out not working. I added logging like this: /** * Init * * @return void */ public function init() { \IPS\Log::log( 'I AM HERE', 'aaa' ); parent::init(); \IPS\Log::log( 'after init', 'aaa' );…
Last reply by HeadStand, -
- 2 followers
- 5 replies
- 326 views
Is there a hook for new activity? I would like to write a plugin that fires after an activity happend.
Last reply by bfarber, -
- 32 replies
- 956 views
When testing my upgrader from the final 3.x version to the first 4.x version of my app, my queries file was set to rename table tournaments_abc to tournaments_xyz and then later drop tournaments_xyz, as my plans changed. I did the drop with the NEW table name, but it gave an error saying the previous name's file doesn't exist: './xxxx/ibf_tournaments_xyz.frm As a workaround, I just got rid of the renames, since it was to be dropped later in the file, anyway. It then said another file didn't exist, where it was a rename and then updating of columns in the table. As a workaround for this bug, I moved the column updates to before the rename and put the old table …
Last reply by Midnight Modding, -
- 5 replies
- 370 views
Hello fellow developers, i've looked up Developer guide on Update Check URL but still, don't know how to use it, any idea? I've set up file called "updateCheck.php" and it's content is: <?php switch($_GET['plugin']) { case 'plugin_unique_id(plugins folder name)': return '{ "version": "2.0.0", "longversion": 20000, "released": 1423841958, "updateurl": "http://www.example.com/myapp/download" }'; break; } and i've put this link in settings: "https://example.url/cstm/plugins/updateCheck.php?plugin=plugin_unique_id" And still, ACP isn't showing newer version, even though it should.
Last reply by Jon Erickson, -
- 3 replies
- 437 views
If the method is commented to have @apiclientonly in the docblock, instead of denying only OAuth Access Token use, it denies any use other than API key. This is directly counter the documentation: https://invisioncommunity.com/developers/rest-api?endpoint=core/members/POSTindex On the surface, the problem seems to be that such methods are not actually available to be granted permissions in the scopes selection form in the ACP for Oauth Client Credentials. I can't imagine this is intended given the documentation and code. I would appreciate it if this could be looked into, thank you. It is vastly preferred to use the security superior oauth for such work.
Last reply by bfarber, -
- 1 follower
- 6 replies
- 375 views
Do the MemberSync extension run when someone creates a member via Rest API? Tks.
Last reply by bfarber, -
- 1 follower
- 17 replies
- 522 views
I have another complicated situation. A client has someone else customize some of my templates. I suggested either designer mode or even editing my dev phtml files directly. They, however, just edited the templates normally in the acp for his custom skin… Even though it's not really on me, I'm still trying to help sort it out and wondering about the process for being able to use it that way. He did the following after they were finished: uninstalled my app reinstalled it customizations then didn't show anymore so he re-imported the customized skin then the custom skin was there twice, but every time one was uninstalled, the customizations disa…
Last reply by Midnight Modding, -
- 1 follower
- 13 replies
- 663 views
The following line from Search/Results.php... return static::current(); is causing an error on "some" member profiles. it's hard for me to tell if it's my app causing it, since the error is so general (due to Search not having our own files in the trace). Error: Class name must be a valid object or a string (0) Any idea what on my end could lead to that? Could it be related to my content item where a dummy row is added on install and that one row is always used as the parent? Search has worked fine elsewhere. This only happens on some members' profiles, not all. I posted about this same issue a while back, but I can't find it and I thought I fixed …
Last reply by Midnight Modding, -
- 1 follower
- 1 reply
- 312 views
Is it possible to intercept custom profile fields on account registration in php with a hook?
Last reply by Aiwa, -
- 1 follower
- 3 replies
- 528 views
I have been trying to understand the various classes available with this product and I've recently stumbled across settings. Where is the data accessed from?
Last reply by Aetherdan, -
- 2 followers
- 18 replies
- 737 views
Hi, It seems that requiresBillingAddress() in IPS\nexus\extensions\nexus\Item\Subscription simply always returns true. Is there a specific reason for this that I may be overlooking? If not, perhaps it's an idea to make it optional just like it is with other non-physical products? I suppose I could hook the function to change this behaviour for the time being, but I feel like this could benefit other people as well.
Last reply by hippydonna, -
- 7 replies
- 359 views
For some reason after running my upgrader for my app to go from 3.x to 4.x it isn't showing the app link in the root row of links. The app is enabled, the module is enabled, all groups have permission to access them, and I did the code in Application.php and in the FrontNavigation extension. Typing the url to the app directly in the address bar has the app work fine, it's just the link missing. I don't think it could be a missing lang bit, as it has worked before and I double checked the lang bit's existence. Not only that, but it worked for the client installing it fresh on his test site. So I clearly did the code properly for it to show on a fresh install, any…
Last reply by Midnight Modding,