示例#1
0
$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);
    }
}
//Добавить информацию о перезачетах
$dis = RPIrro::upgradeOffset($dis, array($gr['id']));
foreach ($dis as $k => $d) {
    if ($d['offset'][$numst]) {
        $offset[] = $d;
        unset($dis[$k]);
$APPLICATION->AddHeadScript('/bitrix/components/rpk/journal/gettableToExcel.js');
global $USER;
if (!RPRole::getPermitOne('journal')) {
    RPH::errorPage("Ошибка доступа");
}
$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 = ' (по выбору)';
}