diff --git a/application/models/education/Lehrveranstaltung_model.php b/application/models/education/Lehrveranstaltung_model.php
index c55ce8e10..c042c2e0a 100644
--- a/application/models/education/Lehrveranstaltung_model.php
+++ b/application/models/education/Lehrveranstaltung_model.php
@@ -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,
diff --git a/application/models/person/Benutzerfunktion_model.php b/application/models/person/Benutzerfunktion_model.php
index 6a15df107..e6f030e7f 100644
--- a/application/models/person/Benutzerfunktion_model.php
+++ b/application/models/person/Benutzerfunktion_model.php
@@ -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))
{
diff --git a/cis/private/profile/zeitsperre_resturlaub.php b/cis/private/profile/zeitsperre_resturlaub.php
index 5ccffac99..b7654310e 100755
--- a/cis/private/profile/zeitsperre_resturlaub.php
+++ b/cis/private/profile/zeitsperre_resturlaub.php
@@ -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 "".$p->t('zeitsperre/vorSperrdatum')."";
+ }
+ 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)
".($row->freigabeamum!=''?'Ja':'')." | ";
if ($row->zeitsperretyp_kurzbz == 'DienstV')
$content_table .= ' | ';
+ else if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
+ $content_table .= ' | ';
else
$content_table.="".$p->t('zeitsperre/edit')." | ";
- if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
+ if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
+ $content_table .= ' | ';
+ else if($row->freigabeamum=='' || $row->zeitsperretyp_kurzbz!='Urlaub')
{
$content_table.="\n".$p->t('zeitsperre/loeschen')." | ";
}
diff --git a/cis/private/tools/ampelverwaltung.php b/cis/private/tools/ampelverwaltung.php
index 20c91b8b5..c3135b71e 100644
--- a/cis/private/tools/ampelverwaltung.php
+++ b/cis/private/tools/ampelverwaltung.php
@@ -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);
}
diff --git a/cis/private/tools/zeitaufzeichnung.php b/cis/private/tools/zeitaufzeichnung.php
index 1f7788270..59715d4fa 100755
--- a/cis/private/tools/zeitaufzeichnung.php
+++ b/cis/private/tools/zeitaufzeichnung.php
@@ -987,7 +987,7 @@ if($projekt->getProjekteMitarbeiter($user, true))
';
- if ($za_simple == 0)
+ if ($za_simple == 0 || $anzprojekte > 0)
{
echo '
diff --git a/cms/tinymce_dms.php b/cms/tinymce_dms.php
index eb10e5a4d..c54fcc385 100644
--- a/cms/tinymce_dms.php
+++ b/cms/tinymce_dms.php
@@ -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 '';
+ echo '';
}
echo '
diff --git a/composer.json b/composer.json
index 0b1b06750..f8e26e736 100644
--- a/composer.json
+++ b/composer.json
@@ -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",
diff --git a/composer.lock b/composer.lock
index 0e505abcd..a160578ea 100644
--- a/composer.lock
+++ b/composer.lock
@@ -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",
diff --git a/content/student/studentoverlay.js.php b/content/student/studentoverlay.js.php
index 7a6c082b4..ad71d1ad4 100644
--- a/content/student/studentoverlay.js.php
+++ b/content/student/studentoverlay.js.php
@@ -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="rdf/lehrveranstaltung.rdf.php?stg_kz="+stg_kz+"&"+gettimestamp();
+ url="rdf/lehrveranstaltung_studienplan.rdf.php?&prestudent="+prestudentId+"&"+gettimestamp();
//Alte DS entfernen
var oldDatasources = LVDropDown.database.GetDataSources();
diff --git a/include/benutzerberechtigung.class.php b/include/benutzerberechtigung.class.php
index a615729f4..69d4947bf 100644
--- a/include/benutzerberechtigung.class.php
+++ b/include/benutzerberechtigung.class.php
@@ -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,
diff --git a/include/functions.inc.php b/include/functions.inc.php
index be021b6f5..6f6c5cc3b 100644
--- a/include/functions.inc.php
+++ b/include/functions.inc.php
@@ -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;
- }
-}
?>
diff --git a/include/mail.class.php b/include/mail.class.php
index b0285c11b..45f2fbc30 100644
--- a/include/mail.class.php
+++ b/include/mail.class.php
@@ -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";
diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php
index a5922c433..eb5498581 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -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))
{
diff --git a/include/zeitaufzeichnung.class.php b/include/zeitaufzeichnung.class.php
index a713db0f0..6a58a23cf 100755
--- a/include/zeitaufzeichnung.class.php
+++ b/include/zeitaufzeichnung.class.php
@@ -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);
diff --git a/locale/de-AT/zeitsperre.php b/locale/de-AT/zeitsperre.php
old mode 100644
new mode 100755
index 48727cc1b..4801f10ec
--- a/locale/de-AT/zeitsperre.php
+++ b/locale/de-AT/zeitsperre.php
@@ -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';
?>
diff --git a/locale/en-US/zeitsperre.php b/locale/en-US/zeitsperre.php
old mode 100644
new mode 100755
index 024865d0e..d6adad2ac
--- a/locale/en-US/zeitsperre.php
+++ b/locale/en-US/zeitsperre.php
@@ -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';
?>
diff --git a/rdf/lehrauftrag.xml.php b/rdf/lehrauftrag.xml.php
index c268ca8d7..9d0ac32a4 100644
--- a/rdf/lehrauftrag.xml.php
+++ b/rdf/lehrauftrag.xml.php
@@ -68,7 +68,7 @@ else
$xml = '';
$stg_arr = array();
$studiengang = new studiengang();
-$studiengang->getAll();
+$studiengang->getAll(null, false);
foreach ($studiengang->result as $row)
$stg_arr[$row->studiengang_kz] = $row->kuerzel;
diff --git a/rdf/lehrveranstaltung_studienplan.rdf.php b/rdf/lehrveranstaltung_studienplan.rdf.php
new file mode 100644
index 000000000..726adc647
--- /dev/null
+++ b/rdf/lehrveranstaltung_studienplan.rdf.php
@@ -0,0 +1,91 @@
+
+ */
+
+// 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 '';
+// 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 '
+
+
+
+';
+
+foreach ($lehrveranstaltung->lehrveranstaltungen as $row)
+{
+ echo'
+
+ lehrveranstaltung_id.']]>
+ kurzbz.']]>
+ bezeichnung.']]>
+ bezeichnung_english.']]>
+ studiengang_kz.']]>
+ semester.']]>
+ sprache.']]>
+ ects.']]>
+ semesterstunden.']]>
+ anmerkung.']]>
+ lehre?'Ja':'Nein').']]>
+ lehreverzeichnis.']]>
+ aktiv?'Ja':'Nein').']]>
+ planfaktor.']]>
+ planlektoren.']]>
+ planpersonalkosten.']]>
+ plankostenprolektor.']]>
+ lehrform_kurzbz.']]>
+ orgform_kurzbz.']]>
+ oe_kurzbz.']]>
+
+ ';
+}
+?>
+
+
diff --git a/rdf/zeugnis.rdf.php b/rdf/zeugnis.rdf.php
index 6e76765eb..d7cfff1ea 100644
--- a/rdf/zeugnis.rdf.php
+++ b/rdf/zeugnis.rdf.php
@@ -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))
{
diff --git a/system/account_deaktivierung_mail.php b/system/account_deaktivierung_mail.php
index 0d065008b..8fbb49c31 100644
--- a/system/account_deaktivierung_mail.php
+++ b/system/account_deaktivierung_mail.php
@@ -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 ' |