From d77a14f8c15f4efa0294be7c00f9a637f3d50777 Mon Sep 17 00:00:00 2001 From: PavelBegunkov <asml.Silence@gmail.com> Date: Tue, 9 Jun 2015 09:31:57 +0300 Subject: [PATCH] php session semesterID refactoring --- db/StoredFunctions.sql | 40 +++++-------------- db/StoredProcedures.sql | 3 +- .../modules/account/classes/Kohana/User.php | 18 ++------- 3 files changed, 16 insertions(+), 45 deletions(-) diff --git a/db/StoredFunctions.sql b/db/StoredFunctions.sql index 4cb4778b2..7022f4512 100644 --- a/db/StoredFunctions.sql +++ b/db/StoredFunctions.sql @@ -28,7 +28,12 @@ DROP FUNCTION IF EXISTS ChangeMail// DROP FUNCTION IF EXISTS GetRateForDisc// -drop function if exists InternalIsTeacherBound// +drop function if exists InternalIsTeacherBounded// +DROP FUNCTION IF EXISTS SetSemesterID// +DROP FUNCTION IF EXISTS AddDiscipline// + +DROP FUNCTION IF EXISTS GetMaxRateForDisc// + # ------------------------------------------------------------------------------------------- @@ -262,7 +267,7 @@ BEGIN INSERT INTO faculties (Name, Abbr) VALUES(pFacultyName, pFacultyAbbr); RETURN 0; -END // +END// # ------------------------------------------------------------------------------------------- # Label: departments @@ -284,7 +289,6 @@ BEGIN departments.ID = LAST_INSERT_ID(departments.ID); RETURN LAST_INSERT_ID(); - END // # ------------------------------------------------------------------------------------------- @@ -308,9 +312,9 @@ BEGIN DECLARE EXIT HANDLER FOR SQLEXCEPTION RETURN -1; INSERT INTO `grades` - (Num, Degree) VALUES (pGradeNum, pDegree) - ON DUPLICATE KEY UPDATE - grades.ID = LAST_INSERT_ID(grades.ID); + (Num, Degree) VALUES (pGradeNum, pDegree) + ON DUPLICATE KEY UPDATE + grades.ID = LAST_INSERT_ID(grades.ID); RETURN LAST_INSERT_ID(); END // @@ -343,8 +347,6 @@ BEGIN END // - - DROP FUNCTION IF EXISTS GetGroup// CREATE FUNCTION `GetGroup` ( `pGradeID` INT, @@ -811,7 +813,7 @@ BEGIN RETURN vSemesterID; END // -DROP FUNCTION IF EXISTS AddDiscipline// + DROP FUNCTION IF EXISTS Discipline_Create// CREATE FUNCTION `Discipline_Create` ( `pTeacherID` INT, @@ -2039,26 +2041,6 @@ END // # Label: rating # ------------------------------------------------------------------------------------------- -# TODO: kill -DROP FUNCTION IF EXISTS GetMaxRateForDisc// -CREATE FUNCTION `GetMaxRateForDisc` ( - `pDisciplineID` INT - ) RETURNS int(11) - NO SQL -BEGIN - DECLARE vResult INT DEFAULT 0; - - SELECT SUM(submodules.MaxRate) - INTO vResult - FROM `modules` - LEFT JOIN `submodules` ON submodules.ModuleID = modules.ID - WHERE modules.DisciplineID = pDisciplineID AND - submodules.IsUsed != 0 AND - (modules.Type = 1 OR ( modules.Type = 2 AND submodules.OrderNum = 1)) - LIMIT 1; - RETURN (vResult); -END // - # Вычисление максимального балла для submodule DROP FUNCTION IF EXISTS CalculateMaxRateForExtra// diff --git a/db/StoredProcedures.sql b/db/StoredProcedures.sql index 9f60484e0..53f5cfa7a 100644 --- a/db/StoredProcedures.sql +++ b/db/StoredProcedures.sql @@ -732,8 +732,7 @@ END // DROP PROCEDURE IF EXISTS GetRatesForGroup// CREATE PROCEDURE `GetRatesForGroup` ( IN `pDisciplineID` INT, - IN `pGroupID` INT -) + IN `pGroupID` INT) NO SQL BEGIN DECLARE vChecker BOOLEAN DEFAULT FALSE; diff --git a/~dev_rating/modules/account/classes/Kohana/User.php b/~dev_rating/modules/account/classes/Kohana/User.php index 216a76af7..ae116ee91 100644 --- a/~dev_rating/modules/account/classes/Kohana/User.php +++ b/~dev_rating/modules/account/classes/Kohana/User.php @@ -59,7 +59,6 @@ class Kohana_User implements ArrayAccess $this->_config['hash_key'] = $this->_model->getHashKey(); $this->_config['hash_method'] = 'sha256'; $isSignedIn = $this->isSignedIn(); - $this->_PrepareSemester(); if ($isSignedIn) { $id = $this->_session->get('ID'); @@ -73,19 +72,6 @@ class Kohana_User implements ArrayAccess } - protected function _PrepareSemester() { - $semesterID = $this->_session->get("SemesterID"); - if (!$semesterID) { - $semesterID = $this->_model->GetCurSemesterID(); - } - $this->SetSemester($semesterID); - } - - public function SetSemester($semesterID) { - $this->_session->set("SemesterID", "$semesterID"); - } - - /** * Регистрирует нового пользователя и осуществляет вход. * Проверяет корректность кода активации и существование @@ -151,6 +137,10 @@ class Kohana_User implements ArrayAccess $this->_session->set('UserHash', $this->hash($userHash)); $this->_session->set('PasswordHash', $passwordHash); $this->_session->set('start_time', time()); + + $semesterID = $this->_model->GetCurSemesterID(); + $this->_session->set("SemesterID", "$semesterID"); + return true; } -- GitLab