Example #1
0
     $page[] = $error;
 }
 if (isset($report) and $report instanceof CrashReport) {
     if (!$report->isValid()) {
         $error = new Template("error", $isAPI);
         $error->addTransform("message", "This crash report is not valid");
         $error->addTransform("url", "/submit");
         $page[] = $error;
     } else {
         $db = new Database();
         require_once "src/ReportHandler.php";
         $handler = new ReportHandler($report, $isAPI);
         $tpl = $handler->showDetails($page);
         $encoded = $report->getEncoded();
         //$hash = $report->getDate() . $encoded . microtime(true);
         $reportId = $db->insertReport($report);
         if ($reportId <= 0) {
             $error = new Template("error", $isAPI);
             $error->addTransform("message", "Internal error");
             $error->addTransform("url", "/submit");
             $page[] = $error;
         } else {
             $data = ["report" => $encoded, "reportId" => $reportId, "email" => $_POST["email"], "name" => clean($_POST["name"]), "attachedIssue" => false];
             @file_put_contents("reports/" . sha1($reportId . SECRET_SALT) . ".log", json_encode($data));
             header("Location: /view/{$reportId}" . ($isAPI ? "/api" : ""));
             $tpl->addTransform("crash_id", $reportId);
             $tpl->addTransform("email_hash", md5($_POST["email"]));
             $tpl->addTransform("name", $name = clean($_POST["name"]));
             $tpl->addTransform("attached_issue", "None");
             if (WEBHOOK_URL !== null) {
                 @file_get_contents(WEBHOOK_URL . urlencode("[Crash] New report #{$reportId} from {$name}: " . $report->getReportName() . ". Details: http://" . ROOT_DOMAIN . "/view/{$reportId}"));