diff --git a/cis/private/menu.php b/cis/private/menu.php
index b4ed89c16..061569fc5 100644
--- a/cis/private/menu.php
+++ b/cis/private/menu.php
@@ -191,7 +191,7 @@ else
| |
-
|
@@ -205,7 +205,10 @@ else
isBerechtigt('admin',0))
+ {
echo '- Fix-Angestellte
';
+ echo '- Fixe Lektoren
';
+ }
$stge=$rechte->getStgKz('admin');
foreach($stg_obj->result as $row)
if (in_array($row->studiengang_kz,$stge))
diff --git a/cis/private/profile/zeitsperre_days.php b/cis/private/profile/zeitsperre_days.php
new file mode 100644
index 000000000..1daea61ab
--- /dev/null
+++ b/cis/private/profile/zeitsperre_days.php
@@ -0,0 +1,108 @@
+,
+ * Andreas Oesterreicher and
+ * Rudolf Hangl .
+ */
+// **
+// * @brief Uebersicht der Zeitsperren fuer Lektorengruppen
+
+ require_once('../../config.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');
+
+ if (!$conn = pg_pconnect(CONN_STRING))
+ die("Es konnte keine Verbindung zum Server aufgebaut werden.");
+
+ $datum_obj = new datum();
+
+ $datum_beginn=date('Y-m-d');
+ $ts_beginn=$datum_obj->mktime_fromdate($datum_beginn);
+ $ts_ende=$datum_obj->jump_week($ts_beginn,1);
+ $datum_ende=date('Y-m-d',$ts_ende);
+
+ // Lektoren holen
+ $ma=new mitarbeiter($conn);
+ $mitarbeiter=$ma->getMitarbeiterZeitsperre($datum_beginn,$datum_ende);
+?>
+
+
+
+ Zeitsperren
+
+
+
+
+
+
+
+
+ | Zeitsperren |
+
+ HELP
+ |
+
+
+
+
+ Zeitsperren von
+
+
+ Monat
Tag';
+ for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
+ {
+ $tag=date('d',$ts);
+ $wt=date('w',$ts);
+ $monat=date('M',$ts);
+ if ($wt==0)
+ $class='feiertag';
+ else
+ $class='';
+ echo "$monat $tag | ";
+ }
+ ?>
+
+
+ getzeitsperren($ma->uid);
+ echo '';
+ echo "| $ma->nachname $ma->vorname | ";
+ for ($ts=$ts_beginn;$ts<$ts_ende; $ts+=$datum_obj->ts_day)
+ {
+ $tag=date('d',$ts);
+ $monat=date('M',$ts);
+ $grund=$zs->getTyp($ts);
+ $erbk=$zs->getErreichbarkeit($ts);
+ echo "$grund $erbk | ";
+ }
+ echo '
';
+ }
+ ?>
+
+
+
+
diff --git a/include/datum.class.php b/include/datum.class.php
index 5b080c614..939a0033b 100644
--- a/include/datum.class.php
+++ b/include/datum.class.php
@@ -97,5 +97,19 @@ class datum
return false;
}
}
+
+ /**
+ * Springt von einen UNIX Timestamp ($datum) $wochen nach vor bzw. hinten
+ */
+ function jump_week($datum, $wochen)
+ {
+ $stunde_vor=date("G",$datum);
+ // Eine Woche sind 604800 Sekunden
+ $datum+=604800*$wochen;
+ $stunde_nach=date("G",$datum);
+ if ($stunde_nach!=$stunde_vor)
+ $datum+=3600;
+ return $datum;
+ }
}
?>
\ No newline at end of file
diff --git a/include/mitarbeiter.class.php b/include/mitarbeiter.class.php
index e2feecf4d..ec615bdc1 100644
--- a/include/mitarbeiter.class.php
+++ b/include/mitarbeiter.class.php
@@ -375,5 +375,52 @@ class mitarbeiter extends benutzer
}
return $result;
}
+
+ function getMitarbeiterZeitsperre($von,$bis)
+ {
+ $sql_query="SELECT DISTINCT *
+ FROM campus.vw_mitarbeiter JOIN campus.tbl_zeitsperre ON (uid=mitarbeiter_uid)
+ WHERE ('$von'>=vondatum AND '$von'<=bisdatum) OR ('$bis'>=vondatum AND '$bis'<=bisdatum) ORDER BY nachname";
+ //echo $sql_query;
+
+ if(!($erg=pg_query($this->conn, $sql_query)))
+ {
+ $this->errormsg=pg_errormessage($conn);
+ return false;
+ }
+ $num_rows=pg_numrows($erg);
+ $result=array();
+ for($i=0;$i<$num_rows;$i++)
+ {
+ $row=pg_fetch_object($erg,$i);
+ $l=new mitarbeiter($this->conn);
+ // Personendaten
+ $l->uid=$row->uid;
+ $l->titelpre=$row->titelpre;
+ $l->titelpost=$row->titelpost;
+ $l->vorname=$row->vorname;
+ $l->vornamen=$row->vornamen;
+ $l->nachname=$row->nachname;
+ $l->gebdatum=$row->gebdatum;
+ $l->gebort=$row->gebort;
+ $l->gebzeit=$row->gebzeit;
+ $l->foto=$row->foto;
+ $l->anmerkungen=$row->anmerkungen;
+ $l->aktiv=$row->aktiv=='t'?true:false;
+ $l->homepage=$row->homepage;
+ $l->updateamum=$row->updateamum;
+ $l->updatevon=$row->updatevon;
+ // Lektorendaten
+ $l->personalnummer=$row->personalnummer;
+ $l->kurzbz=$row->kurzbz;
+ $l->lektor=$row->lektor=='t'?true:false;
+ $l->fixangestellt=$row->fixangestellt=='t'?true:false;
+ $l->standort_kurzbz = $row->standort_kurzbz;
+ $l->telefonklappe=$row->telefonklappe;
+ // Lektor in Array speichern
+ $result[]=$l;
+ }
+ return $result;
+ }
}
?>
\ No newline at end of file
diff --git a/include/zeitsperre.class.php b/include/zeitsperre.class.php
index ecac16a7a..f0b01f4c4 100644
--- a/include/zeitsperre.class.php
+++ b/include/zeitsperre.class.php
@@ -64,7 +64,9 @@ class zeitsperre
{
unset($this->result);
$this->result=array();
- $qry = "SELECT * FROM campus.tbl_zeitsperre JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz)
+ $qry = "SELECT tbl_zeitsperre.*, tbl_zeitsperretyp.*, tbl_erreichbarkeit.farbe AS erreichbarkeit_farbe
+ FROM (campus.tbl_zeitsperre JOIN campus.tbl_zeitsperretyp USING (zeitsperretyp_kurzbz))
+ JOIN campus.tbl_erreichbarkeit USING (erreichbarkeit_kurzbz)
WHERE mitarbeiter_uid='".addslashes($uid)."' AND bisdatum>=now() ORDER BY vondatum";
if($result = pg_query($this->conn, $qry))
{
@@ -84,7 +86,9 @@ class zeitsperre
$obj->vonstunde = $row->vonstunde;
$obj->bisdatum = $row->bisdatum;
$obj->bisstunde = $row->bisstunde;
- $obj->erreichbarkeit = $row->erreichbarkeit;
+ $obj->erreichbarkeit = $row->erreichbarkeit_kurzbz;
+ $obj->erreichbarkeit_farbe = $row->erreichbarkeit_farbe;
+ $obj->erreichbarkeit = $row->erreichbarkeit_kurzbz;
$obj->vertretung_uid = $row->vertretung_uid;
$obj->updateamum = $row->updateamum;
$obj->updatevon = $row->updatevon;
@@ -226,7 +230,7 @@ class zeitsperre
//Neuen Datensatz anlegen
$qry = 'INSERT INTO campus.tbl_zeitsperre (zeitsperretyp_kurzbz, mitarbeiter_uid, bezeichnung,'.
- ' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit, vertretung_uid, insertamum,'.
+ ' vondatum ,vonstunde, bisdatum, bisstunde, erreichbarkeit_kurzbz, vertretung_uid, insertamum,'.
' insertvon, updateamum, updatevon) VALUES ('.
$this->addslashes($this->zeitsperretyp_kurzbz).', '.
$this->addslashes($this->mitarbeiter_uid).', '.