KQMATH / moodle-mod_capquiz

:mushroom: Computer adaptive practice activity module for Moodle
https://moodle.org/plugins/mod_capquiz
GNU General Public License v3.0
4 stars 5 forks source link

Cannot open new quiz #77

Closed hgeorgsch closed 6 years ago

hgeorgsch commented 6 years ago

Creating a new quiz, I cannot enter it. The error is Exception - syntax error, unexpected '?' This occurs on commit 5b73038df8302ce9f9d9a7468b48c62cbddbc18c Dated 28 September 2018 (last commit on development in September. I get the same error trying to open an old quiz

sebastsg commented 6 years ago

Did you try to reinstall the plugin? It works fine on my end. If reinstalling doesn't solve this, please give more details.

andstor commented 6 years ago

It also works on my end.

hgeorgsch commented 6 years ago

Reinstalled. I still have the problem. Stack trace: line 177 of /mod/capquiz/classes/capquiz.php: ParseError thrown line ? of unknownfile: call to core_component::classloader() line 33 of /mod/capquiz/view.php: call to spl_autoload_call() There is indeed a question mark prefixing the return type on line 177. Is this a new feature in some version of php?

sebastsg commented 6 years ago

Oh, you need to update PHP to 7.1 or 7.2. I think it is a nice feature, so I'm unsure if we should support 7.0.

hgeorgsch commented 6 years ago

I think we should. Having to upgrade packages beyond what's included in the distro is a real pain in the backside. Would it be hard to avoid the question mark and revert to PHP 7.0?

hgeorgsch commented 6 years ago

Checking a little bit, it seems that PHP 7.2 is supported in Ubuntu 18.04 LTS and in Debian buster due to be released March. This means that it will probably not be a problem for anyone six months down the line. In the meantime, I am still annoyed, since upgrading the OS on half a dozen experimental boxen is hard work, and the OS being a test release does not help ... If we cannot revert to 7.0, the dependency must be declared appropriately.

sebastsg commented 6 years ago

Commented out the question marks, so it can be easily added in the future by replacing all ": /?/" with ": ?".