From acc1ad538e54a112ddc7d8f45e57df5c029a109c Mon Sep 17 00:00:00 2001 From: xamgore <xamgore@ya.ru> Date: Mon, 9 Mar 2015 20:46:27 +0300 Subject: [PATCH] Unified Model_Semesters class added --- .../classes/Controller/Student/Index.php | 2 +- .../classes/Controller/Teacher/Discipline.php | 2 +- .../classes/Controller/Teacher/Index.php | 2 +- .../application/classes/DataArr/Semesters.php | 5 ++- .../classes/Model/DataArr/Semesters.php | 5 ++- .../application/classes/Model/Semesters.php | 35 +++++++++++++++++++ 6 files changed, 46 insertions(+), 5 deletions(-) create mode 100644 ~dev_rating/application/classes/Model/Semesters.php diff --git a/~dev_rating/application/classes/Controller/Student/Index.php b/~dev_rating/application/classes/Controller/Student/Index.php index c2f407cff..6d773f669 100644 --- a/~dev_rating/application/classes/Controller/Student/Index.php +++ b/~dev_rating/application/classes/Controller/Student/Index.php @@ -33,7 +33,7 @@ class Controller_Student_Index extends Controller_UserEnvi { $twig->disciplines = $disciplinesHandled; $twig->User = $this->UserInfo; $twig->Semester = $this->SemesterInfo; - $twig->SemesterList = DataArray::factory('Semesters')->getList(); + $twig->SemesterList = Model_Semesters::factory()->getList(); $this->response->body($twig); } diff --git a/~dev_rating/application/classes/Controller/Teacher/Discipline.php b/~dev_rating/application/classes/Controller/Teacher/Discipline.php index 25f0c9f26..0d6b4bd6a 100644 --- a/~dev_rating/application/classes/Controller/Teacher/Discipline.php +++ b/~dev_rating/application/classes/Controller/Teacher/Discipline.php @@ -219,7 +219,7 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { $subject['IsBonus'] = $info['IsBonus']; $subject['SemesterID'] = $info['SemesterID']; - $semester = DataArray::factory('Semesters')->bySemester($subject['SemesterID'])->asArray(); + $semester = Model_Semesters::factory()->bySemester($subject['SemesterID'])->asArray(); $subject['SemesterNum'] = $semester['SemesterNum'] == 1 ? 'Осенний' : 'Весенний'; $subject['SemesterYear'] = $semester['SemesterYear']; diff --git a/~dev_rating/application/classes/Controller/Teacher/Index.php b/~dev_rating/application/classes/Controller/Teacher/Index.php index 188a6dbf8..3e021eef4 100644 --- a/~dev_rating/application/classes/Controller/Teacher/Index.php +++ b/~dev_rating/application/classes/Controller/Teacher/Index.php @@ -41,7 +41,7 @@ class Controller_Teacher_Index extends Controller_UserEnvi { $disciplinesHandled[$i]['Disciplines'][$j]['Groups'] = implode(', ', $groupsInDiscipline); } //!for_each $twig->Subjects = $disciplinesHandled; - $twig->SemesterList = DataArray::factory('Semesters')->getList(); + $twig->SemesterList = Model_Semesters::factory()->getList(); $twig->Semester = $this->SemesterInfo; $twig->User = $this->UserInfo; $this->response->body($twig); diff --git a/~dev_rating/application/classes/DataArr/Semesters.php b/~dev_rating/application/classes/DataArr/Semesters.php index 80a8f7491..b3cc5c64d 100644 --- a/~dev_rating/application/classes/DataArr/Semesters.php +++ b/~dev_rating/application/classes/DataArr/Semesters.php @@ -1,5 +1,6 @@ <?php +/** @deprecated use Model_Semesters instead. */ class DataArr_Semesters { protected $model; @@ -7,11 +8,13 @@ class DataArr_Semesters { $this->model = new Model_DataArr_Semesters; } + /** @deprecated */ public function bySemester($SemesterID){ $departaments = $this->model->getSemesterInfo($SemesterID); - return new DataArray_Result($departamentsHandled); + return new DataArray_Result($departaments); } + /** @deprecated */ public function getList() { $semesters = $this->model->getSemesters(); diff --git a/~dev_rating/application/classes/Model/DataArr/Semesters.php b/~dev_rating/application/classes/Model/DataArr/Semesters.php index eb23ad305..cf8f4b38f 100644 --- a/~dev_rating/application/classes/Model/DataArr/Semesters.php +++ b/~dev_rating/application/classes/Model/DataArr/Semesters.php @@ -1,13 +1,16 @@ <?php defined('SYSPATH') or die('No direct script access.'); - + +/** @deprecated use Model_Semesters instead. */ class Model_DataArr_Semesters extends Model { + /** @deprecated */ public function getSemesterInfo($id) { $sql = "CALL `GetSemesterInfo`('$id'); "; return DB::query(Database::SELECT, $sql)->execute()->offsetGet(0); } + /** @deprecated */ public function getSemesters() { $sql = "CALL `GetSemesters`()"; diff --git a/~dev_rating/application/classes/Model/Semesters.php b/~dev_rating/application/classes/Model/Semesters.php new file mode 100644 index 000000000..4c00e6c6f --- /dev/null +++ b/~dev_rating/application/classes/Model/Semesters.php @@ -0,0 +1,35 @@ +<?php defined('SYSPATH') or die('No direct script access.'); + +class Model_Semesters extends Model +{ + public static function factory() { + return new self(); + } + + public function getSemesterInfo($id) { + $sql = "CALL `GetSemesterInfo`('$id'); "; + return DB::query(Database::SELECT, $sql)->execute()->offsetGet(0); + } + + public function getSemesters() { + $sql = "CALL `GetSemesters`()"; + return DB::query(Database::SELECT, $sql)->execute(); + } + + public function bySemester($SemesterID) { + $departaments = $this->getSemesterInfo($SemesterID); + return new DataArray_Result($departaments); + } + + public function getList() { + $semesters = $this->getSemesters(); + $semestersHandled = array(); + $i = 0; + foreach ($semesters as $value) { + $semestersHandled[$i] = $value; + $semestersHandled[$i]['Num'] = $value['Num'] == 1 ? 'Осенний' : 'Весенний'; + $i++; + } + return $semestersHandled; + } +} \ No newline at end of file -- GitLab