EIOS/inc/iup_attestcom.php

318 lines
19 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
/*
TO-DO сделать блокировки отправить на след.этап Кафедре пока преподы не выставят все оценки
*/
$zamdeknaprav = iup_get_zamdeknaprav($_SESSION['user']['teacher']['fakultet']);
if(isset($_POST['priglasit_studenta'])){//Оповещаем студента о приглашении
$id_zayavka = (int)$_POST['id_zayavka'];
$sql = 'SELECT u.email,u.id FROM '.$TB['iup_studentzayavks'].' as sz, '.$ST['dbpf'].'_users as u WHERE sz.id='.$id_zayavka.' AND sz.id_user=u.id';
$rez = $DB->QUR_SEL($sql);
//echo '$rez<prE>'.print_r($rez,1).'</prE>';
if($rez){
$val = $rez[1];
include_once 'inc/pm_route.php';
$params['eml']['tpl']='iup';
$params['eml']['email']=$val['email'];
$params['eml']['title']='Действия по ПЕРЕВОДУ';
$params['eml']['message']='На сайте '.$_SERVER['HTTP_HOST'].' обновилась информация по Вашей заявке на перевод.<br>Вас пригласили для подписания заявления!<br>Для просмотра заявки вам необходимо авторизоваться на сайте http://'.$_SERVER['HTTP_HOST'].'/login/<br>После успешной авторизации перейти в раздел работы с заявками от студентов http://'.$_SERVER['HTTP_HOST'].'/perevod/';
$params['pm']['otkogo_user_id'] = $_SESSION['user']['id'];
$params['pm']['komu_user_id'] = $val['id'];
$params['pm']['message_text'] = $params['eml']['message'];
$params['pm']['from_status'] = 2;
$params['pm']['to_status'] = 1;
$params['pm']['file'] = '';
$pm_rez = PM_SEND($params);
$msg = 'Сообщение студенту отправлено, отправили';
if($pm_rez['eml']['send']==1) $msg .= ' на личную почту и ';
if($pm_rez['pm']['send']==1) $msg .= ' в личные сообщения на сайте!';
//$title = 'Действия по ПЕРЕВОДУ';
//$message = 'На сайте '.$_SERVER['HTTP_HOST'].' обновилась информация по Вашей заявке на перевод.<br>Вас пригласили для подписания заявления!<br>Для просмотра заявки вам необходимо авторизоваться на сайте http://'.$_SERVER['HTTP_HOST'].'/login/<br>После успешной авторизации перейти в раздел работы с заявками от студентов http://'.$_SERVER['HTTP_HOST'].'/perevod/';
//$msg = 'Сообщение студенту отправлено, отправили';
//$eml = send_email($title,$message,$val['email'],'',1,'iup');
//if($eml==1)
// $msg .= ' на личную почту и ';
//$sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES (0,'.mktime().','.$_SESSION['user']['id'].','.$val['id'].',"'.$message.'",2,1,"")';
//$rez = $DB->QUR($sql);
//echo '$eml<prE>'.print_r($eml,1).'</prE>';
//echo '$rez<prE>'.print_r($rez,1).'</prE>';
//$msg .= ' в личные сообщения на сайте!';
$smarty->assign('priglasit_studenta',$msg);
}
}
if(isset($_POST['vernut_stud'])){//Оповещаем студента о отказе
$text = addslashes(htmlspecialchars($_POST['vernut_stud_text']));
$id_zayavka = (int)$_POST['id_zayavka'];
$sql = 'SELECT u.email,u.id FROM '.$ST['dbpf'].'_studentzayavks as sz, '.$ST['dbpf'].'_users as u WHERE sz.id='.$id_zayavka.' AND sz.id_user=u.id';
$rez = $DB->QUR($sql);
if($rez){
$val = $rez[1];
//$title = 'Действия по ПЕРЕВОДУ';
//$message = 'На сайте '.$_SERVER['HTTP_HOST'].' обновилась информация по Вашей заявке на перевод.<br>Аттестационная комиссия оставила вам сообщение "'.$text.'"<br>Для просмотра заявки вам необходимо авторизоваться на сайте http://'.$_SERVER['HTTP_HOST'].'/login/<br>После успешной авторизации перейти в раздел работы с заявками от студентов http://'.$_SERVER['HTTP_HOST'].'/perevod/';
//send_email($title,$message,$val['email'],'',1,'iup');
//$sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES (0,'.mktime().','.$_SESSION['user']['id'].','.$val['id'].',"'.$message.'",2,1,"")';
//$rez = $DB->QUR($sql);
include_once 'inc/pm_route.php';
$params['eml']['tpl']='iup';
$params['eml']['email']=$val['email'];
$params['eml']['title']='Действия по ПЕРЕВОДУ';
$params['eml']['message']='На сайте '.$_SERVER['HTTP_HOST'].' обновилась информация по Вашей заявке на перевод.<br>Аттестационная комиссия оставила вам сообщение "'.$text.'"<br>Для просмотра заявки вам необходимо авторизоваться на сайте http://'.$_SERVER['HTTP_HOST'].'/login/<br>После успешной авторизации перейти в раздел работы с заявками от студентов http://'.$_SERVER['HTTP_HOST'].'/perevod/';
$params['pm']['otkogo_user_id'] = $_SESSION['user']['id'];
$params['pm']['komu_user_id'] = $val['id'];
$params['pm']['message_text'] = $params['eml']['message'];
$params['pm']['from_status'] = 2;
$params['pm']['to_status'] = 1;
$params['pm']['file'] = '';
$pm_rez = PM_SEND($params);
$msg = 'Сообщение студенту отправлено, отправили';
if($pm_rez['eml']['send']==1) $msg .= ' на личную почту и ';
if($pm_rez['pm']['send']==1) $msg .= ' в личные сообщения на сайте!';
$smarty->assign('priglasit_studenta',$msg);
}
}
if(isset($_POST['lkattkom_back0'])){//вернем зам.декана
$id_zayavka = (int)$_POST['id_zayavka'];
$sql = 'UPDATE '.$TB['iup_studentzayavks'].' SET status=0 WHERE id='.$id_zayavka.'';
$rez = $DB->QUR($sql); //echo $sql.'<pre>'.print_r($rez,1).'</pre>';
if($rez){
$des='show';
send_email_iup($id_zayavka);
$sql = 'INSERT INTO '.$TB['iup_statuses'].' VALUES(0,'.time().','.$id_zayavka.','.$_SESSION['user']['id'].',2,0,"")';
$rez = $DB->QUR($sql); //echo $sql.'<pre>'.print_r($rez,1).'</pre>';
if($rez){ $msg['msg'][]='Время изменения статуса сохранено!';}
else{ $msg['err'][]='Время изменения статуса не сохранено!'; }
save_logs('ИУП: Возврат зам.декана №'.$id_zayavka);
}
}
if(isset($_POST['lkattkom_back'])){//вернем преподам
$id_zayavka = (int)$_POST['id_zayavka'];
$sql = 'UPDATE '.$TB['iup_studentzayavks'].' SET status=2 WHERE id='.$id_zayavka.'';
$rez = $DB->QUR($sql); echo $sql.'<pre>'.print_r($rez,1).'</pre>';
if($rez){
$des='show';
send_email_iup($id_zayavka);
$sql = 'INSERT INTO '.$TB['iup_statuses'].' VALUES(0,'.time().','.$id_zayavka.','.$_SESSION['user']['id'].',1,2,"")';
$rez = $DB->QUR($sql); //echo $sql.'<pre>'.print_r($rez,1).'</pre>';
if($rez){ $msg['msg'][]='Время изменения статуса сохранено!';}
else{ $msg['err'][]='Время изменения статуса не сохранено!'; }
save_logs('ИУП: Возврат преподам №'.$id_zayavka);
}
}
if(isset($_POST['lkattkom_zaversh'])||isset($_POST['lkattkom_gotovo'])){//сохраняем выставленные режимы для предметов
$id_zayavka = (int)$_POST['id_zayavka'];
if(isset($_POST['lkattkom_gotovo'])){//меняем статус у заявки
$sql = 'UPDATE '.$TB['iup_studentzayavks'].' SET status=3 WHERE id='.$id_zayavka.'';
$rez = $DB->QUR_SEL($sql); //echo $sql.'<pre>'.print_r($rez,1).'</pre>';
if($rez){
send_email_iup($id_zayavka);
$sql = 'INSERT INTO '.$TB['iup_statuses'].' VALUES(0,'.time().','.$id_zayavka.','.$_SESSION['user']['id'].',1,3,"")';
$rez = $DB->QUR($sql); //echo $sql.'<pre>'.print_r($rez,1).'</pre>';
if($rez){ $msg['msg'][]='Время изменения статуса сохранено!';}
else{ $msg['err'][]='Время изменения статуса не сохранено!'; }
save_logs('ИУП: сохраняем выставленные режимы для предметов №'.$id_zayavka);
}
}
}
if($des == 'attved1'){//ПРОТОКОЛ 1
$id = (int)$_GET['id'];
print_vedomost($id,1,'tpl_iup_attved1.html');
exit();
}
if($des == 'attved2'){//ПРОТОКОЛ 2
$id = (int)$_GET['id'];
print_vedomost($id,2,'tpl_iup_attved2.html');
exit();
}
if($des == 'attved3'){//ПРОТОКОЛ 3
$id = (int)$_GET['id'];
print_vedomost($id,3,'tpl_iup_attved3.html');
exit();
}
if($des == 'edit'){
$id = (int)$_GET['id'];
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE id='.$id.' AND (status=1 OR status=2)';
$rez = $DB->QUR_SEL($sql);
//информация о пользователе - если он из филиала, то будем чуть по-другому обрабатывать
$sql_user = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE `id` = "'.$_SESSION['user']['id'].'"';
$rez_user = $DB->QUR_SEL($sql_user);
$vyz = $rez_user[1]['high_school'];
//***************************енд*****************************************************
if($rez){
$val = $rez[1]; $id_zayavka=$val['id'];
$val['data_c'] = date('H:i:s d.m.Y',$val['data_c']);
$val['diplom_data'] = date('d.m.Y',$val['diplom_data']);
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks_files'].' WHERE id_studentzayavks='.$id_zayavka.' ORDER BY data_c';
$rez = $DB->QUR_SEL($sql);
if($rez){foreach($rez as $k => $v)if($k){
$v['data_c'] = date('H:i:s d.m.Y',$v['data_c']);
$val['files'][]=$v;
}}
//получим предметы по привязке ЗАЯВКИ к УЧ.ПЛАНУ
$predmets = iup_get_predmets_BYzp($id_zayavka);
if(!count($predmets)) {
$val['predmets'] = iup_get_predmets($_SESSION['user']['teacher']['fakultet'], $val['pret_naprav'], $val['pret_kurs'], $val['pret_fo']);
}else{
$val['predmets'] = $predmets;
}
$at=0;$ad=0;$addtime=0;$addday=0; $i = 0; $test = '';
//echo '<pre>'.print_r($val['predmets'],1).'</pre>'; exit();
/*[110] => Array( [fid] => 1799 [godob] => 2022 [pid] => 1541 [id] = [sid] => 154978 [discip] => Физика, математика
[discid] => Б1.В.10.02 [kurs] => 1 [sem] => 1 [ekz] => [zach] => 1 [zet] => 4 [dispovyb] => -202
[kpro] => [krab] => )
* */
foreach($val['predmets'] as $key => $v) /*if ($key)*/{
$i++;
$id_predmet = $v['id'];
$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet_id='.$id_predmet.' ORDER BY data_c DESC LIMIT 1';
if ($vyz == 2){ //ЕСЛИ ФИЛИАЛ
$sql_str = 'SELECT discip FROM '.$TB['iup_shahtplans_stroki'].' WHERE id = '.$id_predmet.'';
$rez_str = $DB->QUR_SEL($sql_str);
$name = $rez_str[1]['discip'];
//$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayvks='.$id_zayavka.' AND predmet_name="'.$name_predmet.'"';
//24102023 убрал, т.к. предметы одинаковые совпадают надо по ИД!
//$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet_name="'.$name.'" ORDER BY data_c DESC LIMIT 1';
$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet_id='.$id_predmet.' ORDER BY data_c DESC LIMIT 1';
} else{
/*ВОЗМОЖНО ПОТОМ ПОТРЕБУЕТСЯ СКРЫТЬ*/
$sql_str = 'SELECT discip FROM '.$TB['iup_shahtplans_stroki'].' WHERE id = '.$id_predmet.'';
$rez_str = $DB->QUR_SEL($sql_str);
$name = $rez_str[1]['discip'];
//$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayvks='.$id_zayavka.' AND predmet_name="'.$name_predmet.'"';
//24102023 убрал, т.к. предметы одинаковые совпадают надо по ИД!
//$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet_name="'.$name.'" ORDER BY data_c DESC LIMIT 1';
$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet_id='.$id_predmet.' ORDER BY data_c DESC LIMIT 1';
}
//$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE predmet_id='.$id_predmet.'';
//$sql3 = 'SELECT * FROM '.$TB['iup_zamdekan'].' WHERE predmet_id='.$id_predmet.' LIMIT 1';
//$test .= $sql3.';<br />';
//$test = $_SESSION['user']['teacher']['fakultet'].';'.$val['pret_naprav'].';'.$val['pret_kurs'].';'.$val['pret_fo'];
$rez3 = $DB->QUR_SEL($sql3);
//echo $id_predmet.'::'.$sql3.'<pre>'.print_r($rez3,1).'</pre>';
//[1] => Array(
// [id] => 113820
// [data_c] => 1578555101
// [user_id] => 3060
// [id_studentzayavks] => 1523
// [predmet_id] => 39260 //это из таблицы acs_iup_shahtplans_stroki.id
// [predmet_name] => История
// [prepod_id] => 3060
// [prepod_name] => Галичева Мария Сергеевна
//)
if($rez3){
$val['predmets'][$key]['prepodfio']= $rez3[1]['prepod_name'];
//$sql4 = 'SELECT * FROM '.$TB['iup_ocenki'].' WHERE id_studentzayavks='.$id_zayavka.' AND id_predmet='.$id_predmet.' ORDER BY data_c DESC';
if ($vyz == 2){ //ЕСЛИ ФИЛИАЛ
$sql_str = 'SELECT * FROM '.$TB['iup_shahtplans_stroki'].' WHERE id = '.$id_predmet.'';
$rez_str = $DB->QUR_SEL($sql_str);
$name = $rez_str[1]['discip'];
$sql4 = 'SELECT * FROM '.$TB['iup_ocenki'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet="'.$name.'" ORDER BY data_c DESC';
} else{
//$sql4 = 'SELECT * FROM '.$TB['iup_ocenki'].' WHERE id_studentzayavks='.$id_zayavka.' ORDER BY data_c DESC';
}
$sql4 = 'SELECT * FROM '.$TB['iup_ocenki'].' WHERE id_studentzayavks='.$id_zayavka.' AND id_predmet='.$id_predmet.' ORDER BY data_c DESC';
$rez4 = $DB->QUR_SEL($sql4);
//echo $sql4.'<pre>'.print_r($rez4,1).'</pre>';
//SELECT * FROM acs_iup_ocenki WHERE id_studentzayavks=1523 AND id_predmet=39351 ORDER BY data_c DESC
//echo '1:'.$sql4.'<pre>'.print_r($rez4,1).'</pre>';
if($rez4){
$val['predmets'][$key]['ocenki']=$rez4[1];
}else{//Почему то не отображаются оценки((( 24.11.2020
$sql4 = 'SELECT * FROM '.$TB['iup_ocenki'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet="'.$rez3[1]['predmet_name'].'" ORDER BY data_c DESC';
$rez4 = $DB->QUR_SEL($sql4);
if($rez4){
$val['predmets'][$key]['ocenki']=$rez4[1];
}
}
}else{
$val['predmets'][$key]['prepodfio']='';
}
/*//21.11.2018 эта часть не нужна
$sql1 = 'SELECT * FROM '.$TB['iup_attkom'].' WHERE id_user='.$_SESSION['user']['id'].' AND id_studentzayavks='.$id_zayavka.' AND id_predmet='.$id_predmet.'';
$rez1 = $DB->QUR_SEL($sql1);
if($rez1){
$val['predmets'][$k]['ocenka'] = $rez1[1]['ocenka'];
$val['predmets'][$k]['day'] = date('d.m.Y',$rez1[1]['data_time']);
$val['predmets'][$k]['time'] = date('H:i',$rez1[1]['data_time']);
$val['predmets'][$k]['semestr'] = $rez1[1]['semestr'];
}else{
$val['predmets'][$k]['ocenka'] = 3;//тут надо автоматом ставить
//if($val['pred_obraz']=='высшее') $val['predmets'][$k]['ocenka'] = 1;
//else $val['predmets'][$k]['ocenka'] = 2;
$at++;$ad++;
if($at==3){ $at=0; $addtime+=5; }
if($ad==6){ $ad=0; $addday+=2; }
$mktime=mktime(9+$addtime,0,0,date('m'),date('d')+$addday,date('Y'));
$val['predmets'][$k]['day'] = date('d.m.Y',$mktime);
$val['predmets'][$k]['time'] = date('H:i',$mktime);
//echo $k.'=='.date('H',$mktime).'<br>';
if( (int)date('H',$mktime)>16 ){
$addtime = 0;
$val['predmets'][$k]['day'] = date('d.m.Y',mktime(9+$addtime,0,0,date('m'),date('d')+$addday,date('Y')));
$val['predmets'][$k]['time'] = date('H:i',mktime(9+$addtime,0,0,date('m'),date('d')+$addday,date('Y')));
}
}
*/
}
//echo '<pre>'.print_r($val['predmets'],1).'</pre>';
$zayavka = $val;
$smarty->assign('zayavka',$zayavka);
}else{
$des = 'show';
}
}
if($des == 'show'){//исправить выбирать статус 1!!! AND status=1
$zayavks=array();
//print_r ($zamdeknaprav);
if($_SESSION['user']['teacher']['fakultet']=='Филиал МГТУ'){
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE (pret_naprav LIKE "%'.implode('%" OR pret_naprav LIKE "%',$zamdeknaprav).'%") AND (status=1 OR status=2 OR status=5) ORDER BY data_c DESC LIMIT 500';//echo $sql;
}elseif($_SESSION['user']['teacher']['fakultet']=='Факультет экономики и управления'){
//$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE (pret_naprav LIKE "%:'.implode('%" OR pret_naprav LIKE "%:',$zamdeknaprav).'%") AND pret_naprav NOT LIKE "Фс:%" AND (status=1 OR status=2 OR status=5) ORDER BY data_c DESC';
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE (pret_naprav LIKE "%'.implode('%" OR pret_naprav LIKE "%',$zamdeknaprav).'%") AND NOT (pret_naprav LIKE "Фс:%") AND NOT (pret_naprav LIKE "%Автомобильный сервис%") AND (status=1 OR status=2 OR status=5) ORDER BY data_c DESC LIMIT 500'; //echo $sql;
} else{
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE (pret_naprav LIKE "%'.implode('%" OR pret_naprav LIKE "%',$zamdeknaprav).'%") AND NOT (pret_naprav LIKE "Фс:%") AND (status=1 OR status=2 OR status=5) ORDER BY data_c DESC LIMIT 500'; //echo $sql;
}
//echo $sql;
$rez = $DB->QUR_SEL($sql);
if($rez){
foreach($rez as $key => $val)if($key){
$id_zayavka = $val['id'];
$val['data_c'] = date('H:i:s d.m.Y',$val['data_c']);
//выберем все оценки для заявки
$rez1 = $DB->QUR_SEL('SELECT id FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka);
if($rez1){ $val['ocenki_all'] = $rez1[0]; }else{ $val['ocenki_all'] = 0; }
//сколько выставили оценок
$rez1 = $DB->QUR_SEL('SELECT id FROM '.$TB['iup_ocenki'].' WHERE id_studentzayavks='.$id_zayavka.' AND semestr!=0');
if($rez1){ $val['ocenki_oth'] = $rez1[0]; }else{ $val['ocenki_oth'] = 0; }
$zayavks[] = $val;
}
}
$smarty->assign('zayavks',$zayavks);
}
$smarty->assign('test',$test);
$smarty->assign('zamdeknaprav',$zamdeknaprav);
$smarty->assign('page',$page);
$smarty->assign('des',$des);
$smarty->assign('msg',$msg);
$maincontent = $smarty->fetch('tpl_iup_main.html');//.'<pre>'.print_r($zamdeknaprav,1).'</pre>';