Jump to content

MrFisc

Friends
  • Posts

    184
  • Joined

  • Last visited

  • Days Won

    1

MrFisc last won the day on June 17 2019

MrFisc had the most liked content!

6 Followers

Contact Methods

Profile Information

  • Gender
    Male

Recent Profile Visitors

3,511 profile views

MrFisc's Achievements

  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.
×
×
  • Create New...