Jump to content



  • Posts

  • Joined

  • Last visited

  • Days Won


 Content Type 



IPS4 Providers

Release Notes

IPS4 Guides

IPS4 Developer Documentation

Invision Community Blog



Everything posted by MrFisc

  1. Sorry you’re having this issue. Send me a PM and I can try to help you resolve it.
  2. I sent you a DM, sorry for the trouble
  3. This was corrected in version 3.0.2 which is now live on the marketplace. If you have further issues I encourage you to use the GitHub issue tracker as I'm much more active there (it's also publicly accessible).
  4. Thanks for letting me know. Can you send me a PM so I can assist further?
  5. I figured it out. My confusion was around the `csrfProtected` property. I needed to add it to any Controller that uses the Node due to the nodes reliance on an `\IPS\Helpers\Form`.
  6. I've read that too. It's still totally unclear what I need to do with my node subclass. Do I just add the `public static $csrfProtected = TRUE;` to the top of the class? Do i need to add `\IPS\Session::i()->csrfCheck();` to the `saveForm` function? But that doesn't make any sense, since it's using the `\IPS\Helpers\Form` class and not creating my own URL (so i can't use `->csrf()` on any URLs). I assume it's calling `$form->values()` before calling `saveForm`?
  7. I use `\IPS\Node\Model` to manage some things in my application, yet any time I save the form I get a CSRF error. I looked into the Security Considerations documentation and it only mentions that calling `$form->values()` will automatically handle CSRF, but it also only explains how to use CSRF for URLs, which aren't used with `\IPS\Node\Model` subclasses. The nodes example also doesn't mention anything about CSRF.
  8. I will take a look at this on my end, thanks for the heads up. I'll shoot you a PM when the issue is resolved.
  9. I realized i made a mistake after uploading a new version of my application that I need to correct. How can i cancel the "review" process so that i can upload the proper file?
  10. All of the following testing was done on a production style ICS installation without `IN_DEV=true` or the developer toolset installed. It was just a naked ICS 4.5 installation with only my application installed as a third party application. The hook in question: //<?php /* To prevent PHP errors (extending class does not exist) revealing path */ if ( !defined( '\IPS\SUITE_UNIQUE_KEY' ) ) { exit; } class ts3integration_hook_AppLogo extends _HOOK_CLASS_ { /* !Hook Data - DO NOT REMOVE */ public static function hookData() { return array_merge_recursive( array ( 'appmenu' => array ( 0 => array ( 'selector' => '#acpAppList', 'type' => 'add_before', 'content' => '', ), ), ), parent::hookData() ); } /* End Hook Data */ } Note that it has no content in it. The parser error I see is: How I verified it was my hook When i include this hook in my project, compile my project and install it on a fresh installation of IPS, I get a 500 error. After a lot of debugging i've confirmed it is this hook that's causing the issue by filtering it out in the \IPS\Theme PHP file (./system/Theme/Theme.php). if ($data['class'] != 'ts3integration_hook_AppLogo') { $class = "IPS\\Theme\\" . $data['class'] . "_tmp"; $templateHooks = array_merge_recursive( $templateHooks, $class::hookData() ); } When I wrap that code in an if statement filtering out my hook, the page loads just fine. How I debugged further I found the relevant code in Theme.php and updated it to print a lot of information. try { if ( @eval( $compiledGroup ) === FALSE ) { throw new \IPS\Theme\TemplateException( 'Invalid Template', 1000, NULL, array( 'group' => $group, 'app' => $app, 'location' => $location ), $this ); } } catch ( \ParseError $e ) { header('Content-Type: text/plain;'); echo $app . '/' . $location . '/' . $group . PHP_EOL; print_r($e); echo $compiledGroup; exit; } Which resulted in this core/admin/global ParseError Object ( [message:protected] => syntax error, unexpected 'endforeach' (T_ENDFOREACH), expecting elseif (T_ELSEIF) or else (T_ELSE) or endif (T_ENDIF) [string:Error:private] => [code:protected] => 0 [file:protected] => /var/www/html/system/Theme/Theme.php(854) : eval()'d code [line:protected] => 238 [trace:Error:private] => Array ( [0] => Array ( [file] => /var/www/html/system/Dispatcher/Admin.php [line] => 120 [function] => getTemplate [class] => IPS\_Theme [type] => -> ) [1] => Array ( [file] => /var/www/html/system/Dispatcher/Dispatcher.php [line] => 109 [function] => init [class] => IPS\Dispatcher\_Admin [type] => -> ) [2] => Array ( [file] => /var/www/html/admin/index.php [line] => 14 [function] => i [class] => IPS\_Dispatcher [type] => :: ) ) [previous:Error:private] => ) // REMOVED LONG $compiledGroup OUTPUT The $compiledGroup output was too long to display here, however I did discover which line was causing the issue by running it through a PHP syntax validator and found the unexpected `endforeach;`. You can see it on the last line of this block: if ( $appAndModule . "_" . $key === $currentItem ): $return .= <<<CONTENT > </ul> </li> CONTENT; endforeach; Conclusion I don't understand how my hook above causes this issue. Especially since the unexpected endforeach; has nothing to do with my hook. To me this seems like a bug in ICS and not an issue with my application, but I can't tell for certain.
  11. What's New in Version 3.0.0 Updated for Invision Community 4.5 Please report any issues you encounter on the official bug report GitHub Repository https://github.com/nathan-fiscaletti/TeamSpeak-Integration-Issue-Tracker/
  12. What's New in Version 2.0.9 Change Log: Added support for clubs in Group Association
  13. What's New in Version 2.0.8 Change Log: Added a new warning message to the snapshot section of the application Fixed an issue with group association forms not submitting
  14. What's New in Version 2.0.7 Change Log: Fixed an issue with Tasks getting locked Please note that you will need to update the intervals for your tasks in Profile Settings -> Run as Task -> Cache For and in Server Groups -> Auto Sync -> Run as Task -> Task Frequency Fixes SyncTeamSpeakInBackground returned a NULL offset bug
  15. Make sure you have the IP of your forums whitelisted in your query admin IP whitelist on your teamspeak server. If you are using cloud hosting for your IPS installation, see the relevant section of the application documentation on the store listing. Send me a DM if you need any further assistance.
  16. Application is ON SALE until September 30th!
  17. Added a new issue tracker for reporting bugs and requesting new features: https://github.com/nathan-fiscaletti/TeamSpeak-Integration-Issue-Tracker/
  18. I run devops for a community, the purchaser would be @GreatJackal
  19. No no, we want it. We just want it without the memory exhaustion lol.
  20. It looks like it's for sending out notifications for events that are happening that day to those that have RSVPd to them.
  21. @Adriano Faria any idea why the rsvpevents task might be exhausting memory? We're getting this when we try to run it manually Fatal error: Allowed memory size of 536870912 bytes exhausted (tried to allocate 16384 bytes) in /home/dmginc71/public_html/system/Db/Select.php on line 378 And it seems to fail every time it tries to run automatically. We had around 30k events in our database and I thought that might be a part of the problem so i purged around 25k of them, but we still seem to get the same problem. Edit: After doing some debugging of my own, it seems to be caused by this line although I could be wrong. $timeStamp = $event->_start_date->getTimestamp();
  22. Send me a PM and I will see what I can do!
  23. I have lowered the price of this application to $20 | +$10/6mo renewal. This price will remain for the duration of the applications beta phase while features are still being implemented. Once the application leaves its beta phase, the price will go back up. As an early adopter you are entitled to the beta phase price point for the duration of your license.
  24. This is a feature coming soon, although currently it does not integrate with PMs. I'm still deliberating in my head how I want to do that. However, one of the core concepts that came to mind when I initially had the idea for this application was integration into private messages. (That along with automatically pulling the theme for grapply from your existing IPS theme). So, rest assured some time in the near future I fully intend to implement this feature.
  • Create New...

Important Information

We use technologies, such as cookies, to customise content and advertising, to provide social media features and to analyse traffic to the site. We also share information about your use of our site with our trusted social media, advertising and analytics partners. See more about cookies and our Privacy Policy