4 require_once dirname(__FILE__).'/../www/env.inc.php';
5 require_once $gfwww.'include/squal_pre.php';
8 print forge_get_config ('forge_name')." Could Not Connect to Database: ".db_error();
12 // HERE BEGINS THE ACTUAL SCRIPT
14 if (count($argv) < 2) {
15 echo "Usage: startpoint.php [version]\n";
20 if (!check_tables()) {
21 echo "ERROR: Could not check tables\n";
24 $date = check_version($version);
27 set_version($version, $date);
32 function check_tables() {
34 $res = db_query_params ('SELECT COUNT(*) AS exists FROM pg_class WHERE relname = $1 AND relkind = $2',
35 array('database_startpoint',
38 if (!$res) { // db error
39 echo "DB-ERROR-1: ".db_error()."\n";
43 if (db_result($res, 0, 'exists') == '0') {
44 $res = db_query_params ('CREATE TABLE database_startpoint (db_version varchar(10), db_start_date int)',
47 if (!$res) { // db error
48 echo "DB-ERROR-2: ".db_error()."\n";
53 $res = db_query_params ('SELECT COUNT(*) AS exists FROM pg_class WHERE relname = $1 AND relkind = $2',
54 array('database_changes',
57 if (!$res) { // db error
58 echo "DB-ERROR-3: ".db_error()."\n";
62 if (db_result($res, 0, 'exists') == '0') {
63 $res = db_query_params ('CREATE TABLE database_changes (filename text)',
66 if (!$res) { // db error
67 echo "DB-ERROR-4: ".db_error()."\n";
76 function check_version($version = 0) {
77 $version = trim($version);
79 $versions = array('2.5', 'sfee3.3', 'sfee3.0', '2.6','3.0pre5', '3.0pre6', '3.0pre7', '3.0pre8', '3.0pre9',
80 '3.0b1', '3.0rc2', '3.0', '3.1', '3.21', '3.3', '4.0', '4.0.1', '4.0.2', '4.5.0.1','4.5.11',
81 '4.6', '4.7', '4.7.3', '4.8rc2', '4.8', '4.8.1','4.8.2');
82 $dates = array('20001219', '20021001', '20021001', '20021001', '20021206', '20021210', '20021214', '20021230',
83 '20030115', '20030304', '20030510', '20040511', '20031026', '20040108', '20040326', '20041025',
84 '20041107', '20041215','20050803','20050810',
85 '20070924', '20070924', '20070924', '20090402', '20090402', '20090402','20090402');
87 if (in_array($version, $versions)) {
88 $date = $dates[array_search($version, $versions)];
91 echo "\nInvalid version!";
93 echo "\nUse one of the following versions:\n";
94 foreach ($versions as $nbr) {
101 function set_version($version, $date) {
103 $res = db_query_params ('TRUNCATE TABLE database_startpoint',
106 if (!$res) { // db error
107 echo "DB-ERROR-5: ".db_error()."\n";
111 $res = db_query_params ('INSERT INTO database_startpoint (db_version, db_start_date) VALUES ($1, $2)',
115 if (!$res) { // db error
116 echo "DB-ERROR-5: ".db_error()."\n";
120 echo "GForge Database Version: $version ($date)\n";