boinc/tools/xadd

70 lines
2.3 KiB
PHP
Executable File

#!/usr/bin/env php
<?php
// This file is part of BOINC.
// http://boinc.berkeley.edu
// Copyright (C) 2015 University of California
//
// BOINC is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License
// as published by the Free Software Foundation,
// either version 3 of the License, or (at your option) any later version.
//
// BOINC is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
// See the GNU Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public License
// along with BOINC. If not, see <http://www.gnu.org/licenses/>.
// parse project.xml; add apps and platforms to the DB
chdir("html/inc");
require_once("boinc_db.inc");
chdir("../..");
$x = simplexml_load_file("project.xml");
foreach ($x->platform as $platform) {
$n = (string)$platform->name;
$ufn = (string)$platform->user_friendly_name;
$p = BoincPlatform::lookup("name='$n'");
if ($p) {
if ($p->user_friendly_name != $ufn) {
$p->update("user_friendly_name='$ufn'");
echo "updated user friendly name of platform $n\n";
} else {
echo "platform $n already in DB\n";
}
} else {
$now = time();
$q = "(create_time, name, user_friendly_name) values ($now, '$n', '$ufn')";
BoincPlatform::insert($q);
echo "added platform: $q\n";
}
}
foreach ($x->app as $app) {
$n = (string)$app->name;
$ufn = (string)$app->user_friendly_name;
$min_version = (int)$app->min_version;
$a = BoincApp::lookup("name='$n'");
if ($a) {
if ($a->user_friendly_name != $ufn) {
$a->update("user_friendly_name='$ufn'");
echo "updated user friendly name of app $n\n";
} else if ($a->min_version != $min_version) {
$a->update("min_version = $min_version");
echo "updated min_version of app $n\n";
} else {
echo "app $n already in DB\n";
}
} else {
$now = time();
$q = "(create_time, name, user_friendly_name) values ($now, '$n', '$ufn')";
BoincApp::insert($q);
echo "added app: $q\n";
}
}
?>