diff --git a/~dev_rating/application/classes/Controller/Admin/Accounts.php b/~dev_rating/application/classes/Controller/Admin/Accounts.php index 62dee1b5202492c2da5d54c344e5dd7b0b30a370..04197f416e10aacf203341e50ff836fc5eca7046 100644 --- a/~dev_rating/application/classes/Controller/Admin/Accounts.php +++ b/~dev_rating/application/classes/Controller/Admin/Accounts.php @@ -25,7 +25,7 @@ class Controller_Admin_Accounts extends Controller_UserEnvi { public function getGrades() { $grades = Model_Grades::create()->common()->asArray(); $gradesHandled = array(); $i = $j = 0; $degree = 'null'; - $degrees = array('bachelor' => 'Бакалавр', 'specialist' => 'Специалист', 'master' => 'Магистр'); + foreach($grades as $row) { if($degree != $row['Degree']) @@ -34,11 +34,11 @@ class Controller_Admin_Accounts extends Controller_UserEnvi { $i++; $j = 0; } $j++; - $gradesHandled[$i]['Title'] = $degrees[$row['Degree']]; + $gradesHandled[$i]['Title'] = Model_Grades::getDegreeTitle($row['Degree']); $gradesHandled[$i]['Grades'][$j]['ID'] = $row['ID']; $gradesHandled[$i]['Grades'][$j]['Num'] = $row['Num']; } return $gradesHandled; - } + } # todo: duplicating code, see Model_Grades } \ No newline at end of file diff --git a/~dev_rating/application/classes/Controller/Admin/Profile.php b/~dev_rating/application/classes/Controller/Admin/Profile.php index b391b5da9feae3ca97522a7cc6a43ac8558dce65..2087ea888621b7ac073830c8210df79da16e797f 100644 --- a/~dev_rating/application/classes/Controller/Admin/Profile.php +++ b/~dev_rating/application/classes/Controller/Admin/Profile.php @@ -7,9 +7,8 @@ class Controller_Admin_Profile extends Controller_UserEnvi { $twig = Twig::factory('admin/students/profile'); $id = $this->request->param('param1'); $model = new Model_Account; - $degrees = array('bachelor' => 'Бакалавриат', 'specialist' => 'Специалитет', 'master' => 'Магистратура'); $profile = $model->getPersonalInfo($id)->offsetGet(0); - $profile['Degree'] = $degrees[$profile['Degree']]; + $profile['Degree'] = Model_Grades::getDegreeTitle($profile['Degree']); $twig->Account = $model->getAccountInfo($id)->offsetGet(0); $twig->Profile = $profile; $twig->User = $this->UserInfo; diff --git a/~dev_rating/application/classes/Controller/Teacher/Discipline.php b/~dev_rating/application/classes/Controller/Teacher/Discipline.php index b755143425b9d53ffabaf2f97f3f3ad306ee0540..dc084a72738f2f7cd0b4eeda5e32a8a9a2cb779f 100644 --- a/~dev_rating/application/classes/Controller/Teacher/Discipline.php +++ b/~dev_rating/application/classes/Controller/Teacher/Discipline.php @@ -87,7 +87,7 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { $attachStdHandled[$k]['GradeID'] = $row['GradeID']; $attachStdHandled[$k]['GradeNum'] = $row['GradeNum']; $attachStdHandled[$k]['GroupNum'] = $row['GroupNum']; - $attachStdHandled[$k]['Degree'] = Model_Students::create()->getDegreeTitle($row['Degree']); + $attachStdHandled[$k]['Degree'] = Model_Grades::getDegreeTitle($row['Degree']); } $n++; $attachStdHandled[$k]['students'][$n]['ID'] = $row['ID']; @@ -119,7 +119,7 @@ class Controller_Teacher_Discipline extends Controller_UserEnvi { $stdHandled[$i]['GradeID'] = $row['GradeID']; $stdHandled[$i]['GradeNum'] = $row['GradeNum']; $stdHandled[$i]['GroupNum'] = $row['GroupNum']; - $stdHandled[$i]['Degree'] = Model_Students::create()->getDegreeTitle($row['Degree']); + $stdHandled[$i]['Degree'] = Model_Grades::getDegreeTitle($row['Degree']); } $j++; $stdHandled[$i]['students'][$j]['ID'] = $row['ID']; diff --git a/~dev_rating/application/classes/Controller/Teacher/Index.php b/~dev_rating/application/classes/Controller/Teacher/Index.php index edd44b8d3bd212051abdc7badb7f8da07fffdb4d..e4202d427ba242d29d44124eda82e33c68864e8b 100644 --- a/~dev_rating/application/classes/Controller/Teacher/Index.php +++ b/~dev_rating/application/classes/Controller/Teacher/Index.php @@ -11,7 +11,7 @@ class Controller_Teacher_Index extends Controller_UserEnvi { $subjID = $discID = $gradeNum = $i = $j = $k = 0; // Combo!!! $disciplinesHandled = array(); $groupsInDiscipline = array(); - $degrees = array('bachelor' => 'Бакалавриат', 'specialist' => 'Специалитет', 'master' => 'Магистратура'); + foreach ($disciplines as $row) { if($subjID != $row['SubjectID'] || $gradeNum != $row['GradeID']) { @@ -20,8 +20,8 @@ class Controller_Teacher_Index extends Controller_UserEnvi { $subjID = $row['SubjectID']; $gradeNum = $row['GradeID']; $disciplinesHandled[$i]['Title'] = $row['SubjectName']; - $disciplinesHandled[$i]['GradeNum'] = $row['GradeNum']; - $disciplinesHandled[$i]['Degree'] = $degrees[$row['Degree']]; + $disciplinesHandled[$i]['GradeNum'] = $row['GradeNum']; + $disciplinesHandled[$i]['Degree'] = Model_Grades::getDegreeTitle($row['Degree']); } diff --git a/~dev_rating/application/classes/Controller/UserEnvi.php b/~dev_rating/application/classes/Controller/UserEnvi.php index 86760fdfd3db6147de4268312b5f54210b90da97..d90bfd4a0deb84a04337c947b48e793960762ef1 100644 --- a/~dev_rating/application/classes/Controller/UserEnvi.php +++ b/~dev_rating/application/classes/Controller/UserEnvi.php @@ -3,11 +3,7 @@ class Controller_UserEnvi extends Controller { protected $UserInfo; protected $SemesterInfo; - protected static $degrees = array( 'bachelor' => 'Бакалавриат', - 'specialist' => 'Специалитет', - 'master' => 'Магистратура'); - - + public function before() { $user = User::instance(); @@ -33,8 +29,8 @@ class Controller_UserEnvi extends Controller { if($this->UserInfo['Type'] == 'student') { //unified degree from db - $uniDegree = $this->UserInfo['Degree']; - $this->UserInfo['Degree'] = self::$degrees[$uniDegree]; + $uniDegree = $this->UserInfo['Degree']; + $this->UserInfo['Degree'] = Model_Grades::getDegreeTitle($uniDegree); } // Проверка на доступ к странице $route = Route::name($this->request->route()); diff --git a/~dev_rating/application/classes/DataArr/Grades.php b/~dev_rating/application/classes/DataArr/Grades.php index 39ef30ace4202c008cfd37aa5ffa9073dfcec3f1..37b7726f74c9577b41ce08cd50f1674e4e1c87b9 100644 --- a/~dev_rating/application/classes/DataArr/Grades.php +++ b/~dev_rating/application/classes/DataArr/Grades.php @@ -31,7 +31,7 @@ class DataArr_Grades { 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']) @@ -40,7 +40,7 @@ class DataArr_Grades { $i++; $j = 0; } $j++; - $gradesHandled[$i]['Title'] = $degrees[$row['Degree']]; + $gradesHandled[$i]['Title'] = Model_Grades::getDegreeTitle($row['Degree']); $gradesHandled[$i]['Grades'][$j]['ID'] = $row['ID']; $gradesHandled[$i]['Grades'][$j]['Num'] = $row['Num']; } diff --git a/~dev_rating/application/classes/DataArr/Students.php b/~dev_rating/application/classes/DataArr/Students.php index fb6ebfb0d2017c552eec4db4a56cd1fccc868e89..69f904e077733d4f2e546c85db27bdcf2c839a9b 100644 --- a/~dev_rating/application/classes/DataArr/Students.php +++ b/~dev_rating/application/classes/DataArr/Students.php @@ -38,22 +38,7 @@ class DataArr_Students { /** @deprecated */ public function getDegreeTitle($degree) { - switch($degree) - { - case 'bachelor': - { - return 'Бакалавриат'; - } - case 'specialist': - { - return 'Специалитет'; - } - case 'master': - { - return 'Магистратура'; - } - - } + return Model_Grades::getDegreeTitle($degree); } /** @deprecated */ diff --git a/~dev_rating/application/classes/DataHelper.php b/~dev_rating/application/classes/DataHelper.php index 8f4f83ea43c9e33f33e77ea2e244d97cf345a4ea..2c78c1c5ffecba96143683159f7687587f3a5ea1 100644 --- a/~dev_rating/application/classes/DataHelper.php +++ b/~dev_rating/application/classes/DataHelper.php @@ -2,10 +2,6 @@ class DataHelper { - protected static $dgr_lookup = array( 'bachelor' => 'Бакалавриат', - 'specialist' => 'Специалитет', - 'master' => 'Магистратура'); - // take array with (at least) LastName & FirstName keys static public function AbbreviateName(&$personInfo) { $fullName = $personInfo['LastName'].' '.UTF8::substr($personInfo['FirstName'], 0, 1).'. '; @@ -31,7 +27,7 @@ class DataHelper } static public function LocalizeDegree($degree) { - return self::$dgr_lookup[$degree]; + return Model_Grades::getDegreeTitle($degree); } static public function DeserializeDisciplines($rawDiscs) diff --git a/~dev_rating/application/classes/FileParser.php b/~dev_rating/application/classes/FileParser.php index b5a892ac64080052f3b641fd351899306e6f7b35..7a80458c8e23a6af4ca58eb01f6a8e773abc5ff9 100644 --- a/~dev_rating/application/classes/FileParser.php +++ b/~dev_rating/application/classes/FileParser.php @@ -16,18 +16,7 @@ class FileParser // Курс, степень подготовки $studentGradeNum = $line[1]; $studentGroupNum = $line[2]; - switch($line[3]) - { - case 'Бакалавр': - $studentDegree = 'bachelor'; - break; - case 'Специалист': - $studentDegree = 'specialist'; - break; - case 'Магистр': - $studentDegree = 'master'; - break; - } + $studentDegree = Model_Grades::getDegreeTitle($line[3]); $studentSpec = $line[4]; $attempt = Account::instance()->createStudentEx($lastName, $firstName, $secondName, $studentGradeNum, $studentGroupNum, $studentDegree, $studentSpec, $facultyID); diff --git a/~dev_rating/application/classes/Model/Grades.php b/~dev_rating/application/classes/Model/Grades.php index 1d330f37fd9a6e2e5350fb1e6d823ae4d1833a95..ba0f1adccb8f7ff87efb3298979d0149479cc96f 100644 --- a/~dev_rating/application/classes/Model/Grades.php +++ b/~dev_rating/application/classes/Model/Grades.php @@ -26,23 +26,35 @@ class Model_Grades extends Model return new DataArray_Result($list); } + public static function getDegreeTitle($degree) { + switch ($degree) { + case 'bachelor': + return 'Бакалавриат'; + case 'specialist': + return 'Специалитет'; + case 'master': + return 'Магистратура'; + default: + return $degree; + } + } + public function structured() { $grades = $this->common()->asArray(); - $gradesHandled = array(); - $i = $j = 0; + $list = array(); $degree = 'null'; - $degrees = array('bachelor' => 'Бакалавриат', 'specialist' => 'Специалитет', 'master' => 'Магистратура'); + $i = 0; + 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']; // #KISS! + + $list[$i]['Title'] = self::getDegreeTitle($row['Degree']); + $list[$i]['Grades'][] = $row; } - return new DataArray_Result($gradesHandled); + + return new DataArray_Result($list); } } diff --git a/~dev_rating/application/classes/Model/Students.php b/~dev_rating/application/classes/Model/Students.php index 8e131ffa28c8ad480852da59b5bf9ca52ddd14b6..dc7382068161d372186240498afcdbf337b20b79 100644 --- a/~dev_rating/application/classes/Model/Students.php +++ b/~dev_rating/application/classes/Model/Students.php @@ -17,23 +17,6 @@ class Model_Students extends Model return DB::query(Database::SELECT, $sql)->execute()->get('ID'); } - /** - * @deprecated - * todo: move to model_grades - */ - public function getDegreeTitle($degree) { - switch ($degree) { - case 'bachelor': - return 'Бакалавриат'; - case 'specialist': - return 'Специалитет'; - case 'master': - return 'Магистратура'; - default: - return $degree; - } - } - public function byStudyGroup($groupID) { $sql = "CALL `GetStudents`('$groupID'); "; $students = DB::query(Database::SELECT, $sql)->execute(); @@ -60,7 +43,7 @@ class Model_Students extends Model protected function collect($students) { $studentsHandled = array(); foreach($students as $row) { - $row['Degree'] = $this->getDegreeTitle($row['Degree']); + $row['Degree'] = Model_Grades::getDegreeTitle($row['Degree']); $studentsHandled[] = $row; } return $studentsHandled;