Viewing file: xmlparser.inc.php (5.61 KB) -rwxrwxrwx Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
class XMLParser
{
public function LoadActivities($file)
{
$xmlActivities = simplexml_load_file($file);
$hours = array();
$days = array();
$rooms = array();
foreach ($xmlActivities->Activity as $activityElement)
{
$id = intval($activityElement->Id);
$hour = strval($activityElement->Hour);
$day = strval($activityElement->Day);
$room = strval($activityElement->Room);
array_push($hours, $hour);
array_push($days, $day);
array_push($rooms, $room);
}
$hours = array_unique($hours);
$days = array_unique($days);
$rooms = array_unique($rooms);
sort($rooms);
sort($days);
sort($hours);
foreach ($days as $day)
Schedule::AddDay($day);
foreach ($rooms as $day)
Schedule::AddRoom($day);
foreach ($hours as $day)
Schedule::AddHour($day);
}
public function LoadSubgroups($file)
{
$xml = simplexml_load_file($file);
$hours = array();
$days = array();
$rooms = array();
foreach ($xml->Subgroup as $element)
{
$subgroup_name = $element->attributes()['name'];
foreach ($element->Day as $day)
{
$day_name = $day->attributes()['name'];
foreach ($day->Hour as $hour)
{
$hour_name = $hour->attributes()['name'];
$subject_name = $hour->Subject->attributes()['name'];
$room_name = $hour->Room->attributes()['name'];
$activity_name = $hour->Activity_Tag->attributes()['name'];
foreach($hour->Teacher as $t) {
$teacher_name = $t->attributes()['name'];
if (!empty($teacher_name) && !empty($subject_name) && !empty($room_name))
Database::AddActivity($subgroup_name, $day_name, $hour_name, $room_name, $teacher_name, $subject_name, $activity_name);
}
}
}
echo "+ ";
/*$id = intval($activityElement->Id);
$hour = strval($activityElement->Hour);
$day = strval($activityElement->Day);
$room = strval($activityElement->Room);
array_push($hours, $hour);
array_push($days, $day);
array_push($rooms, $room);*/
}
/*$hours = array_unique($hours);
$days = array_unique($days);
$rooms = array_unique($rooms);
sort($rooms);
sort($days);
sort($hours);
foreach ($days as $day)
Schedule::AddDay($day);
foreach ($rooms as $day)
Schedule::AddRoom($day);
foreach ($hours as $day)
Schedule::AddHour($day);*/
}
public function LoadSubgroupsFromTeachers($file)
{
$xml = simplexml_load_file($file);
$hours = array();
$days = array();
$rooms = array();
foreach ($xml->Teacher as $element)
{
$teacher_name = $element->attributes()['name'];
foreach ($element->Day as $day)
{
$day_name = $day->attributes()['name'];
foreach ($day->Hour as $hour)
{
$hour_name = $hour->attributes()['name'];
$subject_name = $hour->Subject->attributes()['name'];
$room_name = $hour->Room->attributes()['name'];
$activity_name = $hour->Activity_Tag->attributes()['name'];
foreach($hour->Students as $t) {
$group_name = $t->attributes()['name'];
if (strpos($group_name, '[') !== false) {
if (!empty($teacher_name) && !empty($subject_name) && !empty($room_name))
Database::AddActivity($group_name, $day_name, $hour_name, $room_name, $teacher_name, $subject_name, $activity_name);
} else
{
$count = Schedule::GetSubgroupsCount($group_name);
if (!empty($teacher_name) && !empty($subject_name) && !empty($room_name))
Database::AddActivity($group_name."[1]", $day_name, $hour_name, $room_name, $teacher_name, $subject_name, $activity_name);
if ($count == 2 && !empty($teacher_name) && !empty($subject_name) && !empty($room_name))
Database::AddActivity($group_name."[2]", $day_name, $hour_name, $room_name, $teacher_name, $subject_name, $activity_name);
}
}
}
}
echo "+ ";
/*$id = intval($activityElement->Id);
$hour = strval($activityElement->Hour);
$day = strval($activityElement->Day);
$room = strval($activityElement->Room);
array_push($hours, $hour);
array_push($days, $day);
array_push($rooms, $room);*/
}
/*$hours = array_unique($hours);
$days = array_unique($days);
$rooms = array_unique($rooms);
sort($rooms);
sort($days);
sort($hours);
foreach ($days as $day)
Schedule::AddDay($day);
foreach ($rooms as $day)
Schedule::AddRoom($day);
foreach ($hours as $day)
Schedule::AddHour($day);*/
}
}
?>
|