mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-16 22:42:16 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
+9
-2
@@ -16,6 +16,8 @@
|
||||
- **[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
|
||||
- **[CORE]** Unterstützung für Matrikelnummern und BPK - Anbindung an den Datenverbund
|
||||
- **[CORE]** Digitale Signatur für Dokumente
|
||||
|
||||
### CHANGED
|
||||
- **[CORE]** Berechtigungsprüfung wurde angepasst damit deaktivierte Benutzer keine Berechtigungen mehr haben
|
||||
@@ -23,6 +25,9 @@
|
||||
- **[CORE]** Has many as possible javascripts and css present in the repository were removed. Their lack is overcome by the packages in the composer. In the meanwhile also the versions were updated
|
||||
- **[CIS]** Die Fotoliste wird jetzt mit unoconv erstellt. Die bestehende Vorlage für den Dokumentenexport muss hier angepasst werden
|
||||
- **[CORE]** Resturlaubstage und Mehrarbeitsstunden wurden aus dem Core entfernt und können nicht mehr mit FH-Complete verwaltet werden.
|
||||
- **[CORE]** Personenzusammenlegen agiert intelligenter und kann direkt aus dem FAS erfolgen.
|
||||
- **[CIS]** Ampeln können jetzt verpflichtend sein und per Mail benachrichtigen
|
||||
|
||||
|
||||
### Updateinfo
|
||||
- **[CORE]** Infoscreen wurde umbenannt (informationsbildschirm.php)
|
||||
@@ -31,8 +36,8 @@
|
||||
- **[CORE]** Neue Style Anweisungen (div.header_logo, td.headerbar, div.cis_logo) müssen in Custom Stylesheet hinzugefügt werden
|
||||
|
||||
### Removed
|
||||
**[CORE]** Removed Support for XSLFO2PDF Documents - use unoconv instead
|
||||
**[CORE]** Removed Support for FOP Documents - use unoconv instead
|
||||
- **[CORE]** Removed Support for XSLFO2PDF Documents - use unoconv instead
|
||||
- **[CORE]** Removed Support for FOP Documents - use unoconv instead
|
||||
|
||||
### Deprecated
|
||||
- **[CORE]** Die folgenden Datenbank Tabellen und Spalten wurden als DEPRECATED markiert und werden mit der nächsten Version entfernt:
|
||||
@@ -45,6 +50,8 @@
|
||||
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
|
||||
- **[CIS]** Benotungstool/Kreuzerltool wird mit der kommenden Version aus dem Core entfernt
|
||||
- **[CIS]** Feedback wird mit der kommenden Version aus dem Core entfernt
|
||||
|
||||
## [3.2]
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
# FH-Complete
|
||||
|
||||
[](http://phpci.fhcomplete.org/project/view/1)
|
||||
|
||||
* [FH-Complete Homepage](http://www.fhcomplete.org)
|
||||
* [Wiki](http://fhcomplete.technikum-wien.at/dokuwiki/)
|
||||
* [Changelog](CHANGELOG.md)
|
||||
|
||||
@@ -8,7 +8,7 @@ if (! defined('BASEPATH'))
|
||||
*
|
||||
*/
|
||||
|
||||
class Prestudentstatus extends Auth_Controller
|
||||
class Prestudentstatus extends FHC_Controller
|
||||
{
|
||||
/**
|
||||
* Initialize Prestudentstatus Class
|
||||
|
||||
@@ -67,10 +67,10 @@ $this->load->view(
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-xs-6 text-right">
|
||||
Ihr InfoCenter@FHTW Team
|
||||
Your InfoCenter@FHTW Team
|
||||
</div>
|
||||
<div class="col-xs-6">
|
||||
Your InfoCenter@FHTW Team
|
||||
Ihr InfoCenter@FHTW Team
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
|
||||
Regular → Executable
+1
-1
@@ -437,7 +437,7 @@ if (!$ansicht)
|
||||
".$p->t('profil/solltenDatenNichtStimmen')." <a class='Item' href=\"mailto:$mail?subject=Datenkorrektur&body=Die%20Profildaten%20fuer%20User%20'$user->uid'%20sind%20nicht%20korrekt.%0D
|
||||
Hier die richtigen Daten:%0A%0ANachname:%20$user->nachname%0AVorname:%20$user->vorname%0AGeburtsdatum:%20$user->gebdatum
|
||||
%0AGeburtsort:%20$user->gebort%0ATitelPre:%20$user->titelpre%0ATitelPost:%20$user->titelpost
|
||||
%0A%0A***%0DPlatz fuer weitere (nicht angefuehrte Daten)%0D***\">".$p->t('profil/zustaendigeAssistenz')."</a><br><br>";
|
||||
%0A%0A***%0DPlatz fuer weitere (nicht angefuehrte Daten)%0D***%0A%0A[Bitte%20uebermitteln%20Sie%20uns%20etwaige%20Dokumente%20zum%20Beleg%20der%20Aenderung]\">".$p->t('profil/zustaendigeAssistenz')."</a><br><br>";
|
||||
}
|
||||
|
||||
echo '<table width="100%">';
|
||||
|
||||
+72
-79
@@ -53,7 +53,7 @@ if (! $rechte->isberechtigt('basis/dms', null, 's', null))
|
||||
<script type="text/javascript" src="../vendor/joeldbirch/superfish/dist/js/superfish.min.js"></script>
|
||||
<script type="text/javascript" src="../include/tiny_mce/tiny_mce_popup.js"></script>
|
||||
<style type="text/css">
|
||||
.buttondesign
|
||||
.buttondesign
|
||||
{
|
||||
background-color: #87cefa;
|
||||
border: 1px solid black;
|
||||
@@ -259,17 +259,19 @@ if ($importFile != '')
|
||||
{
|
||||
if (! $rechte->isberechtigt('basis/dms', $kategorie->kategorie_oe_kurzbz, 'sui'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
|
||||
$ext = pathinfo($importFile, PATHINFO_EXTENSION);
|
||||
$filename = uniqid();
|
||||
$filename .= ".".$ext;
|
||||
$dms_id = $_POST['dms_id_import'];
|
||||
|
||||
|
||||
// kopiert aus import Verzeichnis
|
||||
if (copy(IMPORT_PATH.$importFile, DMS_PATH.$filename))
|
||||
{
|
||||
$dms = new dms();
|
||||
|
||||
if(!$dms->setPermission(DMS_PATH.$filename))
|
||||
echo $dms->errormsg;
|
||||
|
||||
if ($dms_id != '')
|
||||
{
|
||||
if (! $dms->load($dms_id))
|
||||
@@ -285,18 +287,18 @@ if ($importFile != '')
|
||||
}
|
||||
// Mimetype auslesen
|
||||
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
||||
|
||||
|
||||
$dms->insertamum = date('Y-m-d H:i:s');
|
||||
$dms->insertvon = $user;
|
||||
$dms->mimetype = finfo_file($finfo, IMPORT_PATH.$importFile); // Davor deprecated: mime_content_type(IMPORT_PATH.$importFile);
|
||||
$dms->filename = $filename;
|
||||
$dms->name = $importFile;
|
||||
|
||||
|
||||
if ($dms->save(true))
|
||||
{
|
||||
echo 'File wurde erfolgreich hochgeladen. <br>Filename:'.$filename.' <br>ID: <a href="id://'.$dms->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$dms->dms_id.'); return false;" style="font-size: small">'.$dms->dms_id.'</a>';
|
||||
$dms_id = $dms->dms_id;
|
||||
|
||||
|
||||
if ($projekt_kurzbz != '' || $projektphase_id != '')
|
||||
{
|
||||
if (! $dms->saveProjektzuordnung($dms_id, $projekt_kurzbz, $projektphase_id))
|
||||
@@ -305,13 +307,7 @@ if ($importFile != '')
|
||||
}
|
||||
else
|
||||
echo 'Fehler beim Speichern der Daten';
|
||||
|
||||
if (! @chgrp(DMS_PATH.$filename, 'dms'))
|
||||
echo '<br>CHGRP failed';
|
||||
if (! @chmod(DMS_PATH.$filename, 0774))
|
||||
echo '<br>CHMOD failed';
|
||||
exec('sudo chown wwwrun '.$filename);
|
||||
|
||||
|
||||
// Lösche File aus Verzeichnis nachdem es raufgeladen wurde
|
||||
if (! unlink(IMPORT_PATH.$importFile))
|
||||
echo 'Fehler beim Löschen aufgetreten.';
|
||||
@@ -321,7 +317,7 @@ if (isset($_POST['fileupload']))
|
||||
{
|
||||
if (! $rechte->isberechtigt('basis/dms', $kategorie->kategorie_oe_kurzbz, 'sui'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
|
||||
$dms_id = $_POST['dms_id'];
|
||||
$beschreibung = $_POST['beschreibung'];
|
||||
$schlagworte = $_POST['schlagworte'];
|
||||
@@ -330,17 +326,14 @@ if (isset($_POST['fileupload']))
|
||||
$filename = uniqid();
|
||||
$filename .= ".".$ext;
|
||||
$uploadfile = DMS_PATH.$filename;
|
||||
|
||||
|
||||
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
|
||||
{
|
||||
if (! @chgrp($uploadfile, 'dms'))
|
||||
echo '<br>CHGRP failed';
|
||||
if (! @chmod($uploadfile, 0774))
|
||||
echo '<br>CHMOD failed';
|
||||
exec('sudo chown wwwrun '.$uploadfile);
|
||||
|
||||
$dms = new dms();
|
||||
|
||||
if(!$dms->setPermission($uploadfile))
|
||||
echo $dms->errormsg;
|
||||
|
||||
if ($dms_id != '')
|
||||
{
|
||||
if (! $dms->load($dms_id))
|
||||
@@ -356,7 +349,7 @@ if (isset($_POST['fileupload']))
|
||||
}
|
||||
// Mimetype auslesen
|
||||
$finfo = finfo_open(FILEINFO_MIME_TYPE);
|
||||
|
||||
|
||||
$dms->insertamum = date('Y-m-d H:i:s');
|
||||
$dms->insertvon = $user;
|
||||
$dms->mimetype = finfo_file($finfo, $uploadfile); // Davor deprecated: $_FILES['userfile']['type'];
|
||||
@@ -365,14 +358,14 @@ if (isset($_POST['fileupload']))
|
||||
$dms->beschreibung = $beschreibung;
|
||||
$dms->schlagworte = $schlagworte;
|
||||
$dms->cis_suche = $cis_suche;
|
||||
|
||||
|
||||
if ($dms->save(true))
|
||||
{
|
||||
echo '<p class="ok">File wurde erfolgreich hochgeladen.</p>Filename intern: '.$filename.' <br>Dateiname: '.$dms->name;
|
||||
echo '<br>ID: <a href="id://'.$dms->dms_id.'/Auswahl" onclick="FileBrowserDialog.mySubmit('.$dms->dms_id.'); return false;" style="font-size: small" title="'.$dms->beschreibung.'">
|
||||
'.$dms->dms_id.'</a><br><br>';
|
||||
$dms_id = $dms->dms_id;
|
||||
|
||||
|
||||
if ($projekt_kurzbz != '' || $projektphase_id != '')
|
||||
{
|
||||
if (! $dms->saveProjektzuordnung($dms_id, $projekt_kurzbz, $projektphase_id))
|
||||
@@ -394,14 +387,14 @@ if (isset($_POST['action']) && $_POST['action'] == 'rename')
|
||||
{
|
||||
if (! $rechte->isberechtigt('basis/dms', $kategorie->kategorie_oe_kurzbz, 'su'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
|
||||
$name = $_POST['dateiname'];
|
||||
$dms_id = $_POST['dms_id'];
|
||||
$version = $_POST['version'];
|
||||
$beschreibung = $_POST['beschreibung'];
|
||||
$schlagworte = $_POST['schlagworte'];
|
||||
$cis_suche = isset($_POST['cis_suche']) ? true : false;
|
||||
|
||||
|
||||
$dms = new dms();
|
||||
if ($dms->load($dms_id, $version))
|
||||
{
|
||||
@@ -411,7 +404,7 @@ if (isset($_POST['action']) && $_POST['action'] == 'rename')
|
||||
$dms->cis_suche = $cis_suche;
|
||||
$dms->updateamum = date('Y-m-d H:i:s');
|
||||
$dms->updatevon = $user;
|
||||
|
||||
|
||||
if ($dms->save(false))
|
||||
echo '<span class="ok">Dateiname wurde erfolgreich geändert</span>';
|
||||
else
|
||||
@@ -425,16 +418,16 @@ if (isset($_REQUEST['delete']))
|
||||
{
|
||||
if (! $rechte->isberechtigt('basis/dms', $kategorie->kategorie_oe_kurzbz, 'suid'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
|
||||
// lösche nur die Version
|
||||
if (isset($_REQUEST['version']))
|
||||
{
|
||||
$dms_id = $_REQUEST['dms_id'];
|
||||
$version = $_REQUEST['version'];
|
||||
|
||||
|
||||
$dms = new dms();
|
||||
$dms->load($dms_id, $version);
|
||||
|
||||
|
||||
// DB Eintrag löschen
|
||||
if (! $dms->deleteVersion($dms_id, $version))
|
||||
echo '<span class="error">'.$dms->errormsg.'</span>';
|
||||
@@ -457,7 +450,7 @@ if (isset($_REQUEST['delete']))
|
||||
// lösche gesamten Eintrag
|
||||
$dms = new dms();
|
||||
$dms_id = $_REQUEST['dms_id'];
|
||||
|
||||
|
||||
// DB Einträge und Dokumente löschen
|
||||
if (! $dms->deleteDms($dms_id))
|
||||
echo '<span class="error">'.$dms->errormsg.'</span>';
|
||||
@@ -490,10 +483,10 @@ if ($versionId != '')
|
||||
elseif ($renameId != '')
|
||||
{
|
||||
// Datei umbenennen
|
||||
|
||||
|
||||
if (! $rechte->isberechtigt('basis/dms', $kategorie->kategorie_oe_kurzbz, 'su'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
|
||||
echo '<h1>Datei umbennen</h1>';
|
||||
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
|
||||
echo '<p><a href="'.$_SERVER['PHP_SELF'].'?searching=true&searchstring='.$_REQUEST['searchstring'].'&page='.$page.'&dpp='.$dpp.'">zurück</a></p>';
|
||||
@@ -516,10 +509,10 @@ elseif ($renameId != '')
|
||||
elseif ($chkatID != '')
|
||||
{
|
||||
// Kategorie aendern
|
||||
|
||||
|
||||
if (! $rechte->isberechtigt('basis/dms', $kategorie->kategorie_oe_kurzbz, 'su'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
|
||||
if (isset($_POST['action']) && ($_POST['action'] == 'chkat'))
|
||||
{
|
||||
// neue Kategorie speichern
|
||||
@@ -564,7 +557,7 @@ else
|
||||
{
|
||||
echo '<div style="padding: 5px; border-bottom: 1px solid lightblue"><a href="admin_dms.php" target="_blank">Administration</a></div>';
|
||||
}
|
||||
|
||||
|
||||
// Kategorien anzeigen
|
||||
$dms = new dms();
|
||||
$dms->getKategorie();
|
||||
@@ -599,7 +592,7 @@ else
|
||||
<td valign="top" style="border-top: 1px solid lightblue;">';
|
||||
// Dokumente der Ausgewaehlten Kategorie laden und Anzeigen
|
||||
$dms = new dms();
|
||||
|
||||
|
||||
if ($searchstring != '' && (isset($_GET['searching']) && $_GET['searching'] == true))
|
||||
{
|
||||
$count = new dms();
|
||||
@@ -607,7 +600,7 @@ else
|
||||
$anzahl = count($count->result); // Falsches Ergebnis falls keine Berechtigung für eine Kategorie besteht
|
||||
$dms->search($searchstring, $dpp, $page);
|
||||
$suche = true;
|
||||
|
||||
|
||||
if ($page != 0)
|
||||
{
|
||||
echo '<span style="float:left">'.$anzahl.' Elemente gefunden</span><span style="float:right">Seite '.$page.' von <a href="'.$_SERVER['PHP_SELF'].'?page=';
|
||||
@@ -633,9 +626,9 @@ else
|
||||
{
|
||||
echo '<span align="center"><a href="'.$_SERVER['PHP_SELF'].'?page=1&dpp='.$dpp.'&searching=true&searchstring='.$searchstring.'">Seite 1</a></span>';
|
||||
}
|
||||
|
||||
|
||||
drawFilesList($dms->result);
|
||||
|
||||
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'?page=';
|
||||
if ($page - 100 < 1)
|
||||
{
|
||||
@@ -783,7 +776,7 @@ else
|
||||
</form>';
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
// Wenn eine Berechtigung auf der Kategorie liegt prüfen, ob der User die notwendigen Rechte hat
|
||||
if ($kategorie->berechtigung_kurzbz == '' || $rechte->isBerechtigt($kategorie->berechtigung_kurzbz))
|
||||
{
|
||||
@@ -792,7 +785,7 @@ else
|
||||
$count = new dms();
|
||||
$anzahl = $count->countDocumentsKategorie($kategorie_kurzbz);
|
||||
$dms->getDocuments($kategorie_kurzbz, $dpp, $page);
|
||||
|
||||
|
||||
if ($page != 0)
|
||||
{
|
||||
echo '<span style="float:left">'.$anzahl.' Elemente gefunden</span><span style="float:right">Seite '.$page.' von <a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page=';
|
||||
@@ -818,7 +811,7 @@ else
|
||||
{
|
||||
echo '<span align="center"><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page=1&dpp='.$dpp.'">Seite 1</a></span>';
|
||||
}
|
||||
|
||||
|
||||
drawFilesList($dms->result);
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$kategorie_kurzbz.'&page=';
|
||||
if ($page - 100 < 1)
|
||||
@@ -964,14 +957,14 @@ else
|
||||
</select> Elemente pro Seite
|
||||
</form>';
|
||||
}
|
||||
else
|
||||
else
|
||||
echo '<span style="float:left">Sie haben keine Berechtigung für diese Kategorie</span>';
|
||||
}
|
||||
else
|
||||
else
|
||||
echo '<span style="float:left">Sie haben keine Berechtigung für diese Kategorie</span>';
|
||||
}
|
||||
// drawFilesThumb($dms->result);
|
||||
|
||||
|
||||
echo '
|
||||
</td>
|
||||
</tr>
|
||||
@@ -1042,7 +1035,7 @@ else
|
||||
}
|
||||
else
|
||||
echo 'upload();';
|
||||
|
||||
|
||||
echo '
|
||||
});
|
||||
</script>';
|
||||
@@ -1063,7 +1056,7 @@ function drawAllVersions($id)
|
||||
global $rechte, $kategorie;
|
||||
$dms = new dms();
|
||||
$dms->getAllVersions($id);
|
||||
|
||||
|
||||
echo '<script>
|
||||
$(document).ready(function()
|
||||
{
|
||||
@@ -1109,7 +1102,7 @@ function drawAllVersions($id)
|
||||
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?renameid='.$dms_help->dms_id.'&kategorie_kurzbz='.$dms_help->kategorie_kurzbz.'&dms_id='.$dms_help->dms_id.'&version='.$dms_help->version.'" style="font-size:small">Datei umbenennen</a></li>';
|
||||
if ($rechte->isberechtigt('basis/dms', $kategorie->kategorie_oe_kurzbz, 'suid'))
|
||||
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?kategorie_kurzbz='.$dms_help->kategorie_kurzbz.'&versionid='.$dms_help->dms_id.'&dms_id='.$dms_help->dms_id.'&version='.$dms_help->version.'&delete" style="font-size:small">Löschen</a></li>';
|
||||
|
||||
|
||||
echo '</ul>
|
||||
</li>
|
||||
</ul>
|
||||
@@ -1125,7 +1118,7 @@ function drawAllVersions($id)
|
||||
function drawFilesFromImport()
|
||||
{
|
||||
global $kategorie_kurzbz, $projekt_kurzbz, $projektphase_id;
|
||||
|
||||
|
||||
if ($handle = opendir(IMPORT_PATH))
|
||||
{
|
||||
echo '<script>
|
||||
@@ -1141,7 +1134,7 @@ function drawFilesFromImport()
|
||||
echo ' <h3>Files im Import Ordner</h3>
|
||||
<table class="tablesorter" id="t3" style="width: auto"> <form action ="'.$_SERVER['PHP_SELF'].'" method="POST" name="import" >
|
||||
<thead><th>File</th><th></th></thead><tbody>';
|
||||
|
||||
|
||||
while (false !== ($file = readdir($handle)))
|
||||
{
|
||||
if ($file != '.' && $file != '..')
|
||||
@@ -1176,19 +1169,19 @@ function drawKategorieMenue($rows)
|
||||
{
|
||||
global $kategorie_kurzbz;
|
||||
global $rechte;
|
||||
|
||||
|
||||
$kategorie_berechtigt = false;
|
||||
|
||||
|
||||
// echo '<ul>';
|
||||
foreach ($rows as $row)
|
||||
{
|
||||
// Wenn eine Berechtigung auf der Kategorie liegt prüfen, ob der User die notwendigen Rechte hat
|
||||
if ($row->berechtigung_kurzbz != '' && !$rechte->isberechtigt($row->berechtigung_kurzbz))
|
||||
continue;
|
||||
|
||||
|
||||
$dms = new dms();
|
||||
$dms->getKategorie($row->kategorie_kurzbz);
|
||||
|
||||
|
||||
$kategorie = new dms();
|
||||
$kategorie->loadKategorie($row->kategorie_kurzbz);
|
||||
|
||||
@@ -1198,14 +1191,14 @@ function drawKategorieMenue($rows)
|
||||
// Wenn eine oe_kurzbz auf der Kategorie liegt prüfen, ob der User die Kategorie sehen darf
|
||||
if ($dms->kategorie_oe_kurzbz == '' || !$rechte->isberechtigt('basis/dms', $dms->kategorie_oe_kurzbz, 's'))
|
||||
$kategorie_berechtigt = true;
|
||||
|
||||
|
||||
if ($kategorie_kurzbz == '')
|
||||
$kategorie_kurzbz = $row->kategorie_kurzbz;
|
||||
if ($kategorie_kurzbz == $row->kategorie_kurzbz)
|
||||
$class = 'marked';
|
||||
else
|
||||
$class = '';
|
||||
|
||||
|
||||
// Suchen, ob eine Sperre fuer diese Kategorie vorhanden ist
|
||||
$groups = $dms->getLockGroups($row->kategorie_kurzbz);
|
||||
$locked = '';
|
||||
@@ -1233,7 +1226,7 @@ function drawKategorieMenue($rows)
|
||||
</li>';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
if (count($dms->result) > 0)
|
||||
drawKategorieMenue($dms->result);
|
||||
@@ -1251,7 +1244,7 @@ function drawFilesList($rows)
|
||||
{
|
||||
global $mimetypes, $suche, $rechte;
|
||||
$dms = new dms();
|
||||
|
||||
|
||||
if (count($rows) > 0)
|
||||
{
|
||||
echo '
|
||||
@@ -1264,7 +1257,7 @@ function drawFilesList($rows)
|
||||
echo 'sortList: [[4,0],[1,1]], headers: {3:{sorter:false}},';
|
||||
else
|
||||
echo 'sortList: [[0,0]], headers: {2:{sorter:false}},';
|
||||
|
||||
|
||||
echo '
|
||||
widgets: ["zebra"]
|
||||
});
|
||||
@@ -1272,7 +1265,7 @@ function drawFilesList($rows)
|
||||
</script>
|
||||
';
|
||||
}
|
||||
|
||||
|
||||
echo '
|
||||
<table class="tablesorter" id="t2">
|
||||
<thead>
|
||||
@@ -1299,7 +1292,7 @@ function drawFilesList($rows)
|
||||
// Wenn eine Berechtigung auf der Kategorie liegt prüfen, ob der User die notwendigen Rechte hat
|
||||
if ($row->berechtigung_kurzbz != '' && !$rechte->isberechtigt($row->berechtigung_kurzbz))
|
||||
continue;
|
||||
else
|
||||
else
|
||||
$i++;
|
||||
|
||||
echo '
|
||||
@@ -1309,7 +1302,7 @@ function drawFilesList($rows)
|
||||
echo '<img title="'.$row->name.'" src="../skin/images/'.$mimetypes[$row->mimetype].'" style="height: 15px">';
|
||||
else
|
||||
echo '<img title="'.$row->name.'" src="../skin/images/blank.gif" style="height: 15px">';
|
||||
|
||||
|
||||
// wenn es noch höhere Versionen zu diesem Dokument gibt, wird dieses gekennzeichnet
|
||||
$newVersion = '';
|
||||
$newerVersionAlert = '';
|
||||
@@ -1318,20 +1311,20 @@ function drawFilesList($rows)
|
||||
$newVersion = '--';
|
||||
$newerVersionAlert = 'alert(\'Achtung!! Es gibt eine neuere Version dieses Dokuments. Es wird die aktuellste eingefügt.\');';
|
||||
}
|
||||
|
||||
|
||||
echo '
|
||||
<a href="id://'.$row->dms_id.'/Auswahl" onclick="'.$newerVersionAlert.' FileBrowserDialog.mySubmit('.$row->dms_id.'); return false;" style="font-size: small" title="'.$row->beschreibung.'">
|
||||
'.$newVersion.' '.$row->name.'</a>
|
||||
</td>';
|
||||
$datum = new datum();
|
||||
|
||||
|
||||
echo '<td style="padding: 1px;" title="'.$datum->formatDatum($row->insertamum, 'd.m.Y H:m').' von '.$row->insertvon.'">';
|
||||
echo $row->version;
|
||||
echo '</td>';
|
||||
|
||||
|
||||
$kategorie = new dms();
|
||||
$kategorie->loadKategorie($row->kategorie_kurzbz);
|
||||
|
||||
|
||||
// zeige bei suche auch kategorie an
|
||||
if ($suche == true)
|
||||
{
|
||||
@@ -1340,7 +1333,7 @@ function drawFilesList($rows)
|
||||
echo '</td>';
|
||||
}
|
||||
echo '<td style="padding: 1px;">';
|
||||
|
||||
|
||||
// Upload einer neuen Version
|
||||
echo '<ul class="sf-menu">
|
||||
<li><a href="#" style="font-size:small">Erweitert</a>
|
||||
@@ -1428,7 +1421,7 @@ function drawFilesList($rows)
|
||||
echo '<li><a href="'.$_SERVER['PHP_SELF'].'?searching=true';
|
||||
if (isset($_REQUEST['searchstring']))
|
||||
echo '&searchstring='.$_REQUEST['searchstring'];
|
||||
|
||||
|
||||
echo '&dms_id='.$row->dms_id.'&delete" onclick="return conf_del()" style="font-size:small" >Löschen</a></li>';
|
||||
}
|
||||
}
|
||||
@@ -1510,9 +1503,9 @@ function drawFilesList($rows)
|
||||
}
|
||||
if ($i > 0)
|
||||
echo '</tbody></table>';
|
||||
else
|
||||
else
|
||||
echo '<tr><td colspan="5">Für keines der gefundenen Elemente besteht eine Berechtigung</td></tr></tbody></table>';
|
||||
|
||||
|
||||
$suche = false;
|
||||
}
|
||||
|
||||
@@ -1525,7 +1518,7 @@ function drawFilesList($rows)
|
||||
function drawRenameForm($dms_id, $version, $page = NULL, $dpp = NULL, $searching, $searchstring)
|
||||
{
|
||||
global $kategorie_kurzbz;
|
||||
|
||||
|
||||
$dms = new dms();
|
||||
if ($dms->load($dms_id, $version))
|
||||
{
|
||||
@@ -1588,10 +1581,10 @@ function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL)
|
||||
global $rechte;
|
||||
$dms = new dms();
|
||||
$dms->load($dms_id);
|
||||
|
||||
|
||||
$allKategorien = new dms();
|
||||
$allKategorien->getAllKategories();
|
||||
|
||||
|
||||
if (isset($_REQUEST['searching']) && $_REQUEST['searching'] == 'true')
|
||||
{
|
||||
echo '<form action="'.$_SERVER['PHP_SELF'].'?chkatID='.$dms_id.'&searching=true&searchstring='.$_REQUEST['searchstring'];
|
||||
@@ -1613,19 +1606,19 @@ function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL)
|
||||
echo '
|
||||
<select name="kategoriez">
|
||||
<option value="auswahl">-- Bitte Auswählen --</option>';
|
||||
|
||||
|
||||
foreach ($allKategorien->result as $kategorienResult)
|
||||
{
|
||||
if ($kategorienResult->kategorie_oe_kurzbz != '' && !$rechte->isberechtigt('basis/dms', $kategorienResult->kategorie_oe_kurzbz, 'su'))
|
||||
continue;
|
||||
|
||||
|
||||
$selected = '';
|
||||
if ($kategorienResult->kategorie_kurzbz == $dms->kategorie_kurzbz)
|
||||
$selected = 'selected';
|
||||
|
||||
|
||||
echo '<option '.$selected.' value="'.$kategorienResult->kategorie_kurzbz.'">'.$x.$kategorienResult->bezeichnung.' ['.$kategorienResult->kategorie_kurzbz.']</option>';
|
||||
}
|
||||
|
||||
|
||||
echo '</select>
|
||||
<input type="hidden" name="action" value="chkat">
|
||||
<input type="hidden" name="dms_id" value="'.$dms_id.'">';
|
||||
|
||||
+2
-1
@@ -284,7 +284,8 @@
|
||||
"zetacomponents/workflow": "1.*",
|
||||
"zetacomponents/document": "1.*",
|
||||
"zetacomponents/workflow-database-tiein": "1.*",
|
||||
"zetacomponents/workflow-event-log-tiein": "1.*"
|
||||
"zetacomponents/workflow-event-log-tiein": "1.*",
|
||||
"phpseclib/phpseclib": "^2.0"
|
||||
},
|
||||
"require-dev": {
|
||||
"squizlabs/php_codesniffer": "2.*"
|
||||
|
||||
Generated
+139
-43
@@ -4,8 +4,8 @@
|
||||
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
|
||||
"This file is @generated automatically"
|
||||
],
|
||||
"hash": "db46edf729b6e4d5f0508eba65d3d201",
|
||||
"content-hash": "201f046d574ccb1447f8d9b820b6b9e2",
|
||||
"hash": "0a7b99cf08f40f15cad6397a2097d834",
|
||||
"content-hash": "4065f6ebe38d16462908ebbdac8adf7d",
|
||||
"packages": [
|
||||
{
|
||||
"name": "BlackrockDigital/startbootstrap-sb-admin-2",
|
||||
@@ -674,16 +674,16 @@
|
||||
},
|
||||
{
|
||||
"name": "fzaninotto/faker",
|
||||
"version": "v1.7.1",
|
||||
"version": "v1.8.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/fzaninotto/Faker.git",
|
||||
"reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d"
|
||||
"reference": "f72816b43e74063c8b10357394b6bba8cb1c10de"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
|
||||
"reference": "d3ed4cc37051c1ca52d22d76b437d14809fc7e0d",
|
||||
"url": "https://api.github.com/repos/fzaninotto/Faker/zipball/f72816b43e74063c8b10357394b6bba8cb1c10de",
|
||||
"reference": "f72816b43e74063c8b10357394b6bba8cb1c10de",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -691,7 +691,7 @@
|
||||
},
|
||||
"require-dev": {
|
||||
"ext-intl": "*",
|
||||
"phpunit/phpunit": "^4.0 || ^5.0",
|
||||
"phpunit/phpunit": "^4.8.35 || ^5.7",
|
||||
"squizlabs/php_codesniffer": "^1.5"
|
||||
},
|
||||
"type": "library",
|
||||
@@ -720,7 +720,7 @@
|
||||
"faker",
|
||||
"fixtures"
|
||||
],
|
||||
"time": "2017-08-15 16:48:10"
|
||||
"time": "2018-07-12 10:23:15"
|
||||
},
|
||||
{
|
||||
"name": "joeldbirch/superfish",
|
||||
@@ -1223,6 +1223,98 @@
|
||||
},
|
||||
"type": "library"
|
||||
},
|
||||
{
|
||||
"name": "phpseclib/phpseclib",
|
||||
"version": "2.0.11",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/phpseclib/phpseclib.git",
|
||||
"reference": "7053f06f91b3de78e143d430e55a8f7889efc08b"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/phpseclib/phpseclib/zipball/7053f06f91b3de78e143d430e55a8f7889efc08b",
|
||||
"reference": "7053f06f91b3de78e143d430e55a8f7889efc08b",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phing/phing": "~2.7",
|
||||
"phpunit/phpunit": "^4.8.35|^5.7|^6.0",
|
||||
"sami/sami": "~2.0",
|
||||
"squizlabs/php_codesniffer": "~2.0"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-gmp": "Install the GMP (GNU Multiple Precision) extension in order to speed up arbitrary precision integer arithmetic operations.",
|
||||
"ext-libsodium": "SSH2/SFTP can make use of some algorithms provided by the libsodium-php extension.",
|
||||
"ext-mcrypt": "Install the Mcrypt extension in order to speed up a few other cryptographic operations.",
|
||||
"ext-openssl": "Install the OpenSSL extension in order to speed up a wide variety of cryptographic operations."
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"files": [
|
||||
"phpseclib/bootstrap.php"
|
||||
],
|
||||
"psr-4": {
|
||||
"phpseclib\\": "phpseclib/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Jim Wigginton",
|
||||
"email": "terrafrost@php.net",
|
||||
"role": "Lead Developer"
|
||||
},
|
||||
{
|
||||
"name": "Patrick Monnerat",
|
||||
"email": "pm@datasphere.ch",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Andreas Fischer",
|
||||
"email": "bantu@phpbb.com",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Hans-Jürgen Petrich",
|
||||
"email": "petrich@tronic-media.com",
|
||||
"role": "Developer"
|
||||
},
|
||||
{
|
||||
"name": "Graham Campbell",
|
||||
"email": "graham@alt-three.com",
|
||||
"role": "Developer"
|
||||
}
|
||||
],
|
||||
"description": "PHP Secure Communications Library - Pure-PHP implementations of RSA, AES, SSH2, SFTP, X.509 etc.",
|
||||
"homepage": "http://phpseclib.sourceforge.net",
|
||||
"keywords": [
|
||||
"BigInteger",
|
||||
"aes",
|
||||
"asn.1",
|
||||
"asn1",
|
||||
"blowfish",
|
||||
"crypto",
|
||||
"cryptography",
|
||||
"encryption",
|
||||
"rsa",
|
||||
"security",
|
||||
"sftp",
|
||||
"signature",
|
||||
"signing",
|
||||
"ssh",
|
||||
"twofish",
|
||||
"x.509",
|
||||
"x509"
|
||||
],
|
||||
"time": "2018-04-15 16:55:05"
|
||||
},
|
||||
{
|
||||
"name": "psr/log",
|
||||
"version": "1.0.2",
|
||||
@@ -1648,16 +1740,16 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/console",
|
||||
"version": "v2.8.42",
|
||||
"version": "v2.8.44",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/console.git",
|
||||
"reference": "e8e59b74ad1274714dad2748349b55e3e6e630c7"
|
||||
"reference": "0c1fcbb9afb5cff992c982ff99c0434f0146dcfc"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/e8e59b74ad1274714dad2748349b55e3e6e630c7",
|
||||
"reference": "e8e59b74ad1274714dad2748349b55e3e6e630c7",
|
||||
"url": "https://api.github.com/repos/symfony/console/zipball/0c1fcbb9afb5cff992c982ff99c0434f0146dcfc",
|
||||
"reference": "0c1fcbb9afb5cff992c982ff99c0434f0146dcfc",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1705,7 +1797,7 @@
|
||||
],
|
||||
"description": "Symfony Console Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2018-05-15 21:17:45"
|
||||
"time": "2018-07-26 11:13:39"
|
||||
},
|
||||
{
|
||||
"name": "symfony/debug",
|
||||
@@ -1766,25 +1858,28 @@
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-ctype",
|
||||
"version": "v1.8.0",
|
||||
"version": "v1.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-ctype.git",
|
||||
"reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae"
|
||||
"reference": "e3d826245268269cd66f8326bd8bc066687b4a19"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
|
||||
"reference": "7cc359f1b7b80fc25ed7796be7d96adc9b354bae",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/e3d826245268269cd66f8326bd8bc066687b4a19",
|
||||
"reference": "e3d826245268269cd66f8326bd8bc066687b4a19",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
},
|
||||
"suggest": {
|
||||
"ext-ctype": "For best performance"
|
||||
},
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.8-dev"
|
||||
"dev-master": "1.9-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -1817,20 +1912,20 @@
|
||||
"polyfill",
|
||||
"portable"
|
||||
],
|
||||
"time": "2018-04-30 19:57:29"
|
||||
"time": "2018-08-06 14:22:27"
|
||||
},
|
||||
{
|
||||
"name": "symfony/polyfill-mbstring",
|
||||
"version": "v1.8.0",
|
||||
"version": "v1.9.0",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/polyfill-mbstring.git",
|
||||
"reference": "3296adf6a6454a050679cde90f95350ad604b171"
|
||||
"reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/3296adf6a6454a050679cde90f95350ad604b171",
|
||||
"reference": "3296adf6a6454a050679cde90f95350ad604b171",
|
||||
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/d0cd638f4634c16d8df4508e847f14e9e43168b8",
|
||||
"reference": "d0cd638f4634c16d8df4508e847f14e9e43168b8",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1842,7 +1937,7 @@
|
||||
"type": "library",
|
||||
"extra": {
|
||||
"branch-alias": {
|
||||
"dev-master": "1.8-dev"
|
||||
"dev-master": "1.9-dev"
|
||||
}
|
||||
},
|
||||
"autoload": {
|
||||
@@ -1876,20 +1971,20 @@
|
||||
"portable",
|
||||
"shim"
|
||||
],
|
||||
"time": "2018-04-26 10:06:28"
|
||||
"time": "2018-08-06 14:22:27"
|
||||
},
|
||||
{
|
||||
"name": "symfony/yaml",
|
||||
"version": "v2.8.42",
|
||||
"version": "v2.8.44",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/symfony/yaml.git",
|
||||
"reference": "51356b7a2ff7c9fd06b2f1681cc463bb62b5c1ff"
|
||||
"reference": "fbf876678e29dc634430dcf0096e216eb0004467"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/51356b7a2ff7c9fd06b2f1681cc463bb62b5c1ff",
|
||||
"reference": "51356b7a2ff7c9fd06b2f1681cc463bb62b5c1ff",
|
||||
"url": "https://api.github.com/repos/symfony/yaml/zipball/fbf876678e29dc634430dcf0096e216eb0004467",
|
||||
"reference": "fbf876678e29dc634430dcf0096e216eb0004467",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
@@ -1926,7 +2021,7 @@
|
||||
],
|
||||
"description": "Symfony Yaml Component",
|
||||
"homepage": "https://symfony.com",
|
||||
"time": "2018-05-01 22:52:40"
|
||||
"time": "2018-07-26 09:03:18"
|
||||
},
|
||||
{
|
||||
"name": "tapmodo/Jcrop",
|
||||
@@ -1941,16 +2036,16 @@
|
||||
},
|
||||
{
|
||||
"name": "tinymce/tinymce",
|
||||
"version": "4.8.0",
|
||||
"version": "4.8.1",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/tinymce/tinymce-dist.git",
|
||||
"reference": "0ca397b293d81cfb83de39c0952091233f6a6977"
|
||||
"reference": "66308359bd3ff09996ed0e4121ca777c7f4ab508"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/0ca397b293d81cfb83de39c0952091233f6a6977",
|
||||
"reference": "0ca397b293d81cfb83de39c0952091233f6a6977",
|
||||
"url": "https://api.github.com/repos/tinymce/tinymce-dist/zipball/66308359bd3ff09996ed0e4121ca777c7f4ab508",
|
||||
"reference": "66308359bd3ff09996ed0e4121ca777c7f4ab508",
|
||||
"shasum": ""
|
||||
},
|
||||
"type": "component",
|
||||
@@ -1983,7 +2078,7 @@
|
||||
"tinymce",
|
||||
"wysiwyg"
|
||||
],
|
||||
"time": "2018-07-11 08:59:33"
|
||||
"time": "2018-07-26 06:38:42"
|
||||
},
|
||||
{
|
||||
"name": "tomazdragar/SimpleCropper",
|
||||
@@ -2048,20 +2143,21 @@
|
||||
},
|
||||
{
|
||||
"name": "twig/twig",
|
||||
"version": "v1.35.3",
|
||||
"version": "v1.35.4",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/twigphp/Twig.git",
|
||||
"reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f"
|
||||
"reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
|
||||
"reference": "b48680b6eb7d16b5025b9bfc4108d86f6b8af86f",
|
||||
"url": "https://api.github.com/repos/twigphp/Twig/zipball/7e081e98378a1e78c29cc9eba4aefa5d78a05d2a",
|
||||
"reference": "7e081e98378a1e78c29cc9eba4aefa5d78a05d2a",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"php": ">=5.3.3"
|
||||
"php": ">=5.3.3",
|
||||
"symfony/polyfill-ctype": "^1.8"
|
||||
},
|
||||
"require-dev": {
|
||||
"psr/container": "^1.0",
|
||||
@@ -2100,16 +2196,16 @@
|
||||
},
|
||||
{
|
||||
"name": "Twig Team",
|
||||
"homepage": "http://twig.sensiolabs.org/contributors",
|
||||
"homepage": "https://twig.symfony.com/contributors",
|
||||
"role": "Contributors"
|
||||
}
|
||||
],
|
||||
"description": "Twig, the flexible, fast, and secure template language for PHP",
|
||||
"homepage": "http://twig.sensiolabs.org",
|
||||
"homepage": "https://twig.symfony.com",
|
||||
"keywords": [
|
||||
"templating"
|
||||
],
|
||||
"time": "2018-03-20 04:25:58"
|
||||
"time": "2018-07-13 07:12:17"
|
||||
},
|
||||
{
|
||||
"name": "zetacomponents/base",
|
||||
|
||||
+227
-228
@@ -1,228 +1,227 @@
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* 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: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
// Oberflaeche zum Upload von Dokumenten aus dem FAS
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/person.class.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/akte.class.php');
|
||||
require_once('../include/dokument.class.php');
|
||||
require_once('../include/dms.class.php');
|
||||
require_once('../include/phrasen.class.php');
|
||||
|
||||
header("Content-Type: text/html; charset=utf-8");
|
||||
|
||||
$PHP_SELF = $_SERVER['PHP_SELF'];
|
||||
echo "<html><body>";
|
||||
|
||||
$user = get_uid();
|
||||
$p = new phrasen();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('mitarbeiter'))
|
||||
die('Keine Berechtigung');
|
||||
|
||||
$kategorie_kurzbz = isset($_REQUEST['kategorie_kurzbz'])?$_REQUEST['kategorie_kurzbz']:'';
|
||||
$dokument_kurzbz = isset($_REQUEST['dokument_kurzbz'])?$_REQUEST['dokument_kurzbz']:'';
|
||||
|
||||
if(isset($_POST['submitbild']))
|
||||
{
|
||||
$error = false;
|
||||
|
||||
// dms Eintrag anlegen
|
||||
if(isset($_POST['fileupload']))
|
||||
{
|
||||
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
||||
$filename = uniqid();
|
||||
$filename.=".".$ext;
|
||||
$uploadfile = DMS_PATH.$filename;
|
||||
|
||||
|
||||
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
|
||||
{
|
||||
if(!chgrp($uploadfile,'dms'))
|
||||
echo 'CHGRP failed';
|
||||
if(!chmod($uploadfile, 0774))
|
||||
echo 'CHMOD failed';
|
||||
exec('sudo chown wwwrun '.$uploadfile);
|
||||
|
||||
$dms = new dms();
|
||||
|
||||
$dms->version='0';
|
||||
$dms->kategorie_kurzbz=$kategorie_kurzbz;
|
||||
|
||||
$dms->insertamum=date('Y-m-d H:i:s');
|
||||
//$dms->insertvon = $user;
|
||||
$dms->mimetype=$_FILES['file']['type'];
|
||||
$dms->filename = $filename;
|
||||
$dms->name = $_FILES['file']['name'];
|
||||
|
||||
if($dms->save(true))
|
||||
{
|
||||
$dms_id=$dms->dms_id;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Speichern der Daten';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Hochladen der Datei';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_FILES['file']['tmp_name']) && !$error)
|
||||
{
|
||||
//Extension herausfiltern
|
||||
$ext = explode('.',$_FILES['file']['name']);
|
||||
$ext = mb_strtolower($ext[count($ext)-1]);
|
||||
|
||||
$filename = $_FILES['file']['tmp_name'];
|
||||
|
||||
//$fp = fopen($filename,'r');
|
||||
//auslesen
|
||||
//$content = fread($fp, filesize($filename));
|
||||
//fclose($fp);
|
||||
|
||||
$akte = new akte();
|
||||
|
||||
if($akte->getAkten($_GET['person_id'], 'Lichtbil'))
|
||||
{
|
||||
if(count($akte->result)>0)
|
||||
{
|
||||
$akte = $akte->result[0];
|
||||
$akte->new = false;
|
||||
}
|
||||
else
|
||||
$akte->new = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$akte->new = true;
|
||||
}
|
||||
|
||||
$dokument = new dokument();
|
||||
$dokument->loadDokumenttyp($_REQUEST['dokumenttyp']);
|
||||
|
||||
$extension = end(explode(".",strtolower($_FILES['file']['name'])));
|
||||
|
||||
$akte->dokument_kurzbz = $_REQUEST['dokumenttyp'];
|
||||
$akte->person_id = $_GET['person_id'];
|
||||
//$akte->inhalt = base64_encode($content);
|
||||
$akte->mimetype = $_FILES['file']['type'];
|
||||
$akte->erstelltam = date('Y-m-d H:i:s');
|
||||
$akte->gedruckt = false;
|
||||
$akte->titel = $akte->titel = cutString($_FILES['file']['name'], 32, '~', true); // Filename gekuerzt auf 32 Zeichen;
|
||||
$akte->bezeichnung = cutString($dokument->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE], 32);
|
||||
$akte->updateamum = date('Y-m-d H:i:s');
|
||||
$akte->updatevon = $user;
|
||||
$akte->insertamum = date('Y-m-d H:i:s');
|
||||
$akte->nachgereicht = false;
|
||||
$akte->anmerkung = '';
|
||||
$akte->insertvon = $user;
|
||||
$akte->uid = '';
|
||||
$akte->dms_id = $dms_id;
|
||||
$akte->new = true;
|
||||
$akte->titel_intern = $_REQUEST['titel_intern'];
|
||||
$akte->anmerkung_intern = $_REQUEST['anmerkung_intern'];
|
||||
|
||||
if(!$akte->save())
|
||||
{
|
||||
echo "<b>Fehler: $akte->errormsg</b>";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Bei erfolgreichem Upload wird die Ansicht im FAS refresht
|
||||
echo "<b>Erfolgreich gespeichert</b>
|
||||
<script>
|
||||
window.opener.InteressentDokumentTreeNichtabgegebenDatasourceRefresh();
|
||||
window.opener.InteressentDokumentTreeAbgegebenDatasourceRefresh();
|
||||
window.close();
|
||||
</script>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(isset($_GET['person_id']))
|
||||
{
|
||||
$dokument = new dokument();
|
||||
$dokument->getAllDokumente('Zeugnis');
|
||||
|
||||
echo " <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
|
||||
<link href='../skin/style.css.php' rel='stylesheet' type='text/css'>
|
||||
<link rel='stylesheet' href='../skin/jquery.css' type='text/css'/>
|
||||
</head>
|
||||
<body style='padding:10px;'>
|
||||
<h1>Upload Dokumente</h1>
|
||||
<form method='POST' enctype='multipart/form-data' action='$PHP_SELF?person_id=".$_GET['person_id']."'>
|
||||
<table>
|
||||
<tr>
|
||||
<td align='right'>Dokument:</td>
|
||||
<td><input type='file' name='file' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='right'>Typ:</td>
|
||||
<td><SELECT style='width:300px' name='dokumenttyp'>";
|
||||
|
||||
foreach ($dokument->result as $dok)
|
||||
{
|
||||
$onclick="document.getElementById('titel_intern').value='".$dok->dokument_kurzbz."';";
|
||||
|
||||
if(isset($_GET['dokument_kurzbz']) && $_GET['dokument_kurzbz']==$dok->dokument_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo '<option value="'.$dok->dokument_kurzbz.'" onclick="'.$onclick.'" '.$selected.'>'.$dok->bezeichnung."</option>\n";
|
||||
}
|
||||
|
||||
echo " <tr>
|
||||
<td align='right'>Titel:</td><td><input size='45' maxlength='32' type='text' name='titel_intern' id='titel_intern' length='35' ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='right'>Anmerkung:</td><td><textarea name='anmerkung_intern' cols='45' id='anmerkung_intern'></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type='hidden' name='kategorie_kurzbz' id='kategorie_kurzbz' value='Akte'>
|
||||
<input type='hidden' name='fileupload' id='fileupload'></td>
|
||||
<td><input type='submit' name='submitbild' value='Upload'></td>
|
||||
|
||||
</tr></table></form></body></html>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Es wurde keine Person_id angegeben";
|
||||
}
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
<?php
|
||||
/* Copyright (C) 2006 Technikum-Wien
|
||||
*
|
||||
* 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: Christian Paminger <christian.paminger@technikum-wien.at>,
|
||||
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
|
||||
*/
|
||||
|
||||
// Oberflaeche zum Upload von Dokumenten aus dem FAS
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/person.class.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/akte.class.php');
|
||||
require_once('../include/dokument.class.php');
|
||||
require_once('../include/dms.class.php');
|
||||
require_once('../include/phrasen.class.php');
|
||||
|
||||
header("Content-Type: text/html; charset=utf-8");
|
||||
|
||||
$PHP_SELF = $_SERVER['PHP_SELF'];
|
||||
echo "<html><body>";
|
||||
|
||||
$user = get_uid();
|
||||
$p = new phrasen();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$rechte->isBerechtigt('mitarbeiter'))
|
||||
die('Keine Berechtigung');
|
||||
|
||||
$kategorie_kurzbz = isset($_REQUEST['kategorie_kurzbz'])?$_REQUEST['kategorie_kurzbz']:'';
|
||||
$dokument_kurzbz = isset($_REQUEST['dokument_kurzbz'])?$_REQUEST['dokument_kurzbz']:'';
|
||||
|
||||
if(isset($_POST['submitbild']))
|
||||
{
|
||||
$error = false;
|
||||
|
||||
// dms Eintrag anlegen
|
||||
if(isset($_POST['fileupload']))
|
||||
{
|
||||
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
||||
$filename = uniqid();
|
||||
$filename.=".".$ext;
|
||||
$uploadfile = DMS_PATH.$filename;
|
||||
|
||||
|
||||
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
|
||||
{
|
||||
if(!chgrp($uploadfile,'dms'))
|
||||
echo 'CHGRP failed';
|
||||
if(!chmod($uploadfile, 0774))
|
||||
echo 'CHMOD failed';
|
||||
|
||||
$dms = new dms();
|
||||
|
||||
$dms->version='0';
|
||||
$dms->kategorie_kurzbz=$kategorie_kurzbz;
|
||||
|
||||
$dms->insertamum=date('Y-m-d H:i:s');
|
||||
//$dms->insertvon = $user;
|
||||
$dms->mimetype=$_FILES['file']['type'];
|
||||
$dms->filename = $filename;
|
||||
$dms->name = $_FILES['file']['name'];
|
||||
|
||||
if($dms->save(true))
|
||||
{
|
||||
$dms_id=$dms->dms_id;
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Speichern der Daten';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Hochladen der Datei';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_FILES['file']['tmp_name']) && !$error)
|
||||
{
|
||||
//Extension herausfiltern
|
||||
$ext = explode('.',$_FILES['file']['name']);
|
||||
$ext = mb_strtolower($ext[count($ext)-1]);
|
||||
|
||||
$filename = $_FILES['file']['tmp_name'];
|
||||
|
||||
//$fp = fopen($filename,'r');
|
||||
//auslesen
|
||||
//$content = fread($fp, filesize($filename));
|
||||
//fclose($fp);
|
||||
|
||||
$akte = new akte();
|
||||
|
||||
if($akte->getAkten($_GET['person_id'], 'Lichtbil'))
|
||||
{
|
||||
if(count($akte->result)>0)
|
||||
{
|
||||
$akte = $akte->result[0];
|
||||
$akte->new = false;
|
||||
}
|
||||
else
|
||||
$akte->new = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$akte->new = true;
|
||||
}
|
||||
|
||||
$dokument = new dokument();
|
||||
$dokument->loadDokumenttyp($_REQUEST['dokumenttyp']);
|
||||
|
||||
$extension = end(explode(".",strtolower($_FILES['file']['name'])));
|
||||
|
||||
$akte->dokument_kurzbz = $_REQUEST['dokumenttyp'];
|
||||
$akte->person_id = $_GET['person_id'];
|
||||
//$akte->inhalt = base64_encode($content);
|
||||
$akte->mimetype = $_FILES['file']['type'];
|
||||
$akte->erstelltam = date('Y-m-d H:i:s');
|
||||
$akte->gedruckt = false;
|
||||
$akte->titel = $akte->titel = cutString($_FILES['file']['name'], 32, '~', true); // Filename gekuerzt auf 32 Zeichen;
|
||||
$akte->bezeichnung = cutString($dokument->bezeichnung_mehrsprachig[DEFAULT_LANGUAGE], 32);
|
||||
$akte->updateamum = date('Y-m-d H:i:s');
|
||||
$akte->updatevon = $user;
|
||||
$akte->insertamum = date('Y-m-d H:i:s');
|
||||
$akte->nachgereicht = false;
|
||||
$akte->anmerkung = '';
|
||||
$akte->insertvon = $user;
|
||||
$akte->uid = '';
|
||||
$akte->dms_id = $dms_id;
|
||||
$akte->new = true;
|
||||
$akte->titel_intern = $_REQUEST['titel_intern'];
|
||||
$akte->anmerkung_intern = $_REQUEST['anmerkung_intern'];
|
||||
|
||||
if(!$akte->save())
|
||||
{
|
||||
echo "<b>Fehler: $akte->errormsg</b>";
|
||||
}
|
||||
else
|
||||
{
|
||||
// Bei erfolgreichem Upload wird die Ansicht im FAS refresht
|
||||
echo "<b>Erfolgreich gespeichert</b>
|
||||
<script>
|
||||
window.opener.InteressentDokumentTreeNichtabgegebenDatasourceRefresh();
|
||||
window.opener.InteressentDokumentTreeAbgegebenDatasourceRefresh();
|
||||
window.close();
|
||||
</script>";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
if(isset($_GET['person_id']))
|
||||
{
|
||||
$dokument = new dokument();
|
||||
$dokument->getAllDokumente('Zeugnis');
|
||||
|
||||
echo " <!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.01 Transitional//EN' 'http://www.w3.org/TR/html4/loose.dtd'>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
|
||||
<link href='../skin/style.css.php' rel='stylesheet' type='text/css'>
|
||||
<link rel='stylesheet' href='../skin/jquery.css' type='text/css'/>
|
||||
</head>
|
||||
<body style='padding:10px;'>
|
||||
<h1>Upload Dokumente</h1>
|
||||
<form method='POST' enctype='multipart/form-data' action='$PHP_SELF?person_id=".$_GET['person_id']."'>
|
||||
<table>
|
||||
<tr>
|
||||
<td align='right'>Dokument:</td>
|
||||
<td><input type='file' name='file' /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='right'>Typ:</td>
|
||||
<td><SELECT style='width:300px' name='dokumenttyp'>";
|
||||
|
||||
foreach ($dokument->result as $dok)
|
||||
{
|
||||
$onclick="document.getElementById('titel_intern').value='".$dok->dokument_kurzbz."';";
|
||||
|
||||
if(isset($_GET['dokument_kurzbz']) && $_GET['dokument_kurzbz']==$dok->dokument_kurzbz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
echo '<option value="'.$dok->dokument_kurzbz.'" onclick="'.$onclick.'" '.$selected.'>'.$dok->bezeichnung."</option>\n";
|
||||
}
|
||||
|
||||
echo " <tr>
|
||||
<td align='right'>Titel:</td><td><input size='45' maxlength='32' type='text' name='titel_intern' id='titel_intern' length='35' ></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align='right'>Anmerkung:</td><td><textarea name='anmerkung_intern' cols='45' id='anmerkung_intern'></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><input type='hidden' name='kategorie_kurzbz' id='kategorie_kurzbz' value='Akte'>
|
||||
<input type='hidden' name='fileupload' id='fileupload'></td>
|
||||
<td><input type='submit' name='submitbild' value='Upload'></td>
|
||||
|
||||
</tr></table></form></body></html>";
|
||||
}
|
||||
else
|
||||
{
|
||||
echo "Es wurde keine Person_id angegeben";
|
||||
}
|
||||
?>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
|
||||
+53
-57
@@ -22,7 +22,7 @@
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/benutzerberechtigung.class.php');
|
||||
require_once('../include/dms.class.php');
|
||||
require_once('../include/dms.class.php');
|
||||
require_once('../include/notiz.class.php');
|
||||
|
||||
header("Content-Type: text/html; charset=utf-8");
|
||||
@@ -41,68 +41,64 @@ $dokument_kurzbz = isset($_REQUEST['dokument_kurzbz'])?$_REQUEST['dokument_kurzb
|
||||
|
||||
if(isset($_POST['fileupload']))
|
||||
{
|
||||
$error = false;
|
||||
|
||||
// dms Eintrag anlegen
|
||||
if(isset($_GET['notiz_id']))
|
||||
{
|
||||
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
||||
$filename = uniqid();
|
||||
$filename.=".".$ext;
|
||||
$uploadfile = DMS_PATH.$filename;
|
||||
$error = false;
|
||||
|
||||
// dms Eintrag anlegen
|
||||
if(isset($_GET['notiz_id']))
|
||||
{
|
||||
$ext = pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION);
|
||||
$filename = uniqid();
|
||||
$filename.=".".$ext;
|
||||
$uploadfile = DMS_PATH.$filename;
|
||||
|
||||
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
|
||||
{
|
||||
if(!chgrp($uploadfile,'dms'))
|
||||
echo 'CHGRP failed';
|
||||
if(!chmod($uploadfile, 0774))
|
||||
echo 'CHMOD failed';
|
||||
exec('sudo chown wwwrun '.$uploadfile);
|
||||
if(move_uploaded_file($_FILES['file']['tmp_name'], $uploadfile))
|
||||
{
|
||||
$dms = new dms();
|
||||
if(!$dms->setPermission($uploadfile))
|
||||
echo $dms->errormsg;
|
||||
|
||||
$dms = new dms();
|
||||
$dms->version='0';
|
||||
$dms->kategorie_kurzbz=$kategorie_kurzbz;
|
||||
$dms->insertamum=date('Y-m-d H:i:s');
|
||||
$dms->insertvon = $user;
|
||||
$dms->mimetype=$_FILES['file']['type'];
|
||||
$dms->filename = $filename;
|
||||
$dms->name = $_FILES['file']['name'];
|
||||
$dms->beschreibung = $_POST['anmerkung_intern'];
|
||||
$dms->version='0';
|
||||
$dms->kategorie_kurzbz=$kategorie_kurzbz;
|
||||
$dms->insertamum=date('Y-m-d H:i:s');
|
||||
$dms->insertvon = $user;
|
||||
$dms->mimetype=$_FILES['file']['type'];
|
||||
$dms->filename = $filename;
|
||||
$dms->name = $_FILES['file']['name'];
|
||||
$dms->beschreibung = $_POST['anmerkung_intern'];
|
||||
|
||||
if($dms->save(true))
|
||||
{
|
||||
$dms_id=$dms->dms_id;
|
||||
|
||||
$notiz = new notiz($_GET['notiz_id']);
|
||||
if(!$notiz->saveDokument($dms_id))
|
||||
{
|
||||
echo 'Fehler beim Speichern des Dokuments';
|
||||
$error = true;
|
||||
}
|
||||
if($dms->save(true))
|
||||
{
|
||||
$dms_id=$dms->dms_id;
|
||||
|
||||
$notiz = new notiz($_GET['notiz_id']);
|
||||
if(!$notiz->saveDokument($dms_id))
|
||||
{
|
||||
echo 'Fehler beim Speichern des Dokuments';
|
||||
$error = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<script>window.opener.NotizDokumentUploadScope.RefreshNotizBlocking();window.opener.NotizDokumentUploadScope.selectItem();window.close();</script>';
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Speichern der Daten';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Hochladen der Datei';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Es muss eine Notiz ausgewaehlt werden';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Speichern der Daten';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler beim Hochladen der Datei';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Es muss eine Notiz ausgewaehlt werden';
|
||||
$error = true;
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($_GET['notiz_id']))
|
||||
@@ -113,7 +109,7 @@ if(isset($_GET['notiz_id']))
|
||||
<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'>
|
||||
<link href='../skin/style.css.php' rel='stylesheet' type='text/css'>
|
||||
<link rel='stylesheet' href='../skin/jquery.css' type='text/css'/>
|
||||
</head>
|
||||
</head>
|
||||
<body style='padding:10px;'>
|
||||
<h1>Upload Dokumente</h1>
|
||||
<form method='POST' enctype='multipart/form-data' action='$PHP_SELF?notiz_id=".$_GET['notiz_id']."'>
|
||||
@@ -122,8 +118,8 @@ if(isset($_GET['notiz_id']))
|
||||
<td align='right'>Dokument:</td>
|
||||
<td><input type='file' name='file' /></td>
|
||||
</tr>";
|
||||
|
||||
echo " <tr>
|
||||
|
||||
echo " <tr>
|
||||
<td align='right'>Anmerkung:</td><td><textarea name='anmerkung_intern' cols='45' id='anmerkung_intern'></textarea></td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
||||
+247
-223
File diff suppressed because it is too large
Load Diff
+12
-23
@@ -1,10 +1,4 @@
|
||||
<?php
|
||||
|
||||
// Auth: Benutzer des Webportals
|
||||
define ('USER_UID','strtolower(trim($_SERVER["REMOTE_USER"]))');
|
||||
// fuer Testzwecke
|
||||
//define ('USER_UID','pam');
|
||||
|
||||
// Hintergrundfarben fuer Tabellen beim Zeitwunsch
|
||||
global $cfgStdBgcolor;
|
||||
$cfgStdBgcolor=array();
|
||||
@@ -68,25 +62,20 @@
|
||||
$monatsname[2][9]="October";
|
||||
$monatsname[2][10]="November";
|
||||
$monatsname[2][11]="December";
|
||||
$monatsname[4][0]="Gennaio";
|
||||
$monatsname[4][1]="Febbraio";
|
||||
$monatsname[4][2]="Marzo";
|
||||
$monatsname[4][3]="Aprile";
|
||||
$monatsname[4][4]="Maggio";
|
||||
$monatsname[4][5]="Giunio";
|
||||
$monatsname[4][6]="Luglio";
|
||||
$monatsname[4][7]="Agosto";
|
||||
$monatsname[4][8]="Settembre";
|
||||
$monatsname[4][9]="Ottobre";
|
||||
$monatsname[4][10]="Novembre";
|
||||
$monatsname[4][11]="Dicembre";
|
||||
//$monatsname = array("Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember");
|
||||
$monatsname[4][0]="Gennaio";
|
||||
$monatsname[4][1]="Febbraio";
|
||||
$monatsname[4][2]="Marzo";
|
||||
$monatsname[4][3]="Aprile";
|
||||
$monatsname[4][4]="Maggio";
|
||||
$monatsname[4][5]="Giunio";
|
||||
$monatsname[4][6]="Luglio";
|
||||
$monatsname[4][7]="Agosto";
|
||||
$monatsname[4][8]="Settembre";
|
||||
$monatsname[4][9]="Ottobre";
|
||||
$monatsname[4][10]="Novembre";
|
||||
$monatsname[4][11]="Dicembre";
|
||||
|
||||
// Studiengaenge die keine Alias Email Adressen erhalten
|
||||
$noalias=array();
|
||||
//$noalias[0]='330';
|
||||
//$noalias[1]='331';
|
||||
//$noalias[2]='204';
|
||||
|
||||
|
||||
?>
|
||||
|
||||
@@ -59,11 +59,19 @@ var InfocenterPersonDataset = {
|
||||
var persontext = personcount === 1 ? "Person" : "Personen";
|
||||
var countHtml = personcount + " " + persontext;
|
||||
|
||||
// Count Records after Filtering
|
||||
$("#filterTableDataset").bind("filterEnd", function() {
|
||||
var cnt = $("#filterTableDataset tr:visible").length - 2;
|
||||
$("#filterTableDatasetCntFiltered").html(cnt + ' / ');
|
||||
});
|
||||
|
||||
$("#datasetActionsTop, #datasetActionsBottom").append(
|
||||
"<div class='row'>"+
|
||||
"<div class='col-xs-6'>" + selectAllHtml + " " + actionHtml + "</div>"+
|
||||
"<div class='col-xs-4'>" + legendHtml + "</div>"+
|
||||
"<div class='col-xs-2 text-right'>" + countHtml + "</div>"+
|
||||
"<div class='col-xs-2 text-right'>" +
|
||||
"<span id='filterTableDatasetCntFiltered'></span>" +
|
||||
countHtml + "</div>"+
|
||||
"<div class='clearfix'></div>"+
|
||||
"</div>"
|
||||
);
|
||||
|
||||
@@ -31,10 +31,12 @@ require_once('../include/abschlusspruefung.class.php');
|
||||
require_once('../include/person.class.php');
|
||||
require_once('../include/benutzer.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
require_once('../include/nation.class.php');
|
||||
require_once('../include/datum.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/studienordnung.class.php');
|
||||
require_once('../include/akadgrad.class.php');
|
||||
require_once('../include/organisationseinheit.class.php');
|
||||
require_once('../include/projektarbeit.class.php');
|
||||
@@ -85,6 +87,7 @@ function draw_content_xml($row)
|
||||
$person = new person();
|
||||
$mitarbeiter = new mitarbeiter();
|
||||
$student= new student($row->student_uid);
|
||||
$prestudent = new prestudent($student->prestudent_id);
|
||||
|
||||
$nation=new nation($student->geburtsnation);
|
||||
$geburtsnation=$nation->kurztext;
|
||||
@@ -97,6 +100,19 @@ function draw_content_xml($row)
|
||||
$akadgrad = new akadgrad($row->akadgrad_id);
|
||||
$vorsitz_geschlecht = '';
|
||||
|
||||
if ($prestudent->getLastStatus($student->prestudent_id, null, 'Absolvent'))
|
||||
{
|
||||
$studienplan_id = $prestudent->studienplan_id;
|
||||
$studienordnung = new studienordnung();
|
||||
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
|
||||
{
|
||||
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
|
||||
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
|
||||
}
|
||||
}
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $row->bezeichnung : $studiengangbezeichnung;
|
||||
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $row->english : $studiengangbezeichnung_englisch;
|
||||
|
||||
if($mitarbeiter->load($row->vorsitz))
|
||||
{
|
||||
$vorsitz = $mitarbeiter->titelpre.' '.$mitarbeiter->vorname;
|
||||
@@ -218,7 +234,7 @@ function draw_content_xml($row)
|
||||
}
|
||||
}
|
||||
|
||||
$studiengang_bezeichnung2 = explode(" ", $studiengang->bezeichnung, 2);
|
||||
$studiengang_bezeichnung2 = explode(" ", $studiengang_bezeichnung, 2);
|
||||
$name = $student->titelpre.' '.trim($student->vorname.' '.$student->vornamen).' '.$student->nachname;
|
||||
$name .= ($student->titelpost!=''?', '.$student->titelpost:'');
|
||||
$name = trim($name);
|
||||
@@ -274,9 +290,9 @@ function draw_content_xml($row)
|
||||
<geburtsnation><![CDATA['.$geburtsnation.']]></geburtsnation>
|
||||
<geburtsnation_engl><![CDATA['.$geburtsnation_engl.']]></geburtsnation_engl>
|
||||
<studiengang_kz><![CDATA['.$studiengang_kz.']]></studiengang_kz>
|
||||
<stg_bezeichnung><![CDATA['.$studiengang->bezeichnung.']]></stg_bezeichnung>
|
||||
<stg_bezeichnung><![CDATA['.$studiengang_bezeichnung.']]></stg_bezeichnung>
|
||||
<stg_bezeichnung2><![CDATA['.(isset($studiengang_bezeichnung2[1])?$studiengang_bezeichnung2[1]:'').']]></stg_bezeichnung2>
|
||||
<stg_bezeichnung_engl><![CDATA['.$studiengang->english.']]></stg_bezeichnung_engl>
|
||||
<stg_bezeichnung_engl><![CDATA['.$studiengang_bezeichnung_englisch.']]></stg_bezeichnung_engl>
|
||||
<stg_oe_parent><![CDATA['.$oe_parent.']]></stg_oe_parent>
|
||||
<stg_art><![CDATA['.$studiengang->typ.']]></stg_art>
|
||||
<akadgrad_kurzbz><![CDATA['.$akadgrad->akadgrad_kurzbz.']]></akadgrad_kurzbz>
|
||||
|
||||
@@ -82,10 +82,17 @@ foreach ($uid_arr as $uid)
|
||||
$studiengang='';
|
||||
}
|
||||
else
|
||||
{
|
||||
{
|
||||
//Student
|
||||
$qry ="SELECT vorname, nachname, matrikelnr, uid, tbl_studiengang.bezeichnung, tbl_studiengang.english, aktivierungscode, alias
|
||||
FROM campus.vw_student JOIN public.tbl_studiengang USING(studiengang_kz) WHERE uid=".$db->db_add_param($uid);
|
||||
$qry ="SELECT vorname, nachname, matrikelnr, uid, tbl_studiengang.bezeichnung, tbl_studiengang.english, aktivierungscode, alias, tbl_studienordnung.studiengangbezeichnung, tbl_studienordnung.studiengangbezeichnung_englisch
|
||||
FROM campus.vw_student
|
||||
JOIN public.tbl_studiengang USING(studiengang_kz)
|
||||
LEFT JOIN public.tbl_prestudentstatus USING(prestudent_id)
|
||||
LEFT JOIN lehre.tbl_studienplan USING (studienplan_id)
|
||||
LEFT JOIN lehre.tbl_studienordnung USING (studienordnung_id)
|
||||
WHERE uid=".$db->db_add_param($uid)."
|
||||
ORDER BY tbl_prestudentstatus.datum DESC LIMIT 1";
|
||||
|
||||
if($db->db_query($qry))
|
||||
{
|
||||
if($row = $db->db_fetch_object())
|
||||
@@ -97,6 +104,10 @@ foreach ($uid_arr as $uid)
|
||||
$matrikelnr = $row->matrikelnr;
|
||||
$studiengang = convertProblemChars($row->bezeichnung);
|
||||
$studiengang_eng = convertProblemChars($row->english);
|
||||
$studiengangbezeichnung = convertProblemChars($row->studiengangbezeichnung);
|
||||
$studiengangbezeichnung_englisch = convertProblemChars($row->studiengangbezeichnung_englisch);
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $studiengang : $studiengangbezeichnung;
|
||||
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang_eng : $studiengangbezeichnung_englisch;
|
||||
$uid = $row->uid;
|
||||
}
|
||||
else
|
||||
@@ -118,8 +129,8 @@ foreach ($uid_arr as $uid)
|
||||
echo "\n <alias><![CDATA[]]></alias>";
|
||||
if($studiengang!='')
|
||||
{
|
||||
echo "\n <bezeichnung><![CDATA[".$studiengang."]]></bezeichnung>";
|
||||
echo "\n <bezeichnung_english><![CDATA[".$studiengang_eng."]]></bezeichnung_english>";
|
||||
echo "\n <bezeichnung><![CDATA[".$studiengang_bezeichnung."]]></bezeichnung>";
|
||||
echo "\n <bezeichnung_english><![CDATA[".$studiengang_bezeichnung_englisch."]]></bezeichnung_english>";
|
||||
}
|
||||
echo "\n <email><![CDATA[".$uid.'@'.DOMAIN."]]></email>";
|
||||
echo "\n <fileserver><![CDATA[".$fileserver."]]></fileserver>";
|
||||
|
||||
+198
-141
@@ -32,6 +32,7 @@ require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/nation.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
require_once('../include/studienplan.class.php');
|
||||
require_once('../include/studienordnung.class.php');
|
||||
|
||||
$uid_arr = (isset($_REQUEST['uid'])?$_REQUEST['uid']:null);
|
||||
$prestudent_arr = (isset($_REQUEST['prestudent_id'])?$_REQUEST['prestudent_id']:null);
|
||||
@@ -46,7 +47,7 @@ echo "<ausbildungsvertraege>\n";
|
||||
|
||||
$uid = isset($uid_arr[1])?$uid_arr[1]:$uid_arr[0];
|
||||
|
||||
$student_help = new student();
|
||||
$student_help = new student();
|
||||
// an 2ter stelle da im Aufruf vom FAS ;<uid>; der erste immer '' ist
|
||||
if($student_help->load($uid))
|
||||
{
|
||||
@@ -69,9 +70,24 @@ if($student_help->load($uid))
|
||||
$studTyp ='';
|
||||
$titel_kurzbz = '';
|
||||
}
|
||||
|
||||
$prestudent = new prestudent($student_help->prestudent_id);
|
||||
if ($prestudent->getLastStatus($student_help->prestudent_id, null, 'Student'))
|
||||
{
|
||||
$studienplan_id = $prestudent->studienplan_id;
|
||||
$studienordnung = new studienordnung();
|
||||
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
|
||||
{
|
||||
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
|
||||
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
|
||||
}
|
||||
}
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $studiengang->bezeichnung : $studiengangbezeichnung;
|
||||
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch;
|
||||
|
||||
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
|
||||
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
|
||||
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
|
||||
echo "\t<studiengang>".$studiengang_bezeichnung."</studiengang>\n";
|
||||
echo "\t<studiengang_englisch>".$studiengang_bezeichnung_englisch."</studiengang_englisch>\n";
|
||||
}
|
||||
|
||||
foreach($uid_arr as $uid)
|
||||
@@ -84,146 +100,160 @@ foreach($uid_arr as $uid)
|
||||
$student = new student();
|
||||
if($student->load($uid))
|
||||
{
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($student->studiengang_kz);
|
||||
$staatsbuergerschaft = new nation();
|
||||
$staatsbuergerschaft->load($student->staatsbuergerschaft);
|
||||
$lehrgangstyp = new studiengang();
|
||||
$lehrgangstyp->loadLehrgangstyp($studiengang->lgartcode);
|
||||
|
||||
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
|
||||
|
||||
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
|
||||
if ($studiengang->studiengang_kz<0)
|
||||
{
|
||||
$stg = new studiengang();
|
||||
$stg->load($studiengang->studiengang_kz);
|
||||
|
||||
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
|
||||
}
|
||||
else
|
||||
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
|
||||
|
||||
echo "\t\t<quote>1</quote>\n";
|
||||
echo "\t\t<anrede>".$student->anrede."</anrede>\n";
|
||||
echo "\t\t<vorname>".$student->vorname." ".$student->vornamen."</vorname>\n";
|
||||
echo "\t\t<vornamen>".$student->vornamen."</vornamen>\n";
|
||||
echo "\t\t<nachname>".$student->nachname."</nachname>\n";
|
||||
echo "\t\t<titelpre>".$student->titelpre."</titelpre>\n";
|
||||
echo "\t\t<titelpost>".$student->titelpost."</titelpost>\n";
|
||||
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
|
||||
echo "\t\t<gebort>".$student->gebort."</gebort>\n";
|
||||
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
|
||||
echo "\t\t<svnr>".$svnr."</svnr>\n";
|
||||
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
|
||||
echo "\t\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
|
||||
echo "\t\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
|
||||
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
|
||||
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
|
||||
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
|
||||
echo "\t\t<lgartcode>".$lehrgangstyp->lgartcode."</lgartcode>";
|
||||
echo "\t\t<lgartBezeichnung>".$lehrgangstyp->bezeichnung."</lgartBezeichnung>";
|
||||
|
||||
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
|
||||
|
||||
// check ob Quereinsteiger
|
||||
$prestudent = new prestudent();
|
||||
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'1';
|
||||
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
|
||||
|
||||
$studiensemester_beginn = new studiensemester();
|
||||
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
|
||||
$studiensemester_beginn->load($studienbeginn);
|
||||
|
||||
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
|
||||
|
||||
$studiensemester_endedatum = new studiensemester();
|
||||
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
|
||||
|
||||
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
|
||||
|
||||
switch($studiengang->typ)
|
||||
{
|
||||
case 'b':
|
||||
$studTyp = 'Bachelor';
|
||||
$titel_kurzbz = 'BSc';
|
||||
break;
|
||||
case 'm':
|
||||
$studTyp = 'Master';
|
||||
$titel_kurzbz ='MSc';
|
||||
break;
|
||||
case 'd':
|
||||
$studTyp = 'Diplom';
|
||||
break;
|
||||
default:
|
||||
$studTyp ='';
|
||||
$titel_kurzbz = '';
|
||||
}
|
||||
|
||||
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
|
||||
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
|
||||
echo "\t\t<studiengang_sprache>".$studiengang->sprache."</studiengang_sprache>\n";
|
||||
echo "\t\t<studiengang_maxsemester>".$studiengang->max_semester."</studiengang_maxsemester>\n";
|
||||
echo "\t\t<studiengang_anzahljahre>".($studiengang->max_semester/2)."</studiengang_anzahljahre>\n";
|
||||
|
||||
//Wenn Quereinsteiger stimmt studiengang_maxsemester nicht mit der tatsaechlichen Ausbildungsdauer ueberein
|
||||
$student_maxsemester = ($studiengang->max_semester-$ausbildungssemester)+1;
|
||||
echo "\t\t<student_maxsemester>".$student_maxsemester."</student_maxsemester>\n";
|
||||
echo "\t\t<student_anzahljahre>".($student_maxsemester/2)."</student_anzahljahre>\n";
|
||||
|
||||
$akadgrad = new akadgrad();
|
||||
$akadgrad->getAkadgradStudent($student->uid);
|
||||
|
||||
echo "\t\t<akadgrad>".$akadgrad->titel."</akadgrad>\n";
|
||||
echo "\t\t<akadgrad_kurzbz>".$akadgrad->akadgrad_kurzbz."</akadgrad_kurzbz>\n";
|
||||
|
||||
//für ao. Studierende wird die StgKz der Lehrveranstaltungen benötigt, die sie besuchen
|
||||
$lv_studiengang_kz='';
|
||||
$lv_studiengang_bezeichnung='';
|
||||
$lv_studiengang_typ='';
|
||||
$datum_aktuell = date('d.m.Y');
|
||||
$gebdatum = date('d.m.Y',strtotime($student->gebdatum));
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->load($student->studiengang_kz);
|
||||
$staatsbuergerschaft = new nation();
|
||||
$staatsbuergerschaft->load($student->staatsbuergerschaft);
|
||||
$lehrgangstyp = new studiengang();
|
||||
$lehrgangstyp->loadLehrgangstyp($studiengang->lgartcode);
|
||||
|
||||
$stg_typ=new studiengang();
|
||||
$lv=new lehrveranstaltung();
|
||||
$lv->load_lva_student($student->uid);
|
||||
if(count($lv->lehrveranstaltungen)>0)
|
||||
$prestudent = new prestudent($student->prestudent_id);
|
||||
if ($prestudent->getLastStatus($student->prestudent_id, null, 'Student'))
|
||||
{
|
||||
$studienplan_id = $prestudent->studienplan_id;
|
||||
$studienordnung = new studienordnung();
|
||||
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
|
||||
{
|
||||
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
|
||||
$lv_studiengang=new studiengang();
|
||||
$lv_studiengang->load($lv_studiengang_kz);
|
||||
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
|
||||
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
|
||||
$lv_studiengang_typ=$stg_typ->bezeichnung;
|
||||
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
|
||||
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
|
||||
}
|
||||
|
||||
echo "\t\t<lv_studiengang_kz>".sprintf('%04s', $lv_studiengang_kz)."</lv_studiengang_kz>";
|
||||
echo "\t\t<lv_studiengang_typ>$lv_studiengang_typ</lv_studiengang_typ>";
|
||||
echo "\t\t<lv_studiengang_bezeichnung>$lv_studiengang_bezeichnung</lv_studiengang_bezeichnung>";
|
||||
|
||||
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
|
||||
}
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $studiengang->bezeichnung : $studiengangbezeichnung;
|
||||
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch;
|
||||
|
||||
$adresse = new adresse();
|
||||
$adresse->load_pers($student->person_id);
|
||||
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
|
||||
|
||||
foreach($adresse->result as $row_adresse)
|
||||
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
|
||||
if ($studiengang->studiengang_kz<0)
|
||||
{
|
||||
$stg = new studiengang();
|
||||
$stg->load($studiengang->studiengang_kz);
|
||||
|
||||
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studiengang->studiengang_kz));
|
||||
}
|
||||
else
|
||||
$studiengang_kz = sprintf("%04s", abs($studiengang->studiengang_kz));
|
||||
|
||||
echo "\t\t<quote>1</quote>\n";
|
||||
echo "\t\t<anrede>".$student->anrede."</anrede>\n";
|
||||
echo "\t\t<vorname>".$student->vorname." ".$student->vornamen."</vorname>\n";
|
||||
echo "\t\t<vornamen>".$student->vornamen."</vornamen>\n";
|
||||
echo "\t\t<nachname>".$student->nachname."</nachname>\n";
|
||||
echo "\t\t<titelpre>".$student->titelpre."</titelpre>\n";
|
||||
echo "\t\t<titelpost>".$student->titelpost."</titelpost>\n";
|
||||
echo "\t\t<gebdatum>".$gebdatum."</gebdatum>\n";
|
||||
echo "\t\t<gebort>".$student->gebort."</gebort>\n";
|
||||
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
|
||||
echo "\t\t<svnr>".$svnr."</svnr>\n";
|
||||
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
|
||||
echo "\t\t<studiengang>".$studiengang_bezeichnung."</studiengang>\n";
|
||||
echo "\t\t<studiengang_englisch>".$studiengang_bezeichnung_englisch."</studiengang_englisch>\n";
|
||||
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
|
||||
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
|
||||
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
|
||||
echo "\t\t<lgartcode>".$lehrgangstyp->lgartcode."</lgartcode>";
|
||||
echo "\t\t<lgartBezeichnung>".$lehrgangstyp->bezeichnung."</lgartBezeichnung>";
|
||||
|
||||
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
|
||||
|
||||
// check ob Quereinsteiger
|
||||
$prestudent = new prestudent();
|
||||
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'1';
|
||||
echo "\t\t<semesterStudent>".$ausbildungssemester."</semesterStudent>";
|
||||
|
||||
$studiensemester_beginn = new studiensemester();
|
||||
$studienbeginn = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->studiensemester_kurzbz:'';
|
||||
$studiensemester_beginn->load($studienbeginn);
|
||||
|
||||
echo "\t\t<studiensemester_beginn>".$studiensemester_beginn->bezeichnung."</studiensemester_beginn>";
|
||||
|
||||
$studiensemester_endedatum = new studiensemester();
|
||||
$studiensemester_endedatum->load($studiensemester_endedatum->getaktorNext(1));
|
||||
|
||||
echo "\t\t<studiensemester_endedatum>".date('d.m.Y',strtotime($studiensemester_endedatum->ende))."</studiensemester_endedatum>";
|
||||
|
||||
switch($studiengang->typ)
|
||||
{
|
||||
case 'b':
|
||||
$studTyp = 'Bachelor';
|
||||
$titel_kurzbz = 'BSc';
|
||||
break;
|
||||
case 'm':
|
||||
$studTyp = 'Master';
|
||||
$titel_kurzbz ='MSc';
|
||||
break;
|
||||
case 'd':
|
||||
$studTyp = 'Diplom';
|
||||
break;
|
||||
default:
|
||||
$studTyp ='';
|
||||
$titel_kurzbz = '';
|
||||
}
|
||||
|
||||
echo "\t\t<titel_kurzbz>".$titel_kurzbz."</titel_kurzbz>\n";
|
||||
echo "\t\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
|
||||
echo "\t\t<studiengang_sprache>".$studiengang->sprache."</studiengang_sprache>\n";
|
||||
echo "\t\t<studiengang_maxsemester>".$studiengang->max_semester."</studiengang_maxsemester>\n";
|
||||
echo "\t\t<studiengang_anzahljahre>".($studiengang->max_semester/2)."</studiengang_anzahljahre>\n";
|
||||
|
||||
//Wenn Quereinsteiger stimmt studiengang_maxsemester nicht mit der tatsaechlichen Ausbildungsdauer ueberein
|
||||
$student_maxsemester = ($studiengang->max_semester-$ausbildungssemester)+1;
|
||||
echo "\t\t<student_maxsemester>".$student_maxsemester."</student_maxsemester>\n";
|
||||
echo "\t\t<student_anzahljahre>".($student_maxsemester/2)."</student_anzahljahre>\n";
|
||||
|
||||
$akadgrad = new akadgrad();
|
||||
$akadgrad->getAkadgradStudent($student->uid);
|
||||
|
||||
echo "\t\t<akadgrad>".$akadgrad->titel."</akadgrad>\n";
|
||||
echo "\t\t<akadgrad_kurzbz>".$akadgrad->akadgrad_kurzbz."</akadgrad_kurzbz>\n";
|
||||
|
||||
//für ao. Studierende wird die StgKz der Lehrveranstaltungen benötigt, die sie besuchen
|
||||
$lv_studiengang_kz='';
|
||||
$lv_studiengang_bezeichnung='';
|
||||
$lv_studiengang_typ='';
|
||||
|
||||
$stg_typ=new studiengang();
|
||||
$lv=new lehrveranstaltung();
|
||||
$lv->load_lva_student($student->uid);
|
||||
if(count($lv->lehrveranstaltungen)>0)
|
||||
{
|
||||
$lv_studiengang_kz=$lv->lehrveranstaltungen[0]->studiengang_kz;
|
||||
$lv_studiengang=new studiengang();
|
||||
$lv_studiengang->load($lv_studiengang_kz);
|
||||
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
|
||||
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
|
||||
$lv_studiengang_typ=$stg_typ->bezeichnung;
|
||||
}
|
||||
|
||||
echo "\t\t<lv_studiengang_kz>".sprintf('%04s', $lv_studiengang_kz)."</lv_studiengang_kz>";
|
||||
echo "\t\t<lv_studiengang_typ>$lv_studiengang_typ</lv_studiengang_typ>";
|
||||
echo "\t\t<lv_studiengang_bezeichnung>$lv_studiengang_bezeichnung</lv_studiengang_bezeichnung>";
|
||||
|
||||
echo "\t\t<datum_aktuell>".$datum_aktuell."</datum_aktuell>\n";
|
||||
|
||||
$adresse = new adresse();
|
||||
$adresse->load_pers($student->person_id);
|
||||
|
||||
foreach($adresse->result as $row_adresse)
|
||||
{
|
||||
if($row_adresse->zustelladresse)
|
||||
{
|
||||
if($row_adresse->zustelladresse)
|
||||
{
|
||||
echo "\t\t<strasse>".$row_adresse->strasse."</strasse>\n";
|
||||
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
|
||||
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
|
||||
break;
|
||||
}
|
||||
echo "\t\t<strasse>".$row_adresse->strasse."</strasse>\n";
|
||||
echo "\t\t<plz>".$row_adresse->plz." ".$row_adresse->ort."</plz>\n";
|
||||
echo "\t\t<nation>".$row_adresse->nation."</nation>\n";
|
||||
break;
|
||||
}
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
|
||||
|
||||
if($prestudent->orgform_kurzbz!='')
|
||||
$orgform = $prestudent->orgform_kurzbz;
|
||||
else
|
||||
$orgform = $studiengang->orgform_kurzbz;
|
||||
echo "\t\t<orgform>".$orgform."</orgform>\n";
|
||||
}
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getLastStatus($student->prestudent_id, null, 'Student');
|
||||
|
||||
if($prestudent->orgform_kurzbz!='')
|
||||
$orgform = $prestudent->orgform_kurzbz;
|
||||
else
|
||||
$orgform = $studiengang->orgform_kurzbz;
|
||||
echo "\t\t<orgform>".$orgform."</orgform>\n";
|
||||
}
|
||||
echo "\t</ausbildungsvertrag>\n";
|
||||
}
|
||||
@@ -256,9 +286,23 @@ if($prestudent_help->load($prest_id))
|
||||
$studTyp ='';
|
||||
$titel_kurzbz = '';
|
||||
}
|
||||
|
||||
if ($prestudent_help->getLastStatus($prest_id, null, 'Student'))
|
||||
{
|
||||
$studienplan_id = $prestudent_help->studienplan_id;
|
||||
$studienordnung = new studienordnung();
|
||||
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
|
||||
{
|
||||
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
|
||||
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
|
||||
}
|
||||
}
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $studiengang->bezeichnung : $studiengangbezeichnung;
|
||||
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch;
|
||||
|
||||
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
|
||||
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
|
||||
echo "\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
|
||||
echo "\t<studiengang>".$studiengang_bezeichnung."</studiengang>\n";
|
||||
echo "\t<studiengang_englisch>".$studiengang_bezeichnung_englisch."</studiengang_englisch>\n";
|
||||
}
|
||||
|
||||
foreach($prestudent_arr as $prest_id)
|
||||
@@ -282,7 +326,20 @@ foreach($prestudent_arr as $prest_id)
|
||||
$staatsbuergerschaft->load($person->staatsbuergerschaft);
|
||||
$lehrgangstyp = new studiengang();
|
||||
$lehrgangstyp->loadLehrgangstyp($studiengang->lgartcode);
|
||||
|
||||
|
||||
if ($prestudent->getLastStatus($student->prestudent_id, null, 'Student'))
|
||||
{
|
||||
$studienplan_id = $prestudent->studienplan_id;
|
||||
$studienordnung = new studienordnung();
|
||||
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
|
||||
{
|
||||
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
|
||||
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
|
||||
}
|
||||
}
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $studiengang->bezeichnung : $studiengangbezeichnung;
|
||||
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $studiengang->english : $studiengangbezeichnung_englisch;
|
||||
|
||||
$svnr = ($person->svnr == '')?($person->ersatzkennzeichen != ''?'Ersatzkennzeichen: '.$person->ersatzkennzeichen:''):$person->svnr;
|
||||
|
||||
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
|
||||
@@ -307,8 +364,8 @@ foreach($prestudent_arr as $prest_id)
|
||||
echo "\t\t<gebort>".$person->gebort."</gebort>\n";
|
||||
echo "\t\t<staatsbuergerschaft>".$staatsbuergerschaft->langtext."</staatsbuergerschaft>\n";
|
||||
echo "\t\t<svnr>".$svnr."</svnr>\n";
|
||||
echo "\t\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
|
||||
echo "\t\t<studiengang_englisch>".$studiengang->english."</studiengang_englisch>\n";
|
||||
echo "\t\t<studiengang>".$studiengang_bezeichnung."</studiengang>\n";
|
||||
echo "\t\t<studiengang_englisch>".$studiengang_bezeichnung_englisch."</studiengang_englisch>\n";
|
||||
echo "\t\t<studiengang_kurzbz>".$studiengang->kurzbzlang."</studiengang_kurzbz>\n";
|
||||
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
|
||||
echo "\t\t<studiengangSprache>".$studiengang->sprache."</studiengangSprache>";
|
||||
|
||||
@@ -28,6 +28,7 @@ require_once('../include/datum.class.php');
|
||||
require_once('../include/basis_db.class.php');
|
||||
require_once('../include/studiengang.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
require_once('../include/studienordnung.class.php');
|
||||
require_once('../include/mitarbeiter.class.php');
|
||||
require_once('../include/studiensemester.class.php');
|
||||
require_once('../include/student.class.php');
|
||||
@@ -97,8 +98,23 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
echo ' <geburtsdatum><![CDATA['.$datum->convertISODate($row->gebdatum).']]></geburtsdatum>';
|
||||
echo ' <matrikelnummer>'.TRIM($row->matrikelnr).'</matrikelnummer>';
|
||||
echo ' <studiengang_kz>'.$studiengang_kz.'</studiengang_kz>';
|
||||
echo ' <studiengang_bezeichnung_deutsch><![CDATA['.$row->bezeichnung.']]></studiengang_bezeichnung_deutsch>';
|
||||
echo ' <studiengang_bezeichnung_englisch><![CDATA['.$row->english.']]></studiengang_bezeichnung_englisch>';
|
||||
|
||||
$prestudent = new prestudent($row->prestudent_id);
|
||||
if ($prestudent->getLastStatus($row->prestudent_id, null, 'Student'))
|
||||
{
|
||||
$studienplan_id = $prestudent->studienplan_id;
|
||||
$studienordnung = new studienordnung();
|
||||
if ($studienordnung->getStudienordnungFromStudienplan($studienplan_id))
|
||||
{
|
||||
$studiengangbezeichnung = $studienordnung->__get('studiengangbezeichnung');
|
||||
$studiengangbezeichnung_englisch = $studienordnung->__get('studiengangbezeichnung_englisch');
|
||||
}
|
||||
}
|
||||
$studiengang_bezeichnung = empty($studiengangbezeichnung) ? $row->bezeichnung : $studiengangbezeichnung;
|
||||
$studiengang_bezeichnung_englisch = empty($studiengangbezeichnung_englisch) ? $row->english : $studiengangbezeichnung_englisch;
|
||||
|
||||
echo ' <studiengang_bezeichnung_deutsch><![CDATA['.$studiengang_bezeichnung.']]></studiengang_bezeichnung_deutsch>';
|
||||
echo ' <studiengang_bezeichnung_englisch><![CDATA['.$studiengang_bezeichnung_englisch.']]></studiengang_bezeichnung_englisch>';
|
||||
|
||||
$prestudent = new prestudent();
|
||||
$prestudent->getFirstStatus($row->prestudent_id, 'Student');
|
||||
|
||||
+11
-4
@@ -131,17 +131,22 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
|
||||
//Wenn das Semester 0 ist, dann wird das Semester aus der Rolle geholt. (Ausnahme: Incoming)
|
||||
//damit bei Outgoing Studenten die im 0. Semester angelegt sind das richtige Semester aufscheint
|
||||
$qry ="SELECT ausbildungssemester as semester FROM public.tbl_prestudentstatus
|
||||
$qry ="SELECT ausbildungssemester as semester, tbl_studienordnung.studiengangbezeichnung, tbl_studienordnung.studiengangbezeichnung_englisch
|
||||
FROM public.tbl_prestudentstatus
|
||||
LEFT JOIN lehre.tbl_studienplan USING (studienplan_id)
|
||||
LEFT JOIN lehre.tbl_studienordnung USING (studienordnung_id)
|
||||
WHERE
|
||||
prestudent_id=".$db->db_add_param($row->prestudent_id)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
|
||||
tbl_prestudentstatus.status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
|
||||
ORDER BY DATUM DESC LIMIT 1";
|
||||
if($result_sem = $db->db_query($qry))
|
||||
{
|
||||
if($row_sem = $db->db_fetch_object($result_sem))
|
||||
{
|
||||
$row->semester = $row_sem->semester;
|
||||
$row->studiengangbezeichnung = $row_sem->studiengangbezeichnung;
|
||||
$row->studiengangbezeichnung_englisch = $row_sem->studiengangbezeichnung_englisch;
|
||||
$bezeichnung = $row_sem->semester.'. Semester';
|
||||
}
|
||||
else
|
||||
@@ -150,13 +155,15 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
else
|
||||
$bezeichnung = '';
|
||||
|
||||
$studiengangbezeichnung = empty($row->studiengangbezeichnung) ? $row->bezeichnung : $row->studiengangbezeichnung;
|
||||
$studiengangbezeichnung_englisch = empty($row->studiengangbezeichnung_englisch) ? $row->english : $row->studiengangbezeichnung_englisch;
|
||||
|
||||
$xml .= " <studiensemester><![CDATA[".$row->sembezeichnung."]]></studiensemester>";
|
||||
$xml .= " <stsem><![CDATA[".$row->stsem."]]></stsem>";
|
||||
$xml .= " <semester><![CDATA[".$row->semester."]]></semester>";
|
||||
$xml .= " <semester_bezeichnung><![CDATA[".$bezeichnung."]]></semester_bezeichnung>";
|
||||
$xml .= " <studiengang><![CDATA[".$row->bezeichnung."]]></studiengang>";
|
||||
$xml .= " <studiengang_englisch><![CDATA[".$row->english."]]></studiengang_englisch>";
|
||||
$xml .= " <studiengang><![CDATA[".$studiengangbezeichnung."]]></studiengang>";
|
||||
$xml .= " <studiengang_englisch><![CDATA[".$studiengangbezeichnung_englisch."]]></studiengang_englisch>";
|
||||
if($row->typ=='b')
|
||||
$bezeichnung='Bachelor';
|
||||
elseif($row->typ=='m')
|
||||
|
||||
@@ -222,7 +222,7 @@ if (isset($_REQUEST['submit']))
|
||||
|
||||
case 'setMatrikelnummer':
|
||||
$person = new stdClass();
|
||||
$person->matrikelnummer = $matrikelnummer;
|
||||
$person->matrikelnummer = $matrikelnr;
|
||||
$person->vorname = $vorname;
|
||||
$person->nachname = $nachname;
|
||||
$person->geburtsdatum = $geburtsdatum;
|
||||
|
||||
+35
-1
@@ -1536,7 +1536,7 @@ if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants
|
||||
}
|
||||
}
|
||||
|
||||
// INSERT Berechtigungen fuer web User erteilen fuer tbl_msg_status
|
||||
// UPDATE 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)
|
||||
@@ -2263,6 +2263,40 @@ if($result = $db->db_query("SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE
|
||||
}
|
||||
}
|
||||
|
||||
// INSERT und Update Berechtigungen fuer web User erteilen fuer tbl_msg_message
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_msg_message' AND table_schema='public' AND grantee='web' AND privilege_type='INSERT'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "GRANT SELECT, INSERT, UPDATE ON public.tbl_msg_message TO web;
|
||||
GRANT SELECT, UPDATE ON SEQUENCE public.tbl_msg_message_message_id_seq TO web;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
{
|
||||
echo '<strong>public.tbl_msg_message Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
}
|
||||
else
|
||||
{
|
||||
echo '<br>INSERT und UPDATE Rechte fuer public.tbl_msg_message
|
||||
und tbl_msg_message_message_id_seq fuer web user gesetzt ';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// INSERT und Update Berechtigungen fuer web User erteilen fuer tbl_msg_recipient
|
||||
if($result = @$db->db_query("SELECT * FROM information_schema.role_table_grants WHERE table_name='tbl_msg_recipient' AND table_schema='public' AND grantee='web' AND privilege_type='INSERT'"))
|
||||
{
|
||||
if($db->db_num_rows($result)==0)
|
||||
{
|
||||
$qry = "GRANT SELECT, INSERT, UPDATE ON public.tbl_msg_recipient TO web;";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_msg_message Berechtigungen: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>INSERT und UPDATE Rechte fuer public.tbl_msg_message fuer web user gesetzt ';
|
||||
}
|
||||
}
|
||||
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
@@ -34,6 +34,7 @@ $filters = array(
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "StgAbgeschickt"},
|
||||
{"name": "Studiensemester"},
|
||||
{"name": "LastAction"},
|
||||
{"name": "User/Operator"},
|
||||
{"name": "LockUser"}
|
||||
@@ -65,6 +66,7 @@ $filters = array(
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "StgAbgeschickt"},
|
||||
{"name": "Studiensemester"},
|
||||
{"name": "LastAction"},
|
||||
{"name": "User/Operator"},
|
||||
{"name": "LockUser"}
|
||||
@@ -177,6 +179,7 @@ $filters = array(
|
||||
{"name": "Nachname"},
|
||||
{"name": "Nation"},
|
||||
{"name": "StgAbgeschickt"},
|
||||
{"name": "Studiensemester"},
|
||||
{"name": "LastAction"},
|
||||
{"name": "User/Operator"},
|
||||
{"name": "LockUser"}
|
||||
|
||||
@@ -675,6 +675,8 @@ else
|
||||
$message[$row->old_uid]->isset=true;
|
||||
$message[$row->old_uid]->mailadress=$row->old_uid.'@'.DOMAIN;
|
||||
$message[$row->old_uid]->message_begin=$message_begin.'<BR>';
|
||||
if(!isset($message[$row->old_uid]->message))
|
||||
$message[$row->old_uid]->message = '';
|
||||
$message[$row->old_uid]->message.='<font style="color:blue"><strong>'.$p_de->t('lvplan/geaenderteStunden').' / '.$p_en->t('lvplan/geaenderteStunden').'</strong></font><BR>
|
||||
<TABLE>
|
||||
<TR>
|
||||
|
||||
+12
-15
@@ -641,6 +641,10 @@
|
||||
<style:style style:name="T43" style:family="text">
|
||||
<style:text-properties fo:font-size="12pt" style:font-size-asian="12pt"/>
|
||||
</style:style>
|
||||
<style:style style:name="X1" style:family="paragraph" style:parent-style-name="Standard">
|
||||
<style:paragraph-properties fo:line-height="130%" fo:text-align="justify" style:justify-single-word="false"/>
|
||||
<style:text-properties style:use-window-font-color="true" style:font-name="Arial" fo:font-size="10pt" fo:language="en" fo:country="US" fo:font-weight="bold" officeooo:paragraph-rsid="001f9220" fo:background-color="transparent" style:font-name-asian="Times New Roman" style:font-size-asian="10pt" style:font-weight-asian="bold" style:font-name-complex="Arial" style:font-size-complex="9pt" style:language-complex="ar" style:country-complex="SA" style:font-weight-complex="bold"/>
|
||||
</style:style>
|
||||
<style:style style:name="fr1" style:family="graphic" style:parent-style-name="Graphics">
|
||||
<style:graphic-properties fo:margin-left="0.319cm" fo:margin-right="0.319cm" style:run-through="background" style:wrap="run-through" style:number-wrapped-paragraphs="no-limit" style:vertical-pos="from-top" style:vertical-rel="paragraph" style:horizontal-pos="from-left" style:horizontal-rel="paragraph" fo:padding="0.002cm" fo:border="none" style:mirror="none" fo:clip="rect(0cm, 0cm, 0cm, 0cm)" draw:luminance="0%" draw:contrast="0%" draw:red="0%" draw:green="0%" draw:blue="0%" draw:gamma="100%" draw:color-inversion="false" draw:image-opacity="100%" draw:color-mode="standard"/>
|
||||
</style:style>
|
||||
@@ -880,11 +884,6 @@
|
||||
</text:span>
|
||||
<text:span text:style-name="Strong_20_Emphasis"> </text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="Standard">
|
||||
<text:span text:style-name="Strong_20_Emphasis">
|
||||
<text:span text:style-name="T33"/>
|
||||
</text:span>
|
||||
</text:p>
|
||||
<text:list xml:id="list8019569486514330718" text:style-name="WW8Num4">
|
||||
<text:list-item>
|
||||
<text:p text:style-name="P77">Der Erhalter verpflichtet sich zur ordnungsgemäßen Planung und Durchführung des Studienganges in der Regelstudiendauer. Der Erhalter ist verpflichtet, allfällige Änderungen des akkreditierten Studienganges zeitgerecht bekannt zu geben.</text:p>
|
||||
@@ -1059,7 +1058,7 @@
|
||||
<text:p text:style-name="P20">Diese Dokumente sind öffentlich zugänglich unter www.technikum-wien.at.</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P48">6.2.2 Studienbeitrag </text:p>
|
||||
<text:p text:style-name="P48">Die Studentin bzw. der Student ist verpflichtet, zwei Wochen vor Beginn jedes Semesters (StudienanfängerInnen: bis 20. August vor Studienbeginn) einen Studienbeitrag gemäß Fachhochschul-Studiengesetz idgF in der Höhe von derzeit € 363,36 netto pro Semester zu entrichten. Dies gilt auch in Semestern mit DiplomandInnenenstatus o.ä. Im Falle einer Erhöhung des gesetzlichen Studienbeitrags-satzes erhöht sich der angeführte Betrag entsprechend. Die vollständige Bezahlung des Studienbeitrags ist Voraussetzung für die Aufnahme bzw. die Fortsetzung des Studiums. Bei Nichtantritt des Studiums oder Abbruch zu Beginn oder während des Semesters verfällt der Studienbeitrag. </text:p>
|
||||
<text:p text:style-name="P48">Die Studentin bzw. der Student ist verpflichtet, zwei Wochen vor Beginn jedes Semesters (StudienanfängerInnen: bis 20. August vor Studienbeginn) einen Studienbeitrag gemäß Fachhochschul-Studiengesetz idgF in der Höhe von derzeit € 363,36 netto pro Semester zu entrichten. Dies gilt auch in Semestern mit DiplomandInnenenstatus o.ä. Im Falle einer Erhöhung des gesetzlichen Studienbeitrags-satzes erhöht sich der angeführte Betrag entsprechend. Die vollständige Bezahlung des Studienbeitrags ist Voraussetzung für die Aufnahme bzw. die Fortsetzung des Studiums. Bei Nichtantritt des Studiums oder Abbruch zu Beginn oder während des Semesters verfällt der Studienbeitrag. </text:p>
|
||||
<text:p text:style-name="P69">
|
||||
<text:span text:style-name="T8">6.2 Duties</text:span>
|
||||
</text:p>
|
||||
@@ -1087,14 +1086,14 @@
|
||||
<text:p text:style-name="P20">These documents are publically available at www.technikum-wien.at.</text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">6.2.2 Tuition Fees</text:p>
|
||||
<text:p text:style-name="P48">Two weeks before the beginning of each semester (new students: up to August 20 before taking up studies) the student undertakes to pay tuition fees according to the University of Applied Sciences Studies Act as amended currently to the sum of € 363.36 net payable per semester. This also applies in semesters with graduand status etc. In the event of an increase in the legal tuition fees rate, the amount quoted will increase accordingly. Full payment of the tuition fees is a prerequisite both for enrolling on the course and continuing with the degree program. For non-commencement or termination of the study at the beginning or during the semester, the tuition fee is forfeited. </text:p>
|
||||
<text:p text:style-name="P48">Two weeks before the beginning of each semester (new students: up to August 20 before taking up studies) the student undertakes to pay tuition fees according to the University of Applied Sciences Studies Act as amended currently to the sum of € 363.36 net payable per semester. This also applies in semesters with graduand status etc. In the event of an increase in the legal tuition fees rate, the amount quoted will increase accordingly. Full payment of the tuition fees is a prerequisite both for enrolling on the course and continuing with the degree program. For non-commencement or termination of the study at the beginning or during the semester, the tuition fee is forfeited. </text:p>
|
||||
<text:p text:style-name="P67">
|
||||
<text:soft-page-break/>6.2.3 ÖH-Beitrag</text:p>
|
||||
<text:p text:style-name="P20">Gemäß § 4 Abs. 10 FHStG sind Studierende an Fachhochschulen Mitglieder der Österreichischen HochschülerInnenschaft (ÖH). Der/Die Studierende hat semesterweise einen ÖH-Beitrag an den Erhalter zu entrichten, der diesen an die ÖH abführt. Die Entrichtung des Betrags ist Voraussetzung für die Zulassung zum Studium bzw. für dessen Fortsetzung.</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20">6.2.4 Kaution </text:p>
|
||||
<text:p text:style-name="P20">Im Zuge der Einschreibung ist der Nachweis über die einbezahlte Kaution zu erbringen. </text:p>
|
||||
<text:p text:style-name="P20">Die Kaution beträgt € 150,–. </text:p>
|
||||
<text:p text:style-name="P20">Die Kaution beträgt € 150,–. </text:p>
|
||||
<text:p text:style-name="P20">Bei Nichtantritt des Studiums oder Abbruch während des ersten oder zweiten Semesters verfällt die Kaution. </text:p>
|
||||
<text:p text:style-name="P48">Bei aufrechtem Inskriptionsverhältnis zu Beginn des zweiten Semesters wird die Kaution auf den Unkostenbeitrag (siehe nächster Punkt) des ersten und zweiten Semesters angerechnet. </text:p>
|
||||
<text:p text:style-name="P48">
|
||||
@@ -1105,7 +1104,7 @@
|
||||
</text:p>
|
||||
<text:p text:style-name="P48">Pro Semester ist ein Unkostenbeitrag zu entrichten, wobei es sich nicht um einen Pauschalbetrag handelt. Der Unkostenbeitrag stellt eine Abgeltung für über das Normalmaß hinausgehende Serviceleistungen der FH dar, z.B. Freifächer, Beratung/Info Auslands-studium, Sponsionsfeiern, Vorträge / Job-börse, Mensa etc. </text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">Die Höhe des Unkostenbeitrages beträgt derzeit € 75,– pro Semester. Eine allfällige Anpassung wird durch Aushang bekannt gemacht. </text:p>
|
||||
<text:p text:style-name="P48">Die Höhe des Unkostenbeitrages beträgt derzeit € 75,– pro Semester. Eine allfällige Anpassung wird durch Aushang bekannt gemacht. </text:p>
|
||||
<text:p text:style-name="P48">Der Unkostenbeitrag ist
|
||||
<xsl:choose>
|
||||
<xsl:when test="semesterStudent = 3" >
|
||||
@@ -1121,14 +1120,14 @@
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20">6.2.4 Deposit </text:p>
|
||||
<text:p text:style-name="P20">During the process of registration, proof of deposit paid must be provided.</text:p>
|
||||
<text:p text:style-name="P20">The deposit is € 150,–. </text:p>
|
||||
<text:p text:style-name="P20">The deposit is € 150,–. </text:p>
|
||||
<text:p text:style-name="P20">For non-commencement of studies or termination during the first or second semester, the deposit shall be forfeited. </text:p>
|
||||
<text:p text:style-name="P20">If, by the beginning of the second semester, registration has been completed correctly the deposit will be credited to the contribution towards expenses (see next point) for the first and second semester. </text:p>
|
||||
<text:p text:style-name="P79"/>
|
||||
<text:p text:style-name="P79">6.2.5 Contribution towards Expenses </text:p>
|
||||
<text:p text:style-name="P48">A contribution towards expenses, which is not a lump sum, is payable per semester. The contribution towards expenses represents compensation for the services provided by the UAS that go beyond the normal level, such as electives, counseling/ information about studying abroad, graduation ceremonies, lectures/job market, cafeteria, etc. </text:p>
|
||||
<text:p text:style-name="P48"/>
|
||||
<text:p text:style-name="P48">The amount of the contribution is currently <text:line-break/>€ 75,– per semester. Any possible adjustment is posted on the noticeboard. </text:p>
|
||||
<text:p text:style-name="P48">The amount of the contribution is currently <text:line-break/>€ 75,– per semester. Any possible adjustment is posted on the noticeboard. </text:p>
|
||||
<text:p text:style-name="P48">
|
||||
<xsl:choose>
|
||||
<xsl:when test="semesterStudent = 3" >
|
||||
@@ -1239,7 +1238,6 @@
|
||||
<text:p text:style-name="P20">The student undertakes to return promptly all equipment, books, keys and other materials that have been made available, when the course is finished or broken off.</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20">
|
||||
<text:span text:style-name="Strong_20_Emphasis">
|
||||
<text:span text:style-name="T42">7. Termination of the contract</text:span>
|
||||
@@ -1252,6 +1250,7 @@
|
||||
<text:p text:style-name="P61"/>
|
||||
<text:p text:style-name="P20">By mutual consent, the annulment of the training contract is possible at any time, without notice and for any reason. The amicable annulment must be put down in writing. </text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20">
|
||||
<text:span text:style-name="Strong_20_Emphasis">
|
||||
<text:span text:style-name="T8">7.2 Termination by the Student</text:span>
|
||||
@@ -1261,8 +1260,7 @@
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P20">The student may terminate the training contract in writing at the end of each semester.</text:p>
|
||||
<text:p text:style-name="P20"/>
|
||||
<text:p text:style-name="P70">
|
||||
<text:soft-page-break/>
|
||||
<text:p text:style-name="P43">
|
||||
<text:span text:style-name="T8">7.3 Automatische Beendigung des Vertrages</text:span>
|
||||
</text:p>
|
||||
<text:p text:style-name="P22">Nach erfolgreicher Beendigung des Studiums endet der Vertrag automatisch mit der Verleihung des akademischen Grades.</text:p>
|
||||
@@ -1298,7 +1296,6 @@
|
||||
<text:p text:style-name="P76">strafgerichtlicher Verurteilung (wobei die Art des Deliktes und der Grad der Schuld berücksichtigt werden);</text:p>
|
||||
</text:list-item>
|
||||
</text:list>
|
||||
<text:p text:style-name="P89"/>
|
||||
<text:p text:style-name="P69">
|
||||
<text:span text:style-name="Strong_20_Emphasis">
|
||||
<text:span text:style-name="T8">7.3 Automatic Ending of the Contract</text:span>
|
||||
|
||||
@@ -324,6 +324,10 @@ xmlns:form="urn:oasis:names:tc:opendocument:xmlns:form:1.0"
|
||||
</office:automatic-styles>
|
||||
<office:body>
|
||||
<xsl:apply-templates select="lehrauftrag"/>
|
||||
<!-- Add extra page to avoid problems with libreoffice 6 -->
|
||||
<office:text text:use-soft-page-breaks="true" xmlns:office="urn:oasis:names:tc:opendocument:xmlns:office:1.0" xmlns:style="urn:oasis:names:tc:opendocument:xmlns:style:1.0" xmlns:text="urn:oasis:names:tc:opendocument:xmlns:text:1.0" xmlns:table="urn:oasis:names:tc:opendocument:xmlns:table:1.0" xmlns:draw="urn:oasis:names:tc:opendocument:xmlns:drawing:1.0" xmlns:svg="urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0">
|
||||
<text:p text:style-name="Seitenumbruch"/>
|
||||
</office:text>
|
||||
</office:body>
|
||||
</office:document-content>
|
||||
</xsl:template>
|
||||
|
||||
@@ -1,315 +0,0 @@
|
||||
<?php
|
||||
|
||||
/* Copyright (C) 2018 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: Cristina Hainberger <hainberg@technikum-wien.at> */
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/basis_db.class.php');
|
||||
require_once('../../include/datum.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
require_once('../../include/ampel.class.php');
|
||||
require_once('../../include/person.class.php');
|
||||
require_once('../../include/phrasen.class.php');
|
||||
|
||||
$db = new basis_db();
|
||||
$datum = new datum();
|
||||
$now = $datum->mktime_fromdate(date('Y-m-d'));
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
|
||||
//get all notifications
|
||||
$ampel_obj = new ampel();
|
||||
$ampel_obj->getAll();
|
||||
$ampel_arr = $ampel_obj->result;
|
||||
|
||||
//filter only notifications that are not expired, not before vorlaufzeit AND email is true
|
||||
$ampel_arr = filterAmpeln($ampel_arr);
|
||||
|
||||
//get user of notifications, ampel_id, description and deadline
|
||||
$new_ampel_user_arr = array(); //user with new notifications that are not confirmed
|
||||
$overdue_ampel_user_arr = array(); //user with overdue notifications that are not confirmed
|
||||
foreach($ampel_arr as $ampel)
|
||||
{
|
||||
$deadline = $datum->mktime_fromdate($ampel->deadline);
|
||||
$insert_date = $datum->formatDatum($ampel->insertamum, 'Y-m-d');
|
||||
$qry_all_ampel_user = $ampel->benutzer_select;
|
||||
$kurzbz = $ampel->kurzbz;
|
||||
|
||||
$new = false;
|
||||
$overdue = false;
|
||||
$new_user_arr = array();
|
||||
$overdue_user_arr = array();
|
||||
|
||||
if($result = $db->db_query($qry_all_ampel_user))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$user = $row->uid;
|
||||
|
||||
//break if almost confirmed
|
||||
if ($ampel_obj->isBestaetigt($user, $ampel->ampel_id))
|
||||
break;
|
||||
|
||||
//check if notification is new (within last week, as cronjob will run every week)
|
||||
if($datum->DateDiff(date('Y-m-d'), $insert_date) >= -7)
|
||||
{
|
||||
$new = true;
|
||||
$new_user_arr[] = $user;
|
||||
}
|
||||
|
||||
//check if notification is overdue
|
||||
if ($now > $deadline)
|
||||
{
|
||||
$overdue = true;
|
||||
$overdue_user_arr[] = $user;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
if ($new)
|
||||
{
|
||||
$new_ampel_user_arr[] =
|
||||
array(
|
||||
'ampel_id' => $ampel->ampel_id,
|
||||
'ampel_bezeichnung' => $kurzbz,
|
||||
'user' => $new_user_arr,
|
||||
'deadline' => date('d.m.Y', $deadline)
|
||||
);
|
||||
}
|
||||
|
||||
if ($overdue)
|
||||
{
|
||||
$overdue_ampel_user_arr[] =
|
||||
array(
|
||||
'ampel_id' => $ampel->ampel_id,
|
||||
'ampel_bezeichnung' => $kurzbz,
|
||||
'user' => $overdue_user_arr,
|
||||
'deadline' => date('d.m.Y', $deadline)
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
//rearrange arrays as needed to send in eMails
|
||||
$new_ampel_user_arr = organizeAmpelnForMail($new_ampel_user_arr);
|
||||
$overdue_ampel_user_arr = organizeAmpelnForMail($overdue_ampel_user_arr);
|
||||
|
||||
//send eMail for new notifications
|
||||
foreach ($new_ampel_user_arr as $receiver)
|
||||
{
|
||||
//get data about sender
|
||||
$person = new person();
|
||||
$person->getPersonFromBenutzer($receiver['user']);
|
||||
$firstName = $person->vorname;
|
||||
|
||||
//link to notifications system site
|
||||
$link = APP_ROOT. "cis/index.php?sprache=German&content_id=&menu=".
|
||||
APP_ROOT. "cis/menu.php?content_id=&content=".
|
||||
APP_ROOT. "cis/private/tools/ampelverwaltung.php";
|
||||
|
||||
//eMail data
|
||||
$to = $receiver['user']. '@'. DOMAIN;
|
||||
$from = 'noreply@'. DOMAIN;
|
||||
$subject = 'Sie haben eine neue Ampel!';
|
||||
$headerImg = "sancho_header_neue_nachrichten_in_ampelsystem.jpg";
|
||||
$content = "<p align=\"center\">Hallo ". $firstName. ",</p><br>";
|
||||
$content .= "<p>es gibt neue Ampeln für Sie:</p><br>";
|
||||
|
||||
for ($i = 0; $i < count($receiver) - 1; $i++)
|
||||
{
|
||||
$receiver[$i]['ampel_id'];
|
||||
$content .= "<p><strong>". strtoupper($receiver[$i]['ampel_bezeichnung']). "</strong></p></br>";
|
||||
}
|
||||
|
||||
$content .= "<p>Sie können sie jetzt gleich in Ihrem Ampelsystem bestätigen:</p>";
|
||||
$content .= "<a style=\"color: #bfc130;\" href=". $link. ">Zu meinem Ampelsystem</a></br>";
|
||||
$content .= "<p align=\"center\"><br>Schönen Tag noch,</br>";
|
||||
$content .= "Sancho</p><br>";
|
||||
|
||||
//send eMail
|
||||
sendMail($to, $from, $subject, $content, $headerImg);
|
||||
}
|
||||
|
||||
//send eMail for overdue notifications
|
||||
foreach ($overdue_ampel_user_arr as $receiver)
|
||||
{
|
||||
//get data about sender
|
||||
$person = new person();
|
||||
$person->getPersonFromBenutzer($receiver['user']);
|
||||
$firstName = $person->vorname;
|
||||
|
||||
//link to notifications system site
|
||||
$link = APP_ROOT. "cis/index.php?sprache=German&content_id=&menu=".
|
||||
APP_ROOT. "cis/menu.php?content_id=&content=".
|
||||
APP_ROOT. "cis/private/tools/ampelverwaltung.php";
|
||||
|
||||
//eMail data
|
||||
$to = $receiver['user'] . '@' . DOMAIN;
|
||||
$from = 'noreply@'.DOMAIN;
|
||||
$subject = 'Bestätigen Sie bitte Ihre Ampel!';
|
||||
$headerImg = "sancho_header_deadline_ampel_overdue.jpg";
|
||||
$content = "<p align=\"center\">Hallo " . $firstName . ",</p><br>";
|
||||
$content .= "<p>diese Ampeln müssen von Ihnen noch bestätigt werden:</p><br>";
|
||||
|
||||
for ($i = 0; $i < count($receiver) - 1; $i++)
|
||||
{
|
||||
$receiver[$i]['ampel_id'];
|
||||
$content .= "<p><strong>" . strtoupper($receiver[$i]['ampel_bezeichnung']) . "</strong><br>";
|
||||
$content .= "<small><i style=\"color: #65696E;\">Die Deadline für die Bestätigung war am <span style=\"color: #FF0000;\">" . $receiver[$i]['deadline'] . "</span></i></small></p><br>";
|
||||
}
|
||||
|
||||
$content .= "<p>Sie können sie jetzt gleich in Ihrem Ampelsystem bestätigen:</p>";
|
||||
$content .= "<a style=\"color: #bfc130;\" href=\"$link\">Zu meinem Ampelsystem</a><br>";
|
||||
$content .= "<p align=\"center\"><br>Schönen Tag noch!<br>";
|
||||
$content .= "Sancho</p><br>";
|
||||
|
||||
//send eMail
|
||||
sendMail($to, $from, $subject, $content, $headerImg);
|
||||
}
|
||||
|
||||
|
||||
//************************************************************* FUNCTIONS
|
||||
function filterAmpeln($ampel_arr)
|
||||
{
|
||||
$datum = new datum();
|
||||
$now = $datum->mktime_fromdate(date('Y-m-d'));
|
||||
$arr = array();
|
||||
|
||||
foreach ($ampel_arr as $ampel)
|
||||
{
|
||||
$deadline = $datum->mktime_fromdate($ampel->deadline);
|
||||
$vorlaufzeit = $ampel->vorlaufzeit;
|
||||
$verfallszeit = $ampel->verfallszeit;
|
||||
|
||||
$datum_liegt_vor_vorlaufzeit = false;
|
||||
$datum_liegt_nach_verfallszeit = false;
|
||||
|
||||
if (!is_null($vorlaufzeit))
|
||||
$datum_liegt_vor_vorlaufzeit = $now < strtotime('-' . $vorlaufzeit . ' day', $deadline);
|
||||
|
||||
if (!is_null($verfallszeit))
|
||||
$datum_liegt_nach_verfallszeit = $now > strtotime('+' . $verfallszeit . ' day', $deadline);
|
||||
|
||||
if (!$datum_liegt_vor_vorlaufzeit && !$datum_liegt_nach_verfallszeit && $ampel->email)
|
||||
{
|
||||
$arr[] = $ampel;
|
||||
}
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
function organizeAmpelnForMail ($ampel_user_arr)
|
||||
{
|
||||
$helper_arr = array();
|
||||
$unique_user_arr = array();
|
||||
foreach ($ampel_user_arr as $ampel_user)
|
||||
{
|
||||
foreach ($ampel_user['user'] as $user)
|
||||
{
|
||||
if(!in_array($user, $helper_arr))
|
||||
{
|
||||
$helper_arr[] = $user;
|
||||
$unique_user_arr[] = array(
|
||||
'user' => $user,
|
||||
array(
|
||||
'ampel_id' => $ampel_user['ampel_id'],
|
||||
'ampel_bezeichnung' => $ampel_user['ampel_bezeichnung'],
|
||||
'deadline' => $ampel_user['deadline']));
|
||||
}
|
||||
else
|
||||
{
|
||||
$index = array_search($user, array_column($unique_user_arr, 'user'));
|
||||
$unique_user_arr[$index][] =
|
||||
array(
|
||||
'ampel_id' => $ampel_user['ampel_id'],
|
||||
'ampel_bezeichnung' => $ampel_user['ampel_bezeichnung'],
|
||||
'deadline' => $ampel_user['deadline']);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $unique_user_arr;
|
||||
}
|
||||
function sendMail($to, $from, $subject, $html_content, $headerImg = 'sancho_header_sie_haben_neue_nachrichten.jpg')
|
||||
{
|
||||
$sanchoHeader_img = APP_ROOT . "skin/images/sancho/" . $headerImg;
|
||||
$sanchoFooter_img = APP_ROOT . "skin/images/sancho/sancho_footer.jpg";
|
||||
|
||||
//mail content as plain text (fallback if html not activated)
|
||||
$plain_text = "Hallo,\n\n";
|
||||
if (!empty ($title))
|
||||
$plain_text .= strip_tags($title) . "\n\n";
|
||||
$plain_text .= "Bitte sehen Sie sich die Nachricht in HTML Sicht an, um den Inhalt vollständig darzustellen.";
|
||||
|
||||
//mail content as html text
|
||||
/*
|
||||
* no css styles in html-head (email clients picky about that)
|
||||
* tables inside tables for correct styles in different email clients
|
||||
* border-collapse and mso-table: this corrects strange behavior of outlook 2013 adding unwished extra space
|
||||
*/
|
||||
$html_text = '
|
||||
<html>
|
||||
<head>
|
||||
<title>Sancho Ampelmail</title>
|
||||
</head>
|
||||
<body><center>
|
||||
<table cellpadding="0" cellspacing="0" style="border: 2px solid #000000; padding: 0px; max-width: 850px;
|
||||
border-collapse:collapse; mso-table-lspace:0pt; mso-table-rspace:0pt;">
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" border="0">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="cid:SanchoHeader" alt="sancho_header" width="100%">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table cellpadding="0" cellspacing="0" width="100%" style="font-family: courier, verdana, sans-serif; font-size: 0.95em; border-bottom: 2px solid #000000;">
|
||||
<tr>
|
||||
<td style="padding-left: 8%; padding-right: 8%; padding-top: 5%; padding-bottom: 5%;">
|
||||
<br>' . $html_content . '</br>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center">
|
||||
<table cellpadding="0" cellspacing="0" width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<img src="cid:SanchoFooter" alt="sancho_footer" width="100%">
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</center></body>
|
||||
</html>';
|
||||
|
||||
$mail = new mail($to, $from, $subject, $plain_text);
|
||||
$mail->setHtmlContent($html_text);
|
||||
$mail->addEmbeddedImage($sanchoFooter_img, "image/jpg", "", "SanchoFooter");
|
||||
$mail->addEmbeddedImage($sanchoHeader_img, "image/jpg", "", "SanchoHeader");
|
||||
|
||||
if(!$mail->send())
|
||||
echo $p->t('global/emailNichtVersendet') . ' an ' . $to . "<br>";
|
||||
}
|
||||
|
||||
@@ -60,14 +60,27 @@ if (isset($_POST['stunde_ende']))
|
||||
else
|
||||
$stunde_ende=16;
|
||||
|
||||
if (isset($_POST['stundenplantable']))
|
||||
{
|
||||
if($_POST['stundenplantable'] == 'stundenplan')
|
||||
$stundenplantable='tbl_stundenplan';
|
||||
elseif($_POST['stundenplantable'] == 'stundenplandev')
|
||||
$stundenplantable='tbl_stundenplandev';
|
||||
else
|
||||
die('Invalid table');
|
||||
}
|
||||
else
|
||||
$stundenplantable='tbl_stundenplan';
|
||||
|
||||
$ts_beginn=mktime(0,0,0,substr($datum_beginn,5,2),substr($datum_beginn,8,2),substr($datum_beginn,0,4));
|
||||
$ts_ende=mktime(0,0,0,substr($datum_ende,5,2),substr($datum_ende,8,2),substr($datum_ende,0,4));
|
||||
|
||||
$wochen=round(($ts_ende-$ts_beginn)/(60*60*24*7));
|
||||
|
||||
if ($wochen == 0)
|
||||
$wochen = 1;
|
||||
//Stundenplandaten holen
|
||||
$sql_query="SELECT DISTINCT datum,stunde,ort_kurzbz, EXTRACT(DOW FROM datum) AS tag, max_person
|
||||
FROM lehre.tbl_stundenplan JOIN public.tbl_ort USING (ort_kurzbz)
|
||||
FROM lehre.".$stundenplantable." JOIN public.tbl_ort USING (ort_kurzbz)
|
||||
WHERE
|
||||
datum>=".$db->db_add_param($datum_beginn)."
|
||||
AND datum<=".$db->db_add_param($datum_ende)."
|
||||
@@ -108,6 +121,10 @@ while ($row=$db->db_fetch_object($result))
|
||||
|
||||
Unterrichtseinheit von:<input name="stunde_beginn" value="<?php echo $stunde_beginn; ?>" size="2" />
|
||||
bis:<input name="stunde_ende" value="<?php echo $stunde_ende; ?>" size="2" />
|
||||
Tabelle:<select name="stundenplantable">
|
||||
<option value="stundenplan" <?php echo ($stundenplantable=='tbl_stundenplan'?'selected':'');?>>Stundenplan</option>
|
||||
<option value="stundenplandev" <?php echo ($stundenplantable=='tbl_stundenplandev'?'selected':'');?>>StundenplanDEV</option>
|
||||
</select>
|
||||
<input type="submit">
|
||||
</form>
|
||||
<h2> Raumauslastung vom <?PHP echo $datum_beginn.' - '.$datum_ende.' ('.$wochen; ?> Wochen)</h2>
|
||||
@@ -135,7 +152,22 @@ while ($row=$db->db_fetch_object($result))
|
||||
?>
|
||||
</TR>
|
||||
<?php
|
||||
$anz_colors=count($cfgStdBgcolor)-1;
|
||||
|
||||
$cfgColorGreenToRed[0]='#bbffd4';
|
||||
$cfgColorGreenToRed[1]='#bfff00';
|
||||
$cfgColorGreenToRed[2]='#dfff00';
|
||||
$cfgColorGreenToRed[3]='#ffff00';
|
||||
$cfgColorGreenToRed[4]='#ffdf00';
|
||||
$cfgColorGreenToRed[5]='#ffbf00';
|
||||
$cfgColorGreenToRed[6]='#ff9f00';
|
||||
$cfgColorGreenToRed[7]='#ff7f00';
|
||||
$cfgColorGreenToRed[8]='#ff5f00';
|
||||
$cfgColorGreenToRed[9]='#ff3f00';
|
||||
$cfgColorGreenToRed[10]='#ff1f00';
|
||||
|
||||
$cfgColorRedToGreen = array_reverse($cfgColorGreenToRed);
|
||||
$anz_colors=count($cfgColorRedToGreen)-1;
|
||||
|
||||
foreach ($raum AS $ort)
|
||||
{
|
||||
echo '<TR><TD>'.$ort->ort.' ('.$ort->personen.')</TD>';
|
||||
@@ -147,7 +179,8 @@ while ($row=$db->db_fetch_object($result))
|
||||
$ort->last[$t][$s] = new stdClass();
|
||||
$ort->last[$t][$s]->anzahl=0;
|
||||
}
|
||||
$bgcolor=$cfgStdBgcolor[$anz_colors-round(($ort->last[$t][$s]->anzahl)/($wochen/$anz_colors))];
|
||||
|
||||
$bgcolor=$cfgColorRedToGreen[$anz_colors-round(($ort->last[$t][$s]->anzahl)/($wochen/$anz_colors))];
|
||||
echo '<TD bgcolor="'.$bgcolor.'">';
|
||||
echo $ort->last[$t][$s]->anzahl;
|
||||
echo '</TD>';
|
||||
|
||||
@@ -26,7 +26,7 @@ $user = get_uid();
|
||||
$basis = new basis();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($user);
|
||||
|
||||
|
||||
if(!$rechte->isBerechtigt('basis/infoscreen'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
@@ -40,7 +40,7 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<head>
|
||||
<title>Infoscreen</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||
|
||||
|
||||
<link rel="stylesheet" href="../../skin/tablesort.css" type="text/css"/>
|
||||
<link rel="stylesheet" href="../../skin/fhcomplete.css" type="text/css">
|
||||
<link rel="stylesheet" href="../../skin/vilesci.css" type="text/css">
|
||||
@@ -49,17 +49,17 @@ echo '<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<script type="text/javascript" src="../../vendor/christianbach/tablesorter/jquery.tablesorter.min.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/components/jqueryui/jquery-ui.min.js"></script>
|
||||
<script type="text/javascript" src="../../include/js/jquery.ui.datepicker.translation.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<script type="text/javascript" src="../../vendor/jquery/sizzle/sizzle.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
|
||||
$(document).ready(function()
|
||||
{
|
||||
$("#myTable").tablesorter(
|
||||
{
|
||||
sortList: [[2,0]],
|
||||
widgets: [\'zebra\']
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
);
|
||||
</script>
|
||||
</head>
|
||||
@@ -85,15 +85,15 @@ if($action=='save')
|
||||
}
|
||||
else
|
||||
$infoscreen->new = true;
|
||||
|
||||
|
||||
$infoscreen->bezeichnung = $bezeichnung;
|
||||
$infoscreen->beschreibung = $beschreibung;
|
||||
$infoscreen->ipadresse = $ipadresse;
|
||||
|
||||
|
||||
if(!$infoscreen->save())
|
||||
echo '<span class="error">',$basis->convert_html_chars($infoscreen->errormsg),'</span>';
|
||||
else
|
||||
echo '<span class="ok">Daten erfolgreich gespeichert</span>';
|
||||
echo '<span class="ok">Daten erfolgreich gespeichert</span>';
|
||||
}
|
||||
|
||||
if($action=='new' || $action=='update')
|
||||
@@ -107,7 +107,7 @@ if($action=='new' || $action=='update')
|
||||
{
|
||||
echo '<h3>Bearbeiten von ID ',$basis->convert_html_chars($infoscreen_id),'</h3>';
|
||||
if(!$infoscreen->load($infoscreen_id))
|
||||
die('Fehler: '.$infoscreen->errormsg);
|
||||
die('Fehler: '.$infoscreen->errormsg);
|
||||
}
|
||||
echo '
|
||||
<form action="',$_SERVER['PHP_SELF'],'?action=save" method="POST">
|
||||
@@ -136,13 +136,12 @@ if($action=='reboot')
|
||||
{
|
||||
if(!$rechte->isBerechtigt('admin'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
set_include_path ("../../vendor/FHC-vendor/phpseclib");
|
||||
require_once("Net/SSH2.php");
|
||||
|
||||
|
||||
require_once("../../vendor/autoload.php");
|
||||
|
||||
if(isset($_GET["ip"]) && $_GET["ip"])
|
||||
{
|
||||
$ssh = new Net_SSH2($_GET["ip"]);
|
||||
$ssh = new \phpseclib\Net\SSH2($_GET["ip"]);
|
||||
if (!$ssh->login(INFOSCREEN_USER, INFOSCREEN_PASSWORD))
|
||||
{
|
||||
exit('Login Failed');
|
||||
@@ -186,4 +185,4 @@ echo '</tbody>
|
||||
</table>
|
||||
</body>
|
||||
</html>';
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -68,7 +68,7 @@ if ($filter != '')
|
||||
// Leere Strings aus Array entfernen
|
||||
while ($array_key = array_search("", $searchItems))
|
||||
unset($searchItems[$array_key]);
|
||||
|
||||
|
||||
// Wenn Zeichen uebrig bleiben
|
||||
if (implode(',', $searchItems) != '')
|
||||
{
|
||||
@@ -138,7 +138,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
{
|
||||
$personToKeep_obj = new person();
|
||||
$personToKeep_obj->load($personToKeep);
|
||||
|
||||
|
||||
// Wenn beide Personen eine SVNR oder ein Ersatzkennzeichen haben, abbrechen
|
||||
if (($personToDelete_obj->ersatzkennzeichen != '' && $personToKeep_obj->ersatzkennzeichen != '') ||
|
||||
($personToDelete_obj->svnr != '' && $personToKeep_obj->svnr != ''))
|
||||
@@ -152,7 +152,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
// Wenn bei einer der Personen das Foto gesperrt ist, dann die Sperre uebernehmen
|
||||
if ($personToDelete_obj->foto_sperre)
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person SET foto_sperre=true WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
|
||||
|
||||
|
||||
// Wenn die zu loeschende Person ein Foto hat, und die andere nicht,
|
||||
// dann wird das Foto, die Fotosperre und die Historie des Fotostatus übernommen
|
||||
if ($personToDelete_obj->foto != '' && $personToKeep_obj->foto == '')
|
||||
@@ -170,14 +170,14 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$insertamum1 = $akte1->result[0]->insertamum;
|
||||
else
|
||||
$insertamum1 = 0;
|
||||
|
||||
|
||||
$akte2 = new akte();
|
||||
$akte2->getAkten($personToKeep, 'Lichtbil');
|
||||
if (isset($akte2->result[0]->insertamum))
|
||||
$insertamum2 = $akte2->result[0]->insertamum;
|
||||
else
|
||||
$insertamum2 = 0;
|
||||
|
||||
|
||||
// Die zu löschende Person hat ein aktuelleres Foto -> dieses nehmen
|
||||
if ($insertamum1 > $insertamum2)
|
||||
{
|
||||
@@ -216,18 +216,18 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$base64foto = base64_encode(file_get_contents($filename));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Bild in tbl_person auf 240x320 skalieren
|
||||
//$base64_src = resize($base64foto, 240, 320); Auskommentiert bis das auch im Echtsystem geht
|
||||
$base64_src = $base64foto;
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person SET foto=" . $db->db_add_param($base64_src) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
|
||||
}
|
||||
|
||||
|
||||
// Wenn Ersatzkennzeichen und Sozialversicherungsnummer vorhanden ist, beide erhalten
|
||||
// Setzen erst möglich, wenn $personToDelete_obj gelöscht
|
||||
|
||||
|
||||
$ersatzkennzeichen = '';
|
||||
if ($personToDelete_obj->ersatzkennzeichen == '' && $personToKeep_obj->ersatzkennzeichen != '')
|
||||
if ($personToDelete_obj->ersatzkennzeichen == '' && $personToKeep_obj->ersatzkennzeichen != '')
|
||||
$ersatzkennzeichen = $personToKeep_obj->ersatzkennzeichen;
|
||||
if ($personToKeep_obj->ersatzkennzeichen == '' && $personToDelete_obj->ersatzkennzeichen != '')
|
||||
$ersatzkennzeichen = $personToDelete_obj->ersatzkennzeichen;
|
||||
@@ -237,7 +237,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$sozialversicherungsnummer = $personToKeep_obj->svnr;
|
||||
if ($personToKeep_obj->svnr == '' && $personToDelete_obj->svnr != '')
|
||||
$sozialversicherungsnummer = $personToDelete_obj->svnr;
|
||||
|
||||
|
||||
// Letztbenutzten Zugangscode abfragen und übernehmen
|
||||
$zugangscode = '';
|
||||
$log = new personlog();
|
||||
@@ -246,36 +246,37 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$logZugriff1 = strtotime($log->logs[0]->zeitpunkt);
|
||||
else
|
||||
$logZugriff1 = 0;
|
||||
|
||||
|
||||
$log->getLog($personToKeep, null, null, array('name' => 'Login with code'));
|
||||
if (isset($log->logs[0]))
|
||||
$logZugriff2 = strtotime($log->logs[0]->zeitpunkt);
|
||||
else
|
||||
$logZugriff2 = 0;
|
||||
|
||||
|
||||
if ($logZugriff1 > $logZugriff2)
|
||||
$zugangscode = $personToDelete_obj->zugangscode;
|
||||
elseif ($logZugriff2 > $logZugriff1)
|
||||
$zugangscode = $personToKeep_obj->zugangscode;
|
||||
else
|
||||
$zugangscode = $personToKeep_obj->zugangscode;
|
||||
|
||||
$zugangscode = $personToKeep_obj->zugangscode;
|
||||
|
||||
// Check ob rt_person-zuordnung schon vorhanden ist
|
||||
// Wenn ja, wird der Eintrag der zu löschenden Person ebenfalls gelöscht
|
||||
$reihungstest_person = new reihungstest();
|
||||
|
||||
if (!$reihungstest_person->getReihungstestPerson($personToKeep))
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_rt_person SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
else
|
||||
|
||||
//if (!$reihungstest_person->getReihungstestPerson($personToKeep))
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_rt_person SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
/*else
|
||||
{
|
||||
$sql_query_upd1 .= "DELETE FROM public.tbl_rt_person WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$reihungstest = new reihungstest($reihungstest_person->result[0]->reihungstest_id);
|
||||
$msg_warning[] = "Das verbliebene Person ".$personToKeep." hat schon eine Reihungstestzuordnung
|
||||
zu Reihungstest ID".$reihungstest->reihungstest_id." am ".$reihungstest->datum."
|
||||
$msg_warning[] = "Das verbliebene Person ".$personToKeep." hat schon eine Reihungstestzuordnung
|
||||
zu Reihungstest ID".$reihungstest->reihungstest_id." am ".$reihungstest->datum."
|
||||
für das ".$reihungstest->studiensemester_kurzbz." im Studiengang ".$reihungstest->studiengang_kz." (Studienplan ".$reihungstest_person->result[0]->studienplan_id.")<br>
|
||||
Die Reihungstestzuordnung von ".$personToDelete." wurde gelöscht";
|
||||
}
|
||||
|
||||
}*/
|
||||
|
||||
$sql_query_upd1 .= "UPDATE addon.tbl_kompetenz SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "UPDATE lehre.tbl_abschlusspruefung SET pruefer1=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE pruefer1=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
$sql_query_upd1 .= "UPDATE lehre.tbl_abschlusspruefung SET pruefer2=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE pruefer2=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
@@ -306,10 +307,10 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$sql_query_upd1 .= "UPDATE wawi.tbl_konto SET person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . " WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
|
||||
$sql_query_upd1 .= "DELETE FROM public.tbl_person WHERE person_id=" . $db->db_add_param($personToDelete, FHC_INTEGER) . ";";
|
||||
|
||||
|
||||
// Ersatzkennzeichen und Sozialversicherungsnummer erst setzen, wenn nur mehr eine Person vorhanden ist
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person SET ersatzkennzeichen=" . $db->db_add_param($ersatzkennzeichen, FHC_STRING) . ", svnr=" . $db->db_add_param($sozialversicherungsnummer, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
|
||||
|
||||
|
||||
// Zugangscode erst setzen, wenn nur mehr eine Person vorhanden ist
|
||||
$sql_query_upd1 .= "UPDATE public.tbl_person SET zugangscode=" . $db->db_add_param($zugangscode, FHC_STRING) . " WHERE person_id=" . $db->db_add_param($personToKeep, FHC_INTEGER) . ";";
|
||||
|
||||
@@ -324,7 +325,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
'message' => 'Person with id ' . $personToDelete . ' merged into person with id ' . $personToKeep,
|
||||
'success' => 'true'
|
||||
), 'datenwartung', 'core', null, $uid);
|
||||
|
||||
|
||||
/*
|
||||
* ----------------------------------------------------------------------
|
||||
* Adressen der verbliebenen Person laden und zusammenräumen
|
||||
@@ -334,7 +335,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$adresse->load_pers($personToKeep);
|
||||
$adressArray = array();
|
||||
$adressLoeschArray = array();
|
||||
|
||||
|
||||
// Alle Adressen in ein Array schreiben
|
||||
foreach ($adresse->result AS $row)
|
||||
{
|
||||
@@ -362,7 +363,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
return $c;
|
||||
}
|
||||
usort($adressArray, "sortAdressArray");
|
||||
|
||||
|
||||
$cleanstrasse = '';
|
||||
$plz = '';
|
||||
$ort = '';
|
||||
@@ -425,12 +426,12 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
}
|
||||
if ($anzahlHeimatadressen > 1)
|
||||
$msg_error[] = "Es ist mehr als eine Adresse als Heimatadresse gekennzeichnet";
|
||||
|
||||
|
||||
/*
|
||||
* -------------------------------------------------------------------
|
||||
* Kontakte der verbliebenen Person laden und zusammenräumen
|
||||
* -------------------------------------------------------------------
|
||||
*/
|
||||
*/
|
||||
$kontakt = new kontakt();
|
||||
$kontakt->load_pers($personToKeep);
|
||||
$kontaktArray = array();
|
||||
@@ -442,7 +443,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$cleanKontakt = preg_replace("/[^0-9+]/", '', $row->kontakt);
|
||||
else
|
||||
$cleanKontakt = $row->kontakt;
|
||||
|
||||
|
||||
$kontaktArray[] = array('kontakt_id' => $row->kontakt_id,
|
||||
'cleanKontakt' => $cleanKontakt,
|
||||
'kontakttyp' => $row->kontakttyp,
|
||||
@@ -451,7 +452,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
'zustellung' => $row->zustellung
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
// Sortiert die Kontakte
|
||||
function sortKontaktArray($a, $b)
|
||||
{
|
||||
@@ -463,7 +464,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
return $c;
|
||||
}
|
||||
usort($kontaktArray, "sortKontaktArray");
|
||||
|
||||
|
||||
$cleanKontakt = '';
|
||||
$anmerkung = '';
|
||||
foreach ($kontaktArray AS $key => $value)
|
||||
@@ -505,7 +506,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$msg_warning[] = "Kontakt mit ID" . $value . " gelöscht";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* --------------------------------------------------------
|
||||
* Doppelte PreStudenten löschen
|
||||
@@ -514,14 +515,14 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$prestudenten = new prestudent();
|
||||
$prestudenten->getPrestudenten($personToKeep);
|
||||
$statusArrayWichtigeWichtige = array(); // Array mit allen PreStudentStatus die NICHT Interessent oder Abgewiesener sind
|
||||
|
||||
|
||||
foreach ($prestudenten->result AS $key => $value)
|
||||
{
|
||||
$laststatus = new prestudent();
|
||||
$laststatus->getLastStatus($value->prestudent_id);
|
||||
$prestudentStatus = new prestudent();
|
||||
$prestudentStatus->getPrestudentRolle($value->prestudent_id);
|
||||
|
||||
|
||||
foreach ($prestudentStatus->result AS $row)
|
||||
{
|
||||
if ($row->status_kurzbz != 'Interessent' && $row->status_kurzbz != 'Abgewiesener')
|
||||
@@ -529,7 +530,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
}
|
||||
if (isset($statusArrayWichtige[$value->prestudent_id]))
|
||||
$statusArrayWichtige[$value->prestudent_id] = array_unique($statusArrayWichtige[$value->prestudent_id]);
|
||||
|
||||
|
||||
$studiengang = new studiengang($value->studiengang_kz);
|
||||
$prestudenten->result[$key]->studiensemester_kurzbz = $laststatus->studiensemester_kurzbz;
|
||||
$prestudenten->result[$key]->orgform_kurzbz = $laststatus->orgform_kurzbz;
|
||||
@@ -540,16 +541,16 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$prestudenten->result[$key]->studiengang_typ = $studiengang->typ;
|
||||
$prestudenten->result[$key]->anzahlStatus = $prestudentStatus->num_rows;
|
||||
}
|
||||
|
||||
|
||||
$statusreihenfolge = array('Aufgenommener','Wartender','Bewerber','Interessent','Abgewiesener');
|
||||
|
||||
|
||||
function sortPrestudents($a, $b)
|
||||
{
|
||||
global $statusreihenfolge;
|
||||
$c = $a->studiengang_kz - $b->studiengang_kz;
|
||||
$c .= strcmp(strtolower($b->studiensemester_kurzbz), strtolower($a->studiensemester_kurzbz));
|
||||
$c .= strcmp(strtolower($b->orgform_kurzbz), strtolower($a->orgform_kurzbz));
|
||||
|
||||
|
||||
// Sortiert den Status nach der vorgegebenen Liste $statusreihenfolge
|
||||
$x = array_search($a->status_kurzbz, $statusreihenfolge);
|
||||
$y = array_search($b->status_kurzbz, $statusreihenfolge);
|
||||
@@ -569,7 +570,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
{
|
||||
$c .= $x - $y;
|
||||
}
|
||||
|
||||
|
||||
$c .= $b->anzahlStatus - $a->anzahlStatus;
|
||||
$c .= $b->bestaetigtam - $a->bestaetigtam;
|
||||
$c .= $b->bewerbung_abgeschicktamum - $a->bewerbung_abgeschicktamum;
|
||||
@@ -584,9 +585,9 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$c .= strcmp(strtolower($b->zgvnation), strtolower($a->zgvnation));
|
||||
return $c;
|
||||
}
|
||||
|
||||
|
||||
usort($prestudenten->result, "sortPrestudents");
|
||||
|
||||
|
||||
$prestudentenArray = array();
|
||||
$kontaktLoeschArray = array();
|
||||
foreach ($prestudenten->result AS $row)
|
||||
@@ -621,7 +622,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
*
|
||||
* Wenn ein PreStudent in seiner Historie ausschließlich Interessent und Abgewiesener hat,
|
||||
* wird einer gelöscht. Bei allen anderen wird eine Warnung ausgegeben
|
||||
*
|
||||
*
|
||||
*/
|
||||
$studiengang_kz = '';
|
||||
$anmerkung = '';
|
||||
@@ -746,7 +747,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$zgvmanation = $value['zgvmanation'];
|
||||
$previousKey = $key;
|
||||
}
|
||||
|
||||
|
||||
// Messages in $msg_warning schreiben
|
||||
$messageOutput = '';
|
||||
if (isset($warningList['zgvUnklar']))
|
||||
@@ -755,7 +756,7 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
{
|
||||
$messageOutput .= '<div>Bei Prestudent ID '.$verbleibenderPrestudent.' sind widersprüchliche ZGV-Angaben vorhanden.
|
||||
<br>Folgende ZGV-Daten sind bei anderen PreStudenten gespeichert:<br>';
|
||||
|
||||
|
||||
foreach ($gefundeneZgv as $key => $zgvArray)
|
||||
{
|
||||
foreach ($zgvArray as $zgv => $wert)
|
||||
@@ -767,16 +768,16 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$messageOutput .= '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$msg_warning[] = $messageOutput;
|
||||
$messageOutput = '';
|
||||
|
||||
|
||||
if (isset($warningList['statusUnklar']))
|
||||
{
|
||||
foreach ($warningList['statusUnklar'] as $key => $value)
|
||||
{
|
||||
$messageOutput .= '<div>Bei folgenden PreStudenten ist der Status widersprüchlich oder unklar:<br>';
|
||||
|
||||
|
||||
foreach ($value as $key => $presstudentid)
|
||||
{
|
||||
$messageOutput .= ' '.$presstudentid.'<br>';
|
||||
@@ -784,9 +785,9 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
$messageOutput .= '</div>';
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
$msg_warning[] = $messageOutput;
|
||||
|
||||
|
||||
// Prestudenten in $prestudentLoeschArray löschen
|
||||
foreach ($prestudentLoeschArray AS $key => $value)
|
||||
{
|
||||
@@ -803,12 +804,12 @@ if (isset($personToDelete) && isset($personToKeep) && $personToDelete >= 0 && $p
|
||||
//Rollen laden und einzeln löschen
|
||||
$prestudentenRollen = new prestudent();
|
||||
$prestudentenRollen->getPrestudentRolle($value);
|
||||
|
||||
|
||||
foreach ($prestudentenRollen->result as $row)
|
||||
{
|
||||
$prestudentenRollen->delete_rolle($row->prestudent_id, $row->status_kurzbz, $row->studiensemester_kurzbz, $row->ausbildungssemester);
|
||||
}
|
||||
|
||||
|
||||
if (!$prestudentenRollen->deletePrestudent($value))
|
||||
$msg_error[] = 'Fehler beim Löschen des Prestudenten '.$value;
|
||||
else
|
||||
@@ -841,10 +842,10 @@ function resize($base64, $width, $height) // 828 x 1104 -> 240 x 320
|
||||
{
|
||||
ob_start();
|
||||
$image = imagecreatefromstring(base64_decode($base64));
|
||||
|
||||
|
||||
// Hoehe und Breite neu berechnen
|
||||
list ($width_orig, $height_orig) = getimagesizefromstring(base64_decode($base64));
|
||||
|
||||
|
||||
if ($width && ($width_orig < $height_orig))
|
||||
{
|
||||
$width = intval(($height / $height_orig) * $width_orig);
|
||||
@@ -853,21 +854,21 @@ function resize($base64, $width, $height) // 828 x 1104 -> 240 x 320
|
||||
{
|
||||
$height = intval(($width / $width_orig) * $height_orig);
|
||||
}
|
||||
|
||||
|
||||
$image_p = imagecreatetruecolor($width, $height);
|
||||
// $image = imagecreatefromjpeg($filename);
|
||||
|
||||
|
||||
// Bild nur verkleinern aber nicht vergroessern
|
||||
if ($width_orig > $width || $height_orig > $height)
|
||||
imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);
|
||||
else
|
||||
$image_p = $image;
|
||||
|
||||
|
||||
imagejpeg($image_p);
|
||||
$retval = ob_get_contents();
|
||||
ob_end_clean();
|
||||
$retval = base64_encode($retval);
|
||||
|
||||
|
||||
@imagedestroy($image_p);
|
||||
@imagedestroy($image);
|
||||
return $retval;
|
||||
@@ -992,7 +993,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
{
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll('typ, kurzbz', false);
|
||||
|
||||
|
||||
/*
|
||||
* echo '<br>
|
||||
* <center>
|
||||
@@ -1022,15 +1023,15 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
}
|
||||
}
|
||||
echo '<br><br><div contenteditable="true" style="width: 100%; height : 150px; border : 1px dotted grey; overflow-y:auto; text-align: left; font-size: 9pt">' . $messageOutput . '</div><br>';
|
||||
|
||||
|
||||
// Tabellen anzeigen
|
||||
echo '<form name="form_table" action="personen_wartung.php?filter=' . $db->convert_html_chars($filter) . '" method="POST">';
|
||||
echo '<div style="text-align: center"><input type="submit" value="Zusammenlegen" class="button" onclick="return checkPersonen()"></div>';
|
||||
echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>";
|
||||
echo "<tr>";
|
||||
|
||||
|
||||
echo '<td valign="top" style="text-align: center;"><span style="font-size: 1.5em; font-style: bold; color: red;">Person wird gelöscht:</span>';
|
||||
|
||||
|
||||
// Tabelle 1
|
||||
echo '<table id="t1" class="tablesorter" style="padding-right: 5px"><thead><tr>';
|
||||
echo "<th>ID</th>";
|
||||
@@ -1042,7 +1043,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
echo "<th>Ersatzkennz.</th>";
|
||||
echo "<th>Rollen</th>";
|
||||
echo "<th> </th></tr></thead><tbody>";
|
||||
|
||||
|
||||
// Wenn Person IDs uebergeben werden, werden diese geladen
|
||||
if ($person_id_1 != '' && $person_id_2 != '')
|
||||
{
|
||||
@@ -1055,7 +1056,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
$person = new person();
|
||||
$person->getTab($filter);
|
||||
}
|
||||
|
||||
|
||||
$i = 0;
|
||||
foreach ($person->personen as $l)
|
||||
{
|
||||
@@ -1076,13 +1077,13 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
$style = 'color: grey;';
|
||||
elseif ($laststatus->status_kurzbz == 'Student')
|
||||
$style = 'color: green;';
|
||||
|
||||
|
||||
if (isset($laststatus->status_mehrsprachig[DEFAULT_LANGUAGE]))
|
||||
$status = $laststatus->status_mehrsprachig[DEFAULT_LANGUAGE];
|
||||
else
|
||||
else
|
||||
$status = $laststatus->status_kurzbz;
|
||||
|
||||
$rollen .= '<li><span style="'.$style.'">'.$status.'</span> ('.$studiengang->kuerzel_arr[$row->studiengang_kz].' '.$laststatus->ausbildungssemester.'. Semester '.$laststatus->studiensemester_kurzbz.')</li>';
|
||||
|
||||
$rollen .= '<li><span style="'.$style.'">'.$status.'</span> ('.$studiengang->kuerzel_arr[$row->studiengang_kz].' '.$laststatus->ausbildungssemester.'. Semester '.$laststatus->studiensemester_kurzbz.')</li>';
|
||||
}
|
||||
}
|
||||
// Benutzer laden
|
||||
@@ -1098,7 +1099,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
}
|
||||
}
|
||||
$rollen .= '</ul>';
|
||||
|
||||
|
||||
echo "<tr>";
|
||||
echo "<td>$l->person_id</td>";
|
||||
echo '<td>'.($l->foto != '' ? '<img id="imgLeft_'.$l->person_id.'" src="../../content/bild.php?src=person&person_id='.$l->person_id.'" style="height: 50px; max-width: 38px" onclick="changeImageSize(\'imgLeft_'.$l->person_id.'\')">':'').'</td>';
|
||||
@@ -1116,7 +1117,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
echo "</td>";
|
||||
// echo '<td valign="top"></td>';
|
||||
echo '<td valign="top" style="text-align: center;"><span style="font-size: 1.5em; font-style: bold; color: green;">Person bleibt:</span>';
|
||||
|
||||
|
||||
// Tabelle 2
|
||||
echo '<table id="t2" class="tablesorter" style="padding-left: 5px"><thead><tr>';
|
||||
echo "<th> </th>";
|
||||
@@ -1129,7 +1130,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
echo "<th>Ersatzkennz.</th>";
|
||||
echo "<th>Rollen</th>";
|
||||
echo "</tr></thead><tbody>";
|
||||
|
||||
|
||||
// Wenn Person IDs uebergeben werden, werden diese geladen
|
||||
if ($person_id_1 != '' && $person_id_2 != '')
|
||||
{
|
||||
@@ -1142,7 +1143,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
$person = new person();
|
||||
$person->getTab($filter);
|
||||
}
|
||||
|
||||
|
||||
$i = 0;
|
||||
foreach ($person->personen as $l)
|
||||
{
|
||||
@@ -1163,12 +1164,12 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
$style = 'color: grey;';
|
||||
elseif ($laststatus->status_kurzbz == 'Student')
|
||||
$style = 'color: green;';
|
||||
|
||||
|
||||
if (isset($laststatus->status_mehrsprachig[DEFAULT_LANGUAGE]))
|
||||
$status = $laststatus->status_mehrsprachig[DEFAULT_LANGUAGE];
|
||||
else
|
||||
$status = $laststatus->status_kurzbz;
|
||||
|
||||
|
||||
$rollen .= '<li><span style="'.$style.'">'.$status.'</span> ('.$studiengang->kuerzel_arr[$row->studiengang_kz].' '.$laststatus->ausbildungssemester.'. Semester '.$laststatus->studiensemester_kurzbz.')</li>';
|
||||
}
|
||||
}
|
||||
@@ -1185,7 +1186,7 @@ if ($filter != '' || ($person_id_1 != '' && $person_id_2 != ''))
|
||||
}
|
||||
}
|
||||
$rollen .= '</ul>';
|
||||
|
||||
|
||||
echo "<tr>";
|
||||
echo "<td><input type='radio' name='radio_2' id='radio_2_$l->person_id' value='$l->person_id' " . ((isset($personToKeep) && $personToKeep == $l->person_id) ? 'checked' : '') . " onclick='enable(\"radio_2\"); disable(\"radio_1_$l->person_id\")'></td>";
|
||||
echo "<td>$l->person_id</td>";
|
||||
|
||||
@@ -1,254 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2012 FH Technikum-Wien
|
||||
*
|
||||
* 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 Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Webdav Directory fuer DMS
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/../include/dms.class.php');
|
||||
require_once(dirname(__FILE__).'/../include/benutzerberechtigung.class.php');
|
||||
|
||||
class DMSDirectory extends Sabre_DAV_Collection
|
||||
{
|
||||
private $myPath;
|
||||
private $kategorie_kurzbz;
|
||||
private $kategorie_bezeichnung;
|
||||
private $auth;
|
||||
|
||||
function __construct($myPath, $auth=null)
|
||||
{
|
||||
if($myPath=='')
|
||||
{
|
||||
$this->kategorie_kurzbz=null;
|
||||
$this->kategorie_bezeichnung='';
|
||||
$this->myPath='/';
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->myPath = $myPath;
|
||||
//KategorieKurzbz ermitteln
|
||||
$this->kategorie_kurzbz = $this->getKategorie($myPath);
|
||||
|
||||
//Kategorie Bezeichnung ermitteln
|
||||
$this->kategorie_bezeichnung = mb_substr($myPath,mb_strrpos($myPath,"/"));
|
||||
}
|
||||
$this->auth = $auth;
|
||||
}
|
||||
|
||||
function getUser()
|
||||
{
|
||||
return $this->auth->getCurrentUser();
|
||||
}
|
||||
|
||||
/**
|
||||
* ermittelt die Kategorie Kurzbz aus dem Pfadnamen
|
||||
*
|
||||
*/
|
||||
function getKategorie($path)
|
||||
{
|
||||
$parts = explode("/",$path);
|
||||
|
||||
$parent = null;
|
||||
foreach($parts as $kat)
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->getKategorieFromBezeichnung($kat, $parent);
|
||||
if(isset($dms->result[0]))
|
||||
$parent = $dms->result[0]->kategorie_kurzbz;
|
||||
//else
|
||||
// error_log("error katbezsearch kat: $kat parent: $parent");
|
||||
}
|
||||
return $parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Kindelemente des Ordners / der Kategorie
|
||||
*/
|
||||
function getChildren()
|
||||
{
|
||||
$dms = new dms();
|
||||
|
||||
//Kategorien holen
|
||||
$dms->getKategorie($this->kategorie_kurzbz);
|
||||
$children = array();
|
||||
// Loop through the directory, and create objects for each node
|
||||
foreach($dms->result as $row)
|
||||
{
|
||||
if($dms->isBerechtigtKategorie($row->kategorie_kurzbz, $this->getUser()))
|
||||
$children[] = $this->getChild($row->bezeichnung);
|
||||
}
|
||||
|
||||
if($this->kategorie_kurzbz!='')
|
||||
{
|
||||
//Dokumente holen
|
||||
$dms->getDocuments($this->kategorie_kurzbz);
|
||||
foreach($dms->result as $row)
|
||||
{
|
||||
if(!$dms->isLocked($row->dms_id) || $dms->isBerechtigt($row->dms_id, $this->getUser()))
|
||||
{
|
||||
$children[] = $this->getChild($row->name);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $children;
|
||||
}
|
||||
|
||||
/**
|
||||
* Holt das Objekt mit dem entsprechenden Namen
|
||||
*/
|
||||
function getChild($name)
|
||||
{
|
||||
if($name!='')
|
||||
{
|
||||
$dms = new dms();
|
||||
if($dms->getDocumentFromName($name, $this->kategorie_kurzbz) && count($dms->result)>0)
|
||||
return new DMSFile($this->myPath.'/'.$name, $this->auth);
|
||||
elseif($dms->getKategorieFromBezeichnung($name, $this->kategorie_kurzbz) && count($dms->result)>0)
|
||||
return new DMSDirectory($this->myPath.'/'.$name, $this->auth);
|
||||
else
|
||||
{
|
||||
// We have to throw a FileNotFound exception if the file didn't exist
|
||||
throw new Sabre_DAV_Exception_FileNotFound('The file with name: ' . $name . ' could not be found');
|
||||
}
|
||||
}
|
||||
else
|
||||
return new DMSDirectory($this->myPath.'/'.$name,$this->auth);
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob ein Kindelement mit dem Namen existiert
|
||||
*/
|
||||
function childExists($name)
|
||||
{
|
||||
$dms = new dms();
|
||||
if($dms->getDocumentFromName($name, $this->kategorie_kurzbz) && count($dms->result)>0)
|
||||
return true;
|
||||
elseif($dms->getKategorieFromBezeichnung($name, $this->kategorie_kurzbz) && count($dms->result)>0)
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Namen der Kategorie / des Ordners
|
||||
*/
|
||||
function getName()
|
||||
{
|
||||
return $this->kategorie_bezeichnung;
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht die Kategorie / den Ordner
|
||||
*/
|
||||
function delete()
|
||||
{
|
||||
$dms = new dms();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($this->getUser());
|
||||
if($rechte->isBerechtigt('basis/dms',null, 'suid'))
|
||||
{
|
||||
if(!$dms->deleteKategorie($this->kategorie_kurzbz))
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed('Failed '.$dms->errormsg);
|
||||
}
|
||||
else
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed('Keine Berechtigung');
|
||||
}
|
||||
|
||||
/**
|
||||
* Aendert den Namen einer Kategorie
|
||||
* @oaram $newName
|
||||
*/
|
||||
function setName($newName)
|
||||
{
|
||||
$dms = new dms();
|
||||
if($dms->loadKategorie($this->kategorie_kurzbz))
|
||||
{
|
||||
$dms->bezeichnung = $newName;
|
||||
$dms->kategorie_kurzbz = $newName;
|
||||
$dms->beschreibung = $newName;
|
||||
$this->kategorie_bezeichnung = $newName;
|
||||
if(!$dms->saveKategorie(false))
|
||||
{
|
||||
throw new Sabre_DAV_Exception_FileNotFound('Rename Failed');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Sabre_DAV_Exception_FileNotFound('Directory not found');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt eine neue Datei
|
||||
*/
|
||||
function createFile($name, $data=null)
|
||||
{
|
||||
$dms = new dms();
|
||||
$pos = mb_strrpos($name,'.')+1;
|
||||
if($pos>1)
|
||||
$ext = '.'.mb_substr($name, $pos);
|
||||
else
|
||||
$ext ='';
|
||||
$filename=uniqid().$ext;
|
||||
$dms->version='0';
|
||||
$dms->kategorie_kurzbz=$this->kategorie_kurzbz;
|
||||
$dms->insertamum=date('Y-m-d H:i:s');
|
||||
$dms->insertvon = $this->getUser();
|
||||
//$dms->mimetype= mime_content_type(IMPORT_PATH.$importFile);
|
||||
$dms->filename = $filename;
|
||||
$dms->name = $name;
|
||||
|
||||
if($dms->save(true))
|
||||
{
|
||||
file_put_contents(DMS_PATH.$filename, $data);
|
||||
if(!chgrp(DMS_PATH.$filename,'dms'))
|
||||
echo 'CHGRP failed';
|
||||
if(!chmod(DMS_PATH.$filename, 0774))
|
||||
echo 'CHMOD failed';
|
||||
exec('sudo chown wwwrun '.$filename);
|
||||
}
|
||||
else
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed('Failed '.$dms->errormsg);
|
||||
}
|
||||
|
||||
/**
|
||||
* Erstellt ein neues Directory / Kategorie
|
||||
* @param name Name des Ordners
|
||||
*/
|
||||
function CreateDirectory($name)
|
||||
{
|
||||
$dms = new dms();
|
||||
if(!$dms->loadKategorie($name))
|
||||
{
|
||||
$dms->kategorie_kurzbz=$name;
|
||||
$dms->bezeichnung = $name;
|
||||
$dms->beschreibung = $name;
|
||||
$dms->parent_kategorie_kurzbz = $this->kategorie_kurzbz;
|
||||
|
||||
if(!$dms->saveKategorie(true))
|
||||
{
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed('Failed '.$dms->errormsg);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed('Directory already exists');
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,229 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2012 FH Technikum-Wien
|
||||
*
|
||||
* 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 Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Webdav File fuer DMS
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/../include/dms.class.php');
|
||||
require_once(dirname(__FILE__).'/../include/datum.class.php');
|
||||
require_once(dirname(__FILE__).'/../include/benutzerberechtigung.class.php');
|
||||
|
||||
class DMSFile extends Sabre_DAV_File
|
||||
{
|
||||
private $myPath;
|
||||
private $kategorie_kurzbz;
|
||||
private $name;
|
||||
private $dms_id;
|
||||
private $auth;
|
||||
|
||||
function __construct($myPath, $auth=null)
|
||||
{
|
||||
$this->myPath = $myPath;
|
||||
//Dateinamen ermitteln
|
||||
$this->name = mb_substr($myPath, mb_strrpos($myPath,"/")+1);
|
||||
//Kategorie ermitteln
|
||||
$katpath = mb_substr($myPath,0,mb_strrpos($myPath,"/"));
|
||||
$this->kategorie_kurzbz = $this->getKategorie($katpath);
|
||||
|
||||
//DMS ID ermitteln
|
||||
$dms = new dms();
|
||||
$dms->getDocumentFromName($this->name, $this->kategorie_kurzbz);
|
||||
if(isset($dms->result[0]))
|
||||
$this->dms_id = $dms->result[0]->dms_id;
|
||||
//else
|
||||
// error_log("fileNotFound $this->name in kat $this->kategorie_kurzbz");
|
||||
|
||||
$this->auth = $auth;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den eingeloggten User
|
||||
*/
|
||||
function getUser()
|
||||
{
|
||||
return $this->auth->getCurrentUser();
|
||||
}
|
||||
|
||||
/**
|
||||
* Parst die Kategorie aus dem Pfad
|
||||
*/
|
||||
function getKategorie($path)
|
||||
{
|
||||
$parts = explode($path, "/");
|
||||
|
||||
$parent = null;
|
||||
foreach($parts as $kat)
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->getKategorieFromBezeichnung($kat, $parent);
|
||||
if(isset($dms->result[0]))
|
||||
$parent = $dms->result[0]->kategorie_kurzbz;
|
||||
}
|
||||
return $parent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den Dateinamen
|
||||
*/
|
||||
function getName()
|
||||
{
|
||||
return $this->name;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Datei
|
||||
*/
|
||||
function get()
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->load($this->dms_id);
|
||||
return fopen(DMS_PATH.$dms->filename,'r');
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Dateigroesse
|
||||
*/
|
||||
function getSize()
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->load($this->dms_id);
|
||||
return filesize(DMS_PATH.$dms->filename);
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert einen eindeutige Identifier fuer die Datei
|
||||
*/
|
||||
function getETag()
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->load($this->dms_id);
|
||||
return '"' . md5_file(DMS_PATH.$dms->filename) . '"';
|
||||
}
|
||||
|
||||
/**
|
||||
* Entfernt eine Datei
|
||||
*/
|
||||
function delete()
|
||||
{
|
||||
$dms = new dms();
|
||||
$rechte = new benutzerberechtigung();
|
||||
$rechte->getBerechtigungen($this->getUser());
|
||||
|
||||
if($rechte->isBerechtigt('basis/dms',null,'suid'))
|
||||
{
|
||||
$dms->load($this->dms_id);
|
||||
if(!$dms->deleteDms($this->dms_id))
|
||||
{
|
||||
throw new Sabre_DAV_Exception_FileNotFound('Failed '.$dms->errormsg);
|
||||
}
|
||||
else
|
||||
{
|
||||
unlink(DMS_PATH.$dms->filename);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Sabre_DAV_Exception_MethodNotAllowed('Keine Berechtigung');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Benennt eine Datei um
|
||||
*/
|
||||
function setName($newName)
|
||||
{
|
||||
$dms = new dms();
|
||||
if($dms->load($this->dms_id))
|
||||
{
|
||||
$dms->updateamum = date('Y-m-d H:i:s');
|
||||
$dms->updatevon = $this->getUser();
|
||||
$dms->name = $newName;
|
||||
if(!$dms->save(false))
|
||||
{
|
||||
throw new Sabre_DAV_Exception_FileNotFound('Failed '.$dms->errormsg);
|
||||
}
|
||||
else
|
||||
$this->name = $newName;
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Sabre_DAV_Exception_FileNotFound('Failed '.$dms->errormsg);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert Timestamp der letzten Aenderung
|
||||
*/
|
||||
function getLastModified()
|
||||
{
|
||||
$dms = new dms();
|
||||
$dms->load($this->dms_id);
|
||||
$datum = new datum();
|
||||
if($dms->updateamum!='')
|
||||
$ts = $datum->mktime_fromtimestamp($dms->updateamum);
|
||||
else
|
||||
$ts = $datum->mktime_fromtimestamp($dms->insertamum);
|
||||
return $ts;
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert Daten in eine Datei
|
||||
* @param $data
|
||||
*/
|
||||
function put($data)
|
||||
{
|
||||
$dms = new dms();
|
||||
if($dms->load($this->dms_id))
|
||||
{
|
||||
$dms->version = $dms->version++;
|
||||
|
||||
$pos = mb_strrpos($dms->name,'.')+1;
|
||||
if($pos>1)
|
||||
$ext = '.'.mb_substr($dms->name, $pos);
|
||||
else
|
||||
$ext ='';
|
||||
$filename=uniqid().$ext;
|
||||
$dms->version++;
|
||||
$dms->insertamum=date('Y-m-d H:i:s');
|
||||
$dms->insertvon = $this->getUser();
|
||||
$dms->filename = $filename;
|
||||
|
||||
if($dms->save(true))
|
||||
{
|
||||
if(file_put_contents(DMS_PATH.$filename, $data))
|
||||
{
|
||||
if(!chgrp(DMS_PATH.$filename,'dms'))
|
||||
echo 'CHGRP failed';
|
||||
if(!chmod(DMS_PATH.$filename, 0774))
|
||||
echo 'CHMOD failed';
|
||||
exec('sudo chown wwwrun '.$filename);
|
||||
|
||||
$dms->save(false);
|
||||
}
|
||||
else
|
||||
throw new Sabre_DAV_Exception_FileNotFound('Failed to Write File');
|
||||
}
|
||||
else
|
||||
{
|
||||
throw new Sabre_DAV_Exception_FileNotFound('Failed '.$dms->errormsg);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
@@ -1,64 +0,0 @@
|
||||
<?php
|
||||
/* Copyright (C) 2012 FH Technikum-Wien
|
||||
*
|
||||
* 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 Oesterreicher <andreas.oesterreicher@technikum-wien.at>
|
||||
*/
|
||||
/**
|
||||
* Webdav Server fuer DMS-Zugriff
|
||||
*/
|
||||
require_once('../config/cis.config.inc.php');
|
||||
require_once('../include/sabredav/lib/Sabre/autoload.php');
|
||||
//require_once('../../../sabredav161/SabreDAV/lib/Sabre/autoload.php');
|
||||
require_once('DMSdirectory.class.php');
|
||||
require_once('DMSfile.class.php');
|
||||
require_once('auth.class.php');
|
||||
|
||||
$authBackend = new MyAuth();
|
||||
// Creating the plugin. We're assuming that the realm
|
||||
// name is called 'SabreDAV'.
|
||||
$authPlugin = new Sabre_DAV_Auth_Plugin($authBackend,'FHTW');
|
||||
|
||||
// Change public to something else, if you are using a different directory for your files
|
||||
$rootDirectory = new DMSDirectory('',$authPlugin);
|
||||
|
||||
// The server object is responsible for making sense out of the WebDAV protocol
|
||||
$server = new Sabre_DAV_Server($rootDirectory);
|
||||
|
||||
// Adding the plugin to the server
|
||||
$server->addPlugin($authPlugin);
|
||||
|
||||
// If your server is not on your webroot, make sure the following line has the correct information
|
||||
|
||||
// $server->setBaseUri('/~evert/mydavfolder'); // if its in some kind of home directory
|
||||
// $server->setBaseUri('/dav/index.php/'); // if you can't use mod_rewrite, use index.php as a base uri
|
||||
// $server->setBaseUri('/'); // ideally, SabreDAV lives on a root directory with mod_rewrite sending every request to index.php
|
||||
$path = str_replace($_SERVER['DOCUMENT_ROOT'],'',__FILE__).'/';
|
||||
$server->setBaseUri($path);
|
||||
|
||||
// The lock manager is reponsible for making sure users don't overwrite each others changes. Change 'data' to a different
|
||||
// directory, if you're storing your data somewhere else.
|
||||
$lockBackend = new Sabre_DAV_Locks_Backend_File('data/locks');
|
||||
$lockPlugin = new Sabre_DAV_Locks_Plugin($lockBackend);
|
||||
$server->addPlugin($lockPlugin);
|
||||
|
||||
//GUI fuer Browser
|
||||
$browser = new Sabre_DAV_Browser_Plugin();
|
||||
$server->addPlugin($browser);
|
||||
|
||||
// All we need to do now, is to fire up the server
|
||||
$server->exec();
|
||||
?>
|
||||
Reference in New Issue
Block a user