EIOS/inc/iup_attestcom.php

318 lines
19 KiB
PHP
Raw Normal View History

2023-12-28 15:39:22 +03:00
<?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>';