Merge remote-tracking branch 'origin/master'

This commit is contained in:
alex
2018-09-20 16:41:52 +02:00
10 changed files with 156 additions and 1271 deletions
+34 -3
View File
@@ -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>&nbsp;</td>';
else if ($row->vondatum < $gesperrt_bis AND in_array($row->zeitsperretyp_kurzbz,$typen_arr))
$content_table .= '<td>&nbsp;</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>&nbsp;</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>";
}
+1 -1
View File
@@ -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
View File
@@ -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>
+2 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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';
?>
+9 -9
View File
@@ -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>';
?>
?>
+60
View File
@@ -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
+46 -46
View File
@@ -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');
}
}