Sancho Mail im Urlaubstool, neue Funktion checkActiveAddon

This commit is contained in:
ma0068
2022-06-30 10:51:02 +02:00
parent 797cabccb9
commit cf7ad022a7
3 changed files with 104 additions and 54 deletions
+57 -28
View File
@@ -16,8 +16,9 @@
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
*
* Authors: Christian Paminger <christian.paminger@technikum-wien.at>,
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>.
* Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at>,
* Rudolf Hangl <rudolf.hangl@technikum-wien.at>,
* Manuela Thamer <manuela.thamer@technikum-wien.at>
*/
/**
* Seite zum Eintragen von Urlaubstagen
@@ -30,10 +31,12 @@ require_once('../../../include/person.class.php');
require_once('../../../include/benutzer.class.php');
require_once('../../../include/mitarbeiter.class.php');
require_once('../../../include/mail.class.php');
require_once('../../../include/sancho.inc.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/globals.inc.php');
require_once('../../../include/sprache.class.php');
$datum_obj = new datum();
$sprache = getSprache();
$lang = new sprache();
$lang->load($sprache);
@@ -173,6 +176,8 @@ if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POS
$vondatum = $zeitsperre->getVonDatum();
$bisdatum = $zeitsperre->getBisDatum();
$vondatum = $datum_obj->formatDatum($vondatum ,'d.m.Y');
$bisdatum = $datum_obj->formatDatum($bisdatum,'d.m.Y');
if(!$zeitsperre->delete($_GET['delete']))
echo $zeitsperre->errormsg;
@@ -203,13 +208,25 @@ if((isset($_GET['delete']) && isset($_GET['informSupervisor'])) || (isset($_POS
$benutzer = new benutzer();
$benutzer->load($uid);
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
$p->t('urlaubstool/xHatUrlaubGeloescht',array($benutzer->nachname,$benutzer->vorname)).":\n";
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($vondatum))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($bisdatum))."\n";
//new sanchomail
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
$beschreibung = $zeitsperre->bezeichnung;
$subject = "Urlaub wurde gelöscht";
$mailvorlage = 'Sancho_Mail_Urlaub_Loeschen';
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigegebenerUrlaubGeloescht'), $message);
if($mail->send())
$from='vilesci@'.DOMAIN;
//Sanchomail mit Vorlage Sancho Mail Zeitausgleich
$template_data = array(
'vorgesetzter' => $fullName,
'nameMitarbeiter' => $nameMitarbeiter,
'beschreibung' =>$beschreibung,
'vonDatum' => $vondatum,
'bisDatum' => $bisdatum
);
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
{
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/VorgesetzteInformiert',array($fullName))."</span>";
}
@@ -344,25 +361,48 @@ if(isset($_GET['speichern']) && isset($_GET['wtag']))
$benutzer = new benutzer();
$benutzer->load($uid);
$message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
$p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
$nameMitarbeiter = $benutzer->vorname. " ". $benutzer->nachname;
$beschreibung = (!empty($zeitsperre->bezeichnung) ? $zeitsperre->bezeichnung : $zeitsperre->beschreibung);
// $message = $p->t('urlaubstool/diesIstEineAutomatischeMail')."\n".
// $p->t('urlaubstool/xHatNeuenUrlaubEingetragen',array($benutzer->nachname,$benutzer->vorname)).":\n";
for($i=0;$i<count($akette);$i++)
{
$message.= $p->t('urlaubstool/von')." ".date("d.m.Y", strtotime($akette[$i]))." ".$p->t('urlaubstool/bis')." ".date("d.m.Y", strtotime($ekette[$i]))."\n";
$von = date("d.m.Y", strtotime($akette[$i]));
$bis = date("d.m.Y", strtotime($ekette[$i]));
}
//Ab September wird das neue Jahr uebergeben
if(date("m",strtotime($akette[0]))>=9)
$jahr = date("Y", strtotime($akette[0]))+1;
else
$jahr = date("Y", strtotime($akette[0]));
$message.="\n".$p->t('urlaubstool/sieKoennenDiesenUnterFolgenderAdresseFreigeben').":\n".
APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr;
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
$mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
if($mail->send())
$subject = "Freigabeansuchen Urlaub";
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
$from='vilesci@'.DOMAIN;
//Sanchomail mit Vorlage Sancho Mail Zeitausgleich
$template_data = array(
'vorgesetzter' => $fullName,
'nameMitarbeiter' => $nameMitarbeiter,
'beschreibung' =>$beschreibung,
'vonDatum' => $von,
'bisDatum' => $bis,
'Link'=> $link
);
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
// $mail = new mail($to, 'vilesci@'.DOMAIN,$p->t('urlaubstool/freigabeansuchenUrlaub'), $message);
//if($mail->send())
{
$vgmail="<span style='color:green;'>".$p->t('urlaubstool/freigabemailWurdeVersandt',array($fullName))."</span>";
}
@@ -501,17 +541,6 @@ $datum_obj = new datum();
<script type="text/javascript" src="../../../vendor/components/jqueryui/jquery-ui.min.js"></script>
<script type="text/javascript" src="../../../include/js/jquery.ui.datepicker.translation.js"></script>
<?php
// ADDONS laden
$addon_obj = new addon();
$addon_obj->loadAddons();
foreach($addon_obj->result as $addon)
{
if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php'))
{
echo '
<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
}
}
// Wenn Seite fertig geladen ist Addons aufrufen
echo '
@@ -794,13 +823,13 @@ for ($i=0;$i<6;$i++)
echo '<b>'.$tage[$j+7*$i].'</b><br>';
if(strlen(stristr($tage[$j+7*$i],"."))>0)
{
echo '<input type="checkbox" name="wtag[]"
value="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"
echo '<input type="checkbox" name="wtag[]"
value="'.date("Y-m-d",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"
id="'.date("d.m.Y",mktime(0, 0, 0, substr($tage[$j+7*$i],3,2) , substr($tage[$j+7*$i],0,2), substr($tage[$j+7*$i],6,4))).'"></td>';
}
else
{
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"
echo '<input type="checkbox" name="wtag[]" value="'.date("Y-m-d",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"
id="'.date("d.m.Y",mktime(0, 0, 0, ($wmonat+1) , $tage[$j+7*$i], $jahre[$wjahr])).'"></td>';
}
}
+26 -21
View File
@@ -102,20 +102,20 @@ $num_rows_stunde=$db->db_num_rows($result_stunde);
<link href="../../../vendor/fgelinas/timepicker/jquery.ui.timepicker.css" rel="stylesheet" type="text/css"/>
<link href="../../../skin/jquery-ui-1.9.2.custom.min.css" rel="stylesheet" type="text/css">
<?php
// ADDONS laden
$addon_obj = new addon();
$addon_obj->loadAddons();
foreach($addon_obj->result as $addon)
{
if(file_exists('../../../addons/'.$addon->kurzbz.'/cis/init.js.php'))
{
echo '<script type="application/x-javascript" src="../../../addons/'.$addon->kurzbz.'/cis/init.js.php" ></script>';
$addoncasetime = true;
require_once('../../../addons/casetime/include/functions.inc.php');
}
}
// Überprüfen, ob addon casetime aktiv ist
$addoncasetime = $addon_obj->checkActiveAddon("casetime");
echo $addon_obj->checkActiveAddon("asterisk");
// Wenn Seite fertig geladen ist Addons aufrufen
echo '
<script>
@@ -348,18 +348,17 @@ function showHideStudeDropDown()
<?php
$zeitsaldo = "";
if($addoncasetime)
{
require_once('../../../addons/casetime/include/functions.inc.php');
$zeitsaldo = getCaseTimeZeitsaldo($uid);
$zeitsaldo = "Aktueller Zeitsaldo: ". $zeitsaldo . " (".formatZeitsaldo($zeitsaldo).")";
}
//Zeitsperre Speichern
if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_sperre'))
{
$error=false;
$error_msg='';
@@ -569,14 +568,22 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
// Wenn ein neuer Urlaub eingetragen wurde, Freigabemail-Text
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
{
$zeitsaldo = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
$link = " <a href=". APP_ROOT."cis/private/profile/urlaubsfreigabe.php?uid=$uid&year=".$jahr .">Link Urlaubstool</a> ";
$subject = "Freigabeansuchen";
$subject = "Freigabeansuchen Urlaub";
$mailvorlage = 'Sancho_Mail_Urlaub_Neu';
$template_data = array(
'vorgesetzter' => $fullName,
'nameMitarbeiter' => $nameMitarbeiter,
'beschreibung' =>$beschreibung,
'vonDatum' => $von,
'bisDatum' => $bis,
'Link'=> $link
);
}
// Wenn ein Zeitausgleich eingetragen wurde...
//manu zeitsperre neu
if ($zeitsperre->zeitsperretyp_kurzbz == 'ZA')
{
// ...Mail-Text für neuen Zeitausgleich
@@ -591,21 +598,19 @@ if(isset($_GET['type']) && ($_GET['type']=='edit_sperre' || $_GET['type']=='new_
$subject = $subject = $p->t('urlaubstool/zeitausgleichGeaendert');
$mailvorlage = 'Sancho_Content_ZA_Aendern';
}
$template_data = array(
'vorgesetzter' => $fullName,
'nameMitarbeiter' => $nameMitarbeiter,
'beschreibung' =>$beschreibung,
'vonDatum' => $von,
'bisDatum' => $bis,
'Saldo'=> $zeitsaldo
);
}
$from='vilesci@'.DOMAIN;
//Sanchomail mit Vorlage Sancho Mail Zeitausgleich
$template_data = array(
'vorgesetzter' => $fullName,
'nameMitarbeiter' => $nameMitarbeiter,
'beschreibung' =>$beschreibung,
'vonDatum' => $von,
'bisDatum' => $bis,
'Saldo'=> $zeitsaldo
);
if (sendSanchoMail($mailvorlage, $template_data, $to, $subject))
{
if ($zeitsperre->zeitsperretyp_kurzbz=='Urlaub')
+21 -5
View File
@@ -30,7 +30,7 @@ class addon extends basis_db
public $fhcomplete_target_version;
public $aktive_addons=array();
/**
* Konstruktor
*/
@@ -38,12 +38,12 @@ class addon extends basis_db
{
parent::__construct();
$this->aktive_addons = array_filter(array_map('trim', explode(";", ACTIVE_ADDONS)));
}
/**
* Liefert alle aktivierten Addons
*/
*/
public function loadAddons()
{
@@ -55,7 +55,7 @@ class addon extends basis_db
$fhcomplete_target_version='';
include(dirname(__FILE__).'/../addons/'.$addon.'/version.php');
$obj = new stdClass();
$obj->kurzbz = $addon;
$obj->addon_name = $addon_name;
@@ -63,7 +63,7 @@ class addon extends basis_db
$obj->addon_description = $addon_description;
$obj->fhcomplete_target_version = $fhcomplete_target_version;
$this->result[] = $obj;
}
return true;
@@ -87,5 +87,21 @@ class addon extends basis_db
$this->fhcomplete_target_version = $fhcomplete_target_version;
}
/**
* Prüfen, ob ein bestimmtes Addon aktivierten ist
* @param $addon_kurzbz (fhtw,casetime, wawi..)
* @return true wenn addon aktiv, sonst false
*/
public function checkActiveAddon($addon_kurzbz)
{
$addonIsActive = false;
foreach($this->aktive_addons as $addon)
{
if ($addon == $addon_kurzbz)
$addonIsActive = true;
}
return $addonIsActive;
}
}
?>