Merge "Use local context to get messages"
[lhc/web/wiklou.git] / profileinfo.php
index b8dc15b..ef038c1 100644 (file)
 ini_set( 'zlib.output_compression', 'off' );
 
 $wgEnableProfileInfo = $wgProfileToDatabase = false;
+if ( isset( $_SERVER['MW_COMPILED'] ) ) {
+       require ( 'core/includes/WebStart.php' );
+} else {
+       require ( dirname( __FILE__ ) . '/includes/WebStart.php' );
+}
+
 
-require_once( './includes/WebStart.php' );
+header( 'Content-Type: text/html; charset=utf-8' );
 
 ?>
 <html>
@@ -50,16 +56,20 @@ require_once( './includes/WebStart.php' );
                text-align: right;
        }
        td.timep, td.tpc, td.tpr {
-               background-color: #fffff0;
+               background-color: #ffff80;
        }
        td.memoryp, td.mpc, td.mpr {
-               background-color: #f0f8ff;
+               background-color: #80f8ff;
        }
        td.count, td,cpr {
-               background-color: #f0fff0;
+               background-color: #80ff80;
        }
        td.name {
-               background-color: #f9f9f9;
+               background-color: #89f9f9;
+       }
+
+       tr:hover {
+               font-weight: bold;
        }
 </style>
 </head>
@@ -72,6 +82,17 @@ if ( !$wgEnableProfileInfo ) {
        exit( 1 );
 }
 
+$dbr = wfGetDB( DB_SLAVE );
+
+if( !$dbr->tableExists( 'profiling' ) ) {
+       echo "<p>No 'profiling' table exists, so we can't show you anything.</p>\n";
+       echo "<p>If you want to log profiling data, create the table using "
+               . "<tt>maintenance/archives/patch-profiling.sql</tt> and enable "
+               . "<tt>\$wgProfileToDatabase</tt>.</p>\n";
+       echo "</body></html>";
+       exit( 1 );
+}
+
 $expand = array();
 if ( isset( $_REQUEST['expand'] ) )
        foreach( explode( ',', $_REQUEST['expand'] ) as $f )
@@ -182,7 +203,7 @@ class profile_point {
        }
 };
 
-function compare_point( $a, $b ) {
+function compare_point(profile_point $a, profile_point $b) {
        global $sort;
        switch ( $sort ) {
        case "name":
@@ -212,8 +233,6 @@ $sort = 'time';
 if ( isset( $_REQUEST['sort'] ) && in_array( $_REQUEST['sort'], $sorts ) )
        $sort = $_REQUEST['sort'];
 
-
-$dbr = wfGetDB( DB_SLAVE );
 $res = $dbr->select( 'profiling', '*', array(), 'profileinfo.php', array( 'ORDER BY' => 'pf_name ASC' ) );
 
 if (isset( $_REQUEST['filter'] ) )