unset($dis[$k]); } } 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) {
} 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']); } } $STH = $MsSQL->prepare('select * from iup where id=?'); if ($STH->execute(array($iup))) { if ($row = $STH->fetch()) { $iup = $row; } } } if ($semset) { $set = RPU::getSemSet($semset, true, $iup['id']); } else { throw new Exception("Ошибка получения настроек семестра"); } if ($iup) { $help = '. Текущая неделя для студента: ' . $set['week']; } $dis = RPIrro::upgradeGrades(array($dis), $ball, $st_all, $set['week']); $dis = end(RPIrro::upgradeStarted($dis, array($gr['id']))); $unvis = RPIrro::getUnvisit($gr['id'], $set); //Формирование массива для вывода $km = RPU::reshape($dis['kms'][$gr['id']], false, array('id', 'week', 'name', 'sh', 'max_ball', 'min_ball', 'bonus', 'type_name')); $km = RPU::filterBy($km, array('max_ball' => true)); $arResult['print']['km'] = RPU::matrixSort($km, 'week'); $arResult['print']['mvb']['max'] = $dis['mvb'][$gr['id']]; $arResult['print']['mvb']['min'] = $dis['mvbi'][$gr['id']];