/** * class Cache * @author Mikhail Ivanchuk * @version 0.1 */ class ru.decafe.utils.Cache { public static var MONTH:Number = 1; public static var DAY:Number = 2; public static var HOUR:Number = 3; public static var MINUTE:Number = 4; public static var FULL:Number = 5; public static function disable(key:String, level:Number):String { if (level == undefined) level = Cache.FULL; var browser:Boolean = (_level0._url.substr(0,4) == "http"); // timestamp var timestamp:Date = new Date(); var timestampY:Number = timestamp.getYear(); var timestampMN:Number = timestamp.getMonth(); var timestampD:Number = timestamp.getDate(); var timestampH:Number = timestamp.getHours(); var timestampM:Number = timestamp.getMinutes(); var timestampS:Number = timestamp.getSeconds(); var timestampMS:Number = timestamp.getMilliseconds(); var timestampMT:Number = Date.UTC(timestampY,timestampMN,timestampD,timestampH,timestampM,timestampS,timestampMS); //date string var dateString:String = timestampY.toString(16) +timestampMN.toString(16); if (level <= Cache.MONTH) return (browser?(key+dateString):""); dateString += timestampD.toString(16); if (level <= Cache.DAY) return (browser?(key+dateString):""); dateString += timestampH.toString(16); if (level <= Cache.HOUR) return (browser?(key+dateString):""); dateString += timestampM.toString(16); if (level <= Cache.MINUTE) return (browser?(key+dateString):""); dateString += timestampS.toString(16)+timestampMS.toString(16)+timestampMT.toString(16); // random var addition:String = (Math.floor(Math.random()*1024)).toString(16); return (browser?(key+dateString+addition):""); } }