$value) { // Skip "hidden" fields - fields beginning with "_" if (preg_match ("/^_/", $key) == 1) { continue; } // if if ($key == "Failures") { $csv .= "\n"; $csv .= ",Teststep,Failure Reason"; continue; } // if if (!$firstTime) { $csv .= ","; } else { $firstTime = false; } // if $csv .= "\"$key\""; } // foreach $csv .= "\n"; // Data lines foreach ($data as $entry) { $firstTime = true; foreach ($entry as $key => $value) { // Skip "hidden" fields - fields beginning with "_" if (preg_match ("/^_/", $key) == 1) { continue; } // if if ($key == "Failures") { $csv .= "\n"; foreach ($value as $key => $failure) { $csv .= ",$failure[Step],$failure[Reason]\n"; } // foreach continue; } // if if (!$firstTime) { $csv .= ","; } else { $firstTime = false; } // if $csv .= "\"$value\""; } // foreach $csv .= "\n"; } // foreach return $csv; } // createCSV function exportStats ($day) { $filename = "Test Statistics." . $day . ".csv"; header ("Content-Type: application/octect-stream"); header ("Content-Disposition: attachment; filename=\"$filename\""); print createCSV ($day); exit; } // exportStats function createHeader ($day) { $header = << Failure Analysis for $day END; $header .= banner (); return $header; } // createHeader function createPage ($day, $forEmail = false, $message = "") { global $direction, $sortBy, $direction, $script; $data = getData ($day); $dateDropdown = reportDateDropdown (); $row_nbr = 0; if (!$forEmail) { $page .= "

Failure Analysis for $dateDropdown

"; // Flip direction $direction = ($direction == "ascending") ? "descending" : "ascending"; $urlParms = "$script?day=$day&action=$action&direction=$direction&sortBy"; if ($sortBy == "Testcase") { $testcaseDirection = ($direction == "ascending") ? "" : ""; } else if ($sortBy == "Unit") { $unitDirection = ($direction == "ascending") ? "" : ""; } else { $timeDirection = ($direction == "ascending") ? "" : ""; } // if if (isset ($message)) { $page .= "
$message
"; } // if } else { $page .= "

Failure Analysis for $day

"; } // if $page .= << END; if (!$forEmail) { $page .= <<
END; $page .= emailUsersDropdown (); $page .= << END; } // if $page .= << Testcase $testcaseDirection Unit $unitDirection Time $timeDirection   Teststep Failure Reason END; foreach ($data as $result) { $row_color = " class=other"; $unit = ($result["Unit"]) ? $result["Unit"] : ""; $time = ($result["Time"]) ? $result["Time"] : ""; $page .= << $result[Testcase] $unit $time END; foreach ($result["Failures"] as $failure) { $step = $failure["Step"]; $reason = $failure["Reason"]; $page .= <<   $step $reason END; } // foreach } // foreach $page .= << END; return $page; } // createPage function displayReport ($day, $message = "") { print createHeader ($day); print createPage ($day, false, $message); copyright (); } // displayReport function mailFailureAnalysisReport ($day, $pnbr, $username) { $subject = "Failure Analysis for $day"; $body = createPage ($day, true); $filename = "FailureAnalysis.$day.csv"; $attachment = createCSV ($day); return mailReport ($pnbr, $username, $subject, $body, $filename, $attachment); } // mailFailureAnalysisReport openDB (); switch ($action) { case "Export": exportStats ($day); break; case "Mail": list ($pnbr, $username) = explode (":", $user); displayReport ($day, mailFailureAnalysisReport ($day, $pnbr, $username)); break; default: displayReport ($day); break; } // switch ?>