Merge remote-tracking branch 'origin/master'

This commit is contained in:
Manfred Kindl
2018-10-08 14:34:03 +02:00
27 changed files with 600 additions and 321 deletions
+1 -1
View File
@@ -66,7 +66,7 @@ function sendSanchoMail($vorlage_kurzbz, $vorlage_data, $to, $subject, $headerIm
$body = _parseMailContent('Sancho_Mail_Template', $layout);
// Send mail
$ci->maillib->send('sancho@'. DOMAIN, $to, $subject, $body);
$ci->maillib->send('sancho@'. DOMAIN, $to, $subject, $body, $alias = '', $cc = null, $bcc = null, $altMessage = '', $bulk = true, $autogenerated = true);
}
/**
+7 -2
View File
@@ -19,7 +19,7 @@ class MailLib
* Class constructor
*/
public function __construct()
{
{
// Set the counter to 0
$this->sended = 0;
@@ -46,7 +46,7 @@ class MailLib
/**
* Sends a single email
*/
public function send($from, $to, $subject, $message, $alias = '', $cc = null, $bcc = null, $altMessage = '')
public function send($from, $to, $subject, $message, $alias = '', $cc = null, $bcc = null, $altMessage = '', $bulk = false, $autogenerated = false)
{
// If from is not specified then use the standard one
if (is_null($from) || $from == '')
@@ -90,6 +90,11 @@ class MailLib
$this->ci->email->message($message);
if (!isEmptyString($altMessage)) $this->ci->email->set_alt_message($altMessage);
if($bulk)
$this->ci->email->set_header('Precedence', 'bulk');
if($autogenerated)
$this->ci->email->set_header('Auto-Submitted', 'auto-generated');
// Avoid printing on standard output ugly error messages
$result = @$this->ci->email->send();
@@ -14,11 +14,11 @@ class Lehrveranstaltung_model extends DB_Model
/**
* Gets unique Groupstrings for Lehrveranstaltungen, e.g. WS2018_BIF_1_PRJM_VZ_LV12345
* @param $studiensemester_kurzbz
* @param null $ausbildungssemester
* @param null $studiengang_kz
* @param null $lehrveranstaltung_ids
* @return StdClass
* @param string $studiensemester_kurzbz
* @param string $ausbildungssemester
* @param string $studiengang_kz
* @param string|array $lehrveranstaltung_ids
* @return array|null
*/
public function getLehrveranstaltungGroupNames($studiensemester_kurzbz, $ausbildungssemester = null, $studiengang_kz = null, $lehrveranstaltung_ids = null)
{
@@ -119,7 +119,7 @@ class Organisationseinheit_model extends DB_Model
/**
* Liefert die ChildNodes einer Organisationseinheit
* @param $oe_kurzbz
* @param bool $includeinactive - wether to include inactive parent oes
* @param bool $includeinactive wether to include inactive parent oes
* @return array mit den Childs inkl dem Uebergebenen Element
*/
public function getChilds($oe_kurzbz, $includeinactive = false)
@@ -131,19 +131,20 @@ class Organisationseinheit_model extends DB_Model
WHERE oe_kurzbz=? %s
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz %s
)
SELECT oe_kurzbz
FROM oes
GROUP BY oe_kurzbz;";
return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz));
$aktivstring = $includeinactive === true ? "" : "AND aktiv = true";
return $this->execQuery(sprintf($query, $aktivstring, $aktivstring), array($oe_kurzbz));
}
/**
* Liefert die OEs die im Tree ueberhalb der uebergebene OE liegen
* @param $oe_kurzbz
* @param bool $includeinactive - wether to include inactive parent oes
* @param bool $includeinactive wether to include inactive parent oes
* @return array|null
*/
public function getParents($oe_kurzbz, $includeinactive = false)
@@ -155,12 +156,13 @@ class Organisationseinheit_model extends DB_Model
WHERE oe_kurzbz=? %s
UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz and aktiv = true
WHERE o.oe_kurzbz=oes.oe_parent_kurzbz %s
)
SELECT oe_kurzbz
FROM oes";
return $this->execQuery(sprintf($query, $includeinactive === true ? "" : "AND aktiv = true"), array($oe_kurzbz));
$aktivstring = $includeinactive === true ? "" : "AND aktiv = true";
return $this->execQuery(sprintf($query, $aktivstring, $aktivstring), array($oe_kurzbz));
}
}
@@ -25,13 +25,14 @@ class Benutzerfunktion_model extends DB_Model
/**
* Gets all Benutzer for a given OE and specified Benutzerfunktionen
* @param $funktion_kurzbz string with one benutzerfunktionname or array with one or more
* @param $oe_kurzbz
* @param bool $activeoeonly if true, retrieve only active Organisationseinheiten
* @param bool $activebenonly if true, retrieve only active Benutzer
* @param string $funktion_kurzbz String with one benutzerfunktionname or array with one or more.
* @param string $oe_kurzbz
* @param bool $activeoeonly If true, retrieve only active Organisationseinheiten.
* @param bool $activebenonly If true, retrieve only active Benutzer.
* @param bool $oerecursive If true, retrieve all oes under given oe_kurzbz recursively.
* @return array|null
*/
public function getBenutzerFunktionen($funktion_kurzbz, $oe_kurzbz = null, $activeoeonly = false, $activebenonly = false)
public function getBenutzerFunktionen($funktion_kurzbz, $oe_kurzbz = null, $activeoeonly = false, $activebenonly = false, $oerecursive = false)
{
$parametersArray = array();
@@ -57,7 +58,35 @@ class Benutzerfunktion_model extends DB_Model
if (is_string($oe_kurzbz))
{
$query .= " AND tbl_benutzerfunktion.oe_kurzbz = ?";
if ($oerecursive === true)
{
$query .=
" AND oe_kurzbz IN
(
WITH RECURSIVE oes(oe_kurzbz, oe_parent_kurzbz, aktiv) as
(
SELECT oe_kurzbz, oe_parent_kurzbz, aktiv FROM public.tbl_organisationseinheit
WHERE oe_kurzbz=?";
if ($activeoeonly === true)
$query .= " AND aktiv=true";
$query .=
" UNION ALL
SELECT o.oe_kurzbz, o.oe_parent_kurzbz, o.aktiv FROM public.tbl_organisationseinheit o, oes
WHERE o.oe_parent_kurzbz=oes.oe_kurzbz
)
SELECT oe_kurzbz
FROM oes";
if ($activeoeonly === true)
{
$query .= " WHERE aktiv=true";
}
$query .= " GROUP BY oe_kurzbz)";
}
else
$query .= " AND tbl_benutzerfunktion.oe_kurzbz = ?";
$parametersArray[] = $oe_kurzbz;
}
@@ -71,7 +100,7 @@ class Benutzerfunktion_model extends DB_Model
$query .= " AND tbl_organisationseinheit.aktiv";
}
$query .= " ORDER BY funktion_kurzbz, oe_kurzbz, uid";
$query .= " ORDER BY oe_kurzbz, funktion_kurzbz, uid";
return $this->execQuery($query, $parametersArray);
}
@@ -82,10 +82,14 @@ $uebung_id = (isset($_GET['uebung_id'])?$_GET['uebung_id']:'');
$uid = (isset($_GET['uid'])?$_GET['uid']:'');
$noten_anmerkung=array();
$noten_arr=array();
$note_obj = new note();
$note_obj->getAll();
foreach($note_obj->result as $row)
$noten_anmerkung[$row->anmerkung]=$row->note;
{
$noten_anmerkung[$row->anmerkung] = $row->note;
$noten_arr[$row->note] = $row;
}
//Studiensemester laden
$stsem_obj = new studiensemester();
@@ -238,12 +242,23 @@ if (isset($_REQUEST["submit"]))
}
// Hole Zeugnisnote wenn schon eine eingetragen ist
/*
if ($zeugnisnote = new zeugnisnote($lvid, $student_uid, $stsem))
{
$znote = $zeugnisnote->note;
else
$znote = null;
*/
if (!empty($znote) && array_key_exists($znote, $noten_arr))
{
$notenobj = $noten_arr[$znote];
// Note nicht speichern wenn Zeugnisnote nicht überschreibbar
if ($notenobj->lkt_ueberschreibbar === false)
{
$response .= "\n".$p->t('benotungstool/noteNichtUeberschreibbar', array($matrikelnummer, $notenobj->bezeichnung));
continue;
}
}
}
$val=savenote($db,$lvid, $student_uid, $note, $punkte);
if($val!='neu' && $val!='update' && $val!='update_f')
$response.=$val;
@@ -181,6 +181,7 @@ foreach ($noten_obj->result as $row)
$noten_array[$row->note]['positiv'] = $row->positiv;
$noten_array[$row->note]['aktiv'] = $row->aktiv;
$noten_array[$row->note]['lehre'] = $row->lehre;
$noten_array[$row->note]['lkt_ueberschreibbar'] = $row->lkt_ueberschreibbar;
$noten_array[$row->note]['anmerkung'] = $row->anmerkung;
foreach ($sprachen->result AS $s)
$noten_array[$row->note]['bezeichnung_mehrsprachig'][$s->sprache] = $row->bezeichnung_mehrsprachig[$s->sprache];
@@ -1249,21 +1250,34 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
action='" . $_SERVER['PHP_SELF'] . "?lvid=$lvid&lehreinheit_id=$lehreinheit_id&stsem=$stsem'>
<span id='lvnoteneingabe_" . $uid . "' " . $hide . ">
<input type='hidden' name='student_uid' value='$uid'>";
// nur überschreibbare Noten können geändert werden
$ueberschreibbar = true;
if (isset($noten_array[$znote]['lkt_ueberschreibbar']) && $noten_array[$znote]['lkt_ueberschreibbar'] === false)
$ueberschreibbar = false;
// Punkte
if (CIS_GESAMTNOTE_PUNKTE)
{
$htmlstring .= '
<input type="text"
name="punkte"
id="textbox-punkte-' . $i . '"
value="' . $punkte_vorschlag . '"
size="3"
oninput="PunkteEingabe(' . $i . ')"/>';
size="3"';
if ($ueberschreibbar)
$htmlstring .= ' oninput="PunkteEingabe(' . $i . ')"';
else
$htmlstring .= ' disabled="disabled"';
$htmlstring .= '/>';
}
// Noten DropDown
if ($punkte_vorschlag != '' && CIS_GESAMTNOTE_PUNKTE)
if (($punkte_vorschlag != '' && CIS_GESAMTNOTE_PUNKTE) || $ueberschreibbar == false)
$disabled = 'disabled="disabled"';
else
$disabled = '';
@@ -1281,10 +1295,13 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
$htmlstring .= '</select>';
$htmlstring .= "
<input type='hidden' name='note_orig' value='$note_lv'>
<input type='button' id='button-note-save-" . $i . "' value='->' onclick=\"saveLVNote('" . $uid . "');\">
</span>
</form></td>";
<input type='hidden' name='note_orig' value='$note_lv'>";
if ($ueberschreibbar)
{
$htmlstring .= "<input type='button' id='button-note-save-" . $i . "' value='->' onclick=\"saveLVNote('" . $uid . "');\">";
}
$htmlstring .= "</span>
</form></td>";
}
else
{
@@ -1370,13 +1387,18 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
$htmlstring .= '<tr>
<td class="td_datum">' . $pr_datum . '</td>
<td class="td_note">' . $pr_notenbezeichnung . '</td>
<td>
<input type="button"
<td>';
if ($ueberschreibbar)
{
$htmlstring .=
'<input type="button"
name="anlegen"
value="' . $p->t('global/aendern') . '"
onclick="' . $onclick . '">
<td>
</tr>';
onclick="' . $onclick . '">';
}
$htmlstring .=
'<td>
</tr>';
}
$htmlstring .= "</table>";
$htmlstring .= "</span>";
@@ -1386,12 +1408,16 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
{
if (! is_null($note_lv) || ! is_null($znote))
{
$htmlstring .= "<td colspan='2'><span id='span_Termin2_" . $uid . "'>
<input type='button'
$htmlstring .= "<td colspan='2'><span id='span_Termin2_" . $uid . "'>";
if ($ueberschreibbar)
{
$htmlstring .=
"<input type='button'
name='anlegen'
value='" . $p->t('benotungstool/anlegen') . "'
onclick='pruefungAnlegen(\"" . $uid . "\",\"\",\"\",\"\",\"\")'>
</span></td>";
onclick='pruefungAnlegen(\"" . $uid . "\",\"\",\"\",\"\",\"\")'>";
}
$htmlstring .= "</span></td>";
}
else
{
@@ -1445,7 +1471,7 @@ if (defined("CIS_GESAMTNOTE_PRUEFUNG_MOODLE_LE_NOTE") && CIS_GESAMTNOTE_PRUEFUNG
}
else
{
if (! is_null($note_lv) || ! is_null($znote))
if ((! is_null($note_lv) || ! is_null($znote)) && $ueberschreibbar)
{
$htmlstring .= "
<td colspan='2'>
@@ -62,13 +62,14 @@ $daysinmonth = cal_days_in_month(CAL_GREGORIAN, $month, $year);
$date = new datum();
$ztauf = new zeitaufzeichnung();
$ztauf->getListeUserFromTo($uid, $year.'-'.$month.'-01', $year.'-'.$month.'-'.$daysinmonth);
$activitiesToIgnore = array('DienstreiseMT');//aktivitaetstypen which shouldn't be added to worktime
$ztauf->getListeUserFromTo($uid, $year.'-'.$month.'-01', $year.'-'.$month.'-'.$daysinmonth, $activitiesToIgnore);
//objects for one projectline of list (corresponds to one day)
$projectlines = [];
$dayStart = $dayEnd = '';
$projectnames = $tosubtract = $allpauseranges = [];
$toignore = ['Pause', 'LehreExtern'];
$activitiesToSubtract = ['Pause', 'LehreExtern'];//aktivitaetstypen which should be subtracted fromworktime
$ztaufdata = $ztauf->result;
$monthsums = [0 => 0.00];
@@ -94,7 +95,7 @@ for ($i = 0; $i < count($ztaufdata); $i++)
//last entry for a day (next entry is different day)
$isLastEntry = !array_key_exists($i + 1, $ztaufdata) || intval($date->formatDatum($ztaufdata[$i + 1]->ende, 'd')) != $day;
if (in_array($ztaufrow->aktivitaet_kurzbz, $toignore))
if (in_array($ztaufrow->aktivitaet_kurzbz, $activitiesToSubtract))
{
$subtraction = new stdClass();
$subtraction->start = $ztaufrow->start;
@@ -104,7 +105,7 @@ for ($i = 0; $i < count($ztaufdata); $i++)
$tosubtract[] = $subtraction;
//save all pause ranges
if ($ztaufrow->aktivitaet_kurzbz == $toignore[0])
if ($ztaufrow->aktivitaet_kurzbz == $activitiesToSubtract[0])
{
$prevpause = null;
if (count($allpauseranges) > 0)
@@ -129,9 +130,9 @@ for ($i = 0; $i < count($ztaufdata); $i++)
}
//save new dayStart (if earlier) or dayEnd (if later)
if (($dayStart == '' || $dayStart > $ztaufrow->start) && $ztaufrow->aktivitaet_kurzbz != $toignore[1])
if (($dayStart == '' || $dayStart > $ztaufrow->start) && $ztaufrow->aktivitaet_kurzbz != $activitiesToSubtract[1])
$dayStart = $ztaufrow->start;
if (($dayEnd == '' || $dayEnd < $ztaufrow->ende) && $ztaufrow->aktivitaet_kurzbz != $toignore[1])
if (($dayEnd == '' || $dayEnd < $ztaufrow->ende) && $ztaufrow->aktivitaet_kurzbz != $activitiesToSubtract[1])
$dayEnd = $ztaufrow->ende;
if ($isFirstEntry)
@@ -221,12 +222,12 @@ for ($i = 0; $i < count($ztaufdata); $i++)
//subtract pauses and LehreExtern from total worktime
foreach ($tosubtract as $subtraction)
{
if ($subtraction->typ == $toignore[0])
if ($subtraction->typ == $activitiesToSubtract[0])
{
$projectlines[$day]->arbeitszeit -= $subtraction->diff;
$pauseSubtracted += $subtraction->diff;
}
elseif ($subtraction->typ == $toignore[1] && $subtraction->start >= $dayStart && $subtraction->ende <= $dayEnd)
elseif ($subtraction->typ == $activitiesToSubtract[1] && $subtraction->start >= $dayStart && $subtraction->ende <= $dayEnd)
{
$projectlines[$day]->arbeitszeit -= $subtraction->diff;
$lehreExternExists = true;
@@ -271,12 +272,12 @@ for ($i = 0; $i < count($ztaufdata); $i++)
$projectlines[$day]->arbeitszeit -= $projectlines[$day]->arbeitszeit - 6;
}
$projectlines[$day]->arbeitszeit = floor($projectlines[$day]->arbeitszeit * 100) / 100;
$projectlines[$day]->arbeitszeit = round($projectlines[$day]->arbeitszeit, 2);
foreach ($projectlines[$day]->projekte as $name => $project)
{
$projecthours =& $projectlines[$day]->projekte[$name]->stunden;
$projecthours = floor($projecthours * 100) / 100;
$projecthours = round($projecthours, 2);
if (array_key_exists($name, $monthsums))
$monthsums[$name] += $projecthours;
else
+25 -24
View File
@@ -127,7 +127,7 @@ if (isset($_REQUEST['save']))
$dms->gruppe_kurzbz = $_POST['gruppe_kurzbz'];
$dms->insertamum = date('Y-m-d H:i:s');
$dms->insertvon = $user;
if (! $dms->saveGruppeKategorie())
echo '<span class="error">' . $dms->errormsg . '</span>';
else
@@ -145,7 +145,7 @@ if (isset($_REQUEST['save']))
{
// wenn keine auswahl getroffen wurde
$kategorie_auswahl = (($_POST['kategorie_parent'] == 'auswahl') ? null : $_POST['kategorie_parent']);
if ($kategorieSave->loadKategorie($_POST['kategorie_kurzbz']))
{
// Update
@@ -184,7 +184,7 @@ if (isset($_REQUEST['save']))
// Löscht eine Kategorie
if (isset($_REQUEST['delete']))
{
if ($method == 'gruppe')
{
$dms = new dms();
@@ -205,7 +205,7 @@ if (isset($_REQUEST['delete']))
}
else
echo "keine Kategorie übergeben";
$kategorie_kurzbz = '';
}
}
@@ -270,7 +270,7 @@ switch ($method)
case 'gruppe':
print_rights($kategorie_kurzbz);
break;
default:
drawKategorie($kategorie_kurzbz);
break;
@@ -287,7 +287,8 @@ function drawKategorie($kategorie_kurzbz)
$kategorie_bezeichnung = '';
$disabled = '';
$kategorie_berechtigung = '';
$kategorie_oe_kurzbz = '';
if ($kategorie->loadKategorie($kategorie_kurzbz))
{
// Formular zum Editieren bestehender Kategorien
@@ -297,7 +298,7 @@ function drawKategorie($kategorie_kurzbz)
$kategorie_berechtigung = $kategorie->berechtigung_kurzbz;
$kategorie_oe_kurzbz = $kategorie->kategorie_oe_kurzbz;
}
$allKategorien = new dms();
$allKategorien->getAllKategories();
$berechtigungen = new berechtigung();
@@ -305,7 +306,7 @@ function drawKategorie($kategorie_kurzbz)
$organisationseinheiten = new organisationseinheit();
$organisationseinheiten->getAll(true, null, 'organisationseinheittyp_kurzbz, bezeichnung');
$oe_typ = '';
// var_dump($allKategorien->result);
echo ' <form action="' . $_SERVER['PHP_SELF'] . '?save" method="POST" name="form_kategorie">
<table border="0">
@@ -341,13 +342,13 @@ function drawKategorie($kategorie_kurzbz)
{
if ($oe_typ!='')
echo '</optgroup>';
echo '<optgroup label="'.$oe->organisationseinheittyp_kurzbz.'">';
}
$selected = '';
if ($oe->oe_kurzbz == $kategorie_oe_kurzbz)
$selected = 'selected';
echo '<option ' . $selected . ' value="' . $oe->oe_kurzbz . '">'.$oe->organisationseinheittyp_kurzbz.' ' . $oe->bezeichnung . '</option>';
$oe_typ = $oe->organisationseinheittyp_kurzbz;
}
@@ -362,7 +363,7 @@ function drawKategorie($kategorie_kurzbz)
$selected = '';
if ($recht->berechtigung_kurzbz == $kategorie_berechtigung)
$selected = 'selected';
echo '<option ' . $selected . ' value="' . $recht->berechtigung_kurzbz . '">' . $recht->berechtigung_kurzbz . '</option>';
}
echo ' </select>
@@ -427,17 +428,17 @@ function print_rights($kategorie_kurzbz)
}
else
echo 'Diese Seite darf von allen angezeigt werden!<br><br>';
$gruppe = new gruppe();
$gruppe->getgruppe(null, null, null, null, true);
// Sortieren der Gruppen nach kurzbz
function sortGruppen($a, $b)
{
return strcasecmp($a->gruppe_kurzbz, $b->gruppe_kurzbz);
function sortGruppen($a, $b)
{
return strcasecmp($a->gruppe_kurzbz, $b->gruppe_kurzbz);
}
usort($gruppe->result, "sortGruppen");
usort($gruppe->result, "sortGruppen");
// function sortDocuments($a, $b)
// {
// $c = $a->anzahl_akten_formal_geprueft - $b->anzahl_akten_formal_geprueft;
@@ -449,7 +450,7 @@ function print_rights($kategorie_kurzbz)
// }
// if ($dokumente_abzugeben)
// usort($dokumente_abzugeben, "sortDocuments");
echo '<form action="' . $_SERVER['PHP_SELF'] . '?kategorie_kurzbz=' . $kategorie_kurzbz . '&method=gruppe&save" method="POST">';
echo 'Gruppe <select name="gruppe_kurzbz">';
foreach ($gruppe->result as $row)
@@ -472,7 +473,7 @@ function print_rights($kategorie_kurzbz)
function drawKategorieMenue($rows)
{
global $kategorie_kurzbz;
// echo '<ul>';
foreach ($rows as $row)
{
@@ -480,12 +481,12 @@ function drawKategorieMenue($rows)
$class = 'marked';
else
$class = '';
$dms = new dms();
$dms->getKategorie($row->kategorie_kurzbz);
$delete = '<a href="' . $_SERVER['PHP_SELF'] . '?delete&kategorie_kurzbz=' . $row->kategorie_kurzbz . '"><img src="../skin/images/cross.png" height="12px" title="Kategorie löschen" /></a>';
// Suchen, ob eine Sperre fuer diese Kategorie vorhanden ist
$groups = $dms->getLockGroups($row->kategorie_kurzbz);
$locked = '';
@@ -498,7 +499,7 @@ function drawKategorieMenue($rows)
}
if (count($dms->result) > 0)
{
echo '
<tr>
<td class="tdwidth10" nowrap>&nbsp;</td>
+29 -17
View File
@@ -43,37 +43,37 @@ else
$akte_id ='';
//if(!isset($_GET['version']))
// die('Version muss uebergeben werden');
// die('Version muss uebergeben werden');
$id = $_GET['id'];
$version = isset($_GET['version'])?$_GET['version']:null;
$version = isset($_GET['version'])?$_GET['version']:null;
if(!is_numeric($id))
die('ID ist ungueltig');
if($version!='' && !is_numeric($version))
die('Version ist ungueltig');
die('Version ist ungueltig');
$doc = new dms();
if(!$doc->load($id,$version))
die('Dieses Dokument existiert nicht mehr');
if($doc->isLocked($id))
{
//Wenn person_id aus Session und akte_id uebergeben wurde
//und person_id Besitzer des Dokuments ist (person_id aus tbl_akte)
//Wenn person_id aus Session und akte_id uebergeben wurde
//und person_id Besitzer des Dokuments ist (person_id aus tbl_akte)
//und das Dokument in der Onlinebewerbung hochgeladen werden kann
//darf das Dokument heruntergeladen werden
if($person_id!='' && $akte_id!='')
{
{
$akte = new akte();
$akte->load($akte_id);
$akte_person = $akte->person_id;
$akte_dokument_kurzbz = $akte->dokument_kurzbz;
$dokumente_person = new dokument();
$dokumente_person->getAllDokumenteForPerson($person_id, true);
$dokumente_arr = array();
foreach ($dokumente_person->result AS $row)
$dokumente_arr[] .= $row->dokument_kurzbz;
@@ -90,11 +90,23 @@ if($doc->isLocked($id))
{
//Dokument erfordert Authentifizierung
$user = get_uid();
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$doc->isBerechtigt($id, $user))
{
// Wenn eine Berechtigung an der Kategorie haengt
// dann darf nur mit diesem Recht darauf zugegriffen werden
$kategorie = new dms();
$kategorie->loadKategorie($doc->kategorie_kurzbz);
if($kategorie->berechtigung_kurzbz!='')
{
if(!$rechte->isBerechtigt($kategorie->berechtigung_kurzbz))
die('Sie haben keinen Zugriff auf dieses Dokument');
}
//Globales DMS recht pruefen
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if(!$rechte->isBerechtigt('basis/dms'))
die('Sie haben keinen Zugriff auf dieses Dokument');
}
@@ -111,12 +123,12 @@ if(file_exists($filename))
{
if($doc->mimetype=='')
$doc->mimetype='application/octetstream';
header('Content-type: '.$doc->mimetype);
header('Content-Disposition: inline; filename="'.$doc->name.'"');
header('Content-Length: ' .filesize($filename));
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 8192);
}
@@ -127,4 +139,4 @@ if(file_exists($filename))
}
else
echo 'Die Datei existiert nicht';
?>
?>
+17 -17
View File
@@ -19,7 +19,7 @@
*/
/**
* Menu Addon fuer Urlaube
*
*
* Zeigt eine Liste der untergebenen Mitarbeiter mit deren Urlaube
*/
require_once(dirname(__FILE__).'/menu_addon.class.php');
@@ -33,25 +33,25 @@ class menu_addon_urlaub extends menu_addon
public function __construct()
{
parent::__construct();
$sprache = getSprache();
$user = get_uid();
$p = new phrasen($sprache);
//Untergebene holen
$mitarbeiter = new mitarbeiter();
$mitarbeiter->getUntergebene($user);
$untergebene = '';
foreach ($mitarbeiter->untergebene as $u_uid)
{
if($untergebene!='')
$untergebene.=',';
$untergebene.="'".addslashes($u_uid)."'";
}
$rechte = new benutzerberechtigung();
$rechte->getBerechtigungen($user);
if($rechte->isBerechtigt('mitarbeiter/urlaube', null, 'suid'))
@@ -65,14 +65,14 @@ class menu_addon_urlaub extends menu_addon
$untergebene.="'".addslashes($row->uid)."'";
}
}
if($untergebene!='')
{
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid in($untergebene) AND aktiv ORDER BY nachname, vorname";
$qry = "SELECT * FROM campus.vw_mitarbeiter WHERE uid in($untergebene) AND aktiv AND fixangestellt ORDER BY nachname, vorname";
$this->linkitem['link']='private/profile/urlaubsfreigabe.php';
$this->linkitem['target']='content';
if($result = $this->db_query($qry))
{
$this->items[] = array('title'=>$p->t('menu/urlaubAlle'),
@@ -80,31 +80,31 @@ class menu_addon_urlaub extends menu_addon
'link'=>'private/profile/urlaubsfreigabe.php',
'name'=>$p->t('menu/urlaubAlle')
);
while($row = $this->db_fetch_object($result))
{
$name = $row->nachname.' '.$row->vorname.' '.$row->titelpre.' '.$row->titelpost;
$title = $row->nachname.' '.$row->vorname.' '.$row->titelpre.' '.$row->titelpost;
if($row->fixangestellt=='f')
$name = '<span style="color: gray;">'.$name.'</span>';
$this->items[] = array('title'=>$title,
'target'=>'content',
'link'=>'private/profile/urlaubsfreigabe.php?uid='.$row->uid,
'name'=>$name
);
}
}
}
else
$this->link=false;
$this->output();
}
}
new menu_addon_urlaub();
?>
?>
+6
View File
@@ -169,6 +169,12 @@ if(!$error)
$verwendung->updatevon = $user;
$verwendung->dv_art = $_POST['dv_art'];
$verwendung->inkludierte_lehre = $_POST['inkludierte_lehre'];
if($_POST['zeitaufzeichnungspflichtig']=='true')
$verwendung->zeitaufzeichnungspflichtig = true;
elseif($_POST['zeitaufzeichnungspflichtig']=='false')
$verwendung->zeitaufzeichnungspflichtig = false;
else
$verwendung->zeitaufzeichnungspflichtig = '';
if($verwendung->save())
{
@@ -1178,7 +1178,7 @@ function MitarbeiterVerwendungBearbeiten()
bisverwendung_id=tree.view.getCellText(tree.currentIndex,col);
//Dialog laden
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=400, centerscreen, resizable");
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid+"&bisverwendung_id="+bisverwendung_id,"popup","chrome, status=no, width=500, height=500, centerscreen, resizable");
}
// ****
@@ -1192,7 +1192,7 @@ function MitarbeiterVerwendungNeu()
col = tree.columns ? tree.columns["mitarbeiter-treecol-uid"] : "mitarbeiter-treecol-uid";
mitarbeiter_uid=tree.view.getCellText(tree.currentIndex,col);
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=350, centerscreen, resizable");
window.open("<?php echo APP_ROOT; ?>content/mitarbeiter/mitarbeiterverwendungdialog.xul.php?mitarbeiter_uid="+mitarbeiter_uid,"popup","chrome, status=no, width=500, height=500, centerscreen, resizable");
}
function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_uid, neu)
@@ -1209,6 +1209,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
vertragsstunden = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value;
dv_art = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value;
inkludierte_lehre = dialog.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value;
zeitaufzeichnungspflichtig = dialog.getElementById('mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig').checked;
if(verwendung_code=='1' || verwendung_code=='5' || verwendung_code=='6')
{
@@ -1266,6 +1267,7 @@ function MitarbeiterVerwendungSpeichern(dialog, bisverwendung_id, mitarbeiter_ui
req.add('vertragsstunden', vertragsstunden);
req.add('dv_art', dv_art);
req.add('inkludierte_lehre', inkludierte_lehre);
req.add('zeitaufzeichnungspflichtig', zeitaufzeichnungspflichtig);
var response = req.executePOST();
@@ -69,9 +69,25 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
vertragsstunden = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#vertragsstunden" ));
dv_art = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#dv_art" ));
inkludierte_lehre = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#inkludierte_lehre" ));
zeitaufzeichnungspflichtig = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#zeitaufzeichnungspflichtig" ));
}
else
{
//Laden der Daten
//Daten holen
var url = '<?php echo APP_ROOT ?>rdf/personal.rdf.php?uid='+MitarbeiterVerwendungDetailMitarbeiterUid+'&'+gettimestamp();
var rdfService = Components.classes["@mozilla.org/rdf/rdf-service;1"].
getService(Components.interfaces.nsIRDFService);
var dsource = rdfService.GetDataSourceBlocking(url);
var subject = rdfService.GetResource("http://www.technikum-wien.at/mitarbeiter/" + MitarbeiterVerwendungDetailMitarbeiterUid);
var predicateNS = "http://www.technikum-wien.at/mitarbeiter/rdf";
fixangestellt = getTargetHelper(dsource,subject,rdfService.GetResource( predicateNS + "#fixangestellt" ));
//neuer Datensatz wird angelegt
MitarbeiterVerwendungDetailNeu='true';
@@ -88,6 +104,14 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
vertragsstunden='38.5';
dv_art='';
inkludierte_lehre='';
if (fixangestellt=='Ja')
{
zeitaufzeichnungspflichtig='Ja';
}
else
{
zeitaufzeichnungspflichtig='Nein';
}
}
document.getElementById('mitarbeiter-verwendung-detail-menulist-beschart1').value=ba1code;
@@ -110,6 +134,10 @@ function MitarbeiterVerwendungInit(mitarbeiter_uid, bisverwendung_id)
document.getElementById('mitarbeiter-verwendung-detail-textbox-vertragsstunden').value=vertragsstunden;
document.getElementById('mitarbeiter-verwendung-detail-textbox-dv_art').value=dv_art;
document.getElementById('mitarbeiter-verwendung-detail-textbox-inkludierte_lehre').value=inkludierte_lehre;
if(zeitaufzeichnungspflichtig=='Ja')
document.getElementById('mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig').checked=true;
else
document.getElementById('mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig').checked=false;
MitarbeiterVerwendungDetailToggleHauptberuf();
MitarbeiterVerwendungVerwendungChange();
@@ -162,6 +162,10 @@ echo '<?xml-stylesheet href="'.APP_ROOT.'content/datepicker/datepicker.css" type
<row>
<label value="Inkludierte Lehre" control="mitarbeiter-verwendung-detail-textbox-inkludierte_lehre" />
<textbox id="mitarbeiter-verwendung-detail-textbox-inkludierte_lehre" />
</row>
<row>
<label value="Zeitaufzeichnungspflichtig" control="mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig"/>
<checkbox id="mitarbeiter-verwendung-detail-checkbox-zeitaufzeichnungspflichtig"/>
</row>
<row>
<spacer />
+12 -7
View File
@@ -22,9 +22,10 @@
* oder im Filesystem, in diesem Fall ist die Akte mit einer DMS ID verknuepft in welcher der Dateiname steht.
*/
require_once('../config/vilesci.config.inc.php');
require_once('../include/dms.class.php');
require_once('../include/dms.class.php');
require_once('../include/benutzerberechtigung.class.php');
require_once('../include/functions.inc.php');
require_once('../include/notiz.class.php');
$user = get_uid();
$rechte = new benutzerberechtigung();
@@ -34,11 +35,15 @@ if(!$rechte->isBerechtigt('admin') && !$rechte->isBerechtigt('assistenz') && !$r
if(isset($_GET['id']) && is_numeric($_GET['id']))
{
$dms = new dms();
if(!$dms->load($_GET['id']))
die('Kein Dokument vorhanden');
$notiz = new notiz();
if(!$notiz->isNotizDokument($_GET['id']))
die('Dokument wurde nicht gefunden oder haengt nicht an einer Notiz');
$filename=DMS_PATH.$dms->filename;
$dms = new dms();
if(!$dms->load($_GET['id']))
die('Kein Dokument vorhanden');
$filename=DMS_PATH.$dms->filename;
if(!isset($_GET['notimeupdate']))
$dms->touch($dms->dms_id, $dms->version);
@@ -54,7 +59,7 @@ if(isset($_GET['id']) && is_numeric($_GET['id']))
header('Content-Disposition: inline; filename="'.$dms->name.'"');
header('Content-Length: ' .filesize($filename));
while (!feof($handle))
while (!feof($handle))
{
echo fread($handle, 8192);
}
@@ -71,4 +76,4 @@ else
echo "Ungueltige DMS-ID";
}
?>
?>
+36 -13
View File
@@ -2835,12 +2835,22 @@ if(!$error)
//Die Daten werden per POST uebermittelt. Es wird ein Feld Anzahl mituebergeben
//mit der Anzahl der Felder. Die Felder sind durchnummeriert zB lehreinheit_id_0, lehreinheit_id_1, ...
$errormsg = '';
$angerechnet=false;
$ueberschreibbar=true;
$nueberschreibbarbez=array();
for($i=0;$i<$_POST['anzahl'];$i++)
{
$lvgesamtnote = new lvgesamtnote();
$zeugnisnote = new zeugnisnote();
$noten_ueberschreibbar = array();
$noten_bezeichnung = array();
$note_obj = new note();
$note_obj->getAll();
foreach($note_obj->result as $row)
{
$noten_ueberschreibbar[$row->note] = $row->lkt_ueberschreibbar;
$noten_bezeichnung[$row->note] = $row->bezeichnung;
}
//Berechtigung pruefen
$qry = "SELECT studiengang_kz FROM lehre.tbl_lehrveranstaltung WHERE lehrveranstaltung_id=".$db->db_add_param($_POST['lehrveranstaltung_id_'.$i], FHC_INTEGER);
@@ -2902,10 +2912,13 @@ if(!$error)
$zeugnisnote->new = false;
$zeugnisnote->updateamum = date('Y-m-d H:i:s');
$zeugnisnote->updatevon = $user;
//Angerechnete Noten werden nicht ueberschrieben
if($zeugnisnote->note=='6') //Angerechnet
// Noten wie "angerechnet", "nicht erforderlich" werden nicht ueberschrieben
if(isset($zeugnisnote->note) && array_key_exists($zeugnisnote->note, $noten_ueberschreibbar) && $noten_ueberschreibbar[$zeugnisnote->note] === false)
{
$angerechnet=true;
$notenbez = '"'.$noten_bezeichnung[$zeugnisnote->note].'"';
if (!in_array($notenbez, $nueberschreibbarbez))
$nueberschreibbarbez[] = $notenbez;
$ueberschreibbar = false;
continue;
}
}
@@ -2944,9 +2957,9 @@ if(!$error)
}
}
}
if($angerechnet)
if(!$ueberschreibbar)
{
$errormsg.="\nAngerechnete Noten wurden nicht ueberschrieben";
$errormsg.="\nNote(n) ".implode(', ', $nueberschreibbarbez)." waren nicht ueberschreibbar";
}
if($errormsg=='')
@@ -2961,13 +2974,20 @@ if(!$error)
//Die Felder sind durchnummeriert zB matrikelnummer_0, matrikelnummer_1, ...
//Die Anzahl der Gesamten Daten wird auch als Parameter uebergeben
$errormsg = '';
$angerechnet=false;
$ueberschreibbar=true;
$nueberschreibbarbez=array();
$noten_anmerkung_arr=array();
$noten_ueberschreibbar = array();
$noten_bezeichnung = array();
$note_obj = new note();
$note_obj->getAll();
foreach($note_obj->result as $row)
$noten_anmerkung_arr[$row->anmerkung]=$row->note;
{
$noten_ueberschreibbar[$row->note] = $row->lkt_ueberschreibbar;
$noten_bezeichnung[$row->note] = $row->bezeichnung;
$noten_anmerkung_arr[$row->anmerkung] = $row->note;
}
for($i=0;$i<$_POST['anzahl'];$i++)
{
@@ -3045,10 +3065,13 @@ if(!$error)
$zeugnisnote->new = false;
$zeugnisnote->updateamum = date('Y-m-d H:i:s');
$zeugnisnote->updatevon = $user;
//Angerechnete Noten werden nicht ueberschrieben
if($zeugnisnote->note=='6') //Angerechnet
// Noten wie "angerechnet", "nicht erforderlich" werden nicht ueberschrieben
if(isset($zeugnisnote->note) && array_key_exists($zeugnisnote->note, $noten_ueberschreibbar) && $noten_ueberschreibbar[$zeugnisnote->note] === false)
{
$angerechnet=true;
$notenbez = '"'.$noten_bezeichnung[$zeugnisnote->note].'"';
if (!in_array($notenbez, $nueberschreibbarbez))
$nueberschreibbarbez[] = $notenbez;
$ueberschreibbar = false;
continue;
}
}
@@ -3100,9 +3123,9 @@ if(!$error)
}
}
}
if($angerechnet)
if(!$ueberschreibbar)
{
$errormsg.="\nAngerechnete Noten wurden nicht ueberschrieben";
$errormsg.="\nNote(n) ".implode(', ', $nueberschreibbarbez)." waren nicht ueberschreibbar";
}
if($errormsg=='')
+21 -3
View File
@@ -46,6 +46,7 @@ class bisverwendung extends basis_db
public $ext_id;
public $dv_art;
public $inkludierte_lehre;
public $zeitaufzeichnungspflichtig;
public $ba1bez;
public $ba2bez;
@@ -120,6 +121,7 @@ class bisverwendung extends basis_db
$this->vertragsstunden = $row->vertragsstunden;
$this->dv_art = $row->dv_art;
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
return true;
}
else
@@ -207,12 +209,22 @@ class bisverwendung extends basis_db
$hauptberuflich = $this->db_add_param($this->hauptberuflich, FHC_BOOLEAN);
else
$hauptberuflich = 'null';
if(is_bool($this->zeitaufzeichnungspflichtig))
{
$zeitaufzeichnungspflichtig = $this->db_add_param($this->zeitaufzeichnungspflichtig, FHC_BOOLEAN);
}
else
{
$zeitaufzeichnungspflichtig = 'null';
}
if($new)
{
//Neuen Datensatz anlegen
$qry = "BEGIN;INSERT INTO bis.tbl_bisverwendung (ba1code, ba2code, beschausmasscode,
verwendung_code, mitarbeiter_uid, hauptberufcode, hauptberuflich, habilitation, beginn, ende, vertragsstunden,
updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre) VALUES (".
updateamum, updatevon, insertamum, insertvon, dv_art, inkludierte_lehre, zeitaufzeichnungspflichtig) VALUES (".
$this->db_add_param($this->ba1code, FHC_INTEGER).', '.
$this->db_add_param($this->ba2code, FHC_INTEGER).', '.
$this->db_add_param($this->beschausmasscode, FHC_INTEGER).', '.
@@ -229,7 +241,8 @@ class bisverwendung extends basis_db
$this->db_add_param($this->insertamum).', '.
$this->db_add_param($this->insertvon).', '.
$this->db_add_param($this->dv_art).','.
$this->db_add_param($this->inkludierte_lehre).');';
$this->db_add_param($this->inkludierte_lehre).','.
$zeitaufzeichnungspflichtig. ');';
}
else
@@ -252,7 +265,8 @@ class bisverwendung extends basis_db
" insertamum=".$this->db_add_param($this->insertamum).",".
" insertvon=".$this->db_add_param($this->insertvon).",".
" dv_art=".$this->db_add_param($this->dv_art).",".
" inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).
" inkludierte_lehre=".$this->db_add_param($this->inkludierte_lehre).",".
" zeitaufzeichnungspflichtig=". $zeitaufzeichnungspflichtig.
" WHERE bisverwendung_id=".$this->db_add_param($this->bisverwendung_id, FHC_INTEGER);
}
@@ -344,6 +358,7 @@ class bisverwendung extends basis_db
$obj->vertragsstunden = $row->vertragsstunden;
$obj->dv_art = $row->dv_art;
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->result[] = $obj;
}
@@ -400,6 +415,7 @@ class bisverwendung extends basis_db
$obj->vertragsstunden = $row->vertragsstunden;
$obj->dv_art = $row->dv_art;
$obj->inkludierte_lehre = $row->inkludierte_lehre;
$obj->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
$this->result[] = $obj;
}
@@ -450,6 +466,7 @@ class bisverwendung extends basis_db
$this->vertragsstunden = $row->vertragsstunden;
$this->dv_art = $row->dv_art;
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
}
return true;
}
@@ -502,6 +519,7 @@ class bisverwendung extends basis_db
$this->vertragsstunden = $row->vertragsstunden;
$this->dv_art = $row->dv_art;
$this->inkludierte_lehre = $row->inkludierte_lehre;
$this->zeitaufzeichnungspflichtig = $this->db_parse_bool($row->zeitaufzeichnungspflichtig);
}
return true;
}
+13 -7
View File
@@ -1179,9 +1179,7 @@ class dms extends basis_db
*/
function isLocked($dms_id)
{
$qry = "SELECT 1 FROM
(
WITH RECURSIVE kategorien(parent_kategorie_kurzbz) as
$qry = "WITH RECURSIVE kategorien(parent_kategorie_kurzbz) as
(
SELECT parent_kategorie_kurzbz FROM campus.tbl_dms_kategorie
WHERE kategorie_kurzbz=(SELECT kategorie_kurzbz FROM campus.tbl_dms WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER).")
@@ -1192,12 +1190,20 @@ class dms extends basis_db
WHERE k.kategorie_kurzbz=kategorien.parent_kategorie_kurzbz
)
SELECT parent_kategorie_kurzbz
FROM kategorien
) a
JOIN campus.tbl_dms_kategorie_gruppe ON(a.parent_kategorie_kurzbz=kategorie_kurzbz)
SELECT
1
FROM
kategorien
JOIN campus.tbl_dms_kategorie_gruppe ON(kategorien.parent_kategorie_kurzbz=kategorie_kurzbz)
UNION
SELECT 1 FROM fue.tbl_projekt_dokument WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER)."
UNION
SELECT
1
FROM
kategorien
JOIN campus.tbl_dms_kategorie ON(kategorien.parent_kategorie_kurzbz=kategorie_kurzbz)
WHERE berechtigung_kurzbz is not null
;";
if($result = $this->db_query($qry))
+17 -8
View File
@@ -42,6 +42,7 @@ class note extends basis_db
public $aktiv; // boolean
public $lehre; // boolean
public $offiziell; // boolean
public $lkt_ueberschreibbar; // boolean
public $bezeichnung_mehrsprachig; // varchar (64)[]
/**
@@ -78,7 +79,8 @@ class note extends basis_db
notenwert,
aktiv,
lehre,
offiziell,
offiziell,
lkt_ueberschreibbar,
$bezeichnung_mehrsprachig
FROM
lehre.tbl_note
@@ -98,6 +100,7 @@ class note extends basis_db
$this->lehre = $this->db_parse_bool($row->lehre);
$this->aktiv = $this->db_parse_bool($row->aktiv);
$this->offiziell = $this->db_parse_bool($row->offiziell);
$this->lkt_ueberschreibbar = $this->db_parse_bool($row->lkt_ueberschreibbar);
$this->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig',$row);
return true;
}
@@ -151,7 +154,7 @@ class note extends basis_db
$idx = sprache::$index_arr[$key];
$qry .= " bezeichnung_mehrsprachig[$idx],";
}
$qry .= ' offiziell) VALUES('.
$qry .= ' offiziell, lkt_ueberschreibbar) VALUES('.
$this->db_add_param($this->note).', '.
$this->db_add_param($this->bezeichnung).', '.
$this->db_add_param($this->anmerkung).', '.
@@ -163,8 +166,9 @@ class note extends basis_db
foreach($this->bezeichnung_mehrsprachig as $key=>$value)
$qry .= $this->db_add_param($value).',';
$qry .= $this->db_add_param($this->offiziell, FHC_BOOLEAN).');';
$qry .= $this->db_add_param($this->offiziell, FHC_BOOLEAN);
$qry .= $this->db_add_param($this->lkt_ueberschreibbar, FHC_BOOLEAN).');';
}
else
@@ -184,7 +188,8 @@ class note extends basis_db
$qry .= " bezeichnung_mehrsprachig[$idx]=".$this->db_add_param($value).", ";
}
$qry .= ' offiziell='.$this->db_add_param($this->offiziell, FHC_BOOLEAN).' '.
$qry .= ' offiziell='.$this->db_add_param($this->offiziell, FHC_BOOLEAN).', '.
$qry .= ' lkt_ueberschreibbar='.$this->db_add_param($this->lkt_ueberschreibbar, FHC_BOOLEAN).' '.
'WHERE note='.$this->db_add_param($this->note).';';
@@ -218,7 +223,8 @@ class note extends basis_db
notenwert,
aktiv,
lehre,
offiziell,
offiziell,
lkt_ueberschreibbar,
$bezeichnung_mehrsprachig
FROM
lehre.tbl_note ";
@@ -242,7 +248,8 @@ class note extends basis_db
$n->notenwert = $row->notenwert;
$n->aktiv = $this->db_parse_bool($row->aktiv);
$n->lehre = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->offiziell);
$n->lkt_ueberschreibbar = $this->db_parse_bool($row->lkt_ueberschreibbar);
$n->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[] = $n;
@@ -274,6 +281,7 @@ class note extends basis_db
aktiv,
lehre,
offiziell,
lkt_ueberschreibbar,
$bezeichnung_mehrsprachig
FROM
lehre.tbl_note
@@ -299,7 +307,8 @@ class note extends basis_db
$n->notenwert = $row->notenwert;
$n->aktiv = $this->db_parse_bool($row->aktiv);
$n->lehre = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->lehre);
$n->offiziell = $this->db_parse_bool($row->offiziell);
$n->lkt_ueberschreibbar = $this->db_parse_bool($row->lkt_ueberschreibbar);
$n->bezeichnung_mehrsprachig = $sprache->parseSprachResult('bezeichnung_mehrsprachig', $row);
$this->result[] = $n;
+68 -45
View File
@@ -24,7 +24,7 @@ class notiz extends basis_db
{
public $new;
public $result=array();
public $dokumente=array();
public $dokumente=array();
//Tabellenspalten
public $notiz_id;
@@ -40,15 +40,15 @@ class notiz extends basis_db
public $updateamum;
public $updatevon;
public $projekt_kurzbz;
public $projektphase_id;
public $projekttask_id;
public $uid;
public $person_id;
public $prestudent_id;
public $bestellung_id;
public $lehreinheit_id;
public $anrechnung_id;
public $projekt_kurzbz;
public $projektphase_id;
public $projekttask_id;
public $uid;
public $person_id;
public $prestudent_id;
public $bestellung_id;
public $lehreinheit_id;
public $anrechnung_id;
/**
* Konstruktor
@@ -93,7 +93,7 @@ class notiz extends basis_db
$this->insertvon=$row->insertvon;
$this->updateamum=$row->updateamum;
$this->updatevon=$row->updatevon;
$this->getDokumente($row->notiz_id);
$this->getDokumente($row->notiz_id);
return true;
}
@@ -123,17 +123,17 @@ class notiz extends basis_db
return false;
}
// Dokumente der Notiz löschen
$this->getDokumente($notiz_id);
if(!empty($this->dokumente))
{
$dms = new dms();
// Dokumente der Notiz löschen
$this->getDokumente($notiz_id);
if(!empty($this->dokumente))
{
$dms = new dms();
foreach($this->dokumente as $dms_id)
{
$dms->deleteDms($dms_id);
}
}
foreach($this->dokumente as $dms_id)
{
$dms->deleteDms($dms_id);
}
}
$qry = "Delete FROM public.tbl_notiz WHERE notiz_id=".$this->db_add_param($notiz_id, FHC_INTEGER);
@@ -267,14 +267,14 @@ class notiz extends basis_db
}
}
/**
* Speichert ein Dokument zur Notiz
* @param int $dms_id
* @return boolean
*/
public function saveDokument($dms_id)
{
$qry = "INSERT INTO public.tbl_notiz_dokument(notiz_id, dms_id) VALUES(".
/**
* Speichert ein Dokument zur Notiz
* @param int $dms_id
* @return boolean
*/
public function saveDokument($dms_id)
{
$qry = "INSERT INTO public.tbl_notiz_dokument(notiz_id, dms_id) VALUES(".
$this->db_add_param($this->notiz_id, FHC_INTEGER).','.
$this->db_add_param($dms_id, FHC_INTEGER).');';
@@ -287,7 +287,7 @@ class notiz extends basis_db
$this->errormsg = 'Fehler beim Speichern der Daten';
return false;
}
}
}
/**
*
@@ -377,7 +377,7 @@ class notiz extends basis_db
$obj->insertvon=$row->insertvon;
$obj->updateamum=$row->updateamum;
$obj->updatevon=$row->updatevon;
$obj->getDokumente($row->notiz_id);
$obj->getDokumente($row->notiz_id);
$this->result[] = $obj;
}
@@ -404,9 +404,9 @@ class notiz extends basis_db
public.tbl_notiz
LEFT JOIN public.tbl_notizzuordnung USING(notiz_id)
WHERE person_id = ' . $this->db_add_param($person_id, FHC_INTEGER) .
' AND (insertvon = ' . $this->db_add_param('online') .' OR insertvon = ' . $this->db_add_param('online_notiz').')
' AND (insertvon = ' . $this->db_add_param('online') .' OR insertvon = ' . $this->db_add_param('online_notiz').')
ORDER BY notiz_id';
ORDER BY notiz_id';
if($result = $this->db_query($qry))
{
@@ -444,7 +444,7 @@ class notiz extends basis_db
* (Name und Adresse der besuchten Schule) in eine Notiz mit
* insertvon = online_ausbildung gespeichert.
* Wird auf UDF umgebaut!
*
*
* Laedt die Notizen zur Ausbilund vom Bewerbungstool
* @param $person_id int
* @return boolean
@@ -457,8 +457,8 @@ class notiz extends basis_db
public.tbl_notiz
LEFT JOIN public.tbl_notizzuordnung USING(notiz_id)
WHERE person_id = ' . $this->db_add_param($person_id, FHC_INTEGER) .
' AND insertvon = ' . $this->db_add_param('online_ausbildung') .
' ORDER BY notiz_id';
' AND insertvon = ' . $this->db_add_param('online_ausbildung') .
' ORDER BY notiz_id';
if($result = $this->db_query($qry))
{
@@ -564,13 +564,13 @@ class notiz extends basis_db
}
}
/**
* Laedt die Dokumente der Notiz
* @return boolean
*/
public function getDokumente($notiz_id)
{
$qry = "SELECT dms_id FROM public.tbl_notiz_dokument WHERE notiz_id=".$this->db_add_param($notiz_id, FHC_INTEGER);
/**
* Laedt die Dokumente der Notiz
* @return boolean
*/
public function getDokumente($notiz_id)
{
$qry = "SELECT dms_id FROM public.tbl_notiz_dokument WHERE notiz_id=".$this->db_add_param($notiz_id, FHC_INTEGER);
if($this->db_query($qry))
{
@@ -579,12 +579,35 @@ class notiz extends basis_db
$this->dokumente[] = $row->dms_id;
}
return true;
return true;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
/**
* Prueft ob das Dokument an einer Notiz haengt
* @param $dms_id DMS id des Dokuments.
* @return boolean true wenn das Dokument an einer Notiz hängt, sonst false.
*/
public function isNotizDokument($dms_id)
{
$qry = "SELECT * FROM public.tbl_notiz_dokument WHERE dms_id=".$this->db_add_param($dms_id, FHC_INTEGER);
if($result = $this->db_query($qry))
{
if($this->db_num_rows($result)>0)
return true;
else
return false;
}
else
{
$this->errormsg = 'Fehler beim Laden der Daten';
return false;
}
}
}
+8 -1
View File
@@ -352,9 +352,10 @@ class zeitaufzeichnung extends basis_db
* @param $user
* @param $from startdatum als String in Form Y-m-d
* @param $to enddatum als String in Form Y-m-d
* @param $excluded_activities zu ignorierende Aktivitätstypen
* @return bool
*/
public function getListeUserFromTo($user, $from = null, $to = null)
public function getListeUserFromTo($user, $from = null, $to = null, $excluded_activities = null)
{
$where = "uid=".$this->db_add_param($user);
@@ -375,6 +376,12 @@ class zeitaufzeichnung extends basis_db
$where.= " AND ((start >= ".$this->db_add_param($from)."::DATE AND start <= ".$this->db_add_param($to)."::DATE)
OR (ende >= ".$this->db_add_param($from)."::DATE AND ende <= ".$this->db_add_param($to)."::DATE))";
if (!empty($excluded_activities))
{
$exactstring = is_array($excluded_activities) ? $this->db_implode4SQL($excluded_activities) : $this->db_add_param($excluded_activities);
$where .= " AND (aktivitaet_kurzbz NOT IN (" . $exactstring . ") OR aktivitaet_kurzbz IS NULL)";
}
$qry = "SELECT
*, to_char ((ende-start),'HH24:MI') as diff,
(SELECT (to_char(sum(ende-start),'DD')::integer)*24+to_char(sum(ende-start),'HH24')::integer || ':' || to_char(sum(ende-start),'MI')
+1
View File
@@ -149,6 +149,7 @@ $this->phrasen['benotungstool/pruefungAnlegenFuer']='Prüfung anlegen für';
$this->phrasen['benotungstool/kreuzerltool']='Kreuzerltool';
$this->phrasen['benotungstool/studentIstLvNichtZugeordnet']='Der Student %s %s (%s) ist dieser Lehrveranstaltung nicht zugeordnet. Die Note wird nicht uebernommen!';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Student mit Matrikelnummer %s existiert nicht.';
$this->phrasen['benotungstool/noteNichtUeberschreibbar']='Für Student mit Matrikelnummer %s eingetragene Zeugnisote %s ist nicht überschreibbar';
$this->phrasen['benotungstool/fehlerhafteNoteBeiStudent']='Fehlerhafte Note bei Student %s %s';
$this->phrasen['benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung']='Derzeit gibt es keine Kreuzerllisten für diese Lehrveranstaltung';
$this->phrasen['benotungstool/notenuebersichtFuer']='Notenübersicht</a> für';
+1
View File
@@ -148,6 +148,7 @@ $this->phrasen['benotungstool/pruefungAnlegenFuer']='Create an examination for '
$this->phrasen['benotungstool/kreuzerltool']='"Kreuzerl" tool';
$this->phrasen['benotungstool/studentIstLvNichtZugeordnet']='Student is not assigned to this course. The grade was not accepted!';
$this->phrasen['benotungstool/studentMitMatrikelnummerExistiertNicht']='Student with student ID number %s does not exist.';
$this->phrasen['benotungstool/noteNichtUeberschreibbar']='Transcript grade %2$s for student with Personal identifier %1$s is not rewritable';
$this->phrasen['benotungstool/fehlerhafteNoteBeiStudent']='Incorrect grade for student %s %s';
$this->phrasen['benotungstool/keineKreuzerllistenFuerDieseLehrveranstaltung']='There are currently no checklists for this course';
$this->phrasen['benotungstool/notenuebersichtFuer']='Grade list</a> for';
+7 -1
View File
@@ -84,7 +84,12 @@ function draw_row($row)
$hauptberuflich = $row->hauptberuflich?'Ja':'Nein';
else
$hauptberuflich = '';
if(is_bool($row->zeitaufzeichnungspflichtig))
$zeitaufzeichnungspflichtig = $row->zeitaufzeichnungspflichtig?'Ja':'Nein';
else
$zeitaufzeichnungspflichtig = '';
echo '
<RDF:li>
<RDF:Description id="'.$row->bisverwendung_id.'" about="'.$rdf_url.'/'.$row->bisverwendung_id.'" >
@@ -113,6 +118,7 @@ function draw_row($row)
<VERWENDUNG:insertvon><![CDATA['.$row->insertvon.']]></VERWENDUNG:insertvon>
<VERWENDUNG:dv_art><![CDATA['.$row->dv_art.']]></VERWENDUNG:dv_art>
<VERWENDUNG:inkludierte_lehre><![CDATA['.$row->inkludierte_lehre.']]></VERWENDUNG:inkludierte_lehre>
<VERWENDUNG:zeitaufzeichnungspflichtig><![CDATA['.$zeitaufzeichnungspflichtig.']]></VERWENDUNG:zeitaufzeichnungspflichtig>
</RDF:Description>
</RDF:li>
';
+119 -119
View File
@@ -42,13 +42,13 @@ $studiensemester = (isset($_REQUEST['ss'])?$_REQUEST['ss']:null);
$uid_arr = explode(";",$uid_arr);
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<?xml version='1.0' encoding='UTF-8' standalone='yes'?>\n";
echo "<studienblaetter>\n";
$uid = isset($uid_arr[1])?$uid_arr[1]:$uid_arr[0];
$konto = new konto();
$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))
{
@@ -57,36 +57,36 @@ if($student_help->load($uid))
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
default:
$studTyp ='';
$titel_kurzbz = '';
}
echo "\t<studiengang_typ>".$studTyp."</studiengang_typ>\n";
echo "\t<studiengang>".$studiengang->bezeichnung."</studiengang>\n";
echo "\t<studiengang><![CDATA[".$studiengang->bezeichnung."]]></studiengang>\n";
}
foreach($uid_arr as $uid)
{
if($uid=='')
continue;
echo "\t<studienblatt>\n";
echo "\t<studienblatt>\n";
$student = new student();
if($student->load($uid))
@@ -103,161 +103,161 @@ foreach($uid_arr as $uid)
$studienplan->loadStudienplan($prestudent->studienplan_id);
$staatsbuergerschaft = new nation();
$staatsbuergerschaft->load($student->staatsbuergerschaft);
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
$svnr = ($student->svnr == '')?'Ersatzkennzeichen: '.$student->ersatzkennzeichen:$student->svnr;
switch($student->geschlecht)
{
case 'm':
$geschlecht = 'Männlich';
$geschlecht = 'Männlich';
break;
case 'w':
$geschlecht = 'Weiblich';
break;
case 'w':
$geschlecht = 'Weiblich';
break;
case 'u':
$geschlecht = 'Unbekannt';
break;
default:
$geschlecht ='';
$geschlecht = 'Unbekannt';
break;
default:
$geschlecht ='';
}
//Wenn Lehrgang, dann Erhalter-KZ vor die Studiengangs-Kz hängen
if ($studienordnung->studiengang_kz<0)
{
$stg = new studiengang();
$stg->load($studienordnung->studiengang_kz);
$studiengang_kz = sprintf("%03s", $stg->erhalter_kz).sprintf("%04s", abs($studienordnung->studiengang_kz));
}
else
$studiengang_kz = sprintf("%04s", abs($studienordnung->studiengang_kz));
echo "\t\t<quote>1</quote>\n";
echo "\t\t<quote>1</quote>\n";
echo "\t\t<personenkz>".$uid."</personenkz>\n";
echo "\t\t<geschlecht>".$geschlecht."</geschlecht>\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<anrede><![CDATA[".$student->anrede."]]></anrede>\n";
echo "\t\t<vorname><![CDATA[".$student->vorname." ".$student->vornamen."]]></vorname>\n";
echo "\t\t<vornamen><![CDATA[".$student->vornamen."]]></vornamen>\n";
echo "\t\t<nachname><![CDATA[".$student->nachname."]]></nachname>\n";
echo "\t\t<titelpre><![CDATA[".$student->titelpre."]]></titelpre>\n";
echo "\t\t<titelpost><![CDATA[".$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<gebort><![CDATA[".$student->gebort."]]></gebort>\n";
echo "\t\t<staatsbuergerschaft><![CDATA[".$staatsbuergerschaft->langtext."]]></staatsbuergerschaft>\n";
echo "\t\t<svnr>".$svnr."</svnr>\n";
echo "\t\t<matr_nr>".trim($student->matr_nr)."</matr_nr>\n";
echo "\t\t<matrikelnr>".trim($student->matrikelnr)."</matrikelnr>\n";
echo "\t\t<studiengang>".$studienordnung->studiengangbezeichnung."</studiengang>\n";
echo "\t\t<studiengang_englisch>".$studienordnung->studiengangbezeichnung_englisch."</studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz>".$studienordnung->studiengangkurzbzlang."</studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz>".$studiengang_kz."</studiengang_kz>\n";
echo "\t\t<studiengangSprache>".$studienplan->sprache."</studiengangSprache>";
echo "\t\t<ects_gesamt>".$studienordnung->ects."</ects_gesamt>";
echo "\t\t<studiengang><![CDATA[".$studienordnung->studiengangbezeichnung."]]></studiengang>\n";
echo "\t\t<studiengang_englisch><![CDATA[".$studienordnung->studiengangbezeichnung_englisch."]]></studiengang_englisch>\n";
echo "\t\t<studiengang_kurzbz><![CDATA[".$studienordnung->studiengangkurzbzlang."]]></studiengang_kurzbz>\n";
echo "\t\t<studiengang_kz><![CDATA[".$studiengang_kz."]]></studiengang_kz>\n";
echo "\t\t<studiengangSprache><![CDATA[".$studienplan->sprache."]]></studiengangSprache>";
echo "\t\t<ects_gesamt>".$studienordnung->ects."</ects_gesamt>";
echo "\t\t<ects_pro_semester>".($studienplan->regelstudiendauer!=0?$studienordnung->ects/$studienplan->regelstudiendauer:0)."</ects_pro_semester>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
echo "\t\t<aktuellesJahr>".date('Y')."</aktuellesJahr>";
echo "\t\t<ausbildungssemester_aktuell>".$prestudent->ausbildungssemester."</ausbildungssemester_aktuell>";
$studiensemester_aktuell = new studiensemester();
$studiensemester_aktuell->load($studiensemester);
echo "\t\t<studiensemester_aktuell>".$studiensemester_aktuell->bezeichnung."</studiensemester_aktuell>";
echo "\t\t<studiensemester_aktuell><![CDATA[".$studiensemester_aktuell->bezeichnung."]]></studiensemester_aktuell>";
// check ob Oeh-Beitrag bezahlt wurde
$oehbeitrag = $konto->getOehBeitragGesamt($uid, $studiensemester_aktuell->studiensemester_kurzbz);
echo "\t\t<oehbeitrag>".str_replace('.', ',', $oehbeitrag)."</oehbeitrag>";
// check ob Quereinsteiger
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
$ausbildungssemester = ($prestudent->getFirstStatus($student->prestudent_id, 'Student'))?$prestudent->ausbildungssemester:'';
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>";
echo "\t\t<studiensemester_beginndatum>".date('d.m.Y',strtotime($studiensemester_beginn->start))."</studiensemester_beginndatum>";
$prestudent->getLastStatus($student->prestudent_id,$studiensemester);
$studiensemester_abschluss = new studiensemester();
$abschluss = $studiensemester_abschluss->jump($prestudent->studiensemester_kurzbz, $studienplan->regelstudiendauer-$prestudent->ausbildungssemester);
$studiensemester_abschluss->load($abschluss);
echo "\t\t<voraussichtlichLetztesStudiensemester>".$studiensemester_abschluss->bezeichnung."</voraussichtlichLetztesStudiensemester>";
echo "\t\t<voraussichtlichLetztesStudiensemester_datum>".date('d.m.Y',strtotime($studiensemester_abschluss->ende))."</voraussichtlichLetztesStudiensemester_datum>";
$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>";
$status_aktuell = ($prestudent->getLastStatus($student->prestudent_id,null,null))?$prestudent->status_kurzbz:'';
switch($status_aktuell)
{
case 'Student':
$studierendenstatus_aktuell = 'Aktive/r StudentIn';
$studierendenstatus_aktuell = 'Aktive/r StudentIn';
break;
case 'Unterbrecher':
$studierendenstatus_aktuell = 'UnterbrecherIn';
break;
case 'Unterbrecher':
$studierendenstatus_aktuell = 'UnterbrecherIn';
break;
case 'Absolvent':
$studierendenstatus_aktuell = 'AbsolventIn';
$studierendenstatus_aktuell = 'AbsolventIn';
break;
case 'Diplomand':
$studierendenstatus_aktuell = 'DiplomandIn';
break;
$studierendenstatus_aktuell = 'DiplomandIn';
break;
case 'Abbrecher':
$studierendenstatus_aktuell = 'AbbrecherIn';
break;
default:
$studierendenstatus_aktuell ='';
default:
$studierendenstatus_aktuell ='';
}
echo "\t\t<studierendenstatus_aktuell>".$studierendenstatus_aktuell."</studierendenstatus_aktuell>\n";
echo "\t\t<datum_reifepruefung>".$prestudent->zgvdatum."</datum_reifepruefung>\n";
$zgv = new zgv($prestudent->zgv_code);
echo "\t\t<schulform_zgv>".$zgv->zgv_kurzbz."</schulform_zgv>\n";
echo "\t\t<studienplan_bezeichnung>".$studienplan->bezeichnung."</studienplan_bezeichnung>\n";
echo "\t\t<schulform_zgv><![CDATA[".$zgv->zgv_kurzbz."]]></schulform_zgv>\n";
echo "\t\t<studienplan_bezeichnung><![CDATA[".$studienplan->bezeichnung."]]></studienplan_bezeichnung>\n";
echo "\t\t<anmerkungpre><![CDATA[$prestudent->anmerkung]]></anmerkungpre>\n";
$titel_kurzbz = '';
switch($studiengang->typ)
{
case 'b':
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
$studTyp = 'Bachelor';
$titel_kurzbz = 'BSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'm':
$studTyp = 'Master';
$titel_kurzbz ='MSc';
break;
case 'd':
$studTyp = 'Diplom';
break;
$studTyp = 'Diplom';
break;
case 'l':
$studTyp = 'Lehrgang';
$studTyp = 'Lehrgang';
break;
case 'k':
$studTyp = 'Kurzstudium';
$studTyp = 'Kurzstudium';
break;
default:
$studTyp ='';
$titel_kurzbz = '';
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<studienplan_sprache>".$studienplan->sprache."</studienplan_sprache>\n";
echo "\t\t<titel_kurzbz><![CDATA[".$titel_kurzbz."]]></titel_kurzbz>\n";
echo "\t\t<studiengang_typ><![CDATA[".$studTyp."]]></studiengang_typ>\n";
echo "\t\t<studienplan_sprache><![CDATA[".$studienplan->sprache."]]></studienplan_sprache>\n";
echo "\t\t<regelstudiendauer>".$studienplan->regelstudiendauer."</regelstudiendauer>\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";
echo "\t\t<akadgrad><![CDATA[".$akadgrad->titel."]]></akadgrad>\n";
echo "\t\t<akadgrad_kurzbz><![CDATA[".$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='';
@@ -272,26 +272,26 @@ foreach($uid_arr as $uid)
$lv_studiengang=new studiengang();
$lv_studiengang->load($lv_studiengang_kz);
$lv_studiengang_bezeichnung=$lv_studiengang->bezeichnung;
$stg_typ->getStudiengangTyp($lv_studiengang->typ);
$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<lv_studiengang_typ><![CDATA[$lv_studiengang_typ]]></lv_studiengang_typ>";
echo "\t\t<lv_studiengang_bezeichnung><![CDATA[$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)
{
echo "\t\t<strasse><![CDATA[$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";
echo "\t\t<plz><![CDATA[".$row_adresse->plz." ".$row_adresse->ort."]]></plz>\n";
echo "\t\t<nation><![CDATA[".$row_adresse->nation."]]></nation>\n";
break;
}
}
@@ -300,25 +300,25 @@ foreach($uid_arr as $uid)
if($row_adresse->heimatadresse)
{
echo "\t\t<heimat_strasse><![CDATA[$row_adresse->strasse]]></heimat_strasse>\n";
echo "\t\t<heimat_plz>".$row_adresse->plz." ".$row_adresse->ort."</heimat_plz>\n";
echo "\t\t<heimat_nation>".$row_adresse->nation."</heimat_nation>\n";
echo "\t\t<heimat_plz><![CDATA[".$row_adresse->plz." ".$row_adresse->ort."]]></heimat_plz>\n";
echo "\t\t<heimat_nation><![CDATA[".$row_adresse->nation."]]></heimat_nation>\n";
break;
}
}
$prestudent = new prestudent();
$prestudent->getLastStatus($student->prestudent_id, null);
if($prestudent->orgform_kurzbz!='')
$orgform = $prestudent->orgform_kurzbz;
else
$orgform = $studienplan->orgform_kurzbz;
$orgform_bez = new organisationsform();
$orgform_bez->load($orgform);
echo "\t\t<orgform>".$orgform."</orgform>\n";
echo "\t\t<orgform_bezeichnung>".$orgform_bez->bezeichnung."</orgform_bezeichnung>\n";
echo "\t\t<orgform><![CDATA[".$orgform."]]></orgform>\n";
echo "\t\t<orgform_bezeichnung><![CDATA[".$orgform_bez->bezeichnung."]]></orgform_bezeichnung>\n";
//Studiengangsleiter auslesen
$stg_oe_obj = new studiengang($studienordnung->studiengang_kz);
if ($studienordnung->studiengang_kz=='')
@@ -331,11 +331,11 @@ foreach($uid_arr as $uid)
$stgl_ma = new mitarbeiter($stgleiter_uid);
$stgl .= trim($stgl_ma->titelpre.' '.$stgl_ma->vorname.' '.$stgl_ma->nachname.' '.$stgl_ma->titelpost);
}
echo "\t\t<stgl>$stgl</stgl>\n";
}
echo "\t\t<stgl><![CDATA[$stgl]]></stgl>\n";
}
echo "\t</studienblatt>\n";
}
echo "</studienblaetter>";
echo "</studienblaetter>";
?>
+51 -2
View File
@@ -2383,6 +2383,55 @@ if(!$result = @$db->db_query("SELECT updateaktivam FROM campus.vw_mitarbeiter LI
echo '<br>campus.vw_mitarbeiter: Spalte updateaktivam, updateaktivon, lastupdate hinzugefuegt';
}
// Spalte lkt_ueberschreibbar in lehre.tbl_note
if(!$result = @$db->db_query("SELECT lkt_ueberschreibbar FROM lehre.tbl_note LIMIT 1;"))
{
$qry = "ALTER TABLE lehre.tbl_note ADD COLUMN lkt_ueberschreibbar boolean NOT NULL DEFAULT true;";
if(!$db->db_query($qry))
echo '<strong>lehre.tbl_note: '.$db->db_last_error().'</strong><br>';
else
echo '<br>lehre.tbl_note: Spalte lkt_ueberschreibbar hinzugefuegt!<br>';
}
// ADD COLUMN zeitaufzeichnungspflichtig to bis.tbl_bisverwendung
// UPDATE zeitaufzeichnungspflichtig in bis.tbl_bisverwendung
if(!@$db->db_query("SELECT zeitaufzeichnungspflichtig FROM bis.tbl_bisverwendung LIMIT 1"))
{
$qry = "ALTER TABLE bis.tbl_bisverwendung ADD COLUMN zeitaufzeichnungspflichtig boolean;
UPDATE
bis.tbl_bisverwendung
SET
zeitaufzeichnungspflichtig=true
FROM
public.tbl_mitarbeiter
WHERE
tbl_bisverwendung.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid
AND
fixangestellt=true;
UPDATE
bis.tbl_bisverwendung
SET
zeitaufzeichnungspflichtig=false
FROM
public.tbl_mitarbeiter
WHERE
tbl_bisverwendung.mitarbeiter_uid = tbl_mitarbeiter.mitarbeiter_uid
AND
fixangestellt=false;
COMMENT ON COLUMN bis.tbl_bisverwendung.zeitaufzeichnungspflichtig IS 'CaseTime Monatslisten mit Vertragsbeginn verpflichtend führen?';";
if(!$db->db_query($qry))
echo '<strong>bis.tbl_bisverwendung '.$db->db_last_error().'</strong><br>';
else
echo "<br>Spalte zeitaufzeichnungspflichtig in bis.tbl_bisverwendung hinzugefügt"
. "<br>Fix angestellte Mitarbeiter auf true gesetzt, alle anderen auf false";
}
// Spalte Priorisierung für tbl_prestudent
if(!$result = @$db->db_query("SELECT priorisierung FROM public.tbl_prestudent LIMIT 1"))
{
@@ -2410,7 +2459,7 @@ $tabellen=array(
"bis.tbl_besqual" => array("besqualcode","besqualbez"),
"bis.tbl_bisfunktion" => array("bisverwendung_id","studiengang_kz","sws","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_bisio" => array("bisio_id","mobilitaetsprogramm_code","nation_code","von","bis","zweck_code","student_uid","updateamum","updatevon","insertamum","insertvon","ext_id","ort","universitaet","lehreinheit_id"),
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre"),
"bis.tbl_bisverwendung" => array("bisverwendung_id","ba1code","ba2code","vertragsstunden","beschausmasscode","verwendung_code","mitarbeiter_uid","hauptberufcode","hauptberuflich","habilitation","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id","dv_art","inkludierte_lehre","zeitaufzeichnungspflichtig"),
"bis.tbl_bundesland" => array("bundesland_code","kurzbz","bezeichnung"),
"bis.tbl_entwicklungsteam" => array("mitarbeiter_uid","studiengang_kz","besqualcode","beginn","ende","updateamum","updatevon","insertamum","insertvon","ext_id"),
"bis.tbl_gemeinde" => array("gemeinde_id","plz","name","ortschaftskennziffer","ortschaftsname","bulacode","bulabez","kennziffer"),
@@ -2515,7 +2564,7 @@ $tabellen=array(
"lehre.tbl_notenschluessel" => array("notenschluessel_kurzbz","bezeichnung"),
"lehre.tbl_notenschluesselaufteilung" => array("notenschluesselaufteilung_id","notenschluessel_kurzbz","note","punkte"),
"lehre.tbl_notenschluesselzuordnung" => array("notenschluesselzuordnung_id","notenschluessel_kurzbz","lehrveranstaltung_id","studienplan_id","oe_kurzbz","studiensemester_kurzbz"),
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre","offiziell","bezeichnung_mehrsprachig"),
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe","positiv","notenwert","aktiv","lehre","offiziell","bezeichnung_mehrsprachig","lkt_ueberschreibbar"),
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache","final"),
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id","vertrag_id"),
"lehre.tbl_projekttyp" => array("projekttyp_kurzbz","bezeichnung"),