diff --git a/system/checksystem.php b/system/checksystem.php
index 5e4daa1d4..9f631b434 100644
--- a/system/checksystem.php
+++ b/system/checksystem.php
@@ -73,6 +73,16 @@ echo '
';
require_once('phrasesupdate.php');
echo '
';
+// ******** filtersupdate ************/
+echo 'Filters time!
';
+
+echo '';
+ echo 'filtersupdate.php wird aufgerufen...';
+echo '
';
+echo '';
+ require_once('filtersupdate.php');
+echo '
';
+
// ******** Berechtigungen Prüfen ************/
echo 'Berechtigungen pruefen
';
diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php
index d3cf9eb7c..73c2ea755 100755
--- a/system/dbupdate_3.3.php
+++ b/system/dbupdate_3.3.php
@@ -1878,89 +1878,6 @@ if($result = $db->db_query("SELECT obj_description('public.ci_apikey'::regclass)
}
}
-if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzbz='InfoCenterSentApplicationAll' AND app='infocenter'"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = "INSERT INTO system.tbl_filters(app, dataset_name, filter_kurzbz, person_id, description, sort,
- default_filter, filter, oe_kurzbz)
- VALUES ('infocenter', 'PersonActions', 'InfoCenterSentApplicationAll', NULL, '{Alle}', 1, false,
- '{\"name\": \"Abgeschickt - Alle\", \"columns\": [{\"name\": \"Vorname\"},
- {\"name\": \"Nachname\"}, {\"name\": \"LastAction\"}, {\"name\": \"LockUser\"},
- {\"name\": \"Studiensemester\"}, {\"name\": \"SendDate\"}, {\"name\": \"StgAbgeschickt\"}],
- \"filters\": [{\"name\": \"AnzahlAbgeschickt\", \"option\": \"\",
- \"condition\": \"0\", \"operation\": \"gt\"}]}', NULL);";
- if(!$db->db_query($qry))
- echo 'Filter: '.$db->db_last_error().'
';
- else
- echo '
Filter InfoCenterSentApplicationAll hinzugefuegt';
- }
-}
-
-if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzbz='InfoCenterSentApplication3days' AND app='infocenter'"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = "INSERT INTO system.tbl_filters(app, dataset_name, filter_kurzbz, person_id, description, sort,
- default_filter, filter, oe_kurzbz)
- VALUES ('infocenter', 'PersonActions', 'InfoCenterSentApplication3days', NULL,
- '{\"3 Tage keine Aktion\"}', 2, false, '{\"name\": \"Abgeschickt - 3 Tage keine Aktion\",
- \"columns\": [{\"name\": \"Vorname\"}, {\"name\": \"Nachname\"}, {\"name\": \"LastAction\"},
- {\"name\": \"LockUser\"}, {\"name\": \"Studiensemester\"}, {\"name\": \"SendDate\"},
- {\"name\": \"StgAbgeschickt\"}],
- \"filters\": [{\"name\": \"LastAction\", \"option\": \"days\", \"condition\": \"3\",
- \"operation\": \"gt\"}, {\"name\": \"AnzahlAbgeschickt\", \"option\": \"\",
- \"condition\": \"0\", \"operation\": \"gt\"}]}', NULL);";
-
- if(!$db->db_query($qry))
- echo 'Filter: '.$db->db_last_error().'
';
- else
- echo '
Filter InfoCenterSentApplication3days hinzugefuegt';
- }
-}
-
-if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzbz='InfoCenterNotSentApplicationAll' AND app='infocenter'"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = "INSERT INTO system.tbl_filters(app, dataset_name, filter_kurzbz, person_id, description, sort,
- default_filter, filter, oe_kurzbz)
- VALUES ('infocenter', 'PersonActions', 'InfoCenterNotSentApplicationAll', NULL, '{Alle}', 1, false,
- '{\"name\": \"Nicht abgeschickt - Alle\", \"columns\": [{\"name\": \"Vorname\"},
- {\"name\": \"Nachname\"}, {\"name\": \"LastAction\"}, {\"name\": \"LockUser\"},
- {\"name\": \"Studiensemester\"}, {\"name\": \"SendDate\"}, {\"name\": \"StgAbgeschickt\"}],
- \"filters\": [{\"name\": \"SendDate\", \"option\": \"\",
- \"condition\": \"\", \"operation\": \"nset\"}]}', NULL);";
-
- if(!$db->db_query($qry))
- echo 'Filter: '.$db->db_last_error().'
';
- else
- echo '
Filter InfoCenterNotSentApplicationAll hinzugefuegt';
- }
-}
-
-if($result = @$db->db_query("SELECT * FROM system.tbl_filters WHERE filter_kurzbz='InfoCenterNotSentApplication14Days' AND app='infocenter'"))
-{
- if($db->db_num_rows($result)==0)
- {
- $qry = "INSERT INTO system.tbl_filters(app, dataset_name, filter_kurzbz, person_id, description, sort,
- default_filter, filter, oe_kurzbz)
- VALUES ('infocenter', 'PersonActions', 'InfoCenterNotSentApplication14Days', NULL,
- '{\"14 Tage keine Aktion\"}', 2, false, '{\"name\": \"Nicht abgeschickt - 14 Tage keine Aktion\",
- \"columns\": [{\"name\": \"Vorname\"}, {\"name\": \"Nachname\"}, {\"name\": \"LastAction\"},
- {\"name\": \"LockUser\"}, {\"name\": \"Studiensemester\"}, {\"name\": \"SendDate\"},
- {\"name\": \"StgAbgeschickt\"}], \"filters\": [{\"name\": \"LastAction\", \"option\": \"days\",
- \"condition\": \"14\", \"operation\": \"gt\"}, {\"name\": \"SendDate\", \"option\": \"\",
- \"condition\": \"\", \"operation\": \"nset\"}]}', NULL);
- ";
-
- if(!$db->db_query($qry))
- echo 'Filter: '.$db->db_last_error().'
';
- else
- echo '
Filter InfoCenterNotSentApplication14Days hinzugefuegt';
- }
-}
-
if (!$result = @$db->db_query("SELECT projekt_id FROM fue.tbl_projekt LIMIT 1"))
{
$qry = "CREATE SEQUENCE fue.tbl_projekt_projekt_id_seq
@@ -2267,7 +2184,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
if($db->db_num_rows($result)==0)
{
$qry = "GRANT DELETE ON system.tbl_log TO web;";
-
+
if(!$db->db_query($qry))
echo 'Permission Log: '.$db->db_last_error().'
';
else
diff --git a/system/filtersupdate.php b/system/filtersupdate.php
new file mode 100644
index 000000000..7134b16bf
--- /dev/null
+++ b/system/filtersupdate.php
@@ -0,0 +1,390 @@
+ 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterSentApplicationAll',
+ 'description' => '{Alle}',
+ 'sort' => 1,
+ 'default_filter' => false,
+ 'filter' => '
+ {
+ "name": "Abgeschickt - Alle",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "Nation"},
+ {"name": "StgAbgeschickt"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"}
+ ],
+ "filters": [
+ {
+ "name": "AnzahlAbgeschickt",
+ "option": "",
+ "condition": "0",
+ "operation": "gt"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterSentApplication3days',
+ 'description' => '{"3 Tage keine Aktion"}',
+ 'sort' => 2,
+ 'default_filter' => false,
+ 'filter' => '
+ {
+ "name": "Abgeschickt - 3 Tage keine Aktion",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "Nation"},
+ {"name": "StgAbgeschickt"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"}
+ ],
+ "filters": [
+ {
+ "name": "LastAction",
+ "option": "days",
+ "condition": "3",
+ "operation": "gt"
+ },
+ {
+ "name": "AnzahlAbgeschickt",
+ "option": "",
+ "condition": "0",
+ "operation": "gt"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterNotSentApplicationAll',
+ 'description' => '{Alle}',
+ 'sort' => 1,
+ 'default_filter' => false,
+ 'filter' => '
+ {
+ "name": "Nicht abgeschickt - Alle",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "Nation"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"
+ },
+ {"name": "StgNichtAbgeschickt"},
+ {"name": "StgAbgeschickt"},
+ {"name": "StgAktiv"},
+ {"name": "Studiensemester"}
+ ],
+ "filters": [
+ {
+ "name": "SendDate",
+ "option": "",
+ "condition": "",
+ "operation": "nset"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterNotSentApplication14Days',
+ 'description' => '{"14 Tage keine Aktion"}',
+ 'sort' => 3,
+ 'default_filter' => false,
+ 'filter' => '
+ {
+ "name": "Nicht abgeschickt - 14 Tage keine Aktion",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "Nation"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"},
+ {"name": "StgNichtAbgeschickt"},
+ {"name": "StgAbgeschickt"},
+ {"name": "StgAktiv"},
+ {"name": "Studiensemester"}
+ ],
+ "filters": [
+ {
+ "name": "LastAction",
+ "option": "days",
+ "condition": "14",
+ "operation": "gt"
+ },
+ {
+ "name": "SendDate",
+ "option": "",
+ "condition": "",
+ "operation": "nset"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterSentApplicationLt3days',
+ 'description' => '{"< 3 Tage"}',
+ 'sort' => 3,
+ 'default_filter' => false,
+ 'filter' => '
+ {
+ "name": "Abgeschickt - Aktion innert der letzten 3 Tage",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "Nation"},
+ {"name": "StgAbgeschickt"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"}
+ ],
+ "filters": [
+ {
+ "name": "LastAction",
+ "option": "days",
+ "condition": "3",
+ "operation": "lt"
+ },
+ {
+ "name": "AnzahlAbgeschickt",
+ "option": "",
+ "condition": "0",
+ "operation": "gt"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterNotSentApplication5DaysOnline',
+ 'description' => '{"5 Tage keine BewAktion"}',
+ 'sort' => 2,
+ 'default_filter' => false,
+ 'filter' => '
+ {
+ "name": "Nicht abgeschickt - 5 Tage keine Aktion durch BewerberIn",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "Nation"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"},
+ {"name": "StgNichtAbgeschickt"},
+ {"name": "StgAbgeschickt"},
+ {"name": "StgAktiv"},
+ {"name": "Studiensemester"}
+ ],
+ "filters": [
+ {
+ "name": "SendDate",
+ "option": "",
+ "condition": "",
+ "operation": "nset"
+ },
+ {
+ "name": "LastAction",
+ "option": "days",
+ "condition": "5",
+ "operation": "gt"
+ },
+ {
+ "name": "User/Operator",
+ "option": "",
+ "condition": "online",
+ "operation": "contains"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterFreigegeben5days',
+ 'description' => '{"5 Tage Letzte Aktion"}',
+ 'sort' => 1,
+ 'default_filter' => true,
+ 'filter' => '
+ {
+ "name": "Freigegeben - 5 Tage Letzte Aktion",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "StgAbgeschickt"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"}
+ ],
+ "filters": [
+ {
+ "name": "LastAction",
+ "option": "days",
+ "condition": "5",
+ "operation": "lt"
+ }
+ ]
+ }
+ ',
+ 'oe_kurzbz' => null,
+ ),
+ array(
+ 'app' => 'infocenter',
+ 'dataset_name' => 'PersonActions',
+ 'filter_kurzbz' => 'InfoCenterFreigegebenAlle',
+ 'description' => '{Alle}',
+ 'sort' => 2,
+ 'default_filter' => false,
+ 'filter' => '
+ {
+ "name": "Freigegeben - Alle",
+ "columns": [
+ {"name": "Vorname"},
+ {"name": "Nachname"},
+ {"name": "StgAbgeschickt"},
+ {"name": "LastAction"},
+ {"name": "User/Operator"},
+ {"name": "LockUser"}
+ ],
+ "filters": []
+ }
+ ',
+ 'oe_kurzbz' => null,
+ )
+);
+
+// Loop through the filters array
+for ($filtersCounter = 0; $filtersCounter < count($filters); $filtersCounter++)
+{
+ $filter = $filters[$filtersCounter]; // single filter definition
+
+ // If it's an array and contains the required number of elements
+ // and contains the required fields
+ if (is_array($filter) && count($filter) == 8
+ && isset($filter['app']) && isset($filter['dataset_name'])
+ && isset($filter['filter_kurzbz']) && isset($filter['description'])
+ && isset($filter['filter']))
+ {
+ $selectFilterQuery = 'SELECT filter_id
+ FROM system.tbl_filters
+ WHERE app = '.$db->db_add_param($filter['app']).
+ ' AND dataset_name = '.$db->db_add_param($filter['dataset_name']).
+ ' AND filter_kurzbz = '.$db->db_add_param($filter['filter_kurzbz']);
+
+ // If no error occurred while loading a filter from the DB
+ if ($dbFilterDefinition = @$db->db_query($selectFilterQuery))
+ {
+ // If NO filters were loaded: insert
+ if ($db->db_num_rows($dbFilterDefinition) == 0)
+ {
+ $insertFilterQuery = 'INSERT INTO system.tbl_filters (
+ app,
+ dataset_name,
+ filter_kurzbz,
+ person_id,
+ description,
+ sort,
+ default_filter,
+ filter,
+ oe_kurzbz
+ ) VALUES (
+ '.$db->db_add_param($filter['app']).',
+ '.$db->db_add_param($filter['dataset_name']).',
+ '.$db->db_add_param($filter['filter_kurzbz']).',
+ null,
+ '.$db->db_add_param($filter['description']).',
+ '.$db->db_add_param($filter['sort']).',
+ '.$db->db_add_param($filter['default_filter']).',
+ '.$db->db_add_param($filter['filter']).',
+ '.$db->db_add_param($filter['oe_kurzbz']).'
+ )';
+
+ if (!@$db->db_query($insertFilterQuery)) // checks query execution
+ {
+ echo 'An error occurred while inserting filters: '.$db->db_last_error().'
';
+ }
+ else
+ {
+ echo 'Filter added: '.$filter['app'].' - '.$filter['dataset_name'].' - '.$filter['filter_kurzbz'].'
';
+ }
+ }
+ else // otherwise if the filter is already present in the DB: update
+ {
+ if ($filterDb = $db->db_fetch_object($dbFilterDefinition))
+ {
+ $updateFilterQuery = 'UPDATE system.tbl_filters SET
+ app = '.$db->db_add_param($filter['app']).',
+ dataset_name = '.$db->db_add_param($filter['dataset_name']).',
+ filter_kurzbz = '.$db->db_add_param($filter['filter_kurzbz']).',
+ person_id = null,
+ description = '.$db->db_add_param($filter['description']).',
+ sort = '.$db->db_add_param($filter['sort']).',
+ default_filter = '.$db->db_add_param($filter['default_filter']).',
+ filter = '.$db->db_add_param($filter['filter']).',
+ oe_kurzbz = '.$db->db_add_param($filter['oe_kurzbz']).'
+ WHERE filter_id = '.$db->db_add_param($filterDb->filter_id);
+
+ if (!@$db->db_query($updateFilterQuery)) // checks query execution
+ {
+ echo 'An error occurred while inserting filters: '.$db->db_last_error().'
';
+ }
+ else
+ {
+ echo 'Filter updated: '.$filter['app'].' - '.$filter['dataset_name'].' - '.$filter['filter_kurzbz'].'
';
+ }
+ }
+ }
+ }
+ else // otherwise if errors occurred
+ {
+ echo 'An error occurred while inserting filters: '.$db->db_last_error().'
';
+ }
+ }
+}