, * Andreas Oesterreicher and * Rudolf Hangl . */ /* * Erstelle eine Liste mit allen Personen die innerhalb der naechsten 2 * Wochen eine Zeitsperre eingetragen haben */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/globals.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/person.class.php'); require_once('../../../include/benutzer.class.php'); require_once('../../../include/mitarbeiter.class.php'); require_once('../../../include/studiensemester.class.php'); require_once('../../../include/zeitsperre.class.php'); require_once('../../../include/datum.class.php'); require_once('../../../include/phrasen.class.php'); require_once('../../../include/sprache.class.php'); require_once('../../../include/Excel/excel.php'); require_once('../../../include/benutzerberechtigung.class.php'); $datum_obj = new datum(); $sprache = getSprache(); $p = new phrasen($sprache); $sprache_obj = new sprache(); $sprache_obj->load($sprache); $sprache_index=$sprache_obj->index; $uid = get_uid(); $rechte = new benutzerberechtigung(); $rechte->getBerechtigungen($uid); if(!check_lektor($uid) && (!$rechte->isBerechtigt('admin',0) && !$rechte->isBerechtigt('mitarbeiter'))) die($p->t('global/keineBerechtigung')); $days=trim((isset($_REQUEST['days']) && is_numeric($_REQUEST['days'])?$_REQUEST['days']:14)); if(isset($_REQUEST['lektor'])) $lektor=$_REQUEST['lektor']; else $lektor=null; // Link fuer den Export $export_link='zeitsperre_days.php?format=xls&'; $export_param=''; if(!is_null($days)) $export_param.=($export_param!=''?'&':'')."days=$days"; if(!is_null($lektor)) $export_param.=($export_param!=''?'&':'')."lektor=$lektor"; $export_link.=$export_param; $datum_beginn=date('Y-m-d'); $ts_beginn=$datum_obj->mktime_fromdate($datum_beginn); $ts_ende=$datum_obj->jump_day($ts_beginn,$days); $datum_ende=date('Y-m-d',$ts_ende); // Lektoren holen $ma=new mitarbeiter(); $mitarbeiter=$ma->getMitarbeiterZeitsperre($datum_beginn,$datum_ende,$lektor); if(isset($_REQUEST['format']) && $_REQUEST['format']=='xls') { // Creating a workbook $workbook = new Spreadsheet_Excel_Writer(); // sending HTTP headers $workbook->send($p->t('zeitsperre/zeitsperren').".xls"); $workbook->setVersion(8); // Creating a worksheet $worksheet =& $workbook->addWorksheet($p->t('zeitsperre/zeitsperren')); $worksheet->setInputEncoding('utf-8'); $worksheet->setZoom (85); $worksheet->freezePanes(array(1, 0, 1, 0)); //Formate Definieren $format_header =& $workbook->addFormat(); $format_header->setBold(); $format_header->setAlign("center"); $format_header->setVAlign('vcenter'); $format_header->setTextWrap(); $format_header_feiertag =& $workbook->addFormat(); $format_header_feiertag->setBold(); $format_header_feiertag->setAlign("center"); $format_header_feiertag->setVAlign('vcenter'); $format_header_feiertag->setFgColor('yellow'); $format_header_feiertag->setTextWrap(); $format_namen =& $workbook->addFormat(); $format_namen->setVAlign('top'); $format_legende =& $workbook->addFormat(); $format_legende->setBold(); $format_legende->setAlign("left"); $format_legende->setVAlign('vcenter'); $format_mehrzeilig = &$workbook->addFormat(array('Align' => 'left')); $format_mehrzeilig->setVAlign('top'); $format_mehrzeilig->setTextWrap(); $spalte=0; $zeile=0; $worksheet->write(0,$spalte,$p->t('global/datum'), $format_header); $maxlength[0]=20; for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day) { $tag=date('d',$ts); $wt=date('N',$ts); $monat=date('M',$ts); if ($wt==7 || $wt==6) $class='feiertag'; else $class=''; $datum = $tagbez[$sprache_index][$wt]. "\n"; $datum .= $tag.' '.$monat; $worksheet->write(0,++$spalte,$datum, ($class!=''?$format_header_feiertag:$format_header)); $maxlength[$spalte]=15; } $zeile=0; $spalte=0; $zs=new zeitsperre(); if (!empty ($mitarbeiter)) { foreach ($mitarbeiter as $ma) { $zeile++; $spalte=0; $zs->getzeitsperren($ma->uid, false); $worksheet->write($zeile,$spalte,$ma->nachname.' '.$ma->vorname, $format_namen); for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day) { $wt=date('N',$ts); $grund=$zs->getTyp($ts); $grund = (!empty($grund)) ? $p->t('zeitsperre/abwesend') : ''; // anonymize reason $erbk=html_entity_decode($zs->getErreichbarkeit($ts)); $vertretung=$zs->getVertretung($ts); $zelleninhalt = ($grund!=''?(($grund!=''?substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund. "\n"):''); $zelleninhalt .= ($erbk!=''?(($erbk!=''?substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk. "\n"):''); $zelleninhalt .= ($erbk!=''?($erbk!=''?substr($p->t('urlaubstool/vertretung'),0,1).': ':''):''); $count = 0; foreach ($vertretung as $vt) { if ($vt!='') { $ma_kurzbz = new mitarbeiter(); $ma_kurzbz->load($vt); $zelleninhalt .= ($count!=0?', ':'').$ma_kurzbz->vorname.' '.$ma_kurzbz->nachname.' ('.$ma_kurzbz->telefonklappe.')'; $count++; } } $worksheet->write($zeile,++$spalte,$zelleninhalt,$format_mehrzeilig); } } } ++$zeile; $worksheet->write(++$zeile,0,$p->t('zeitsperre/legendeGrund'), $format_legende); $worksheet->write(++$zeile,0,$p->t('zeitsperre/legendeErreichbarkeit'), $format_legende); $worksheet->write(++$zeile,0,$p->t('zeitsperre/legendeVertretung'), $format_legende); $worksheet->write(++$zeile,0,$p->t('zeitsperre/legendeDurchwahl'), $format_legende); //Die Breite der Spalten setzen foreach($maxlength as $i=>$breite) $worksheet->setColumn($i, $i, $breite); $workbook->close(); } else { echo ' '.$p->t('zeitsperre/zeitsperren').'

'.$p->t('zeitsperre/zeitsperren').'

'.$p->t('zeitsperre/anzahlTage').'

'.$p->t('zeitsperre/zeitsperreVonBis',array($datum_beginn, $datum_ende)).'

Icon Excel Excel Export
'; echo ''; for ($ts=$ts_beginn;$ts<=$ts_ende; $ts+=$datum_obj->ts_day) { $tag=date('d',$ts); $wt=date('N',$ts); $monat=date('M',$ts); if ($wt==6 || $wt==7) $class='feiertag'; else $class=''; echo ""; } echo ''; $zs=new zeitsperre(); if (!empty ($mitarbeiter)) { foreach ($mitarbeiter as $ma) { $zs->getzeitsperren($ma->uid); echo ''; echo ""; for ($ts=$ts_beginn;$ts<=$ts_ende; $ts+=$datum_obj->ts_day) { $tag=date('d',$ts); $monat=date('M',$ts); $wt=date('N',$ts); if ($wt==6 || $wt==7) $class='feiertag'; else $class=''; $grund=$zs->getTyp($ts); $grund = (!empty($grund)) ? $p->t('zeitsperre/abwesend') : ''; // anonymize reason $erbk=$zs->getErreichbarkeit($ts); $vertretung=$zs->getVertretung($ts); echo ''; } } else { $ma=new mitarbeiter($lektor); echo ''; echo ""; for ($ts=$ts_beginn;$ts<=$ts_ende; $ts+=$datum_obj->ts_day) { $tag=date('d',$ts); $monat=date('M',$ts); $wt=date('N',$ts); if ($wt==6 || $wt==7) $class='feiertag'; else $class=''; echo ""; } echo ''; } echo '
'.$p->t('zeitsperre/monat').'
'.$p->t('zeitsperre/tag').'
".$tagbez[$sprache_index][$wt]."
$monat
$tag
$ma->nachname $ma->vorname'.($grund!=''?''.substr($p->t('zeitsperre/grund'),0,1).': ':'').$grund; echo '
'.($erbk!=''?''.substr($p->t('urlaubstool/erreichbarkeit'),0,1).': ':'').$erbk; echo '
'.($erbk!=''?''.substr($p->t('urlaubstool/vertretung'),0,1).': ':''); foreach ($vertretung as $vt) { if ($vt!='') { $ma_kurzbz = new mitarbeiter(); $ma_kurzbz->load($vt); echo ''.$ma_kurzbz->kurzbz.' '; } } } echo '
$ma->nachname $ma->vorname 
'; } ?>