Permalink
Browse files

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
  • Loading branch information...
1 parent 75fc104 commit 91156d1a1d671036b363a879a723b1c2871cdb51 jakubvrana committed Jun 24, 2009
Showing with 21 additions and 31 deletions.
  1. +15 −25 coverage.php → adminer/coverage.inc.php
  2. +3 −4 adminer/index.php
  3. +1 −0 compile.php
  4. +1 −1 tests/0-login.html
  5. +1 −1 tests/logout.html
@@ -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 @@ function xhtml_open_tags($s) {
}
} 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;
View
@@ -26,10 +26,6 @@ function save_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 @@ function save_coverage() {
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";
View
@@ -171,6 +171,7 @@ function php_shrink($input) {
$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"]) {
View
@@ -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>
View
@@ -38,7 +38,7 @@
</tr>
<tr>
<td>open</td>
- <td>/adminer/coverage.php</td>
+ <td>/adminer/adminer/?coverage=</td>
<td></td>
</tr>

0 comments on commit 91156d1

Please sign in to comment.