diff --git a/~dev_rating/application/classes/Controller/Handler/XMLCreator.php b/~dev_rating/application/classes/Controller/Handler/XMLCreator.php index 215d8b76032fb906b2c845677a4d8c43d8051c98..007483e816a5326b3dd150803d674d4163fa5f7e 100644 --- a/~dev_rating/application/classes/Controller/Handler/XMLCreator.php +++ b/~dev_rating/application/classes/Controller/Handler/XMLCreator.php @@ -4,8 +4,7 @@ class Controller_Handler_XMLCreator extends Controller_Handler { // Таблица баллов (СЃРѕ страницы оценивания) [dev version] public function action_GenerateXMLFile() { - - $disciplineID = $this->post['disciplineID']; + $disciplineID = $this->post['disciplineID']; $groupID = $this->post['studyGroupID']; // make form from template @@ -25,107 +24,104 @@ class Controller_Handler_XMLCreator extends Controller_Handler $rates = Model_Rating::getRatesForStudentsGroupByStage($disciplineID, $groupID, $stage); $examHold = 1; - // if ($type === 'exam') - // $examHold = $this->checkExamIsHold($rates); - - $filename = $type."_".$grade."_".$group; - - $fp = fopen ("test.xml", "w+"); - $degree = $info['Degree']; - - if ($degree=="bachelor") - $degree="Бакалавр"; - else if ($degree=="master") - $degree="Магистр"; - else - $degree="Специалист"; - - if ($type=="exam") - $type="Ркзамен"; - else if ($type=="credit") - $type="Зачет"; - else - $type="Дифференцированный зачет"; - - $gradeNum = $info['GradeNum']; - fputs($fp,"<?xml version='1.0' encoding='UTF-8'?>\n"); - fputs($fp,"<document\n>"); - fputs($fp,"<header\n>"); - $semester = $info['SemesterNum']; - fputs($fp,"<semester>\n".$semester."</semester>\n"); - fputs($fp,"<faculty>\n".$faculty."</faculty>\n"); - fputs($fp,"<grade>\n".$gradeNum."</grade>\n"); - fputs($fp,"<degree>\n".$degree."</degree>\n"); - fputs($fp,"<spec>\n".$info['SpecName']." ".$info['SpecCode']."</spec>\n"); - fputs($fp,"<group>\n".$group."</group>\n"); - fputs($fp,"<subjName>\n".$subjName."</subjName>\n"); - - fputs($fp,"<examtype>\n".$type."</examtype>\n"); - - $countteachers = Model_Teachers::getNamesForDiscipline($info['DisciplineID'],true,true); - $teachers = Model_Teachers::ofDiscipline($info['DisciplineID']); - - - - $teachersStr = ''; - fputs($fp,"<teachers>\n"); - if (count($countteachers)>1){ - foreach ($teachers as $row) { - fputs($fp,"<teacher>\n"); - fputs($fp,"<lastName>\n".$row['LastName']."</lastName>\n"); - fputs($fp,"<firstName>\n".$row['FirstName']."</firstName>\n"); - fputs($fp,"<secondName>\n".$row['SecondName']."</secondName>\n"); - fputs($fp,"</teacher>\n"); - } - /*for($i=0;$i<count($teachers);++$i) - { - fputs($fp,$teachers[$i].' '); - }*/ + // if ($type === 'exam') + // $examHold = $this->checkExamIsHold($rates); + + $filename = $type . "_" . $grade . "_" . $group; + + $fp = fopen("test.xml", "w+"); + $degree = $info['Degree']; + + if ($degree == "bachelor") + $degree = "Бакалавр"; + else if ($degree == "master") + $degree = "Магистр"; + else + $degree = "Специалист"; + + if ($type == "exam") + $type = "Ркзамен"; + else if ($type == "credit") + $type = "Зачет"; + else + $type = "Дифференцированный зачет"; + + $gradeNum = $info['GradeNum']; + fputs($fp, "<?xml version='1.0' encoding='UTF-8'?>\n"); + fputs($fp, "<document\n>"); + fputs($fp, "<header\n>"); + $semester = $info['SemesterNum']; + fputs($fp, "<semester>\n" . $semester . "</semester>\n"); + fputs($fp, "<faculty>\n" . $faculty . "</faculty>\n"); + fputs($fp, "<grade>\n" . $gradeNum . "</grade>\n"); + fputs($fp, "<degree>\n" . $degree . "</degree>\n"); + fputs($fp, "<spec>\n" . $info['SpecName'] . " " . $info['SpecCode'] . "</spec>\n"); + fputs($fp, "<group>\n" . $group . "</group>\n"); + fputs($fp, "<subjName>\n" . $subjName . "</subjName>\n"); + + fputs($fp, "<examtype>\n" . $type . "</examtype>\n"); + + $countteachers = Model_Teachers::getNamesForDiscipline($info['DisciplineID'], true, true); + $teachers = Model_Teachers::ofDiscipline($info['DisciplineID']); + + + $teachersStr = ''; + fputs($fp, "<teachers>\n"); + if (count($countteachers) > 1) { + foreach ($teachers as $row) { + fputs($fp, "<teacher>\n"); + fputs($fp, "<lastName>\n" . $row['LastName'] . "</lastName>\n"); + fputs($fp, "<firstName>\n" . $row['FirstName'] . "</firstName>\n"); + fputs($fp, "<secondName>\n" . $row['SecondName'] . "</secondName>\n"); + fputs($fp, "</teacher>\n"); } - else + /*for($i=0;$i<count($teachers);++$i) { - fputs($fp,"<teacher>\n"); - fputs($fp,"<lastName>\n".$info['LastName']."</lastName>\n"); - fputs($fp,"<firstName>\n".$info['FirstName']."</firstName>\n"); - fputs($fp,"<secondName>\n".$info['SecondName']."</secondName>\n"); - fputs($fp,"</teacher>\n"); - } - - fputs($fp,"</teachers>\n"); - fputs($fp,"</header\n>"); - - - fputs($fp,"<rates\n>"); - foreach($rates as $studentRates) { - fputs($fp,"<student\n>"); - $lastName = $studentRates['LastName']; - $firstName = $studentRates['FirstName']; - $secondName = $studentRates['SecondName']; - $fullName = $lastName." ".$firstName." ".$secondName; - fputs($fp,"<lastName>\n".$lastName."</lastName>\n"); - fputs($fp,"<firstName>\n".$firstName."</firstName>\n"); - fputs($fp,"<secondName>\n".$secondName."</secondName>\n"); - $ratesSet['semester'] = (int)$studentRates['regular']; - $ratesSet['bonus'] = (int)$studentRates['bonus']; - $ratesSet['extra'] = (int)$studentRates['extra']; - $ratesSet['exam'] = (int)$studentRates['exam']; - - $totalRate = $ratesSet['bonus'] + $ratesSet['exam']+$ratesSet['semester'] + $ratesSet['extra']; - - fputs($fp,"<totalRate>\n".$totalRate."</totalRate>\n"); - //fputs($fp,"<semesterRate>\n".$ratesSet['semester']."</semesterRate>\n"); - // fputs($fp,"<bonusRate>\n".$ratesSet['bonus']."</bonusRate>\n"); - fputs($fp,"</student\n>"); - } - fputs($fp,"</rates\n>"); - fputs($fp,"</document\n>"); + fputs($fp,$teachers[$i].' '); + }*/ + } else { + fputs($fp, "<teacher>\n"); + fputs($fp, "<lastName>\n" . $info['LastName'] . "</lastName>\n"); + fputs($fp, "<firstName>\n" . $info['FirstName'] . "</firstName>\n"); + fputs($fp, "<secondName>\n" . $info['SecondName'] . "</secondName>\n"); + fputs($fp, "</teacher>\n"); + } + + fputs($fp, "</teachers>\n"); + fputs($fp, "</header\n>"); + + + fputs($fp, "<rates\n>"); + foreach ($rates as $studentRates) { + fputs($fp, "<student\n>"); + $lastName = $studentRates['LastName']; + $firstName = $studentRates['FirstName']; + $secondName = $studentRates['SecondName']; + $fullName = $lastName . " " . $firstName . " " . $secondName; + fputs($fp, "<lastName>\n" . $lastName . "</lastName>\n"); + fputs($fp, "<firstName>\n" . $firstName . "</firstName>\n"); + fputs($fp, "<secondName>\n" . $secondName . "</secondName>\n"); + $ratesSet['semester'] = (int) $studentRates['regular']; + $ratesSet['bonus'] = (int) $studentRates['bonus']; + $ratesSet['extra'] = (int) $studentRates['extra']; + $ratesSet['exam'] = (int) $studentRates['exam']; + + $totalRate = $ratesSet['bonus'] + $ratesSet['exam'] + $ratesSet['semester'] + $ratesSet['extra']; + + fputs($fp, "<totalRate>\n" . $totalRate . "</totalRate>\n"); + //fputs($fp,"<semesterRate>\n".$ratesSet['semester']."</semesterRate>\n"); + // fputs($fp,"<bonusRate>\n".$ratesSet['bonus']."</bonusRate>\n"); + fputs($fp, "</student\n>"); + } + fputs($fp, "</rates\n>"); + fputs($fp, "</document\n>"); fclose($fp); $options = [ 'mime_type' => File::mime_by_ext('xml'), - 'delete'=>true + 'delete' => true ]; //$filename=self::encodestring($filename); - $this->response->send_file('test.xml', $filename.'.xml', $options); - } + $this->response->send_file('test.xml', $filename . '.xml', $options); + } } \ No newline at end of file