public static function growl($message)
 {
     if (Config::isMyDevBox()) {
         Loader::load("utility", "growl/GrowlNotify");
         GrowlNotify::instance($_SERVER['REMOTE_ADDR'])->send("Debugger Message", $message);
     }
 }
 private function findRouter()
 {
     $host = $_SERVER["HTTP_HOST"];
     $parts = explode('.', $host);
     if (Config::isMyDevBox()) {
         if ($parts[count($parts) - 4] == 'dev') {
             $parts = array_slice($parts, 0, count($parts) - 4);
         } else {
             $parts = array_slice($parts, 0, count($parts) - 3);
         }
     }
     // dbcron.[xxx.]xxx.xxx
     if ($parts[0] == 'dbcron') {
         array_shift($parts);
     }
     // dev.xxx.xxx
     if ($parts[0] == 'dev') {
         array_shift($parts);
     }
     // www.xxx.xxx
     if ($parts[0] == 'www') {
         array_shift($parts);
     }
     // [xxx.]xxx.xxx
     $name = ucfirst($parts[0]);
     // xxx.xxx.xxx
     if (count($parts) > 2) {
         $name .= ucfirst($parts[1]);
     }
     $name .= 'Router';
     //strip non-alphanumeric characters
     $name = preg_replace("/[^a-zA-Z0-9\\s]/", "", $name);
     $this->loadRouter($name);
     if (!isset($this->router)) {
         Debugger::error(new Exception("Failed to find site router for {$_SERVER['HTTP_HOST']}."));
     }
 }
 static function getEnvironmentRoot($url, $https = false)
 {
     if (!isset($https)) {
         $https = isset($_SERVER['HTTPS']);
     }
     $root = ($https ? 'https' : 'http') . "://{$url}";
     $parts = explode(".", URL::getCurrentArr('host'));
     if (Config::isMyDevBox()) {
         $root .= '.' . implode(".", array_slice($parts, -4));
     } elseif (Config::isStaging()) {
         $root .= '.' . implode(".", array_slice($parts, -3));
     }
     return $root;
 }