[ Index ] |
PHP Cross Reference of BuddyPress |
[Summary view] [Print] [Text view]
1 // utility functions 2 function convertEntities(o) { 3 var c, v; 4 c = function(s) { 5 if (/&[^;]+;/.test(s)) { 6 var e = document.createElement("div"); 7 e.innerHTML = s; 8 return !e.firstChild ? s : e.firstChild.nodeValue; 9 } 10 return s; 11 } 12 13 if ( typeof o === 'string' ) { 14 return c(o); 15 } else if ( typeof o === 'object' ) { 16 for (v in o) { 17 if ( typeof o[v] === 'string' ) { 18 o[v] = c(o[v]); 19 } 20 } 21 } 22 return o; 23 } 24 25 var wpCookies = { 26 // The following functions are from Cookie.js class in TinyMCE, Moxiecode, used under LGPL. 27 28 each : function(o, cb, s) { 29 var n, l; 30 31 if (!o) 32 return 0; 33 34 s = s || o; 35 36 if (typeof(o.length) != 'undefined') { 37 for (n=0, l = o.length; n<l; n++) { 38 if (cb.call(s, o[n], n, o) === false) 39 return 0; 40 } 41 } else { 42 for (n in o) { 43 if (o.hasOwnProperty(n)) { 44 if (cb.call(s, o[n], n, o) === false) { 45 return 0; 46 } 47 } 48 } 49 } 50 return 1; 51 }, 52 53 getHash : function(n) { 54 var v = this.get(n), h; 55 56 if (v) { 57 this.each(v.split('&'), function(v) { 58 v = v.split('='); 59 h = h || {}; 60 h[v[0]] = v[1]; 61 }); 62 } 63 return h; 64 }, 65 66 setHash : function(n, v, e, p, d, s) { 67 var o = ''; 68 69 this.each(v, function(v, k) { 70 o += (!o ? '' : '&') + k + '=' + v; 71 }); 72 73 this.set(n, o, e, p, d, s); 74 }, 75 76 get : function(n) { 77 var c = document.cookie, e, p = n + "=", b; 78 79 if (!c) 80 return; 81 82 b = c.indexOf("; " + p); 83 84 if (b == -1) { 85 b = c.indexOf(p); 86 87 if (b != 0) 88 return null; 89 90 } else { 91 b += 2; 92 } 93 94 e = c.indexOf(";", b); 95 96 if (e == -1) 97 e = c.length; 98 99 return decodeURIComponent(c.substring(b + p.length, e)); 100 }, 101 102 set : function(n, v, e, p, d, s) { 103 document.cookie = n + "=" + encodeURIComponent(v) + 104 ((e) ? "; expires=" + e.toGMTString() : "") + 105 ((p) ? "; path=" + p : "") + 106 ((d) ? "; domain=" + d : "") + 107 ((s) ? "; secure" : ""); 108 }, 109 110 remove : function(n, p) { 111 var d = new Date(); 112 113 d.setTime(d.getTime() - 1000); 114 115 this.set(n, '', d, p, d); 116 } 117 }; 118 119 // Returns the value as string. Second arg or empty string is returned when value is not set. 120 function getUserSetting( name, def ) { 121 var o = getAllUserSettings(); 122 123 if ( o.hasOwnProperty(name) ) 124 return o[name]; 125 126 if ( typeof def != 'undefined' ) 127 return def; 128 129 return ''; 130 } 131 132 // Both name and value must be only ASCII letters, numbers or underscore 133 // and the shorter, the better (cookies can store maximum 4KB). Not suitable to store text. 134 function setUserSetting( name, value, del ) { 135 if ( 'object' !== typeof userSettings ) 136 return false; 137 138 var c = 'bb-user-settings-' + userSettings.uid, o = wpCookies.getHash(c) || {}, d = new Date(), p, 139 n = name.toString().replace(/[^A-Za-z0-9_]/, ''), v = value.toString().replace(/[^A-Za-z0-9_]/, ''); 140 141 if ( del ) { 142 delete o[n]; 143 } else { 144 o[n] = v; 145 } 146 147 d.setTime( d.getTime() + 31536000000 ); 148 p = userSettings.url; 149 150 wpCookies.setHash(c, o, d, p); 151 wpCookies.set('bb-user-settings-time-'+userSettings.uid, userSettings.time, d, p); 152 153 return name; 154 } 155 156 function deleteUserSetting( name ) { 157 return setUserSetting( name, '', 1 ); 158 } 159 160 // Returns all settings as js object. 161 function getAllUserSettings() { 162 if ( 'object' !== typeof userSettings ) 163 return {}; 164 165 return wpCookies.getHash('bb-user-settings-' + userSettings.uid) || {}; 166 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Dec 7 01:01:35 2017 | Cross-referenced by PHPXref 0.7.1 |