} if (empty($dis)) { throw new Exception('В выбранном семестре нет дисциплин'); } $kafs = RPIrro::getKafs($dis); //Берем все КМ $dis = RPIrro::upgradeGroups($dis, array($gr)); $dis = RPIrro::getKMS($dis, array($gr['id'])); $dis = RPU::e($dis); //Приведение формата чисел к печатному //Берем баллы студентов для связи ТУП+Д $ball = RPU::e(RPIrro::getBalls($dis, array($gr['id']))); //Взять настройки семестра $set = RPU::getSemSet($sem, false); //Подсчет МВБ $dis = RPIrro::upgradeGrades($dis, $ball, RPIrro::getStudents($gr['id']), $set['week']); $dis = RPIrro::upgradePreps($dis, true, true); //ИР КМ $irs_km = RPIrro::getKMIr(RPU::reshape($dis, false, 'id_link')); foreach ($irs_km as $k => $ir) { $ir['link'] = RPUrl::getIrUrl($ir['link']); $ir = RPU::label($ir); $irs_km[$k] = RPU::cnt($ir); } $irs_km = RPU::groupBy($irs_km, 'p'); //Подготовка к печати $nopreps = array(array('name' => 'Не назначен', 'st' => array())); //симуляция для случаев, когда преподов нет foreach ($dis as $i => $d) { //Не выводим студенту информацию о других $dis[$i]['grades'] = end(RPU::filterBy($d['grades'], array('numst' => $numst)));
/** * Получить список numst группы * @param mixed $group_id id группы или массив * @return array [ numst ] */ public static function getNumsts($group_id) { return RPU::reshape(RPIrro::getStudents($group_id), false, 'numst'); }
$MsSQL = RPDB::connect(); $link = (int) $_GET['tupd']; $gr['id'] = (int) $_GET['gr']; $iup = $_GET['iup'] ? (int) $_GET['iup'] : false; //Взять информацию о группе $gr = end(RPIrro::getGroups($gr['id'], 'group', true)); if (empty($gr)) { RPH::errorPage('Не найдена информация о группе'); } //Взять информацию о дисциплине $dis = end(RPIrro::upDises($link, 'tpd')); if ($gr['tup_id'] != $dis['pid']) { RPH::errorPage('Выбранная группа не изучает эту дисциплину'); } //Взять студентов группы $st_all = RPIrro::getStudents($gr['id']); $stud = RPU::reshape($st_all, 'numst', 'name'); //Добавить информацию о выборе студентов $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')) { //Если препод - проверяем