#!/usr/bin/env php . // 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"; } } ?>