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:
@@ -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");
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -26,6 +26,8 @@ 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.');
|
||||
@@ -82,6 +84,39 @@ if(isset($_GET['action']) && $_GET['action']=='save')
|
||||
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();
|
||||
@@ -143,8 +178,40 @@ foreach($orgform->result as $row)
|
||||
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>
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
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
|
||||
*/
|
||||
@@ -135,6 +136,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
|
||||
public function getCalendarData($user, $objectUri=null)
|
||||
{
|
||||
$datum_obj = new datum();
|
||||
$starttime = microtime(true);
|
||||
$bn = new benutzer();
|
||||
if(!$bn->load($user))
|
||||
@@ -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,7 +172,7 @@ 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
|
||||
@@ -198,7 +200,7 @@ class MySabre_CalDAV_Backend extends \Sabre\CalDAV\Backend\AbstractBackend
|
||||
|
||||
$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))
|
||||
@@ -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);
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user