function __construct($number, $error, $query = null) { $this->number = $number; $this->error = $error; $this->query = $query; Debugger::error(new Exception((string) $this)); }
public static function error_handling_dev($err_no, $err_str, $err_file, $err_line, $err_context) { $exception = new ErrorException($err_str, 0, $err_no, $err_file, $err_line); Debugger::error($exception); $ErrorHandler = new ErrorHandler($exception); $ErrorHandler->ProcessError(); return; }
function __construct() { parent::__construct(); $this->url = Config::get('Redirect'); $this->type = Config::get('RedirectType'); // **to disable redirects "touch disable-redirect" in the root of the your trunk directory // **to enable redirects "unlink disable-redirect" in the root of the your trunk directory // this only works on devboxes for now, and is a ghetto hack until it can be added as a // preference that can be switched on and off from an interface. $this->bypass = Config::get('DocRoot') . "/../disable-redirect"; if (!isset($this->url)) { Debugger::error(new Exception("Can't redirect! Config::get('Redirect') contains no url.")); } if (!isset($this->type)) { $this->type = '301'; } }
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']}.")); } }
$debugger->listDefinedPostAndGetVars("save.php"); foreach ($questions as $question) { $answer = null; // Checkbox is a bit more complicated if ($question->getType() == "checkbox") { $answer = parseCheckboxAnswer($question); } else { $answer = parseNormalAnswer($question); } array_push($answers, $answer); } // All answers are now in the answers array. Let's check that user answered // to all required questions $notAnsweredRequired = getNotAnsweredRequiredIds($answers); if (count($notAnsweredRequired) > 0) { $debugger->error("Et vastannut kaikkiin pakollisiin kysymyksiin", "save.php"); } else { foreach ($answers as $answer) { $answer->updateToDatabase(); } } header("Location: " . $configurations->webRoot . "admin/showanswers/{$signupId}"); function parseCheckboxAnswer($question) { global $userId, $debugger; // Checkbox's question id is in format 14-0, 14-1, 14-2 $checkboxAnswers = array(); for ($i = 0; $i < count($question->getOptions()); $i++) { $checkboxFromPost = CommonTools::POST($question->getId() . "-" . $i); if ($checkboxFromPost != null && $checkboxFromPost != "") { $debugger->debug("Checkbox value " . $question->getId() . "-" . $i . ": " . $checkboxFromPost, "parseChechboxAnswer");
// Redirect user to confirmation form of the old signup $user = new User($signupid); header("Location: " . $configurations->webRoot . "confirm/" . $user->getOldSignupId()); } else { if ($action == "continueandcancelold") { $user = new User($signupid); $user->cancelUnconfirmedSignupAndRefreshSession(); header("Location: " . $configurations->webRoot . "confirm/" . $user->getNewSignupId()); } else { // Check that signup is open $newSignupGadget = new SignupGadget($signupid); $user = null; if ($newSignupGadget->isOpen()) { $user = new User($signupid); } else { $debugger->error("Ilmoittautuminen ei ole avoinna.", "queue.php"); } if ($user->getUnconfirmedSignupExists()) { $debugger->debug("Unconfirmed signup exists", "queue.php"); if ($user->getUnconfirmedSignupIsNotTheSameAsThis()) { $debugger->debug("Unconfirmed signup exists, but it is not this one", "queue.php"); $signupgadget = new SignupGadget($user->getOldSignupId()); $page->addContent("<p><b>Huom!</b> Olet ilmoittautunut jo ilmomasiinassa <b>" . $signupgadget->getTitle() . "</b>, muttet ole vahvistanut ilmoittautumista. " . "Ennen kuin voit ilmoittautua toiseen ilmomasiinaan sinun pitää vahvistaa tai peruuttaa" . " aikasemmat vahvistamattomat ilmoittautumiset.</p>"); $page->addContent("<p>Valitse mitä haluat tehdä:</p>"); $page->addContent("<p> >> <a href=\"" . $configurations->webRoot . "continueandcancelold/" . $user->getNewSignupId() . "\">Peruuta aiempi vahvistamaton ilmoittautuminen ja " . "siirry eteenpäin</a></p>"); $page->addContent("<p> >> <a href=\"" . $configurations->webRoot . "confirmold/" . $user->getOldSignupId() . "\">Siirry vahvistamaan aiempi ilmoittautuminen</a></p>"); $page->printPage(); } else { header("Location: " . $configurations->webRoot . "confirm/" . $user->getNewSignupId()); } } else {
static function loadGoogleAnalytics($actions) { $script = "<script type=\"text/javascript\">\n\nvar _gaq = _gaq || [];\n_gaq.push(['_setAccount', '%__UA__%']);\n_gaq.push(%__ACTIONS__%);\n\n(function() {\n\tvar ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n\tga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n\tvar s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n})();\n\n</script>"; if (isset($actions['_setAccount'])) { $script = str_replace('%__UA__%', $actions['_setAccount'], $script); unset($actions['_setAccount']); $ga_options = array(); foreach ((array) $actions as $index => $action) { if (is_int($index)) { if (is_array($action)) { $ga_options[] = json_encode($action); } else { $ga_options[] = "['{$action}']"; } } else { if (is_int($action)) { $ga_options[] = "['{$index}'," . (string) $action . "]"; } elseif (is_bool($action)) { $ga_options[] = "['{$index}'," . ($action === true ? 'true' : 'false') . "]"; } elseif (is_array($action)) { $ga_options[] = "['{$index}'," . join(',', $action) . "]"; } else { $ga_options[] = "['{$index}','{$action}']"; } } } echo str_replace('%__ACTIONS__%', join(',', $ga_options), $script); } else { Debugger::error(new Exception("Didn't load google analytics. No UA set.")); } }
require_once "classes/CommonTools.php"; require_once "classes/User.php"; require_once "classes/SignupGadgetQuestionFormater.php"; /* Implementations of the most critical classes */ $configurations = new Configurations(); $page = new Page(1); $debugger = new Debugger(); $database = new Database(); /* Variables from outside */ $signupId = $request->getSignupId(); /* The code */ $signupGadget = new SignupGadget($signupId); $user = new User($signupId); if ($user->unconfirmedSignupExists) { if ($user->unconfirmedSignupIsNotTheSameAsThis) { $debugger->error("Olet ilmoittautunut johonkin toiseen ilmomasiinaan", "confirm.php"); } else { // Nice! User is signed up to this signup form! } } else { $debugger->error("Et ole vielä ilmoittautunut tai ilmoittautumisesi on vanhentunut. Ilmoittautumisen vahvistaminen epäonnistui.", "confirm.php"); } $page->addHeader("<script type=\"text/javascript\" src=\"javascript/jquery.js\"></script>"); $page->addHeader("<script type=\"text/javascript\" src=\"javascript/email_validation.js\"></script>"); $page->addContent("<div id=\"signup-position-info-div\">"); $page->addContent("<p id=\"signup-position-info\"><span>Olet sijalla <strong>" . $user->getPosition() . "</strong>. Edessäsi on <strong>" . $user->getUnconfirmedSignupsBefore() . "</strong> vahvistamatonta ilmoittautumista. Ilmoittautumisaikasi oli <strong>" . $user->getReadableSignupTime() . "</strong> ja aikaa ilmoittautumisen vahvistamiseen sinulla on <strong>" . $user->getSignupTimeLeftInMinutes() . "</strong> minuuttia</span></p>"); $page->addContent("</div>"); $page->addContent("<div id=\"questions\">"); $page->addContent("<form id=\"questions-form\" method=\"post\" action=\"" . $configurations->webRoot . "save\">"); $page->addContent("<input type=\"hidden\" name=\"signupid\" value=\"{$signupId}\">"); $page->addContent("<input type=\"hidden\" name=\"userid\" value=\"" . $user->getId() . "\">");