Пример #1
0
 public static function write($str)
 {
     $dir = dirname(dirname(dirname(dirname(__FILE__))));
     $dir = preg_replace("/(\\/)\$/", "", $dir);
     if (defined("MM_PLUGIN_ABSPATH")) {
         $dir = MM_PLUGIN_ABSPATH;
     }
     $l = new LogMe();
     $output = $l->to_string($str);
     $file = $dir . "/logs/" . Date("Y-m-d") . ".log";
     if (!file_exists($file)) {
         $fh = @fopen($file, "w");
         if (!@fwrite($fh, $output . "\n\n")) {
             return false;
         }
         fclose($fh);
     }
     if (!is_writable($file)) {
         return false;
     }
     $a = "a";
     $fs = filesize($file);
     //$size_ret = self::format_bytes($fs);
     //		if(floatval($size_ret["result"])>MM_LOGSIZE)
     //		{
     //			$a="w";
     //		}
     $prefix = Date("m/d/Y h:i:s a") . " :\n";
     $fh = @fopen($file, $a);
     if (!@fwrite($fh, $prefix . $output . "\n\n")) {
         return false;
     }
     fclose($fh);
 }
Пример #2
0
 public static function write($anyObjOrStr)
 {
     $dir = BASE_DIR;
     $dir = preg_replace("/(\\/)\$/", "", $dir);
     $l = new LogMe();
     $output = $l->to_string($anyObjOrStr);
     $file = $dir . "/log/" . Date("Y-m-d") . ".log";
     if (!file_exists($file)) {
         $fh = @fopen($file, "w");
         if (!@fwrite($fh, $output . "\n\n")) {
             return false;
         }
         fclose($fh);
     }
     if (!is_writable($file)) {
         return false;
     }
     $a = "a";
     $fs = filesize($file);
     $prefix = Date("m/d/Y h:i:s a") . " :\n";
     $fh = @fopen($file, $a);
     if (!@fwrite($fh, $prefix . $output . "\n\n")) {
         return false;
     }
     fclose($fh);
 }
Пример #3
0
 public static function load($className, $canRecurse = true)
 {
     if (!$canRecurse) {
         LogMe::write("Missing {$className} from cache");
         showLoadedClasses($className, "Eval Missing {$className} from cache");
     }
     /** only try to load MemberMouse classes **/
     if (strpos($className, "MM_") !== 0 && !preg_match("/LogMe/", $className)) {
         return false;
     }
     $exclusions = array("MemberMouse");
     if (in_array($className, $exclusions)) {
         return false;
     }
     /** end exclusions **/
     $classFileName = str_replace("MM_", "", $className);
     if (self::includeLimitedLocalFiles($className, $classFileName)) {
         return true;
     }
     $forceUseDBCache = MM_OptionUtils::getOption(MM_OptionUtils::$OPTION_KEY_FORCE_USE_DB_CACHE) == "1" ? true : false;
     if (isLocalInstall("localhost") && !$forceUseDBCache) {
         // look locally
         if (self::includeLocalFiles($className, $classFileName)) {
             return true;
         }
         if (class_exists($className, false) || interface_exists($className, false)) {
             return true;
         } else {
             if (self::includeCacheFiles($className, $classFileName)) {
                 return true;
             }
             /// get db class
             if (self::includeDBClass($className, $classFileName)) {
                 if ($classFileName != "MemberMouseService") {
                     MM_Session::value(MM_Session::$KEY_USING_DB_CACHE, true);
                 }
                 return true;
             }
         }
     } else {
         if (class_exists($className, false) || interface_exists($className, false)) {
             return true;
         } else {
             if (self::includeCacheFiles($className, $classFileName)) {
                 return true;
             }
             // get class from DB
             if (self::includeDBClass($className, $classFileName)) {
                 if ($classFileName != "MemberMouseService") {
                     MM_Session::value(MM_Session::$KEY_USING_DB_CACHE, true);
                 }
                 return true;
             }
         }
         // look locally
         if (self::includeLocalFiles($className, $classFileName)) {
             return true;
         }
     }
     //if execution gets here, then a needed class is unloadable, meaning its not in the cache or in the dbcache
     //reauth if we haven't already done so in the last 10 mins, and attempt to populate both
     $lastAuth = MM_OptionUtils::getOption(MM_OptionUtils::$OPTION_KEY_LAST_CODE_REFRESH);
     $minInterval = time() - 600;
     //(600 secs = 10 min)
     if ($canRecurse && class_exists("MM_MemberMouseService") && (empty($lastAuth) || $lastAuth <= $minInterval)) {
         $authSuccess = MM_MemberMouseService::authorize();
         MM_OptionUtils::setOption(MM_OptionUtils::$OPTION_KEY_LAST_CODE_REFRESH, time());
         if ($authSuccess) {
             return MM_ClassLoader::load($className, false);
             //this will break if the session doesnt work.. but then you have bigger problems...
         }
     }
     return false;
 }