mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-28 09:29:38 +00:00
Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -22,7 +22,6 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
*/
|
||||
public function getLehrveranstaltungGroupNames($studiensemester_kurzbz, $ausbildungssemester = null, $studiengang_kz = null, $lehrveranstaltung_ids = null)
|
||||
{
|
||||
$this->load->model('system/studiensemester_model', 'StudiensemesterModel');
|
||||
$this->load->model('organisation/studiengang_model', 'StudiengangModel');
|
||||
|
||||
$studiengang_kz_arr = array();
|
||||
@@ -60,6 +59,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->load->model('organisation/studiensemester_model', 'StudiensemesterModel');
|
||||
foreach ($studiengang_kz_arr as $studiengang_kz_item)
|
||||
{
|
||||
$result = $this->StudiensemesterModel->getAusbildungssemesterByStudiensemesterAndStudiengang($studiensemester_kurzbz, $studiengang_kz_item);
|
||||
@@ -88,7 +88,7 @@ class Lehrveranstaltung_model extends DB_Model
|
||||
|
||||
$query = "
|
||||
|
||||
SELECT lehrveranstaltung_id, ? || '_' || kuerzel || '_' || lvpostfix AS lvgroupname
|
||||
SELECT lehrveranstaltung_id, ? || '_' || kuerzel || '_' || replace(lvpostfix, ' ', '-') AS lvgroupname
|
||||
FROM(
|
||||
SELECT DISTINCT ON (kuerzel, lvpostfix)
|
||||
lehrveranstaltung_id,
|
||||
|
||||
@@ -25,8 +25,10 @@ class Benutzerfunktion_model extends DB_Model
|
||||
|
||||
/**
|
||||
* Gets all Benutzer for a given OE and specified Benutzerfunktionen
|
||||
* @param $oe_kurzbz
|
||||
* @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
|
||||
* @return array|null
|
||||
*/
|
||||
public function getBenutzerFunktionen($funktion_kurzbz, $oe_kurzbz = null, $activeoeonly = false, $activebenonly = false)
|
||||
@@ -41,7 +43,7 @@ class Benutzerfunktion_model extends DB_Model
|
||||
if ($activebenonly === true)
|
||||
$query .= " JOIN public.tbl_benutzer USING(uid)";
|
||||
|
||||
$query .= "WHERE (datum_von <= NOW() OR datum_von IS NULL) AND (datum_bis >= NOW() OR datum_bis IS NULL)";
|
||||
$query .= " WHERE (datum_von <= NOW() OR datum_von IS NULL) AND (datum_bis >= NOW() OR datum_bis IS NULL)";
|
||||
|
||||
if (is_string($funktion_kurzbz))
|
||||
{
|
||||
|
||||
@@ -33,6 +33,7 @@ require_once('../../../include/mitarbeiter.class.php');
|
||||
require_once('../../../include/mail.class.php');
|
||||
require_once('../../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../../include/phrasen.class.php');
|
||||
require_once('../../../include/zeitaufzeichnung.class.php');
|
||||
|
||||
$sprache = getSprache();
|
||||
$p = new phrasen($sprache);
|
||||
@@ -44,6 +45,8 @@ $uid = get_uid();
|
||||
|
||||
$PHP_SELF = $_SERVER['PHP_SELF'];
|
||||
|
||||
$typen_arr = array("Urlaub", "PflegeU", "ZA", "Krank", "DienstF", "DienstV");
|
||||
|
||||
if(isset($_GET['type']))
|
||||
$type=$_GET['type'];
|
||||
|
||||
@@ -65,6 +68,17 @@ if(isset($_GET['uid']))
|
||||
$datum_obj = new datum();
|
||||
$ma= new mitarbeiter();
|
||||
|
||||
// definiert bis zu welchem Datum die Eintragung nicht mehr möglich ist
|
||||
$zasperre = new zeitaufzeichnung();
|
||||
if ($sperrdat = $zasperre->getEintragungGesperrtBisForUser($uid))
|
||||
$gesperrt_bis = $sperrdat;
|
||||
else if (defined('CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS') && CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS != '')
|
||||
$gesperrt_bis = CIS_ZEITAUFZEICHNUNG_GESPERRT_BIS;
|
||||
else
|
||||
$gesperrt_bis = '2015-08-31';
|
||||
|
||||
//echo $gesperrt_bis;
|
||||
|
||||
//Stundentabelleholen
|
||||
if(! $result_stunde=$db->db_query("SELECT * FROM lehre.tbl_stunde ORDER BY stunde"))
|
||||
die($db->db_last_error());
|
||||
@@ -268,6 +282,8 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
{
|
||||
$error=false;
|
||||
$error_msg='';
|
||||
|
||||
|
||||
//von-datum pruefen
|
||||
if(isset($_POST['vondatum']) && !$datum_obj->checkDatum($_POST['vondatum']))
|
||||
{
|
||||
@@ -290,6 +306,7 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
if (@checkdate($date[1], $date[0], $date[2]))
|
||||
{
|
||||
$vondatum=$date[2].$date[1].$date[0];
|
||||
$vondatum_iso = $date[2].'-'.$date[1].'-'.$date[0];
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -327,7 +344,12 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
|
||||
$error_msg .= $p->t('zeitsperre/vonDatumGroesserAlsBisDatum').'! ';
|
||||
}
|
||||
|
||||
|
||||
//von-datum pruefen TODO
|
||||
if($vondatum_iso < $gesperrt_bis && in_array($_POST['zeitsperretyp_kurzbz'],$typen_arr))
|
||||
{
|
||||
$error=true;
|
||||
$error_msg .= $p->t('zeitsperre/vorSperrdatum');
|
||||
}
|
||||
|
||||
$zeitsperre = new zeitsperre();
|
||||
|
||||
@@ -448,7 +470,11 @@ if(isset($_GET['type']) && $_GET['type']=='delete_sperre')
|
||||
//besitzer dieses datensatzes ist
|
||||
if($zeit->mitarbeiter_uid==$uid)
|
||||
{
|
||||
if($zeit->delete($_GET['id']))
|
||||
if ($zeit->vondatum < $gesperrt_bis && in_array($zeit->zeitsperretyp_kurzbz,$typen_arr))
|
||||
{
|
||||
echo "<span class='error'>".$p->t('zeitsperre/vorSperrdatum')."</span>";
|
||||
}
|
||||
else if($zeit->delete($_GET['id']))
|
||||
{
|
||||
echo $p->t('global/erfolgreichgelöscht');
|
||||
}
|
||||
@@ -473,6 +499,7 @@ if($result = $db->db_query($qry))
|
||||
$erreichbarkeit_arr[$row->erreichbarkeit_kurzbz]=$row->beschreibung;
|
||||
}
|
||||
}
|
||||
|
||||
//liste aller zeitsperren ausgeben
|
||||
if(count($zeit->result)>0)
|
||||
{
|
||||
@@ -499,9 +526,13 @@ if(count($zeit->result)>0)
|
||||
<td align='center'>".($row->freigabeamum!=''?'Ja':'')."</td>";
|
||||
if ($row->zeitsperretyp_kurzbz == 'DienstV')
|
||||
$content_table .= '<td> </td>';
|
||||
else if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||
$content_table .= '<td> </td>';
|
||||
else
|
||||
$content_table.="<td><a href='$PHP_SELF?type=edit&id=$row->zeitsperre_id' class='Item'>".$p->t('zeitsperre/edit')."</a></td>";
|
||||
if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
|
||||
if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
|
||||
$content_table .= '<td> </td>';
|
||||
else if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
|
||||
{
|
||||
$content_table.="\n<td><a href='$PHP_SELF?type=delete_sperre&id=$row->zeitsperre_id' onclick='return conf_del()' class='Item'>".$p->t('zeitsperre/loeschen')."</a></td>";
|
||||
}
|
||||
|
||||
@@ -112,7 +112,10 @@ list(
|
||||
getUserAmpelData($user);
|
||||
|
||||
//sort ampeln
|
||||
$user_ampel_arr = sortUserAmpelData($user_ampel_arr);
|
||||
if (!empty($user_ampel_arr))
|
||||
{
|
||||
$user_ampel_arr = sortUserAmpelData($user_ampel_arr);
|
||||
}
|
||||
|
||||
//filter ampeln for popup (if at least one mandatory, which is neither expired nor before vorlaufzeit)
|
||||
if ($is_popup)
|
||||
@@ -224,20 +227,27 @@ function getUserAmpelData($user)
|
||||
function sortUserAmpelData($user_ampel_arr)
|
||||
{
|
||||
//first: sort deadline
|
||||
$deadline_arr = array();
|
||||
foreach ($user_ampel_arr as $key => $val)
|
||||
$deadline[$key] = $val['deadline'];
|
||||
{
|
||||
$deadline_arr[$key] = $val['deadline'];
|
||||
}
|
||||
|
||||
array_multisort($deadline, SORT_DESC, $user_ampel_arr);
|
||||
|
||||
array_multisort($deadline_arr, SORT_DESC, $user_ampel_arr);
|
||||
|
||||
//second: sort inactive after active
|
||||
$active_ampel_arr = array();
|
||||
$inactive_ampel_arr = array();
|
||||
foreach ($user_ampel_arr as $user_ampel)
|
||||
{
|
||||
if ($user_ampel['active'])
|
||||
{
|
||||
$active_ampel_arr[] = $user_ampel;
|
||||
}
|
||||
else
|
||||
{
|
||||
$inactive_ampel_arr[] = $user_ampel;
|
||||
}
|
||||
}
|
||||
return $user_ampel_arr = array_merge($active_ampel_arr, $inactive_ampel_arr);
|
||||
}
|
||||
|
||||
@@ -987,7 +987,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
|
||||
<input type="text" class="datepicker_datum" id="von_datum" name="von_datum" value="'.$db->convert_html_chars($datum->formatDatum($von, $format='d.m.Y')).'" size="9">
|
||||
<input onchange="checkZeiten()" type="text" class="timepicker" id="von_uhrzeit" name="von_uhrzeit" value="'.$db->convert_html_chars($datum->formatDatum($von, $format='H:i')).'" size="4">
|
||||
</td>';
|
||||
if ($za_simple == 0)
|
||||
if ($za_simple == 0 || $anzprojekte > 0)
|
||||
{
|
||||
echo '
|
||||
<td align="center">
|
||||
|
||||
+2
-2
@@ -330,7 +330,7 @@ if (isset($_POST['fileupload']))
|
||||
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile))
|
||||
{
|
||||
$dms = new dms();
|
||||
|
||||
|
||||
if(!$dms->setPermission($uploadfile))
|
||||
echo $dms->errormsg;
|
||||
|
||||
@@ -1616,7 +1616,7 @@ function drawChangeKategorie($dms_id, $page = NULL, $dpp = NULL)
|
||||
if ($kategorienResult->kategorie_kurzbz == $dms->kategorie_kurzbz)
|
||||
$selected = 'selected';
|
||||
|
||||
echo '<option '.$selected.' value="'.$kategorienResult->kategorie_kurzbz.'">'.$x.$kategorienResult->bezeichnung.' ['.$kategorienResult->kategorie_kurzbz.']</option>';
|
||||
echo '<option '.$selected.' value="'.$kategorienResult->kategorie_kurzbz.'">'.$kategorienResult->bezeichnung.' ['.$kategorienResult->kategorie_kurzbz.']</option>';
|
||||
}
|
||||
|
||||
echo '</select>
|
||||
|
||||
@@ -267,6 +267,8 @@
|
||||
"ml/json-ld": "1.*",
|
||||
"mottie/tablesorter": "^2.29",
|
||||
|
||||
"nategood/httpful": "^0.2.20",
|
||||
|
||||
"netcarver/textile": "^3.5",
|
||||
"nicolaskruchten/pivottable": "^2.15.0",
|
||||
|
||||
|
||||
Generated
+52
-2
@@ -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": "0a7b99cf08f40f15cad6397a2097d834",
|
||||
"content-hash": "4065f6ebe38d16462908ebbdac8adf7d",
|
||||
"hash": "e5e3e110545316baa4087a8e1a283a7c",
|
||||
"content-hash": "e191f9af8e2103de78eaa130122ec72b",
|
||||
"packages": [
|
||||
{
|
||||
"name": "BlackrockDigital/startbootstrap-sb-admin-2",
|
||||
@@ -1159,6 +1159,56 @@
|
||||
],
|
||||
"time": "2018-07-10 13:32:19"
|
||||
},
|
||||
{
|
||||
"name": "nategood/httpful",
|
||||
"version": "0.2.20",
|
||||
"source": {
|
||||
"type": "git",
|
||||
"url": "https://github.com/nategood/httpful.git",
|
||||
"reference": "c1cd4d46a4b281229032cf39d4dd852f9887c0f6"
|
||||
},
|
||||
"dist": {
|
||||
"type": "zip",
|
||||
"url": "https://api.github.com/repos/nategood/httpful/zipball/c1cd4d46a4b281229032cf39d4dd852f9887c0f6",
|
||||
"reference": "c1cd4d46a4b281229032cf39d4dd852f9887c0f6",
|
||||
"shasum": ""
|
||||
},
|
||||
"require": {
|
||||
"ext-curl": "*",
|
||||
"php": ">=5.3"
|
||||
},
|
||||
"require-dev": {
|
||||
"phpunit/phpunit": "*"
|
||||
},
|
||||
"type": "library",
|
||||
"autoload": {
|
||||
"psr-0": {
|
||||
"Httpful": "src/"
|
||||
}
|
||||
},
|
||||
"notification-url": "https://packagist.org/downloads/",
|
||||
"license": [
|
||||
"MIT"
|
||||
],
|
||||
"authors": [
|
||||
{
|
||||
"name": "Nate Good",
|
||||
"email": "me@nategood.com",
|
||||
"homepage": "http://nategood.com"
|
||||
}
|
||||
],
|
||||
"description": "A Readable, Chainable, REST friendly, PHP HTTP Client",
|
||||
"homepage": "http://github.com/nategood/httpful",
|
||||
"keywords": [
|
||||
"api",
|
||||
"curl",
|
||||
"http",
|
||||
"requests",
|
||||
"rest",
|
||||
"restful"
|
||||
],
|
||||
"time": "2015-10-26 16:11:30"
|
||||
},
|
||||
{
|
||||
"name": "netcarver/textile",
|
||||
"version": "v3.6.0",
|
||||
|
||||
@@ -4529,9 +4529,13 @@ function StudentAnrechnungNeu()
|
||||
var col = tree.columns ? tree.columns["student-treecol-studiengang_kz"] : "student-treecol-studiengang_kz";
|
||||
var stg_kz = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
// Prestudent-ID ermitteln
|
||||
var col = tree.columns ? tree.columns["student-treecol-prestudent_id"] : "student-treecol-prestudent_id";
|
||||
var prestudentId = tree.view.getCellText(tree.currentIndex,col);
|
||||
|
||||
//Lehrveranstaltung Drop Down laden
|
||||
var LVDropDown = document.getElementById('student-anrechnungen-menulist-lehrveranstaltung');
|
||||
url="<?php echo APP_ROOT;?>rdf/lehrveranstaltung.rdf.php?stg_kz="+stg_kz+"&"+gettimestamp();
|
||||
url="<?php echo APP_ROOT;?>rdf/lehrveranstaltung_studienplan.rdf.php?&prestudent="+prestudentId+"&"+gettimestamp();
|
||||
|
||||
//Alte DS entfernen
|
||||
var oldDatasources = LVDropDown.database.GetDataSources();
|
||||
|
||||
@@ -421,6 +421,22 @@ class benutzerberechtigung extends basis_db
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, tbl_benutzerfunktion.uid, tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_rolleberechtigung.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_rolleberechtigung.art art1,
|
||||
tbl_benutzerfunktion.oe_kurzbz, tbl_benutzerrolle.studiensemester_kurzbz, tbl_benutzerrolle.start,
|
||||
tbl_benutzerrolle.ende, tbl_benutzerrolle.negativ, tbl_benutzerrolle.updateamum, tbl_benutzerrolle.updatevon,
|
||||
tbl_benutzerrolle.insertamum, tbl_benutzerrolle.insertvon,tbl_benutzerrolle.kostenstelle_id,tbl_benutzerrolle.anmerkung
|
||||
FROM
|
||||
system.tbl_benutzerrolle
|
||||
JOIN public.tbl_benutzerfunktion USING(funktion_kurzbz)
|
||||
JOIN system.tbl_rolleberechtigung ON(tbl_benutzerrolle.rolle_kurzbz=tbl_rolleberechtigung.rolle_kurzbz)
|
||||
WHERE tbl_benutzerfunktion.uid=".$this->db_add_param($uid)."
|
||||
AND (tbl_benutzerfunktion.datum_von IS NULL OR tbl_benutzerfunktion.datum_von<=now())
|
||||
AND (tbl_benutzerfunktion.datum_bis IS NULL OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
|
||||
UNION
|
||||
|
||||
SELECT
|
||||
benutzerberechtigung_id, '', tbl_benutzerrolle.funktion_kurzbz,
|
||||
tbl_benutzerrolle.rolle_kurzbz, tbl_benutzerrolle.berechtigung_kurzbz, tbl_benutzerrolle.art, tbl_benutzerrolle.art art1,
|
||||
|
||||
@@ -1097,42 +1097,4 @@ function PersonLog($person_id, $logtype_kurzbz, $logdata, $taetigkeit_kurzbz, $a
|
||||
$personlog = new personlog();
|
||||
$personlog->log($person_id, $logtype_kurzbz, $logdata, $taetigkeit_kurzbz, $app, $oe_kurzbz, $user);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sendet einen Request an den CaseTime Server um die Daten dort zu speichern
|
||||
*/
|
||||
function getCaseTimeErrors($uid)
|
||||
{
|
||||
$ch = curl_init();
|
||||
|
||||
$url = CASETIME_SERVER.'/sync/get_zeitfehler';
|
||||
|
||||
$params = 'sachb='.$uid;
|
||||
|
||||
curl_setopt($ch, CURLOPT_URL, $url.'?'.$params ); //Url together with parameters
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); //Return data instead printing directly in Browser
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT , 7); //Timeout after 7 seconds
|
||||
curl_setopt($ch, CURLOPT_USERAGENT , "FH-Complete CaseTime Addon");
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
|
||||
$result = curl_exec($ch);
|
||||
|
||||
if(curl_errno($ch))
|
||||
{
|
||||
return 'Curl error: ' . curl_error($ch);
|
||||
curl_close($ch);
|
||||
}
|
||||
else
|
||||
{
|
||||
curl_close($ch);
|
||||
$data = json_decode($result);
|
||||
|
||||
if(isset($data->STATUS) && $data->STATUS=='OK')
|
||||
{
|
||||
return $data->RESULT;
|
||||
}
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
+40
-38
@@ -23,8 +23,8 @@
|
||||
/**
|
||||
* Klasse Mail
|
||||
* @create 2008-11-20
|
||||
*
|
||||
* Versendet ein Mail als Text, Html, CC und BCC Empfaenger,
|
||||
*
|
||||
* Versendet ein Mail als Text, Html, CC und BCC Empfaenger,
|
||||
* Replyto und Attachments
|
||||
*/
|
||||
|
||||
@@ -40,7 +40,7 @@ class mail
|
||||
public $htmlContent;
|
||||
public $attachments;
|
||||
public $errormsg;
|
||||
|
||||
|
||||
/**
|
||||
* MAIL - Konstruktor
|
||||
* $to Empfaenger
|
||||
@@ -73,18 +73,18 @@ class mail
|
||||
$this->BCC_recievers = ($this->BCC_recievers!=''?MAIL_DEBUG:'');
|
||||
$this->replyTo = ($this->replyTo!=''?MAIL_DEBUG:'');
|
||||
}
|
||||
|
||||
|
||||
$mime_boundary_alternative = 'ALT+'.md5(time());
|
||||
$mime_boundary_mixed = 'MIXD+'.md5(time());
|
||||
$eol="\n";
|
||||
|
||||
|
||||
if(defined('MAIL_FROM') && MAIL_FROM!='')
|
||||
$this->sender = MAIL_FROM;
|
||||
|
||||
// Header
|
||||
$header = '';
|
||||
$header .= "From: {$this->sender}".$eol;
|
||||
|
||||
|
||||
if (!empty($this->CC_recievers))
|
||||
$header .= "CC: {$this->CC_recievers}".$eol;
|
||||
if (!empty($this->BCC_recievers))
|
||||
@@ -94,11 +94,13 @@ class mail
|
||||
if (!empty($this->replyTo))
|
||||
$header .= "Return-Path: {$this->replyTo}".$eol;
|
||||
|
||||
$header .= 'X-Mailer: FHComplete V1'.$eol;
|
||||
$header .= 'X-Mailer: FHComplete V1'.$eol;
|
||||
$header .= 'Mime-Version: 1.0'.$eol;
|
||||
$header .= 'Precedence: bulk'.$eol;
|
||||
$header .= 'Auto-Submitted: auto-generated'.$eol;
|
||||
$header .= "Content-Type: multipart/related; boundary=\"$mime_boundary_mixed\"".$eol;
|
||||
$header .= "Content-Transfer-Encoding: 8bit".$eol;
|
||||
|
||||
|
||||
// Body
|
||||
$mailbody = "";
|
||||
$mailbody .= $eol;
|
||||
@@ -112,8 +114,8 @@ class mail
|
||||
$mailbody .= $this->textContent[0];
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $eol;
|
||||
|
||||
if (!empty($this->htmlContent[0]))
|
||||
|
||||
if (!empty($this->htmlContent[0]))
|
||||
{
|
||||
$mailbody .= "--$mime_boundary_alternative".$eol;
|
||||
$mailbody .= "Content-Type: text/html; charset={$this->htmlContent[1]}".$eol;
|
||||
@@ -126,17 +128,17 @@ class mail
|
||||
$mailbody .= "--{$mime_boundary_alternative}--".$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
|
||||
|
||||
// Attachments Plain
|
||||
if (is_array($this->attachmentsplain) && (count($this->attachmentsplain) > 0))
|
||||
if (is_array($this->attachmentsplain) && (count($this->attachmentsplain) > 0))
|
||||
{
|
||||
foreach ($this->attachmentsplain as $attachment)
|
||||
foreach ($this->attachmentsplain as $attachment)
|
||||
{
|
||||
$dispo = 'attachment';
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "Content-Disposition: $dispo; filename={$attachment[2]}".$eol;
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
|
||||
|
||||
$mailbody .= 'Content-Transfer-Encoding: '.$attachment[3].$eol;
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= $attachment[0];
|
||||
@@ -144,17 +146,17 @@ class mail
|
||||
$mailbody .= "--$mime_boundary_mixed";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Attachments Binary
|
||||
if (is_array($this->attachments) && (count($this->attachments) > 0))
|
||||
if (is_array($this->attachments) && (count($this->attachments) > 0))
|
||||
{
|
||||
foreach ($this->attachments as $attachment)
|
||||
foreach ($this->attachments as $attachment)
|
||||
{
|
||||
$dispo = empty($attachment[3]) ? 'attachment' : 'inline';
|
||||
$mailbody .= $eol;
|
||||
$mailbody .= "Content-Disposition: $dispo; filename={$attachment[2]}".$eol;
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
if (!empty($attachment[3]))
|
||||
$mailbody .= "Content-Type: {$attachment[1]}; name={$attachment[2]}".$eol;
|
||||
if (!empty($attachment[3]))
|
||||
{
|
||||
$mailbody .= "Content-ID: <{$attachment[3]}>".$eol;
|
||||
}
|
||||
@@ -166,15 +168,15 @@ class mail
|
||||
}
|
||||
}
|
||||
$mailbody .= "--".$eol;
|
||||
|
||||
|
||||
// Subject Encoding setzen
|
||||
$subject = "=?UTF-8?B?".base64_encode($this->subject)."?=";
|
||||
|
||||
|
||||
// Senden
|
||||
if(mail($this->to, $subject, $mailbody, $header))
|
||||
return true;
|
||||
else
|
||||
return false;
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -187,7 +189,7 @@ class mail
|
||||
$this->textContent[2] = $encoding;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Setzt den HTMLText fuer ein Mail
|
||||
*/
|
||||
@@ -198,7 +200,7 @@ class mail
|
||||
$this->htmlContent[2] = $encoding;
|
||||
if (empty($this->textContent[0]))
|
||||
$this->setTextContent(strip_tags($html), $charset, $encoding);
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -211,27 +213,27 @@ class mail
|
||||
*/
|
||||
public function addAttachmentBinary($file, $type, $name, $ContentID = "")
|
||||
{
|
||||
if (!file_exists($file))
|
||||
if (!file_exists($file))
|
||||
{
|
||||
$this->errormsg = 'Attachment wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$handle = fopen($file,'rb');
|
||||
if (!$handle)
|
||||
if (!$handle)
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Oeffnen der Datei';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$file_content = fread($handle,filesize($file));
|
||||
@fclose($handle);
|
||||
|
||||
|
||||
$attachment_string = chunk_split(base64_encode($file_content));
|
||||
$this->attachments[] = Array($attachment_string, $type, $name, $ContentID);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fuegt ein Bild zum Mail hinzu
|
||||
* $image image-URL
|
||||
@@ -242,16 +244,16 @@ class mail
|
||||
public function addEmbeddedImage ($image, $type, $name = '', $ContentID)
|
||||
{
|
||||
$image_string = file_get_contents($image);
|
||||
if (!$image_string)
|
||||
if (!$image_string)
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Einlesen der Datei';
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
$image_b64 = chunk_split(base64_encode($image_string), 76, "\n");
|
||||
$this->attachments[] = Array($image_b64, $type, $name, $ContentID);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Fuegt ein Attachment zum Mail hinzu
|
||||
* $content
|
||||
@@ -272,14 +274,14 @@ class mail
|
||||
$this->replyTo = $repl;
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Setzt die CC Empfaenger
|
||||
*/
|
||||
public function setCCRecievers($rcvs)
|
||||
{
|
||||
$this->CC_recievers = '';
|
||||
if (is_array($rcvs))
|
||||
if (is_array($rcvs))
|
||||
{
|
||||
foreach ($rcvs as $rcv)
|
||||
$this->CC_recievers .= ",$rcv";
|
||||
@@ -291,14 +293,14 @@ class mail
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Setzt die BCC Empfaenger
|
||||
*/
|
||||
public function setBCCRecievers($rcvs)
|
||||
{
|
||||
$this->BCC_recievers = '';
|
||||
if (is_array($rcvs))
|
||||
if (is_array($rcvs))
|
||||
{
|
||||
foreach ($rcvs as $rcv)
|
||||
$this->BCC_recievers .= ",$rcv";
|
||||
|
||||
@@ -1090,7 +1090,7 @@ class mitarbeiter extends benutzer
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt ein Array mit den UIDs der Untergebenen zurueck
|
||||
* Gibt ein Array mit den UIDs der aktiv beschäftigten Untergebenen zurueck
|
||||
*/
|
||||
public function getUntergebene($uid=null)
|
||||
{
|
||||
@@ -1115,7 +1115,15 @@ class mitarbeiter extends benutzer
|
||||
}
|
||||
|
||||
//Alle Personen holen die dieser Organisationseinheit untergeordnet sind
|
||||
$qry = "SELECT distinct uid FROM public.tbl_benutzerfunktion WHERE ((funktion_kurzbz='oezuordnung' AND (false ";
|
||||
$qry = "
|
||||
SELECT distinct
|
||||
uid
|
||||
FROM
|
||||
public.tbl_benutzerfunktion
|
||||
JOIN
|
||||
public.tbl_benutzer
|
||||
USING (uid)
|
||||
WHERE ((funktion_kurzbz='oezuordnung' AND (false ";
|
||||
|
||||
if($oe!='')
|
||||
$qry.=" OR oe_kurzbz in($oe)";
|
||||
@@ -1125,8 +1133,13 @@ class mitarbeiter extends benutzer
|
||||
if($oe!='')
|
||||
$qry.=" OR (funktion_kurzbz='ass' AND oe_kurzbz in($oe))";
|
||||
|
||||
$qry.= ") AND (tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now()) AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now());";
|
||||
$qry.= ")
|
||||
AND
|
||||
(tbl_benutzerfunktion.datum_von is null OR tbl_benutzerfunktion.datum_von<=now())
|
||||
AND
|
||||
(tbl_benutzerfunktion.datum_bis is null OR tbl_benutzerfunktion.datum_bis>=now())
|
||||
AND
|
||||
tbl_benutzer.aktiv = 'true';";
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -754,7 +754,7 @@ or not exists
|
||||
//check if addon casetime is installed
|
||||
$qrytable = "
|
||||
SELECT EXISTS(
|
||||
SELECT *
|
||||
SELECT 1
|
||||
FROM information_schema.tables
|
||||
WHERE
|
||||
table_schema = 'addon' AND
|
||||
@@ -763,7 +763,7 @@ or not exists
|
||||
";
|
||||
|
||||
$res = $this->db_query($qrytable);
|
||||
if ($this->db_fetch_row($res)[0]===true)
|
||||
if ($this->db_fetch_row($res)[0] == 't')
|
||||
{
|
||||
//check if sent timesheets for the UID exist
|
||||
$where = "uid=".$this->db_add_param($user);
|
||||
|
||||
Regular → Executable
+1
@@ -42,4 +42,5 @@ $this->phrasen['zeitsperre/legendeErreichbarkeit']='E...Erreichbarkeit (n=nicht
|
||||
$this->phrasen['zeitsperre/legendeVertretung']='V...Vertretung';
|
||||
$this->phrasen['zeitsperre/legendeDurchwahl']='(123)...Durchwahl';
|
||||
$this->phrasen['zeitsperre/vertretungNichtKorrekt']='Die angegebene Vertretung kann nicht gefunden werden. Bitte prüfen Sie die Vertretung und versuchen Sie es erneut.';
|
||||
$this->phrasen['zeitsperre/vorSperrdatum']='Datum liegt vor dem Sperrdatum der Zeitliste';
|
||||
?>
|
||||
|
||||
Regular → Executable
+1
@@ -42,4 +42,5 @@ $this->phrasen['zeitsperre/legendeErreichbarkeit']='A...Availability (n=not avai
|
||||
$this->phrasen['zeitsperre/legendeVertretung']='S...Substitute';
|
||||
$this->phrasen['zeitsperre/legendeDurchwahl']='(123)...Extension';
|
||||
$this->phrasen['zeitsperre/vertretungNichtKorrekt']='The selected substitute is invalid. Please check the substitute an try again.';
|
||||
$this->phrasen['zeitsperre/vorSperrdatum']='Date is before last open timesheet date';
|
||||
?>
|
||||
|
||||
@@ -68,7 +68,7 @@ else
|
||||
$xml = '<?xml version="1.0" encoding="UTF-8" ?><lehrauftraege>';
|
||||
$stg_arr = array();
|
||||
$studiengang = new studiengang();
|
||||
$studiengang->getAll();
|
||||
$studiengang->getAll(null, false);
|
||||
|
||||
foreach ($studiengang->result as $row)
|
||||
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
|
||||
|
||||
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
/* Copyright (C) 2018 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: Nikolaus Krondraf <krondraf@technikum-wien.at>
|
||||
*/
|
||||
|
||||
// header fuer no cache
|
||||
header("Cache-Control: no-cache");
|
||||
header("Cache-Control: post-check=0, pre-check=0",false);
|
||||
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
|
||||
header("Pragma: no-cache");
|
||||
// content type setzen
|
||||
header("Content-type: application/xhtml+xml");
|
||||
// xml
|
||||
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes"?>';
|
||||
// DAO
|
||||
require_once('../config/vilesci.config.inc.php');
|
||||
require_once('../include/functions.inc.php');
|
||||
require_once('../include/lehrveranstaltung.class.php');
|
||||
require_once('../include/prestudent.class.php');
|
||||
|
||||
$uid=get_uid();
|
||||
|
||||
$error_msg='';
|
||||
$error_msg.=loadVariables($uid);
|
||||
|
||||
if (isset($_GET['prestudent']))
|
||||
$prestudent_id = $_GET['prestudent'];
|
||||
else
|
||||
die('prestudent is not set!');
|
||||
|
||||
$lehrveranstaltung=new lehrveranstaltung();
|
||||
$prestudent = new Prestudent();
|
||||
|
||||
$prestudent->getLastStatus($prestudent_id);
|
||||
$lehrveranstaltung->loadLehrveranstaltungStudienplan($prestudent->studienplan_id);
|
||||
|
||||
$rdf_url='http://www.technikum-wien.at/lehrveranstaltung/';
|
||||
|
||||
echo '
|
||||
<RDF:RDF
|
||||
xmlns:RDF="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||
xmlns:LVA="'.$rdf_url.'rdf#">
|
||||
|
||||
<RDF:Seq about="'.$rdf_url.'liste">
|
||||
';
|
||||
|
||||
foreach ($lehrveranstaltung->lehrveranstaltungen as $row)
|
||||
{
|
||||
echo'<RDF:li>
|
||||
<RDF:Description id="'.$row->lehrveranstaltung_id.'" about="'.$rdf_url.$row->lehrveranstaltung_id.'">
|
||||
<LVA:lehrveranstaltung_id><![CDATA['.$row->lehrveranstaltung_id.']]></LVA:lehrveranstaltung_id>
|
||||
<LVA:kurzbz><![CDATA['.$row->kurzbz.']]></LVA:kurzbz>
|
||||
<LVA:bezeichnung><![CDATA['.$row->bezeichnung.']]></LVA:bezeichnung>
|
||||
<LVA:bezeichnung_english><![CDATA['.$row->bezeichnung_english.']]></LVA:bezeichnung_english>
|
||||
<LVA:studiengang_kz><![CDATA['.$row->studiengang_kz.']]></LVA:studiengang_kz>
|
||||
<LVA:semester><![CDATA['.$row->semester.']]></LVA:semester>
|
||||
<LVA:sprache><![CDATA['.$row->sprache.']]></LVA:sprache>
|
||||
<LVA:ects><![CDATA['.$row->ects.']]></LVA:ects>
|
||||
<LVA:semesterstunden><![CDATA['.$row->semesterstunden.']]></LVA:semesterstunden>
|
||||
<LVA:anmerkung><![CDATA['.$row->anmerkung.']]></LVA:anmerkung>
|
||||
<LVA:lehre><![CDATA['.($row->lehre?'Ja':'Nein').']]></LVA:lehre>
|
||||
<LVA:lehreverzeichnis><![CDATA['.$row->lehreverzeichnis.']]></LVA:lehreverzeichnis>
|
||||
<LVA:aktiv><![CDATA['.($row->aktiv?'Ja':'Nein').']]></LVA:aktiv>
|
||||
<LVA:planfaktor><![CDATA['.$row->planfaktor.']]></LVA:planfaktor>
|
||||
<LVA:planlektoren><![CDATA['.$row->planlektoren.']]></LVA:planlektoren>
|
||||
<LVA:planpersonalkosten><![CDATA['.$row->planpersonalkosten.']]></LVA:planpersonalkosten>
|
||||
<LVA:plankostenprolektor><![CDATA['.$row->plankostenprolektor.']]></LVA:plankostenprolektor>
|
||||
<LVA:lehrform_kurzbz><![CDATA['.$row->lehrform_kurzbz.']]></LVA:lehrform_kurzbz>
|
||||
<LVA:orgform_kurzbz><![CDATA['.$row->orgform_kurzbz.']]></LVA:orgform_kurzbz>
|
||||
<LVA:oe_kurzbz><![CDATA['.$row->oe_kurzbz.']]></LVA:oe_kurzbz>
|
||||
</RDF:Description>
|
||||
</RDF:li>';
|
||||
}
|
||||
?>
|
||||
</RDF:Seq>
|
||||
</RDF:RDF>
|
||||
+1
-1
@@ -138,7 +138,7 @@ if (isset($_REQUEST["xmlformat"]) && $_REQUEST["xmlformat"] == "xml")
|
||||
WHERE
|
||||
prestudent_id=".$db->db_add_param($row->prestudent_id)." AND
|
||||
studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND
|
||||
tbl_prestudentstatus.status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent')
|
||||
tbl_prestudentstatus.status_kurzbz not in('Incoming','Aufgenommener','Bewerber','Wartender', 'Interessent', 'Abgewiesener')
|
||||
ORDER BY DATUM DESC LIMIT 1";
|
||||
if($result_sem = $db->db_query($qry))
|
||||
{
|
||||
|
||||
@@ -58,7 +58,7 @@ if($result = $db->db_query($qry))
|
||||
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden.\n";
|
||||
$message .= "\n";
|
||||
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
|
||||
$message .= "Frau Maria Meyer-Mölleringhof, meyermoe@technikum-wien.at\n";
|
||||
$message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
|
||||
$message .= "\n";
|
||||
$message .= "Mit freundlichen Grüßen\n";
|
||||
$message .= "\n";
|
||||
@@ -90,9 +90,9 @@ if($result = $db->db_query($qry))
|
||||
$message .= "\n";
|
||||
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
|
||||
}
|
||||
|
||||
|
||||
$to = $row->uid.'@'.DOMAIN;
|
||||
|
||||
|
||||
$mail = new mail($to,'no-reply@'.DOMAIN,'Ihr Datensatz wurde deaktiviert! '.$row->uid, $message);
|
||||
$mail->send();
|
||||
$text.= "Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
|
||||
@@ -159,7 +159,7 @@ if($result = $db->db_query($qry))
|
||||
if($mail->send())
|
||||
$text.="Abbrecher Infomail an $to verschickt\n";
|
||||
else
|
||||
$text.="Fehler beim Versenden des Abbrecher Infomails an $to !\n";
|
||||
$text.="Fehler beim Versenden des Abbrecher Infomails an $to !\n";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -187,7 +187,7 @@ if($result = $db->db_query($qry))
|
||||
$message .= "1200 Wien \n";
|
||||
$message .= "\n";
|
||||
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
|
||||
|
||||
|
||||
$to = $row->uid.'@'.DOMAIN;
|
||||
|
||||
$mail = new mail($to,'no-reply@'.DOMAIN,'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
|
||||
@@ -212,7 +212,7 @@ if($result = $db->db_query($qry))
|
||||
$message .= " - Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht werden\n";
|
||||
$message .= "\n";
|
||||
$message .= "Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten, sich umgehend mit den KollegInnen in der Personalabteilung in Verbindung zu setzen: ";
|
||||
$message .= "Frau Maria Meyer-Mölleringhof, meyermoe@technikum-wien.at\n";
|
||||
$message .= "Frau Natalie König, natalie.koenig@technikum-wien.at\n";
|
||||
$message .= "\n";
|
||||
$message .= "Mit freundlichen Grüßen\n";
|
||||
$message .= "\n";
|
||||
@@ -221,9 +221,9 @@ if($result = $db->db_query($qry))
|
||||
$message .= "1200 Wien \n";
|
||||
$message .= "\n";
|
||||
$message .= "Falls Sie weiterhin über Neuigkeiten an der FH Technikum Wien informiert werden wollen, können Sie unter www.technikum-wien.at/newsletter den kostenlosen Newsletter abonnieren.\n";
|
||||
|
||||
|
||||
$to = $row->uid.'@'.DOMAIN;
|
||||
|
||||
|
||||
$mail = new mail($to,'no-reply@'.DOMAIN, 'Ihr Datensatz wurde deaktiviert! Letzte Warnung '.$row->uid, $message);
|
||||
$mail->send();
|
||||
$text.= "Letzte Warnung zur Accountloeschung wurde an $row->uid verschickt\n";
|
||||
@@ -238,4 +238,4 @@ if($text!='')
|
||||
}
|
||||
|
||||
echo '</body></html>';
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -2322,6 +2322,66 @@ if(!$result = @$db->db_query("SELECT bezeichnung FROM public.tbl_filter LIMIT 1"
|
||||
echo '<br>public.tbl_filter: Spalte bezeichnung hinzugefuegt';
|
||||
}
|
||||
|
||||
// vw_mitarbeiter updateaktivamum updateaktivvon
|
||||
if(!$result = @$db->db_query("SELECT updateaktivam FROM campus.vw_mitarbeiter LIMIT 1"))
|
||||
{
|
||||
$qry = "CREATE OR REPLACE VIEW campus.vw_mitarbeiter as
|
||||
SELECT tbl_benutzer.uid,
|
||||
tbl_mitarbeiter.ausbildungcode,
|
||||
tbl_mitarbeiter.personalnummer,
|
||||
tbl_mitarbeiter.kurzbz,
|
||||
tbl_mitarbeiter.lektor,
|
||||
tbl_mitarbeiter.fixangestellt,
|
||||
tbl_mitarbeiter.telefonklappe,
|
||||
tbl_benutzer.person_id,
|
||||
tbl_benutzer.alias,
|
||||
tbl_person.geburtsnation,
|
||||
tbl_person.sprache,
|
||||
tbl_person.anrede,
|
||||
tbl_person.titelpost,
|
||||
tbl_person.titelpre,
|
||||
tbl_person.nachname,
|
||||
tbl_person.vorname,
|
||||
tbl_person.vornamen,
|
||||
tbl_person.gebdatum,
|
||||
tbl_person.gebort,
|
||||
tbl_person.gebzeit,
|
||||
tbl_person.foto,
|
||||
tbl_mitarbeiter.anmerkung,
|
||||
tbl_person.homepage,
|
||||
tbl_person.svnr,
|
||||
tbl_person.ersatzkennzeichen,
|
||||
tbl_person.geschlecht,
|
||||
tbl_person.familienstand,
|
||||
tbl_person.anzahlkinder,
|
||||
tbl_mitarbeiter.ort_kurzbz,
|
||||
tbl_benutzer.aktiv,
|
||||
tbl_mitarbeiter.bismelden,
|
||||
tbl_mitarbeiter.standort_id,
|
||||
tbl_mitarbeiter.updateamum,
|
||||
tbl_mitarbeiter.updatevon,
|
||||
tbl_mitarbeiter.insertamum,
|
||||
tbl_mitarbeiter.insertvon,
|
||||
tbl_mitarbeiter.ext_id,
|
||||
tbl_benutzer.aktivierungscode,
|
||||
( SELECT tbl_kontakt.kontakt
|
||||
FROM tbl_kontakt
|
||||
WHERE tbl_kontakt.person_id = tbl_person.person_id AND tbl_kontakt.kontakttyp::text = 'email'::text
|
||||
ORDER BY tbl_kontakt.zustellung DESC
|
||||
LIMIT 1) AS email_privat,
|
||||
tbl_benutzer.updateaktivam,
|
||||
tbl_benutzer.updateaktivvon,
|
||||
greatest(tbl_person.updateamum, tbl_benutzer.updateamum, tbl_mitarbeiter.updateamum) as lastupdate
|
||||
FROM public.tbl_mitarbeiter
|
||||
JOIN public.tbl_benutzer ON tbl_mitarbeiter.mitarbeiter_uid::text = tbl_benutzer.uid::text
|
||||
JOIN public.tbl_person USING (person_id);
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>campus.vw_mitarbeiter: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo '<br>campus.vw_mitarbeiter: Spalte updateaktivam, updateaktivon, lastupdate hinzugefuegt';
|
||||
}
|
||||
// *** Pruefung und hinzufuegen der neuen Attribute und Tabellen
|
||||
echo '<H2>Pruefe Tabellen und Attribute!</H2>';
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -52,11 +52,11 @@ if (isset($_POST['new']))
|
||||
{
|
||||
if(!$rechte->isBerechtigt('lehre/gruppe',null,'sui'))
|
||||
die($rechte->errormsg);
|
||||
|
||||
|
||||
$e = new benutzergruppe();
|
||||
$uid = $_POST['uid'];
|
||||
if (!$e->load($uid, $kurzbz))
|
||||
{
|
||||
{
|
||||
$e->new=true;
|
||||
$e->gruppe_kurzbz = $kurzbz;
|
||||
$e->updateamum = date('Y-m-d H:i:s');
|
||||
@@ -67,12 +67,12 @@ if (isset($_POST['new']))
|
||||
if(!$e->save())
|
||||
die($e->errormsg);
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
$errormsg = '<span class="error">Diese Person ist bereits der Gruppe zugeteilt</span>';
|
||||
}
|
||||
}
|
||||
else
|
||||
else
|
||||
$errormsg = '<span class="error">UID '.$_POST['uid'].' wurde nicht gefunden</span>';
|
||||
}
|
||||
else if (isset($_GET['type']) && $_GET['type']=='delete')
|
||||
@@ -110,6 +110,7 @@ if(!$gruppe->load($kurzbz))
|
||||
<?php
|
||||
echo "<a href='einheit_menu.php?studiengang_kz=$gruppe->studiengang_kz'>Zurück zur Übersicht</a><br><br>";
|
||||
echo $errormsg;
|
||||
$generiertegruppe = $gruppe->generiert;
|
||||
if(!$gruppe->generiert)
|
||||
{
|
||||
echo '
|
||||
@@ -145,7 +146,7 @@ if(!$gruppe->generiert)
|
||||
<HR>
|
||||
';
|
||||
}
|
||||
else
|
||||
else
|
||||
{
|
||||
echo ' Name: <input type="text" name="uid" id="uid" disabled="disabled"/>
|
||||
<INPUT type="submit" name="new" value="Hinzufügen" disabled="disabled">
|
||||
@@ -185,7 +186,7 @@ else
|
||||
echo "<td>".$row->nachname."</td>";
|
||||
echo "<td>".$row->vorname."</td>";
|
||||
echo "<td>".$row->uid."</td>";
|
||||
if(!$gruppe->generiert && $rechte->isBerechtigt('lehre/gruppe',null,'suid'))
|
||||
if(!$generiertegruppe && $rechte->isBerechtigt('lehre/gruppe',null,'suid'))
|
||||
echo '<td class="button"><a href="einheit_det.php?uid='.$row->uid.'&type=delete&kurzbz='.$kurzbz.'">Delete</a></td>';
|
||||
echo "</tr>\n";
|
||||
}
|
||||
|
||||
@@ -391,7 +391,20 @@ if (isset($_REQUEST['uid']) || isset($_REQUEST['funktion_kurzbz']))
|
||||
$sel = "";
|
||||
$htmlstr .= "<option id='".$rolle_arr[$i]."' value='".$rolle_arr[$i]."' ".$sel." onclick='disable(\"berechtigung_kurzbz_".$b->benutzerberechtigung_id."\");' >".$rolle_arr[$i]."</option>";
|
||||
}
|
||||
$htmlstr .= " </select></td>\n";
|
||||
$htmlstr .= " </select>";
|
||||
|
||||
// Wenn editiert wird, zu der Zeile Springen
|
||||
$htmlstr.="
|
||||
<a name='editrow'>
|
||||
<script language='javascript'>
|
||||
$(document).ready(function()
|
||||
{
|
||||
var url = location.href;
|
||||
location.href = '#editrow'
|
||||
history.replaceState(null,null,url);
|
||||
});
|
||||
</script>";
|
||||
$htmlstr.="</td>\n";
|
||||
|
||||
//Berechtigung
|
||||
$htmlstr .= " <td name='td_$b->benutzerberechtigung_id'><select name='berechtigung_kurzbz' id='berechtigung_kurzbz_$b->benutzerberechtigung_id' ".($b->rolle_kurzbz!=''?'disabled':'')." onchange='markier(\"td_".$b->benutzerberechtigung_id."\"); setnull(\"rolle_kurzbz_$b->benutzerberechtigung_id\");'>\n";
|
||||
|
||||
@@ -89,6 +89,9 @@ if (!$filter->loadAll())
|
||||
<th title="Kurzbezeichnung des Filters">
|
||||
KurzBz
|
||||
</th>
|
||||
<th>
|
||||
Bezeichnung
|
||||
</th>
|
||||
<th>
|
||||
ValueName
|
||||
</th>
|
||||
@@ -125,6 +128,9 @@ if (!$filter->loadAll())
|
||||
<?php echo $filter->kurzbz ?>
|
||||
</a>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $db->convert_html_chars($filter->bezeichnung) ?>
|
||||
</td>
|
||||
<td>
|
||||
<?php echo $db->convert_html_chars($filter->valuename) ?>
|
||||
</td>
|
||||
|
||||
+46
-46
@@ -3,40 +3,40 @@
|
||||
/**
|
||||
* PDO principal backend
|
||||
*
|
||||
* This is a simple principal backend that maps exactly to the users table, as
|
||||
* This is a simple principal backend that maps exactly to the users table, as
|
||||
* used by Sabre_DAV_Auth_Backend_PDO.
|
||||
*
|
||||
* It assumes all principals are in a single collection. The default collection
|
||||
* It assumes all principals are in a single collection. The default collection
|
||||
* is 'principals/', but this can be overriden.
|
||||
*
|
||||
* @package Sabre
|
||||
* @subpackage DAVACL
|
||||
* @copyright Copyright (C) 2007-2011 Rooftop Solutions. All rights reserved.
|
||||
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
||||
* @author Evert Pot (http://www.rooftopsolutions.nl/)
|
||||
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
|
||||
*/
|
||||
class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\BackendInterface
|
||||
{
|
||||
/**
|
||||
* PDO table name for 'principals'
|
||||
*
|
||||
* @var string
|
||||
* PDO table name for 'principals'
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $tableName;
|
||||
|
||||
/**
|
||||
* PDO table name for 'group members'
|
||||
*
|
||||
* @var string
|
||||
* PDO table name for 'group members'
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $groupMembersTableName;
|
||||
|
||||
protected $result_ma;
|
||||
/**
|
||||
* Sets up the backend.
|
||||
*
|
||||
*
|
||||
* @param PDO $pdo
|
||||
* @param string $tableName
|
||||
* @param string $tableName
|
||||
*/
|
||||
public function __construct($auth)
|
||||
{
|
||||
@@ -46,7 +46,7 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
$ma = new mitarbeiter();
|
||||
$this->result_ma = $ma->getMitarbeiter(null,null,null);
|
||||
*/
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert den eingeloggten User
|
||||
@@ -60,20 +60,20 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
/**
|
||||
* Returns a list of principals based on a prefix.
|
||||
*
|
||||
* This prefix will often contain something like 'principals'. You are only
|
||||
* This prefix will often contain something like 'principals'. You are only
|
||||
* expected to return principals that are in this base path.
|
||||
*
|
||||
* You are expected to return at least a 'uri' for every user, you can
|
||||
* You are expected to return at least a 'uri' for every user, you can
|
||||
* return any additional properties if you wish so. Common properties are:
|
||||
* {DAV:}displayname
|
||||
* {http://sabredav.org/ns}email-address - This is a custom SabreDAV
|
||||
* {DAV:}displayname
|
||||
* {http://sabredav.org/ns}email-address - This is a custom SabreDAV
|
||||
* field that's actualy injected in a number of other properties. If
|
||||
* you have an email address, use this property.
|
||||
*
|
||||
* @param string $prefixPath
|
||||
* @return array
|
||||
*
|
||||
* @param string $prefixPath
|
||||
* @return array
|
||||
*/
|
||||
public function getPrincipalsByPrefix($prefixPath)
|
||||
public function getPrincipalsByPrefix($prefixPath)
|
||||
{
|
||||
//$prefixPath = principals
|
||||
//error_log('Principal.php/getPrincipalsByPrefix('.$prefixPath.')');
|
||||
@@ -82,7 +82,7 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
|
||||
if($prefixPath=='principals')
|
||||
{
|
||||
|
||||
|
||||
$principals[] = array(
|
||||
'id' => $user,
|
||||
'uri' => 'principals/'.$user,
|
||||
@@ -118,7 +118,7 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
'{DAV:}displayname' => '',
|
||||
'{http://sabredav.org/ns}email-address' => '',
|
||||
);
|
||||
|
||||
|
||||
}*/
|
||||
}
|
||||
else //if($prefixPath=='principals/oesi')
|
||||
@@ -138,13 +138,13 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
|
||||
/**
|
||||
* Returns a specific principal, specified by it's path.
|
||||
* The returned structure should be the exact same as from
|
||||
* getPrincipalsByPrefix.
|
||||
*
|
||||
* @param string $path
|
||||
* @return array
|
||||
* The returned structure should be the exact same as from
|
||||
* getPrincipalsByPrefix.
|
||||
*
|
||||
* @param string $path
|
||||
* @return array
|
||||
*/
|
||||
public function getPrincipalByPath($path)
|
||||
public function getPrincipalByPath($path)
|
||||
{
|
||||
//$path = principals/oesi
|
||||
//error_log('Principal.php/getPrincipalByPath('.$path.')');
|
||||
@@ -164,26 +164,26 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of members for a group-principal
|
||||
*
|
||||
* @param string $principal
|
||||
* @return array
|
||||
* Returns the list of members for a group-principal
|
||||
*
|
||||
* @param string $principal
|
||||
* @return array
|
||||
*/
|
||||
public function getGroupMemberSet($principal)
|
||||
public function getGroupMemberSet($principal)
|
||||
{
|
||||
//error_log('Principal.php/getGroupMemberSet('.$principal.')');
|
||||
$result = array();
|
||||
return $result;
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the list of groups a principal is a member of
|
||||
*
|
||||
* @param string $principal
|
||||
* @return array
|
||||
* Returns the list of groups a principal is a member of
|
||||
*
|
||||
* @param string $principal
|
||||
* @return array
|
||||
*/
|
||||
public function getGroupMembership($principal)
|
||||
public function getGroupMembership($principal)
|
||||
{
|
||||
//$principal = username
|
||||
// error_log('Principal.php/getGroupMembership('.$principal.')');
|
||||
@@ -215,17 +215,17 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
/**
|
||||
* Updates the list of group members for a group principal.
|
||||
*
|
||||
* The principals should be passed as a list of uri's.
|
||||
*
|
||||
* @param string $principal
|
||||
* @param array $members
|
||||
* The principals should be passed as a list of uri's.
|
||||
*
|
||||
* @param string $principal
|
||||
* @param array $members
|
||||
* @return void
|
||||
*/
|
||||
public function setGroupMemberSet($principal, array $members)
|
||||
public function setGroupMemberSet($principal, array $members)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not implemented');
|
||||
}
|
||||
|
||||
|
||||
public function updatePrincipal($path, $mutations)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not implemented');
|
||||
@@ -233,6 +233,6 @@ class MySabre_DAVACL_PrincipalBackend implements \Sabre\DAVACL\PrincipalBackend\
|
||||
|
||||
public function searchPrincipals($prefixPath,array $searchProperties)
|
||||
{
|
||||
throw new \Sabre\DAV\Exceptin('Not implemented');
|
||||
throw new \Sabre\DAV\Exception('Not implemented');
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user