From 8af016645fee5c0b22e69d46de9b3401c1bc82d3 Mon Sep 17 00:00:00 2001 From: Erich Eckner Date: Tue, 17 Apr 2018 09:36:08 +0200 Subject: lib/ new --- buildmaster/build-list.php | 39 ++++++++++++++++++++++----------------- lib/.htaccess | 1 + lib/http.php | 18 ++++++++++++++++++ lib/mysql.php | 26 ++++++++++++++++++++++++++ packages/pkginfo.php | 12 +----------- 5 files changed, 68 insertions(+), 28 deletions(-) create mode 100644 lib/.htaccess create mode 100644 lib/http.php create mode 100644 lib/mysql.php diff --git a/buildmaster/build-list.php b/buildmaster/build-list.php index d576019..966c5b5 100644 --- a/buildmaster/build-list.php +++ b/buildmaster/build-list.php @@ -1,7 +1,7 @@ - - List of " . $to_show . " package builds\n"; -print "\n"; -print "\n"; -print "\n"; -print "Start page\n"; -print "build logs
\n"; + die_500("Unknown parameter for \"show\"."); -$mysql = new mysqli("localhost", "webserver", "empty", "buildmaster"); -if ($mysql->connect_error) { - die("Connection failed: " . $mysql->connect_error); -} - -$result = $mysql -> query( +$result = mysql_run_query( "SELECT DISTINCT " . "`build_assignments`.`id`," . "`build_assignments`.`is_blocked`," . @@ -65,6 +53,7 @@ $result = $mysql -> query( "LEFT JOIN `build_slaves` ON `build_slaves`.`currently_building`=`build_assignments`.`id` " . "WHERE `repositories`.`name`=\"build-list\"" . $match ); + if ($result -> num_rows > 0) { $count = 0; @@ -76,7 +65,7 @@ if ($result -> num_rows > 0) { ($row["dependencies_pending"]==1)) continue; - $fail_result = $mysql -> query( + $fail_result = mysql_run_query( "SELECT " . "`fail_reasons`.`name`, " . "`failed_builds`.`log_file` " . @@ -167,6 +156,22 @@ if ($result -> num_rows > 0) { $count++; } +} + +?> + + +List of " . $to_show . " package builds\n"; +print "\n"; +print "\n"; +print "\n"; +print "Start page\n"; +print "build logs
\n"; + +if ($count > 0) { + usort( $rows, function (array $a, array $b) { diff --git a/lib/.htaccess b/lib/.htaccess new file mode 100644 index 0000000..3a42882 --- /dev/null +++ b/lib/.htaccess @@ -0,0 +1 @@ +Deny from all diff --git a/lib/http.php b/lib/http.php new file mode 100644 index 0000000..5fe87dc --- /dev/null +++ b/lib/http.php @@ -0,0 +1,18 @@ +\n" . $extra_message; + die(); +}; + +function die_500($message) { + throw_http_error(500, "Internal Server Error", $message); +}; diff --git a/lib/mysql.php b/lib/mysql.php new file mode 100644 index 0000000..a5edbd5 --- /dev/null +++ b/lib/mysql.php @@ -0,0 +1,26 @@ + connect_error ) { + die_500( "Connection failed: " . $mysql -> connect_error ); +} + +function mysql_run_query($query) { + global $mysql; + if ( ! $result = $mysql -> query($query) ) + die_500( "Query failed: " . $mysql -> error ); + return $result; +} +function show_warning_on_offline_slave() { + $result = mysql_run_query("SHOW STATUS LIKE \"Slave_running\""); + if (($result -> num_rows == 0) || + ($result -> fetch_assoc() ["Value"] != "ON")) { + print "
The replication slave is currently not running. The database might be outdated.
"; + } +} diff --git a/packages/pkginfo.php b/packages/pkginfo.php index 3b31a71..366d0eb 100644 --- a/packages/pkginfo.php +++ b/packages/pkginfo.php @@ -1,16 +1,6 @@ \n" . $extra_message; - die(); - }; - - function die_500($message) { - throw_http_error(500, "Internal Server Error", $message); - }; + include "lib/mysql.php"; $json_content = json_decode( file_get_contents( -- cgit v1.2.3