$sanction[$i]['data'] = RPU::convDtP($row['data']); $sanction[$i]['type'] = $textzamech[$row['id_type']]; } //Взять направление и профиль $MsSQL = RPDB::connect(); $result = $MsSQL->prepare("select np.name np,op.name op from np,op,bup,tup,tup_gr where op.id_np=np.id AND bup.id_op=op.id AND tup.id_bup=bup.id AND tup_gr.id=tup.id AND tup_gr.gr=?"); if (!$result->execute(array($gr['id']))) { throw new Exception('Ошибка при нахождении НП и ОП'); } if (!($studinf = $result->fetch(PDO::FETCH_ASSOC))) { throw new Exception('Ошибка при нахождении НП и ОП'); } //============================ $arResult['dis'] = $dis; $arResult['dolg'] = $dolg; $arResult['sem'] = RPU::absSemForUP($gr['year'], $set); $arResult['napr'] = $studinf['np']; $arResult['prof'] = $studinf['op']; $arResult['unvis'] = RPU::filterBy($unvis, array('numst' => $numst)); $arResult['sanction'] = RPU::filterBy($sanction, array('numst' => $numst)); $arResult['irs_km'] = $irs_km; $arResult['error'] = false; } catch (Exception $e) { if ($arParams['JSON']) { $arResult['error'] = $e->GetMessage(); } else { RPH::errorPage($e->GetMessage()); } } $template = $arParams['JSON'] ? 'json' : 'template'; $this->IncludeComponentTemplate($template);
//Если препод - проверяем /*берем логин*/ $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); //Приведение формата чисел к печатному //Берем баллы студентов для связи ТУП+Д $ball = RPU::e(RPIrro::getBalls(array($dis), array($gr['id']))); //Взять настройки семестра if (!$iup) { $semset = RPU::getAbsSem($gr['year'], $dis['sem']); } else { $STH = $MsSQL->prepare('select * from link_iup_tup_d where id_link_tup_d=? AND id_iup=?'); if ($STH->execute(array($link, $iup))) { if ($row = $STH->fetch()) { $semset = array('sem' => $row['sem']); } }
<?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("Ошибка удаления бала");