| [ Index ] |
PHP Cross Reference of DokuWiki |
[Summary view] [Print] [Text view]
1 /** 2 * Differrent helper functions 3 * 4 * @author Ilya Lebedev <ilya@lebedev.net> 5 * @license LGPL 6 */ 7 //----------------------------------------------------------------------------- 8 // Variable/property checks 9 //----------------------------------------------------------------------------- 10 /** 11 * Checks if property is undefined 12 * 13 * @param {Object} prop value to check 14 * @return {Boolean} true if matched 15 * @scope public 16 */ 17 function isUndefined (prop /* :Object */) /* :Boolean */ { 18 return (typeof prop == 'undefined'); 19 } 20 /** 21 * Checks if property is function 22 * 23 * @param {Object} prop value to check 24 * @return {Boolean} true if matched 25 * @scope public 26 */ 27 function isFunction (prop /* :Object */) /* :Boolean */ { 28 return (typeof prop == 'function'); 29 } 30 /** 31 * Checks if property is string 32 * 33 * @param {Object} prop value to check 34 * @return {Boolean} true if matched 35 * @scope public 36 */ 37 function isString (prop /* :Object */) /* :Boolean */ { 38 return (typeof prop == 'string'); 39 } 40 /** 41 * Checks if property is number 42 * 43 * @param {Object} prop value to check 44 * @return {Boolean} true if matched 45 * @scope public 46 */ 47 function isNumber (prop /* :Object */) /* :Boolean */ { 48 return (typeof prop == 'number'); 49 } 50 /** 51 * Checks if property is the calculable number 52 * 53 * @param {Object} prop value to check 54 * @return {Boolean} true if matched 55 * @scope public 56 */ 57 function isNumeric (prop /* :Object */) /* :Boolean */ { 58 return isNumber(prop)&&!isNaN(prop)&&isFinite(prop); 59 } 60 /** 61 * Checks if property is array 62 * 63 * @param {Object} prop value to check 64 * @return {Boolean} true if matched 65 * @scope public 66 */ 67 function isArray (prop /* :Object */) /* :Boolean */ { 68 return (prop instanceof Array); 69 } 70 /** 71 * Checks if property is regexp 72 * 73 * @param {Object} prop value to check 74 * @return {Boolean} true if matched 75 * @scope public 76 */ 77 function isRegExp (prop /* :Object */) /* :Boolean */ { 78 return (prop instanceof RegExp); 79 } 80 /** 81 * Checks if property is a boolean value 82 * 83 * @param {Object} prop value to check 84 * @return {Boolean} true if matched 85 * @scope public 86 */ 87 function isBoolean (prop /* :Object */) /* :Boolean */ { 88 return ('boolean' == typeof prop); 89 } 90 /** 91 * Checks if property is a scalar value (value that could be used as the hash key) 92 * 93 * @param {Object} prop value to check 94 * @return {Boolean} true if matched 95 * @scope public 96 */ 97 function isScalar (prop /* :Object */) /* :Boolean */ { 98 return isNumeric(prop)||isString(prop); 99 } 100 /** 101 * Checks if property is empty 102 * 103 * @param {Object} prop value to check 104 * @return {Boolean} true if matched 105 * @scope public 106 */ 107 function isEmpty (prop /* :Object */) /* :Boolean */ { 108 if (isBoolean(prop)) return false; 109 if (isRegExp(prop) && new RegExp("").toString() == prop.toString()) return true; 110 if (isString(prop) || isNumber(prop)) return !prop; 111 if (Boolean(prop)&&false != prop) { 112 for (var i in prop) if(prop.hasOwnProperty(i)) return false 113 } 114 return true; 115 } 116 117 /** 118 * Checks if property is derived from prototype, applies method if it is not exists 119 * 120 * @param string property name 121 * @return bool true if prototyped 122 * @access public 123 */ 124 if ('undefined' == typeof Object.hasOwnProperty) { 125 Object.prototype.hasOwnProperty = function (prop) { 126 return !('undefined' == typeof this[prop] || this.constructor && this.constructor.prototype[prop] && this[prop] === this.constructor.prototype[prop]); 127 } 128 } 129 130 /** 131 * Very simplistic Flash plugin check, probably works for Flash 8 and higher only 132 */ 133 function hasFlash(version){ 134 var ver = 0; 135 try{ 136 if(navigator.plugins != null && navigator.plugins.length > 0){ 137 ver = navigator.plugins["Shockwave Flash"].description.split(' ')[2].split('.')[0]; 138 }else{ 139 var axo = new ActiveXObject("ShockwaveFlash.ShockwaveFlash"); 140 ver = axo.GetVariable("$version").split(' ')[1].split(',')[0]; 141 } 142 }catch(e){ } 143 144 if(ver >= version) return true; 145 return false; 146 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
| Generated: Tue Dec 2 01:30:01 2008 | Cross-referenced by PHPXref 0.7 |