From 3d5539b79f49dc8bb9f82d18a0c63882850f0803 Mon Sep 17 00:00:00 2001 From: xamgore <xamgore@ya.ru> Date: Mon, 9 Mar 2015 21:08:36 +0300 Subject: [PATCH] Unified Model_Grades class added --- .../classes/Controller/Admin/Accounts.php | 2 +- .../classes/Controller/Admin/Students.php | 4 +- .../classes/Controller/DeanOffice/Index.php | 2 +- .../classes/Controller/Teacher/Discipline.php | 6 +-- .../application/classes/DataArr/Grades.php | 9 ++-- .../classes/Model/DataArr/Grades.php | 4 +- .../application/classes/Model/Grades.php | 50 +++++++++++++++++++ 7 files changed, 66 insertions(+), 11 deletions(-) create mode 100644 ~dev_rating/application/classes/Model/Grades.php diff --git a/~dev_rating/application/classes/Controller/Admin/Accounts.php b/~dev_rating/application/classes/Controller/Admin/Accounts.php index 32df9d24b..c3db29418 100644 --- a/~dev_rating/application/classes/Controller/Admin/Accounts.php +++ b/~dev_rating/application/classes/Controller/Admin/Accounts.php @@ -23,7 +23,7 @@ class Controller_Admin_Accounts extends Controller_UserEnvi { public function getGrades() { - $grades = DataArray::factory('Grades')->common()->asArray(); + $grades = Model_Grades::factory()->common()->asArray(); $gradesHandled = array(); $i = $j = 0; $degree = 'null'; $degrees = array('bachelor' => 'Бакалавр', 'specialist' => 'Специалист', 'master' => 'Магистр'); foreach($grades as $row) diff --git a/~dev_rating/application/classes/Controller/Admin/Students.php b/~dev_rating/application/classes/Controller/Admin/Students.php index cc19ec957..86f80187c 100644 --- a/~dev_rating/application/classes/Controller/Admin/Students.php +++ b/~dev_rating/application/classes/Controller/Admin/Students.php @@ -7,7 +7,7 @@ class Controller_Admin_Students extends Controller_UserEnvi { // VIEW $twig = Twig::factory('admin/students/index'); $twig->Faculties = DataArray::factory('Faculties')->common()->asArray(); - $twig->Grades = DataArray::factory('Grades')->structured()->asArray(); + $twig->Grades = Model_Grades::factory()->structured()->asArray(); $twig->User = $this->UserInfo; $this->response->body($twig); } @@ -16,7 +16,7 @@ class Controller_Admin_Students extends Controller_UserEnvi { { $twig = Twig::factory('admin/students/add'); $twig->Faculties = DataArray::factory('Faculties')->common()->asArray(); - $twig->Grades = DataArray::factory('Grades')->structured()->asArray(); + $twig->Grades = Model_Grades::factory()->structured()->asArray(); $twig->User = $this->UserInfo; $this->response->body($twig); } diff --git a/~dev_rating/application/classes/Controller/DeanOffice/Index.php b/~dev_rating/application/classes/Controller/DeanOffice/Index.php index 10cece405..e2a23d156 100644 --- a/~dev_rating/application/classes/Controller/DeanOffice/Index.php +++ b/~dev_rating/application/classes/Controller/DeanOffice/Index.php @@ -13,7 +13,7 @@ class Controller_DeanOffice_Index extends Controller_UserEnvi { $twig = Twig::factory('dean_office/index'); $model = new Model_Teacher_Map; - $twig->GradesList = DataArray::factory('Grades')->common()->asArray(); + $twig->GradesList = Model_Grades::factory()->common()->asArray(); $twig->User = $this->UserInfo; $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 8d825de98..c38d3394e 100644 --- a/~dev_rating/application/classes/Controller/Teacher/Discipline.php +++ b/~dev_rating/application/classes/Controller/Teacher/Discipline.php @@ -9,7 +9,7 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { $twig->User = $this->UserInfo; $twig->FacultiesList = DataArray::factory('Faculties')->common()->asArray(); $twig->SubjectsList = Model_Subjects::factory()->byFaculty($this->UserInfo['FacultyID'])->asArray(); - $twig->GradesList = DataArray::factory('Grades')->common()->asArray(); + $twig->GradesList = Model_Grades::factory()->common()->asArray(); $this->response->body($twig); } @@ -25,7 +25,7 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { //$twig->FacultiesList = DataArray::factory('Faculties')->common()->asArray(); $twig->Discipline = $this->GetDisciplineInfo($db, $id); $twig->SubjectsList = Model_Subjects::factory()->byFaculty($this->UserInfo['FacultyID'])->asArray(); - $twig->GradesList = DataArray::factory('Grades')->common()->asArray(); + $twig->GradesList = Model_Grades::factory()->common()->asArray(); $this->response->body($twig); } @@ -66,7 +66,7 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { $twig->User = $this->UserInfo; $twig->Discipline = $this->GetDisciplineInfo($db, $id); - $twig->GradesList = DataArray::factory('Grades')->common()->asArray(); + $twig->GradesList = Model_Grades::factory()->common()->asArray(); $twig->Groups = Model_Groups::factory()->ordByGroups($twig->Discipline['GradeID'], $twig->Discipline['FacultyID'])->asArray(); $students = $db->getStudentsForDiscipline($id); diff --git a/~dev_rating/application/classes/DataArr/Grades.php b/~dev_rating/application/classes/DataArr/Grades.php index bfbb21ec2..39ef30ace 100644 --- a/~dev_rating/application/classes/DataArr/Grades.php +++ b/~dev_rating/application/classes/DataArr/Grades.php @@ -1,5 +1,6 @@ <?php +/** @deprecated use Model_Grades instead. */ class DataArr_Grades { protected $model; @@ -7,7 +8,8 @@ class DataArr_Grades { $this->model = new Model_DataArr_Grades; } - public function common() { + /** @deprecated */ + public function common() { $GradeList = $this->model->GetGrades(); $Grade = array(); $i = 0; @@ -24,9 +26,10 @@ class DataArr_Grades { return new DataArray_Result($Grade); } - + + /** @deprecated */ public function structured() { - $grades = DataArray::factory('Grades')->common()->asArray(); + $grades = $this->common()->asArray(); $gradesHandled = array(); $i = $j = 0; $degree = 'null'; $degrees = array('bachelor' => 'Бакалавриат', 'specialist' => 'Специалитет', 'master' => 'Магистратура'); foreach($grades as $row) diff --git a/~dev_rating/application/classes/Model/DataArr/Grades.php b/~dev_rating/application/classes/Model/DataArr/Grades.php index da4531142..75090de92 100644 --- a/~dev_rating/application/classes/Model/DataArr/Grades.php +++ b/~dev_rating/application/classes/Model/DataArr/Grades.php @@ -1,7 +1,9 @@ <?php defined('SYSPATH') or die('No direct script access.'); - + +/** @deprecated use Model_Grades instead. */ class Model_DataArr_Grades extends Model { + /** @deprecated */ public function getGrades() { $sql = "CALL `GetGrades`();"; diff --git a/~dev_rating/application/classes/Model/Grades.php b/~dev_rating/application/classes/Model/Grades.php new file mode 100644 index 000000000..8b6af548b --- /dev/null +++ b/~dev_rating/application/classes/Model/Grades.php @@ -0,0 +1,50 @@ +<?php defined('SYSPATH') or die('No direct script access.'); + +class Model_Grades extends Model +{ + public static function factory() { + return new self(); + } + + public function getGrades() { + $sql = "CALL `GetGrades`();"; + return DB::query(Database::SELECT, $sql)->execute(); + } + + public function common() { + $GradeList = $this->GetGrades(); + $Grade = array(); + $i = 0; + + foreach ($GradeList as $row) { + $i++; + $Grade[$i]['ID'] = $row['ID']; + $Grade[$i]['Num'] = $row['Num']; + $Grade[$i]['Degree'] = $row['Degree']; + if ($row['Degree'] == 'bachelor' || $row['Degree'] == 'specialist') $Grade[$i]['Title'] = 'Курс ' . $row['Num']; + if ($row['Degree'] == 'master') $Grade[$i]['Title'] = 'Магистратура ' . $row['Num']; + } + + return new DataArray_Result($Grade); + } + + public function structured() { + $grades = $this->common()->asArray(); + $gradesHandled = array(); + $i = $j = 0; + $degree = 'null'; + $degrees = array('bachelor' => 'Бакалавриат', 'specialist' => 'Специалитет', 'master' => 'Магистратура'); + foreach ($grades as $row) { + if ($degree != $row['Degree']) { + $degree = $row['Degree']; + $i++; + $j = 0; + } + $j++; + $gradesHandled[$i]['Title'] = $degrees[$row['Degree']]; + $gradesHandled[$i]['Grades'][$j]['ID'] = $row['ID']; + $gradesHandled[$i]['Grades'][$j]['Num'] = $row['Num']; + } + return new DataArray_Result($gradesHandled); + } +} -- GitLab