PageRenderTime 42ms CodeModel.GetById 15ms RepoModel.GetById 0ms app.codeStats 0ms

/scalr-2/tags/scalr-2.1.0/app/www/src/prepend.inc.php

http://scalr.googlecode.com/
PHP | 117 lines | 84 code | 25 blank | 8 comment | 28 complexity | 15ebc8bd8b6de96a3dee8d4a603d83ff MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0, GPL-3.0
  1. <?
  2. $ADM = true;
  3. session_start();
  4. require_once (dirname(__FILE__)."/../../src/prepend.inc.php");
  5. // Define current context
  6. if (!$context)
  7. {
  8. CONTEXTS::$APPCONTEXT = !stristr($_SERVER['PHP_SELF'], "event_handler.php") ? APPCONTEXT::CONTROL_PANEL : APPCONTEXT::EVENT_HANDLER;
  9. if ($_SERVER["HTTP_X_REQUESTED_WITH"] == "XMLHttpRequest")
  10. {
  11. CONTEXTS::$APPCONTEXT = APPCONTEXT::AJAX_REQUEST;
  12. }
  13. }
  14. else
  15. CONTEXTS::$APPCONTEXT = $context;
  16. if (!defined("NO_AUTH"))
  17. {
  18. Core::load("Data/JSON/JSON.php");
  19. Core::load("XMLNavigation", dirname(__FILE__));
  20. define("NOW", str_replace("..","", substr(basename($_SERVER['PHP_SELF']),0, -4)));
  21. if ($_COOKIE['scalr_uid'])
  22. {
  23. $Client = Client::Load($_COOKIE['scalr_uid']);
  24. $cpwd = $Crypto->Decrypt(@file_get_contents(dirname(__FILE__)."/../../etc/.passwd"));
  25. $signature = $Crypto->Hash("{$_COOKIE["scalr_sault"]}:{$_COOKIE["scalr_hash"]}:{$_COOKIE["scalr_uid"]}:{$_SERVER['REMOTE_ADDR']}:{$cpwd}");
  26. if ($signature == $_COOKIE['scalr_signature'])
  27. {
  28. $_SESSION["sault"] = $_COOKIE['scalr_sault'];
  29. $_SESSION["hash"] = $_COOKIE['scalr_hash'];
  30. //$_COOKIE['scalr_uid'];
  31. $_SESSION["cpwd"] = $cpwd;
  32. Scalr_Session::create($_COOKIE["scalr_uid"], $_COOKIE["scalr_uid"], Scalr_AuthToken::ACCOUNT_ADMIN);
  33. }
  34. }
  35. // Auth
  36. if (Scalr_Session::getInstance()->getClientId() == 0)
  37. $newhash = $Crypto->Hash(CONFIG::$ADMIN_LOGIN.":".CONFIG::$ADMIN_PASSWORD.":".$_SESSION["sault"]);
  38. else
  39. {
  40. $user = $db->GetRow("SELECT * FROM clients WHERE id=?", Scalr_Session::getInstance()->getClientId());
  41. $newhash = $Crypto->Hash("{$user['email']}:{$user['password']}:".$_SESSION["sault"]);
  42. }
  43. $valid = ($newhash == $_SESSION["hash"] && !empty($_SESSION["hash"]));
  44. if (!$valid && !stristr($_SERVER['PHP_SELF'], "login.php") && !stristr($_SERVER['PHP_SELF'], "index.php"))
  45. {
  46. if (CONTEXTS::$APPCONTEXT != APPCONTEXT::AJAX_REQUEST)
  47. {
  48. $_SESSION["REQUEST_URI"] = $_SERVER['REQUEST_URI'];
  49. $err[] = "Please login";
  50. UI::Redirect("/login.php");
  51. }
  52. else
  53. {
  54. throw new ApplicationException(_("Session expired. Please <a href='/login.php'>login</a> again."),
  55. ApplicationException::NOT_AUTHORIZED);
  56. exit();
  57. }
  58. }
  59. if (CONTEXTS::$APPCONTEXT != APPCONTEXT::AJAX_REQUEST && ($user || $valid))
  60. {
  61. //
  62. // Load menu
  63. //
  64. require_once (dirname(__FILE__)."/navigation.inc.php");
  65. }
  66. if ($get_search)
  67. {
  68. $display["grid_query_string"] = "&query=".addslashes($get_search);
  69. $display["search"] = htmlspecialchars($get_search);
  70. }
  71. // title
  72. $display["title"] = "Scalr CP";
  73. if (Scalr_Session::getInstance()->getClientId() != 0)
  74. {
  75. define("SCALR_SERVER_TZ", date_default_timezone_get());
  76. $tz = Scalr_Session::getInstance()->getEnvironment()->getPlatformConfigValue(ENVIRONMENT_SETTINGS::TIMEZONE);
  77. if ($tz)
  78. date_default_timezone_set($tz);
  79. $display['logged_as'] = Client::Load(Scalr_Session::getInstance()->getClientId())->Email;
  80. }
  81. if (Scalr_Session::getInstance()->getEnvironment())
  82. {
  83. $locations = Scalr_Session::getInstance()->getEnvironment()->getLocations();
  84. $display['locations'] = $locations;
  85. }
  86. }
  87. //TODO: MOVE TO SESSION
  88. if ($req_region)
  89. $_SESSION['aws_region'] = $req_region;
  90. if (!$_SESSION['aws_region'])
  91. $_SESSION['aws_region'] = 'us-east-1';
  92. ?>