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

class Controller_Student_Subject extends Controller_UserEnvi {

    public function action_show()
    {
        $twig = Twig::factory('student/subject');
        $twig->User = $this->UserInfo;
        $db = new Model_Student;
        $id = $this->request->param('id');
        $discipline = $db->getDisciplineMap($this->UserInfo['StudentID'], $id);
        if(count($discipline) == 0)
            throw HTTP_Exception::factory(404, "Предмет с ID $id не найден!");
        $disciplineHandled = array();
        $rate = 0; $maxRate = 0; $i = 0; $id = 0;
        foreach($discipline as $row)
        {
            if($row['ModuleID'] != $id)
            {
                $i++;
                $id = $row['ModuleID'];
            }
            if(!isset($disciplineHandled[$i]['SubmodulesCount']))
            {
                $disciplineHandled[$i]['SubmodulesCount'] = 0;
                $disciplineHandled[$i]['Rate'] = 0;
                $disciplineHandled[$i]['MaxRate'] = 0;
            }
            $j = $disciplineHandled[$i]['SubmodulesCount'] += 1;
            $disciplineHandled[$i]['Rate'] += (int) $row['Rate'];
            $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]['Rate'] = (int) $row['Rate'];
            $disciplineHandled[$i][$j]['Date'] = '---';
            $disciplineHandled[$i][$j]['MaxRate'] = (int) $row['MaxRate'];
            $rate += $row['Rate'];
            $maxRate += $row['MaxRate'];
        }
        $disciplineHandled['ModulesCount'] = $i;
        $disciplineHandled['Rate'] = (int) $rate;
        $disciplineHandled['MaxRate'] = (int) $maxRate;
        $twig->discipline = $disciplineHandled;
        // $twig = '<pre>'.print_r($disciplineHandled, true).'</pre>';
        $this->response->body($twig);
    }
}