diff --git a/cis/private/profile/zeitsperre.php b/cis/private/profile/zeitsperre.php
index 9b7397306..4515a316b 100644
--- a/cis/private/profile/zeitsperre.php
+++ b/cis/private/profile/zeitsperre.php
@@ -36,6 +36,7 @@ require_once('../../../include/organisationseinheit.class.php');
require_once('../../../include/phrasen.class.php');
require_once('../../../include/sprache.class.php');
require_once('../../../include/ferien.class.php');
+require_once('../../../include/Excel/excel.php');
$sprache = getSprache();
$p = new phrasen($sprache);
@@ -82,7 +83,7 @@ require_once('../../../include/ferien.class.php');
$days=trim((isset($_REQUEST['days']) && is_numeric($_REQUEST['days'])?$_REQUEST['days']:14));
// Link fuer den Export
- $export_link='zeitsperre_export.php?';
+ $export_link='zeitsperre.php?format=xls&';
$export_param='';
if(!is_null($days))
@@ -103,7 +104,7 @@ require_once('../../../include/ferien.class.php');
}
$export_link.=$export_param;
-
+
//Datumsbereich ermitteln
$datum_obj = new datum();
@@ -137,57 +138,51 @@ require_once('../../../include/ferien.class.php');
}
}
-echo '
-
-
-
-
'.$p->t('zeitsperre/zeitsperren').'
+if(isset($_REQUEST['format']) && $_REQUEST['format']=='xls')
+{
+ // Creating a workbook
+ $workbook = new Spreadsheet_Excel_Writer();
-
'.$p->T('zeitsperre/zeitsperreVonBis',array($datum_beginn, $datum_ende)).'
';
+ // 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();
- if(isset($_GET['organisationseinheit']))
- {
- echo '
';
- echo '
';
- echo '
';
- }
- if($lektor)
- echo '
';
- elseif($fix)
- echo '
';
- elseif(isset($_GET['funktion']) && isset($_GET['stg_kz']))
- echo '
';
- echo '
-
Excel Export
-
- ';
-
- echo ''.$p->t('zeitsperre/monat').' '.$p->t('zeitsperre/tag').' | ';
- for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
+ $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);
@@ -196,56 +191,167 @@ echo '
$class='feiertag';
else
$class='';
- echo "".$tagbez[$sprache_index][$wt]." $monat $tag | ";
+ $datum = $tagbez[$sprache_index][$wt]. "\n";
+ $datum .= $tag.' '.$monat;
+ $worksheet->write(0,++$spalte,$datum, ($class!=''?$format_header_feiertag:$format_header));
+ $maxlength[$spalte]=15;
}
- ?>
-
- aktiv)
- {
+ {
+ $zeile++;
+ $spalte=0;
$zs->getzeitsperren($ma->uid, false);
- echo '';
- echo '| '.trim($ma->nachname).' '.trim($ma->vorname).' | ';
+ $worksheet->write($zeile,$spalte,$ma->nachname.' '.$ma->vorname, $format_namen);
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==7 || $wt==6)
- $class=' class="feiertag" ';
- else
- $class='';
$grund=$zs->getTyp($ts);
- $erbk=$zs->getErreichbarkeit($ts);
+ $erbk=html_entity_decode($zs->getErreichbarkeit($ts));
$vertretung=$zs->getVertretung($ts);
- echo ''.($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).': ':'');
+ $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);
- echo ''.$ma_kurzbz->kurzbz.' ';
+ $zelleninhalt .= ($count!=0?', ':'').$ma_kurzbz->vorname.' '.$ma_kurzbz->nachname.' ('.$ma_kurzbz->telefonklappe.')';
+ $count++;
}
}
- echo ' | ';
+ $worksheet->write($zeile,++$spalte,$zelleninhalt,$format_mehrzeilig);
}
- echo '
';
}
}
}
- ?>
+ ++$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/zeitsperreVonBis',array($datum_beginn, $datum_ende)).'
';
+
+ if(isset($_GET['organisationseinheit']))
+ {
+ echo '
';
+ echo '';
+ echo '
';
+ }
+ if($lektor)
+ echo '';
+ elseif($fix)
+ echo '';
+ elseif(isset($_GET['funktion']) && isset($_GET['stg_kz']))
+ echo '';
+ echo '
+
Excel Export
+
+ ';
+
+ echo ''.$p->t('zeitsperre/monat').' '.$p->t('zeitsperre/tag').' | ';
+ 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='';
+ echo "".$tagbez[$sprache_index][$wt]." $monat $tag | ";
+ }
-
-
-
-
\ No newline at end of file
+ echo '';
+
+
+ $zs=new zeitsperre();
+ if(is_array($mitarbeiter))
+ {
+ foreach ($mitarbeiter as $ma)
+ {
+ if($ma->aktiv)
+ {
+ $zs->getzeitsperren($ma->uid, false);
+ echo '';
+ echo '| '.trim($ma->nachname).' '.trim($ma->vorname).' | ';
+ 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==7 || $wt==6)
+ $class=' class="feiertag" ';
+ else
+ $class='';
+ $grund=$zs->getTyp($ts);
+ $erbk=$zs->getErreichbarkeit($ts);
+ $vertretung=$zs->getVertretung($ts);
+ echo ''.($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 ' | ';
+ }
+ echo '
';
+ }
+ }
+ }
+
+ echo '
';
+}
+?>
\ No newline at end of file
diff --git a/cis/private/profile/zeitsperre_days.php b/cis/private/profile/zeitsperre_days.php
index 11436788c..c2c2177f8 100644
--- a/cis/private/profile/zeitsperre_days.php
+++ b/cis/private/profile/zeitsperre_days.php
@@ -69,12 +69,9 @@ echo '
'.$p->t('zeitsperre/zeitsperren').'
-
-
-
'.$p->t('zeitsperre/zeitsperren').'
@@ -117,7 +114,19 @@ if (!empty ($mitarbeiter))
$class='';
$grund=$zs->getTyp($ts);
$erbk=$zs->getErreichbarkeit($ts);
- echo "
$grund $erbk | ";
+ $vertretung=$zs->getVertretung($ts);
+ echo '
'.($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 '';
}
@@ -142,6 +151,6 @@ else
}
echo '
-
+ |