diff options
Diffstat (limited to 'js/lib/session.js')
| -rw-r--r-- | js/lib/session.js | 47 |
1 files changed, 27 insertions, 20 deletions
diff --git a/js/lib/session.js b/js/lib/session.js index 48821a260..a8d52733c 100644 --- a/js/lib/session.js +++ b/js/lib/session.js @@ -1,5 +1,5 @@ /** - * @todo comment + * Provides session methods. */ elgg.provide('elgg.session'); @@ -8,14 +8,15 @@ elgg.provide('elgg.session'); * @param {string} name * @param {string} value * @param {Object} options + * * {number|Date} options[expires] * {string} options[path] * {string} options[domain] * {boolean} options[secure] * - * @return {string} The value of the cookie, if only name is specified + * @return {string|undefined} The value of the cookie, if only name is specified. Undefined if no value set */ -elgg.session.cookie = function (name, value, options) { +elgg.session.cookie = function(name, value, options) { var cookies = [], cookie = [], i = 0, date, valid = true; //elgg.session.cookie() @@ -46,21 +47,19 @@ elgg.session.cookie = function (name, value, options) { } cookies.push(name + '=' + value); - - if (elgg.isNumber(options.expires)) { - if (elgg.isNumber(options.expires)) { - date = new Date(); - date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); - } else if (options.expires.toUTCString) { - date = options.expires; - } else { - valid = false; - } - - if (valid) { - cookies.push('expires=' + date.toUTCString()); - } - } + + if (options.expires) { + if (elgg.isNumber(options.expires)) { + date = new Date(); + date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); + } else if (options.expires.toUTCString) { + date = options.expires; + } + + if (date) { + cookies.push('expires=' + date.toUTCString()); + } + } // CAUTION: Needed to parenthesize options.path and options.domain // in the following expressions, otherwise they evaluate to undefined @@ -81,6 +80,8 @@ elgg.session.cookie = function (name, value, options) { }; /** + * Returns the object of the user logged in. + * * @return {ElggUser} The logged in user */ elgg.get_logged_in_user_entity = function() { @@ -88,6 +89,8 @@ elgg.get_logged_in_user_entity = function() { }; /** + * Returns the GUID of the logged in user or 0. + * * @return {number} The GUID of the logged in user */ elgg.get_logged_in_user_guid = function() { @@ -96,16 +99,20 @@ elgg.get_logged_in_user_guid = function() { }; /** + * Returns if a user is logged in. + * * @return {boolean} Whether there is a user logged in */ -elgg.elgg_is_logged_in = function() { +elgg.is_logged_in = function() { return (elgg.get_logged_in_user_entity() instanceof elgg.ElggUser); }; /** + * Returns if the currently logged in user is an admin. + * * @return {boolean} Whether there is an admin logged in */ -elgg.elgg_is_admin_logged_in = function() { +elgg.is_admin_logged_in = function() { var user = elgg.get_logged_in_user_entity(); return (user instanceof elgg.ElggUser) && user.isAdmin(); }; |
