mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-20 08:22:17 +00:00
Tempus:
- Kollisionscheck ueberarbeitet - Kollisionsgrund wird nun im Tooltip angezeigt - Ressourcenzuordnung zu Stunden - Option hinzugefuegt um alle Einträge einer Stunde anzuzeigen (zB Incominggruppen) - Option zum Drop auf bestehende Stunden hinzugefügt (UNR wird automatisch gleichgesetzt) - Fehler behoben beim Anlegen von Gruppen mit Logins > 16 Zeichen - Es koennen jetzt mehrere Lektoren definiert werden die nicht kollidieren sollen Anwesenheitslisten mit Barcode koennen nur fuer alle Studiengaenge auf einmal erstellt werden
This commit is contained in:
@@ -67,6 +67,7 @@ class betriebsmittel extends basis_db
|
||||
public $hoehe;
|
||||
public $breite;
|
||||
public $tiefe;
|
||||
public $verplanen=false;
|
||||
|
||||
public $nummer2;
|
||||
|
||||
@@ -137,7 +138,8 @@ class betriebsmittel extends basis_db
|
||||
$this->nummer2 = $row->nummer2;
|
||||
$this->anschaffungsdatum = $row->anschaffungsdatum;
|
||||
$this->anschaffungswert = $row->anschaffungswert;
|
||||
|
||||
$this->verplanen = $this->db_parse_bool($row->verplanen);
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
@@ -276,7 +278,7 @@ class betriebsmittel extends basis_db
|
||||
, inventarnummer, reservieren, ort_kurzbz
|
||||
,ext_id, insertamum, insertvon, updateamum, updatevon,oe_kurzbz,hersteller,seriennummer
|
||||
,bestellung_id,bestelldetail_id,afa,verwendung,anmerkung,leasing_bis, inventuramum, inventurvon,
|
||||
anschaffungsdatum, anschaffungswert, hoehe, breite, tiefe, nummer2) VALUES('.
|
||||
anschaffungsdatum, anschaffungswert, hoehe, breite, tiefe, nummer2,verplanen) VALUES('.
|
||||
$this->db_add_param($this->beschreibung).', '.
|
||||
$this->db_add_param($this->betriebsmitteltyp).', '.
|
||||
$this->db_add_param($this->nummer).', '.
|
||||
@@ -304,7 +306,8 @@ class betriebsmittel extends basis_db
|
||||
$this->db_add_param($this->hoehe).', '.
|
||||
$this->db_add_param($this->breite).', '.
|
||||
$this->db_add_param($this->tiefe).','.
|
||||
$this->db_add_param($this->nummer2).');' ;
|
||||
$this->db_add_param($this->nummer2).','.
|
||||
$this->db_add_param($this->verplanen, FHC_BOOLEAN).');' ;
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -340,6 +343,7 @@ class betriebsmittel extends basis_db
|
||||
'hoehe='.$this->db_add_param($this->hoehe).', '.
|
||||
'breite='.$this->db_add_param($this->breite).', '.
|
||||
'tiefe='.$this->db_add_param($this->tiefe).', '.
|
||||
'verplanen='.$this->db_add_param($this->verplanen, FHC_BOOLEAN).','.
|
||||
'nummer2='.$this->db_add_param($this->nummer2).' '.
|
||||
'WHERE betriebsmittel_id='.$this->db_add_param($this->betriebsmittel_id).';';
|
||||
}
|
||||
@@ -1221,5 +1225,210 @@ class betriebsmittel extends basis_db
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Betriebsmittelzuordnungen zu Stundenplaneintraegen
|
||||
* @param $stundenplan_ids Array mit StundenplanIDs
|
||||
* @return boolean
|
||||
*/
|
||||
public function getBetriebsmittelStundenplan($stundenplan_ids)
|
||||
{
|
||||
if(count($stundenplan_ids)>0)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_stundenplan_betriebsmittel.stundenplan_betriebsmittel_id, tbl_stundenplan_betriebsmittel.anmerkung,
|
||||
tbl_betriebsmittel.betriebsmittel_id, tbl_betriebsmittel.beschreibung, tbl_stundenplandev.stunde
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
|
||||
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
|
||||
WHERE
|
||||
tbl_stundenplan_betriebsmittel.stundenplandev_id in( ".$this->db_implode4SQL($stundenplan_ids).")";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$obj = new stdclass();
|
||||
|
||||
$obj->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$obj->beschreibung = $row->beschreibung;
|
||||
$obj->stundenplan_betriebsmittel_id=$row->stundenplan_betriebsmittel_id;
|
||||
$obj->anmerkung = $row->anmerkung;
|
||||
$obj->stunde = $row->stunde;
|
||||
|
||||
$this->result[] = $obj;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Liefert die Betriebsmittel die zum angegebenen Datum und den Stunden frei und verplanbar ist
|
||||
* @param $datum Datum
|
||||
* @param $stunden array mit stunden
|
||||
* @return boolean
|
||||
*/
|
||||
public function getVerplanbar($datum, $stunden)
|
||||
{
|
||||
$qry = "SELECT
|
||||
*
|
||||
FROM
|
||||
wawi.tbl_betriebsmittel
|
||||
WHERE
|
||||
verplanen=true
|
||||
AND NOT EXISTS(SELECT 1 FROM lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
|
||||
WHERE
|
||||
betriebsmittel_id=tbl_betriebsmittel.betriebsmittel_id
|
||||
AND tbl_stundenplandev.datum=".$this->db_add_param($datum)."
|
||||
AND tbl_stundenplandev.stunde in(".$this->db_implode4SQL($stunden)."))";
|
||||
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
while($row = $this->db_fetch_object())
|
||||
{
|
||||
$bm = new betriebsmittel();
|
||||
|
||||
$bm->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$bm->beschreibung = $row->beschreibung;
|
||||
$bm->betriebsmitteltyp = $row->betriebsmitteltyp;
|
||||
$bm->nummer = $row->nummer;
|
||||
$bm->inventarnummer = $row->inventarnummer;
|
||||
$bm->reservieren = $row->reservieren;
|
||||
$bm->ort_kurzbz = $row->ort_kurzbz;
|
||||
$bm->updateamum = $row->updateamum;
|
||||
$bm->updatevon = $row->updatevon;
|
||||
$bm->insertamum = $row->insertamum;
|
||||
$bm->insertvon = $row->insertvon;
|
||||
$bm->beschreibung = $row->beschreibung;
|
||||
$bm->oe_kurzbz = $row->oe_kurzbz;
|
||||
$bm->hersteller = $row->hersteller;
|
||||
$bm->seriennummer = $row->seriennummer;
|
||||
$bm->bestellung_id = $row->bestellung_id;
|
||||
$bm->bestelldetail_id = $row->bestelldetail_id;
|
||||
$bm->afa = $row->afa;
|
||||
$bm->verwendung = $row->verwendung;
|
||||
$bm->anmerkung = $row->anmerkung;
|
||||
$bm->leasing_bis = $row->leasing_bis;
|
||||
$bm->inventuramum = $row->inventuramum;
|
||||
$bm->inventurvon = $row->inventurvon;
|
||||
$bm->nummer2 = $row->nummer2;
|
||||
$bm->anschaffungsdatum = $row->anschaffungsdatum;
|
||||
$bm->anschaffungswert = $row->anschaffungswert;
|
||||
|
||||
$this->result[] = $bm;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Loescht eine Zuordnung
|
||||
* @param $stundenplan_betriebsmittel_id
|
||||
* @return boolean
|
||||
*/
|
||||
function deleteStundenplanBetriebsmittel($stundenplan_betriebsmittel_id)
|
||||
{
|
||||
$qry = "DELETE FROM lehre.tbl_stundenplan_betriebsmittel WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($stundenplan_betriebsmittel_id, FHC_INTEGER);
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg ='Fehler beim Loeschen';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Speichert die Zuordnung von Betriebsmitteln zu Stundenplaneintraegen
|
||||
* @return boolean
|
||||
*/
|
||||
function saveStundenplanBetriebsmittel()
|
||||
{
|
||||
if($this->new)
|
||||
{
|
||||
$qry = "INSERT INTO lehre.tbl_stundenplan_betriebsmittel(betriebsmittel_id, stundenplandev_id, anmerkung, insertamum, insertvon) VALUES(".
|
||||
$this->db_add_param($this->betriebsmittel_id).','.
|
||||
$this->db_add_param($this->stundenplandev_id).','.
|
||||
$this->db_add_param($this->anmerkung).','.
|
||||
$this->db_add_param($this->insertamum).','.
|
||||
$this->db_add_param($this->insertvon).');';
|
||||
}
|
||||
else
|
||||
{
|
||||
$qry = "UPDATE lehre.tbl_stundenplan_betriebsmittel SET
|
||||
anmerkung=".$this->db_add_param($this->anmerkung)."
|
||||
WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($this->stundenplan_betriebsmittel_id, FHC_INTEGER);
|
||||
}
|
||||
|
||||
if($this->db_query($qry))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Speichern der Daten:'.$qry.$this->db_last_error();;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Laedt die Betriebsmittel-Stundenplan Zuordnung
|
||||
* @param $stundenplan_betriebsmittel_id
|
||||
* @return boolean
|
||||
*/
|
||||
function loadBetriebsmittelStundenplan($stundenplan_betriebsmittel_id)
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_stundenplan_betriebsmittel.*,
|
||||
tbl_betriebsmittel.beschreibung as bm_beschreibung
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
|
||||
WHERE stundenplan_betriebsmittel_id=".$this->db_add_param($stundenplan_betriebsmittel_id, FHC_INTEGER);
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->stundenplan_betriebsmittel_id = $row->stundenplan_betriebsmittel_id;
|
||||
$this->betriebsmittel_id = $row->betriebsmittel_id;
|
||||
$this->stundenplandev_id = $row->stundenplandev_id;
|
||||
$this->anmerkung = $row->anmerkung;
|
||||
$this->insertamum = $row->insertamum;
|
||||
$this->insertvon = $row->insertvon;
|
||||
$this->beschreibung = $row->bm_beschreibung;
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Eintrag wurde nicht gefunden';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->errormsg = 'Fehler beim Laden der Daten';
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -185,13 +185,13 @@ class filter extends basis_db
|
||||
$html.=' >';
|
||||
$this->loadValues($filter->sql, $filter->valuename, $filter->showvalue);
|
||||
foreach ($this->values as $value)
|
||||
$html.="\n\t\t\t\t".'<option class="form-control" value="'.$value->value.'">'.$value->text.'</option>';
|
||||
$html.="\n\t\t\t\t".'<option value="'.$value->value.'">'.$value->text.'</option>';
|
||||
$html.="\n\t\t\t</select>";
|
||||
break;
|
||||
case 'datepicker':
|
||||
$html .= '<input type="text" id="' . $filter->kurzbz . '" name="' . $filter->kurzbz . '">';
|
||||
$html .= '<script>';
|
||||
$html .= '$("#' . $filter->kurzbz . '").datepicker();';
|
||||
$html .= '$("#' . $filter->kurzbz . '").datepicker({ dateFormat: \'yy-mm-dd\' });';
|
||||
$html .= '</script>';
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -322,6 +322,18 @@ function loadVariables($user)
|
||||
global $emailadressentrennzeichen;
|
||||
$emailadressentrennzeichen=',';
|
||||
}
|
||||
|
||||
if(!isset($alle_unr_mitladen))
|
||||
{
|
||||
global $alle_unr_mitladen;
|
||||
$alle_unr_mitladen='false';
|
||||
}
|
||||
if(!isset($allow_lehrstunde_drop))
|
||||
{
|
||||
global $allow_lehrstunde_drop;
|
||||
$allow_lehrstunde_drop='false';
|
||||
}
|
||||
|
||||
return $error_msg;
|
||||
}
|
||||
|
||||
|
||||
@@ -354,14 +354,14 @@ class gruppe extends basis_db
|
||||
$this->errormsg = 'Aktiv muss ein boolscher Wert sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->updatevon)>16)
|
||||
if(mb_strlen($this->updatevon)>32)
|
||||
{
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 16 Zeichen sein';
|
||||
$this->errormsg = 'Updatevon darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
if(mb_strlen($this->insertvon)>16)
|
||||
if(mb_strlen($this->insertvon)>32)
|
||||
{
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 16 Zeichen sein';
|
||||
$this->errormsg = 'Insertvon darf nicht laenger als 32 Zeichen sein';
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -568,4 +568,4 @@ class gruppe extends basis_db
|
||||
return $gruppe_kurzbz;
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
*/
|
||||
require_once(dirname(__FILE__).'/basis_db.class.php');
|
||||
require_once(dirname(__FILE__).'/log.class.php');
|
||||
require_once(dirname(__FILE__).'/../config/global.config.inc.php');
|
||||
|
||||
class lehreinheit extends basis_db
|
||||
{
|
||||
@@ -492,7 +493,7 @@ class lehreinheit extends basis_db
|
||||
foreach ($this->mitarbeiter_uid as $lkt)
|
||||
$sql_lkt.="OR mitarbeiter_uid=".$this->db_add_param($lkt).' ';
|
||||
$sql_lkt=mb_substr($sql_lkt,3);
|
||||
$sql_lkt="(($sql_lkt) AND mitarbeiter_uid!='_DummyLektor')";
|
||||
$sql_lkt="(($sql_lkt) AND mitarbeiter_uid not in (".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER))."))";
|
||||
|
||||
// Datenbank abfragen
|
||||
$sql_query="SELECT $stpl_id FROM $stpl_table
|
||||
@@ -554,7 +555,7 @@ class lehreinheit extends basis_db
|
||||
foreach ($this->mitarbeiter_uid as $lkt)
|
||||
$sql_lkt.="OR uid='$lkt' ";
|
||||
$sql_lkt=mb_substr($sql_lkt,3);
|
||||
$sql_lkt="(($sql_lkt) AND uid!='_DummyLektor')";
|
||||
$sql_lkt="(($sql_lkt) AND uid not in (".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER))."))";
|
||||
$sql_query="SELECT reservierung_id AS id, uid AS lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde
|
||||
FROM lehre.vw_reservierung
|
||||
WHERE datum=".$this->db_add_param($datum)." AND stunde=".$this->db_add_param($stunde)."
|
||||
|
||||
@@ -232,14 +232,16 @@ class lehrstunde extends basis_db
|
||||
* @param gruppe_kurzbz
|
||||
*
|
||||
*/
|
||||
public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null, $fachbereich_kurzbz=null, $lva=NULL)
|
||||
public function load_lehrstunden($type, $datum_von, $datum_bis, $uid, $ort_kurzbz=NULL, $studiengang_kz=NULL, $sem=NULL, $ver=NULL, $grp=NULL, $gruppe_kurzbz=NULL, $stpl_view='stundenplan', $idList=null, $fachbereich_kurzbz=null, $lva=NULL, $alle_unr_mitladen=false)
|
||||
{
|
||||
$num_rows_einheit=0;
|
||||
// Parameter Checken
|
||||
// Bezeichnung der Stundenplan-Tabelle und des Keys
|
||||
$stpl_id=$stpl_view.TABLE_ID;
|
||||
$stpl_view_ohneschema=VIEW_BEGIN.$stpl_view;
|
||||
$stpl_view='lehre.'.VIEW_BEGIN.$stpl_view;
|
||||
|
||||
|
||||
// Datum im Format YYYY-MM-TT ?
|
||||
if (!preg_match("/([0-9]{4})-([0-9]{1,2})-([0-9]{1,2})/",$datum_von) )
|
||||
{
|
||||
@@ -338,9 +340,13 @@ class lehrstunde extends basis_db
|
||||
|
||||
// Stundenplandaten ermitteln
|
||||
// Abfrage generieren
|
||||
$sql_query_stdplan='SELECT * FROM '.$stpl_view;
|
||||
|
||||
if ($type!='idList')
|
||||
{
|
||||
if($alle_unr_mitladen)
|
||||
$sql_query_stdplan='SELECT '.$stpl_id.', datum, stunde, unr FROM '.$stpl_view;
|
||||
else
|
||||
$sql_query_stdplan='SELECT * FROM '.$stpl_view;
|
||||
$sql_query_lva="";
|
||||
$sql_query=" WHERE datum>=".$this->db_add_param($datum_von)." AND datum<".$this->db_add_param($datum_bis);
|
||||
if ($type == 'lva')
|
||||
@@ -372,7 +378,7 @@ class lehrstunde extends basis_db
|
||||
if ($type=='student')
|
||||
$sql_query.=' AND gruppe_kurzbz IS NULL';
|
||||
$sql_query.=' )';
|
||||
|
||||
|
||||
for ($i=0;$i<$num_rows_einheit;$i++)
|
||||
{
|
||||
$row=$this->db_fetch_object($result_einheit,$i);
|
||||
@@ -382,16 +388,37 @@ class lehrstunde extends basis_db
|
||||
}
|
||||
$sql_query_orderby=' ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid';
|
||||
$sql_query_stdplan.=$sql_query . $sql_query_lva . $sql_query_orderby;
|
||||
|
||||
// Wenn aktiviert, werden alle Stunden mit der gleichen UNR geladen die zur selben Zeit stattfinden
|
||||
if($alle_unr_mitladen)
|
||||
{
|
||||
$sql_query_stdplan="
|
||||
WITH lvplan(id, datum, stunde, unr) as
|
||||
(
|
||||
$sql_query_stdplan
|
||||
)
|
||||
SELECT
|
||||
$stpl_view_ohneschema.*
|
||||
FROM
|
||||
".$stpl_view.", lvplan
|
||||
WHERE
|
||||
$stpl_view_ohneschema.datum=lvplan.datum
|
||||
AND $stpl_view_ohneschema.stunde=lvplan.stunde
|
||||
AND $stpl_view_ohneschema.unr=lvplan.unr
|
||||
ORDER BY datum, stunde, studiengang_kz, semester, verband, gruppe, gruppe_kurzbz, uid
|
||||
";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$sql_query_stdplan='SELECT * FROM '.$stpl_view;
|
||||
$sql_query='';
|
||||
foreach ($idList as $id)
|
||||
$sql_query.=" OR ".$stpl_id."=".$this->db_add_param($id);
|
||||
$sql_query=mb_substr($sql_query,3);
|
||||
$sql_query_stdplan.=' WHERE'.$sql_query;
|
||||
}
|
||||
|
||||
//die($sql_query_stdplan);
|
||||
//Datenbankabfrage
|
||||
if (!$this->db_query($sql_query_stdplan))
|
||||
{
|
||||
@@ -436,8 +463,9 @@ class lehrstunde extends basis_db
|
||||
$stunde->updatevon=$row->updatevon;
|
||||
$stunde->reservierung=false;
|
||||
$this->lehrstunden[$i]=$stunde;
|
||||
|
||||
}
|
||||
|
||||
|
||||
// Reservierungsdaten ermitteln
|
||||
if ($type!='idList' && $type!='fachbereich')
|
||||
{
|
||||
@@ -572,8 +600,8 @@ class lehrstunde extends basis_db
|
||||
// Datenbank abfragen
|
||||
$sql_query="SELECT $stpl_id AS id, lektor, stg_kurzbz, ort_kurzbz, semester, verband, gruppe, gruppe_kurzbz, datum, stunde FROM $stpl_table
|
||||
WHERE datum=".$this->db_add_param($this->datum)." AND stunde=".$this->db_add_param($this->stunde)." AND (ort_kurzbz=".$this->db_add_param($this->ort_kurzbz)." ";
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
$sql_query.=" OR (uid=".$this->db_add_param($this->lektor_uid)." AND uid!='_DummyLektor') ";
|
||||
if (!in_array($this->lektor_uid,unserialize(KOLLISIONSFREIE_USER)))
|
||||
$sql_query.=" OR (uid=".$this->db_add_param($this->lektor_uid)." AND uid not in (".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER))."))";
|
||||
|
||||
//Wenn eine Kollisionspruefung auf Studentenebene durchgefuehrt wird, werden die LVB nicht gecheckt
|
||||
if($kollision_student=='false')
|
||||
@@ -605,13 +633,15 @@ class lehrstunde extends basis_db
|
||||
if ($anz==0)
|
||||
{
|
||||
// Zeitsperren pruefen
|
||||
if($ignore_zeitsperre=='false' && $this->lektor_uid!='_DummyLektor' && $this->kollision_zeitsperre())
|
||||
if($ignore_zeitsperre=='false' && !in_array($this->lektor_uid,unserialize(KOLLISIONSFREIE_USER)) && $this->kollision_zeitsperre())
|
||||
return true;
|
||||
|
||||
// Reservierungen pruefen
|
||||
if ($ignore_reservierung=='false' && $this->kollision_reservierung())
|
||||
return true;
|
||||
|
||||
if($this->kollision_ressource())
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
else
|
||||
@@ -622,6 +652,36 @@ class lehrstunde extends basis_db
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Kollision mit den zugeteilten Ressourcen vorhanden ist
|
||||
*
|
||||
* @return boolean true=kollision, false=keine kollision
|
||||
*/
|
||||
public function kollision_ressource()
|
||||
{
|
||||
$qry = "SELECT
|
||||
tbl_betriebsmittel.beschreibung, tbl_stundenplandev.ort_kurzbz
|
||||
FROM
|
||||
lehre.tbl_stundenplan_betriebsmittel
|
||||
JOIN lehre.tbl_stundenplandev USING(stundenplandev_id)
|
||||
JOIN wawi.tbl_betriebsmittel USING(betriebsmittel_id)
|
||||
WHERE
|
||||
tbl_stundenplandev.datum=".$this->db_add_param($this->datum)."
|
||||
AND tbl_stundenplandev.stunde=".$this->db_add_param($this->stunde)."
|
||||
AND betriebsmittel_id IN(SELECT betriebsmittel_id FROM lehre.tbl_stundenplan_betriebsmittel WHERE stundenplandev_id=".$this->db_add_param($this->stundenplan_id).")";
|
||||
|
||||
if($result = $this->db_query($qry))
|
||||
{
|
||||
if($row = $this->db_fetch_object($result))
|
||||
{
|
||||
$this->errormsg='Kollision (Ressource)'.$row->beschreibung.'|'.$row->ort_kurzbz;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prueft ob eine Kollision mit den Zeitsperren vorhanden ist
|
||||
*
|
||||
@@ -668,8 +728,8 @@ class lehrstunde extends basis_db
|
||||
stunde=".$this->db_add_param($this->stunde)." AND
|
||||
(ort_kurzbz=".$this->db_add_param($this->ort_kurzbz)." OR ";
|
||||
|
||||
if ($this->lektor_uid!='_DummyLektor')
|
||||
$sql_query.="(uid=".$this->db_add_param($this->lektor_uid)." AND uid!='_DummyLektor') OR ";
|
||||
if (!in_array($this->lektor_uid, unserialize(KOLLISIONSFREIE_USER)))
|
||||
$sql_query.="(uid=".$this->db_add_param($this->lektor_uid)." AND uid not in(".$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER)).")) OR ";
|
||||
|
||||
$sql_query.="(studiengang_kz=".$this->db_add_param($this->studiengang_kz)." AND semester=".$this->db_add_param($this->sem);
|
||||
if ($this->ver!=null && $this->ver!='' && $this->ver!=' ')
|
||||
|
||||
@@ -268,6 +268,13 @@ class variable extends basis_db
|
||||
|
||||
if (!isset($this->variable->max_kollision))
|
||||
$this->variable->max_kollision='0';
|
||||
|
||||
if (!isset($this->variable->alle_unr_mitladen))
|
||||
$this->variable->alle_unr_mitladen='false';
|
||||
|
||||
if (!isset($this->variable->allow_lehrstunde_drop))
|
||||
$this->variable->allow_lehrstunde_drop='false';
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
+139
-72
@@ -42,6 +42,7 @@ require_once(dirname(__FILE__).'/phrasen.class.php');
|
||||
require_once(dirname(__FILE__).'/globals.inc.php');
|
||||
require_once(dirname(__FILE__).'/sprache.class.php');
|
||||
require_once(dirname(__FILE__).'/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/betriebsmittel.class.php');
|
||||
|
||||
class wochenplan extends basis_db
|
||||
{
|
||||
@@ -374,7 +375,7 @@ class wochenplan extends basis_db
|
||||
* @param datum Datum eines Tages in der angeforderten Woche
|
||||
* @return true oder false
|
||||
*/
|
||||
public function load_week($datum, $stpl_view='stundenplan')
|
||||
public function load_week($datum, $stpl_view='stundenplan', $alle_unr_mitladen=false)
|
||||
{
|
||||
// Pruefung der Attribute
|
||||
if (!isset($this->type))
|
||||
@@ -398,7 +399,7 @@ class wochenplan extends basis_db
|
||||
|
||||
// Stundenplandaten ermittlen
|
||||
$this->wochenplan=new lehrstunde();
|
||||
$anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view, null,$this->fachbereich_kurzbz,$this->lva);
|
||||
$anz=$this->wochenplan->load_lehrstunden($this->type,$this->datum_begin,$this->datum_end,$this->pers_uid,$this->ort_kurzbz,$this->stg_kz,$this->sem,$this->ver,$this->grp,$this->gruppe_kurzbz, $stpl_view, null,$this->fachbereich_kurzbz,$this->lva, $alle_unr_mitladen);
|
||||
if ($anz<0)
|
||||
{
|
||||
$this->errormsg=$this->wochenplan->errormsg;
|
||||
@@ -612,7 +613,7 @@ class wochenplan extends basis_db
|
||||
echo '"><img class="lvplanbutton" src="../../../skin/images/moreright_lvplan.png" title="'.$p->t('lvplan/vierWochenVor').'"></a>';
|
||||
echo '</p>';
|
||||
//Kalenderjump mit Hoverbox
|
||||
jahreskalenderjump_hoverbox($this->link);
|
||||
$this->jahreskalenderjump_hoverbox($this->link);
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -845,7 +846,7 @@ class wochenplan extends basis_db
|
||||
$uEinheiten=array();
|
||||
for($n=0;$n<count($unr);$n++)
|
||||
{
|
||||
$unrIndex=searchForId($unr[$n], $uEinheiten);
|
||||
$unrIndex=$this->searchForId($unr[$n], $uEinheiten);
|
||||
if($unrIndex===FALSE)
|
||||
{
|
||||
/*
|
||||
@@ -1108,6 +1109,7 @@ class wochenplan extends basis_db
|
||||
// Kontext Menue
|
||||
echo '<popupset>
|
||||
<menupopup id="stplPopupMenue">
|
||||
<menuitem label="Ressourcen zuordnen" oncommand="TimeTableWeekMarkiere(document.popupNode);BetriebsmittelZuordnen(document.popupNode);" />
|
||||
<menuitem label="Raumvorschlag" oncommand="StplSearchRoom(document.popupNode);" />
|
||||
<menuitem label="Entfernen" oncommand="TimeTableWeekMarkiere(document.popupNode);TimetableDeleteEntries()" />
|
||||
</menupopup>
|
||||
@@ -1207,7 +1209,7 @@ class wochenplan extends basis_db
|
||||
$tooltip .= $bezeichnung;
|
||||
}
|
||||
}
|
||||
echo '<vbox style="border:1px solid black; background-color:'.$bgcolor.'"';
|
||||
echo '<vbox class="stplweek_vbox" style="border:1px solid black; background-color:'.$bgcolor.'"';
|
||||
if($tooltip!='')
|
||||
{
|
||||
echo ' tooltiptext="'.$this->convert_html_chars($tooltip).'"';
|
||||
@@ -1221,7 +1223,7 @@ class wochenplan extends basis_db
|
||||
stg_kz="'.$this->stg_kz.'" sem="'.$this->sem.'" ver="'.$this->ver.'"
|
||||
grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'"
|
||||
pers_uid="'.$this->pers_uid.'" stpltype="'.$this->type.'">';
|
||||
|
||||
|
||||
if (isset($this->std_plan[$i][$j][0]->lehrfach))
|
||||
{
|
||||
// Daten aufbereiten
|
||||
@@ -1229,6 +1231,7 @@ class wochenplan extends basis_db
|
||||
unset($lvb);
|
||||
//$lvb=array();
|
||||
$kollision=-1;
|
||||
unset($kollisionsmeldungen);
|
||||
if (isset($a_unr))
|
||||
unset($a_unr);
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
@@ -1279,9 +1282,16 @@ class wochenplan extends basis_db
|
||||
}
|
||||
$qry.="ORDER BY datum, stunde, student_uid LIMIT 1;";
|
||||
|
||||
if($this->db_query($qry))
|
||||
if($this->db_num_rows()>0)
|
||||
if($stud_result = $this->db_query($qry))
|
||||
{
|
||||
if($this->db_num_rows($stud_result)>0)
|
||||
{
|
||||
$kollision++;
|
||||
$stud_row = $this->db_fetch_object($stud_result);
|
||||
foreach($a_unr as $kollision_unr)
|
||||
$kollisionsmeldungen[$kollision_unr][]=' Studentenkollision '.$stud_row->student_uid;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
@@ -1295,26 +1305,29 @@ class wochenplan extends basis_db
|
||||
$a=0;
|
||||
foreach ($a_unr as $unr)
|
||||
{
|
||||
array_unique($a_lvb[$unr]);
|
||||
$lvb_unr_arr[$a]=$unr;
|
||||
$lvb[$a++]=$a_lvb[$unr];
|
||||
}
|
||||
|
||||
for ($a=0;$a<count($lvb)-1;$a++)
|
||||
for ($b=0;$b<count($lvb[$a]);$b++)
|
||||
for ($c=$a+1;$c<count($lvb);$c++)
|
||||
for ($d=0;$d<count($lvb[$c]);$d++)
|
||||
{
|
||||
$s1=mb_substr($lvb[$a][$b],0,1);
|
||||
$s2=mb_substr($lvb[$c][$d],0,1);
|
||||
$v1=trim(mb_substr($lvb[$a][$b],1,1));
|
||||
$v2=trim(mb_substr($lvb[$c][$d],1,1));
|
||||
$g1=trim(mb_substr($lvb[$a][$b],2,1));
|
||||
$g2=trim(mb_substr($lvb[$c][$d],2,1));
|
||||
if ($s1==$s2 || !$s1 || $s1=='' || $s1=='0' || !$s2 || $s2=='' || $s2=='0')
|
||||
if ($v1==$v2 || !$v1 || $v1=='' || $v1=='0' || !$v2 || $v2=='' || $v2=='0')
|
||||
if ($g1==$g2 || !$g1 || $g1=='' || $g1=='0' || !$g2 || $g2=='' || $g2=='0')
|
||||
$kollision++;
|
||||
}
|
||||
for ($a=0;$a<count($lvb)-1;$a++)
|
||||
for ($b=0;$b<count($lvb[$a]);$b++)
|
||||
for ($c=$a+1;$c<count($lvb);$c++)
|
||||
for ($d=0;$d<count($lvb[$c]);$d++)
|
||||
{
|
||||
$s1=mb_substr($lvb[$a][$b],0,1);
|
||||
$s2=mb_substr($lvb[$c][$d],0,1);
|
||||
$v1=trim(mb_substr($lvb[$a][$b],1,1));
|
||||
$v2=trim(mb_substr($lvb[$c][$d],1,1));
|
||||
$g1=trim(mb_substr($lvb[$a][$b],2,1));
|
||||
$g2=trim(mb_substr($lvb[$c][$d],2,1));
|
||||
if ($s1==$s2 || !$s1 || $s1=='' || $s1=='0' || !$s2 || $s2=='' || $s2=='0')
|
||||
if ($v1==$v2 || !$v1 || $v1=='' || $v1=='0' || !$v2 || $v2=='' || $v2=='0')
|
||||
if ($g1==$g2 || !$g1 || $g1=='' || $g1=='0' || !$g2 || $g2=='' || $g2=='0')
|
||||
{
|
||||
$kollision++;
|
||||
$kollisionsmeldungen[$lvb_unr_arr[$a]][]=' Gruppe '.trim($lvb[$a][$b]).' / '.trim($lvb[$c][$d]);
|
||||
$kollisionsmeldungen[$lvb_unr_arr[$c]][]=' Gruppe '.trim($lvb[$a][$b]).' / '.trim($lvb[$c][$d]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1337,11 +1350,19 @@ class wochenplan extends basis_db
|
||||
unset($updateamum);
|
||||
if (isset($updatevon))
|
||||
unset($updatevon);
|
||||
$farbe='';
|
||||
$tooltip_anmerkung=array();
|
||||
$paramList='';
|
||||
$z=0;
|
||||
$reservierung=false;
|
||||
$stundenplan_ids=array();
|
||||
|
||||
if(isset($raumcheck))
|
||||
unset($raumcheck);
|
||||
|
||||
if(isset($lktcheck))
|
||||
unset($lktcheck);
|
||||
|
||||
foreach ($this->std_plan[$i][$j] as $lehrstunde)
|
||||
{
|
||||
if ($lehrstunde->unr==$unr)
|
||||
@@ -1374,17 +1395,34 @@ class wochenplan extends basis_db
|
||||
$reservierung=true;
|
||||
}
|
||||
else
|
||||
{
|
||||
$paramList.='&stundenplan_id'.$z++.'='.$lehrstunde->stundenplan_id;
|
||||
if(isset($lehrstunde->farbe))
|
||||
$stundenplan_ids[]=$lehrstunde->stundenplan_id;
|
||||
}
|
||||
if(isset($lehrstunde->farbe) && $farbe=='')
|
||||
$farbe=$lehrstunde->farbe;
|
||||
$titel=htmlspecialchars($lehrstunde->titel);
|
||||
$anmerkung=htmlspecialchars($lehrstunde->anmerkung);
|
||||
$tooltip_anmerkung[]=$titel.' '.$anmerkung;
|
||||
}
|
||||
|
||||
if(isset($raumcheck[$lehrstunde->ort]) && $raumcheck[$lehrstunde->ort]!=$lehrstunde->unr)
|
||||
{
|
||||
$kollision++;
|
||||
$kollisionsmeldungen[$lehrstunde->unr][]=" Ort ".$lehrstunde->ort;
|
||||
$kollisionsmeldungen[$raumcheck[$lehrstunde->ort]][]=" Ort ".$lehrstunde->ort;
|
||||
}
|
||||
else
|
||||
$raumcheck[$lehrstunde->ort]=$lehrstunde->unr;
|
||||
|
||||
if(isset($lktcheck[$lehrstunde->lektor]) && $lktcheck[$lehrstunde->lektor]!=$lehrstunde->unr)
|
||||
{
|
||||
$kollision++;
|
||||
$kollisionsmeldungen[$lehrstunde->unr][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor];
|
||||
$kollisionsmeldungen[$lktcheck[$lehrstunde->lektor]][]=" LektorIn ".$lehrstunde->lektor; //." ".$lehrstunde->unr."!=".$lktcheck[$lehrstunde->lektor];
|
||||
}
|
||||
else
|
||||
$lktcheck[$lehrstunde->lektor]=$lehrstunde->unr;
|
||||
}
|
||||
// Lektoren
|
||||
//if ($this->type!='lektor')
|
||||
@@ -1434,7 +1472,8 @@ class wochenplan extends basis_db
|
||||
$updatevonam.=$u.' ';
|
||||
|
||||
// Blinken oder nicht ?
|
||||
if ($kollision)
|
||||
if (isset($kollisionsmeldungen[$unr])
|
||||
|| (isset($kollisionsmeldung) && count($kollisionsmeldungen, COUNT_RECURSIVE)==0 && $kollision>0))
|
||||
{
|
||||
$blink_ein='<html:blink>';// .$kollision;
|
||||
$blink_aus='</html:blink>';
|
||||
@@ -1447,10 +1486,15 @@ class wochenplan extends basis_db
|
||||
|
||||
$stg_obj = new studiengang();
|
||||
$stg_obj->load($stg_kz);
|
||||
|
||||
$tooltip_anmerkung = array_unique($tooltip_anmerkung);
|
||||
$tooltip_gesamt = '('.$updatevonam.') '.implode(',',$tooltip_anmerkung);
|
||||
|
||||
if(isset($kollisionsmeldungen[$unr]))
|
||||
$tooltip_gesamt .= ' Kollision wegen:'.implode(',',array_unique($kollisionsmeldungen[$unr]));
|
||||
|
||||
// Ausgabe
|
||||
echo '<button id="buttonSTPL'.$count.'"
|
||||
tooltiptext="('.$updatevonam.') '.$titel.' - '.$anmerkung.'"
|
||||
tooltiptext="'.$this->convert_html_chars($tooltip_gesamt).'"
|
||||
style="border:1px solid transparent;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').';-moz-appearance:none"
|
||||
styleOrig="border:1px solid transparent;'.((isset($farbe) && $farbe!='')?'background-color:#'.$farbe:'').';-moz-appearance:none" ';
|
||||
if ($berechtigung->isBerechtigt('lehre/lvplan',$stg_obj->oe_kurzbz,'uid'))
|
||||
@@ -1458,6 +1502,9 @@ class wochenplan extends basis_db
|
||||
if ($berechtigung->isBerechtigt('lehre/lvplan',$stg_obj->oe_kurzbz,'u'))
|
||||
echo 'ondraggesture="nsDragAndDrop.startDrag(event,listObserver)" ';
|
||||
//onclick="return onStplSearchRoom(event, event.target);"
|
||||
$button_orte = $this->ort_kurzbz;
|
||||
if($button_orte=='')
|
||||
$button_orte=$ort[0];
|
||||
echo 'ondragdrop="nsDragAndDrop.drop(event,boardObserver)"
|
||||
ondragover="nsDragAndDrop.dragOver(event,boardObserver)"
|
||||
oncommand="TimeTableWeekClick(event)"
|
||||
@@ -1470,7 +1517,7 @@ class wochenplan extends basis_db
|
||||
stg_kz="'.$this->stg_kz.'" sem="'.$this->sem.'" ver="'.$this->ver.'"
|
||||
grp="'.$this->grp.'" gruppe="'.$this->gruppe_kurzbz.'"
|
||||
datum="'.date("Y-m-d",$datum).'" stunde="'.$j.'" wochentag="'.$i.'"
|
||||
pers_uid="'.$this->pers_uid.'" ort_kurzbz="'.$this->ort_kurzbz.'">';
|
||||
pers_uid="'.$this->pers_uid.'" ort_kurzbz="'.$button_orte.'">';
|
||||
|
||||
echo '<label align="center">'.$blink_ein;
|
||||
$count++;
|
||||
@@ -1480,6 +1527,20 @@ class wochenplan extends basis_db
|
||||
{
|
||||
echo '<image src="../../skin/images/sticky.png" tooltip="'.$titel.'"/>';
|
||||
}
|
||||
|
||||
// Zugeteilte Ressourcen Anzeigen
|
||||
$betriebsmittel = new betriebsmittel();
|
||||
if($betriebsmittel->getBetriebsmittelStundenplan($stundenplan_ids))
|
||||
{
|
||||
if(count($betriebsmittel->result)>0)
|
||||
{
|
||||
$ressourceinfo='';
|
||||
foreach($betriebsmittel->result as $row)
|
||||
$ressourceinfo.=$row->beschreibung.' ';
|
||||
echo '<image src="../../skin/images/group.png" tooltip="'.$this->convert_html_chars($ressourceinfo).'"/>';
|
||||
}
|
||||
}
|
||||
|
||||
echo '<html:br />';
|
||||
echo $lvb;
|
||||
if ($this->type!='lektor')
|
||||
@@ -1526,6 +1587,7 @@ class wochenplan extends basis_db
|
||||
}
|
||||
}
|
||||
}
|
||||
echo '<description class="stplweek_tagesinfo">'.date("D",$datum).'-'.$j.'</description>';
|
||||
echo '</vbox>'.$this->crlf;
|
||||
}
|
||||
echo "</row>";
|
||||
@@ -1611,6 +1673,8 @@ class wochenplan extends basis_db
|
||||
$gruppe[]=$row->gruppe_kurzbz;
|
||||
else
|
||||
$gruppe[]='';
|
||||
if(!isset($lehrverband[$i]))
|
||||
$lehrverband[$i]= new stdClass();
|
||||
$lehrverband[$i]->stg_kz=$row->studiengang_kz;
|
||||
$lehrverband[$i]->sem=$row->semester;
|
||||
$lehrverband[$i]->ver=$row->verband;
|
||||
@@ -1930,7 +1994,7 @@ class wochenplan extends basis_db
|
||||
$lkt.=" OR mitarbeiter_uid=".$this->db_add_param($l);
|
||||
$lkt=mb_substr($lkt,3);
|
||||
//Dummy Lektor kollidiert nicht
|
||||
$lkt='(('.$lkt.") AND mitarbeiter_uid!='_DummyLektor')";
|
||||
$lkt='(('.$lkt.') AND mitarbeiter_uid not in ('.$this->db_implode4SQL(unserialize(KOLLISIONSFREIE_USER)).'))';
|
||||
// Gruppen
|
||||
$gruppen='';
|
||||
if (isset($gruppe))
|
||||
@@ -2499,48 +2563,51 @@ class wochenplan extends basis_db
|
||||
else
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function jahreskalenderjump_hoverbox($link) //Mit Hoverbox Effekt
|
||||
{
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
$crlf=crlf();
|
||||
$datum=time();
|
||||
$woche=kalenderwoche($datum);
|
||||
$wochenmontag=montag($datum);
|
||||
|
||||
echo '<table align="center"><tr valign="top"><td>
|
||||
<div class="hoverbox">
|
||||
<div class="preview">
|
||||
<img src="../../../skin/images/down_lvplan.png" border="0"/>
|
||||
<div class="hoverbox_inhalt">
|
||||
<table class="hoverbox"><tr>'.$crlf;
|
||||
for ($anz=1;$anz<25;$anz++)
|
||||
protected function searchForId($id, $array)
|
||||
{
|
||||
$linknew=$link.'&datum='.$datum;
|
||||
if ($woche==53)
|
||||
$woche=1;
|
||||
echo ' <td style="padding: 3px;" align="center"><A HREF="'.$linknew.'"><nobr>KW '.$woche.'</nobr><br>'.date('d.m', $wochenmontag).'</A></td>'.$crlf;
|
||||
if ($anz%8==0)
|
||||
echo ' </tr><tr align="center">'.$crlf;
|
||||
$datum+=60*60*24*7;
|
||||
$woche++;
|
||||
$wochenmontag+=60*60*24*7;
|
||||
}
|
||||
echo ' </tr></table></div></div></div></td></tr></table>'.$crlf;
|
||||
}
|
||||
|
||||
function searchForId($id, $array)
|
||||
{
|
||||
foreach ($array as $key => $val)
|
||||
{
|
||||
if ($val['unr'] == $id)
|
||||
foreach ($array as $key => $val)
|
||||
{
|
||||
return $key;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
if ($val['unr'] == $id)
|
||||
{
|
||||
return $key;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gibt einen HTML-Dialog mit den Kalenderwochen aus
|
||||
* @param $link
|
||||
*/
|
||||
protected function jahreskalenderjump_hoverbox($link)
|
||||
{
|
||||
$sprache = getSprache();
|
||||
$p=new phrasen($sprache);
|
||||
$crlf=crlf();
|
||||
$datum=time();
|
||||
$woche=kalenderwoche($datum);
|
||||
$wochenmontag=montag($datum);
|
||||
|
||||
echo '<table align="center"><tr valign="top"><td>
|
||||
<div class="hoverbox">
|
||||
<div class="preview">
|
||||
<img src="../../../skin/images/down_lvplan.png" border="0"/>
|
||||
<div class="hoverbox_inhalt">
|
||||
<table class="hoverbox"><tr>'.$crlf;
|
||||
for ($anz=1;$anz<25;$anz++)
|
||||
{
|
||||
$linknew=$link.'&datum='.$datum;
|
||||
if ($woche==53)
|
||||
$woche=1;
|
||||
echo ' <td style="padding: 3px;" align="center"><A HREF="'.$linknew.'"><nobr>KW '.$woche.'</nobr><br>'.date('d.m', $wochenmontag).'</A></td>'.$crlf;
|
||||
if ($anz%8==0)
|
||||
echo ' </tr><tr align="center">'.$crlf;
|
||||
$datum+=60*60*24*7;
|
||||
$woche++;
|
||||
$wochenmontag+=60*60*24*7;
|
||||
}
|
||||
echo ' </tr></table></div></div></div></td></tr></table>'.$crlf;
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user