diff --git a/campcaster/src/modules/storageServer/var/install/install.php b/campcaster/src/modules/storageServer/var/install/install.php index dda954084..22965d6cc 100644 --- a/campcaster/src/modules/storageServer/var/install/install.php +++ b/campcaster/src/modules/storageServer/var/install/install.php @@ -1,6 +1,5 @@ * @author Paul Baranowski * @version $Revision$ * @package Campcaster @@ -29,6 +28,7 @@ echo "*************************\n"; require_once('../conf.php'); require_once('../GreenBox.php'); +require_once("installInit.php"); require_once('installMain.php'); require_once('installStorage.php'); diff --git a/campcaster/src/modules/storageServer/var/install/installInit.php b/campcaster/src/modules/storageServer/var/install/installInit.php new file mode 100644 index 000000000..6404c8bc5 --- /dev/null +++ b/campcaster/src/modules/storageServer/var/install/installInit.php @@ -0,0 +1,49 @@ +GetOne($sql); + if (PEAR::isError($result)) { + return false; + } + return true; +} + +function camp_install_query($sql, $verbose = true) +{ + global $CC_DBC; + $result = $CC_DBC->query($sql); + if (PEAR::isError($result)) { + echo "Error! ".$result->getMessage()."\n"; + echo " SQL statement was:\n"; + echo " ".$sql."\n\n"; + } else { + if ($verbose) { + echo "done.\n"; + } + } +} + +$CC_DBC = DB::connect($CC_CONFIG['dsn'], TRUE); +if (PEAR::isError($CC_DBC)) { + echo $CC_DBC->getMessage()."\n"; + echo $CC_DBC->getUserInfo()."\n"; + echo "Database connection problem.\n"; + echo "Check if database '{$CC_CONFIG['dsn']['database']}' exists". + " with corresponding permissions.\n"; + exit(1); +} else { + echo " * Connected to database\n"; +} + +$CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC); + +?> \ No newline at end of file diff --git a/campcaster/src/modules/storageServer/var/install/installMain.php b/campcaster/src/modules/storageServer/var/install/installMain.php index d23082358..cf10bb503 100644 --- a/campcaster/src/modules/storageServer/var/install/installMain.php +++ b/campcaster/src/modules/storageServer/var/install/installMain.php @@ -1,6 +1,5 @@ * @author Paul Baranowski * @version $Revision: 2475 $ * @package Campcaster @@ -19,92 +18,67 @@ if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) { exit(1); } -if (!function_exists('pg_connect')) { - trigger_error("PostgreSQL PHP extension required and not found.", E_USER_ERROR); - exit(2); -} - -require_once('DB.php'); - -function camp_db_table_exists($p_name) -{ - global $CC_DBC; - $sql = "SELECT * FROM ".$p_name; - $result = $CC_DBC->GetOne($sql); - if (PEAR::isError($result)) { - return false; - } - return true; -} - - -$CC_DBC = DB::connect($CC_CONFIG['dsn'], TRUE); -if (PEAR::isError($CC_DBC)) { - echo $CC_DBC->getMessage()."\n"; - echo $CC_DBC->getUserInfo()."\n"; - echo "Database connection problem.\n"; - echo "Check if database '{$CC_CONFIG['dsn']['database']}' exists". - " with corresponding permissions.\n"; - echo "Database access is defined by 'dsn' values in var/conf.php ". - "(in storageServer directory).\n"; - exit(1); -} else { - echo " * Connected to database\n"; -} - -$CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC); - //------------------------------------------------------------------------------ // Install database tables //------------------------------------------------------------------------------ if (!camp_db_table_exists($CC_CONFIG['treeTable'])) { echo " * Creating database table ".$CC_CONFIG['treeTable']."..."; - $r = $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['treeTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['treeTable']." ( id int not null PRIMARY KEY, name varchar(255) not null default'', -- parid int, type varchar(255) not null default'', - param varchar(255))"); - if (PEAR::isError($r)) { - echo $r->getMessage()."\n"; - } + param varchar(255))"; + camp_install_query($sql, false); + $CC_DBC->createSequence($CC_CONFIG['treeTable']."_id_seq"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['treeTable']."_id_idx - ON ".$CC_CONFIG['treeTable']." (id)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['treeTable']."_name_idx - ON ".$CC_CONFIG['treeTable']." (name)"); - echo "done.\n"; + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['treeTable']."_id_idx + ON ".$CC_CONFIG['treeTable']." (id)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['treeTable']."_name_idx + ON ".$CC_CONFIG['treeTable']." (name)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['treeTable']."\n"; } if (!camp_db_table_exists($CC_CONFIG['structTable'])) { echo " * Creating database table ".$CC_CONFIG['structTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['structTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['structTable']." ( rid int not null PRIMARY KEY, objid int not null REFERENCES ".$CC_CONFIG['treeTable']." ON DELETE CASCADE, parid int not null REFERENCES ".$CC_CONFIG['treeTable']." ON DELETE CASCADE, - level int - )"); + level int)"; + camp_install_query($sql, false); + $CC_DBC->createSequence($CC_CONFIG['structTable']."_id_seq"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['structTable']."_rid_idx - ON ".$CC_CONFIG['structTable']." (rid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['structTable']."_objid_idx - ON ".$CC_CONFIG['structTable']." (objid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['structTable']."_parid_idx - ON ".$CC_CONFIG['structTable']." (parid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['structTable']."_level_idx - ON ".$CC_CONFIG['structTable']." (level)"); - $CC_DBC->query(" - CREATE UNIQUE INDEX ".$CC_CONFIG['structTable']."_objid_level_idx - ON ".$CC_CONFIG['structTable']." (objid, level) - "); - $CC_DBC->query(" - CREATE UNIQUE INDEX ".$CC_CONFIG['structTable']."_objid_parid_idx - ON ".$CC_CONFIG['structTable']." (objid, parid) - "); - echo "done.\n"; + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['structTable']."_rid_idx + ON ".$CC_CONFIG['structTable']." (rid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['structTable']."_objid_idx + ON ".$CC_CONFIG['structTable']." (objid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['structTable']."_parid_idx + ON ".$CC_CONFIG['structTable']." (parid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['structTable']."_level_idx + ON ".$CC_CONFIG['structTable']." (level)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['structTable']."_objid_level_idx + ON ".$CC_CONFIG['structTable']." (objid, level)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['structTable']."_objid_parid_idx + ON ".$CC_CONFIG['structTable']." (objid, parid)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['structTable']."\n"; } @@ -137,35 +111,39 @@ if (!PEAR::isError($row) && !$row) { if (!camp_db_table_exists($CC_CONFIG['classTable'])) { echo " * Creating database table ".$CC_CONFIG['classTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['classTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['classTable']." ( id int not null PRIMARY KEY, - cname varchar(20) - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['classTable']."_id_idx - ON ".$CC_CONFIG['classTable']." (id)"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['classTable']."_cname_idx - ON ".$CC_CONFIG['classTable']." (cname)"); - echo "done.\n"; + cname varchar(20))"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['classTable']."_id_idx + ON ".$CC_CONFIG['classTable']." (id)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['classTable']."_cname_idx + ON ".$CC_CONFIG['classTable']." (cname)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['classTable']."\n"; } if (!camp_db_table_exists($CC_CONFIG['cmembTable'])) { echo " * Creating database table ".$CC_CONFIG['cmembTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['cmembTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['cmembTable']." ( objid int not null, - cid int not null - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['cmembTable']."_idx - ON ".$CC_CONFIG['cmembTable']." (objid, cid)"); - echo "done.\n"; + cid int not null)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['cmembTable']."_idx + ON ".$CC_CONFIG['cmembTable']." (objid, cid)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['cmembTable']."\n"; } if (!camp_db_table_exists($CC_CONFIG['subjTable'])) { echo " * Creating database table ".$CC_CONFIG['subjTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['subjTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['subjTable']." ( id int not null PRIMARY KEY, login varchar(255) not null default'', pass varchar(255) not null default'', @@ -173,11 +151,17 @@ if (!camp_db_table_exists($CC_CONFIG['subjTable'])) { realname varchar(255) not null default'', lastlogin timestamp, lastfail timestamp - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['subjTable']."_id_idx - ON ".$CC_CONFIG['subjTable']." (id)"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['subjTable']."_login_idx - ON ".$CC_CONFIG['subjTable']." (login)"); + )"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['subjTable']."_id_idx + ON ".$CC_CONFIG['subjTable']." (id)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['subjTable']."_login_idx + ON ".$CC_CONFIG['subjTable']." (login)"; + camp_install_query($sql, false); + $CC_DBC->createSequence($CC_CONFIG['subjTable']."_id_seq"); echo "done.\n"; } else { @@ -186,15 +170,18 @@ if (!camp_db_table_exists($CC_CONFIG['subjTable'])) { if (!camp_db_table_exists($CC_CONFIG['smembTable'])) { echo " * Creating database table ".$CC_CONFIG['smembTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['smembTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['smembTable']." ( id int not null PRIMARY KEY, uid int not null default 0, gid int not null default 0, level int not null default 0, - mid int - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['smembTable']."_id_idx - ON ".$CC_CONFIG['smembTable']." (id)"); + mid int)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['smembTable']."_id_idx + ON ".$CC_CONFIG['smembTable']." (id)"; + camp_install_query($sql, false); + $CC_DBC->createSequence($CC_CONFIG['smembTable']."_id_seq"); echo "done.\n"; } else { @@ -203,19 +190,26 @@ if (!camp_db_table_exists($CC_CONFIG['smembTable'])) { if (!camp_db_table_exists($CC_CONFIG['permTable'])) { echo " * Creating database table ".$CC_CONFIG['permTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['permTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['permTable']." ( permid int not null PRIMARY KEY, subj int REFERENCES ".$CC_CONFIG['subjTable']." ON DELETE CASCADE, action varchar(20), obj int, - type char(1) - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['permTable']."_permid_idx - ON ".$CC_CONFIG['permTable']." (permid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['permTable']."_subj_obj_idx - ON ".$CC_CONFIG['permTable']." (subj, obj)"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['permTable']."_all_idx - ON ".$CC_CONFIG['permTable']." (subj, action, obj)"); + type char(1))"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['permTable']."_permid_idx + ON ".$CC_CONFIG['permTable']." (permid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['permTable']."_subj_obj_idx + ON ".$CC_CONFIG['permTable']." (subj, obj)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['permTable']."_all_idx + ON ".$CC_CONFIG['permTable']." (subj, action, obj)"; + camp_install_query($sql, false); + $CC_DBC->createSequence($CC_CONFIG['permTable']."_id_seq"); echo "done.\n"; } else { @@ -224,26 +218,52 @@ if (!camp_db_table_exists($CC_CONFIG['permTable'])) { if (!camp_db_table_exists($CC_CONFIG['sessTable'])) { echo " * Creating database table ".$CC_CONFIG['sessTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['sessTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['sessTable']." ( sessid char(32) not null PRIMARY KEY, userid int REFERENCES ".$CC_CONFIG['subjTable']." ON DELETE CASCADE, login varchar(255), - ts timestamp - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['sessTable']."_sessid_idx - ON ".$CC_CONFIG['sessTable']." (sessid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['sessTable']."_userid_idx - ON ".$CC_CONFIG['sessTable']." (userid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['sessTable']."_login_idx - ON ".$CC_CONFIG['sessTable']." (login)"); - echo "done.\n"; + ts timestamp)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['sessTable']."_sessid_idx + ON ".$CC_CONFIG['sessTable']." (sessid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['sessTable']."_userid_idx + ON ".$CC_CONFIG['sessTable']." (userid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['sessTable']."_login_idx + ON ".$CC_CONFIG['sessTable']." (login)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['sessTable']."\n"; } +/** + * file states: + * + * file types: + * + * access types: + * + */ if (!camp_db_table_exists($CC_CONFIG['filesTable'])) { echo " * Creating database table ".$CC_CONFIG['filesTable']."..."; - $r = $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['filesTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['filesTable']." ( id int not null, gunid bigint not null, -- global unique ID name varchar(255) not null default'', -- human file id ;) @@ -252,23 +272,47 @@ if (!camp_db_table_exists($CC_CONFIG['filesTable'])) { state varchar(128) not null default'empty', -- file state currentlyaccessing int not null default 0, -- access counter editedby int REFERENCES ".$CC_CONFIG['subjTable'].", -- who edits it - mtime timestamp(6) with time zone -- lst modif.time - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['filesTable']."_id_idx - ON ".$CC_CONFIG['filesTable']." (id)"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['filesTable']."_gunid_idx - ON ".$CC_CONFIG['filesTable']." (gunid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['filesTable']."_name_idx - ON ".$CC_CONFIG['filesTable']." (name)"); - echo "done.\n"; + mtime timestamp(6) with time zone, -- lst modif.time + md5 char(32) + )"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['filesTable']."_id_idx + ON ".$CC_CONFIG['filesTable']." (id)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['filesTable']."_gunid_idx + ON ".$CC_CONFIG['filesTable']." (gunid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['filesTable']."_name_idx + ON ".$CC_CONFIG['filesTable']." (name)"; + camp_install_query($sql); + + $sql = "CREATE INDEX ".$CC_CONFIG['filesTable']."_md5_idx + ON ls_files (md5)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['filesTable']."\n"; } +/** + * id subjns subject predns predicate objns object + * y1 literal xmbf NULL namespace literal http://www.sotf.org/xbmf + * x1 gunid xbmf contributor NULL NULL + * x2 mdid x1 xbmf role literal Editor + * + * predefined shortcuts: + * _L = literal + * _G = gunid (global id of media file) + * _I = mdid (local id of metadata record) + * _nssshortcut = namespace shortcut definition + * _blank = blank node + */ if (!camp_db_table_exists($CC_CONFIG['mdataTable'])) { echo " * Creating database table ".$CC_CONFIG['mdataTable']."..."; $CC_DBC->createSequence($CC_CONFIG['mdataTable']."_id_seq"); - $r = $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['mdataTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['mdataTable']." ( id int not null, gunid bigint, subjns varchar(255), -- subject namespace shortcut/uri @@ -278,23 +322,31 @@ if (!camp_db_table_exists($CC_CONFIG['mdataTable'])) { predxml char(1) not null default 'T', -- Tag or Attribute objns varchar(255), -- object namespace shortcut/uri object text - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['mdataTable']."_id_idx - ON ".$CC_CONFIG['mdataTable']." (id)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['mdataTable']."_gunid_idx - ON ".$CC_CONFIG['mdataTable']." (gunid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['mdataTable']."_subj_idx - ON ".$CC_CONFIG['mdataTable']." (subjns, subject)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['mdataTable']."_pred_idx - ON ".$CC_CONFIG['mdataTable']." (predns, predicate)"); - echo "done.\n"; + )"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['mdataTable']."_id_idx + ON ".$CC_CONFIG['mdataTable']." (id)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['mdataTable']."_gunid_idx + ON ".$CC_CONFIG['mdataTable']." (gunid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['mdataTable']."_subj_idx + ON ".$CC_CONFIG['mdataTable']." (subjns, subject)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['mdataTable']."_pred_idx + ON ".$CC_CONFIG['mdataTable']." (predns, predicate)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['mdataTable']."\n"; } if (!camp_db_table_exists($CC_CONFIG['accessTable'])) { echo " * Creating database table ".$CC_CONFIG['accessTable']."..."; - $r = $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['accessTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['accessTable']." ( gunid bigint, -- global unique id token bigint, -- access token chsum char(32) not null default'', -- md5 checksum @@ -303,14 +355,20 @@ if (!camp_db_table_exists($CC_CONFIG['accessTable'])) { parent bigint, -- parent token owner int REFERENCES ".$CC_CONFIG['subjTable'].", -- subject have started it ts timestamp - )"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['accessTable']."_token_idx - ON ".$CC_CONFIG['accessTable']." (token)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['accessTable']."_gunid_idx - ON ".$CC_CONFIG['accessTable']." (gunid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['accessTable']."_parent_idx - ON ".$CC_CONFIG['accessTable']." (parent)"); - echo "done.\n"; + )"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['accessTable']."_token_idx + ON ".$CC_CONFIG['accessTable']." (token)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['accessTable']."_gunid_idx + ON ".$CC_CONFIG['accessTable']." (gunid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['accessTable']."_parent_idx + ON ".$CC_CONFIG['accessTable']." (parent)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['accessTable']."\n"; } @@ -326,7 +384,7 @@ $r = $gb->initData(true); if (!camp_db_table_exists($CC_CONFIG['transTable'])) { echo " * Creating database table ".$CC_CONFIG['transTable']."..."; - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['transTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['transTable']." ( id int not null, -- primary key trtok char(16) not null, -- transport token direction varchar(128) not null, -- direction: up|down @@ -351,19 +409,29 @@ if (!camp_db_table_exists($CC_CONFIG['transTable'])) { errmsg varchar(255), -- error message string for failed tr. start timestamp, -- starttime ts timestamp -- mtime - )"); + )"; + camp_install_query($sql, false); + $CC_DBC->createSequence($CC_CONFIG['transTable']."_id_seq"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['transTable']."_id_idx - ON ".$CC_CONFIG['transTable']." (id)"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['transTable']."_trtok_idx - ON ".$CC_CONFIG['transTable']." (trtok)"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['transTable']."_token_idx - ON ".$CC_CONFIG['transTable']." (pdtoken)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['transTable']."_gunid_idx - ON ".$CC_CONFIG['transTable']." (gunid)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['transTable']."_state_idx - ON ".$CC_CONFIG['transTable']." (state)"); - echo "done.\n"; + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['transTable']."_id_idx + ON ".$CC_CONFIG['transTable']." (id)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['transTable']."_trtok_idx + ON ".$CC_CONFIG['transTable']." (trtok)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['transTable']."_token_idx + ON ".$CC_CONFIG['transTable']." (pdtoken)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['transTable']."_gunid_idx + ON ".$CC_CONFIG['transTable']." (gunid)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['transTable']."_state_idx + ON ".$CC_CONFIG['transTable']." (state)"; + camp_install_query($sql); } else { echo " * Skipping: database table already exists: ".$CC_CONFIG['transTable']."\n"; } diff --git a/campcaster/src/modules/storageServer/var/install/installScheduler.php b/campcaster/src/modules/storageServer/var/install/installScheduler.php deleted file mode 100644 index 2c4aeba70..000000000 --- a/campcaster/src/modules/storageServer/var/install/installScheduler.php +++ /dev/null @@ -1,54 +0,0 @@ -query($sql); - echo "done.\n"; -} else { - echo " * Skipping: database table already exists: ".$CC_CONFIG['scheduleTable']."\n"; -} - - -if (!camp_db_table_exists($CC_CONFIG['playlogTable'])) { - echo " * Creating database table ".$CC_CONFIG['playlogTable']."..."; - $sql = "CREATE TABLE ".$CC_CONFIG['playLogTable']."(" - ." id BIGINT NOT NULL," - ." audioClipId BIGINT NOT NULL," - ." timestamp TIMESTAMP NOT NULL," - ." PRIMARY KEY(id))"; - $CC_DBC->query($sql); - echo "done.\n"; -} else { - echo " * Skipping: database table already exists: ".$CC_CONFIG['playlogTable']."\n"; -} - - -if (!camp_db_table_exists($CC_CONFIG['backupTable'])) { - echo " * Creating database table ".$CC_CONFIG['backupTable']."..."; - $sql = "CREATE TABLE ".$CC_CONFIG['backupTable']." (" - ." token VARCHAR(64) NOT NULL," - ." sessionId VARCHAR(64) NOT NULL," - ." status VARCHAR(32) NOT NULL," - ." fromTime TIMESTAMP NOT NULL," - ." toTime TIMESTAMP NOT NULL," - ." PRIMARY KEY(token))"; - $CC_DBC->query($sql); - echo "done.\n"; -} else { - echo " * Skipping: database table already exists: ".$CC_CONFIG['backupTable']."\n"; -} -?> \ No newline at end of file diff --git a/campcaster/src/modules/storageServer/var/install/installStorage.php b/campcaster/src/modules/storageServer/var/install/installStorage.php index 3a56a80e3..f99a4e2ee 100644 --- a/campcaster/src/modules/storageServer/var/install/installStorage.php +++ b/campcaster/src/modules/storageServer/var/install/installStorage.php @@ -11,19 +11,25 @@ if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) { if (!camp_db_table_exists($CC_CONFIG['prefTable'])) { echo " * Creating database table ".$CC_CONFIG['prefTable']."..."; $CC_DBC->createSequence($CC_CONFIG['prefTable']."_id_seq"); - $CC_DBC->query("CREATE TABLE ".$CC_CONFIG['prefTable']." ( + $sql = "CREATE TABLE ".$CC_CONFIG['prefTable']." ( id int not null, subjid int REFERENCES ".$CC_CONFIG['subjTable']." ON DELETE CASCADE, keystr varchar(255), valstr text - )"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['prefTable']."_id_idx - ON ".$CC_CONFIG['prefTable']." (id)"); - $CC_DBC->query("CREATE UNIQUE INDEX ".$CC_CONFIG['prefTable']."_subj_key_idx - ON ".$CC_CONFIG['prefTable']." (subjid, keystr)"); - $CC_DBC->query("CREATE INDEX ".$CC_CONFIG['prefTable']."_subjid_idx - ON ".$CC_CONFIG['prefTable']." (subjid)"); - echo "done.\n"; + )"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['prefTable']."_id_idx + ON ".$CC_CONFIG['prefTable']." (id)"; + camp_install_query($sql, false); + + $sql = "CREATE UNIQUE INDEX ".$CC_CONFIG['prefTable']."_subj_key_idx + ON ".$CC_CONFIG['prefTable']." (subjid, keystr)"; + camp_install_query($sql, false); + + $sql = "CREATE INDEX ".$CC_CONFIG['prefTable']."_subjid_idx + ON ".$CC_CONFIG['prefTable']." (subjid)"; + camp_install_query($sql); echo " * Inserting starting data into table ".$CC_CONFIG['prefTable']."..."; $stPrefGr = Subjects::GetSubjId($CC_CONFIG['StationPrefsGr']); diff --git a/campcaster/src/modules/storageServer/var/install/uninstall.php b/campcaster/src/modules/storageServer/var/install/uninstall.php index 942cf1916..f4ea80961 100644 --- a/campcaster/src/modules/storageServer/var/install/uninstall.php +++ b/campcaster/src/modules/storageServer/var/install/uninstall.php @@ -1,6 +1,5 @@ * @author Paul Baranowski * @version $Revision$ * @package Campcaster @@ -25,8 +24,9 @@ echo "* StorageServer Uninstall *\n"; echo "***************************\n"; require_once('../conf.php'); -require_once('uninstallMain.php'); +require_once('installInit.php'); require_once('uninstallStorage.php'); +require_once('uninstallMain.php'); echo "************************************\n"; echo "* StorageServer Uninstall Complete *\n"; diff --git a/campcaster/src/modules/storageServer/var/install/uninstallMain.php b/campcaster/src/modules/storageServer/var/install/uninstallMain.php index 3f10f3f99..43bdb2dd2 100644 --- a/campcaster/src/modules/storageServer/var/install/uninstallMain.php +++ b/campcaster/src/modules/storageServer/var/install/uninstallMain.php @@ -1,6 +1,5 @@ * @author Paul Baranowski * @version $Revision: 2458 $ * @package Campcaster @@ -19,39 +18,11 @@ if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) { exit; } -if (!function_exists('pg_connect')) { - trigger_error("PostgreSQL PHP extension required and not found.", E_USER_ERROR); - exit(2); -} - -require_once('DB.php'); - - -function camp_db_table_exists($p_name) -{ - global $CC_DBC; - $sql = "SELECT * FROM ".$p_name; - $result = $CC_DBC->GetOne($sql); - if (PEAR::isError($result)) { - return false; - } - return true; -} - -$CC_DBC = DB::connect($CC_CONFIG['dsn'], TRUE); -if (PEAR::isError($CC_DBC)) { - echo "Database connection problem.\n"; - echo "Check if database '".$CC_CONFIG['dsn']['database']."' exists". - " with corresponding permissions.\n"; - echo "Database access is defined by 'dsn' values in conf.php.\n"; - exit(1); -} - -$CC_DBC->setFetchMode(DB_FETCHMODE_ASSOC); - if (camp_db_table_exists($CC_CONFIG['transTable'])) { echo " * Removing database table ".$CC_CONFIG['transTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['transTable']); + $sql = "DROP TABLE ".$CC_CONFIG['transTable']; + camp_install_query($sql, false); + $CC_DBC->dropSequence($CC_CONFIG['transTable']."_id_seq"); echo "done.\n"; } else { @@ -60,7 +31,9 @@ if (camp_db_table_exists($CC_CONFIG['transTable'])) { if (camp_db_table_exists($CC_CONFIG['mdataTable'])) { echo " * Removing database table ".$CC_CONFIG['mdataTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['mdataTable']); + $sql = "DROP TABLE ".$CC_CONFIG['mdataTable']; + camp_install_query($sql, false); + $CC_DBC->dropSequence($CC_CONFIG['mdataTable']."_id_seq"); echo "done.\n"; } else { @@ -69,23 +42,25 @@ if (camp_db_table_exists($CC_CONFIG['mdataTable'])) { if (camp_db_table_exists($CC_CONFIG['filesTable'])) { echo " * Removing database table ".$CC_CONFIG['filesTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['filesTable']); - echo "done.\n"; + $sql = "DROP TABLE ".$CC_CONFIG['filesTable']; + camp_install_query($sql); } else { echo " * Skipping: database table ".$CC_CONFIG['filesTable']."\n"; } if (camp_db_table_exists($CC_CONFIG['accessTable'])) { echo " * Removing database table ".$CC_CONFIG['accessTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['accessTable']); - echo "done.\n"; + $sql = "DROP TABLE ".$CC_CONFIG['accessTable']; + camp_install_query($sql); } else { echo " * Skipping: database table ".$CC_CONFIG['accessTable']."\n"; } if (camp_db_table_exists($CC_CONFIG['permTable'])) { echo " * Removing database table ".$CC_CONFIG['permTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['permTable']); + $sql = "DROP TABLE ".$CC_CONFIG['permTable']; + camp_install_query($sql, false); + $CC_DBC->dropSequence($CC_CONFIG['permTable']."_id_seq"); echo "done.\n"; } else { @@ -94,16 +69,19 @@ if (camp_db_table_exists($CC_CONFIG['permTable'])) { if (camp_db_table_exists($CC_CONFIG['sessTable'])) { echo " * Removing database table ".$CC_CONFIG['sessTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['sessTable']); - echo "done.\n"; + $sql = "DROP TABLE ".$CC_CONFIG['sessTable']; + camp_install_query($sql); } else { echo " * Skipping: database table ".$CC_CONFIG['sessTable']."\n"; } if (camp_db_table_exists($CC_CONFIG['subjTable'])) { echo " * Removing database table ".$CC_CONFIG['subjTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['subjTable']); $CC_DBC->dropSequence($CC_CONFIG['subjTable']."_id_seq"); + + $sql = "DROP TABLE ".$CC_CONFIG['subjTable']; + camp_install_query($sql, false); + echo "done.\n"; } else { echo " * Skipping: database table ".$CC_CONFIG['subjTable']."\n"; @@ -111,7 +89,9 @@ if (camp_db_table_exists($CC_CONFIG['subjTable'])) { if (camp_db_table_exists($CC_CONFIG['smembTable'])) { echo " * Removing database table ".$CC_CONFIG['smembTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['smembTable']); + $sql = "DROP TABLE ".$CC_CONFIG['smembTable']; + camp_install_query($sql, false); + $CC_DBC->dropSequence($CC_CONFIG['smembTable']."_id_seq"); echo "done.\n"; } else { @@ -120,23 +100,25 @@ if (camp_db_table_exists($CC_CONFIG['smembTable'])) { if (camp_db_table_exists($CC_CONFIG['classTable'])) { echo " * Removing database table ".$CC_CONFIG['classTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['classTable']); - echo "done.\n"; + $sql = "DROP TABLE ".$CC_CONFIG['classTable']; + camp_install_query($sql); } else { echo " * Skipping: database table ".$CC_CONFIG['classTable']."\n"; } if (camp_db_table_exists($CC_CONFIG['cmembTable'])) { echo " * Removing database table ".$CC_CONFIG['cmembTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['cmembTable']); - echo "done.\n"; + $sql = "DROP TABLE ".$CC_CONFIG['cmembTable']; + camp_install_query($sql); } else { echo " * Skipping: database table ".$CC_CONFIG['cmembTable']."\n"; } if (camp_db_table_exists($CC_CONFIG['structTable'])) { echo " * Removing database table ".$CC_CONFIG['structTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['structTable']); + $sql = "DROP TABLE ".$CC_CONFIG['structTable']; + camp_install_query($sql, false); + $CC_DBC->dropSequence($CC_CONFIG['structTable']."_id_seq"); echo "done.\n"; } else { @@ -145,7 +127,9 @@ if (camp_db_table_exists($CC_CONFIG['structTable'])) { if (camp_db_table_exists($CC_CONFIG['treeTable'])) { echo " * Removing database table ".$CC_CONFIG['treeTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['treeTable']); + $sql = "DROP TABLE ".$CC_CONFIG['treeTable']; + camp_install_query($sql, false); + $CC_DBC->dropSequence($CC_CONFIG['treeTable']."_id_seq"); echo "done.\n"; } else { diff --git a/campcaster/src/modules/storageServer/var/install/uninstallScheduler.php b/campcaster/src/modules/storageServer/var/install/uninstallScheduler.php deleted file mode 100644 index ffaa0b147..000000000 --- a/campcaster/src/modules/storageServer/var/install/uninstallScheduler.php +++ /dev/null @@ -1,36 +0,0 @@ -query("DROP TABLE ".$CC_CONFIG['scheduleTable']); - echo "done.\n"; -} else { - echo " * Skipping: database table ".$CC_CONFIG['scheduleTable']."\n"; -} - -if (camp_db_table_exists($CC_CONFIG['backupTable'])) { - echo " * Removing database table ".$CC_CONFIG['backupTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['backupTable']); - echo "done.\n"; -} else { - echo " * Skipping: database table ".$CC_CONFIG['backupTable']."\n"; -} - -if (camp_db_table_exists($CC_CONFIG['playlogTable'])) { - echo " * Removing database table ".$CC_CONFIG['playlogTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['playlogTable']); - echo "done.\n"; -} else { - echo " * Skipping: database table ".$CC_CONFIG['playlogTable']."\n"; -} - -?> \ No newline at end of file diff --git a/campcaster/src/modules/storageServer/var/install/uninstallStorage.php b/campcaster/src/modules/storageServer/var/install/uninstallStorage.php index 2ce93182b..4d6913728 100644 --- a/campcaster/src/modules/storageServer/var/install/uninstallStorage.php +++ b/campcaster/src/modules/storageServer/var/install/uninstallStorage.php @@ -1,6 +1,5 @@ * @author Paul Baranowski * @version $Revision: 2458 $ * @package Campcaster @@ -22,7 +21,9 @@ if (isset($arr["DOCUMENT_ROOT"]) && ($arr["DOCUMENT_ROOT"] != "") ) { if (camp_db_table_exists($CC_CONFIG['prefTable'])) { echo " * Removing database table ".$CC_CONFIG['prefTable']."..."; - $CC_DBC->query("DROP TABLE ".$CC_CONFIG['prefTable']); + $sql = "DROP TABLE ".$CC_CONFIG['prefTable']; + camp_install_query($sql, false); + $CC_DBC->dropSequence($CC_CONFIG['prefTable']."_id_seq"); echo "done.\n"; } else { @@ -30,7 +31,7 @@ if (camp_db_table_exists($CC_CONFIG['prefTable'])) { } -echo " * Removing all media files in ".$CC_CONFIG['storageDir']."..."; +echo " * Removing all media files in ".$CC_CONFIG['storageDir']."...\n"; $d = @dir($CC_CONFIG['storageDir']); while (is_object($d) && (false !== ($entry = $d->read()))){ if (filetype($CC_CONFIG['storageDir']."/$entry") == 'dir') {