function updowndata($buildSearched, $component = null, $caseIDarg = null) { $version = getVersionFromBuild($buildSearched); // get up/down data for a build if ($component == null) { $arrData = createDataForUpDown($buildSearched); } elseif ($component != null) { $arrData = createDataForUpDownComponent($buildSearched, $component); } elseif ($caseID != null) { $arrData = createDataForUpDownCase($buildSearched, $caseIDarg); } if (!is_array($arrData)) { return "not_array"; } // extract searched build data $buildData = array(); foreach ($arrData as $release => $releaseData) { foreach ($releaseData[builds] as $buildNum => $build) { if ($buildNum == $buildSearched) { $buildData = $build; break; } } } // create results array $moduleArr = array(); foreach ($buildData[rel] as $versionFull => $release) { $relID = getVersionIDFromVersionFull($versionFull); if (!is_array($moduleArr[$relID][categories])) { $moduleArr[$relID][categories] = array(); } foreach ($release[cases] as $caseID => $case) { if (!is_array($moduleArr[$relID][categories][$case[category]])) { $moduleArr[$relID][categories][$case[category]] = array(); if (!is_array($moduleArr[$relID][categories][$case[category]][modules][$case[component]])) { $moduleArr[$relID][categories][$case[category]][modules][$case[component]] = array(); } } $moduleArr[$relID][categories][$case[category]][modules][$case[component]][cases][$caseID] = $case; } } foreach ($moduleArr as $relID => $rel) { $modNames = array(); $catNames = array(); $pass = $fail = $time = 0; foreach ($rel[categories] as $catName => $category) { array_push($catNames, "'" . $catName . "'"); $passC = $failC = $timeC = 0; foreach ($category[modules] as $modName => $module) { array_push($modNames, "'" . $modName . "'"); $passM = $failM = $timeM = 0; foreach ($module[cases] as $caseID => $case) { $timeC += $case[time]; $timeM += $case[time]; $time += $case[time]; if (!($case[time] > 0)) { $case[time] = 1; } $moduleArr[$relID][categories][$catName][modules][$modName][cases][$caseID][time] = date("i:s", mktime(0, 0, $case[time])); if ($case[status] == "PASSED") { $passM++; } elseif ($case[status] != "RUNNING") { $failM++; } } //email if ($failM == 0) { $moduleArr[$relID][categories][$catName][modules][$modName][email] = 0; } else { $moduleArr[$relID][categories][$catName][modules][$modName][email] = 1; } if ($gren == "grenreg") { $moduleArr[$relID][categories][$catName][modules][$modName][stats] = createTPFtableGren($passM, $failM, $version, $buildSearched, $modName, $catName, "yes"); $moduleArr[$relID][categories][$catName][modules][$modName][chart] = createBarChartForGrenReg($passM + $failM, $passM, $failM, $buildSearched, $version, $modName, $catName, "yes"); } else { $moduleArr[$relID][categories][$catName][modules][$modName][stats] = createTPFtableUpDown($relID, $passM, $failM, $version, $buildSearched, $modName, $catName, "yes"); $moduleArr[$relID][categories][$catName][modules][$modName][chart] = createBarChartForRegression2($passM + $failM, $passM, $failM, $buildSearched, $version, $modName, $catName, "yes"); } $moduleArr[$relID][categories][$catName][modules][$modName][time] = Sec2Time($timeM); $commentData = getModuleCommentsUpDown($modName, $catName, $buildSearched, $version, $relID); $ownerData = getModuleOwners($modName); $moduleArr[$relID][categories][$catName][modules][$modName][sqaOwner] = $ownerData[sqa]; $moduleArr[$relID][categories][$catName][modules][$modName][devOwner] = $ownerData[dev]; $moduleArr[$relID][categories][$catName][modules][$modName][autOwner] = $ownerData[auto]; if (is_array($commentData)) { $moduleArr[$relID][categories][$catName][modules][$modName][comment] = $commentData[comment]; $moduleArr[$relID][categories][$catName][modules][$modName][bugLink] = createModuleBugField($commentData[bugs]); $moduleArr[$relID][categories][$catName][modules][$modName][bugs] = $commentData[bugs]; } $passC += $passM; $failC += $failM; } $moduleArr[$relID][categories][$catName][stats] = createTPFtable2($passC, $failC, $version, $buildSearched, "", $catName, ""); $moduleArr[$relID][categories][$catName][chart] = createBarChartForRegression2($passC + $failC, $passC, $failC, $buildSearched, $version, $modName, $catName, ""); $moduleArr[$relID][categories][$catName][time] = Sec2Time($timeC); $pass += $passC; $fail += $failC; } $moduleArr[$relID][stats] = createTPFtable2($pass, $fail, $version, $buildSearched, "", "", ""); $moduleArr[$relID][chart] = createBarChartForRegression2($pass + $fail, $pass, $fail, $buildSearched, $version, $modName, $catName, ""); $moduleArr[$relID][time] = Sec2Time($time); $moduleArr[$relID][modNames] = implode(",", array_unique($modNames)); $moduleArr[$relID][catNames] = implode(",", array_unique($catNames)); $moduleArr[$relID][fullname] = getVersionFullFromVersionID($relID); } // sort category / component names in alphabetical order $relNames = array(); foreach ($moduleArr as $relID => $rel) { // store updown release names array_push($relNames, $relID); ksort($moduleArr[$relID][categories], SORT_STRING); foreach ($rel[categories] as $catName => $module) { ksort($rel[categories][$catName][modules], SORT_STRING); } } $result = array(); array_push($result, $moduleArr); array_push($result, implode(",", $relNames)); return $result; }
function createRegressionTable($build, $name, $release, $build_num, $noneDisplay) { $i = 0; $table = ""; if ($noneDisplay == "none") { $onMouse = "<tr onClick=\"location.href='modules.php?version=" . $build[version] . "&build=" . $name . "'\" \r\n style=\"cursor: pointer;\" onmouseover=\"mouse_event(this, 'hlt');\" onmouseout=\"mouse_event(this, '');\">"; } else { $onMouse = "<tr onmouseover=\"mouse_event(this, 'hlt');\" onmouseout=\"mouse_event(this, '');\">"; } $onClick = " onClick=\"location.href='modules.php?version=" . $build[version] . "&build=" . $name . "'\""; $bugField = createBugField2($build, $release, $name, $noneDisplay); if ($build_num > 0 && !$i) { if ($bugField == "N/A") { $bugFieldCol = "<td align=\"center\" style=\"font-size: 9pt; border-top: 1pt dashed #059; " . "border-left: 1pt dashed #059; color: #E1EEF7\""; } else { $bugFieldCol = "<td align=\"center\" style=\"font-size: 9pt; border-top: 1pt dashed #059; " . "border-left: 1pt dashed #059;\""; } } else { if ($bugField == "N/A") { $bugFieldCol = "<td align=\"center\" style=\"border-left: 1pt dashed #059; color: #E1EEF7\""; } else { $bugFieldCol = "<td align=\"center\" style=\"border-left: 1pt dashed #059;\""; } } if ($build_num > 0 && !$i) { $borderFlag = 1; $justBorder = "<td style=\"border-top: 1pt dashed #059;"; $commentBorder = "<td onClick=\"\" style=\"border-top: 1pt dashed #059;"; $borderTop = "<td style=\"border-top: 1pt dashed #059;\""; if ($build[status] == "Pass") { $statusColor = "<td style=\"border-top: 1pt dashed #059; color: green;\""; } elseif ($build[status] == "Fail") { $statusColor = "<td style=\"border-top: 1pt dashed #059; color: red;\""; } elseif ($build[status] == "Pending") { $statusColor = "<td style=\"border-top: 1pt dashed #059; color: blue;\""; } else { $statusColor = "<td style=\"border-top: 1pt dashed #059; color: #E1EEF7\""; } } else { $borderFlag = 0; $justBorder = "<td style=\"cursor: pointer; "; $commentBorder = "<td onClick=\"\" style=\"cursor: pointer; "; $borderTop = "<td "; if ($build[status] == "Pass") { $statusColor = "<td style=\"color: green;\""; } elseif ($build[status] == "Fail") { $statusColor = "<td style=\"color: red;\""; } elseif ($build[status] == "Pending") { $statusColor = "<td style=\"color: blue;\""; } else { $statusColor = "<td style=\"color: #E1EEF7\""; } } // resolve build type if (ereg("(.*)-FIPS", $build[version], $regs)) { $buildName = !$i ? $borderTop . " style=\"cursor: pointer;\" align=\"middle\"><img src=\"images/arrow_org.gif\"/><b>" . $name . "</b></td>" : $borderTop . " style=\"cursor: pointer;\"></td>"; $buildType = $justBorder . " font-size: xx-small; color: blue\" align=\"center\">FIPS</td>"; $versionFormat = $regs[1]; } elseif (ereg("(.*)_OAW", $name, $regs)) { $buildName = !$i ? $borderTop . " style=\"cursor: pointer;\" align=\"middle\"><img src=\"images/arrow_org.gif\"/><b>" . $regs[1] . "</b></td>" : $borderTop . " style=\"cursor: pointer;\"></td>"; $buildType = $justBorder . " font-size: xx-small; color: #483D8B\" align=\"center\">ALCATEL</td>"; $versionFormat = $build[version]; } else { $buildName = !$i ? $borderTop . " style=\"cursor: pointer;\" align=\"middle\"><img src=\"images/arrow_org.gif\"/><b>" . $name . "</b></td>" : $borderTop . " style=\"cursor: pointer;\"></td>"; $buildType = $justBorder . " font-size: xx-small; color: green\" align=\"center\"><b>AOS</b></td>"; $versionFormat = $build[version]; } // resolve comment field if ($noneDisplay == "none") { $comment = $build[comment] == "" ? $commentBorder . " border-left: 1pt dashed #059; " . "color: #E1EEF7\">N/A</td>" : $commentBorder . " border-left: 1pt dashed #059; padding: 0 5px 0 9px;" . "font: bold 8px \"Trebuchet MS\", Verdana, " . "Arial, Helvetica, sans-serif;\" align=\"left\">" . $build[comment] . "</td>"; } else { $comment = $commentBorder . " border-left: 1pt dashed #059;\"><input type=\"text\" maxlength=\"80\" size=\"20\" value=\"" . $build[comment] . "\"" . " name=\"comment-" . $name . "\"/></td>"; } $table .= $onMouse . $buildName . $buildType . $justBorder . " font-size: xx-small\" align=\"center\">" . $versionFormat . "</td>" . $justBorder . " font-size: xx-small\" >" . $build[started] . "</td>" . $justBorder . " cursor: pointer;\">" . createTPFtable2($build[passed], $build[failed], $build[version], $name, "", "", "yes") . "</td>" . createRunStatusColor2($build[runstatus], $borderFlag, $noneDisplay, $name) . createResultMenu2($statusColor, $noneDisplay, $justBorder, $name, $build[status], $build[runstatus]) . $justBorder . " cursor: pointer;\">" . createBarChartForRegression2($build[passed] + $build[failed], $build[passed], $build[failed], $name, $build[version], "", "", "yes") . "</td>" . $comment . $bugFieldCol . ">" . $bugField . "</td>" . "</tr>"; $i++; return $table; }