diff --git a/cis/private/lvplan/stpl_detail.php b/cis/private/lvplan/stpl_detail.php
index 3aecd1fa6..3612a15db 100644
--- a/cis/private/lvplan/stpl_detail.php
+++ b/cis/private/lvplan/stpl_detail.php
@@ -35,6 +35,7 @@ require_once('../../../include/ort.class.php');
require_once('../../../include/functions.inc.php');
require_once('../../../include/datum.class.php');
require_once('../../../include/phrasen.class.php');
+require_once('../../../include/mitarbeiter.class.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -231,11 +232,21 @@ if ($num_rows_stpl>0)
$titel = trim($row->titel);
$gesamtanzahl = ($anzahl_grp!=0?$anzahl_grp:$anzahl_lvb);
$ort->load($ortkurzbz);
-
+
+ // no profile link for fake Mitarbeiter like Dummylektor, Personalnr must be > 0
+ $profileLink = true;
+ $mitarbeiter = new mitarbeiter();
+
+ if ($mitarbeiter->load($row->uid))
+ {
+ if (isset($mitarbeiter->personalnummer) && is_numeric($mitarbeiter->personalnummer) && (int)$mitarbeiter->personalnummer < 0)
+ $profileLink = false;
+ }
+
echo '
| '.$db->convert_html_chars($unr).' |
- '.$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).' |
+ '.($profileLink ? '' : '').$db->convert_html_chars($titelpre.' '.$pers_vorname.' '.$pers_nachname.' '.$titelpost).($profileLink ? '' : '').' |
'.(!empty($ortkurzbz)?($ort->content_id!=''?''.$db->convert_html_chars($ortkurzbz).'':$db->convert_html_chars($ortkurzbz)):$db->convert_html_chars($ortkurzbz)).' |
'.$db->convert_html_chars($lehrfachkurzbz).' |
'.$db->convert_html_chars($bezeichnung).' |
diff --git a/cis/private/profile/index.php b/cis/private/profile/index.php
index 5f93930cc..92bb787bb 100644
--- a/cis/private/profile/index.php
+++ b/cis/private/profile/index.php
@@ -127,6 +127,9 @@ if (!$user->load($uid))
if ($type == 'mitarbeiter')
{
+ if (isset($user->personalnummer) && is_numeric($user->personalnummer) && (int)$user->personalnummer < 0)
+ die($p->t('profil/keinGueltigesProfil'));
+
$vorwahl = '';
$kontakt = new kontakt();
$kontakt->loadFirmaKontakttyp($user->standort_id,'telefon');
diff --git a/cis/private/tools/suche.php b/cis/private/tools/suche.php
index f5a1ae591..ecc072d81 100644
--- a/cis/private/tools/suche.php
+++ b/cis/private/tools/suche.php
@@ -113,7 +113,8 @@ function searchPerson($searchItems)
{
global $db, $p, $noalias, $uid;
$bn = new benutzer();
- $bn->search($searchItems, 21);
+ //search only active and Mitarbeiter with positive Personalnr
+ $bn->search($searchItems, 21, true, true);
if(count($bn->result)>0)
{
diff --git a/include/benutzer.class.php b/include/benutzer.class.php
index 102c28a4b..ff0ee3c6b 100644
--- a/include/benutzer.class.php
+++ b/include/benutzer.class.php
@@ -1,520 +1,524 @@
-,
- * Andreas Oesterreicher and
- * Rudolf Hangl .
- */
-require_once(dirname(__FILE__).'/person.class.php');
-
-class benutzer extends person
-{
- //Tabellenspalten
- public $uid; // varchar(32)
- public $bnaktiv=true; // boolean
- public $alias; // varchar(256)
- public $bn_ext_id;
- public $aktivierungscode;
- public $result = array();
- public $updateaktivam;
- public $updateaktivvon;
-
- /**
- * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer
- * @param $uid Benutzer der geladen werden soll (default=null)
- */
- public function __construct($uid=null)
- {
- parent::__construct();
-
- if($uid != null)
- $this->load($uid);
- }
-
- /**
- * Laedt Benutzer mit der uebergebenen ID
- * @param $uid ID der Person die geladen werden soll
- */
- public function load($uid = null)
- {
- if (empty($uid))
- {
- $this->errormsg = "UID not set!";
- return false;
- }
-
- $qry = "SELECT * FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
-
- if($this->db_query($qry))
- {
- if($row = $this->db_fetch_object())
- {
- $this->uid = $row->uid;
- $this->bnaktiv = $this->db_parse_bool($row->aktiv);
- $this->alias = $row->alias;
- $this->aktivierungscode = $row->aktivierungscode;
- $this->updateaktivam = $row->updateaktivam;
- $this->updateaktivvon = $row->updateaktivvon;
-
- if(!person::load($row->person_id))
- return false;
- else
- return true;
- }
- else
- {
- $this->errormsg = "Benutzer nicht gefunden";
- return false;
- }
- }
- else
- {
- $this->errormsg = "Fehler beim Laden der Benutzerdaten";
- return false;
- }
- }
-
- /**
- * Prueft die Variablen vor dem Speichern
- * auf Gueltigkeit.
- * @return true wenn ok, false im Fehlerfall
- */
- public function validate()
- {
- if(mb_strlen($this->uid)>32)
- {
- $this->errormsg = 'UID darf nicht laenger als 32 Zeichen sein';
- return false;
- }
- if($this->uid == '')
- {
- $this->errormsg = 'UID muss eingegeben werden';
- return false;
- }
- if(mb_strlen($this->alias)>256)
- {
- $this->errormsg = 'Alias darf nicht laenger als 256 Zeichen sein';
- return false;
- }
- if(!is_numeric($this->person_id))
- {
- $this->errormsg = 'person_id muss eine gueltige Zahl sein';
- return false;
- }
- if(!is_bool($this->bnaktiv))
- {
- $this->errormsg = 'aktiv muss ein boolscher wert sein';
- return false;
- }
-
- if($this->alias!='')
- {
- $qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($this->alias)." AND uid!=".$this->db_add_param($this->uid);
- if($this->db_query($qry))
- {
- if($this->db_num_rows()>0)
- {
- $this->errormsg = 'Dieser Alias ist bereits vergeben';
- return false;
- }
- }
- else
- {
- $this->errormsg = 'Fehler beim Pruefen des Alias';
- return false;
- }
- }
- return true;
- }
-
- /**
- * Speichert die Benutzerdaten in die Datenbank
- * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
- * ansonsten der Datensatz mit $uid upgedated
- * @return true wenn erfolgreich, false im Fehlerfall
- */
- public function save($new=null, $saveperson=true)
- {
- if($saveperson)
- {
- //Personen Datensatz speichern
- if(!person::save())
- return false;
- }
-
- if($new==null)
- $new = $this->new;
-
- //Variablen auf Gueltigkeit pruefen
- if(!benutzer::validate())
- return false;
-
- if($new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
- {
- $qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon, aktivierungscode) VALUES('.
- $this->db_add_param($this->uid).",".
- $this->db_add_param($this->bnaktiv,FHC_BOOLEAN).",".
- $this->db_add_param($this->alias).",".
- $this->db_add_param($this->person_id, FHC_INTEGER).",".
- $this->db_add_param($this->insertamum).",".
- $this->db_add_param($this->insertvon).",".
- $this->db_add_param($this->updateamum).",".
- $this->db_add_param($this->updatevon).",".
- $this->db_add_param($this->aktivierungscode).");";
- }
- else
- {
- //Wenn der Aktiv Status geaendert wurde, dann auch updateaktivamum und updateaktivvon setzen
- $upd='';
- $qry = "SELECT aktiv FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($this->uid);
- if($this->db_query($qry))
- {
- if($row = $this->db_fetch_object())
- {
- $aktiv = $this->db_parse_bool($row->aktiv);
-
- if($aktiv!=$this->bnaktiv)
- $upd =" updateaktivam=".$this->db_add_param($this->updateamum).", updateaktivvon=".$this->db_add_param($this->updatevon).",";
- }
- }
-
- $qry = 'UPDATE public.tbl_benutzer SET'.
- ' aktiv='.$this->db_add_param($this->bnaktiv, FHC_BOOLEAN).','.
- ' alias='.$this->db_add_param($this->alias).','.
- ' person_id='.$this->db_add_param($this->person_id).','.
- ' updateamum='.$this->db_add_param($this->updateamum).','.$upd.
- ' updatevon='.$this->db_add_param($this->updatevon).
- ' WHERE uid='.$this->db_add_param($this->uid).';';
- }
-
- if($this->db_query($qry))
- {
- //Log schreiben
- return true;
- }
- else
- {
- $this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes';
- return false;
- }
- }
-
-
- /**
- * Löscht den Benutzer mit der übergebenen uid. Da beim Speichern auch
- * eine Person angelegt wird, muss eventuell auch diese gelöscht werden.
- * Das kann durch Aufruf der geerbten Methode {@link person::delete()}
- * erledigt werden. Damit die Klasse Abwärtskombatibel bleibt, wurde die
- * Methode delete() absichtlich nicht überschrieben.
- * @param $uid
- */
- public function deleteBenutzer($uid)
- {
- $qry = "DELETE from public.tbl_benutzer where uid = ".$this->db_add_param($uid).";";
-
- if($this->db_query($qry))
- {
- return true;
- }
- else
- {
- $this->errormsg = "Es ist ein Fehler beim Löschen des Benutzers aufgetreten";
- return false;
- }
- }
-
-
-
- /**
- * Prueft ob die UID bereits existiert
- * @param uid
- */
- public function uid_exists($uid)
- {
- $qry = "SELECT * FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
-
- if($this->db_query($qry))
- {
- if($this->db_num_rows()>0)
- {
- $this->errormsg = '';
- return true;
- }
- else
- {
- $this->errormsg = '';
- return false;
- }
-
- }
- else
- {
- $this->errormsg = 'Fehler bei DatenbankAbfrage';
- return false;
- }
-
- }
-
- /**
- * Prueft ob der alias bereits existiert
- * @param $alias
- */
- public function alias_exists($alias)
- {
- $qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($alias);
-
- if($this->db_query($qry))
- {
- if($this->db_num_rows()>0)
- {
- $this->errormsg = '';
- return true;
- }
- else
- {
- $this->errormsg = '';
- return false;
- }
-
- }
- else
- {
- $this->errormsg = 'Fehler bei DatenbankAbfrage';
- return false;
- }
- }
-
- /**
- * Sucht nach Benutzern. Limit optional. Aktiv optional.
- *
- * @param $limit (optional)
- * @param $aktiv (optional). Default true. Wenn false werden nur inaktive benutzer geladen, wenn null dann alle
- */
- public function search($searchItems, $limit=null, $aktiv=true)
- {
- $qry = "SELECT * FROM (
- SELECT
- distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede,
- (SELECT UPPER
- (tbl_studiengang.typ || tbl_studiengang.kurzbz)
- FROM public.tbl_student
- JOIN public.tbl_studiengang USING(studiengang_kz)
- WHERE student_uid=tbl_benutzer.uid) as studiengang,
-
- (SELECT studiengang_kz FROM public.tbl_student
- WHERE student_uid=tbl_benutzer.uid) as studiengang_kz,
-
- (SELECT tbl_kontakt.kontakt || ' - ' ||telefonklappe
- FROM public.tbl_mitarbeiter
- LEFT JOIN public.tbl_kontakt USING(standort_id)
- WHERE
- mitarbeiter_uid=tbl_benutzer.uid
- AND (tbl_kontakt.kontakttyp='telefon' OR tbl_kontakt.kontakttyp is null)
- limit 1) as klappe,
-
- (SELECT planbezeichnung FROM public.tbl_mitarbeiter
- LEFT JOIN public.tbl_ort USING (ort_kurzbz)
- WHERE mitarbeiter_uid=tbl_benutzer.uid) as raum,
-
- (SELECT 1
- FROM PUBLIC.tbl_mitarbeiter
- WHERE mitarbeiter_uid = tbl_benutzer.uid
- ) AS is_mitarbeiter
- FROM
- public.tbl_person
- JOIN public.tbl_benutzer USING(person_id)
- LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
- WHERE";
- if(is_null($aktiv))
- $qry.=" (";
- elseif($aktiv==true)
- $qry.=" tbl_benutzer.aktiv=true AND (";
- elseif($aktiv==false)
- $qry.=" tbl_benutzer.aktiv=false AND (";
-
- $qry.=" lower(vorname || ' ' || nachname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
- $qry.=" OR lower(nachname || ' ' || vorname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
- $qry.=" OR lower(uid) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
- $qry.=" OR lower(telefonklappe) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
-
- foreach($searchItems as $value)
- {
- $qry.=" OR lower(uid) = lower(".$this->db_add_param($value).")";
- }
- $qry.=")) a ORDER BY is_mitarbeiter, nachname, vorname";
-
- if(!is_null($limit) && is_numeric($limit))
- $qry.=" LIMIT ".$limit;
-
- if($result = $this->db_query($qry))
- {
- while($row = $this->db_fetch_object($result))
- {
- $obj = new benutzer();
-
- $obj->titelpre = $row->titelpre;
- $obj->vorname = $row->vorname;
- $obj->nachname = $row->nachname;
- $obj->titelpost = $row->titelpost;
- $obj->uid = $row->uid;
- $obj->mitarbeiter_uid = $row->mitarbeiter_uid;
- $obj->studiengang = $row->studiengang;
- $obj->studiengang_kz = $row->studiengang_kz;
- $obj->telefonklappe = $row->klappe;
- $obj->raum = $row->raum;
- $obj->alias = $row->alias;
- $obj->lektor = $row->lektor;
- $obj->fixangestellt = $row->fixangestellt;
- $obj->aktiv = $this->db_parse_bool($row->aktiv);
- $obj->anrede = $row->anrede;
-
- $this->result[] = $obj;
- }
- $this->errormsg = $qry;
- return true;
- }
- else
- {
- $this->errormsg = 'Fehler beim Laden der Daten';
- return false;
- }
- }
-
- /**
- * Laedt alle Benutzer einer Person
- * @param $person_id
- * @param $aktiv optional wenn true werden nur aktive benutzer geladen, sonst alle
- */
- function getBenutzerFromPerson($person_id, $aktiv=true)
- {
- $qry = "SELECT
- person_id, titelpre, vorname, nachname, titelpost, uid
- FROM
- public.tbl_benutzer
- JOIN public.tbl_person USING(person_id)
- WHERE
- person_id=".$this->db_add_param($person_id, FHC_INTEGER);
- if($aktiv)
- $qry.=" AND tbl_benutzer.aktiv=true ";
-
- $qry .= " ORDER BY tbl_person.insertamum";
-
- if($result = $this->db_query($qry))
- {
- while($row = $this->db_fetch_object($result))
- {
- $obj = new benutzer();
-
- $obj->person_id = $row->person_id;
- $obj->titelpre = $row->titelpre;
- $obj->vorname = $row->vorname;
- $obj->nachname = $row->nachname;
- $obj->titelpost = $row->titelpost;
- $obj->uid = $row->uid;
-
- $this->result[] = $obj;
- }
- return true;
- }
- else
- {
- $this->errormsg = 'Fehler beim Laden der Daten';
- return false;
- }
- }
-
- /**
- * Entfernt den Aktivierungscode eines Users
- * @param $username
- */
- public function DeleteAktivierungscode($username)
- {
- $qry = "UPDATE public.tbl_benutzer SET aktivierungscode=null WHERE uid=".$this->db_add_param($username);
- if($this->db_query($qry))
- return true;
- else
- {
- $this->errormsg = 'Fehler beim Loeschen des Aktivierungscodes';
- return false;
- }
- }
-
- /**
- * Baut die Datenstruktur für senden als JSON Objekt auf
- */
- public function cleanResult()
- {
- $values = array();
- if (count($this->result) > 0)
- {
- foreach ($this->result as $ben)
- {
- $obj = new stdClass();
- $obj->uid = $ben->uid;
- $obj->vorname = $ben->vorname;
- $obj->nachname = $ben->nachname;
- $values[] = $obj;
-
- }
- }
- else
- {
- $obj = new stdClass();
- $obj->uid = $this->uid;
- $obj->vorname = $this->vorname;
- $obj->nachname = $this->nachname;
- $values[] = $obj;
- }
- return $values;
- }
-
- /**
- * Laedt Benutzer anhand des Alias
- * @param $alias Alias der Person die geladen werden soll
- */
- public function loadAlias($alias)
- {
- $qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($alias);
-
- if($this->db_query($qry))
- {
- if($row = $this->db_fetch_object())
- {
- $this->uid = $row->uid;
- $this->bnaktiv = $this->db_parse_bool($row->aktiv);
- $this->alias = $row->alias;
- $this->aktivierungscode = $row->aktivierungscode;
-
- if(!person::load($row->person_id))
- return false;
- else
- return true;
- }
- else
- {
- $this->errormsg = "Benutzer nicht gefunden";
- return false;
- }
- }
- else
- {
- $this->errormsg = "Fehler beim Laden der Benutzerdaten";
- return false;
- }
- }
-}
-?>
+,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+require_once(dirname(__FILE__).'/person.class.php');
+
+class benutzer extends person
+{
+ //Tabellenspalten
+ public $uid; // varchar(32)
+ public $bnaktiv=true; // boolean
+ public $alias; // varchar(256)
+ public $bn_ext_id;
+ public $aktivierungscode;
+ public $result = array();
+ public $updateaktivam;
+ public $updateaktivvon;
+
+ /**
+ * Konstruktor - Uebergibt die Connection und laedt optional einen Benutzer
+ * @param $uid Benutzer der geladen werden soll (default=null)
+ */
+ public function __construct($uid=null)
+ {
+ parent::__construct();
+
+ if($uid != null)
+ $this->load($uid);
+ }
+
+ /**
+ * Laedt Benutzer mit der uebergebenen ID
+ * @param $uid ID der Person die geladen werden soll
+ */
+ public function load($uid = null)
+ {
+ if (empty($uid))
+ {
+ $this->errormsg = "UID not set!";
+ return false;
+ }
+
+ $qry = "SELECT * FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
+
+ if($this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object())
+ {
+ $this->uid = $row->uid;
+ $this->bnaktiv = $this->db_parse_bool($row->aktiv);
+ $this->alias = $row->alias;
+ $this->aktivierungscode = $row->aktivierungscode;
+ $this->updateaktivam = $row->updateaktivam;
+ $this->updateaktivvon = $row->updateaktivvon;
+
+ if(!person::load($row->person_id))
+ return false;
+ else
+ return true;
+ }
+ else
+ {
+ $this->errormsg = "Benutzer nicht gefunden";
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = "Fehler beim Laden der Benutzerdaten";
+ return false;
+ }
+ }
+
+ /**
+ * Prueft die Variablen vor dem Speichern
+ * auf Gueltigkeit.
+ * @return true wenn ok, false im Fehlerfall
+ */
+ public function validate()
+ {
+ if(mb_strlen($this->uid)>32)
+ {
+ $this->errormsg = 'UID darf nicht laenger als 32 Zeichen sein';
+ return false;
+ }
+ if($this->uid == '')
+ {
+ $this->errormsg = 'UID muss eingegeben werden';
+ return false;
+ }
+ if(mb_strlen($this->alias)>256)
+ {
+ $this->errormsg = 'Alias darf nicht laenger als 256 Zeichen sein';
+ return false;
+ }
+ if(!is_numeric($this->person_id))
+ {
+ $this->errormsg = 'person_id muss eine gueltige Zahl sein';
+ return false;
+ }
+ if(!is_bool($this->bnaktiv))
+ {
+ $this->errormsg = 'aktiv muss ein boolscher wert sein';
+ return false;
+ }
+
+ if($this->alias!='')
+ {
+ $qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($this->alias)." AND uid!=".$this->db_add_param($this->uid);
+ if($this->db_query($qry))
+ {
+ if($this->db_num_rows()>0)
+ {
+ $this->errormsg = 'Dieser Alias ist bereits vergeben';
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Pruefen des Alias';
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * Speichert die Benutzerdaten in die Datenbank
+ * Wenn $new auf true gesetzt ist wird ein neuer Datensatz angelegt
+ * ansonsten der Datensatz mit $uid upgedated
+ * @return true wenn erfolgreich, false im Fehlerfall
+ */
+ public function save($new=null, $saveperson=true)
+ {
+ if($saveperson)
+ {
+ //Personen Datensatz speichern
+ if(!person::save())
+ return false;
+ }
+
+ if($new==null)
+ $new = $this->new;
+
+ //Variablen auf Gueltigkeit pruefen
+ if(!benutzer::validate())
+ return false;
+
+ if($new) //Wenn new true ist dann ein INSERT absetzen ansonsten ein UPDATE
+ {
+ $qry = 'INSERT INTO public.tbl_benutzer (uid, aktiv, alias, person_id, insertamum, insertvon, updateamum, updatevon, aktivierungscode) VALUES('.
+ $this->db_add_param($this->uid).",".
+ $this->db_add_param($this->bnaktiv,FHC_BOOLEAN).",".
+ $this->db_add_param($this->alias).",".
+ $this->db_add_param($this->person_id, FHC_INTEGER).",".
+ $this->db_add_param($this->insertamum).",".
+ $this->db_add_param($this->insertvon).",".
+ $this->db_add_param($this->updateamum).",".
+ $this->db_add_param($this->updatevon).",".
+ $this->db_add_param($this->aktivierungscode).");";
+ }
+ else
+ {
+ //Wenn der Aktiv Status geaendert wurde, dann auch updateaktivamum und updateaktivvon setzen
+ $upd='';
+ $qry = "SELECT aktiv FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($this->uid);
+ if($this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object())
+ {
+ $aktiv = $this->db_parse_bool($row->aktiv);
+
+ if($aktiv!=$this->bnaktiv)
+ $upd =" updateaktivam=".$this->db_add_param($this->updateamum).", updateaktivvon=".$this->db_add_param($this->updatevon).",";
+ }
+ }
+
+ $qry = 'UPDATE public.tbl_benutzer SET'.
+ ' aktiv='.$this->db_add_param($this->bnaktiv, FHC_BOOLEAN).','.
+ ' alias='.$this->db_add_param($this->alias).','.
+ ' person_id='.$this->db_add_param($this->person_id).','.
+ ' updateamum='.$this->db_add_param($this->updateamum).','.$upd.
+ ' updatevon='.$this->db_add_param($this->updatevon).
+ ' WHERE uid='.$this->db_add_param($this->uid).';';
+ }
+
+ if($this->db_query($qry))
+ {
+ //Log schreiben
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Speichern des Benutzer-Datensatzes';
+ return false;
+ }
+ }
+
+
+ /**
+ * Löscht den Benutzer mit der übergebenen uid. Da beim Speichern auch
+ * eine Person angelegt wird, muss eventuell auch diese gelöscht werden.
+ * Das kann durch Aufruf der geerbten Methode {@link person::delete()}
+ * erledigt werden. Damit die Klasse Abwärtskombatibel bleibt, wurde die
+ * Methode delete() absichtlich nicht überschrieben.
+ * @param $uid
+ */
+ public function deleteBenutzer($uid)
+ {
+ $qry = "DELETE from public.tbl_benutzer where uid = ".$this->db_add_param($uid).";";
+
+ if($this->db_query($qry))
+ {
+ return true;
+ }
+ else
+ {
+ $this->errormsg = "Es ist ein Fehler beim Löschen des Benutzers aufgetreten";
+ return false;
+ }
+ }
+
+
+
+ /**
+ * Prueft ob die UID bereits existiert
+ * @param uid
+ */
+ public function uid_exists($uid)
+ {
+ $qry = "SELECT * FROM public.tbl_benutzer WHERE uid=".$this->db_add_param($uid);
+
+ if($this->db_query($qry))
+ {
+ if($this->db_num_rows()>0)
+ {
+ $this->errormsg = '';
+ return true;
+ }
+ else
+ {
+ $this->errormsg = '';
+ return false;
+ }
+
+ }
+ else
+ {
+ $this->errormsg = 'Fehler bei DatenbankAbfrage';
+ return false;
+ }
+
+ }
+
+ /**
+ * Prueft ob der alias bereits existiert
+ * @param $alias
+ */
+ public function alias_exists($alias)
+ {
+ $qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($alias);
+
+ if($this->db_query($qry))
+ {
+ if($this->db_num_rows()>0)
+ {
+ $this->errormsg = '';
+ return true;
+ }
+ else
+ {
+ $this->errormsg = '';
+ return false;
+ }
+
+ }
+ else
+ {
+ $this->errormsg = 'Fehler bei DatenbankAbfrage';
+ return false;
+ }
+ }
+
+ /**
+ * Sucht nach Benutzern. Limit optional. Aktiv optional.
+ *
+ * @param $searchItems
+ * @param $limit (optional)
+ * @param bool $aktiv (optional). Default true. Wenn false werden nur inaktive benutzer geladen, wenn null dann alle
+ * @param bool $positivePersonalnr (optional). Default false. Wenn true, nur Mitarbeiter mit positiver Personalnr laden.
+ * @return bool
+ */
+ public function search($searchItems, $limit=null, $aktiv=true, $positivePersonalnr=false)
+ {
+ $qry = "SELECT * FROM (
+ SELECT
+ distinct on (uid) vorname, nachname, uid, mitarbeiter_uid, personalnummer, titelpre, titelpost, lektor, fixangestellt, alias, tbl_benutzer.aktiv, anrede,
+ (SELECT UPPER
+ (tbl_studiengang.typ || tbl_studiengang.kurzbz)
+ FROM public.tbl_student
+ JOIN public.tbl_studiengang USING(studiengang_kz)
+ WHERE student_uid=tbl_benutzer.uid) as studiengang,
+
+ (SELECT studiengang_kz FROM public.tbl_student
+ WHERE student_uid=tbl_benutzer.uid) as studiengang_kz,
+
+ (SELECT tbl_kontakt.kontakt || ' - ' ||telefonklappe
+ FROM public.tbl_mitarbeiter
+ LEFT JOIN public.tbl_kontakt USING(standort_id)
+ WHERE
+ mitarbeiter_uid=tbl_benutzer.uid
+ AND (tbl_kontakt.kontakttyp='telefon' OR tbl_kontakt.kontakttyp is null)
+ limit 1) as klappe,
+
+ (SELECT planbezeichnung FROM public.tbl_mitarbeiter
+ LEFT JOIN public.tbl_ort USING (ort_kurzbz)
+ WHERE mitarbeiter_uid=tbl_benutzer.uid) as raum,
+
+ (SELECT 1
+ FROM PUBLIC.tbl_mitarbeiter
+ WHERE mitarbeiter_uid = tbl_benutzer.uid
+ ) AS is_mitarbeiter
+ FROM
+ public.tbl_person
+ JOIN public.tbl_benutzer USING(person_id)
+ LEFT JOIN public.tbl_mitarbeiter ON(uid=mitarbeiter_uid)
+ WHERE";
+ if($aktiv===true)
+ $qry.=" tbl_benutzer.aktiv=true AND";
+ elseif($aktiv===false)
+ $qry.=" tbl_benutzer.aktiv=false AND";
+
+ if($positivePersonalnr === true)
+ $qry.=" (personalnummer >= 0 OR personalnummer IS NULL) AND";
+
+ $qry.=" (lower(vorname || ' ' || nachname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
+ $qry.=" OR lower(nachname || ' ' || vorname) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
+ $qry.=" OR lower(uid) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
+ $qry.=" OR lower(telefonklappe) like lower('%".$this->db_escape(implode(' ',$searchItems))."%')";
+
+ foreach($searchItems as $value)
+ {
+ $qry.=" OR lower(uid) = lower(".$this->db_add_param($value).")";
+ }
+ $qry.=")) a ORDER BY is_mitarbeiter, nachname, vorname";
+
+ if(!is_null($limit) && is_numeric($limit))
+ $qry.=" LIMIT ".$limit;
+
+ if($result = $this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object($result))
+ {
+ $obj = new benutzer();
+
+ $obj->titelpre = $row->titelpre;
+ $obj->vorname = $row->vorname;
+ $obj->nachname = $row->nachname;
+ $obj->titelpost = $row->titelpost;
+ $obj->uid = $row->uid;
+ $obj->mitarbeiter_uid = $row->mitarbeiter_uid;
+ $obj->studiengang = $row->studiengang;
+ $obj->studiengang_kz = $row->studiengang_kz;
+ $obj->telefonklappe = $row->klappe;
+ $obj->raum = $row->raum;
+ $obj->alias = $row->alias;
+ $obj->lektor = $row->lektor;
+ $obj->fixangestellt = $row->fixangestellt;
+ $obj->aktiv = $this->db_parse_bool($row->aktiv);
+ $obj->anrede = $row->anrede;
+
+ $this->result[] = $obj;
+ }
+ $this->errormsg = $qry;
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
+ /**
+ * Laedt alle Benutzer einer Person
+ * @param $person_id
+ * @param $aktiv optional wenn true werden nur aktive benutzer geladen, sonst alle
+ */
+ function getBenutzerFromPerson($person_id, $aktiv=true)
+ {
+ $qry = "SELECT
+ person_id, titelpre, vorname, nachname, titelpost, uid
+ FROM
+ public.tbl_benutzer
+ JOIN public.tbl_person USING(person_id)
+ WHERE
+ person_id=".$this->db_add_param($person_id, FHC_INTEGER);
+ if($aktiv)
+ $qry.=" AND tbl_benutzer.aktiv=true ";
+
+ $qry .= " ORDER BY tbl_person.insertamum";
+
+ if($result = $this->db_query($qry))
+ {
+ while($row = $this->db_fetch_object($result))
+ {
+ $obj = new benutzer();
+
+ $obj->person_id = $row->person_id;
+ $obj->titelpre = $row->titelpre;
+ $obj->vorname = $row->vorname;
+ $obj->nachname = $row->nachname;
+ $obj->titelpost = $row->titelpost;
+ $obj->uid = $row->uid;
+
+ $this->result[] = $obj;
+ }
+ return true;
+ }
+ else
+ {
+ $this->errormsg = 'Fehler beim Laden der Daten';
+ return false;
+ }
+ }
+
+ /**
+ * Entfernt den Aktivierungscode eines Users
+ * @param $username
+ */
+ public function DeleteAktivierungscode($username)
+ {
+ $qry = "UPDATE public.tbl_benutzer SET aktivierungscode=null WHERE uid=".$this->db_add_param($username);
+ if($this->db_query($qry))
+ return true;
+ else
+ {
+ $this->errormsg = 'Fehler beim Loeschen des Aktivierungscodes';
+ return false;
+ }
+ }
+
+ /**
+ * Baut die Datenstruktur für senden als JSON Objekt auf
+ */
+ public function cleanResult()
+ {
+ $values = array();
+ if (count($this->result) > 0)
+ {
+ foreach ($this->result as $ben)
+ {
+ $obj = new stdClass();
+ $obj->uid = $ben->uid;
+ $obj->vorname = $ben->vorname;
+ $obj->nachname = $ben->nachname;
+ $values[] = $obj;
+
+ }
+ }
+ else
+ {
+ $obj = new stdClass();
+ $obj->uid = $this->uid;
+ $obj->vorname = $this->vorname;
+ $obj->nachname = $this->nachname;
+ $values[] = $obj;
+ }
+ return $values;
+ }
+
+ /**
+ * Laedt Benutzer anhand des Alias
+ * @param $alias Alias der Person die geladen werden soll
+ */
+ public function loadAlias($alias)
+ {
+ $qry = "SELECT * FROM public.tbl_benutzer WHERE alias=".$this->db_add_param($alias);
+
+ if($this->db_query($qry))
+ {
+ if($row = $this->db_fetch_object())
+ {
+ $this->uid = $row->uid;
+ $this->bnaktiv = $this->db_parse_bool($row->aktiv);
+ $this->alias = $row->alias;
+ $this->aktivierungscode = $row->aktivierungscode;
+
+ if(!person::load($row->person_id))
+ return false;
+ else
+ return true;
+ }
+ else
+ {
+ $this->errormsg = "Benutzer nicht gefunden";
+ return false;
+ }
+ }
+ else
+ {
+ $this->errormsg = "Fehler beim Laden der Benutzerdaten";
+ return false;
+ }
+ }
+}
+?>
diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php
index 70dff1aac..b58c84415 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -865,7 +865,7 @@ class mitarbeiter extends benutzer
* Nachname, Vorname, UID $filter enthaelt
* @param $filter
*/
- public function search($filter, $limit=null, $aktiv=true)
+ public function search($filter, $limit=null, $aktiv=true, $positivePersonalnr=false)
{
$qry = "SELECT vorname, nachname, titelpre, titelpost, kurzbz, vornamen, uid
FROM campus.vw_mitarbeiter
@@ -880,7 +880,6 @@ class mitarbeiter extends benutzer
if(!is_null($limit) && is_numeric($limit))
$qry.=" LIMIT ".$limit;
- //echo $qry;
if($this->db_query($qry))
{
while($row = $this->db_fetch_object())
diff --git a/locale/de-AT/profil.php b/locale/de-AT/profil.php
index 52f1c439d..8ad0bb749 100644
--- a/locale/de-AT/profil.php
+++ b/locale/de-AT/profil.php
@@ -1,83 +1,84 @@
-phrasen['profil/profil']='Profil';
-$this->phrasen['profil/mitarbeiter']='MitarbeiterIn';
-$this->phrasen['profil/home']='HOME';
-$this->phrasen['profil/meinCis']='Mein CIS';
-$this->phrasen['profil/bildHochladen']='Profilfoto hochladen';
-$this->phrasen['profil/email']='eMail';
-$this->phrasen['profil/kontaktPrivat']='Private Kontakte';
-$this->phrasen['profil/mobil']='Mobil';
-$this->phrasen['profil/telefon']='Telefon';
-$this->phrasen['profil/intern']='Intern';
-$this->phrasen['profil/alias']='Alias';
-$this->phrasen['profil/homepage']='Homepage';
-$this->phrasen['profil/student']='StudentIn';
-$this->phrasen['profil/martrikelnummer']='Personenkennzeichen';
-$this->phrasen['profil/leistungsbeurteilung']='Leistungsbeurteilung';
-$this->phrasen['profil/kurzzeichen']='Kurzzeichen';
-$this->phrasen['profil/telefonTw']='Telefon';
-$this->phrasen['profil/faxTw']='Fax';
-$this->phrasen['profil/zeitwuensche']='Zeitwünsche';
-$this->phrasen['profil/funktionen']='Funktionen';
-$this->phrasen['profil/entlehnteBetriebsmittel']='Entlehnte Betriebsmittel';
-$this->phrasen['profil/betriebsmittel']='Betriebsmittel';
-$this->phrasen['profil/nummer']='Nummer';
-$this->phrasen['profil/ausgegebenAm']='Ausgegeben am';
-$this->phrasen['profil/sieSindMitgliedInFolgendenVerteilern']='Sie sind Mitglied in folgenden Verteilern';
-$this->phrasen['profil/derUserIstInFolgendenVerteilern'] = 'Der User %s ist Mitglied in folgenden Verteilern';
-$this->phrasen['profil/alleStudentenVon']='Alle StudentInnen von';
-$this->phrasen['profil/kurzbeschreibungFuerOeh']='Kurzbeschreibung für die ÖH-Kandidatur';
-$this->phrasen['profil/solltenDatenNichtStimmen']='Sollten Ihre Daten nicht stimmen, wenden Sie sich bitte an die zuständige Assistenz';
-$this->phrasen['profil/esWurdenKeineProfileGefunden']='Es wurden keine oder mehrere Profile für Ihren Useraccount gefunden';
-$this->phrasen['profil/adminstration']='Administration';
-$this->phrasen['profil/zustaendigeAssistenz']='zuständige Assistenz';
-$this->phrasen['profil/wendenSieSichAn']='Bitte wenden Sie sich an die';
-$this->phrasen['profil/solltenDatenNichtStimmen']='Sollten Ihre Daten nicht stimmen, wenden Sie sich bitte an die';
-$this->phrasen['profil/buero']='Büro';
-$this->phrasen['profil/zeitsperrenVon']='Zeitsperren von';
-$this->phrasen['profil/lvplanVon']='LV-Plan von';
-
-$this->phrasen['profil/AccountInaktiv']='Achtung: Dieser Account ist nicht mehr aktiv';
-$this->phrasen['profil/inaktivStudent']='Achtung!
Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz
-deaktiviert wurde.Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.
-Sollte innerhalb von 6 Monaten (für Studierende) bzw. 3 Wochen (für AbbrecherInnen) nach der Deaktivierung keine
-neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch
- Ihr Account,
- Ihre Mailbox (inkl. aller E-Mails) und
-- Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht.
Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
-sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.
';
-
-$this->phrasen['profil/inaktivMitarbeiter']='Achtung!
Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz
-deaktiviert wurde.Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.
-Sollte innerhalb von 12 Monaten nach der Deaktivierung keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch
-- Ihr Account,
- Ihre Mailbox (inkl. aller E-Mails) und
-- Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht.
Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
-sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.
';
-
-$this->phrasen['profil/inaktivSonstige']='Achtung!
Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz
-deaktiviert wurde.Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.
-Sollte innerhalb der nächsten Tagen keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch
-- Ihr Account,
- Ihre Mailbox (inkl. aller E-Mails) und
-- Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht.
Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
-sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.
';
-
-$this->phrasen['profil/nurJPGBilder']='Derzeit können nur Bilder im JPG Format hochgeladen werden';
-$this->phrasen['profil/BilduploadInfotext']='Derzeit können nur Bilder im JPG Format mit einer Maximalgröße von 15MB hochgeladen werden!
Bitte beachten Sie die Richtlinien für den Bildupload';
-$this->phrasen['profil/Bild']='Profilfoto';
-$this->phrasen['profil/Bildupload']='Bildupload';
-$this->phrasen['profil/fotofreigeben']='Sperre des Profilfotos aufheben';
-$this->phrasen['profil/fotosperren']='Profilfoto sperren';
-$this->phrasen['profil/infotextSperre']='Gesperrte Profilbilder werden nur für Zutrittskarten verwendet und scheinen nicht auf Anwesenheitslisten oder in der Personensuche auf';
-$this->phrasen['profil/profilfotoGesperrt']='Profilfoto gesperrt';
-$this->phrasen['profil/profilfotoUploadGesperrt']='Der Upload des Profilfotos ist nicht mehr möglich';
-$this->phrasen['profil/fhausweisStatus']='FH-Ausweis Status';
-$this->phrasen['profil/fhausweisWurdeBereitsAusgegeben']='Der FH Ausweis ist am %s ausgegeben worden.';
-$this->phrasen['profil/ladenSieBitteEinGueltigesFotoHoch']='Laden Sie bitte ein gültiges Foto hoch';
-$this->phrasen['profil/fotoWurdeNochNichtAkzeptiert']='Foto wurde noch nicht akzeptiert';
-$this->phrasen['profil/fhausweisGedrucktAm']='FH-Ausweis gedruckt am';
-$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='FH-Ausweis abholbereit am Empfang ab';
-$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='FH-Ausweis wurde noch nicht gedruckt';
-$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='Ihr Foto wurde noch nicht geprüft';
-$this->phrasen['profil/fotoAuswählen']='Klicken Sie auf das Bild um ein Foto hochzuladen';
-$this->phrasen['profil/bildSpeichern']='Bild speichern';
-$this->phrasen['profil/gueltigvon']='Gültig von';
-$this->phrasen['profil/gueltigbis']='Gültig bis';
-?>
+phrasen['profil/profil']='Profil';
+$this->phrasen['profil/mitarbeiter']='MitarbeiterIn';
+$this->phrasen['profil/home']='HOME';
+$this->phrasen['profil/meinCis']='Mein CIS';
+$this->phrasen['profil/bildHochladen']='Profilfoto hochladen';
+$this->phrasen['profil/email']='eMail';
+$this->phrasen['profil/kontaktPrivat']='Private Kontakte';
+$this->phrasen['profil/mobil']='Mobil';
+$this->phrasen['profil/telefon']='Telefon';
+$this->phrasen['profil/intern']='Intern';
+$this->phrasen['profil/alias']='Alias';
+$this->phrasen['profil/homepage']='Homepage';
+$this->phrasen['profil/student']='StudentIn';
+$this->phrasen['profil/martrikelnummer']='Personenkennzeichen';
+$this->phrasen['profil/leistungsbeurteilung']='Leistungsbeurteilung';
+$this->phrasen['profil/kurzzeichen']='Kurzzeichen';
+$this->phrasen['profil/telefonTw']='Telefon';
+$this->phrasen['profil/faxTw']='Fax';
+$this->phrasen['profil/zeitwuensche']='Zeitwünsche';
+$this->phrasen['profil/funktionen']='Funktionen';
+$this->phrasen['profil/entlehnteBetriebsmittel']='Entlehnte Betriebsmittel';
+$this->phrasen['profil/betriebsmittel']='Betriebsmittel';
+$this->phrasen['profil/nummer']='Nummer';
+$this->phrasen['profil/ausgegebenAm']='Ausgegeben am';
+$this->phrasen['profil/sieSindMitgliedInFolgendenVerteilern']='Sie sind Mitglied in folgenden Verteilern';
+$this->phrasen['profil/derUserIstInFolgendenVerteilern'] = 'Der User %s ist Mitglied in folgenden Verteilern';
+$this->phrasen['profil/alleStudentenVon']='Alle StudentInnen von';
+$this->phrasen['profil/kurzbeschreibungFuerOeh']='Kurzbeschreibung für die ÖH-Kandidatur';
+$this->phrasen['profil/solltenDatenNichtStimmen']='Sollten Ihre Daten nicht stimmen, wenden Sie sich bitte an die zuständige Assistenz';
+$this->phrasen['profil/esWurdenKeineProfileGefunden']='Es wurden keine oder mehrere Profile für Ihren Useraccount gefunden';
+$this->phrasen['profil/keinGueltigesProfil']='Kein gültiges Profil';
+$this->phrasen['profil/adminstration']='Administration';
+$this->phrasen['profil/zustaendigeAssistenz']='zuständige Assistenz';
+$this->phrasen['profil/wendenSieSichAn']='Bitte wenden Sie sich an die';
+$this->phrasen['profil/solltenDatenNichtStimmen']='Sollten Ihre Daten nicht stimmen, wenden Sie sich bitte an die';
+$this->phrasen['profil/buero']='Büro';
+$this->phrasen['profil/zeitsperrenVon']='Zeitsperren von';
+$this->phrasen['profil/lvplanVon']='LV-Plan von';
+
+$this->phrasen['profil/AccountInaktiv']='Achtung: Dieser Account ist nicht mehr aktiv';
+$this->phrasen['profil/inaktivStudent']='Achtung!
Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz
+deaktiviert wurde.Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.
+Sollte innerhalb von 6 Monaten (für Studierende) bzw. 3 Wochen (für AbbrecherInnen) nach der Deaktivierung keine
+neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch
- Ihr Account,
- Ihre Mailbox (inkl. aller E-Mails) und
+- Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht.
Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
+sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.
';
+
+$this->phrasen['profil/inaktivMitarbeiter']='Achtung!
Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz
+deaktiviert wurde.Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.
+Sollte innerhalb von 12 Monaten nach der Deaktivierung keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch
+- Ihr Account,
- Ihre Mailbox (inkl. aller E-Mails) und
+- Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht.
Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
+sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.
';
+
+$this->phrasen['profil/inaktivSonstige']='Achtung!
Wir möchten Sie darauf aufmerksam machen, dass Ihr Benutzerdatensatz
+deaktiviert wurde.Durch diese Deaktivierung wurden Sie auch aus allen Email-Verteilern gelöscht.
+Sollte innerhalb der nächsten Tagen keine neuerliche Aktivierung Ihres Benutzerdatensatzes erfolgen, dann werden automatisch auch
+- Ihr Account,
- Ihre Mailbox (inkl. aller E-Mails) und
+- Ihr Home-Verzeichnis (inkl. aller Dateien) gelöscht.
Falls es sich bei der Deaktivierung um einen Irrtum handelt, würden wir Sie bitten,
+sich umgehend mit Ihrer Studiengangsassistenz in Verbindung zu setzen.
';
+
+$this->phrasen['profil/nurJPGBilder']='Derzeit können nur Bilder im JPG Format hochgeladen werden';
+$this->phrasen['profil/BilduploadInfotext']='Derzeit können nur Bilder im JPG Format mit einer Maximalgröße von 15MB hochgeladen werden!
Bitte beachten Sie die Richtlinien für den Bildupload';
+$this->phrasen['profil/Bild']='Profilfoto';
+$this->phrasen['profil/Bildupload']='Bildupload';
+$this->phrasen['profil/fotofreigeben']='Sperre des Profilfotos aufheben';
+$this->phrasen['profil/fotosperren']='Profilfoto sperren';
+$this->phrasen['profil/infotextSperre']='Gesperrte Profilbilder werden nur für Zutrittskarten verwendet und scheinen nicht auf Anwesenheitslisten oder in der Personensuche auf';
+$this->phrasen['profil/profilfotoGesperrt']='Profilfoto gesperrt';
+$this->phrasen['profil/profilfotoUploadGesperrt']='Der Upload des Profilfotos ist nicht mehr möglich';
+$this->phrasen['profil/fhausweisStatus']='FH-Ausweis Status';
+$this->phrasen['profil/fhausweisWurdeBereitsAusgegeben']='Der FH Ausweis ist am %s ausgegeben worden.';
+$this->phrasen['profil/ladenSieBitteEinGueltigesFotoHoch']='Laden Sie bitte ein gültiges Foto hoch';
+$this->phrasen['profil/fotoWurdeNochNichtAkzeptiert']='Foto wurde noch nicht akzeptiert';
+$this->phrasen['profil/fhausweisGedrucktAm']='FH-Ausweis gedruckt am';
+$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='FH-Ausweis abholbereit am Empfang ab';
+$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='FH-Ausweis wurde noch nicht gedruckt';
+$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='Ihr Foto wurde noch nicht geprüft';
+$this->phrasen['profil/fotoAuswählen']='Klicken Sie auf das Bild um ein Foto hochzuladen';
+$this->phrasen['profil/bildSpeichern']='Bild speichern';
+$this->phrasen['profil/gueltigvon']='Gültig von';
+$this->phrasen['profil/gueltigbis']='Gültig bis';
+?>
diff --git a/locale/en-US/profil.php b/locale/en-US/profil.php
index 30ea23f1a..8f58fd089 100644
--- a/locale/en-US/profil.php
+++ b/locale/en-US/profil.php
@@ -1,81 +1,82 @@
-phrasen['profil/home']='HOME';
-$this->phrasen['profil/profil']='Profile';
-$this->phrasen['profil/mitarbeiter']='Employee';
-$this->phrasen['profil/meinCis']='My CIS';
-$this->phrasen['profil/bildHochladen']='Upload picture';
-$this->phrasen['profil/email']='eMail';
-$this->phrasen['profil/kontaktPrivat']='Private Contacts';
-$this->phrasen['profil/intern']='Intern';
-$this->phrasen['profil/alias']='Alias';
-$this->phrasen['profil/homepage']='Homepage';
-$this->phrasen['profil/student']='Student';
-$this->phrasen['profil/martrikelnummer']='matriculation number';
-$this->phrasen['profil/leistungsbeurteilung']='Performance assessment';
-$this->phrasen['profil/kurzzeichen']='Abbreviation';
-$this->phrasen['profil/telefonTw']='Telephone';
-$this->phrasen['profil/faxTw']='Fax';
-$this->phrasen['profil/zeitwuensche']='Preferred teaching times';
-$this->phrasen['profil/funktionen']='Functions';
-$this->phrasen['profil/entlehnteBetriebsmittel']='Borrowed equipment';
-$this->phrasen['profil/betriebsmittel']='Equipment';
-$this->phrasen['profil/nummer']='Number';
-$this->phrasen['profil/ausgegebenAm']='Issued on';
-$this->phrasen['profil/sieSindMitgliedInFolgendenVerteilern']='You are member of the following mailing lists';
-$this->phrasen['profil/derUserIstInFolgendenVerteilern'] = 'User %s is a member of the following mailing lists';
-$this->phrasen['profil/alleStudentenVon']='All students from';
-$this->phrasen['profil/kurzbeschreibungFuerOeh']='Brief description for the Austian Student Union candidacy';
-$this->phrasen['profil/solltenDatenNichtStimmen']='If your data is incorrect, please contact the responsible assistant';
-$this->phrasen['profil/esWurdenKeineProfileGefunden']='No profile ore multiple profiles were found for your user account';
-$this->phrasen['profil/adminstration']='Administration';
-$this->phrasen['profil/zustaendigeAssistenz']='Administrative Assistant';
-$this->phrasen['profil/wendenSieSichAn']='Please contact the';
-$this->phrasen['profil/solltenDatenNichtStimmen']='If your data is incorrect, please contact the responsible';
-$this->phrasen['profil/buero']='Office';
-$this->phrasen['profil/zeitsperrenVon']='Unavailabilities of';
-$this->phrasen['profil/lvplanVon']='Schedule from';
-
-$this->phrasen['profil/AccountInaktiv']='NOTICE: This account is no longer active';
-$this->phrasen['profil/inaktivStudent']='NOTICE!
We would like to remind you that your user record has been deactivated.
-You were also removed from all e-mail distribution lists when your account was deactivated.
-If your user account is not reactivated within 6 months (for students) or 3 weeks (for dropouts) of being deactivated, the following data will be automatically deleted:
-- Your account
- Your mailbox (including all e-mails) and
- Your home directory (including all files).
-If your account has been deactivated by mistake, please contact the administrative assistant for your degree program immediately.
';
-
-$this->phrasen['profil/inaktivMitarbeiter']='NOTICE!
We would like to remind you that your user record has been deactivated.
-You were also removed from all e-mail distribution lists when your account was deactivated.
-If your user account is not reactivated within 12 months of being deactivated, the following data will be automatically deleted:
-- Your account
- Your mailbox (including all e-mails) and
- Your home directory (including all files).
-If your account has been deactivated by mistake, please contact the administrative assistant for your degree program immediately.
';
-
-$this->phrasen['profil/inaktivSonstige']='NOTICE!
We would like to remind you that your user record has been deactivated.
-You were also removed from all e-mail distribution lists when your account was deactivated.
-If your user account is not reactivated within the next days of being deactivated, the following data will be automatically deleted:
-- Your account
- Your mailbox (including all e-mails) and
- Your home directory (including all files).
-If your account has been deactivated by mistake, please contact the administrative assistant for your degree program immediately.
';
-
-
-
-
-$this->phrasen['profil/nurJPGBilder']='Currently it is only possible to upload JPEG images';
-$this->phrasen['profil/BilduploadInfotext']='Currently it is only possible to upload JPG images with a maximum size of 15MB!
Please follow the guidelines for uploading images';
-$this->phrasen['profil/Bild']='Picture';
-$this->phrasen['profil/Bildupload']='Upload Picture';
-$this->phrasen['profil/fotofreigeben']='Unlock your profile photo';
-$this->phrasen['profil/fotosperren']='Lock your profile photo';
-$this->phrasen['profil/infotextSperre']='Locked profile photos are only used for access cards, and do not appear on attendance lists or in the people search';
-$this->phrasen['profil/profilfotoGesperrt']='Profile photo locked';
-$this->phrasen['profil/profilfotoUploadGesperrt']='It is no longer possible to upload a profile photo';
-$this->phrasen['profil/fhausweisStatus']='UAS ID card status';
-$this->phrasen['profil/fhausweisWurdeBereitsAusgegeben']='UAS ID card has already been issued on %s.';
-$this->phrasen['profil/ladenSieBitteEinGueltigesFotoHoch']='Please upload a valid photo';
-$this->phrasen['profil/fotoWurdeNochNichtAkzeptiert']='Photo has not yet been accepted';
-$this->phrasen['profil/fhausweisGedrucktAm']='UAS ID card printed on';
-$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='UAS ID card will be ready for pick-up at the information desk on';
-$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='UAS ID card has not yet been printed';
-$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='Your photo has not yet been approved';
-$this->phrasen['profil/fotoAuswählen']='Click on the image below to upload a photo';
-$this->phrasen['profil/bildSpeichern']='Save image';
-$this->phrasen['profil/gueltigvon']='Valid from';
-$this->phrasen['profil/gueltigbis']='Valid to';
-?>
+phrasen['profil/home']='HOME';
+$this->phrasen['profil/profil']='Profile';
+$this->phrasen['profil/mitarbeiter']='Employee';
+$this->phrasen['profil/meinCis']='My CIS';
+$this->phrasen['profil/bildHochladen']='Upload picture';
+$this->phrasen['profil/email']='eMail';
+$this->phrasen['profil/kontaktPrivat']='Private Contacts';
+$this->phrasen['profil/intern']='Intern';
+$this->phrasen['profil/alias']='Alias';
+$this->phrasen['profil/homepage']='Homepage';
+$this->phrasen['profil/student']='Student';
+$this->phrasen['profil/martrikelnummer']='matriculation number';
+$this->phrasen['profil/leistungsbeurteilung']='Performance assessment';
+$this->phrasen['profil/kurzzeichen']='Abbreviation';
+$this->phrasen['profil/telefonTw']='Telephone';
+$this->phrasen['profil/faxTw']='Fax';
+$this->phrasen['profil/zeitwuensche']='Preferred teaching times';
+$this->phrasen['profil/funktionen']='Functions';
+$this->phrasen['profil/entlehnteBetriebsmittel']='Borrowed equipment';
+$this->phrasen['profil/betriebsmittel']='Equipment';
+$this->phrasen['profil/nummer']='Number';
+$this->phrasen['profil/ausgegebenAm']='Issued on';
+$this->phrasen['profil/sieSindMitgliedInFolgendenVerteilern']='You are member of the following mailing lists';
+$this->phrasen['profil/derUserIstInFolgendenVerteilern'] = 'User %s is a member of the following mailing lists';
+$this->phrasen['profil/alleStudentenVon']='All students from';
+$this->phrasen['profil/kurzbeschreibungFuerOeh']='Brief description for the Austian Student Union candidacy';
+$this->phrasen['profil/solltenDatenNichtStimmen']='If your data is incorrect, please contact the responsible assistant';
+$this->phrasen['profil/esWurdenKeineProfileGefunden']='No profile ore multiple profiles were found for your user account';
+$this->phrasen['profil/keinGueltigesProfil']='Not a valid profile';
+$this->phrasen['profil/adminstration']='Administration';
+$this->phrasen['profil/zustaendigeAssistenz']='Administrative Assistant';
+$this->phrasen['profil/wendenSieSichAn']='Please contact the';
+$this->phrasen['profil/solltenDatenNichtStimmen']='If your data is incorrect, please contact the responsible';
+$this->phrasen['profil/buero']='Office';
+$this->phrasen['profil/zeitsperrenVon']='Unavailabilities of';
+$this->phrasen['profil/lvplanVon']='Schedule from';
+
+$this->phrasen['profil/AccountInaktiv']='NOTICE: This account is no longer active';
+$this->phrasen['profil/inaktivStudent']='NOTICE!
We would like to remind you that your user record has been deactivated.
+You were also removed from all e-mail distribution lists when your account was deactivated.
+If your user account is not reactivated within 6 months (for students) or 3 weeks (for dropouts) of being deactivated, the following data will be automatically deleted:
+- Your account
- Your mailbox (including all e-mails) and
- Your home directory (including all files).
+If your account has been deactivated by mistake, please contact the administrative assistant for your degree program immediately.
';
+
+$this->phrasen['profil/inaktivMitarbeiter']='NOTICE!
We would like to remind you that your user record has been deactivated.
+You were also removed from all e-mail distribution lists when your account was deactivated.
+If your user account is not reactivated within 12 months of being deactivated, the following data will be automatically deleted:
+- Your account
- Your mailbox (including all e-mails) and
- Your home directory (including all files).
+If your account has been deactivated by mistake, please contact the administrative assistant for your degree program immediately.
';
+
+$this->phrasen['profil/inaktivSonstige']='NOTICE!
We would like to remind you that your user record has been deactivated.
+You were also removed from all e-mail distribution lists when your account was deactivated.
+If your user account is not reactivated within the next days of being deactivated, the following data will be automatically deleted:
+- Your account
- Your mailbox (including all e-mails) and
- Your home directory (including all files).
+If your account has been deactivated by mistake, please contact the administrative assistant for your degree program immediately.
';
+
+
+
+
+$this->phrasen['profil/nurJPGBilder']='Currently it is only possible to upload JPEG images';
+$this->phrasen['profil/BilduploadInfotext']='Currently it is only possible to upload JPG images with a maximum size of 15MB!
Please follow the guidelines for uploading images';
+$this->phrasen['profil/Bild']='Picture';
+$this->phrasen['profil/Bildupload']='Upload Picture';
+$this->phrasen['profil/fotofreigeben']='Unlock your profile photo';
+$this->phrasen['profil/fotosperren']='Lock your profile photo';
+$this->phrasen['profil/infotextSperre']='Locked profile photos are only used for access cards, and do not appear on attendance lists or in the people search';
+$this->phrasen['profil/profilfotoGesperrt']='Profile photo locked';
+$this->phrasen['profil/profilfotoUploadGesperrt']='It is no longer possible to upload a profile photo';
+$this->phrasen['profil/fhausweisStatus']='UAS ID card status';
+$this->phrasen['profil/fhausweisWurdeBereitsAusgegeben']='UAS ID card has already been issued on %s.';
+$this->phrasen['profil/ladenSieBitteEinGueltigesFotoHoch']='Please upload a valid photo';
+$this->phrasen['profil/fotoWurdeNochNichtAkzeptiert']='Photo has not yet been accepted';
+$this->phrasen['profil/fhausweisGedrucktAm']='UAS ID card printed on';
+$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='UAS ID card will be ready for pick-up at the information desk on';
+$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='UAS ID card has not yet been printed';
+$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='Your photo has not yet been approved';
+$this->phrasen['profil/fotoAuswählen']='Click on the image below to upload a photo';
+$this->phrasen['profil/bildSpeichern']='Save image';
+$this->phrasen['profil/gueltigvon']='Valid from';
+$this->phrasen['profil/gueltigbis']='Valid to';
+?>
diff --git a/locale/it-IT/profil.php b/locale/it-IT/profil.php
index 72bd47e65..c3413af65 100644
--- a/locale/it-IT/profil.php
+++ b/locale/it-IT/profil.php
@@ -1,62 +1,63 @@
-phrasen['profil/AccountInaktiv']='Attenzione: questo account non è più attivo';
-$this->phrasen['profil/adminstration']='Gestione notizie';
-$this->phrasen['profil/alias']='alias';
-$this->phrasen['profil/alleStudentenVon']='Tutti gli studenti di';
-$this->phrasen['profil/ausgegebenAm']='';
-$this->phrasen['profil/betriebsmittel']='';
-$this->phrasen['profil/Bild']='';
-$this->phrasen['profil/bildHochladen']='';
-$this->phrasen['profil/bildSpeichern']='';
-$this->phrasen['profil/Bildupload']='';
-$this->phrasen['profil/BilduploadInfotext']='';
-$this->phrasen['profil/buero']='';
-$this->phrasen['profil/derUserIstInFolgendenVerteilern ']='';
-$this->phrasen['profil/email']='Email';
-$this->phrasen['profil/entlehnteBetriebsmittel']='';
-$this->phrasen['profil/esWurdenKeineProfileGefunden']='Nessun profilo o più profili per l\'utente richiesto';
-$this->phrasen['profil/faxTw']='fax';
-$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='';
-$this->phrasen['profil/fhausweisGedrucktAm']='';
-$this->phrasen['profil/fhausweisStatus']='';
-$this->phrasen['profil/fhausweisWurdeBereitsAusgegeben']='Tesserino consegnato il %s.';
-$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='';
-$this->phrasen['profil/fotoAuswählen']='';
-$this->phrasen['profil/fotofreigeben']='';
-$this->phrasen['profil/fotosperren']='';
-$this->phrasen['profil/fotoWurdeNochNichtAkzeptiert']='';
-$this->phrasen['profil/funktionen']='';
-$this->phrasen['profil/home']='';
-$this->phrasen['profil/homepage']='';
-$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='';
-$this->phrasen['profil/inaktivMitarbeiter']='';
-$this->phrasen['profil/inaktivSonstige']='';
-$this->phrasen['profil/inaktivStudent']='';
-$this->phrasen['profil/infotextSperre']='';
-$this->phrasen['profil/intern']='E-mail di Ateneo';
-$this->phrasen['profil/kontaktPrivat']='Contatti Personali';
-$this->phrasen['profil/kurzbeschreibungFuerOeh']='';
-$this->phrasen['profil/kurzzeichen']='ID breve';
-$this->phrasen['profil/ladenSieBitteEinGueltigesFotoHoch']='';
-$this->phrasen['profil/leistungsbeurteilung']='';
-$this->phrasen['profil/lvplanVon']='';
-$this->phrasen['profil/martrikelnummer']='Codice Persona';
-$this->phrasen['profil/meinCis']='';
-$this->phrasen['profil/mitarbeiter']='';
-$this->phrasen['profil/mobil']='Cellulare';
-$this->phrasen['profil/nummer']='';
-$this->phrasen['profil/nurJPGBilder']='';
-$this->phrasen['profil/profil']='';
-$this->phrasen['profil/profilfotoGesperrt']='';
-$this->phrasen['profil/profilfotoUploadGesperrt']='';
-$this->phrasen['profil/sieSindMitgliedInFolgendenVerteilern']='';
-$this->phrasen['profil/solltenDatenNichtStimmen']='La preghiamo di rivolgersi alla segreteria nel caso i dati non risultino essere corretti.';
-$this->phrasen['profil/student']='Studente';
-$this->phrasen['profil/telefon']='';
-$this->phrasen['profil/telefonTw']='';
-$this->phrasen['profil/wendenSieSichAn']='';
-$this->phrasen['profil/zeitsperrenVon']='';
-$this->phrasen['profil/zeitwuensche']='';
-$this->phrasen['profil/zustaendigeAssistenz']='';
-
-?>
+phrasen['profil/AccountInaktiv']='Attenzione: questo account non è più attivo';
+$this->phrasen['profil/adminstration']='Gestione notizie';
+$this->phrasen['profil/alias']='alias';
+$this->phrasen['profil/alleStudentenVon']='Tutti gli studenti di';
+$this->phrasen['profil/ausgegebenAm']='';
+$this->phrasen['profil/betriebsmittel']='';
+$this->phrasen['profil/Bild']='';
+$this->phrasen['profil/bildHochladen']='';
+$this->phrasen['profil/bildSpeichern']='';
+$this->phrasen['profil/Bildupload']='';
+$this->phrasen['profil/BilduploadInfotext']='';
+$this->phrasen['profil/buero']='';
+$this->phrasen['profil/derUserIstInFolgendenVerteilern ']='';
+$this->phrasen['profil/email']='Email';
+$this->phrasen['profil/entlehnteBetriebsmittel']='';
+$this->phrasen['profil/esWurdenKeineProfileGefunden']='Nessun profilo o più profili per l\'utente richiesto';
+$this->phrasen['profil/keinGueltigesProfil']='';
+$this->phrasen['profil/faxTw']='fax';
+$this->phrasen['profil/fhausweisAbholbereitAmEmpfangAb']='';
+$this->phrasen['profil/fhausweisGedrucktAm']='';
+$this->phrasen['profil/fhausweisStatus']='';
+$this->phrasen['profil/fhausweisWurdeBereitsAusgegeben']='Tesserino consegnato il %s.';
+$this->phrasen['profil/fhausweisWurdeNochNichtGedruckt']='';
+$this->phrasen['profil/fotoAuswählen']='';
+$this->phrasen['profil/fotofreigeben']='';
+$this->phrasen['profil/fotosperren']='';
+$this->phrasen['profil/fotoWurdeNochNichtAkzeptiert']='';
+$this->phrasen['profil/funktionen']='';
+$this->phrasen['profil/home']='';
+$this->phrasen['profil/homepage']='';
+$this->phrasen['profil/ihrFotoWurdeNochNichtGeprueft']='';
+$this->phrasen['profil/inaktivMitarbeiter']='';
+$this->phrasen['profil/inaktivSonstige']='';
+$this->phrasen['profil/inaktivStudent']='';
+$this->phrasen['profil/infotextSperre']='';
+$this->phrasen['profil/intern']='E-mail di Ateneo';
+$this->phrasen['profil/kontaktPrivat']='Contatti Personali';
+$this->phrasen['profil/kurzbeschreibungFuerOeh']='';
+$this->phrasen['profil/kurzzeichen']='ID breve';
+$this->phrasen['profil/ladenSieBitteEinGueltigesFotoHoch']='';
+$this->phrasen['profil/leistungsbeurteilung']='';
+$this->phrasen['profil/lvplanVon']='';
+$this->phrasen['profil/martrikelnummer']='Codice Persona';
+$this->phrasen['profil/meinCis']='';
+$this->phrasen['profil/mitarbeiter']='';
+$this->phrasen['profil/mobil']='Cellulare';
+$this->phrasen['profil/nummer']='';
+$this->phrasen['profil/nurJPGBilder']='';
+$this->phrasen['profil/profil']='';
+$this->phrasen['profil/profilfotoGesperrt']='';
+$this->phrasen['profil/profilfotoUploadGesperrt']='';
+$this->phrasen['profil/sieSindMitgliedInFolgendenVerteilern']='';
+$this->phrasen['profil/solltenDatenNichtStimmen']='La preghiamo di rivolgersi alla segreteria nel caso i dati non risultino essere corretti.';
+$this->phrasen['profil/student']='Studente';
+$this->phrasen['profil/telefon']='';
+$this->phrasen['profil/telefonTw']='';
+$this->phrasen['profil/wendenSieSichAn']='';
+$this->phrasen['profil/zeitsperrenVon']='';
+$this->phrasen['profil/zeitwuensche']='';
+$this->phrasen['profil/zustaendigeAssistenz']='';
+
+?>