Skip to content
Snippets Groups Projects
Map.php 8.01 KiB
Newer Older
<?php defined('SYSPATH') or die('No direct script access.');
class Model_Map extends Model
    public static function addModuleBonus($teacherID, $disciplineID) {
        $sql = "SELECT `AddModuleBonus`(:teacher, :discipline) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->param(':teacher', $teacherID)
            ->param(':discipline', $disciplineID)
            ->execute();
    }

    public static function deleteModuleBonus($teacherID, $disciplineID) {
        $sql = "SELECT `DeleteModuleBonus`(:teacher, :discipline) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->param(':teacher', $teacherID)
            ->param(':discipline', $disciplineID)
            ->execute();
    }

    public static function addModule($teacherID, $disciplineID, $title) {
        $sql = "SELECT `AddModule`(:teacher, :discipline, :title) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                'title'       => $title,
            ])->execute();
    }

    public static function deleteModule($teacherID, $moduleID) {
        $sql = "SELECT `DeleteModule`(:teacher, :module) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->param(':teacher', $teacherID)
            ->param(':module', $moduleID)
            ->execute();
    }

    public static function changeModuleName($teacherID, $moduleID, $name) {
        $sql = "SELECT `ChangeModuleName`(:teacher, :module, :name) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher' => $teacherID,
                ':module'  => $moduleID,
                ':name'    => $name,
            ])->execute();
    }

    public static function addSubmodule($teacherID, $moduleID, $maxRate, $title, $description, $typeControl) {
        $sql = "SELECT `AddSubmodule`(:teacher, :moduleID, :maxRate, :title, :desc, :control) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'  => $teacherID,
                ':moduleID' => $moduleID,
                ':maxRate'  => $maxRate,
                ':title'    => $title,
                ':desc'     => $description,
                ':control'  => $typeControl,
            ])->execute();
    }

    public static function deleteSubmodule($teacherID, $submoduleID) {
        $sql = "SELECT `DeleteSubmodule`(:teacher, :submodule) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'   => $teacherID,
                ':submodule' => $submoduleID,
            ])->execute();
    }

    public static function changeSubmoduleName($teacherID, $submoduleID, $name) {
        $sql = "SELECT `ChangeSubmoduleName`(:teacher, :submodule, :name) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'   => $teacherID,
                ':submodule' => $submoduleID,
                ':name'      => $name,
            ])->execute();
    }


    public static function swapModuleOrder($teacherID, $moduleID1, $moduleID2) {
        $sql = "SELECT `SwapModuleOrder`(:teacher, :moduleID1, :moduleID2) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'   => $teacherID,
                ':moduleID1' => $moduleID1,
                ':moduleID2' => $moduleID2,
            ])->execute();
    }

    public static function swapSubmoduleOrder($teacherID, $submoduleID1, $submoduleID2) {
        $sql = "SELECT `SwapSubmoduleOrder`(:teacher, :submodule1, :submodule2) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':submodule1' => $submoduleID1,
                ':submodule2' => $submoduleID2,
            ])->execute();
    }

    public static function changeSubmoduleMaxAndControl($teacherID, $submoduleID, $maxRate, $controlType) {
        $sql = "SELECT `ChangeSubmoduleMaxAndControl`(:teacher, :submodule, :maxRate, :control) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'   => $teacherID,
                ':submodule' => $submoduleID,
                ':maxRate'   => $maxRate,
                ':control'   => $controlType,
            ])->execute();
    }

    public static function getMapForDiscipline($disciplineID) {
        $sql = "CALL `GetRoadmap`(:discipline); ";
        return DB::query(Database::SELECT, $sql)
            ->param(':discipline', $disciplineID)
            ->execute();
    }

    public static function changeDisciplineSubject($teacherID, $disciplineID, $subjectID) {
        $sql = "SELECT `ChangeDisciplineSubject`(:teacher, :discipline, :subject) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                ':subject'    => $subjectID,
            ])->execute();
    }

    public static function changeDisciplineControl($teacherID, $disciplineID, $control) {
        $sql = "SELECT `ChangeDisciplineControl`(:teacher, :discipline, :control) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                ':control'    => $control,
            ])->execute();
    }

    public static function changeDisciplineHours($teacherID, $disciplineID, $hours, $type) {
        $sql = "SELECT `ChangeDisciplineHours`(:teacher, :discipline, :hours, :type) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                ':hours'      => $hours,
                ':type'       => $type,
            ])->execute();
    }

    public static function bindGroup($teacherID, $disciplineID, $groupID) {
        $sql = "SELECT `BindGroup`(:teacher, :discipline, :group) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                ':group'      => $groupID,
            ])->execute();
    }

    public static function unbindGroup($teacherID, $disciplineID, $groupID) {
        $sql = "SELECT `UnbindGroup`(:teacher, :discipline, :group) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                ':group'      => $groupID,
            ])->execute();
    }

    public static function bindStudent($teacherID, $disciplineID, $studentID) {
        $sql = "SELECT `BindStudent`(:teacher, :discipline, :student) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                ':student'    => $studentID,
            ])->execute();
    }

    public static function UnbindStudent($teacherID, $disciplineID, $studentID) {
        $sql = "SELECT `UnbindStudent`(:teacher, :discipline, :student) AS `Num`";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':teacher'    => $teacherID,
                ':discipline' => $disciplineID,
                ':student'    => $studentID,
            ])->execute();
PavelBegunkov's avatar
PavelBegunkov committed
    // deprecated (moved in helpers)
    public static function searchTeachers($facultyID, $departmentID, $name, $disciplineID) {
        $sql = "CALL `SearchTeachers`(:faculty, :department, :name, :discipline)";
        return DB::query(Database::SELECT, $sql)
            ->parameters([
                ':name'       => $name,
                ':faculty'    => $facultyID,
                ':department' => $departmentID,
                ':discipline' => $disciplineID,
            ])->execute();
PavelBegunkov's avatar
PavelBegunkov committed
    }