# # # patch "hostconfig.dist" # from [f194cf04bfa0ffb93df9434ceec738670202f2c3] # to [e33ffe8005f260868de8f431b8f0e8a552c00bf7] # # patch "schema.sql" # from [88d60e294727d99f361429ec3f63fddece7fb67b] # to [7ac9ff4513b78347c54178c96cae5d09604716e5] # # patch "www/admin-permissions_backend.php" # from [f03b110a705a1d3ae8ebed71987a94ebc2adaa80] # to [fe7eeb8b0b6ad5f905dc314e51aee3e505852ed2] # # patch "www/common-resource.php" # from [958c85685f30e4a13024444e460b2c11528aa454] # to [fbb14c31a5b356f9199190f90cee387a3c9a247d] # # patch "www/common.php" # from [3088c0608938da725d06013aa0f9d6d7eaa16527] # to [d6c9e6c5361a9a2518d3b8f8edd80e4d157e04c4] # # patch "www/index.php" # from [3361dc77f10506370f720fae8b77065029d082ad] # to [5f9e7acf6223831714832741f786f5b199c16637] # # patch "www/proj-ctrl.php" # from [ce8e7729dcf57087f1948f384f6455cdb986cae2] # to [5b6b3ab7b921c13a82c4af22f8ea65c280eee72a] # ============================================================ --- hostconfig.dist f194cf04bfa0ffb93df9434ceec738670202f2c3 +++ hostconfig.dist e33ffe8005f260868de8f431b8f0e8a552c00bf7 @@ -1,9 +1,8 @@ userpass "username" "password" hostname "hostname" serverdir "/home/timothy/experiment" -adodb_path "/usr/share/adodb" -dbtype "postgres" -dbstring "dbname=testdb" +adodb_path "/usr/share/adodb/adodb.inc.php" +dbstring "postgres://dbuser:address@hidden/dbname" admin "127.0.0.5:12345" hostkey "address@hidden" ============================================================ --- schema.sql 88d60e294727d99f361429ec3f63fddece7fb67b +++ schema.sql 7ac9ff4513b78347c54178c96cae5d09604716e5 @@ -1,7 +1,10 @@ -CREATE TABLE users ( username varchar(80), password varchar(80) ); +CREATE TABLE users ( username varchar(80), + password varchar(80), + primary key (username) ); -CREATE TABLE projects ( name varchar(80) ); +CREATE TABLE projects ( name varchar(80), + primary key (name) ); CREATE TABLE permissions ( username varchar(80), project varchar(80), @@ -10,10 +13,12 @@ homepage smallint, access smallint, server smallint, - description smallint ); + description smallint, + primary key (username, project) ); CREATE TABLE resources ( project varchar(80), name varchar(80), type varchar(80), - data varchar(160) + data varchar(160), + primary key (project) ); ============================================================ --- www/admin-permissions_backend.php f03b110a705a1d3ae8ebed71987a94ebc2adaa80 +++ www/admin-permissions_backend.php fe7eeb8b0b6ad5f905dc314e51aee3e505852ed2 @@ -53,7 +53,7 @@ break; } $fields = "username, project, give, upload, homepage, access, server, description"; - $query = sprintf("INSERT INTO permissions (%s) VALUES (i?,?,?,?,?,?,?,?)", $fields); + $query = sprintf("INSERT INTO permissions (%s) VALUES (?,?,?,?,?,?,?,?)", $fields); $istmt = $db->Prepare($query); foreach ($args->newmaint as $i) { $result = $db->Execute($istmt, ============================================================ --- www/common-resource.php 958c85685f30e4a13024444e460b2c11528aa454 +++ www/common-resource.php fbb14c31a5b356f9199190f90cee387a3c9a247d @@ -1,23 +1,23 @@ Execute($db, $query, array($project)); + $result = $db->Execute($query, array($project)); $out = array(); if ($result) { while (!$result->EOF) { - $row = $result->FetchRow(); - $r['name'] = $row[0]; - if ($row[1] == 0) { + $r['name'] = $result->fields[0]; + if ($result->fields[1] == 0) { $r['type'] = "link"; - } elseif ($row[1] == 1) { + } elseif ($result->fields[1] == 1) { $r['type'] = "irc"; } else { $r['type'] = "unknown"; } - $r['data'] = $row[2]; + $r['data'] = $result->fields[2]; $out[] = $r; + $result->MoveNext(); } } return $out; ============================================================ --- www/common.php 3088c0608938da725d06013aa0f9d6d7eaa16527 +++ www/common.php d6c9e6c5361a9a2518d3b8f8edd80e4d157e04c4 @@ -35,8 +35,6 @@ $serverdir = nxt($splitconf); } elseif($i == "adodb_path") { $adodb_path = nxt($splitconf); - } elseif($i == "dbtype") { - $dbtype = nxt($splitconf); } elseif($i == "dbstring") { $dbstring = nxt($splitconf); } elseif($i == "hostkey") { @@ -97,13 +95,12 @@ include_once($adodb_path); $validuser = false; -$db = &ADONewConnection( rawurlencode($dbstring) ); +$db = &ADONewConnection( $dbstring ); $result = $db->Execute("SELECT password FROM users WHERE username=?", array($username)); if ($result) { $rows = $result->RecordCount(); if ($rows == 1) { - $row = $result->fields[0]; - if ($row[0] == $shapass) { + if ($result->fields[0] == $shapass) { $validuser = true; } } ============================================================ --- www/index.php 3361dc77f10506370f720fae8b77065029d082ad +++ www/index.php 5f9e7acf6223831714832741f786f5b199c16637 @@ -27,7 +27,7 @@ printf("%s | \n", $result->fields[0]); printf("Project info page | \n", $result->fields[0]); if ($validuser) { - printf("Maintainer Page | \n", $row[0]); + printf("Maintainer Page | \n", $result->fields[0]); } printf("mtn pull %s.%s \\*\n", $result->fields[0], $hostname); printf("
\n"); ============================================================ --- www/proj-ctrl.php ce8e7729dcf57087f1948f384f6455cdb986cae2 +++ www/proj-ctrl.php 5b6b3ab7b921c13a82c4af22f8ea65c280eee72a @@ -134,7 +134,7 @@ } $fields = "username, project, give, upload, homepage, access, server, description"; $query = sprintf("INSERT INTO permissions (%s) VALUES (?,?,1,1,1,1,1,1)", $fields); - $result = $db->Execute($query, array($username, $project))); + $result = $db->Execute($query, array($username, $project)); if(!$result) { $err = true; print $json->encode(array("error" => "Internal server error."));