Preference API: Difference between revisions
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
{{Moodle 2.0}} | |||
==Preference API database table== | ==Preference API database table== | ||
Revision as of 06:39, 13 January 2012
Moodle 2.0
Preference API database table
Field | Type | Default | Info |
---|---|---|---|
id | unsigned int(10) | auto-incrementing | The unique ID for this preference. |
userid | unsigned int(10) | The user that the preference belongs to | |
name | varchar(255) | The name of the preference | |
value | varchar(255) | The value of the preference |
Preference API overview
The Preference API has been implemented in lib/moodlelib.php. It's used for the storage and retrieval of user preferences. These preferences are stored in the database for users with an account, however for guests or people who are not logged in the preferences are stored in a PHP Session. All of these functions operate on the current user by default, however you can specify the user you wish to operate on by passing a user ID or a moodle user object to the $user parameter.
get_user_preferences($name = null, $default = null, $user = null)
This function can be used to fetch the value of a requested (via $name) preference, or if it doesn't exist the value given in the $default parameter will be returned. If you do not specify a $name then all preferences will be returned.
set_user_preference($name, $value, $user = null)
This function can be used to set the value of a preference named $name.
set_user_preferences(array $prefarray, $user = null)
This function takes an array called $prefarray. For each element in the array this function passes the keys and values of each element as the $name and $value parameters (respectively) in calls to set_user_preferences().
unset_user_preference($name, $user = null)
This deletes the requested preference, specified by the $name parameter.
Preference API Usage
Example usage
// Set a preference and then retrieve it
set_user_preference('foo_nameformat', 'long');
get_user_preferences('foo_nameformat') // Returns the string - "long"
// Set another preference and then retrieve all preferences
set_user_preference('foo_showavatars', 'no');
get_user_preferences(); /*
Returns array(
foo_nameformat => "long"
foo_showavatars => "no"
)
- /
// Add an array of preferences and change foo_nameformat to short
$listOfPreferences = array('foo_displaynum'=>'100', 'foo_nameformat'=>'short');
set_user_preferences($listOfPreferences);
get_user_preferences(); /*
Returns array(
foo_nameformat => "short"
foo_showavatars => "no"
foo_displaynum => "100"
)
- /
// Delete a preference
unset_user_preference('foo_showavatars');
get_user_preferences(); /*
Returns array(
foo_nameformat => "short"
foo_displaynum => "yes"
)
- /