1<?php
2/*=========================================================================
3
4  Program:   CDash - Cross-Platform Dashboard System
5  Module:    $Id$
6  Language:  PHP
7  Date:      $Date$
8  Version:   $Revision$
9
10  Copyright (c) 2002 Kitware, Inc.  All rights reserved.
11  See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
12
13     This software is distributed WITHOUT ANY WARRANTY; without even
14     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15     PURPOSE.  See the above copyright notices for more information.
16
17=========================================================================*/
18$noforcelogin = 1;
19include("cdash/config.php");
20require_once("cdash/pdo.php");
21include('login.php');
22include_once("cdash/common.php");
23include("cdash/version.php");
24
25@$buildid = $_GET["buildid"];
26if ($buildid != NULL)
27  {
28  $buildid = pdo_real_escape_numeric($buildid);
29  }
30
31@$date = $_GET["date"];
32if ($date != NULL)
33  {
34  $date = htmlspecialchars(pdo_real_escape_string($date));
35  }
36
37// Checks
38if(!isset($buildid) || !is_numeric($buildid))
39  {
40  echo "Not a valid buildid!";
41  return;
42  }
43
44$db = pdo_connect("$CDASH_DB_HOST", "$CDASH_DB_LOGIN","$CDASH_DB_PASS");
45pdo_select_db("$CDASH_DB_NAME",$db);
46
47$build_array = pdo_fetch_array(pdo_query("SELECT * FROM build WHERE id='$buildid'"));
48$projectid = $build_array["projectid"];
49if(!isset($projectid) || $projectid==0)
50  {
51  echo "This build doesn't exist. Maybe it has been deleted.";
52  exit();
53  }
54
55checkUserPolicy(@$_SESSION['cdash']['loginid'],$projectid);
56
57$project = pdo_query("SELECT * FROM project WHERE id='$projectid'");
58if(pdo_num_rows($project)>0)
59  {
60  $project_array = pdo_fetch_array($project);
61  $projectname = $project_array["name"];
62  }
63
64$xml = begin_XML_for_XSLT();
65$xml .= "<title>CDash : ".$projectname."</title>";
66
67$date = get_dashboard_date_from_build_starttime($build_array["starttime"],$project_array["nightlytime"]);
68$xml .= get_cdash_dashboard_xml_by_name($projectname,$date);
69
70$siteid = $build_array["siteid"];
71$buildtype = $build_array["type"];
72$buildname = $build_array["name"];
73$starttime = $build_array["starttime"];
74
75// Menu
76$xml .= "<menu>";
77$xml .= add_XML_value("back","index.php?project=".urlencode($projectname)."&date=".$date);
78$previousbuildid = get_previous_buildid($projectid,$siteid,$buildtype,$buildname,$starttime);
79if($previousbuildid>0)
80  {
81  $xml .= add_XML_value("previous","viewConfigure.php?buildid=".$previousbuildid);
82  }
83else
84  {
85  $xml .= add_XML_value("noprevious","1");
86  }
87$xml .= add_XML_value("current","viewConfigure.php?buildid=".get_last_buildid($projectid,$siteid,$buildtype,$buildname,$starttime));
88$nextbuildid = get_next_buildid($projectid,$siteid,$buildtype,$buildname,$starttime);
89if($nextbuildid>0)
90  {
91  $xml .= add_XML_value("next","viewConfigure.php?buildid=".$nextbuildid);
92  }
93else
94  {
95  $xml .= add_XML_value("nonext","1");
96  }
97$xml .= "</menu>";
98
99  // Build
100  $xml .= "<build>";
101  $site_array = pdo_fetch_array(pdo_query("SELECT name FROM site WHERE id='$siteid'"));
102  $xml .= add_XML_value("site",$site_array["name"]);
103  $xml .= add_XML_value("siteid",$siteid);
104  $xml .= add_XML_value("buildname",$build_array["name"]);
105  $xml .= add_XML_value("buildid",$build_array["id"]);
106  $xml .= "</build>";
107
108  $xml .= "<configure>";
109
110  $configure = pdo_query("SELECT * FROM configure WHERE buildid='$buildid'");
111  $configure_array = pdo_fetch_array($configure);
112
113  $xml .= add_XML_value("status",$configure_array["status"]);
114  $xml .= add_XML_value("command",$configure_array["command"]);
115  $xml .= add_XML_value("output",$configure_array["log"]);
116
117  $xml .= "</configure>";
118  $xml .= "</cdash>";
119
120// Now doing the xslt transition
121generate_XSLT($xml,"viewConfigure");
122?>
123