Skip to content
Snippets Groups Projects
Rating.php 4.09 KiB
Newer Older
<?php defined('SYSPATH') or die('No direct script access.');

class Controller_Teacher_Rating extends Controller_UserEnvi {
    
    private function GetSGID($id)
    {
        # $id = disciplineID
        $SG_json = json_decode(Cookie::get('SGID', null), true);

            if (array_key_exists($id, $SG_json))
                return $SG_json[$id];
            else return 0;
    public function action_edit()
    {
        $twig = Twig::factory('teacher/rating');
        $twig->User = $this->UserInfo;
        $db = new Model_Teacher_Rating;
Антон Шалимов's avatar
Антон Шалимов committed
		
            throw HTTP_Exception::factory (404, "Для дисциплины с ID $id не создана УКД или такой дисциплины не существует!");
            if(!isset($disciplineHandled[$i]['SubmodulesCount']))
            {
                $disciplineHandled[$i]['SubmodulesCount'] = 0;
                $disciplineHandled[$i]['MaxRate'] = 0;
            }
            $j = $disciplineHandled[$i]['SubmodulesCount'] += 1;
            $disciplineHandled[$i]['MaxRate'] += (int) $row['MaxRate'];
            $disciplineHandled[$i]['ModuleTitle'] = $row['ModuleName'];
            $disciplineHandled[$i][$j]['Title'] = $row['SubModuleName'];
            $disciplineHandled[$i][$j]['Description'] = $row['SubmoduleDescription'];
            $disciplineHandled[$i][$j]['MaxRate'] = (int) $row['MaxRate'];
            $maxRate += $row['MaxRate'];
        }
        $disciplineHandled['ModulesCount'] = $i;
        $disciplineHandled['MaxRate'] = (int) $maxRate; 
Anton's avatar
Anton committed
        $students = $db->GetStudentsForRating($this->UserInfo['TeacherID'], $id);
Anton's avatar
Anton committed
        $i = 0;
		
PavelBegunkov's avatar
PavelBegunkov committed

PavelBegunkov's avatar
PavelBegunkov committed
        $curGroup = 0;
        $groups = array();

Anton's avatar
Anton committed
			$i++;
PavelBegunkov's avatar
PavelBegunkov committed
			$studentsHandled[$i]['ID'] = $row['ID'];
			$studentsHandled[$i]['Last'] = $row['Last'];
			$studentsHandled[$i]['First'] = $row['First'];
			$studentsHandled[$i]['Second'] = $row['Second'];
			$studentsHandled[$i]['GradeNum'] = $row['GradeNum'];

PavelBegunkov's avatar
PavelBegunkov committed
				$studentsHandled[$i]['GradeTitle'] = $row['GradeNum'].' курс';
PavelBegunkov's avatar
PavelBegunkov committed
				$studentsHandled[$i]['GradeTitle'] = $row['GradeNum'].' курс';
PavelBegunkov's avatar
PavelBegunkov committed
			if ($row['Degree'] == 'master')
PavelBegunkov's avatar
PavelBegunkov committed
				$studentsHandled[$i]['GradeTitle'] = 'Магистратура, '.$row['GradeNum'].' год';
PavelBegunkov's avatar
PavelBegunkov committed

Anton's avatar
Anton committed
			$studentsHandled[$i]['GroupNum'] = $row['GroupNum'];
			$studentsHandled[$i]['GroupID'] = $row['GroupID'];
PavelBegunkov's avatar
PavelBegunkov committed
			if ($row['GroupID'] != $curGroup) {
				$curGroup = $row['GroupID'];
				$groups[$curGroup] = $studentsHandled[$i]['GradeTitle']." ".$row['GroupNum']." группа"; 
			}

PavelBegunkov's avatar
PavelBegunkov committed
			$rate = $db->getMapForStudent($row['ID'], $id);
Anton's avatar
Anton committed
			$j = 0;
			foreach($rate as $r) {
					$j += 1;
					$studentsHandled[$i][$j]['SubmoduleID'] = $r['SubmoduleID'];
					$studentsHandled[$i][$j]['Rate'] = $r['Rate'];
Anton's avatar
Anton committed
			$studentsHandled[$i]['RateCount'] = $j;
PavelBegunkov's avatar
PavelBegunkov committed
        $twig->groups = $groups;
        $twig->studyGroupID = $this->GetSGID($id);