Coverage uses the same cookie so must live in the same directory
git-svn-id: https://adminer.svn.sourceforge.net/svnroot/adminer/trunk@756 7c3ca157-0c34-0410-bff1-cbf682f78f5c
This commit is contained in:
parent
75fc104b8a
commit
91156d1a1d
|
@ -1,11 +1,4 @@
|
|||
<?php
|
||||
error_reporting(E_ALL & ~E_NOTICE);
|
||||
if (!ini_get("session.auto_start")) {
|
||||
session_name("adminer_sid");
|
||||
session_set_cookie_params(ini_get("session.cookie_lifetime"), preg_replace('~_coverage\\.php(\\?.*)?$~', '', $_SERVER["REQUEST_URI"]));
|
||||
session_start();
|
||||
}
|
||||
|
||||
function xhtml_open_tags($s) {
|
||||
// returns array of opened tags in $s
|
||||
$return = array();
|
||||
|
@ -20,21 +13,17 @@ function xhtml_open_tags($s) {
|
|||
return $return;
|
||||
}
|
||||
|
||||
if (!extension_loaded("xdebug")) {
|
||||
echo "<p>Xdebug has to be enabled.</p>\n";
|
||||
}
|
||||
page_header("Coverage", (extension_loaded("xdebug") ? "" : "Xdebug has to be enabled."));
|
||||
|
||||
if ($_GET["start"]) {
|
||||
unset($_SESSION["coverage"]);
|
||||
xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE);
|
||||
$_SESSION["coverage"] = array();
|
||||
include "./adminer/index.php";
|
||||
header("Location: .");
|
||||
exit;
|
||||
}
|
||||
if (preg_match('~^(include/)?[-_.a-z0-9]+$~i', $_GET["filename"])) {
|
||||
if ($_GET["coverage"] === "0") {
|
||||
unset($_SESSION["coverage"]); // disable coverage if it is not available
|
||||
if (extension_loaded("xdebug")) {
|
||||
$_SESSION["coverage"] = array();
|
||||
echo "<p class='message'>Coverage started.</p>\n";
|
||||
}
|
||||
} elseif (preg_match('~^(include/)?[-_.a-z0-9]+$~i', $_GET["coverage"])) {
|
||||
// highlight single file
|
||||
$filename = "adminer/$_GET[filename]";
|
||||
$filename = $_GET["coverage"];
|
||||
$cov = $_SESSION["coverage"][realpath($filename)];
|
||||
$file = explode("<br />", highlight_file($filename, true));
|
||||
unset($prev_color);
|
||||
|
@ -64,17 +53,18 @@ if (preg_match('~^(include/)?[-_.a-z0-9]+$~i', $_GET["filename"])) {
|
|||
}
|
||||
} else {
|
||||
// display list of files
|
||||
echo "<table border='0' cellspacing='0' cellpadding='1'>\n";
|
||||
foreach (array_merge(glob("adminer/*.php"), glob("adminer/include/*.php")) as $filename) {
|
||||
echo "<table cellspacing='0'>\n";
|
||||
foreach (array_merge(glob("*.php"), glob("include/*.php")) as $filename) {
|
||||
$cov = $_SESSION["coverage"][realpath($filename)];
|
||||
$filename = substr($filename, 8);
|
||||
$ratio = 0;
|
||||
if (isset($cov)) {
|
||||
$values = array_count_values($cov);
|
||||
$ratio = round(100 - 100 * $values[-1] / count($cov));
|
||||
}
|
||||
echo "<tr><td align='right' style='background-color: " . ($ratio < 50 ? "Red" : ($ratio < 75 ? "#FFEA20" : "#A7FC9D")) . ";'>$ratio%</td><td><a href='coverage.php?filename=$filename'>$filename</a></td></tr>\n";
|
||||
echo "<tr><td align='right' style='background-color: " . ($ratio < 50 ? "Red" : ($ratio < 75 ? "#FFEA20" : "#A7FC9D")) . ";'>$ratio%</td><th><a href=\"" . htmlspecialchars($SELF) . "coverage=$filename\">$filename</a></th></tr>\n";
|
||||
}
|
||||
echo "</table>\n";
|
||||
echo "<p><a href='coverage.php?start=1'>Start new coverage</a> (requires <a href='http://www.xdebug.org'>Xdebug</a>)</p>\n";
|
||||
echo '<p><a href="' . htmlspecialchars($SELF) . 'coverage=0">Start new coverage</a></p>' . "\n";
|
||||
}
|
||||
page_footer("auth");
|
||||
exit;
|
|
@ -26,10 +26,6 @@ if (isset($_SESSION["coverage"])) {
|
|||
}
|
||||
xdebug_start_code_coverage(XDEBUG_CC_UNUSED | XDEBUG_CC_DEAD_CODE);
|
||||
register_shutdown_function('save_coverage');
|
||||
if ($_GET["start"]) {
|
||||
// included from ../coverage.php
|
||||
return;
|
||||
}
|
||||
}
|
||||
// disable magic quotes to be able to use database escaping function
|
||||
if (get_magic_quotes_gpc()) {
|
||||
|
@ -55,6 +51,9 @@ include "./include/functions.inc.php";
|
|||
include "./include/lang.inc.php";
|
||||
include "./lang/$LANG.inc.php";
|
||||
include "./include/design.inc.php";
|
||||
if (isset($_GET["coverage"])) {
|
||||
include "./coverage.inc.php";
|
||||
}
|
||||
include "./include/pdo.inc.php";
|
||||
include "./include/mysql.inc.php";
|
||||
include "./include/auth.inc.php";
|
||||
|
|
|
@ -171,6 +171,7 @@ if ($_SERVER["argc"] > 1) {
|
|||
|
||||
$filename = "adminer" . ($_COOKIE["adminer_lang"] ? "-$_COOKIE[adminer_lang]" : "") . ".php";
|
||||
$file = file_get_contents(dirname(__FILE__) . "/adminer/index.php");
|
||||
$file = preg_replace('(' . str_replace(' ', '\\s*', preg_quote(' if (isset($_GET["coverage"])) { include "./coverage.inc.php"; }')) . ')', '', $file);
|
||||
$file = preg_replace_callback('~\\b(include|require) "([^"]*)";~', 'put_file', $file);
|
||||
$file = preg_replace("~if \\(isset\\(\\\$_SESSION\\[\"coverage.*\n}\n| && !isset\\(\\\$_SESSION\\[\"coverage\"\\]\\)~sU", '', $file);
|
||||
if ($_COOKIE["adminer_lang"]) {
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
</thead><tbody>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/adminer/coverage.php?start=1</td>
|
||||
<td>/adminer/adminer/?coverage=0</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
|
@ -38,7 +38,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td>open</td>
|
||||
<td>/adminer/coverage.php</td>
|
||||
<td>/adminer/adminer/?coverage=</td>
|
||||
<td></td>
|
||||
</tr>
|
||||
|
||||
|
|
Loading…
Reference in a new issue