MDL-57580 mod_assign: Fix the incorrect type of some input parameters
authorDavid Mudrák <david@moodle.com>
Thu, 5 Jan 2017 12:20:59 +0000 (13:20 +0100)
committerDavid Monllao <david.monllao@gmail.com>
Thu, 5 Jan 2017 16:39:36 +0000 (17:39 +0100)
commit82a8d0d21d335b26751a19a839d8161be679a397
tree20595130c62b07cbe57011d0eb0581d89f0abb2c
parent7716be5ae84eb8ad96927d2f573a55c6f52b388f
MDL-57580 mod_assign: Fix the incorrect type of some input parameters

The PARAM_TEXT has been misused in certain cases here. The 'action'
parameter seems to always be alphabetic, with values like
savesubmission, editsubmission and others as handled in assign::view().

Fixing the action handling fixes the reported XSS issue. While working
on it, I spotted two more places where PARAM_TEXT does not seem
appropriate. I include changes for them too, even if they are no
strictly related to the reported bug and there are no known ways to
abuse it.

* The 'plugin' looks like PARAM_PLUGIN and is even declared as such in
  some other parts of the assignment code (such as feedback forms).

* The 'workflowstate' is one of the ASSIGN_MARKING_WORKFLOW_STATE
  constants and is supposed to be alpha in external function input
  parameters handling, too.
mod/assign/externallib.php
mod/assign/locallib.php
mod/assign/view.php