X-Git-Url: http://www.andromeda.nl/gitweb/?a=blobdiff_plain;f=src%2Fgcm_daemon%2Fclasses%2Fgnucomo_db_version.php;h=9908b811916cf51942e32022dbf444923f21b8d3;hb=488abe089477c008701aefe7b35d8c50142db1c5;hp=ccd3703db350b0b8b5a2cb6449e909783ed37b8d;hpb=be57fe8870f25112fed5222bec3c90c650c70747;p=gnucomo.git diff --git a/src/gcm_daemon/classes/gnucomo_db_version.php b/src/gcm_daemon/classes/gnucomo_db_version.php index ccd3703..9908b81 100644 --- a/src/gcm_daemon/classes/gnucomo_db_version.php +++ b/src/gcm_daemon/classes/gnucomo_db_version.php @@ -10,7 +10,8 @@ //Do while statement since all updateshave to be executed starting at the //latest version. It's a walk through. - switch ($active_version) { + switch ($active_version) + { case 1: //DROP the rule that prohibits updates (change of spec). $local_sql = "DROP RULE log_update"; @@ -197,19 +198,118 @@ $dbms->query($local_sql); -/* - //These columns have to be removed when a new version of PGSQL has become mainstream that supportsa DROP COLUMN + case 21: + $local_sql = "UPDATE action SET statuscode = LOWER(statuscode)"; + $dbms->query($local_sql); + + case 22: + //Create a log_adv_kernel_network table that recognizes the log-records + //that have come from the kernel-network interface (typically iptables). + $local_sql = "CREATE TABLE log_adv_daemon ("; + $local_sql .= "service TEXT, event TEXT"; + $local_sql .= ") INHERITS (log_adv)"; + $dbms->query($local_sql); + + case 23: + $local_sql = "CREATE INDEX log_adv_daemon_service ON log_adv_daemon (service)"; + $dbms->query($local_sql); + + case 24: + $local_sql = "ALTER TABLE object ADD COLUMN log_count BIGINT"; + $dbms->query($local_sql); + + $local_sql = "ALTER TABLE object ADD COLUMN notification_count BIGINT"; + $dbms->query($local_sql); + + $local_sql = "ALTER TABLE object ADD COLUMN parameter_count BIGINT"; + $dbms->query($local_sql); +case 25: + $local_sql = "UPDATE object SET log_count = '0', " + . "notification_count = '0', " + . "parameter_count = '0' "; + $dbms->query($local_sql); + +case 26: + $local_sql = "UPDATE type_of_issue SET name = TRIM(name)"; + $dbms->query($local_sql); + +case 27: + $local_sql = "INSERT INTO db_value VALUES ('last_notification', '0')"; + $dbms->query($local_sql); + +case 28: + $dbms->query("CREATE GROUP view"); + $dbms->query("CREATE GROUP ops"); + $dbms->query("CREATE GROUP admin"); + + $dbms->query("GRANT SELECT ON action TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON action_user TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON db_value TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON history TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON log TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON log_adv TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON log_adv_daemon TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON log_adv_kernel_network TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON log_notification TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON notification TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON object TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON object_issue TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON object_priority TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON object_service TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON object_user TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON parameter TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON parameter_class TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON parameter_notification TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON priority TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON property TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON service TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON status TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON supported_os TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON type_of_issue TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT SELECT ON usr TO GROUP view, GROUP ops, GROUP admin"); + + $dbms->query("GRANT INSERT ON action_user TO GROUP ops, GROUP admin"); + $dbms->query("GRANT UPDATE ON notification TO GROUP ops, GROUP admin"); + $dbms->query("GRANT INSERT ON object TO GROUP admin"); + $dbms->query("GRANT UPDATE ON object TO GROUP ops, GROUP admin"); + $dbms->query("GRANT DELETE ON object TO GROUP admin"); + $dbms->query("GRANT UPDATE ON usr TO GROUP view, GROUP ops, GROUP admin"); + $dbms->query("GRANT INSERT ON usr TO GROUP admin"); + $dbms->query("GRANT DELETE ON usr TO GROUP admin"); + +case 29: + $local_sql = "INSERT INTO action (actionname, description) VALUES ('Redisplayed to user', " + . "'The notification has been presented to a user. This is not the first time')"; + $dbms->query ($local_sql); + +case 30: + $local_sql = "INSERT INTO action (actionname, description) VALUES ('Displayed in list', " + . "'The notification has been presented in a list with other notifications.')"; + $dbms->query ($local_sql); + +case 31: + $local_sql = "CREATE TABLE log_adv_daemon_email ("; + $local_sql .= "source_ip INET, destination_ip INET, internal_messageid TEXT, "; + $local_sql .= "external_messageid TEXT, to_email TEXT, from_email TEXT, delay TIME, xdelay TIME, "; + $local_sql .= "mailer TEXT, status TEXT, pid INT"; + $local_sql .= ") INHERITS (log_adv_daemon)"; + $dbms->query($local_sql); + +//These columns have to be removed when a new version of PGSQL has become mainstream that supportsa DROP COLUMN +/* + $local_sql = "ALTER TABLE log DROP COLUMN recognized"; $dbms->query($local_sql); $local_sql = "ALTER TABLE logng DROP COLUMN recognized"; $dbms->query($local_sql); */ + } $local_sql = "UPDATE db_value SET setting_value = ".$db_version." WHERE setting = 'db_version'"; $dbms->query($local_sql); - + ?>