diff --git a/CHANGELOG.md b/CHANGELOG.md index f3c5c7b30..265334eda 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,7 +13,9 @@ - **[FAS]** Bei Statuswechsel von Studierenden können Gründe für den Statuswechsel angegeben werden - **[ADDONS]** Addons können Menüpunkte im Vilesci anpassen - **[ADDONS]** Addons können Noten für die Gesamtnote vorschlagen -- **[CORE]** UserDefinedFields +- **[CORE]** UserDefinedFields hinzugefügt zur Verwalung von eigenen Eingabefeldern +- **[CORE]** Support für Extensions hinzugefügt - eine Weiterentwicklung der Addons für die Verwendung mit Codeigniter +- **[CORE]** Infocenter Seite hinzugefügt zur zentralen Verwaltung und ZGV Prüfung von Interessenten ### CHANGED - **[CORE]** Berechtigungsprüfung wurde angepasst damit deaktivierte Benutzer keine Berechtigungen mehr haben @@ -28,6 +30,18 @@ - **[CORE]** Update campus.tbl_templates (contentmittitel and contentohnetitel) with system/templates/contentmittitel_xslt_xhtml.xslt andsystem/templates/contentohnetitel_xslt_xhtml.xslt - **[CORE]** Neue Style Anweisungen (div.header_logo, td.headerbar, div.cis_logo) müssen in Custom Stylesheet hinzugefügt werden +### Deprecated +- **[CORE]** Die folgenden Datenbank Tabellen und Spalten wurden als DEPRECATED markiert und werden mit der nächsten Version entfernt: + public.tbl_aufnahmeschluessel, public.tbl_aufnahmetermin, public.tbl_aufnahmetermintyp, public.tbl_preinteressent, + public.tbl_preinteressentstudiengang, campus.tbl_feedback, campus.tbl_lvinfo, campus.tbl_resturlaub, lehre.tbl_lehrfach + lehre.tbl_lehrmittel, lehre.tbl_moodle, lehre.tbl_moodle_version, lehre.tbl_studienordnung_semester, lehre.tbl_zeitfenster + lehre.tbl_zeugnis, fue.tbl_scrumsprint, fue.tbl_scrumteam, wawi.tbl_aufteilung, wawi.tbl_aufteilung_default, + testtool.tbl_kategorie, testtool.tbl_kriterien, public.tbl_prestudent.rt_punkte1, public.tbl_prestudent.rt_punkte2 + public.tbl_prestudent.rt_punkte3, public.tbl_prestudent.anmeldungreihungstest, public.tbl_prestudent.reihungstest_id + public.tbl_prestudent.ausstellungsstaat, public.tbl_prestudent.aufnahmeschluessel, lehre.tbl_lehrveranstaltung.old_lehrfach_id +- **[CORE]** LV-Infos werden mit der kommenden Version aus dem Core entfernt - Dies ist jetzt ein Addon +- **[CORE]** WaWi wird mit der kommenden Version aus dem Core entfernt- Dies ist jetzt ein Addon + ## [3.2] ### Added diff --git a/application/controllers/system/Filters.php b/application/controllers/system/Filters.php index 6d008ede7..cda080a46 100644 --- a/application/controllers/system/Filters.php +++ b/application/controllers/system/Filters.php @@ -74,25 +74,33 @@ class Filters extends VileSci_Controller $allSelectedFields = $_SESSION[self::SESSION_NAME]['allSelectedFields']; $allColumnsAliases = $_SESSION[self::SESSION_NAME]['allColumnsAliases']; + $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields']; + $json->columnsAliases = $_SESSION[self::SESSION_NAME]['columnsAliases']; + if (isset($selectedFieldsLst) && is_array($selectedFieldsLst)) { - $json->selectedFields = $_SESSION[self::SESSION_NAME]['selectedFields'] = $selectedFieldsLst; + $json->selectedFields = $selectedFieldsLst; + $json->columnsAliases = array(); for ($i = 0; $i < count($json->selectedFields); $i++) { $pos = array_search($json->selectedFields[$i], $allSelectedFields); + $json->columnsAliases[$i] = $json->selectedFields[$i]; + if ($pos !== false) { - $json->columnsAliases[] = $json->selectedFields[$i]; if ($allColumnsAliases != null && is_array($allColumnsAliases)) { - $json->columnsAliases[] = $allColumnsAliases[$pos]; + $json->columnsAliases[$i] = $allColumnsAliases[$pos]; } } } } + $_SESSION[self::SESSION_NAME]['selectedFields'] = $json->selectedFields; + $_SESSION[self::SESSION_NAME]['columnsAliases'] = $json->columnsAliases; + $this->output->set_content_type('application/json')->set_output(json_encode($json)); } @@ -125,10 +133,10 @@ class Filters extends VileSci_Controller if ($pos !== false) { - $json->selectedFiltersAliases[] = $json->selectedFilters[$i]; + $json->selectedFiltersAliases[$i] = $json->selectedFilters[$i]; if ($json->allColumnsAliases != null && is_array($json->allColumnsAliases)) { - $json->selectedFiltersAliases[] = $json->allColumnsAliases[$pos]; + $json->selectedFiltersAliases[$i] = $json->allColumnsAliases[$pos]; } $json->selectedFiltersMetaData[] = $metaData[$pos]; diff --git a/application/controllers/system/infocenter/InfoCenter.php b/application/controllers/system/infocenter/InfoCenter.php index 4cd6a0e07..216aa0619 100644 --- a/application/controllers/system/infocenter/InfoCenter.php +++ b/application/controllers/system/infocenter/InfoCenter.php @@ -641,6 +641,13 @@ class InfoCenter extends VileSci_Controller show_error($notizen->retval); } + $notizen_bewerbung = $this->NotizModel->getNotizByTitel($person_id, 'Anmerkung zur Bewerbung'); + + if (isError($notizen_bewerbung)) + { + show_error($notizen_bewerbung->retval); + } + $user_person = $this->PersonModel->getByUid($this->uid); if (isError($user_person)) @@ -659,6 +666,7 @@ class InfoCenter extends VileSci_Controller 'messages' => $messages->retval, 'logs' => $logs, 'notizen' => $notizen->retval, + 'notizenbewerbung' => $notizen_bewerbung->retval, 'messagelink' => $messagelink ); diff --git a/application/libraries/MessageLib.php b/application/libraries/MessageLib.php index c07756c17..bed87d184 100644 --- a/application/libraries/MessageLib.php +++ b/application/libraries/MessageLib.php @@ -690,7 +690,7 @@ class MessageLib // Sending email $sent = $this->ci->maillib->send( - $sender, + null, $receiverContact, is_null($subject) ? $result->retval[0]->subject : $subject, // if parameter subject is not null, use it! $bodyMsg, diff --git a/application/views/system/infocenter/anmerkungenZurBewerbung.php b/application/views/system/infocenter/anmerkungenZurBewerbung.php new file mode 100644 index 000000000..565db79db --- /dev/null +++ b/application/views/system/infocenter/anmerkungenZurBewerbung.php @@ -0,0 +1,26 @@ + 0): ?> +
+
+
+ + + + + + + + + + + + + + +
Anmerkungen zur Bewerbung
+ insertamum), 'd.m.Y H:i:s') ?> + + text) ?> +
+
+
+ \ No newline at end of file diff --git a/application/views/system/infocenter/infocenterData.php b/application/views/system/infocenter/infocenterData.php index 9b2643a94..663e69ca6 100644 --- a/application/views/system/infocenter/infocenterData.php +++ b/application/views/system/infocenter/infocenterData.php @@ -1,7 +1,7 @@ ' SELECT @@ -12,7 +12,7 @@ ( SELECT zeitpunkt FROM system.tbl_log - WHERE taetigkeit_kurzbz = \'bewerbung\' + WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1 @@ -20,7 +20,7 @@ ( SELECT insertvon FROM system.tbl_log - WHERE taetigkeit_kurzbz = \'bewerbung\' + WHERE taetigkeit_kurzbz IN(\'bewerbung\',\'kommunikation\') AND person_id = p.person_id ORDER BY zeitpunkt DESC LIMIT 1 @@ -36,6 +36,11 @@ AND pss.bestaetigtam IS NULL AND ps.person_id = p.person_id AND tbl_studiengang.typ in(\'b\') + AND studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM public.tbl_studiensemester + WHERE ende >= NOW() + ) ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC LIMIT 1 ) AS "Studiensemester", @@ -46,9 +51,15 @@ INNER JOIN public.tbl_prestudent ps USING(prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE pss.status_kurzbz = \'Interessent\' - AND pss.bewerbung_abgeschicktamum IS NOT NULL + AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\') + AND pss.bestaetigtam IS NULL AND ps.person_id = p.person_id AND tbl_studiengang.typ in(\'b\') + AND studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM public.tbl_studiensemester + WHERE ende >= NOW() + ) ORDER BY pss.datum DESC, pss.insertamum DESC, pss.ext_id DESC LIMIT 1 ) AS "SendDate", @@ -59,28 +70,41 @@ INNER JOIN public.tbl_prestudent ps USING(prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE pss.status_kurzbz = \'Interessent\' - AND pss.bewerbung_abgeschicktamum IS NOT NULL + AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\') + AND pss.bestaetigtam IS NULL AND ps.person_id = p.person_id AND tbl_studiengang.typ in(\'b\') + AND studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM public.tbl_studiensemester + WHERE ende >= NOW() + ) LIMIT 1 ) AS "AnzahlAbgeschickt", array_to_string( ( - SELECT array_agg(tbl_studiengang.kurzbzlang) + SELECT array_agg(distinct UPPER(tbl_studiengang.typ || tbl_studiengang.kurzbz)) FROM public.tbl_prestudentstatus pss INNER JOIN public.tbl_prestudent ps USING(prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE pss.status_kurzbz = \'Interessent\' - AND pss.bewerbung_abgeschicktamum IS NOT NULL + AND (pss.bewerbung_abgeschicktamum IS NOT NULL AND pss.bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\') + AND pss.bestaetigtam IS NULL AND ps.person_id = p.person_id AND tbl_studiengang.typ in(\'b\') + AND studiensemester_kurzbz IN ( + SELECT studiensemester_kurzbz + FROM public.tbl_studiensemester + WHERE ende >= NOW() + ) LIMIT 1 - ),\',\' + ),\', \' ) AS "StgAbgeschickt", - pl.zeitpunkt AS "LockDate" + pl.zeitpunkt AS "LockDate", + pl.lockuser as "LockUser" FROM public.tbl_person p - LEFT JOIN (SELECT person_id, zeitpunkt FROM system.tbl_person_lock WHERE app = \''.$APP.'\') pl USING(person_id) + LEFT JOIN (SELECT person_id, zeitpunkt, uid as lockuser FROM system.tbl_person_lock WHERE app = \''.$APP.'\') pl USING(person_id) WHERE EXISTS( SELECT 1 @@ -103,7 +127,7 @@ WHERE prestudent_id = tbl_prestudent.prestudent_id AND status_kurzbz = \'Interessent\' - AND bestaetigtam IS NULL + AND (bestaetigtam IS NULL AND (bewerbung_abgeschicktamum is null OR bewerbung_abgeschicktamum>=\''.$NOTBEFORE.'\')) AND studiensemester_kurzbz IN ( SELECT studiensemester_kurzbz FROM public.tbl_studiensemester @@ -111,12 +135,14 @@ ) ) ) - ORDER BY "LastAction" DESC + ORDER BY "LastAction" ASC ', 'hideHeader' => false, 'hideSave' => false, 'checkboxes' => 'PersonId', 'additionalColumns' => array('Details'), + 'columnsAliases' => array('PersonID','Vorname','Nachname','GebDatum','Letzte Aktion','Letzter Bearbeiter', + 'StSem','GesendetAm','NumAbgeschickt','Studiengänge','Sperrdatum','GesperrtVon'), 'formatRaw' => function($datasetRaw) { $datasetRaw->{'Details'} = sprintf( @@ -129,10 +155,18 @@ { $datasetRaw->{'SendDate'} = 'Not sent'; } + else + { + $datasetRaw->{'SendDate'} = date_format(date_create($datasetRaw->{'SendDate'}),'Y-m-d H:i'); + } if ($datasetRaw->{'LastAction'} == null) { - $datasetRaw->{'LastAction'} = 'Not logged'; + $datasetRaw->{'LastAction'} = '-'; + } + else + { + $datasetRaw->{'LastAction'} = date_format(date_create($datasetRaw->{'LastAction'}),'Y-m-d H:i'); } if ($datasetRaw->{'User/Operator'} == '') @@ -142,7 +176,12 @@ if ($datasetRaw->{'LockDate'} == null) { - $datasetRaw->{'LockDate'} = 'Not locked'; + $datasetRaw->{'LockDate'} = '-'; + } + + if ($datasetRaw->{'LockUser'} == null) + { + $datasetRaw->{'LockUser'} = '-'; } if ($datasetRaw->{'StgAbgeschickt'} == null) diff --git a/application/views/system/infocenter/infocenterDetails.php b/application/views/system/infocenter/infocenterDetails.php old mode 100644 new mode 100755 index 299138e5c..6ebf5494b --- a/application/views/system/infocenter/infocenterDetails.php +++ b/application/views/system/infocenter/infocenterDetails.php @@ -10,6 +10,7 @@ 'tablesorter' => true, 'tinymce' => true, 'sbadmintemplate' => true, + 'addons' => true, 'customCSSs' => array( 'skin/admintemplate.css', @@ -37,35 +38,35 @@
-
+
- +
wird bearbeitet von: -    -  Freigeben + if (isset($lockedby)): + echo $lockedby; + ?> +    +  Freigeben
-
+

Stammdaten

-
- load->view('system/infocenter/stammdaten.php'); ?> -
+ load->view('system/infocenter/stammdaten.php'); ?> + load->view('system/infocenter/anmerkungenZurBewerbung.php'); ?>
@@ -109,9 +110,9 @@
- load->view('system/messageList.php', $messages); - ?> + load->view('system/messageList.php', $messages); + ?>
@@ -130,10 +131,10 @@
- load->view('system/infocenter/addNotiz.php'); ?> + load->view('system/infocenter/addNotiz.php'); ?>
- load->view('system/infocenter/notizen.php'); ?> + load->view('system/infocenter/notizen.php'); ?>
diff --git a/application/views/system/infocenter/stammdaten.php b/application/views/system/infocenter/stammdaten.php old mode 100644 new mode 100755 index 6aae1c9f6..c3b14bd3e --- a/application/views/system/infocenter/stammdaten.php +++ b/application/views/system/infocenter/stammdaten.php @@ -1,108 +1,111 @@ -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Vornamevorname ?>
Nachname - nachname ?>
Geburtsdatum - gebdatum), 'd.m.Y') ?>
Sozialversicherungsnr - svnr ?>
Staatsbürgerschaft - staatsbuergerschaft ?>
Geschlecht - geschlecht ?>
Geburtsnation - geburtsnation ?>
Geburtsortgebort ?>
-
-
- - - - - - - - - - - - - kontakte as $kontakt): ?> - +
+
+
Kontakte
TypKontaktAnmerkung
- - - + + - - adressen as $adresse): ?> + - - + nachname ?> - - -
kontakttyp); ?> - kontakttyp === 'email'): ?> - - kontakt; - if ($kontakt->kontakttyp === 'email'): - ?> - - - anmerkung; ?>Vornamevorname ?>
Nachname - Adresse - - strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?> - - heimatadresse === true ? 'Heimatadresse' : ''). - ($adresse->heimatadresse === true && $adresse->rechnungsadresse === true ? ', ' : ''). - ($adresse->rechnungsadresse === true ? 'Rechnungsadresse' : ''); ?> -
-
-
-
- -  Nachricht senden -
-
- zugangscode)): ?> - - + + Geburtsdatum + + gebdatum), 'd.m.Y') ?> + + + Sozialversicherungsnr + + svnr ?> + + + Staatsbürgerschaft + + staatsbuergerschaft ?> + + + Geschlecht + + geschlecht ?> + + + Geburtsnation + + geburtsnation ?> + + + Geburtsort + gebort ?> + +
-
\ No newline at end of file +
+ + + + + + + + + + + + + kontakte as $kontakt): ?> + + + + + + + adressen as $adresse): ?> + + + + + + + +
Kontakte
TypKontaktAnmerkung
kontakttyp); ?> + kontakttyp.'">';?> + kontakttyp === 'email'): ?> + + kontakt; + if ($kontakt->kontakttyp === 'email'): + ?> + + + '?> + anmerkung; ?>
+ Adresse + + strasse.', '.$adresse->plz.' '.$adresse->ort : '' ?> + + heimatadresse === true ? 'Heimatadresse' : ''). + ($adresse->heimatadresse === true && $adresse->rechnungsadresse === true ? ', ' : ''). + ($adresse->rechnungsadresse === true ? 'Rechnungsadresse' : ''); ?> +
+
+
+
+ +  Nachricht senden +
+
+ zugangscode)): ?> + + +
+
+
diff --git a/application/views/templates/FHC-Header.php b/application/views/templates/FHC-Header.php old mode 100644 new mode 100755 index 00d461476..b309f4a22 --- a/application/views/templates/FHC-Header.php +++ b/application/views/templates/FHC-Header.php @@ -15,6 +15,7 @@ $fontawesome = isset($fontawesome) ? $fontawesome : false; $tablesorter = isset($tablesorter) ? $tablesorter : false; $tinymce = isset($tinymce) ? $tinymce : false; $sbadmintemplate = isset($sbadmintemplate) ? $sbadmintemplate : false; +$addons = isset($addons) ? $addons : false; /** * Print the given title of the page @@ -76,6 +77,16 @@ function _generateJSsInclude($JSs) } } +/** + * Generates global JS-Object to pass parms to addon-js-functions + */ +function _generateAddonDataStorageObject() +{ + echo '\n"; +} + ?> @@ -142,6 +153,28 @@ function _generateJSsInclude($JSs) _generateJSsInclude('vendor/BlackrockDigital/startbootstrap-sb-admin-2/dist/js/sb-admin-2.min.js'); } + // load addon hooks JS + if ($addons === true) + { + _generateAddonDataStorageObject(); + + $aktive_addons = array_filter(explode(";", ACTIVE_ADDONS)); + $called_from = $this->router->directory.$this->router->class.'/'.$this->router->method; + foreach ($aktive_addons as $addon) + { + $hookfile = DOC_ROOT.'addons/'.$addon.'/hooks.config.inc.php'; + if (file_exists($hookfile)) + { + include($hookfile); + if (key_exists($called_from, $js_hooks)) + { + foreach ($js_hooks[$called_from] as $js_file) + _generateJSsInclude('addons/'.$addon.'/'.$js_file); + } + } + } + } + // Eventually required JS _generateJSsInclude($customJSs); ?> diff --git a/application/views/widgets/filter/filter.php b/application/views/widgets/filter/filter.php index 9ceeed48e..15b9b4b26 100644 --- a/application/views/widgets/filter/filter.php +++ b/application/views/widgets/filter/filter.php @@ -2,8 +2,8 @@ .filter-name-title { font-family: inherit; - font-size: 20px; - font-weight: bold; + font-size: 16px; + /*font-weight: bold;*/ line-height: 1.1; color: black; } diff --git a/application/views/widgets/filter/selectFields.php b/application/views/widgets/filter/selectFields.php index 14ba39284..57edda25e 100644 --- a/application/views/widgets/filter/selectFields.php +++ b/application/views/widgets/filter/selectFields.php @@ -196,13 +196,16 @@ var fieldName = data.allSelectedFields[i]; var fieldToDisplay = data.allSelectedFields[i]; - if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases)) + if (data.selectedFields.indexOf(fieldName) < 0) { - fieldToDisplay = data.allColumnsAliases[i]; - } + if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases)) + { + fieldToDisplay = data.allColumnsAliases[i]; + } - strDropDown = ''; - $("#addField").append(strDropDown); + strDropDown = ''; + $("#addField").append(strDropDown); + } } } diff --git a/application/views/widgets/filter/selectFilters.php b/application/views/widgets/filter/selectFilters.php index 5b33352c5..f79a1e449 100644 --- a/application/views/widgets/filter/selectFilters.php +++ b/application/views/widgets/filter/selectFilters.php @@ -216,20 +216,6 @@ var strDropDown = ''; $("#addFilter").append(strDropDown); - for (var i = 0; i < data.allSelectedFields.length; i++) - { - var fieldName = data.allSelectedFields[i]; - var fieldToDisplay = data.allSelectedFields[i]; - - if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases)) - { - fieldToDisplay = data.allColumnsAliases[i]; - } - - strDropDown = ''; - $("#addFilter").append(strDropDown); - } - for (var i = 0; i < data.selectedFilters.length; i++) { var selectedFilters = '
'; @@ -253,6 +239,23 @@ $("#selectedFilters").append(selectedFilters); } + + for (var i = 0; i < data.allSelectedFields.length; i++) + { + var fieldName = data.allSelectedFields[i]; + var fieldToDisplay = data.allSelectedFields[i]; + + if (data.selectedFilters.indexOf(fieldName) < 0) + { + if (data.allColumnsAliases != null && $.isArray(data.allColumnsAliases)) + { + fieldToDisplay = data.allColumnsAliases[i]; + } + + strDropDown = ''; + $("#addFilter").append(strDropDown); + } + } } addEventsSFilters(); diff --git a/application/widgets/Vorlage_widget.php b/application/widgets/Vorlage_widget.php index f92b49fcd..2bf8f95dc 100644 --- a/application/widgets/Vorlage_widget.php +++ b/application/widgets/Vorlage_widget.php @@ -7,9 +7,9 @@ class Vorlage_widget extends DropdownWidget // All organization units to which the user belongs $oe_kurzbz = $widgetData['oe_kurzbz']; $idAdmin = $widgetData['isAdmin']; - + $vorlage = null; - + // If the user is an admin if ($idAdmin === true) { @@ -23,17 +23,17 @@ class Vorlage_widget extends DropdownWidget // organisation unit tree $vorlage = $this->_getUserVorlage($oe_kurzbz); } - + $this->setElementsArray( $vorlage, true, 'Select a vorlage...', 'No vorlage found' ); - + $this->loadDropDownView($widgetData); } - + /** * Get all the vorlage with mimetype = text/html */ @@ -41,12 +41,12 @@ class Vorlage_widget extends DropdownWidget { $this->load->model('system/Vorlage_model', 'VorlageModel'); $this->VorlageModel->addOrder('vorlage_kurzbz'); - + $this->addSelectToModel($this->VorlageModel, 'vorlage_kurzbz', 'bezeichnung'); - + return $this->VorlageModel->loadWhere(array('mimetype' => 'text/html')); } - + /** * Get all the vorlage that belongs to the organisation units of the user * and the parents of those organisation units until the root of the @@ -56,9 +56,9 @@ class Vorlage_widget extends DropdownWidget { // Loads library OrganisationseinheitLib $this->load->library('OrganisationseinheitLib'); - + $vorlage = success(array()); // Default value - + $table = '( SELECT v.vorlage_kurzbz, v.bezeichnung, vs.version, vs.oe_kurzbz, vs.aktiv, vs.subject, vs.text, v.mimetype FROM tbl_vorlagestudiengang vs INNER JOIN tbl_vorlage v USING(vorlage_kurzbz) @@ -70,7 +70,7 @@ class Vorlage_widget extends DropdownWidget AND templates.text IS NOT NULL AND templates.mimetype = \'text/html\''; $order_by = 'description ASC'; - + if (!is_array($oe_kurzbz)) { $vorlage = $this->organisationseinheitlib->treeSearchEntire( @@ -95,14 +95,20 @@ class Vorlage_widget extends DropdownWidget $order_by, $val ); - + // Everything is ok and data are inside if (hasData($tmpVorlage)) { // If it's the first vorlage copy it if (count($vorlage->retval) == 0) { - $vorlage->retval = $tmpVorlage->retval; + for ($j = 0; $j < count($tmpVorlage->retval); $j++) + { + if ($tmpVorlage->retval[$j]->id != '') + { + array_push($vorlage->retval, $tmpVorlage->retval[$j]); + } + } } else // checks for duplicates, if it's not already present push it into the array $vorlage->retval { @@ -110,7 +116,8 @@ class Vorlage_widget extends DropdownWidget { for ($j = 0; $j < count($tmpVorlage->retval); $j++) { - if ($vorlage->retval[$i]->_pk != $tmpVorlage->retval[$j]->_pk + if ($tmpVorlage->retval[$j]->id != '' + && $vorlage->retval[$i]->_pk != $tmpVorlage->retval[$j]->_pk && $vorlage->retval[$i]->_ppk != $tmpVorlage->retval[$j]->_ppk && $vorlage->retval[$i]->_jtpk != $tmpVorlage->retval[$j]->_jtpk) { @@ -122,7 +129,7 @@ class Vorlage_widget extends DropdownWidget } } } - + return $vorlage; - } + } } diff --git a/cis/private/lehre/fotoliste.pdf.php b/cis/private/lehre/fotoliste.pdf.php index ead24a33f..3f4a79d9b 100644 --- a/cis/private/lehre/fotoliste.pdf.php +++ b/cis/private/lehre/fotoliste.pdf.php @@ -1,309 +1,306 @@ - - * - * Description: This file creates a studentlist with students' profile fotos - * by a given studiengangs- and lehrveranstaltungs ID (and eventually a given lehreinheit ID). - * If fotos are locked by student, a dummy picture is inserted instead of the students foto. - * EXCEPTION: if user has admins or assitents rights, ALL students' fotos are iserted (even locked ones) - * - */ - -require_once('../../../config/cis.config.inc.php'); -require_once('../../../include/dokument_export.class.php'); -require_once('../../../include/lehrveranstaltung.class.php'); -require_once('../../../include/lehreinheit.class.php'); -require_once('../../../include/benutzerberechtigung.class.php'); -require_once('../../../include/studiensemester.class.php'); -require_once('../../../include/functions.inc.php'); -require_once('../../../include/erhalter.class.php'); -require_once('../../../include/datum.class.php'); - - -$doc = new dokument_export('fotoliste'); -$output = 'pdf'; -$show_all_fotos = false; - - -//check user access & $_GET vars -if (!$db = new basis_db()) - die('Es konnte keine Verbindung zum Server aufgebaut werden.'); - -$user = get_uid(); - - -if (isset($_GET['lvid']) && is_numeric($_GET['lvid'])) - $lvid = $_GET['lvid']; -else - die('Eine gueltige LvID muss uebergeben werden'); - -isset($_GET['stsem']) ? $studiensemester = $_GET['stsem'] : die('Ein Studiensemester muss uebergeben werden'); - -$lv = new lehrveranstaltung(); -$lv->load($lvid); - -$berechtigung = new benutzerberechtigung(); -$berechtigung->getBerechtigungen($user); - -if (!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !$berechtigung->isBerechtigt('lehre', $lv->oe_kurzbz, 's') && !check_lektor_lehrveranstaltung($user, $lvid, $studiensemester)) - die('Sie muessen LektorIn der LV sein oder das Recht "ADMIN", "ASSISTENZ" oder "LEHRE" haben, um diese Seite aufrufen zu koennen'); - -if ($berechtigung->isBerechtigt('admin') || $berechtigung->isBerechtigt('assistenz')) - $show_all_fotos = true; - -if (isset($_GET['output']) && ($output = 'odt' || $output = 'doc')) - $output = $_GET['output']; -isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; -isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; - - -//**************************** overall lehrveranstaltungs data ******************************* -//load overall lehrveranstaltungs-data -$qry = "SELECT DISTINCT ON - (kuerzel, semester, verband, gruppe, gruppe_kurzbz) - UPPER(stg_typ || stg_kurzbz) as kuerzel, - lv_bezeichnung, - stg_bez, - semester, - verband, - gruppe, - gruppe_kurzbz, - stg_typ - FROM - campus.vw_lehreinheit - WHERE - lehrveranstaltung_id=" . $db->db_add_param($lvid, FHC_INTEGER) . " - AND - studiensemester_kurzbz=" . $db->db_add_param($studiensemester); -if ($lehreinheit != '') - $qry .= " AND lehreinheit_id=" . $db->db_add_param($lehreinheit, FHC_INTEGER); - -$gruppen_string = ''; -$gruppen_string_arr = array(); -$stg_typ = ''; - -//structure overall lehrveranstaltungs data -if ($result = $db->db_query($qry)) { - while ($row = $db->db_fetch_object($result)) { - //lehrveranstaltung - $lv_bezeichnung = $row->lv_bezeichnung; - //studiengang - $stg_bezeichnung = $row->stg_bez; - //studiengangstyp - $stg_typ = $row->stg_typ; - //collect all gruppenkürzel - if ($row->gruppe_kurzbz == '') - $gruppen_string = trim($row->kuerzel . '-' . $row->semester); - else - $gruppen_string = $row->gruppe_kurzbz; - - $gruppen_string_arr[] = $gruppen_string; - } -} - -//concatinate distinct gruppenkürzel -$studiengruppe = implode(", ", array_unique($gruppen_string_arr)); - -//get studiengangstyp-bezeichnung -$qry = "SELECT - bezeichnung - FROM - public.tbl_studiengangstyp - WHERE - typ =" . $db->db_add_param($stg_typ); - -if ($result = $db->db_query($qry)) { - $row = $db->db_fetch_object($result); - $stg_typ_bezeichnung = $row->bezeichnung; -} - - -//add overall lehrveranstaltungs-data for XML -$data = array( - 'lehrveranstaltung' => $lv_bezeichnung, - 'studiengang' => $stg_bezeichnung, - 'studiengangs_typ' => $stg_typ_bezeichnung, - 'studiensemester' => $studiensemester, - 'studiengruppe' => $studiengruppe -); - - - -//**************************** students data ******************************* -//load students-data -$qry = 'SELECT DISTINCT ON - (nachname, vorname, person_id) - vorname, - nachname, - matrikelnr, - tbl_studentlehrverband.semester, - tbl_studentlehrverband.verband, - tbl_studentlehrverband.gruppe, - (SELECT - status_kurzbz - FROM - public.tbl_prestudentstatus - WHERE - prestudent_id=tbl_student.prestudent_id - ORDER BY - datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, - tbl_studiengang.kurzbz, - tbl_studiengang.typ, - tbl_bisio.bisio_id, - tbl_bisio.von, - tbl_bisio.bis, - tbl_student.studiengang_kz AS stg_kz_student, - tbl_zeugnisnote.note, - tbl_mitarbeiter.mitarbeiter_uid, - tbl_person.matr_nr, - tbl_person.geschlecht, - tbl_person.foto, - tbl_person.foto_sperre - FROM - campus.vw_student_lehrveranstaltung - JOIN public.tbl_benutzer USING(uid) - JOIN public.tbl_person USING(person_id) - LEFT JOIN public.tbl_student ON(uid=student_uid) - LEFT JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz) - LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) - LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) - LEFT JOIN lehre.tbl_zeugnisnote ON(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id - AND tbl_zeugnisnote.student_uid=tbl_student.student_uid - AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) - LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) - WHERE - vw_student_lehrveranstaltung.lehrveranstaltung_id=' . $db->db_add_param($lvid, FHC_INTEGER) . ' AND - vw_student_lehrveranstaltung.studiensemester_kurzbz=' . $db->db_add_param($studiensemester); - -if ($lehreinheit != '') - $qry .= ' AND vw_student_lehrveranstaltung.lehreinheit_id=' . $db->db_add_param($lehreinheit, FHC_INTEGER); - -$qry .= ' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; - -$stsem_obj = new studiensemester(); -$stsem_obj->load($studiensemester); -$stsemdatumvon = $stsem_obj->start; -$stsemdatumbis = $stsem_obj->ende; - -$erhalter = new erhalter(); -$erhalter->getAll(); - -$a_o_kz = '9' . sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) -$anzahl_studierende = 0; -$datum = new datum(); -$zusatz = ''; - -//structure students data -if ($result = $db->db_query($qry)) { - while ($row = $db->db_fetch_object($result)) { - if ($row->status != 'Abbrecher' && $row->status != 'Unterbrecher') { - $anzahl_studierende++; - - if ($row->status == 'Incoming') //Incoming - $zusatz = '(i)'; - else - $zusatz = ''; - - if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->bis > $stsemdatumvon || $row->bis == '') && $row->von < $stsemdatumbis) //Outgoing - $zusatz .= '(o)(ab ' . $datum->formatDatum($row->von, 'd.m.Y') . ')'; - - if ($row->note == 6) //angerechnet - $zusatz .= '(ar)'; - - if ($row->mitarbeiter_uid != '') //mitarbeiter - $zusatz .= '(ma)'; - - if ($row->stg_kz_student == $a_o_kz) //Außerordentliche Studierende - $zusatz .= '(a.o.)'; - - //allow admin and assistenz to see ALL fotos (even if locked by user) - if ($show_all_fotos) - $row->foto_sperre = 'f'; - - //create foto (if not locked by student OR if fotolist is created by admin or assistenz) - $foto_url = ''; - if ($row->foto_sperre == 'f' && $row->foto != '') { - $foto_src = $row->foto; - $foto_url = sys_get_temp_dir() . '/foto' . trim($row->matrikelnr) . '.jpg'; - $foto_url_arr[] = $foto_url; - - //create writeable file - if (!$foto = fopen($foto_url, 'w')) - die("Das Bild konnte nicht erstellt werden"); - //add foto base64-code - if (!fwrite($foto, base64_decode($foto_src))) - { - die("Das Bild konnte nicht erstellt werden"); - } - - //add foto to document - $doc->addImage($foto_url, trim($row->matrikelnr) . '.jpg', 'image/jpg'); - } -// elseif ($row->foto == '') -// { -// $foto_url = ''; -// } -// else -// { -// $foto_url = ''; -// } - - //create studiengruppe - $student_studiengruppe = strtoupper($row->typ.$row->kurzbz.'-'.$row->semester); - - //add studierenden data for XML - $data[] = array('studierende' => array( - 'vorname' => $row->vorname, - 'nachname' => mb_strtoupper($row->nachname, 'UTF-8'), - 'personenkennzeichen' => trim($row->matrikelnr), - 'geschlecht' => $row->geschlecht, - 'foto_gesperrt' => $row->foto_sperre, // f/t - 'foto_url' => $foto_url, - 'studiengruppe' => $student_studiengruppe, - 'verband' => trim($row->verband), - 'gruppe' => trim($row->gruppe), - 'zusatz' => $zusatz - )); - } - } - //Anzahl Studierende in Array $data (an erster Stelle) einfuegen - $data = array_reverse($data, true); - $data['anzahl_studierende'] = $anzahl_studierende; - $data = array_reverse($data, true); -} - -//add data to fotoliste.xsl -$doc->addDataArray($data, 'fotoliste'); - -//set doc name -$doc->setFilename('Fotoliste_'.$stg_bezeichnung.'_'.$studiensemester.'_'.$lv_bezeichnung); - -//create doc in format required -if (!$doc->create($output)) - die($doc->errormsg); - -//download doc -$doc->output(); - -//unlink doc from tmp-folder -$doc->close(); - -//unlink fotos from tmp-folder -foreach ($foto_url_arr as $foto_url) - unlink($foto_url); + + * + * Description: This file creates a studentlist with students' profile fotos + * by a given studiengangs- and lehrveranstaltungs ID (and eventually a given lehreinheit ID). + * If fotos are locked by student, a dummy picture is inserted instead of the students foto. + * EXCEPTION: if user has admins or assitents rights, ALL students' fotos are iserted (even locked ones) + * + */ + +require_once('../../../config/cis.config.inc.php'); +require_once('../../../include/dokument_export.class.php'); +require_once('../../../include/lehrveranstaltung.class.php'); +require_once('../../../include/lehreinheit.class.php'); +require_once('../../../include/benutzerberechtigung.class.php'); +require_once('../../../include/studiensemester.class.php'); +require_once('../../../include/functions.inc.php'); +require_once('../../../include/erhalter.class.php'); +require_once('../../../include/datum.class.php'); + + +$doc = new dokument_export('fotoliste'); +$output = 'pdf'; +$show_all_fotos = false; + + +//check user access & $_GET vars +if (!$db = new basis_db()) + die('Es konnte keine Verbindung zum Server aufgebaut werden.'); + +$user = get_uid(); + + +if (isset($_GET['lvid']) && is_numeric($_GET['lvid'])) + $lvid = $_GET['lvid']; +else + die('Eine gueltige LvID muss uebergeben werden'); + +isset($_GET['stsem']) ? $studiensemester = $_GET['stsem'] : die('Ein Studiensemester muss uebergeben werden'); + +$lv = new lehrveranstaltung(); +$lv->load($lvid); + +$berechtigung = new benutzerberechtigung(); +$berechtigung->getBerechtigungen($user); + +if (!$berechtigung->isBerechtigt('admin') && !$berechtigung->isBerechtigt('assistenz') && !$berechtigung->isBerechtigt('lehre', $lv->oe_kurzbz, 's') && !check_lektor_lehrveranstaltung($user, $lvid, $studiensemester)) + die('Sie muessen LektorIn der LV sein oder das Recht "ADMIN", "ASSISTENZ" oder "LEHRE" haben, um diese Seite aufrufen zu koennen'); + +if ($berechtigung->isBerechtigt('admin') || $berechtigung->isBerechtigt('assistenz')) + $show_all_fotos = true; + +if (isset($_GET['output']) && ($output = 'odt' || $output = 'doc')) + $output = $_GET['output']; +isset($_GET['stg_kz']) ? $studiengang = $_GET['stg_kz'] : $studiengang = NULL; +isset($_GET['lehreinheit_id']) ? $lehreinheit = $_GET['lehreinheit_id'] : $lehreinheit = NULL; + + +//**************************** overall lehrveranstaltungs data ******************************* +//load overall lehrveranstaltungs-data +$qry = "SELECT DISTINCT ON + (kuerzel, semester, verband, gruppe, gruppe_kurzbz) + UPPER(stg_typ || stg_kurzbz) as kuerzel, + lv_bezeichnung, + stg_bez, + semester, + verband, + gruppe, + gruppe_kurzbz, + stg_typ + FROM + campus.vw_lehreinheit + WHERE + lehrveranstaltung_id=" . $db->db_add_param($lvid, FHC_INTEGER) . " + AND + studiensemester_kurzbz=" . $db->db_add_param($studiensemester); +if ($lehreinheit != '') + $qry .= " AND lehreinheit_id=" . $db->db_add_param($lehreinheit, FHC_INTEGER); + +$gruppen_string = ''; +$gruppen_string_arr = array(); +$stg_typ = ''; + +//structure overall lehrveranstaltungs data +if ($result = $db->db_query($qry)) { + while ($row = $db->db_fetch_object($result)) { + //lehrveranstaltung + $lv_bezeichnung = $row->lv_bezeichnung; + //studiengang + $stg_bezeichnung = $row->stg_bez; + //studiengangstyp + $stg_typ = $row->stg_typ; + //collect all gruppenkürzel + if ($row->gruppe_kurzbz == '') + $gruppen_string = trim($row->kuerzel . '-' . $row->semester); + else + $gruppen_string = $row->gruppe_kurzbz; + + $gruppen_string_arr[] = $gruppen_string; + } +} + +//concatinate distinct gruppenkürzel +$studiengruppe = implode(", ", array_unique($gruppen_string_arr)); + +//get studiengangstyp-bezeichnung +$qry = "SELECT + bezeichnung + FROM + public.tbl_studiengangstyp + WHERE + typ =" . $db->db_add_param($stg_typ); + +if ($result = $db->db_query($qry)) { + $row = $db->db_fetch_object($result); + $stg_typ_bezeichnung = $row->bezeichnung; +} + + +//add overall lehrveranstaltungs-data for XML +$data = array( + 'lehrveranstaltung' => $lv_bezeichnung, + 'studiengang' => $stg_bezeichnung, + 'studiengangs_typ' => $stg_typ_bezeichnung, + 'studiensemester' => $studiensemester, + 'studiengruppe' => $studiengruppe +); + + + +//**************************** students data ******************************* +//load students-data +$qry = 'SELECT DISTINCT ON + (nachname, vorname, person_id) + vorname, + nachname, + matrikelnr, + tbl_studentlehrverband.semester, + tbl_studentlehrverband.verband, + tbl_studentlehrverband.gruppe, + (SELECT + status_kurzbz + FROM + public.tbl_prestudentstatus + WHERE + prestudent_id=tbl_student.prestudent_id + ORDER BY + datum DESC, insertamum DESC, ext_id DESC LIMIT 1) as status, + tbl_studiengang.kurzbz, + tbl_studiengang.typ, + tbl_bisio.bisio_id, + tbl_bisio.von, + tbl_bisio.bis, + tbl_student.studiengang_kz AS stg_kz_student, + tbl_zeugnisnote.note, + tbl_mitarbeiter.mitarbeiter_uid, + tbl_person.matr_nr, + tbl_person.geschlecht, + tbl_person.foto, + tbl_person.foto_sperre + FROM + campus.vw_student_lehrveranstaltung + JOIN public.tbl_benutzer USING(uid) + JOIN public.tbl_person USING(person_id) + LEFT JOIN public.tbl_student ON(uid=student_uid) + LEFT JOIN public.tbl_studiengang ON(tbl_studiengang.studiengang_kz=tbl_student.studiengang_kz) + LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid) + LEFT JOIN public.tbl_studentlehrverband USING(student_uid,studiensemester_kurzbz) + LEFT JOIN lehre.tbl_zeugnisnote ON(vw_student_lehrveranstaltung.lehrveranstaltung_id=tbl_zeugnisnote.lehrveranstaltung_id + AND tbl_zeugnisnote.student_uid=tbl_student.student_uid + AND tbl_zeugnisnote.studiensemester_kurzbz=tbl_studentlehrverband.studiensemester_kurzbz) + LEFT JOIN bis.tbl_bisio ON(uid=tbl_bisio.student_uid) + WHERE + vw_student_lehrveranstaltung.lehrveranstaltung_id=' . $db->db_add_param($lvid, FHC_INTEGER) . ' AND + vw_student_lehrveranstaltung.studiensemester_kurzbz=' . $db->db_add_param($studiensemester); + +if ($lehreinheit != '') + $qry .= ' AND vw_student_lehrveranstaltung.lehreinheit_id=' . $db->db_add_param($lehreinheit, FHC_INTEGER); + +$qry .= ' ORDER BY nachname, vorname, person_id, tbl_bisio.bis DESC'; + +$stsem_obj = new studiensemester(); +$stsem_obj->load($studiensemester); +$stsemdatumvon = $stsem_obj->start; +$stsemdatumbis = $stsem_obj->ende; + +$erhalter = new erhalter(); +$erhalter->getAll(); + +$a_o_kz = '9' . sprintf("%03s", $erhalter->result[0]->erhalter_kz); //Stg_Kz AO-Studierende auslesen (9005 fuer FHTW) +$anzahl_studierende = 0; +$datum = new datum(); +$zusatz = ''; + +//structure students data +if ($result = $db->db_query($qry)) { + while ($row = $db->db_fetch_object($result)) { + if ($row->status != 'Abbrecher' && $row->status != 'Unterbrecher') { + $anzahl_studierende++; + + if ($row->status == 'Incoming') //Incoming + $zusatz = '(i)'; + else + $zusatz = ''; + + if ($row->bisio_id != '' && $row->status != 'Incoming' && ($row->bis > $stsemdatumvon || $row->bis == '') && $row->von < $stsemdatumbis) //Outgoing + $zusatz .= '(o)(ab ' . $datum->formatDatum($row->von, 'd.m.Y') . ')'; + + if ($row->note == 6) //angerechnet + $zusatz .= '(ar)'; + + if ($row->mitarbeiter_uid != '') //mitarbeiter + $zusatz .= '(ma)'; + + if ($row->stg_kz_student == $a_o_kz) //Außerordentliche Studierende + $zusatz .= '(a.o.)'; + + //allow admin and assistenz to see ALL fotos (even if locked by user) + if ($show_all_fotos) + $row->foto_sperre = 'f'; + + //create foto (if not locked by student OR if fotolist is created by admin or assistenz) + $foto_url = ''; + + if ($row->foto_sperre == 'f' && $row->foto != '') { + $foto_src = $row->foto; + $foto_url = sys_get_temp_dir() . '/foto' . trim($row->matrikelnr) . '.jpg'; + $foto_url_arr[] = $foto_url; + + //create writeable file + if (!$foto = fopen($foto_url, 'w')) + die("Das Bild konnte nicht erstellt werden"); + //add foto base64-code + if (!fwrite($foto, base64_decode($foto_src))) + { + die("Das Bild konnte nicht erstellt werden"); + } + + //add foto to document + $doc->addImage($foto_url, trim($row->matrikelnr) . '.jpg', 'image/jpg'); + } + elseif ($row->foto_sperre == 't') + { + $foto_url = 'gesperrt'; + } + + //create studiengruppe + $student_studiengruppe = strtoupper($row->typ.$row->kurzbz.'-'.$row->semester); + + //add studierenden data for XML + $data[] = array('studierende' => array( + 'vorname' => $row->vorname, + 'nachname' => mb_strtoupper($row->nachname, 'UTF-8'), + 'personenkennzeichen' => trim($row->matrikelnr), + 'geschlecht' => $row->geschlecht, + 'foto_gesperrt' => $row->foto_sperre, // f/t + 'foto_url' => $foto_url, + 'studiengruppe' => $student_studiengruppe, + 'verband' => trim($row->verband), + 'gruppe' => trim($row->gruppe), + 'zusatz' => $zusatz + )); + } + } + //Anzahl Studierende in Array $data (an erster Stelle) einfuegen + $data = array_reverse($data, true); + $data['anzahl_studierende'] = $anzahl_studierende; + $data = array_reverse($data, true); +} + +//add data to fotoliste.xsl +$doc->addDataArray($data, 'fotoliste'); + +//set doc name +$doc->setFilename('Fotoliste_'.$stg_bezeichnung.'_'.$studiensemester.'_'.$lv_bezeichnung); + +//create doc in format required +if (!$doc->create($output)) + die($doc->errormsg); + +//download doc +$doc->output(); + +//unlink doc from tmp-folder +$doc->close(); + +//unlink fotos from tmp-folder +foreach ($foto_url_arr as $foto_url) + unlink($foto_url); diff --git a/system/dbupdate_3.3.php b/system/dbupdate_3.3.php index 7831171ea..aa29445e3 100644 --- a/system/dbupdate_3.3.php +++ b/system/dbupdate_3.3.php @@ -1343,6 +1343,20 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants } } +// INSERT Berechtigungen fuer web User erteilen fuer tbl_msg_status +if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_msg_status' AND table_schema='public' AND grantee='web' AND privilege_type='UPDATE'")) +{ + if($db->db_num_rows($result)==0) + { + $qry = "GRANT UPDATE ON public.tbl_msg_status TO web;"; + + if(!$db->db_query($qry)) + echo 'public.tbl_msg_status Berechtigungen: '.$db->db_last_error().'
'; + else + echo 'UPDATE Rechte fuer public.tbl_msg_status fuer web user gesetzt '; + } +} + /** * Kommentare fuer Datenbanktabellen */ @@ -1668,7 +1682,89 @@ if($result = $db->db_query("SELECT obj_description('public.ci_apikey'::regclass) else echo 'Kommentare fuer DB Datenbanktabellen hinzugefügt'; } + } +} +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'; } } diff --git a/system/xsl/fotoliste_0.xsl b/system/xsl/fotoliste_0.xsl index 0b3109430..d28aee75f 100644 --- a/system/xsl/fotoliste_0.xsl +++ b/system/xsl/fotoliste_0.xsl @@ -256,21 +256,21 @@ - + - + - + - +