mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-06-01 12:19:28 +00:00
Merge Commit
This commit is contained in:
+30
-31
@@ -23,7 +23,7 @@
|
||||
class datum
|
||||
{
|
||||
public $ts_day=86400; // Timestamp eines Tages
|
||||
|
||||
|
||||
/**
|
||||
* Konstruktor
|
||||
*
|
||||
@@ -103,13 +103,12 @@ class datum
|
||||
*/
|
||||
public 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;
|
||||
$days = $wochen * 7;
|
||||
|
||||
$datetime=new DateTime();
|
||||
$datetime->setTimestamp($datum);
|
||||
$datetime->modify($days.' day');
|
||||
return $datetime->format("U");
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -159,7 +158,7 @@ class datum
|
||||
else
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Zieht ein Datum von einem anderen ab, und gibt die differenz in Tagen zurueck (mit Vorzeichen)
|
||||
* @param $datum1
|
||||
@@ -196,7 +195,7 @@ class datum
|
||||
if($start=='' && $ende!='' && $dateende>=$dateref)
|
||||
return true;
|
||||
|
||||
// Ende nicht gesetzt; Start gesetzt
|
||||
// Ende nicht gesetzt; Start gesetzt
|
||||
if($ende=='' && $start!='' && $datestart<=$dateref)
|
||||
return true;
|
||||
|
||||
@@ -237,7 +236,7 @@ class datum
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Subtrahiert 2 Zeiten ($zeit1-$zeit2) Stunde:Minute
|
||||
* Es liefert keine Uhrzeit zurueck sondern Stunden und Minuten
|
||||
@@ -268,7 +267,7 @@ class datum
|
||||
|
||||
return $h1.':'.$m1;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Prueft und Liefert ein Datum im angegeben Format
|
||||
* fuer die Formatierung wird die Funktion formatDatum verwendet
|
||||
@@ -278,9 +277,9 @@ class datum
|
||||
* Eintraege wie zB 'last Monday' oder 'a' auch in ein Datum umgewandelt werden.
|
||||
* @return Formatierten Timestamp wenn ok, false im Fehlerfall
|
||||
*/
|
||||
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
function checkformatDatum($datum, $format='Y-m-d H:i:s', $strict=false)
|
||||
{
|
||||
|
||||
|
||||
@list($day, $month, $year) = @explode(".", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
@@ -293,7 +292,7 @@ class datum
|
||||
@list($year, $month, $day) = @explode("-", $datum);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
|
||||
if (strlen($datum)==6)
|
||||
{
|
||||
$year="20".substr($datum,0,2);
|
||||
@@ -301,7 +300,7 @@ class datum
|
||||
$day=substr($datum,4,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
}
|
||||
else if (strlen($datum)==8)
|
||||
{
|
||||
$year=substr($datum,0,4);
|
||||
@@ -309,15 +308,15 @@ class datum
|
||||
$day=substr($datum, 6,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
|
||||
$year=substr($datum,5,4);
|
||||
|
||||
$year=substr($datum,5,4);
|
||||
$month=substr($datum,3,2);
|
||||
$day=substr($datum, 0,2);
|
||||
if (@checkdate($month, $day, $year))
|
||||
return $this->formatDatum($datum, $format, $strict);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
@@ -334,18 +333,18 @@ class datum
|
||||
{
|
||||
if(trim($datum)=='')
|
||||
return '';
|
||||
|
||||
|
||||
$ts='';
|
||||
$error=false;
|
||||
|
||||
|
||||
//2008-12-31
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
|
||||
//2008-12-31 12:30
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[3],$regs[1]);
|
||||
|
||||
|
||||
//2008-12-31 12:30:15
|
||||
if(mb_ereg("([0-9]{4})-([0-9]{2})-([0-9]{2}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[3],$regs[1]);
|
||||
@@ -355,20 +354,20 @@ class datum
|
||||
//1.12.2008
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4})",$datum, $regs))
|
||||
$ts = mktime(0,0,0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
|
||||
//1.12.2008 12:30
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],0,$regs[2],$regs[1],$regs[3]);
|
||||
|
||||
|
||||
//1.12.2008 12:30:15
|
||||
if(mb_ereg("([0-9]{1,2}).([0-9]{1,2}).([0-9]{4}) ([0-9]{2}):([0-9]{2}):([0-9]{2})",$datum, $regs))
|
||||
$ts = mktime($regs[4],$regs[5],$regs[6],$regs[2],$regs[1],$regs[3]);
|
||||
}
|
||||
|
||||
|
||||
if($ts=='' && !$strict)
|
||||
{
|
||||
$ts = strtotime($datum);
|
||||
|
||||
|
||||
if(!$ts || $ts==-1)
|
||||
{
|
||||
//wenn strtotime fehlschlaegt liefert diese -1 zurueck, ab php5.1.0 jedoch false
|
||||
@@ -378,9 +377,9 @@ class datum
|
||||
|
||||
if($ts!='' && !$error)
|
||||
return date($format, $ts);
|
||||
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
?>
|
||||
|
||||
@@ -54,7 +54,7 @@ class moodle24_user extends basis_db
|
||||
* Laedt einen Moodle User
|
||||
*
|
||||
* @param $uid
|
||||
* @return boolean
|
||||
* @return boolean oder -1 bei SOAP Fehler
|
||||
*/
|
||||
public function loaduser($uid)
|
||||
{
|
||||
@@ -87,7 +87,7 @@ class moodle24_user extends basis_db
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim Laden des Users: ".$E->faultstring;
|
||||
return false;
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -209,8 +209,9 @@ class moodle24_user extends basis_db
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
|
||||
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_ma->mitarbeiter_uid))
|
||||
if($retval===false)
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_ma->mitarbeiter_uid))
|
||||
@@ -222,29 +223,32 @@ class moodle24_user extends basis_db
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=3; // 3=Lektor
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
try
|
||||
if($retval!==-1)
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
|
||||
return false;
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=3; // 3=Lektor
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
try
|
||||
{
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
|
||||
$this->log.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nLektorIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->errormsg.="SOAP Fehler beim zuteilen der Teilnehmer des Kurses: ".$E->faultstring;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -369,8 +373,9 @@ class moodle24_user extends basis_db
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
|
||||
$retval = $this->loaduser($row_user->student_uid);
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_user->student_uid))
|
||||
if($retval===false)
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_user->student_uid))
|
||||
@@ -382,23 +387,26 @@ class moodle24_user extends basis_db
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($studenten!='')
|
||||
$studenten.=',';
|
||||
$studenten.=$this->mdl_user_id;
|
||||
if($retval!==-1)
|
||||
{
|
||||
if($studenten!='')
|
||||
$studenten.=',';
|
||||
$studenten.=$this->mdl_user_id;
|
||||
|
||||
|
||||
//Student ist noch nicht zugeteilt.
|
||||
//Student ist noch nicht zugeteilt.
|
||||
|
||||
$data = new stdClass();
|
||||
$data->roleid=5; // 5=Teilnehmer/Student
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
$data = new stdClass();
|
||||
$data->roleid=5; // 5=Teilnehmer/Student
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
$userstoenroll[]=$data;
|
||||
$userstoenroll[]=$data;
|
||||
|
||||
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
$this->log.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nStudentIn $row_user->student_uid wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
}
|
||||
|
||||
//Gruppenzuteilung
|
||||
@@ -685,8 +693,9 @@ class moodle24_user extends basis_db
|
||||
|
||||
foreach ($users as $row_user)
|
||||
{
|
||||
$retval = $this->loaduser($row_user);
|
||||
//MoodleID des Users holen
|
||||
if(!$this->loaduser($row_user))
|
||||
if($retval!==true)
|
||||
{
|
||||
$this->errormsg = "Fehler beim Laden des Users $row_user: $this->errormsg";
|
||||
return false;
|
||||
@@ -825,9 +834,9 @@ class moodle24_user extends basis_db
|
||||
|
||||
if(!$user_zugeteilt)
|
||||
{
|
||||
|
||||
$retval = $this->loaduser($row_ma->mitarbeiter_uid);
|
||||
//MoodleID des Users holen bzw ggf neu anlegen
|
||||
if(!$this->loaduser($row_ma->mitarbeiter_uid))
|
||||
if($retval===false)
|
||||
{
|
||||
//User anlegen
|
||||
if(!$this->createUser($row_ma->mitarbeiter_uid))
|
||||
@@ -839,29 +848,32 @@ class moodle24_user extends basis_db
|
||||
$this->errormsg = '';
|
||||
}
|
||||
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
try
|
||||
if($retval!==-1)
|
||||
{
|
||||
if($mitarbeiter!='')
|
||||
$mitarbeiter.=',';
|
||||
$mitarbeiter.=$this->mdl_user_id;
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
//Mitarbeiter ist noch nicht zugeteilt.
|
||||
$data = new stdClass();
|
||||
$data->roleid=11; // 11=Fachbereichsleiter (selbst definierte rolle)
|
||||
$data->userid=$this->mdl_user_id;
|
||||
$data->courseid=$mdl_course_id;
|
||||
|
||||
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
|
||||
try
|
||||
{
|
||||
|
||||
$client = new SoapClient($this->serverurl);
|
||||
$client->enrol_manual_enrol_users(array($data));
|
||||
|
||||
$this->log.="\nFachbereitsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->log_public.="\nFachbereichsleiterIn $this->mdl_user_firstname $this->mdl_user_lastname wurde zum Kurs hinzugefügt";
|
||||
$this->sync_create++;
|
||||
}
|
||||
catch (SoapFault $E)
|
||||
{
|
||||
$this->log.="Fehler beim hinzufügen von FBL: ".$E->faultstring;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2384,7 +2384,7 @@ class wochenplan extends basis_db
|
||||
|
||||
/**
|
||||
* Unterricht der ueber mehrere Stunden geht wird nicht einzeln Exportiert,
|
||||
* sondern zusammengeblockt. (in maximal 4er Bloecke)
|
||||
* sondern zusammengeblockt.
|
||||
*
|
||||
* Es wird nur ein Eintrag geschrieben, die restlichen werden uebersprungen.
|
||||
* Vor dem Ueberspringen des Eintrages werden jedoch noch die dazu Gruppierten Eintraege
|
||||
@@ -2499,7 +2499,7 @@ class wochenplan extends basis_db
|
||||
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
|
||||
echo $this->crlf.'BEGIN:VEVENT'.$this->crlf
|
||||
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$this->crlf)
|
||||
.'UID:'.'FH'.str_replace(',',' ',$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical.$this->crlf)
|
||||
.'SUMMARY:'.str_replace(',',' ',$lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb.$this->crlf)
|
||||
.'DESCRIPTION:'.str_replace(',',' ',$lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort.(LVPLAN_ANMERKUNG_ANZEIGEN?'\n'.$this->std_plan[$i][$j][$idx]->anmerkung:'').$this->crlf)
|
||||
.'LOCATION:'.$this->std_plan[$i][$j][$idx]->ort.$this->crlf
|
||||
@@ -2541,7 +2541,7 @@ class wochenplan extends basis_db
|
||||
$start_date_time_ical = $sda[2].$sda[1].$sda[0].'T'.sprintf('%02s',($sta[0])).$sta[1].$sta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
$end_date_time_ical = $eda[2].$eda[1].$eda[0].'T'.sprintf('%02s',($eta[0])).$eta[1].$eta[2]; //neu gruppieren der Startzeit und des Startdatums
|
||||
|
||||
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical;
|
||||
$UID = 'FH'.$lvb.$this->std_plan[$i][$j][$idx]->ort.$this->std_plan[$i][$j][$idx]->lektor.$lehrfach[$idx].$start_date_time_ical.$end_date_time_ical;
|
||||
$Summary = $lehrfach[$idx].' '.$this->std_plan[$i][$j][$idx]->ort.' - '.$lvb;
|
||||
$description = $lehrfach[$idx].'\n'.$this->std_plan[$i][$j][$idx]->lektor.'\n'.$lvb.'\n'.$this->std_plan[$i][$j][$idx]->ort;
|
||||
|
||||
|
||||
@@ -96,6 +96,8 @@ if(isset($_POST['sync']))
|
||||
if($moodle->sync_studenten($mdl_course_id))
|
||||
{
|
||||
echo $moodle->log;
|
||||
echo '<hr>';
|
||||
echo $moodle->errormsg;
|
||||
}
|
||||
else
|
||||
echo 'Fehler bei der Zuteilung:'.$moodle->errormsg;
|
||||
|
||||
@@ -20,16 +20,18 @@
|
||||
/**
|
||||
* Seite zur Aenderung des Studiengangsnamens
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/globals.inc.php');
|
||||
require_once('../../include/functions.inc.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/benutzerberechtigung.class.php');
|
||||
require_once('../../include/organisationsform.class.php');
|
||||
require_once('../../include/benutzerfunktion.class.php');
|
||||
require_once('../../include/benutzer.class.php');
|
||||
|
||||
if (!$db = new basis_db())
|
||||
die('Es konnte keine Verbindung zum Server aufgebaut werden.');
|
||||
|
||||
|
||||
?>
|
||||
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
|
||||
<html>
|
||||
@@ -53,7 +55,7 @@ if(isset($_GET['studiengang_kz']))
|
||||
$stg_kz = $_GET['studiengang_kz'];
|
||||
else
|
||||
$stg_kz='';
|
||||
|
||||
|
||||
if(isset($_GET['action']) && $_GET['action']=='save')
|
||||
{
|
||||
$studiengang_kz = $_POST['studiengang_kz'];
|
||||
@@ -61,13 +63,13 @@ if(isset($_GET['action']) && $_GET['action']=='save')
|
||||
$studiengang->load($studiengang_kz);
|
||||
if(!$rechte->isBerechtigt('assistenz', $studiengang->oe_kurzbz, 'suid'))
|
||||
die('Sie haben keine Berechtigung fuer diese Seite');
|
||||
|
||||
|
||||
$bezeichnung = $_POST['bezeichnung'];
|
||||
$english = $_POST['english'];
|
||||
$max_semester = $_POST['max_semester'];
|
||||
$orgform_kurzbz = $_POST['orgform_kurzbz'];
|
||||
$stg_kz=$studiengang_kz;
|
||||
|
||||
|
||||
$stg = new studiengang();
|
||||
if($stg->load($studiengang_kz))
|
||||
{
|
||||
@@ -80,13 +82,46 @@ if(isset($_GET['action']) && $_GET['action']=='save')
|
||||
echo '<span class="ok">Erfolgreich geändert</span>';
|
||||
else
|
||||
echo '<span clasS="error">Fehler beim Speichern: '.$stg->errormsg.'</span>';
|
||||
|
||||
|
||||
}
|
||||
|
||||
if($studiengang_kz==334)
|
||||
{
|
||||
$benutzerfunktion = new benutzerfunktion();
|
||||
$benutzerfunktion->getOeFunktionen($stg->oe_kurzbz, 'Leitung');
|
||||
|
||||
foreach($benutzerfunktion->result as $row)
|
||||
{
|
||||
if(isset($_POST['ltg_'.$row->benutzerfunktion_id]))
|
||||
{
|
||||
// Leitung wird gesetzt
|
||||
if($row->datum_bis!='')
|
||||
{
|
||||
$row->datum_bis='';
|
||||
$row->updateamum = date('Y-m-d H:i:s');
|
||||
$row->updatevon = $user;
|
||||
$row->save(false);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Leitung wird entfernt
|
||||
if($row->datum_bis=='' || $row->datum_bis>date('Y-m-d'))
|
||||
{
|
||||
$row->datum_bis=date('Y-m-d',mktime(0, 0, 0, date("m"), date("d")-1, date("Y")));
|
||||
$row->updateamum = date('Y-m-d H:i:s');
|
||||
$row->updatevon = $user;
|
||||
$row->save(false);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$stg = new studiengang();
|
||||
$stg = new studiengang();
|
||||
$stg_arr = $rechte->getStgKz('assistenz');
|
||||
$stg->loadArray($stg_arr,'typ, kurzbz',true);
|
||||
$stg->loadArray($stg_arr,'typ, kurzbz',true);
|
||||
|
||||
echo '<form method="GET">
|
||||
Studiengang: <SELECT name="studiengang_kz">';
|
||||
@@ -94,12 +129,12 @@ foreach($stg->result as $row)
|
||||
{
|
||||
if($stg_kz=='')
|
||||
$stg_kz=$row->studiengang_kz;
|
||||
|
||||
|
||||
if($stg_kz==$row->studiengang_kz)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
|
||||
echo '<OPTION value="'.$row->studiengang_kz.'" '.$selected.'>'.$row->kuerzel.' - '.$row->kurzbzlang.'</OPTION>';
|
||||
}
|
||||
echo '</SELECT><input type="submit" value="Anzeigen" /></form>';
|
||||
@@ -136,15 +171,47 @@ foreach($orgform->result as $row)
|
||||
$selected='selected';
|
||||
else
|
||||
$selected='';
|
||||
|
||||
|
||||
echo '<OPTION value="'.$row->orgform_kurzbz.'" '.$selected.'>'.$row->bezeichnung.'</OPTION>';
|
||||
}
|
||||
|
||||
echo '
|
||||
</SELECT>
|
||||
</td>
|
||||
</tr>
|
||||
</tr>';
|
||||
|
||||
if($stg->studiengang_kz==334)
|
||||
{
|
||||
// Studiengang MIT / MSC kann auch die Leitung aktivieren/deaktivieren
|
||||
echo '<tr>';
|
||||
echo '<td valign="top">Leitung</td>';
|
||||
echo '<td>';
|
||||
|
||||
$benutzerfunktion = new benutzerfunktion();
|
||||
$benutzerfunktion->getOeFunktionen($stg->oe_kurzbz, 'Leitung');
|
||||
|
||||
foreach($benutzerfunktion->result as $row)
|
||||
{
|
||||
if($row->datum_bis=='' || $row->datum_bis>date('Y-m-d'))
|
||||
$checked='checked="checked"';
|
||||
else
|
||||
$checked='';
|
||||
|
||||
echo '<input type="checkbox" name="ltg_'.$row->benutzerfunktion_id.'" '.$checked.'>';
|
||||
$bn = new benutzer();
|
||||
$bn->load($row->uid);
|
||||
echo $bn->vorname.' '.$bn->nachname.'<br>';
|
||||
}
|
||||
|
||||
echo '</td>';
|
||||
echo '</tr>';
|
||||
}
|
||||
|
||||
echo '
|
||||
<tr>
|
||||
<td> </td>
|
||||
<td> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td></td>
|
||||
<td><input type="submit" value="Speichern" /></td>
|
||||
|
||||
+64
-62
@@ -2,17 +2,18 @@
|
||||
require_once(dirname(__FILE__).'/../include/wochenplan.class.php');
|
||||
require_once(dirname(__FILE__).'/../include/functions.inc.php');
|
||||
require_once(dirname(__FILE__).'/../include/mitarbeiter.class.php');
|
||||
require_once(dirname(__FILE__).'/../include/datum.class.php');
|
||||
/**
|
||||
* CalDAV backend
|
||||
*/
|
||||
class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
{
|
||||
/**
|
||||
* Creates the backend
|
||||
*
|
||||
* Creates the backend
|
||||
*
|
||||
* @param AuthBackend $auth
|
||||
*/
|
||||
public function __construct($auth)
|
||||
public function __construct($auth)
|
||||
{
|
||||
$this->auth = $auth;
|
||||
}
|
||||
@@ -31,18 +32,18 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
* Every project is an array with the following keys:
|
||||
* * id, a unique id that will be used by other functions to modify the
|
||||
* calendar. This can be the same as the uri or a database key.
|
||||
* * uri, which the basename of the uri with which the calendar is
|
||||
* * uri, which the basename of the uri with which the calendar is
|
||||
* accessed.
|
||||
* * principalUri. The owner of the calendar. Almost always the same as
|
||||
* principalUri passed to this method.
|
||||
*
|
||||
* Furthermore it can contain webdav properties in clark notation. A very
|
||||
* common one is '{DAV:}displayname'.
|
||||
* common one is '{DAV:}displayname'.
|
||||
*
|
||||
* @param string $principalUri
|
||||
* @return array
|
||||
* @param string $principalUri
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarsForUser($principalUri)
|
||||
public function getCalendarsForUser($principalUri)
|
||||
{
|
||||
//error_log("Caldav_Backend.php/getCalendarsForUser($principalUri)");
|
||||
//$user = $this->getUser();
|
||||
@@ -75,7 +76,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
* @param string $calendarUri
|
||||
* @param array $properties
|
||||
*/
|
||||
public function createCalendar($principalUri,$calendarUri, array $properties)
|
||||
public function createCalendar($principalUri,$calendarUri, array $properties)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
@@ -108,43 +109,44 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
* )
|
||||
* )
|
||||
*
|
||||
* In this example it was forbidden to update {DAV:}displayname.
|
||||
* In this example it was forbidden to update {DAV:}displayname.
|
||||
* (403 Forbidden), which in turn also caused {DAV:}owner to fail
|
||||
* (424 Failed Dependency) because the request needs to be atomic.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param array $mutations
|
||||
* @return bool|array
|
||||
* @param array $mutations
|
||||
* @return bool|array
|
||||
*/
|
||||
public function updateCalendar($calendarId, array $mutations)
|
||||
public function updateCalendar($calendarId, array $mutations)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a calendar and all it's objects
|
||||
*
|
||||
* @param string $calendarId
|
||||
* Delete a calendar and all it's objects
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return void
|
||||
*/
|
||||
public function deleteCalendar($calendarId)
|
||||
public function deleteCalendar($calendarId)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
|
||||
|
||||
public function getCalendarData($user, $objectUri=null)
|
||||
{
|
||||
$datum_obj = new datum();
|
||||
$starttime = microtime(true);
|
||||
$bn = new benutzer();
|
||||
if(!$bn->load($user))
|
||||
die('User invalid');
|
||||
|
||||
|
||||
if(check_lektor($user))
|
||||
$type='lektor';
|
||||
else
|
||||
$type='student';
|
||||
|
||||
|
||||
// Stundenplanobjekt erzeugen
|
||||
$stdplan = new wochenplan($type);
|
||||
$stdplan->crlf="\n";
|
||||
@@ -156,7 +158,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
}
|
||||
if(!is_null($objectUri))
|
||||
{
|
||||
$unr = mb_substr($objectUri, mb_strpos($objectUri,'-')+1);
|
||||
$unr = mb_substr($objectUri, (mb_strpos($objectUri,'-')+1), mb_strpos($objectUri,'@')-(mb_strpos($objectUri,'-')+1));
|
||||
$dtstart = mb_substr($objectUri,0,mb_strpos($objectUri,'-'));
|
||||
|
||||
if(mb_strlen($dtstart)==15)
|
||||
@@ -170,14 +172,14 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
$sekunde = mb_substr($dtstart,13,2);
|
||||
$begin = mktime($stunde, $minute, $sekunde, $monat, $tag-1, $jahr);
|
||||
$ende = mktime($stunde, $minute, $sekunde, $monat, $tag+1, $jahr);
|
||||
//error_log("getCalendarData unr: $unr dtstart: $dtstart");
|
||||
//error_log("getCalendarData unr: $unr dtstart: $dtstart size:".(mb_strlen($objectUri)-mb_strpos($objectUri,'@')));
|
||||
//error_log($begin.'/'.$ende);
|
||||
}
|
||||
else
|
||||
{
|
||||
//error_log("dtstart laenge abnormal: $dtstart");
|
||||
$begin = mktime(0,0,0,date('m'),date('d')-14,date('Y'));
|
||||
$ende = mktime(0,0,0,date('m')+6,date('d'),date('Y'));
|
||||
$ende = mktime(0,0,0,date('m')+6,date('d'),date('Y'));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -195,10 +197,10 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
$i++;
|
||||
if(!date("w",$begin))
|
||||
$begin=jump_day($begin,1);
|
||||
|
||||
|
||||
$stdplan->init_stdplan();
|
||||
$datum=$begin;
|
||||
$begin+=604800; // eine Woche
|
||||
$begin = $datum_obj->jump_week($begin,1);
|
||||
|
||||
// Stundenplan einer Woche laden
|
||||
if(!$stdplan->load_week($datum,$db_stpl_table))
|
||||
@@ -224,7 +226,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
//error_log("\n\nDATA".print_r($data,true));
|
||||
//error_log("getCalendarData time:".($endtime-$starttime));
|
||||
//$data.="\nEND:VCALENDAR";
|
||||
return $data;
|
||||
return $data;
|
||||
}
|
||||
public function makeCal($event)
|
||||
{
|
||||
@@ -250,28 +252,28 @@ END:STANDARD
|
||||
END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
}
|
||||
/**
|
||||
* Returns all calendar objects within a calendar.
|
||||
* Returns all calendar objects within a calendar.
|
||||
*
|
||||
* Every item contains an array with the following keys:
|
||||
* * id - unique identifier which will be used for subsequent updates
|
||||
* * calendardata - The iCalendar-compatible calnedar data
|
||||
* * uri - a unique key which will be used to construct the uri. This can be any arbitrary string.
|
||||
* * lastmodified - a timestamp of the last modification time
|
||||
* * etag - An arbitrary string, surrounded by double-quotes. (e.g.:
|
||||
* * etag - An arbitrary string, surrounded by double-quotes. (e.g.:
|
||||
* ' "abcdef"')
|
||||
* * calendarid - The calendarid as it was passed to this function.
|
||||
*
|
||||
* Note that the etag is optional, but it's highly encouraged to return for
|
||||
* Note that the etag is optional, but it's highly encouraged to return for
|
||||
* speed reasons.
|
||||
*
|
||||
* The calendardata is also optional. If it's not returned
|
||||
* 'getCalendarObject' will be called later, which *is* expected to return
|
||||
* The calendardata is also optional. If it's not returned
|
||||
* 'getCalendarObject' will be called later, which *is* expected to return
|
||||
* calendardata.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return array
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarObjects($calendarId)
|
||||
public function getCalendarObjects($calendarId)
|
||||
{
|
||||
//$user = $this->getUser();
|
||||
$user = $calendarId;
|
||||
@@ -290,7 +292,7 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
|
||||
$return[] = array("id"=>$row['UID'],
|
||||
"calendardata"=>$this->makeCal($row['data']),
|
||||
"uri"=>$uri,
|
||||
"uri"=>$uri.'@'.md5($row['UID']),
|
||||
"lastmodified"=>$row['updateamum'],
|
||||
"etag"=>'"'.$row['UID'].'"',
|
||||
"calendarid"=>$calendarId);
|
||||
@@ -303,15 +305,15 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
* Returns information from a single calendar object, based on it's object
|
||||
* uri.
|
||||
*
|
||||
* The returned array must have the same keys as getCalendarObjects. The
|
||||
* 'calendardata' object is required here though, while it's not required
|
||||
* The returned array must have the same keys as getCalendarObjects. The
|
||||
* 'calendardata' object is required here though, while it's not required
|
||||
* for getCalendarObjects.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return array
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return array
|
||||
*/
|
||||
public function getCalendarObject($calendarId,$objectUri)
|
||||
public function getCalendarObject($calendarId,$objectUri)
|
||||
{
|
||||
//error_log("Caldav_Backend.php/getCalendarObject($calendarId, $objectUri)");
|
||||
//$user = $this->getUser();
|
||||
@@ -330,7 +332,7 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
{
|
||||
$ret = array("id"=>$data['UID'],
|
||||
"calendardata"=>$this->makeCal($data['data']),
|
||||
"uri"=>'principals/'.$user.'/LVPlan/'.$data['dtstart'].'-'.$data['unr'][0],
|
||||
"uri"=>'principals/'.$user.'/LVPlan/'.$data['dtstart'].'-'.$data['unr'][0].'@'.md5($data['UID']),
|
||||
"lastmodified"=>$data['updateamum'],
|
||||
"etag"=>'"'.$data['UID'].'"',
|
||||
"calendarid"=>$calendarId);
|
||||
@@ -339,39 +341,39 @@ END:VTIMEZONE\n".$event."\nEND:VCALENDAR";
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates a new calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* Creates a new calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* @return void
|
||||
*/
|
||||
public function createCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
public function createCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
/**
|
||||
* Updates an existing calendarobject, based on it's uri.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* Updates an existing calendarobject, based on it's uri.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @param string $calendarData
|
||||
* @return void
|
||||
*/
|
||||
public function updateCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
public function updateCalendarObject($calendarId,$objectUri,$calendarData)
|
||||
{
|
||||
throw new \Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
/**
|
||||
* Deletes an existing calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* Deletes an existing calendar object.
|
||||
*
|
||||
* @param string $calendarId
|
||||
* @param string $objectUri
|
||||
* @return void
|
||||
*/
|
||||
public function deleteCalendarObject($calendarId,$objectUri)
|
||||
public function deleteCalendarObject($calendarId,$objectUri)
|
||||
{
|
||||
throw new Sabre\DAV\Exception('Not Implemented');
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user