Jump to content

MrFisc

Friends
  • Joined

  • Last visited

  1. borisAL started following MrFisc
  2. MrFisc replied to MrFisc's post in a topic in Marketplace
    Sorry you’re having this issue. Send me a PM and I can try to help you resolve it.
  3. MrFisc replied to MrFisc's post in a topic in Marketplace
    I sent you a DM, sorry for the trouble
  4. MrFisc replied to MrFisc's post in a topic in Marketplace
    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).
  5. MrFisc replied to MrFisc's post in a topic in Marketplace
    Thanks for letting me know. Can you send me a PM so I can assist further?
  6. 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`.
  7. 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`?
  8. 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.
  9. MrFisc replied to MrFisc's post in a topic in Marketplace
    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.
  10. 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?
  11. 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.
  12. MrFisc replied to MrFisc's post in a topic in Marketplace
    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/
  13. MrFisc replied to MrFisc's post in a topic in Marketplace
    What's New in Version 2.0.9 Change Log: Added support for clubs in Group Association
  14. MrFisc replied to MrFisc's post in a topic in Marketplace
    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
  15. MrFisc replied to MrFisc's post in a topic in Marketplace
    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
  16. MrFisc replied to MrFisc's post in a topic in Marketplace
    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.