mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
Merge branch 'master' of https://github.com/FH-Complete/FHC-Core
This commit is contained in:
@@ -604,7 +604,7 @@ function saveAnmeldung($aktStudiensemester = null, $uid = null)
|
||||
|
||||
foreach ($prestudent->result as $ps)
|
||||
{
|
||||
if ($ps->getLaststatus($ps->prestudent_id, $stdsem))
|
||||
if ($ps->getLaststatus($ps->prestudent_id, $stdsem_lv_besuch))
|
||||
{
|
||||
if (($ps->status_kurzbz == "Student") || ($ps->status_kurzbz == "Unterbrecher"))
|
||||
{
|
||||
|
||||
@@ -36,7 +36,7 @@ require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/datum.class.php');
|
||||
require_once('../../../include/lvangebot.class.php');
|
||||
require_once('../../../include/addon.class.php');
|
||||
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Fehler beim Oeffnen der Datenbankverbindung');
|
||||
@@ -56,6 +56,11 @@ require_once('../../../include/addon.class.php');
|
||||
else
|
||||
$stdsem=$studiensemester->getaktorNext();
|
||||
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if(!$rechte->isBerechtigt('admin') && $uid!=$user)
|
||||
die('Sie haben keine Berechtigung für diesen Vorgang');
|
||||
|
||||
$datum = new datum();
|
||||
|
||||
$addon = new addon();
|
||||
|
||||
@@ -2948,6 +2948,7 @@ function StudentZeugnisAnzeigen()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// ****
|
||||
// * Loescht ein Dokument aus dem Archiv
|
||||
// ****
|
||||
@@ -2958,7 +2959,7 @@ function StudentAkteDel()
|
||||
var tree = document.getElementById('student-zeugnis-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
@@ -2987,12 +2988,11 @@ function StudentAkteDel()
|
||||
var val = new ParseReturnValue(response)
|
||||
|
||||
if(!val.dbdml_return)
|
||||
alert(val.dbdml_errormsg)
|
||||
alert(val.dbdml_errormsg)
|
||||
|
||||
StudentTreeRefresh();
|
||||
}
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Deaktiviert die Felder
|
||||
// ****
|
||||
@@ -3001,6 +3001,32 @@ function StudentAkteDisableFields(val)
|
||||
document.getElementById('student-zeugnis-button-archivieren').disabled=val;
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Offent eine Seite zum Upload einer neuen Datei zu einer archivierten Akte
|
||||
// ****
|
||||
function StudentAkteUpload()
|
||||
{
|
||||
|
||||
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
|
||||
var tree = document.getElementById('student-zeugnis-tree');
|
||||
|
||||
if (tree.currentIndex==-1)
|
||||
return;
|
||||
|
||||
try
|
||||
{
|
||||
//Ausgewaehlte Akte holen
|
||||
var akte_id = getTreeCellText(tree, 'student-zeugnis-tree-akte_id', tree.currentIndex);
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
alert(e);
|
||||
return false;
|
||||
}
|
||||
|
||||
window.open('../vilesci/personen/akteupdate.php?akte_id='+akte_id);
|
||||
}
|
||||
|
||||
// ****
|
||||
// * Startet das Script zum Archivieren des Zeugnisses und
|
||||
// * Refresht dann den Tree
|
||||
|
||||
@@ -26,6 +26,12 @@ header("Expires Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Pragma: no-cache");
|
||||
header("Content-type: application/vnd.mozilla.xul+xml");
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
|
||||
?>
|
||||
@@ -39,6 +45,12 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<popupset>
|
||||
<menupopup id="student-zeugnis-tree-popup">
|
||||
<menuitem label="Entfernen" oncommand="StudentAkteDel();" id="student-zeugnis-tree-popup-aktedel" hidden="false"/>
|
||||
<?php
|
||||
if($rechte->isBerechtigt('admin'))
|
||||
{
|
||||
echo '<menuitem label="Datei überschreiben" oncommand="StudentAkteUpload();" id="student-zeugnis-tree-popup-akteupload" hidden="false"/>';
|
||||
}
|
||||
?>
|
||||
</menupopup>
|
||||
</popupset>
|
||||
<hbox>
|
||||
@@ -51,7 +63,7 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
context="student-zeugnis-tree-popup"
|
||||
flags="dont-build-content"
|
||||
>
|
||||
|
||||
|
||||
<treecols>
|
||||
<treecol id="student-zeugnis-tree-titel" label="Titel" flex="2" hidden="false" primary="true"
|
||||
class="sortDirectionIndicator"
|
||||
@@ -67,14 +79,14 @@ echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-zeugnis-tree-gedruckt" label="Gedruckt" flex="2" hidden="false"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/akte/rdf#gedruckt" />
|
||||
sort="rdf:http://www.technikum-wien.at/akte/rdf#gedruckt" />
|
||||
<splitter class="tree-splitter"/>
|
||||
<treecol id="student-zeugnis-tree-akte_id" label="akte_id" flex="2" hidden="true"
|
||||
class="sortDirectionIndicator"
|
||||
sort="rdf:http://www.technikum-wien.at/akte/rdf#akte_id" />
|
||||
sort="rdf:http://www.technikum-wien.at/akte/rdf#akte_id" />
|
||||
<splitter class="tree-splitter"/>
|
||||
</treecols>
|
||||
|
||||
|
||||
<template>
|
||||
<treechildren flex="1" >
|
||||
<treeitem uri="rdf:*">
|
||||
|
||||
@@ -374,7 +374,7 @@ class bisverwendung extends basis_db
|
||||
mitarbeiter_uid=".$this->db_add_param($uid)."
|
||||
AND (beginn<=".$this->db_add_param($datum)." OR beginn is null)
|
||||
AND (ende>=".$this->db_add_param($datum_obj->formatDatum($datum,'Y-m-01'))." OR ende is null)
|
||||
ORDER BY beginn;";
|
||||
ORDER BY ende desc;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -88,7 +88,7 @@ class vertrag extends basis_db
|
||||
* @param $person_id
|
||||
* @return boolean true wenn ok ,false im Fehlerfall
|
||||
*/
|
||||
public function loadVertrag($person_id, $abgerechnet=null)
|
||||
public function loadVertrag($person_id, $abgerechnet=null, $datum=null)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*,
|
||||
@@ -106,6 +106,23 @@ class vertrag extends basis_db
|
||||
if($abgerechnet===false)
|
||||
$qry.=" AND NOT EXISTS (SELECT 1 FROM lehre.tbl_vertrag_vertragsstatus WHERE vertrag_id=tbl_vertrag.vertrag_id AND vertragsstatus_kurzbz='abgerechnet')";
|
||||
|
||||
if(!is_null($datum))
|
||||
{
|
||||
$qry.=" AND NOT
|
||||
(
|
||||
vertragstyp_kurzbz='Lehrauftrag'
|
||||
AND EXISTS(SELECT
|
||||
1
|
||||
FROM
|
||||
lehre.tbl_lehreinheitmitarbeiter
|
||||
JOIN lehre.tbl_lehreinheit USING(lehreinheit_id)
|
||||
WHERE
|
||||
vertrag_id=tbl_vertrag.vertrag_id
|
||||
AND studiensemester_kurzbz in (SELECT studiensemester_kurzbz FROM public.tbl_studiensemester WHERE start>=".$this->db_add_param($datum).")
|
||||
)
|
||||
)";
|
||||
}
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
|
||||
@@ -2428,6 +2428,10 @@ class wochenplan extends basis_db
|
||||
$end_time=$row->ende;
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -126,8 +126,8 @@ $this->phrasen['pruefung/anmeldungErfolgreichGeloescht'] = 'Iscrizione cancellat
|
||||
|
||||
// Mailtexte
|
||||
$this->phrasen['pruefung/emailSubjectAnmeldungBestaetigung'] = 'Conferma d’iscrizione all’appello d’esame';
|
||||
$this->phrasen['pruefung/emailBody1'] = 'La sua iscrizione all’appello d’esame è stata';
|
||||
$this->phrasen['pruefung/emailBody2'] = 'confermata.';
|
||||
$this->phrasen['pruefung/emailBody1'] = 'La sua iscrizione all’appello d’esame è stata confermata da';
|
||||
$this->phrasen['pruefung/emailBody2'] = '.';
|
||||
$this->phrasen['pruefung/emailBodyPruefung'] = 'Appello d’esame:';
|
||||
$this->phrasen['pruefung/emailBodyTermin'] = 'Data:';
|
||||
$this->phrasen['pruefung/emailBodyDauer'] = 'Durata:';
|
||||
|
||||
+33
-33
@@ -1,40 +1,40 @@
|
||||
<?php
|
||||
$this->phrasen['upload/aktionen']='azioni';
|
||||
$this->phrasen['upload/auswaehlen']='';
|
||||
$this->phrasen['upload/benutzerKonnteNichtZugeordnetWerden']='';
|
||||
$this->phrasen['upload/dateiAufServerDateiformat']='Errore: il formato del file che si vuole caricare sul server non viene supportato';
|
||||
$this->phrasen['upload/dateien']='';
|
||||
$this->phrasen['upload/dateienAutomatischUeberschreiben']='sovrascrivere file omonimi';
|
||||
$this->phrasen['upload/dateienImOrdner']='';
|
||||
$this->phrasen['upload/dateienInOrdnern']='';
|
||||
$this->phrasen['upload/dateiExistiertBereits']='Errore: il file è già esistente! Si prega di utilizzare l\'opzione "sovrascrivere automaticamente i file';
|
||||
$this->phrasen['upload/dateinameDarfNurBuchstaben']='';
|
||||
$this->phrasen['upload/dateiUpload']='';
|
||||
$this->phrasen['upload/esWurdeKeinPfadDefiniert']='';
|
||||
$this->phrasen['upload/fehlerBeimLadenDerLv']='errore di caricamento della LV';
|
||||
$this->phrasen['upload/fehlerBeimLoeschenDesOrdners']='errore in sede di cancellazione della cartella';
|
||||
$this->phrasen['upload/formattributInEinNeues ']='';
|
||||
$this->phrasen['upload/kbGespeichert']='';
|
||||
$this->phrasen['upload/keineDateienGefunden']='impossibile trovare file';
|
||||
$this->phrasen['upload/keineGegenstaendeDefiniert']='';
|
||||
$this->phrasen['upload/keineOrdnerGefunden']='impossibile trovare cartelle corrispondenti';
|
||||
$this->phrasen['upload/keineSemesterDefiniert']='';
|
||||
$this->phrasen['upload/keineStudiengaengeDefiniert']='';
|
||||
$this->phrasen['upload/leeren']='';
|
||||
$this->phrasen['upload/auswaehlen']='Sfoglia';
|
||||
$this->phrasen['upload/benutzerKonnteNichtZugeordnetWerden']='Non è stato potuto assegnare l’utente %s';
|
||||
$this->phrasen['upload/dateiAufServerDateiformat']='Errore: il formato del file che si vuole caricare non è supportato';
|
||||
$this->phrasen['upload/dateien']='File';
|
||||
$this->phrasen['upload/dateienAutomatischUeberschreiben']='sovrascrivere automaticamente file omonimi';
|
||||
$this->phrasen['upload/dateienImOrdner']='File nella cartella';
|
||||
$this->phrasen['upload/dateienInOrdnern']='%s file in %s cartella/e, per un totale di %sKB';
|
||||
$this->phrasen['upload/dateiExistiertBereits']='Errore: il file è già esistente! Si prega di utilizzare l’opzione "sovrascrivere automaticamente file omonimi" ';
|
||||
$this->phrasen['upload/dateinameDarfNurBuchstaben']='Il nome del file %s non è valido. Il nome del file può contenere solo lettere e numeri';
|
||||
$this->phrasen['upload/dateiUpload']='Upload';
|
||||
$this->phrasen['upload/esWurdeKeinPfadDefiniert']='Non è stato definito un percorso per il file';
|
||||
$this->phrasen['upload/fehlerBeimLadenDerLv']='errore di caricamento del corso';
|
||||
$this->phrasen['upload/fehlerBeimLoeschenDesOrdners']='errore nella cancellazione della cartella';
|
||||
$this->phrasen['upload/formattributInEinNeues ']='Errore: si è tentato di cambiare il formato del file in un formato non supportato';
|
||||
$this->phrasen['upload/kbGespeichert']='KB salvati';
|
||||
$this->phrasen['upload/keineDateienGefunden']='Nessun file trovtato';
|
||||
$this->phrasen['upload/keineGegenstaendeDefiniert']='Non è stato possibile definire gli oggetti';
|
||||
$this->phrasen['upload/keineOrdnerGefunden']='Nessuna cartella trovata';
|
||||
$this->phrasen['upload/keineSemesterDefiniert']='Non è stato possibile definire il semestre';
|
||||
$this->phrasen['upload/keineStudiengaengeDefiniert']='Non è stato possibile definire il corso di studi';
|
||||
$this->phrasen['upload/leeren']='Cancella';
|
||||
$this->phrasen['upload/maxUploadgroesse']='Grandezza massima per file';
|
||||
$this->phrasen['upload/name']='';
|
||||
$this->phrasen['upload/name']='Nome';
|
||||
$this->phrasen['upload/neuesVerzeichnisErstellen']='crea nuova cartella';
|
||||
$this->phrasen['upload/studentenUploadEinsehen']='';
|
||||
$this->phrasen['upload/studentenUploadVerwalten']='';
|
||||
$this->phrasen['upload/studentenUploadverzeichnis']='';
|
||||
$this->phrasen['upload/studentenUploadverzeichnisLeeren']='';
|
||||
$this->phrasen['upload/umEinenOrdnerOderEineDatei']='Per cancellare o modificare un file o una cartella barrare la corrispettiva casella.';
|
||||
$this->phrasen['upload/unterordnerVon']='';
|
||||
$this->phrasen['upload/upload']='';
|
||||
$this->phrasen['upload/verzeichnisErstellen']='';
|
||||
$this->phrasen['upload/studentenUploadEinsehen']='Visualizza upload studenti';
|
||||
$this->phrasen['upload/studentenUploadVerwalten']='Gestisci upload studenti';
|
||||
$this->phrasen['upload/studentenUploadverzeichnis']='Registro degli upload';
|
||||
$this->phrasen['upload/studentenUploadverzeichnisLeeren']='Cancella registro degli upload';
|
||||
$this->phrasen['upload/umEinenOrdnerOderEineDatei']='Per cancellare o modificare un file/cartella barrare la corrispettiva casella.';
|
||||
$this->phrasen['upload/unterordnerVon']='sottocartella di';
|
||||
$this->phrasen['upload/upload']='Upload';
|
||||
$this->phrasen['upload/verzeichnisErstellen']='Genera un registro degli upload';
|
||||
$this->phrasen['upload/verzeichnisname']='Nome cartella';
|
||||
$this->phrasen['upload/verzeichnisnameDarfNurBuchstaben']='';
|
||||
$this->phrasen['upload/wollenSieOrdnerWirklichLoeschen']='';
|
||||
$this->phrasen['upload/wollenSieUploadWirklichLeeren']='';
|
||||
$this->phrasen['upload/verzeichnisnameDarfNurBuchstaben']='Il nome del registro può contenere solo lettere o numeri';
|
||||
$this->phrasen['upload/wollenSieOrdnerWirklichLoeschen']='Si vuole veramente cancellare i dati selezionati? L’operazione è irreversibile';
|
||||
$this->phrasen['upload/wollenSieUploadWirklichLeeren']='Si vuole veramente cancellare il registro degli upload? L’operazione è irreversibile';
|
||||
|
||||
?>
|
||||
|
||||
@@ -48,7 +48,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
tbl_person.vorname, tbl_person.nachname,tbl_person.gebdatum,
|
||||
tbl_studiensemester.bezeichnung as sembezeichnung,
|
||||
tbl_studiengang.english as bezeichnung_englisch,
|
||||
tbl_studiengang.orgform_kurzbz, tbl_studiengang.typ
|
||||
tbl_studiengang.typ, tbl_studiengang.orgform_kurzbz, tbl_person.matr_nr
|
||||
FROM
|
||||
public.tbl_person, public.tbl_student, public.tbl_studiengang, public.tbl_benutzer,
|
||||
public.tbl_studentlehrverband, public.tbl_studiensemester
|
||||
@@ -189,6 +189,7 @@ function draw_studienerfolg($uid, $studiensemester_kurzbz)
|
||||
$gebdatum = date('d.m.Y',strtotime($row->gebdatum));
|
||||
$xml .= " <gebdatum>".$gebdatum."</gebdatum>";
|
||||
$xml .= " <matrikelnr>".$row->matrikelnr."</matrikelnr>";
|
||||
$xml .= " <matr_nr>".$row->matr_nr."</matr_nr>";
|
||||
$xml .= " <studiensemester_kurzbz>".(($stdsem->beschreibung != NULL) ? $stdsem->beschreibung : $studiensemester_kurzbz)."</studiensemester_kurzbz>";
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$xml .= " <datum>".$datum_aktuell."</datum>";
|
||||
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 117 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 74 KiB |
+41
-13
@@ -1396,27 +1396,19 @@ if(!$result = @$db->db_query("SELECT bezeichnung_mehrsprachig FROM testtool.tbl_
|
||||
echo 'testtool.tbl_gebiet: Spalte bezeichnung_mehrsprachig hinzugefuegt!<br>';
|
||||
|
||||
// Bezeichnung_mehrsprachig aus existierender Bezeichnung vorausfuellen. Ein Eintrag fuer jede Sprache mit Content aktiv.
|
||||
$qry_help = "SELECT count(*) FROM public.tbl_sprache WHERE content=TRUE;";
|
||||
$qry_help = "SELECT index FROM public.tbl_sprache WHERE content=TRUE;";
|
||||
if(!$result = $db->db_query($qry_help))
|
||||
echo '<strong>tbl_gebiet bezeichnung_mehrsprachig: Fehler beim ermitteln der Sprachen: '.$db->db_last_error().'</strong>';
|
||||
else
|
||||
{
|
||||
$row = $db->db_fetch_row($result);
|
||||
// In integer umwandeln
|
||||
$row = intval($row[0]);
|
||||
$bezeichnungen = '';
|
||||
for ($i = 1; $i <= $row; $i++)
|
||||
{
|
||||
$bezeichnungen .= "\"'||bezeichnung||'\",";
|
||||
}
|
||||
//Komma am Ende entfernen
|
||||
$bezeichnungen = mb_substr($bezeichnungen,0,-1);
|
||||
$qry = "UPDATE testtool.tbl_gebiet set bezeichnung_mehrsprachig = cast('{".$bezeichnungen."}' as varchar[]);";
|
||||
$qry='';
|
||||
while($row = $db->db_fetch_object($result))
|
||||
$qry.= "UPDATE testtool.tbl_gebiet set bezeichnung_mehrsprachig[".$row->index."] = bezeichnung;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Setzen der bezeichnung_mehrsprachig fehlgeschlagen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'testtool.tbl_gebiet: bezeichnung_mehrprachig automatisch aus existierender Bezeichnung uebernommen und fuer '.$row.' Sprachen gesetzt<br>';
|
||||
echo 'testtool.tbl_gebiet: bezeichnung_mehrprachig automatisch aus existierender Bezeichnung uebernommen<br>';
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1474,6 +1466,42 @@ if($result = $db->db_query("SELECT character_maximum_length FROM information_sch
|
||||
}
|
||||
}
|
||||
|
||||
// Nummer in campus.tbl_beispiel von smallint auf integer aendern
|
||||
if($result = $db->db_query("SELECT data_type FROM information_schema.columns WHERE column_name='nummer' AND table_name='tbl_beispiel' AND table_schema='campus';"))
|
||||
{
|
||||
if($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->data_type=='smallint')
|
||||
{
|
||||
$qry = "ALTER TABLE campus.tbl_beispiel ALTER COLUMN nummer TYPE integer;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>campus.tbl_beispiel: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'campus.tbl_beispiel: Spalte nummer von smallint auf integer geändert<br>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Index fuer prestudent und prestudentstatus
|
||||
if($result = $db->db_query("SELECT * FROM pg_class WHERE relname='idx_prestudent_person'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
|
||||
$qry = "
|
||||
CREATE INDEX idx_prestudent_person ON public.tbl_prestudent USING btree (person_id);
|
||||
CREATE INDEX idx_prestudentstatus_prestudent ON public.tbl_prestudentstatus USING btree (prestudent_id);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>Indizes: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Diverse Indizes fuer Prestudent und Prestudentstatus hinzugefuegt';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -0,0 +1,224 @@
|
||||
<?php
|
||||
/* Copyright (C) 2017 FHComplete.org
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Östereicher <oesi@technikum-wien.at>
|
||||
*/
|
||||
require_once('../config/system.config.inc.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
|
||||
// Datenbank Verbindung
|
||||
$db = new basis_db();
|
||||
|
||||
|
||||
$uid = get_uid();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($uid);
|
||||
|
||||
if(!$rechte->isBerechtigt('admin'))
|
||||
{
|
||||
exit('Sie haben keine Berechtigung');
|
||||
}
|
||||
|
||||
echo '<html>
|
||||
<head>
|
||||
<title>Studienordnung generieren</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||
<link rel="stylesheet" href="../skin/vilesci.css" type="text/css" />
|
||||
</head>
|
||||
<body>
|
||||
';
|
||||
if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
{
|
||||
$qry = "
|
||||
SELECT
|
||||
upper(typ || kurzbz) as kurzbz, kurzbzlang, studiengang_kz, bezeichnung, english,max_semester, orgform_kurzbz,
|
||||
(
|
||||
SELECT
|
||||
studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE
|
||||
studiengang_kz=tbl_studiengang.studiengang_kz
|
||||
ORDER BY
|
||||
tbl_studiensemester.start asc limit 1
|
||||
) as start_studiensemester,
|
||||
(
|
||||
SELECT
|
||||
studiensemester_kurzbz
|
||||
FROM
|
||||
public.tbl_prestudentstatus
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
JOIN public.tbl_studiensemester USING(studiensemester_kurzbz)
|
||||
WHERE
|
||||
studiengang_kz=tbl_studiengang.studiengang_kz
|
||||
AND tbl_prestudentstatus.status_kurzbz='Student'
|
||||
ORDER BY
|
||||
tbl_studiensemester.start desc limit 1
|
||||
) as letztes_studenten_studiensemester,
|
||||
(
|
||||
SELECT
|
||||
gueltigvon
|
||||
FROM
|
||||
lehre.tbl_studienordnung
|
||||
JOIN public.tbl_studiensemester ON(tbl_studiensemester.studiensemester_kurzbz=tbl_studienordnung.gueltigvon)
|
||||
WHERE
|
||||
tbl_studienordnung.studiengang_kz = tbl_studiengang.studiengang_kz
|
||||
ORDER BY
|
||||
tbl_studiensemester.start asc limit 1
|
||||
) as start_studienordnung
|
||||
FROM
|
||||
public.tbl_studiengang
|
||||
ORDER BY typ, kurzbz
|
||||
";
|
||||
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
if($row->start_studienordnung == '')
|
||||
{
|
||||
echo $row->bezeichnung.' wird uebersprungen da keine Studienordnung vorhanden ist<br>';
|
||||
continue;
|
||||
}
|
||||
if($row->start_studiensemester == '')
|
||||
{
|
||||
echo $row->bezeichnung.' wird uebersprungen da keine Statuseintraege vorhanden sind<br>';
|
||||
continue;
|
||||
}
|
||||
if($row->start_studiensemester == $row->start_studienordnung)
|
||||
{
|
||||
echo $row->bezeichnung.' wird uebersprungen da bereits eine vollstaendige Studienordnung vorhanden ist<br>';
|
||||
continue;
|
||||
}
|
||||
$stsem = new studiensemester();
|
||||
$stsem_bis = $stsem->getPreviousFrom($row->start_studienordnung);
|
||||
|
||||
$bezeichnung = sprintf("%04s",$row->studiengang_kz).'-'.$row->kurzbz.'-'.$row->start_studiensemester;
|
||||
|
||||
// Studienordnung anlegen
|
||||
|
||||
$qry_sto = "INSERT INTO lehre.tbl_studienordnung(studiengang_kz, version, gueltigvon, gueltigbis,
|
||||
bezeichnung, ects, studiengangbezeichnung, studiengangbezeichnung_englisch, studiengangkurzbzlang,
|
||||
insertamum, insertvon, status_kurzbz) VALUES(".
|
||||
$db->db_add_param($row->studiengang_kz).','.
|
||||
"'01',".
|
||||
$db->db_add_param($row->start_studiensemester).','.
|
||||
$db->db_add_param($stsem_bis).','.
|
||||
$db->db_add_param($bezeichnung).','.
|
||||
$db->db_add_param($row->max_semester*30).','.
|
||||
$db->db_add_param($row->bezeichnung).','.
|
||||
$db->db_add_param($row->english).','.
|
||||
$db->db_add_param($row->kurzbzlang).",now(),'autogenerate','approved');";
|
||||
|
||||
if($db->db_query('BEGIN;'.$qry_sto))
|
||||
{
|
||||
$qry="SELECT currval('lehre.seq_studienordnung_studienordnung_id') as id;";
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($rowseq = $db->db_fetch_object())
|
||||
{
|
||||
$studienordnung_id = $rowseq->id;
|
||||
}
|
||||
}
|
||||
|
||||
// Studienplan anlegen
|
||||
$qry_stpl = 'INSERT INTO lehre.tbl_studienplan (studienordnung_id, orgform_kurzbz,version,
|
||||
bezeichnung, regelstudiendauer, sprache, aktiv, semesterwochen, testtool_sprachwahl,
|
||||
pflicht_sws, pflicht_lvs, ects_stpl, insertamum, insertvon) VALUES ('.
|
||||
$db->db_add_param($studienordnung_id, FHC_INTEGER).', '.
|
||||
$db->db_add_param($row->orgform_kurzbz).', '.
|
||||
"'V1', ".
|
||||
$db->db_add_param($bezeichnung.'-'.$row->orgform_kurzbz).', '.
|
||||
$db->db_add_param($row->max_semester, FHC_INTEGER).', '.
|
||||
"'German', true, 15, false, 0, 0,".
|
||||
$db->db_add_param($row->max_semester*30, FHC_INTEGER).', '.
|
||||
"now(),'autogenerate');";
|
||||
|
||||
if($db->db_query($qry_stpl))
|
||||
{
|
||||
$qry="SELECT currval('lehre.seq_studienplan_studienplan_id') as id;";
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($row_seq = $db->db_fetch_object())
|
||||
{
|
||||
$studienplan_id = $row_seq->id;
|
||||
}
|
||||
}
|
||||
|
||||
// Gueltigkeiten setzen
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
public.tbl_studiensemester
|
||||
WHERE
|
||||
start>=(SELECT start FROM public.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz=".$db->db_add_param($row->start_studiensemester).")
|
||||
AND ende<=(SELECT ende FROM public.tbl_studiensemester
|
||||
WHERE studiensemester_kurzbz=".$db->db_add_param($stsem_bis).")";
|
||||
|
||||
if($result_stsem = $db->db_query($qry))
|
||||
{
|
||||
while($row_stsem = $db->db_fetch_object($result_stsem))
|
||||
{
|
||||
if(mb_substr($row_stsem->studiensemester_kurzbz,0,2)=='WS')
|
||||
$sem=1;
|
||||
else
|
||||
$sem=2;
|
||||
|
||||
while($sem<=$row->max_semester)
|
||||
{
|
||||
$qry_stplsem = "INSERT INTO lehre.tbl_studienplan_semester (
|
||||
studienplan_id, studiensemester_kurzbz, semester) VALUES (" .
|
||||
$db->db_add_param($studienplan_id) . ', ' .
|
||||
$db->db_add_param($row_stsem->studiensemester_kurzbz) . ', ' .
|
||||
$db->db_add_param($sem) . '); ';
|
||||
|
||||
$db->db_query($qry_stplsem);
|
||||
$sem+=2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
echo "Generiere ".$bezeichnung." für ".$row->bezeichnung.'<br>';
|
||||
$db->db_query('COMMIT;');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '
|
||||
<h1>Studienordnungen generieren</h1>
|
||||
Dieses Script generiert pro Studiengang eine Studienordnung wenn Statuseinträge vorhanden sind
|
||||
jedoch keine dazupassende Studienordnung. Es werden nur Studienordnungen angelegt VOR bereits bestehenden Studienordnungen.
|
||||
Es werden keine Lücken gefüllt. Wenn noch keine Studienordnung vorhanden ist, wird der Studiengang uebersprungen.<br>
|
||||
Es wird jeweils eine Studienordnung, ein Studienplan und die Gültigkeit gesetzt. Es werde leere Dummy Studienpläne erstellt
|
||||
die keine Lehrveranstaltungen zugeordnet haben.<br>
|
||||
Dieses Script sollte nur einmalig beim Update auf Version 3.2 gestartet werden und nur dann wenn die Studienpläne
|
||||
nicht bereits vollständig eingetragen sind.
|
||||
<form method="POST">
|
||||
<input type="hidden" name="start" value="start">
|
||||
<input type="submit" value="Starten">
|
||||
</form>';
|
||||
}
|
||||
echo '</body>
|
||||
</html>';
|
||||
@@ -26,6 +26,7 @@ require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
|
||||
// Datenbank Verbindung
|
||||
$db = new basis_db();
|
||||
@@ -95,7 +96,7 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
SELECT prestudent_id, orgform_kurzbz, studiengang_kz, studiensemester_kurzbz, ausbildungssemester, status_kurzbz
|
||||
FROM public.tbl_prestudentstatus
|
||||
JOIN public.tbl_prestudent USING(prestudent_id)
|
||||
WHERE studienplan_id IS NULL;"))
|
||||
WHERE studienplan_id IS NULL order by 3,4,5"))
|
||||
{
|
||||
$all_count = $db->db_num_rows($result);
|
||||
$entries_not_unique = 0;
|
||||
@@ -146,100 +147,68 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
$ct = $db->db_num_rows($result_search);
|
||||
if($ct < 1)
|
||||
{
|
||||
$entries_not_found++;
|
||||
// Es wurde kein genau passender Studienplan gefunden
|
||||
|
||||
/* load informations about the student */
|
||||
$ps = new prestudent();
|
||||
$ps->load($row->prestudent_id);
|
||||
$stud = new student();
|
||||
$uid = $stud->getUid($row->prestudent_id);
|
||||
if(in_array($row->status_kurzbz,array('Abbrecher','Unterbrecher','Diplomand','Absolvent')))
|
||||
{
|
||||
// Schauen ob fuer das vorherige Studiensemester ein eindeutiger Eintrag vorhanden ist
|
||||
// Da bei diesen Statuseintraegen Studiensemster und Ausbildungssemester meist versetzt sind
|
||||
// (zB Wintersemester 2. Semester)
|
||||
|
||||
$stsem_obj = new studiensemester();
|
||||
$stsem_prev = $stsem_obj->getPreviousFrom($row->studiensemester_kurzbz);
|
||||
|
||||
$qry_analyze1="
|
||||
SELECT
|
||||
studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE lehre.tbl_studienplan.orgform_kurzbz=
|
||||
(
|
||||
SELECT COALESCE
|
||||
(
|
||||
".$db->db_add_param($row->orgform_kurzbz).",
|
||||
$qry_search="
|
||||
SELECT
|
||||
studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE tbl_studienordnung.studiengang_kz=".$db->db_add_param($row->studiengang_kz)."
|
||||
AND lehre.tbl_studienplan.orgform_kurzbz=
|
||||
(
|
||||
SELECT orgform_kurzbz FROM public.tbl_studiengang
|
||||
SELECT COALESCE
|
||||
(
|
||||
".$db->db_add_param($row->orgform_kurzbz).",
|
||||
(
|
||||
SELECT orgform_kurzbz FROM public.tbl_studiengang
|
||||
WHERE
|
||||
studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id,FHC_INTEGER).")
|
||||
)
|
||||
)
|
||||
)
|
||||
AND EXISTS
|
||||
(
|
||||
SELECT 1 FROM lehre.tbl_studienplan_semester
|
||||
WHERE
|
||||
studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id,FHC_INTEGER).")
|
||||
)
|
||||
)
|
||||
);
|
||||
";
|
||||
$result_analyze1 = $db->db_query($qry_analyze1);
|
||||
if($db->db_num_rows($result_analyze1) == 0)
|
||||
{
|
||||
$orgform = $row->orgform_kurzbz;
|
||||
studienplan_id=tbl_studienplan.studienplan_id
|
||||
AND studiensemester_kurzbz=".$db->db_add_param($stsem_prev)."
|
||||
AND semester=".$db->db_add_param($row->ausbildungssemester,FHC_INTEGER)."
|
||||
LIMIT 1
|
||||
);
|
||||
";
|
||||
|
||||
if($orgform == null)
|
||||
if($result_search_alternativ = $db->db_query($qry_search))
|
||||
{
|
||||
$qry_analyze1_2="
|
||||
SELECT orgform_kurzbz FROM public.tbl_studiengang
|
||||
WHERE
|
||||
studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id,FHC_INTEGER).")";
|
||||
|
||||
$result_analyze1_2 = $db->db_query($qry_analyze1_2);
|
||||
if($row3 = $db->db_fetch_object($result_analyze1_2))
|
||||
$orgform = $row3->orgform_kurzbz;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if($orgform == null)
|
||||
{
|
||||
|
||||
if(!isset($array_no_orgform[$row->prestudent_id]))
|
||||
if($db->db_num_rows($result_search_alternativ)==1)
|
||||
{
|
||||
$info = array("uid" => $uid, "vorname" => $ps->vorname, "nachname" => $ps->nachname, "stg_kz" => $row->studiengang_kz, "count" => 0);
|
||||
$array_no_orgform[$row->prestudent_id] = $info;
|
||||
// Es wurde ein eindeutiger Eintrag gefunden
|
||||
// dieser wird gesetzt
|
||||
$sp = $db->db_fetch_object($result_search_alternativ);
|
||||
if(!$db->db_query("UPDATE public.tbl_prestudentstatus SET studienplan_id=".$db->db_add_param($sp->studienplan_id, FHC_INTEGER).
|
||||
" WHERE prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER).
|
||||
" AND status_kurzbz=".$db->db_add_param($row->status_kurzbz).
|
||||
" AND studiensemester_kurzbz=".$db->db_add_param($row->studiensemester_kurzbz).
|
||||
" AND ausbildungssemester=".$db->db_add_param($row->ausbildungssemester, FHC_INTEGER)
|
||||
))
|
||||
$entries_with_error ++;
|
||||
continue;
|
||||
}
|
||||
$array_no_orgform[$row->prestudent_id]["count"] ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = $orgform;
|
||||
if(!isset($array_orgform[$key]))
|
||||
{
|
||||
$info = array("orgform_kurzbz" => $orgform, "count" => 0);
|
||||
$array_orgform[$key] = $info;
|
||||
}
|
||||
$array_orgform[$key]["count"] ++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
$qry_analyze2="
|
||||
SELECT
|
||||
studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE tbl_studienordnung.studiengang_kz=".$db->db_add_param($row->studiengang_kz);
|
||||
|
||||
$result_analyze2 = $db->db_query($qry_analyze2);
|
||||
if($db->db_num_rows($result_analyze2) == 0)
|
||||
{
|
||||
$key = $row->studiengang_kz;
|
||||
if(!isset($array_stg_without_studienplan[$key]))
|
||||
{
|
||||
$info = array("stg_kz" => $row->studiengang_kz, "count" => 0);
|
||||
$array_stg_without_studienplan[$key] = $info;
|
||||
}
|
||||
$array_stg_without_studienplan[$key]["count"] ++;
|
||||
}
|
||||
|
||||
// Pruefen ob der Studiengang in diesem Semester Studienplaene hat
|
||||
// unabhaengig der orgform
|
||||
$qry_analyze3="
|
||||
SELECT
|
||||
studienplan_id
|
||||
@@ -263,22 +232,138 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
);";
|
||||
|
||||
$result_analyze3 = $db->db_query($qry_analyze3);
|
||||
if($db->db_num_rows($result_analyze3) == 0)
|
||||
$cnt = $db->db_num_rows($result_analyze3);
|
||||
if($cnt == 0)
|
||||
{
|
||||
$key = $row->studiengang_kz." ".$row->status_kurzbz;
|
||||
$key = $row->studiengang_kz." ".$row->ausbildungssemester." ".$row->studiensemester_kurzbz." ".$row->status_kurzbz;
|
||||
if(!isset($array_studienplan_semester[$key]))
|
||||
{
|
||||
$info = array("stg_kz" => $row->studiengang_kz, "ausbildungssemester" => $row->ausbildungssemester, "studiensemester_kurzbz" => $row->studiensemester_kurzbz, "status_kurzbz" => $row->status_kurzbz, "count" => 0);
|
||||
$array_studienplan_semester[$key] = $info;
|
||||
}
|
||||
$array_studienplan_semester[$key]["count"] ++;
|
||||
$analyse_gefunden=true;
|
||||
}
|
||||
elseif($cnt == 1)
|
||||
{
|
||||
// Wenn es in dem Studiengang genau einen passenden Studienplan gibt
|
||||
// dieser jedoch die falsche orgform hat, dann wird dieser trotzdem gesetzt
|
||||
// da dies bei alten Studiengaengen nicht immer so genau angelegt wurde
|
||||
$sp = $db->db_fetch_object($result_analyze3);
|
||||
if(!$db->db_query("UPDATE public.tbl_prestudentstatus SET studienplan_id=".$db->db_add_param($sp->studienplan_id, FHC_INTEGER).
|
||||
" WHERE prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER).
|
||||
" AND status_kurzbz=".$db->db_add_param($row->status_kurzbz).
|
||||
" AND studiensemester_kurzbz=".$db->db_add_param($row->studiensemester_kurzbz).
|
||||
" AND ausbildungssemester=".$db->db_add_param($row->ausbildungssemester, FHC_INTEGER)
|
||||
))
|
||||
$entries_with_error ++;
|
||||
continue;
|
||||
}
|
||||
|
||||
$entries_not_found++;
|
||||
$analyse_gefunden=false;
|
||||
|
||||
/* load informations about the student */
|
||||
$ps = new prestudent();
|
||||
$ps->load($row->prestudent_id);
|
||||
$stud = new student();
|
||||
$uid = $stud->getUid($row->prestudent_id);
|
||||
|
||||
// Pruefen ob die Orgform generell existiert in einem Studienplan
|
||||
$qry_analyze1="
|
||||
SELECT
|
||||
studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE lehre.tbl_studienplan.orgform_kurzbz=
|
||||
(
|
||||
SELECT COALESCE
|
||||
(
|
||||
".$db->db_add_param($row->orgform_kurzbz).",
|
||||
(
|
||||
SELECT orgform_kurzbz FROM public.tbl_studiengang
|
||||
WHERE
|
||||
studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id,FHC_INTEGER).")
|
||||
)
|
||||
)
|
||||
)
|
||||
";
|
||||
$result_analyze1 = $db->db_query($qry_analyze1);
|
||||
if($db->db_num_rows($result_analyze1) == 0)
|
||||
{
|
||||
$orgform = $row->orgform_kurzbz;
|
||||
|
||||
if($orgform == null)
|
||||
{
|
||||
$qry_analyze1_2="
|
||||
SELECT orgform_kurzbz FROM public.tbl_studiengang
|
||||
WHERE
|
||||
studiengang_kz=(SELECT studiengang_kz FROM public.tbl_prestudent WHERE prestudent_id=".$db->db_add_param($row->prestudent_id,FHC_INTEGER).")";
|
||||
|
||||
$result_analyze1_2 = $db->db_query($qry_analyze1_2);
|
||||
if($row3 = $db->db_fetch_object($result_analyze1_2))
|
||||
$orgform = $row3->orgform_kurzbz;
|
||||
}
|
||||
|
||||
if($orgform == null)
|
||||
{
|
||||
if(!isset($array_no_orgform[$row->prestudent_id]))
|
||||
{
|
||||
$info = array("uid" => $uid, "vorname" => $ps->vorname, "nachname" => $ps->nachname, "stg_kz" => $row->studiengang_kz, "count" => 0);
|
||||
$array_no_orgform[$row->prestudent_id] = $info;
|
||||
}
|
||||
$array_no_orgform[$row->prestudent_id]["count"] ++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$key = $orgform;
|
||||
if(!isset($array_orgform[$key]))
|
||||
{
|
||||
$info = array("orgform_kurzbz" => $orgform, "count" => 0);
|
||||
$array_orgform[$key] = $info;
|
||||
}
|
||||
$array_orgform[$key]["count"] ++;
|
||||
}
|
||||
$analyse_gefunden=true;
|
||||
}
|
||||
|
||||
// Pruefen ob der Studiengang Studienplaene hat
|
||||
$qry_analyze2="
|
||||
SELECT
|
||||
studienplan_id
|
||||
FROM
|
||||
lehre.tbl_studienplan
|
||||
JOIN lehre.tbl_studienordnung USING(studienordnung_id)
|
||||
WHERE tbl_studienordnung.studiengang_kz=".$db->db_add_param($row->studiengang_kz);
|
||||
|
||||
$result_analyze2 = $db->db_query($qry_analyze2);
|
||||
if($db->db_num_rows($result_analyze2) == 0)
|
||||
{
|
||||
$key = $row->studiengang_kz;
|
||||
if(!isset($array_stg_without_studienplan[$key]))
|
||||
{
|
||||
$info = array("stg_kz" => $row->studiengang_kz, "count" => 0);
|
||||
$array_stg_without_studienplan[$key] = $info;
|
||||
}
|
||||
$array_stg_without_studienplan[$key]["count"] ++;
|
||||
$analyse_gefunden=true;
|
||||
}
|
||||
|
||||
/*if(!$analyse_gefunden)
|
||||
var_dump($row);
|
||||
*/
|
||||
}
|
||||
else if($ct > 1)
|
||||
{
|
||||
// Es wurden mehrere passende Studienplaene gefunden
|
||||
// Eindeutige zuordnung nicht moeglich
|
||||
|
||||
$ps = new prestudent();
|
||||
$ps->load($row->prestudent_id);
|
||||
$stud = new student();
|
||||
$uid = $stud->getUid($row->prestudent_id);
|
||||
|
||||
if(!isset($array_not_unique[$row->prestudent_id]))
|
||||
{
|
||||
$info = array("prestudent_id" => $row->prestudent_id, "uid" => $uid, "vorname" => $ps->vorname, "nachname" => $ps->nachname, "stg_kz" => $row->studiengang_kz, "count" => 0);
|
||||
@@ -289,6 +374,8 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
}
|
||||
else
|
||||
{
|
||||
// Es wurde ein eindeutiger Eintrag gefunden
|
||||
// dieser wird gesetzt
|
||||
$sp = $db->db_fetch_object($result_search);
|
||||
if(!$db->db_query("UPDATE public.tbl_prestudentstatus SET studienplan_id=".$db->db_add_param($sp->studienplan_id, FHC_INTEGER).
|
||||
" WHERE prestudent_id=".$db->db_add_param($row->prestudent_id, FHC_INTEGER).
|
||||
@@ -315,13 +402,8 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
echo $entries_not_unique." sind nicht eindeutig<br>";
|
||||
echo $entries_with_error." konnten aufgrund eines Fehlers nicht eingetragen werden<br>";
|
||||
echo "Es wurde eine quote von <span style='color:$color;'>" . round($quote,2) . "%</span> erreicht<br>";
|
||||
|
||||
|
||||
echo "<h2 style='margin-top:20px;'>Details</h2>";
|
||||
|
||||
|
||||
|
||||
|
||||
$ct = countIntArray($array_no_orgform);
|
||||
if($ct)
|
||||
{
|
||||
@@ -337,9 +419,6 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
echo "</table>";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
$ct = countIntArray($array_stg_without_studienplan);
|
||||
if($ct)
|
||||
{
|
||||
@@ -368,7 +447,6 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
echo "</table>";
|
||||
}
|
||||
|
||||
|
||||
$ct = countIntArray($array_studienplan_semester);
|
||||
if($ct)
|
||||
{
|
||||
@@ -387,7 +465,6 @@ if(isset($_POST["start"]) && $_POST["start"] == "start")
|
||||
echo "</div>";
|
||||
}
|
||||
|
||||
|
||||
$ct = countIntArray($array_not_unique);
|
||||
if($ct)
|
||||
{
|
||||
@@ -414,6 +491,7 @@ else
|
||||
<p>Es werden nur Einträge mit studienplan_id IS NULL geändert</p>
|
||||
<p>Hinweis:</p>
|
||||
<p style="color:orange;">Vor diesem Skript sollte <a style="color:red;text-decoration: underline;" href="checksystem.php">Checksystem</a> ausgeführt werden!</p>
|
||||
<p style="color:orange;">Wenn die Studienordnungen nicht vollständig eingepflegt sind, kann <a style="color:red;text-decoration: underline;" href="generate_missing_sto.php">dieses Script</a> ausgeführt werden um Dummy Studienpläne aufgrund von Statuseinträgen zu generieren!</p>
|
||||
|
||||
<?php
|
||||
}
|
||||
|
||||
@@ -65,7 +65,11 @@ if(isset($_POST['submitdatei']))
|
||||
}
|
||||
}
|
||||
|
||||
echo '
|
||||
if(isset($_GET['akte_id']) && is_numeric($_GET['akte_id']))
|
||||
$akte_id = $_GET['akte_id'];
|
||||
else
|
||||
$akte_id = '';
|
||||
echo '
|
||||
<br>
|
||||
Hier können bestehnde Akten die bereits im FAS archiviert mit neuen Dokumenten überschrieben werden.<br>
|
||||
Dies ist hilfreich wenn zB Zeugnisse manuell korrigiert wurden.
|
||||
@@ -73,7 +77,7 @@ Dies ist hilfreich wenn zB Zeugnisse manuell korrigiert wurden.
|
||||
<form method="POST" enctype="multipart/form-data" action="'.$_SERVER['PHP_SELF'].'">
|
||||
<table>
|
||||
<tr><td>Datei:</td><td><input type="file" name="datei" /></td></tr>
|
||||
<tr><td>AkteID:</td><td><input type="text" name="akte_id" /></td></tr>
|
||||
<tr><td>AkteID:</td><td><input type="text" name="akte_id" value="'.$akte_id.'"/></td></tr>
|
||||
<tr><td> </td><td> </td></tr>
|
||||
<tr><td></td><td><input type="submit" name="submitdatei" value="Upload" /></td></tr>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user