Issue Details (XML | Word | Printable)

Key: MDL-17084
Type: Sub-task Sub-task
Status: Resolved Resolved
Resolution: Fixed
Priority: Minor Minor
Assignee: Tim Hunt
Reporter: Tim Hunt
Votes: 0
Watchers: 1
Operations

If you were logged in you would be able to see more operations.
Moodle
MDL-16583

Allow JavaScript to set user preferences

Created: 31/Oct/08 04:29 PM   Updated: 31/Oct/08 05:25 PM
Component/s: AJAX
Affects Version/s: 2.0
Fix Version/s: 2.0

Participants: Tim Hunt
Security Level: None


 Description  « Hide
Sometimes JavaScript will need to set user preferences, for example to remember whether the user likes certain things collapsed or expanded. To this end, I propose a new script:

.../lib/ajax/setuserpref.php?sesskey=XXXX&pref=[prefname]&value=[value]

To avoid security problems, this scrip will only process an update if you have previously called a PHP function

user_preference_allow_ajax_update($name, PARAM_XXX);

This sets $USER->ajax_updatable_user_prefs[$name] = PARAM_XXX;

and sesskey will only update user preferences where the appropriate key is set in the session, and it will clean the value as specified there before doing the update.

 All   Comments   Change History   Version Control      Sort Order: Ascending order - Click to sort in descending order
Tim Hunt added a comment - 31/Oct/08 04:30 PM
I will also write a JavaScript function set_user_preference(name, value) in javascript_static.js.

Tim Hunt added a comment - 31/Oct/08 05:25 PM
Petr, I would be grateful if, when you have a moment, you could give this a security review. Thanks.