diff --git a/html/ops/index.php b/html/ops/index.php
index ee4cba3acd..1a7ba064bc 100644
--- a/html/ops/index.php
+++ b/html/ops/index.php
@@ -17,18 +17,52 @@ admin_page_head($title);
// Notification area
echo "
\n";
+if (file_exists("../../local.revision")) {
+ $local_rev = file_get_contents("../../local.revision");
+}
+
+// Check if latest revision is cached and cache has not yet expired
+if (!file_exists("../cache/remote.revision") || (filemtime("../cache/remote.revision")+(24*60*60) < time())) {
+ // Get latest revision
+ $handle = fopen("http://boinc.berkeley.edu/svn/", "r");
+ $remote = fread($handle, 255);
+ fclose($handle);
+ preg_match("/Revision (\d+)/", $remote, $remote_rev);
+ $remote_rev = $remote_rev[1];
+
+ $handle = fopen("../cache/remote.revision", "w");
+ fwrite($handle, $remote_rev);
+ fclose($handle);
+} else {
+ // Read cached revision
+ $remote_rev = file_get_contents("../cache/remote.revision");
+}
+
+echo "- ";
+if ($local_rev) {
+ echo "Currently used SVN revision: ".$local_rev." ";
+}
+echo "Latest SVN revision: ".$remote_rev."
\n";
+
if (!file_exists(".htaccess")) {
- echo "- The Project Management directory is not
+ echo "
- The Project Management directory is not
protected from public access by a .htaccess file.
\n";
}
-if (parse_bool($config, "disable_account_creation")) {
- echo "- Account creation is disabled.
\n";
+if (!defined("SYS_ADMIN_EMAIL")) {
+ echo "- The defined constant SYS_ADMIN_EMAIL
+ has not been set. Please edit project/project.inc and set this
+ to an address which can be used to contact the project administrators.
+
\n";
}
-if (defined('INVITE_CODES')) {
- echo "- Account creation is restricted by the use of
- invitation codes.
\n";
+if (parse_bool($config, "disable_account_creation")) {
+ echo "- Account creation is disabled.
\n";
+}
+
+if (defined("INVITE_CODES")) {
+ echo "- Account creation is restricted by the use of
+ invitation codes.
\n";
}
$uotd_candidates = count_uotd_candidates();
@@ -40,56 +74,56 @@ if ($uotd_candidates >= 0) {
} else {
$color = "#ff9900";
}
- echo "- There are ".$uotd_candidates." remaining
- candidates for User of the Day.
\n";
+ echo "- There are ".$uotd_candidates." remaining
+ candidates for User of the Day.
\n";
}
echo "
\n";
echo "
-
+
Browse database:
-
+
|
Regular Operations:
-
+
|
Special Operations:
|
@@ -99,63 +133,63 @@ echo "
// Application Result Summaries:
$show_deprecated = get_str("show_deprecated", true);
-$show_only = array('all'); // Add all appid's you want to display, or 'all'
+$show_only = array("all"); // Add all appids you want to display, or "all"
$result = mysql_query("select id, name, deprecated from app");
while ($app = mysql_fetch_object($result)) {
- if ( in_array($app->id, $show_only)
+ if (in_array($app->id, $show_only)
|| ( in_array("all", $show_only)
&& (!$app->deprecated || $show_deprecated)
)
) {
-
+
echo "
- Result summary for $app->name:
-
+ ";
}
}
mysql_free_result($result);
if ($show_deprecated) {
- echo "Hide deprecated applications";
+ echo "Hide deprecated applications";
} else {
- echo "Show deprecated applications";
+ echo "Show deprecated applications";
}
// Periodic tasks
echo "Periodic or special tasks
-
+
- The following scripts should be run as periodic tasks,
- not via this web page
- (see http://boinc.berkeley.edu/project_tasks.php):
-
update_forum_activities.php, update_profile_pages.php, update_uotd.php
+ not via this web page
+ (see http://boinc.berkeley.edu/trac/wiki/ProjectTasks):
+ update_forum_activities.php, update_profile_pages.php, update_uotd.php
- The following scripts can be run manually on the command line
- as needed (i.e. php scriptname.php):
+ as needed (i.e. php scriptname.php):
forum_repair.php, team_repair.php, repair_validator_problem.php
-
+
";
-
// Stripcharts, logs, etc
-echo "
- Stripcharts
- | Show/Grep all logs
- | Tail MySQL logs
-
- ";
+echo "
+";
+
+admin_page_tail();
?>