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); }
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); }
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; }