//Добавить информацию о выборе студентов $inTitle = ''; $dis = end(RPIrro::upgradeChoise(array($dis), false, array($gr['id']))); if ($dis['vdv']) { if (empty($dis['numsts'])) { RPH::errorPage('Ни один студент не выбрал дисциплину "' . $dis['name'] . '"'); } $inTitle = ' (по выбору)'; } $dis = end(RPIrro::upgradeGroups(array($dis), array($gr))); /*Проверка на доступ к журналу*/ $role = RPRole::getRole(); if (stripos($role['sh'], '_pr')) { //Если препод - проверяем /*берем логин*/ $teach = RPRole::userID(); $dis = array($dis); $dis = end(RPIrro::upgradePreps($dis, false, true)); $dis['preps'] = end(RPU::filterBy($dis['preps'][$gr['id']], array('id_tutor' => $teach))); if (empty($dis['preps'])) { RPH::errorPage('Вы не ведете предмет у этой группы'); } } //Добавить информацию о перезачетах $dis = RPIrro::upgradeOffset(array($dis), array($gr['id'])); //Берем все КМ для ТУП+Д $dis = end(RPIrro::getKMS($dis, array($gr['id']))); if (!$dis['kms'][$gr['id']]) { RPH::errorPage('Нет ни одного КМ. <a class="btn btn-info" href="/prepare/tpd/schedule/?tupd=' . $link . '">График КМ</a>'); } $dis = RPU::e($dis);
<?php if (!RPRole::is('stud')) { throw new Exception("Ошибка доступа"); } $numst = RPRole::userID(); $gr = RPIrro::getGroup($numst); $gr = $gr['gr']; //Взять информацию о группе $gr = end(RPIrro::getGroups($gr, 'group', true)); if (empty($gr)) { throw new Exception('Не найдена информация о группе'); } //Расчитываем семестр if ($_GET['sem']) { $sem = RPU::getAbsSem($gr['year'], $_GET['sem']); } else { $sem = RPU::getNowSem(); } //Взять информацию о дисциплинах $dis = RPIrro::upDises($gr['tup_id'], 'tup', $sem); //Удалить дисциплины, которые студент не выбрал $dis = RPIrro::upgradeChoise($dis, true, array($gr['id'])); foreach ($dis as $k => $d) { if ($d['vdv'] and !in_array($numst, $d['numsts'])) { unset($dis[$k]); } else { $dis[$k]['numsts'] = array($numst); } } //Добавить информацию о перезачетах
<?php if (!RPRole::getPermitOne('journal_edit')) { RPH::errorPage("Ошибка доступа"); } $myPost = json_decode(file_get_contents('php://input'), true); $numst = RPU::reshape($myPost, 'numst', 'numst'); $id_km = RPU::reshape($myPost, 'id_km', 'id_km'); $MsSQL = RPDB::connect(); //Получаем существующие баллы в БД для измененных КМ и студентов $result = $MsSQL->prepare('select * from st_ball where id_km IN (' . RPU::plas($id_km) . ') and numst IN (' . RPU::plas($numst) . ')'); if (!$result->execute(array_merge($id_km, $numst))) { throw new Exception("Ошибка получения баллов"); } $balls = $result->fetchAll(PDO::FETCH_ASSOC); foreach ($myPost as $val) { // Убрано после новости о том, что можно удалять балл //if($val['ball']==='') continue; if ($val['ball'] === 'н') { $val['ball'] = -1; } $b = RPU::filterBy($balls, array('id_km' => $val['id_km'], 'numst' => $val['numst'])); if (!empty($b)) { if ($b['ball'] === $val['ball']) { continue; } $where = $val; unset($where['ball']); if ($val['ball'] === '') { if (!RPDB::delete('st_ball', $where)) { throw new Exception("Ошибка удаления бала");