QUR($sql);
$out['err'] = 0;
save_logs('Удаление студента №пользователя '.$id_user.' из группы №'.$id_grupp);
}
if($_POST['ajdes']=='polls_teachers_manual_del'){//ОПРОС Удаляем добавленных преподавателей
$id = (int)$_POST['id'];
$idgrupp = (int)$_POST['idgrupp'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_teacher_evalution WHERE id='.$id.' AND id_grupp='.$idgrupp.' LIMIT 1';
$rez = $DB->QUR($sql);
$out['err'] = 0;
save_logs('Оценка дисциплины и преподавателя - удаление пункта №'.$id.' группы №'.$idgrupp.' для опроса');
}
if($_POST['ajdes']=='notes_show'){//Подгружаем заметки пользователя
if(isset($_SESSION['user'])) {
include_once 'inc/class_NOTE.php';
$class = new class_NOTE();
$filter['order'] = ' data_c DESC';
$filter['limit']['start'] = 0;
$filter['limit']['step'] = 5;
$html = $class->itemsHTML($filter);
$out['err']=0; $out['html'] = $html;
}
}
if($_POST['ajdes']=='teacher_ocenki_fakultet_setdatac'){//сохраняем выбранную дату начала периода с которого отображать оценки для зав.каф.в фиксации уч.проц.
if(isset($_SESSION['user'])){
$arr = explode('-',trim($_POST['datac']));//2019-12-13
$data_c1 = mktime(0,0,0,$arr[1],$arr[2],$arr[0]);
$file = 'tmp/ocenki/dataC_'.$_SESSION['user']['id'];
file_put_contents($file,$data_c1);
}
}
if($_POST['ajdes']=='pm_set_status'){//ставим статус личного сообщения в прочтенный
if(isset($_SESSION['user'])){
$id = (int)$_POST['id'];
$DB->QUR('UPDATE '.$ST['dbpf'].'_pm SET to_status=2 WHERE to_user='.$_SESSION['user']['id'].' AND id='.$id.' LIMIT 1');
}
}
if ($_POST['ajdes'] == 'read_all'){ //прочитать все сообщения одним скопом
if(isset($_SESSION['user'])){
$DB->QUR('UPDATE '.$ST['dbpf'].'_pm SET to_status=2 WHERE to_user='.$_SESSION['user']['id'].' AND to_status=1 ');
}
}
if($_POST['ajdes']=='rejt2_dele_item'){//рейтинг вторая половина дня удаляем
$id=(int)$_POST['id'];
$sql1 = 'DELETE FROM '.$ST['dbpf'].'_rejt2_items WHERE id_user='.$_SESSION['user']['id'].' AND id='.$id.' LIMIT 1';
$rez1 = $DB->QUR($sql1);
$out['err']=1;
if(!$rez1['err']){
$out['err']=0;
}
}
if($_POST['ajdes']=='rejt2_edit_item'){//рейтинг вторая половина дня берем данные для редактирования
$id=(int)$_POST['id'];
$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_rejt2_items WHERE id_user='.$_SESSION['user']['id'].' AND id='.$id.' LIMIT 1';
$rez1 = $DB->QUR_SEL($sql1);
$out['err']=1;
if($rez1){
$out['err']=0;
$out['id']=$rez1[1]['id'];
$out['name']=$rez1[1]['name'];
$out['hour_plan']=$rez1[1]['hour_plan'];
$out['hour_fakt']=$rez1[1]['hour_fakt'];
$out['status']=$rez1[1]['status'];
}
}
if($_POST['ajdes']=='rejt2_editi_item'){//рейтинг вторая половина дня редактирвоание записываем в бд
$id=(int)$_POST['item_id'];
$name=$_POST['name'];
$hour_plan=str_replace(',','.',$_POST['hour_plan']); if($hour_plan=='') $hour_plan=0;
$hour_fakt=str_replace(',','.',$_POST['hour_fakt']); if($hour_fakt=='') $hour_fakt=0;
$status=(int)$_POST['status']; if($status=='') $status=0;
$sql1 = 'UPDATE '.$ST['dbpf'].'_rejt2_items SET name="'.addslashes($name).'",hour_plan='.$hour_plan.',hour_fakt='.$hour_fakt.',status='.$status.' WHERE id_user='.$_SESSION['user']['id'].' AND id='.$id.' LIMIT 1';
$rez1 = $DB->QUR($sql1);
$out['err']=1;
if(!$rez1['err']){
$out['err']=0;
$out['id']=$id;
$out['name']=$name;
$out['hour_plan']=$hour_plan;
$out['hour_fakt']=$hour_fakt;
$out['status']=$status;
}
}
if($_POST['ajdes']=='rejt2_save_item'){//рейтинг вторая половина дня добавляем
$name=$_POST['name'];
$hour_plan=str_replace(',','.',$_POST['hour_plan']); if($hour_plan=='') $hour_plan=0;
$hour_fakt=str_replace(',','.',$_POST['hour_fakt']); if($hour_fakt=='') $hour_fakt=0;
$status=(int)$_POST['status']; if($status=='') $status=0;
$id_razdel=0; //пока не нужно но чувствую что потребуется(
$data_s=0; //пока не нужно но чувствую что потребуется(
$data_e=0; //пока не нужно но чувствую что потребуется(
$sql1 = 'INSERT INTO '.$ST['dbpf'].'_rejt2_items VALUES (0,'.$_SESSION['user']['id'].','.$id_razdel.','.time().','.$data_s.','.$data_e.',"'.addslashes($name).'",'.$hour_plan.','.$hour_fakt.',0,'.$status.');';
$rez1 = $DB->QUR($sql1);
$out['err']=1;
if(!$rez1['err']){
$out['err']=0;
//$out['id']=mysql_insert_id();
//$out['id']=$DB->lastinsertID();
$out['id']=$rez1['id'];
}
}
if($_POST['ajdes']=='rejt_dele'){//рейтинг удаление элемента
$r = (int)$_POST['r'];
$i = (int)$_POST['i'];
$num = (int)$_POST['num']-1;
$id_user = $_SESSION['user']['id'];
$out['info'] = 'ошибка';
$out['err'] = 2;
$sql = 'SELECT id,value FROM '.$ST['dbpf'].'_rejt_saves WHERE id_user='.$id_user.' AND id_razdel='.$r.' AND id_items='.$i.' AND pos='.$num.' AND (data_c BETWEEN '.$_SESSION['otchgods'][3]['data_s1'].' AND '.$_SESSION['otchgods'][3]['data_s2'].')';
$rez = $DB->QUR_SEL($sql);
if($rez&&$rez[0]){
foreach($rez as $key => $val)if($key){
$file = str_replace('/upload/rejt/'.$id_user.'/','',$val['value']);
$file1 = './upload/rejt/'.$id_user.'/'.$file;
if(file_exists($file1)){ unlink($file1); }
$sql1 = 'DELETE FROM '.$ST['dbpf'].'_rejt_saves WHERE id='.$val['id'].' LIMIT 1';
$rez1 = $DB->QUR($sql1);
}
//надо поле pos обновить в остальных записях
$sql1 = 'UPDATE '.$ST['dbpf'].'_rejt_saves SET pos=pos-1 WHERE id_user='.$id_user.' AND id_razdel='.$r.' AND id_items='.$i.' AND pos>'.$num.' AND (data_c BETWEEN '.$_SESSION['otchgods'][3]['data_s1'].' AND '.$_SESSION['otchgods'][3]['data_s2'].') ORDER BY pos';
$rez1 = $DB->QUR($sql1);
$out['formuls'] = rejt_raschet($i,$_SESSION['user']['id']);
rejt_savesballs($r,$i,$_SESSION['user']['id'],$out['formuls']['itogo'],'dele');
$out['info'] = 'удалили';
$out['err'] = 0;
}else{
//TODO проблема с пустыми запиясми бывает, если из середины удалять то потом pos сбивается 25 записи есть 26 нет, 27 есть...
$out['info'] = 'не удалили';
$out['err'] = 1;
}
}
if($_POST['ajdes']=='rejt_save_files'){//рейтинг сохранение элементов с файлами
$r = $id_razdel = (int)$_POST['r'];
$i = $id_items = (int)$_POST['i'];
$num = (int)$_POST['num'];
//надо определить дату по отчетному периоду! $_SESSION['otchgods'][3]['data_s1']
$data_c = time();
if($data_c>=$_SESSION['otchgods'][3]['data_s1']&&$data_c<=$_SESSION['otchgods'][3]['data_s2']){
//дата попадает в отчетный период
}else{//дата не попадает в отчетный период! надо крректировать
$data_c=$_SESSION['otchgods'][3]['data_s2'] - (60*60*24);// вычтем из периода сутки и сохраним
}
$id_user = $_SESSION['user']['id'];
$ff=array(); $uploaddir = './upload/rejt/'.$_SESSION['user']['id'].'/';
if(!file_exists($uploaddir)) mkdir($uploaddir);
if(count($_FILES)){
include_once 'inc/class_SYSTEM.php';
$SYSTEMclass = new SYSTEMclass();
foreach($_FILES['an']['name'][$r][$i] as $k => $afile){
$pos = ($num-1);
$f1 = $afile[$pos]; $t = explode('.',$f1);
$fx=$t[count($t)-1]; unset($t[count($t)-1]); $fn = implode('.',$t);
$rf=translit($fn).'.'.$fx;
$uploadfile = $uploaddir . $rf;
if(file_exists($uploadfile)){
$rf=translit($fn).'_'.time().'.'.$fx;
$uploadfile = $uploaddir . $rf;
}
//if (move_uploaded_file($_FILES['an']['tmp_name'][$r][$i][$k][$pos], $uploadfile)) {
if ($SYSTEMclass->sysUPLOAD($_FILES['an']['tmp_name'][$r][$i][$k][$pos], $uploadfile)) {
$ff['file'][$k] = $rf;
$ff['path'][$k] = $uploaddir;
$ff['err'][$k] = 0;
$ff['msg'][$k] = 'файл загрузили';
$id_itemspolyas = $k;
$uploadfile = str_replace('./','/',$uploadfile);
//нужно определить отчетный период! $_SESSION['otchgods'][3]
$sql = 'SELECT id,value FROM '.$ST['dbpf'].'_rejt_saves WHERE id_user='.$id_user.' AND id_razdel='.$id_razdel.' AND id_items='.$id_items.' AND id_itemspolyas='.$id_itemspolyas.' AND pos='.$pos.' AND (data_c BETWEEN '.$_SESSION['otchgods'][3]['data_s1'].' AND '.$_SESSION['otchgods'][3]['data_s2'].') LIMIT 1';
$rez = $DB->QUR_SEL($sql);
if($rez&&$rez[0]){//обновляем
if(file_exists('.'.$rez[1]['value'])){
unlink('.'.$rez[1]['value']);
}
$sql = 'UPDATE '.$ST['dbpf'].'_rejt_saves SET value="'.addslashes($uploadfile).'",data_c='.$data_c.' WHERE id='.$rez[1]['id'].' LIMIT 1';
$rez = $DB->QUR($sql);
if(!$rez['err']) $suc1++; else $err1++;
}else{//вставляем
$sql = 'INSERT INTO '.$ST['dbpf'].'_rejt_saves VALUES(0,'.$data_c.','.$id_user.','.$id_razdel.','.$id_items.','.$id_itemspolyas.',0,"'.addslashes($uploadfile).'",'.$pos.');';
$rez = $DB->QUR($sql);
if(!$rez['err']) $suc2++; else $err2++;
}
} else {
$ff['file'][$k] = '';
$ff['path'][$k] = $uploaddir;
$ff['err'][$k] = 1;
$ff['msg'][$k] = 'файл не загрузили ';
}
}
}
}
if($_POST['ajdes']=='rejt_save'){//рейтинг сохранение элемента
$r = (int)$_POST['r'];
$i = (int)$_POST['i'];
$num = (int)$_POST['num'];
$zkedit = (int)$_POST['zkedit'];//1-завкаф редактирует пользователя
//надо определить дату по отчетному периоду! $_SESSION['otchgods'][3]['data_s1']
$data_c = time();
if($data_c>=$_SESSION['otchgods'][3]['data_s1']&&$data_c<=$_SESSION['otchgods'][3]['data_s2']){
//дата попадает в отчетный период
}else{//дата не попадает в отчетный период! надо крректировать
$data_c=$_SESSION['otchgods'][3]['data_s2'] - (60*60*24);// вычтем из периода сутки и сохраним
}
$id_user = $_SESSION['user']['id'];
$suc1=0;$err1=0;
$suc2=0;$err2=0;
//сохраняем данные
foreach($_POST['an'] as $id_razdel => $itemsy){
//$out['info'] .= '1:'.$id_razdel.' == '.$r.'|';
if($id_razdel == $r){
foreach($itemsy as $id_items => $ritps){
if($id_items == $i){
//$out['info'] .= '2:'.$id_items.' == '.$i.'|';
//$out['info'] .= '$ritps:'.print_r($ritps,1).'|';
foreach($ritps as $id_itemspolyas => $dans){//$dans - массив с количеством данных!
//$out['info'] .= '$dans:'.print_r($dans,1).'|';
//Array([0] => Название проекта 1[1] => Проект 2)
if(!is_array($dans)){
$sql = 'SELECT id FROM '.$ST['dbpf'].'_rejt_saves WHERE id_user='.$id_user.' AND id_razdel='.$id_razdel.' AND id_items='.$id_items.' AND id_itemspolyas='.$id_itemspolyas.' AND pos=0 AND (data_c BETWEEN '.$_SESSION['otchgods'][3]['data_s1'].' AND '.$_SESSION['otchgods'][3]['data_s2'].') LIMIT 1';
$rez = $DB->QUR_SEL($sql); //$out['info'] .= $sql.print_r($rez,1);
if($rez&&$rez[0]){//обновляем
$sql = 'UPDATE '.$ST['dbpf'].'_rejt_saves SET value="'.addslashes($dans).'",id_polyas=0,data_c='.$data_c.' WHERE id='.$rez[1]['id'].' LIMIT 1';
$rez = $DB->QUR($sql);
if(!$rez['err']) $suc1++; else $err1++;
//$out['info'] .= $sql.print_r($rez,1);
}else{//вставляем
$sql = 'INSERT INTO '.$ST['dbpf'].'_rejt_saves VALUES(0,'.$data_c.','.$id_user.','.$id_razdel.','.$id_items.','.$id_itemspolyas.',0,"'.addslashes($dans).'",0);';
$rez = $DB->QUR($sql);
if(!$rez['err']) $suc2++; else $err2++;
//$out['info'] .= $sql.print_r($rez,1);
}
}else{
foreach($dans as $pos => $value){
//$out['info'] .= '3:'.$pos.' == '.($num-1).'|';
if($pos == ($num-1)){//сохраняем только нужные номера
//нужно определить отчетный период! $_SESSION['otchgods'][3]
$sql = 'SELECT id FROM '.$ST['dbpf'].'_rejt_saves WHERE id_user='.$id_user.' AND id_razdel='.$id_razdel.' AND id_items='.$id_items.' AND id_itemspolyas='.$id_itemspolyas.' AND pos='.$pos.' AND (data_c BETWEEN '.$_SESSION['otchgods'][3]['data_s1'].' AND '.$_SESSION['otchgods'][3]['data_s2'].') LIMIT 1';
$rez = $DB->QUR_SEL($sql);
//$out['info'] .= $sql.print_r($rez,1);
if(mb_strpos($value, '|')!==false){
$t=explode('|',$value);
$id_polyas=$t[0];
$value=$t[1];
}else{
$id_polyas=0;
}
if($rez&&$rez[0]){//обновляем
$sql = 'UPDATE '.$ST['dbpf'].'_rejt_saves SET value="'.addslashes($value).'",id_polyas='.$id_polyas.',data_c='.$data_c.' WHERE id='.$rez[1]['id'].' LIMIT 1';
$rez = $DB->QUR($sql);
if(!$rez['err']) $suc1++; else $err1++;
//$out['info'] .= $sql.print_r($rez,1);
}else{//вставляем
$sql = 'INSERT INTO '.$ST['dbpf'].'_rejt_saves VALUES(0,'.$data_c.','.$id_user.','.$id_razdel.','.$id_items.','.$id_itemspolyas.','.$id_polyas.',"'.addslashes($value).'",'.$pos.');';
$rez = $DB->QUR($sql);
if(!$rez['err']) $suc2++; else $err2++;
//$out['info'] .= $sql.print_r($rez,1);
}
}
}
}
}
}
}
}
}
$out['formuls'] = rejt_raschet($i,$_SESSION['user']['id']);
rejt_savesballs($r,$i,$_SESSION['user']['id'],$out['formuls']['itogo'],'save',$data_c);
if($out['formuls']['itogo']==0){
$out['info'] .= 'подсчет баллов, будет после обновления страницы';
}else{
$out['info'] .= 'Баллов: '.$out['formuls']['itogo'].', текущая запись: '.$out['formuls'][($num-1)].' ';
$out['info'] .= 'Позицию '.($num).': ';
if($suc1!=0){
$out['info'] .= 'Обновили. '.$suc1.'/'.$err1.'';
}
if($suc2!=0){
if($suc1!=0) $out['info'] .= ' | ';
$out['info'] .= 'Обновили. '.$suc2.'/'.$err2.'';
}
}
//$out['info'] = 'Upd:'.$suc1.'/'.$err1.' Save:'.$suc2.'/'.$err2;
//$out['info'] .= '
'.print_r($_POST,1).'
';
//$out['info'] .= '
'.print_r($_FILES,1).'
';
}
if($_POST['ajdes']=='rejt_pba'){//рейтинг добавление элементов в анкету
$r = (int)$_POST['r'];
$i = (int)$_POST['i'];
$num = (int)$_POST['num'];
//выбираем поля и формируем форму для отправки
$items=array();
$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_rejt_items WHERE id_razdel='.$r.' AND id='.$i.'';
$rez1 = $DB->QUR_SEL($sql1);
if($rez1){
foreach($rez1 as $key1 => $val1)if($key1){
$val1['itemspolyas']=array();
$sql2 = 'SELECT * FROM '.$ST['dbpf'].'_rejt_itemspolyas WHERE id_item='.$val1['id'].' ORDER BY pos';
$rez2 = $DB->QUR_SEL($sql2);
if($rez2){
foreach($rez2 as $key2 => $val2)if($key2){
$val2['polyas']=array();
$sql3 = 'SELECT * FROM '.$ST['dbpf'].'_rejt_polyas WHERE id_item='.$val2['id'].' ORDER BY pos';
$rez3 = $DB->QUR_SEL($sql3);
if($rez3){
foreach($rez3 as $key3 => $val3)if($key3){
$val2['polyas'][]=$val3;
}
}
$val1['itemspolyas'][]=$val2;
}
}
$items=$val1;
}
}
if(count($items['itemspolyas'])){
$html = '
';
}
$out['html'] = $html;
}
if($_POST['ajdes']=='studkadr_save'){//студ кадры сохраняют договор дату и номер
$id=(int)$_POST['id'];
$nomer=addslashes(htmlspecialchars($_POST['nomer']));
$data=addslashes(htmlspecialchars($_POST['data']));
$out['err']=1;
$sql = 'SELECT * FROM '.$ST['dbpf'].'_iup_studkadr WHERE id_studentzayavks='.$id.' LIMIT 1';
$rez = $DB->QUR_SEL($sql);
if($rez){
$sql = 'UPDATE '.$ST['dbpf'].'_iup_studkadr SET nomer="'.$nomer.'",`data`="'.$data.'" WHERE id_studentzayavks='.$id.'';
$rez = $DB->QUR($sql); //$out['d']=$sql.print_r($rez,1);
if($rez){ $out['err']=0; }else $out['err']=1;
}else{
$sql = 'INSERT INTO '.$ST['dbpf'].'_iup_studkadr VALUES(0,'.time().','.$id.','.$_SESSION['user']['id'].',"'.$nomer.'","'.$data.'")';
$rez = $DB->QUR($sql);
if($rez){ $out['err']=0; }else $out['err']=1;
}
}
if($_POST['ajdes']=='zamdekan_change_plan'){//замдекана меняет учебный план
if(isset($_POST['id_zayavka'])&&isset($_POST['id_plan'])){
$is_change = 0;
$id_zayavka=(int)$_POST['id_zayavka'];
$id_plan=(int)$_POST['id_plan'];
//acs_iup_zayavka_plan: id, data_c, id_user, id_zayavka, id_plan
$sql = 'DELETE FROM '.$ST['dbpf'].'_iup_zayavka_plan WHERE id_zayavka='.$id_zayavka.'';
$rez = $DB->QUR($sql);
$sql = 'SELECT id FROM '.$ST['dbpf'].'_iup_zayavka_plan WHERE id_zayavka='.$id_zayavka.' AND id_plan='.$id_plan.' LIMIT 1';
$rez = $DB->QUR_SEL($sql);
if ($rez) {
$zp = $rez[1];
$sql = 'UPDATE '.$ST['dbpf'].'_iup_zayavka_plan SET id_plan = '.$id_plan.' WHERE id='.$zp['id'].' LIMIT 1';
$rez = $DB->QUR($sql);
if ($rez) $is_change = 1;
}else{
$sql = 'INSERT INTO '.$ST['dbpf'].'_iup_zayavka_plan VALUES (0,'.time().','.$_SESSION['user']['id'].','.$id_zayavka.','.$id_plan.')';
$rez = $DB->QUR($sql);
if ($rez) $is_change = 1;
}
if($is_change==1){
}
}
}
if($_POST['ajdes']=='zamdekan_delediscip'){//замдекана удаляет дисциплину
if(isset($_POST['id_zayavka'])){
$id_zayavka=(int)$_POST['id_zayavka'];
$cc = iup_DelCacheFile_zamDek($id_zayavka);//НАДО УДАЛЯТЬ КЭШ!
}
$id=(int)$_POST['id'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE id='.$id.'';
$rez = $DB->QUR($sql);
if($rez){
$out['err']=0;
}else $out['err']=1;
}
if($_POST['ajdes']=='zamdekan_copydiscip'){//замдекана компирует дисциплину
$tmp=array();
$tmp['err']='';
if(isset($_POST['id_zayavka'])){
$id_zayavka=(int)$_POST['id_zayavka'];
$cc = iup_DelCacheFile_zamDek($id_zayavka);//НАДО УДАЛЯТЬ КЭШ!
//tmp/iup/json_get_predmets_a02c88e023da30181951973e21638bca.json
//tmp/iup/json_get_predmets_e29c038b0443705d3fdda3015a7d0d4e.json
/*
$fakultet=Факультет аграрных технологий; $spec=ЗУ:Землеустройство и кадастры:Землеустройство:Бакалавриат; $kurs=5; $fo=заочная; $file=tmp/iup/json_get_predmets_e29c038b0443705d3fdda3015a7d0d4e.json
"cc": {
"fakultet": "Факультет аграрных технологий",
"spec": "ЗУ:Землеустройство и кадастры:Землеустройство:Бакалавриат",
"kurs": "5",
"fo": "заочная",
"file": "tmp/iup/json_get_predmets_e29c038b0443705d3fdda3015a7d0d4e.json",
"exist": 1
}
}
*/
}
$id=(int)$_POST['id'];
$ze=(int)$_POST['ze'];
$sem=(int)$_POST['sem'];
$form=$_POST['form'];
//сначала выбирем и продублируем
$sql = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE id='.$id.'';
$rez = $DB->QUR_SEL($sql);
if($rez){
$s = $rez[1];
$s['discip'] = $s['discip'].'(дубл)';
if($sem!='') $s['sem'] = (int)$sem;
if($ze!='') $s['zet'] = $ze;
if($s['sem']==1||$s['sem']==2) $s['kurs']=1;
if($s['sem']==3||$s['sem']==4) $s['kurs']=2;
if($s['sem']==5||$s['sem']==6) $s['kurs']=3;
if($s['sem']==7||$s['sem']==8) $s['kurs']=4;
if($s['sem']==9||$s['sem']==10) $s['kurs']=5;
$s['ekz']='';
$s['zach']='';
$s['krab']='';
$s['kpro']='';
if($form=='Э') $s['ekz']='1';
if($form=='З') $s['zach']='1';
if($form=='КР') $s['krab']='1';
if($form=='КП') $s['kpro']='1';
$sqlu1 = 'INSERT INTO '.$ST['dbpf'].'_iup_shahtplans_stroki VALUES(0,'.$s['id_plans'].',"'.$s['discip'].'","'.$s['discid'].'","'.$s['kurs'].'","'.$s['sem'].'","'.$s['lek'].'","'.$s['lab'].'","'.$s['pr'].'","'.$s['srs'].'","'.$s['chasekz'].'","'.$s['zet'].'","'.$s['ekz'].'","'.$s['zach'].'","'.$s['vidkontr'].'","'.$s['kontrab'].'","'.$s['kontr'].'","'.$s['sessiya'].'","'.$s['dispovyb'].'","'.$s['kpro'].'","'.$s['krab'].'");';
$rezu1 = $DB->QUR($sqlu1);
if(!$rezu1['err']){
$sql = 'SELECT
file.id as fid,
file.godob,
plan.id as pid,
stroka.id as sid,
stroka.discip,
stroka.discid,
stroka.kurs,
stroka.sem,
stroka.ekz,
stroka.zach,
stroka.zet,
stroka.dispovyb,
stroka.kpro,
stroka.krab
FROM
'.$ST['dbpf'].'_iup_shahtplans as file,
'.$ST['dbpf'].'_iup_shahtplans_plans as plan,
'.$ST['dbpf'].'_iup_shahtplans_stroki as stroka
WHERE
stroka.id='.$id.' AND
plan.id_file=file.id AND
stroka.id_plans=plan.id';
$rez = $DB->QUR_SEL($sql);
if($rez){
$v=$rez[1];
$tmp['id']=$v['sid'];
$tmp['name_disp']=$v['discip'];
$tmp['discid']=$v['discid'];
$tmp['kurs']=$v['kurs'];
$tmp['sem']=$v['sem'];
$tmp['ekz']=$v['ekz'];
$tmp['zach']=$v['zach'];
$tmp['zet']=$v['zet'];
$tmp['godob']=$v['godob'];
$tmp['dispovyb']=$v['dispovyb'];
$tmp['kpro']=$v['kpro'];
$tmp['krab']=$v['krab'];
}else $tmp['err']='Ошибка выбора дубликата дисциплины';
}else $tmp['err']='Ошибка создания дубликата дисциплины';
}else $tmp['err']='Ошибка выбора оригинала дисциплины';
$tmp['cc'] = $cc;
$out = $tmp;
}
if($_POST['ajdes']=='write_razrab_send'){//отправка отзывов
$mess = htmlspecialchars($_POST['mess']);
//acs_otzyvy id data_c mess page session json
$page = htmlspecialchars($_POST['loca']);
$json = json_encode(array('refer'=>$_SERVER['HTTP_REFERER'],'ua'=>$_SERVER['HTTP_USER_AGENT'],));
$session = json_encode($_SESSION);
$sql = 'INSERT INTO '.$ST['dbpf'].'_otzyvy VALUES(0,'.time().',"'.addslashes($mess).'","'.addslashes($page).'","'.addslashes($session).'","'.addslashes($json).'");';
$rez = $DB->QUR($sql);
if(!$rez['err']) $out['html'].='отправили'; else $out['html'].='ошибка';
}
if($_POST['ajdes']=='change_iup_users'){//смена прав доступа для преподов
$out['html']='';
$id_user=(int)$_POST['fioid'];
$fakultet=addslashes($_POST['fakultet']);
$kafedra=addslashes($_POST['kafedra']);
$statuses=implode(',',$_POST['statuses']);
$sql = 'UPDATE '.$ST['dbpf'].'_teachers SET fakultet="'.$fakultet.'",kafedra="'.$kafedra.'" WHERE id_user='.$id_user.'';
$rez = $DB->QUR($sql);
if(!$rez['err']) $out['html'].='OK'; else $out['html'].='NO';
$sql = 'UPDATE '.$ST['dbpf'].'_users_statuses SET statuses="'.$statuses.'" WHERE id_user='.$id_user.'';
$rez = $DB->QUR($sql);
if(!$rez['err']) $out['html'].=',OK'; else $out['html'].=',NO';
}
if($_POST['ajdes']=='iup_check_time'){//проверка назначенного времени для студента
$idz=(int)$_POST['id_z'];
$idp=(int)$_POST['id_p'];
$date=mysql_escape_string($_POST['date']); $t1=explode('.',$date);
$time=mysql_escape_string($_POST['time']); $t2=explode(':',$time);
$timestap1=mktime($t2[0],$t2[1]-10,0,$t1[1],$t1[0],$t1[2]);
$timestap2=mktime($t2[0],$t2[1]+10,0,$t1[1],$t1[0],$t1[2]);
//проверим занятость времени студента -10+10 мин
$sql = 'SELECT predmet ,data_time FROM '.$ST['dbpf'].'_iup_ocenki WHERE id_studentzayavks='.$idz.' AND (data_time>='.$timestap1.' AND data_time<='.$timestap2.') AND id_predmet!='.$idp.' ORDER BY data_c';
$rez = $DB->QUR_SEL($sql);
if($rez&&$rez[0]>0){
$out['html']='Студент занят: ';
foreach($rez as $key => $val)if($key){
$out['html'].=date('H:i d.m.Y',$val['data_time']).' - '.$val['predmet'].' ';
}
$out['html'].='';
}else{
$out['html']='студент свободен';
}
//проверим занятость преподавателя
$sql = 'SELECT prepod_id FROM '.$ST['dbpf'].'_iup_zamdekan WHERE id_studentzayavks='.$idz.' AND predmet_id='.$idp.' LIMIT 1';
$rez = $DB->QUR_SEL($sql);
if($rez&&$rez[0]>0){
$sql = 'SELECT predmet,data_time FROM '.$ST['dbpf'].'_iup_ocenki WHERE (data_time>='.$timestap1.' AND data_time<='.$timestap2.') AND id_user='.$rez[1]['prepod_id'].' ORDER BY data_c';
$rez = $DB->QUR_SEL($sql);
if($rez&&$rez[0]>0){
$out['html'].='Вы заняты: ';
foreach($rez as $key => $val)if($key){
$out['html'].=date('H:i d.m.Y',$val['data_time']).' - '.$val['predmet'].' ';
}
$out['html'].='';
}else{
$out['html'].='вы свободны';
}
}
$out['idz']=$idz;
$out['idp']=$idp;
//$out['sql']=$sql;//SELECT predmet ,data_time FROM acs_iup_ocenki WHERE id_studentzayavks=6385 AND (data_time>=1543294200 AND data_time<=1543295400) ORDER BY data_c
}
if($_POST['ajdes']=='change_email'){//смена емаил у пользователя
$email = mysql_escape_string($_POST['email']);
$sql = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE email="'.$email.'"';
$rez = $DB->QUR_SEL($sql);
if($rez&&$rez[0]>0){
$out['err']='1';
$out['html']='Указанный вами адрес уже существует в базе. Напишите письмо на адрес it@mkgtu.ru, укажите ваше ФИО и логин(под которым вы авторизуетесь) и укажите какой у вас рабочий емаил, мы исправим ошибку.';
}else{
$sql = 'SELECT * FROM '.$ST['dbpf'].'_users_emails WHERE email="'.$email.'"';
$rez = $DB->QUR_SEL($sql);
if($rez&&$rez[0]>0){
$out['err']='2';
$out['html']='Указанный вами адрес уже кто то указал как свой рабочий. Проверьте свою почту на наличие письма с сайта learn-mkgtu.ru(возможно попало в СПАМ), и пройдите по ссылке указанной в письме. Напишите письмо на адрес it@mkgtu.ru, укажите ваше ФИО и логин(под которым вы авторизуетесь) и укажите какой у вас рабочий емаил, мы исправим ошибку.';
}else{
$md5 = md5(implode('::',$_SESSION['user']));
$sql = 'INSERT INTO '.$ST['dbpf'].'_users_emails VALUES(0,'.time().','.$_SESSION['user']['id'].',"'.$email.'",0,"'.$md5.'")';
$rez = $DB->QUR($sql);
if(!$rez['err']){
$url = 'http://'.$_SERVER['HTTP_HOST'].'/chemail/'.$md5.'/';
$out['err']='0';
$out['html']='Проверьте свою почту на наличие письма с сайта learn-mkgtu.ru(возможно попало в СПАМ), и пройдите по ссылке указанной в письме. После этого смениться ваш емаил адрес!';
$mess='Вы указали емаил на сайте http://'.$_SERVER['HTTP_HOST'].'/ как рабочий электронный адрес.'." \n";
$mess.='Ваш новый логин: '.$email.', теперь надо его указывать при входе на сайт!'." \n";
$mess.='Для внесения изменения необходимо пройти по ссылке '.$url.''." \n";
send_email('Изменение email на сайте электронно информационо-образовательной среды',$mess,$email);
}else{
$out['err']='3';
$out['html']='Произошла ошибка сохранения данных. Напишите письмо на адрес it@mkgtu.ru, укажите ваше ФИО и логин(под которым вы авторизуетесь) и укажите какой у вас рабочий емаил, мы исправим ошибку.';
}
}
}
}
if($_POST['ajdes']=='search_prepod'){//поиск препода по ФИО
$fio = mysql_escape_string($_POST['fio']);
$sql = 'SELECT u.id as uid,u.fio, t.id as tid FROM '.$ST['dbpf'].'_users as u,'.$ST['dbpf'].'_teachers as t WHERE fio LIKE "%'.$fio.'%" AND t.status = 1 AND u.id=t.id_user AND u.status!=-1 LIMIT 10';
$rez = $DB->QUR_SEL($sql);
if($rez){
foreach($rez as $key => $val)if ($key){
$out['prepods'][]=array('id'=>$val['tid'],'fio'=>$val['fio'],'uid'=>$val['uid']);
}
}
}
if ($_POST['ajdes'] == 'save_optionally'){ //дисциплины по выбору
$str = $DB->rescape($_POST["str"]);
$id_user = $_SESSION['user']['id'];
$out['error'] = 0; //сначала ошибок нет
if ((stripos($str, 'undefined')) === false){
$sql = 'INSERT INTO '.$ST['dbpf'].'_optionally (`id_user`, `id_predmets`) VALUES ("'.$id_user.'", "'.$str.'");';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
save_logs('Студент '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' выбрал предметы');
}
else{
$out['error'] = 1;
}
}
if ($_POST['ajdes'] == 'student_zayvka_view'){ //дисциплины по выбору - заф кафедрой выбрал студента, чтобы посмотреть выбранные им предметы
$out['html'] = '';
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'SELECT * FROM '.$ST['dbpf'].'_optionally WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
$i = 0;
$pr = explode(",", $rez[1]['id_predmets']);
//$out['html'] .= '
123'.$rez[1]['id_predmets'].'
';
//перебираем ид предметов, которые выбрал студент
while ($i <= count($pr)){
//достаем название предмета
$sql2 = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE `id` = "'.$pr[$i].'" ';
$rez2 = $DB->QUR_SEL($sql2);
$out['html'] .= $rez2[1]['discip'].' ';
$i++;
}
}
//TEACH ПРАКТИКА
function practices_table(){
GLOBAL $DB, $ST;
$str = '';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_practices';
$rez = $DB->QUR_SEL($sql);
if ($rez){
$i = 0;
foreach ($rez as $key => $val) if ($key){
$i++;
//направление (профиль) подготовки
$sql_start = 'SELECT * FROM '.$ST['dbpf'].'_profile_start WHERE `id` = "'.$val["id_start"].'"';
$rez_start = $DB->QUR_SEL($sql_start); //year start education
//profile education
$sql_profile = 'SELECT * FROM '.$ST['dbpf'].'_profile WHERE `id` = "'.$rez_start[1]["id_profile"].'"';
$rez_profile = $DB->QUR_SEL($sql_profile);
//areas education
$sql_area = 'SELECT * FROM '.$ST['dbpf'].'_areas WHERE `id` = "'.$rez_profile[1]["id_areas"].'"';
$rez_area = $DB->QUR_SEL($sql_area);
//код направления - профиль направления
$val['id_start'] = $rez_area[1]["code"]." ".$rez_profile[1]["name"];
//год подготовки
$val['year'] = $rez_start[1]["year"];
//форма обучения
$val['forma'] = $rez_start[1]["forma"];
if ($val["forma"] == 1) $val["forma"] = "очная";
else $val["forma"] = "заочная";
$str .= '
'.$i.'
'.$val["id_start"].'
'.$val["year"].'
'.$val["forma"].'
'.$val["semestr"].'
'.$val["type"].'
'.$val["name"].'
'.$val["count_ze"].'
'.$val["duration"].'
'.$val["control"].'
'.$val["reporting"].'
Удалить
';
}
}
return $str;
}
//добавление практики
if ($_POST['ajdes'] == 'add_practic'){
$out['html'] = '==';
$error = 0;
//принимаем поля
$start = $_POST["start"];
$semestr = $_POST["semestr"];
$type = $_POST["type"];
$name = $DB->rescape($_POST["name"]);
$count_ze = $_POST["count_ze"];
$duration = $_POST["duration"];
$control = $_POST["control"];
$reporting = $_POST["reporting"];
//проверяем,нет ли ошибок
if ($start == '') $error = 1;
if ($semestr == '') $error = 1;
if ($type == '') $error = 1;
if ($name == '') $error = 1;
if ($count_ze == '') $error = 1;
if ($duration == '') $error = 1;
if ($control == '') $error = 1;
if ($reporting == '') $error = 1;
if ($error == 0){
//дополнительная проверка, нет ли такой практики
$sql_is = 'SELECT * FROM '.$ST['dbpf'].'_practices WHERE `id_start` = "'.$start.'" AND `name` = "'.$name.'" ';
$rez_is = $DB->QUR_SEL($sql_is);//исправить SQL иньекцию!!!
if ($rez_is[0] == 0){
$sql = 'INSERT INTO '.$ST['dbpf'].'_practices (`id_start`, `semestr`, `type`, `name`, `count_ze`, `duration`, `control`, `reporting`) VALUES ("'.$start.'", "'.$semestr.'", "'.$type.'", "'.$name.'", "'.$count_ze.'", "'.$duration.'", "'.$control.'", "'.$reporting.'")';
$rez = $DB->QUR($sql);
$out['html'] = practices_table();
}
}
}
//кнопка я онлайн
if ($_POST['ajdes'] == 'active_online'){
if(isset($_SESSION['user'])){
save_logs('Я online '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].'');
$_SESSION['iamonline']=time();
}
}
//ПУСТОЙ - ДА, ИМЕННО ТАК - ДЛЯ тестов, например
if ($_POST['ajdes'] == 'empty_post'){/**/}
//просмотр анкеты 2020 - опрос о качестве дистанционного обучения
if ($_POST['ajdes'] == 'anketa2020'){
$id = (int)$DB->rescape($_POST['id']);
$sql = 'SELECT * FROM '.$ST['dbpf'].'_anketes WHERE id = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
if ($rez){
$fio = get_user($rez[1]['id_user']);
$out['id'] = $rez[1]['id'];
$out['html'] = $rez[1]['content'];
}
$out['fio'] = $fio['fio'];
}
//отмечаем анкету просмотренной
if ($_POST['ajdes'] == 'anketa2020_ok'){
$id = (int)$DB->rescape($_POST['id']);
$sql = 'UPDATE '.$ST['dbpf'].'_anketes SET status = "1" WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = '';
}
//удаление анкеты
if ($_POST['ajdes'] == 'anketa2020_del'){
$id = (int)$_POST['id'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_anketes WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = '';
}
//ОБХОДНЫЕ ЛИСТЫ
//вывод списка необходимых студентов
if ($_POST['ajdes'] == 'show_students_obh'){
$id = (int) $_POST['id_grupp'];
$content = '';
//$sql = 'SELECT us.*, stud.* FROM '.$ST['dbpf'].'_users as us, '.$ST['dbpf'].'_students as stud WHERE stud.id_grupp = "'.$id.'" AND us.id = stud.id_user AND us.status>-1 AND stud.status>-1';
$sql = 'SELECT us.*, stud.* FROM '.$ST['dbpf'].'_users as us, '.$ST['dbpf'].'_students as stud WHERE stud.id_grupp = "'.$id.'" AND us.id = stud.id_user AND us.status>-1 AND stud.status>-1';
$rez = $DB->QUR_SEL($sql);
$content .= '
';
$content .= '
№
ФИО студента
Общежитие
Библиотека
БФУ
Трудоустройство
';
if ($rez){
$i = 0;
foreach ($rez as $key => $val) if ($key) {
//проверяем есть ли уже обходной у выпускника, если есть, то не создаем
$sql_obh = 'SELECT * FROM '.$ST['dbpf'].'_obhods WHERE id_user = "'.$val['id_user'].'"';
$rez_obh = $DB->QUR_SEL($sql_obh);
if ($rez_obh){}
if ($rez_obh[0] == 0){
$i++;
$gr = get_student($val['id_user']);
$content .= '
';
$out['html'] = $content;
}
//создание обходных листов
if ($_POST['ajdes'] == 'add_obhod'){
$user = (int) $_POST['user'];
$vib = $_POST['vib'];
$obj = $_POST['obj'];
$lib = $_POST['lib'];
$bfu = $_POST['bfu'];
$trud = $_POST['trud'];
$vib = ($vib == 'checked') ? 1 : 0;
$obj = ($obj == 'checked') ? 0 : 1;
$lib = ($lib == 'checked') ? 0 : 1;
$bfu = ($bfu == 'checked') ? 0 : 1;
$trud = ($trud == 'checked') ? 0 : 1;
/**/
$fak = $_POST['fak'];
$kaf = $_POST['kaf'];
if (($vib == 1) && ($user != 0)){
$sql = 'INSERT INTO '.$ST['dbpf'].'_obhods (id_user, pl_fakult, pl_obj, pl_lib, pl_kaf, pl_bfu, pl_trud, comments, dekanat, kafedra) VALUES ("'.$user.'","0","'.$obj.'","'.$lib.'","0","'.$bfu.'","'.$trud.'"," ","'.$fak.'","'.$kaf.'" )';
$rez = $DB->QUR($sql);
save_logs('Создан новый обходный лист для студента '.$user);
}
}
//подтверждение обходного
if ($_POST['ajdes'] == 'obhod_ok'){
$place = (int)$_POST['place'];
$id = (int)$_POST['id'];
$ww='';
if ($place == 0) {
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_fakult = "1" WHERE id = "'.$id.'" ';
$ww='fakult';
}
if ($place == 1) {
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_obj = "1" WHERE id = "'.$id.'" ';
$ww='obj';
}
if ($place == 2) {
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_lib = "1" WHERE id = "'.$id.'" ';
$ww='lib';
}
if ($place == 3) {
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_kaf = "1" WHERE id = "'.$id.'" ';
$ww='kaf';
}
if ($place == 4) {
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_bfu = "1" WHERE id = "'.$id.'" ';
$ww='bfu';
}
if ($place == 5) {
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_trud = "1" WHERE id = "'.$id.'" ';
$ww='trud';
}
$rez = $DB->QUR($sql);
save_logs('Одобрение ('.$ww.') обходного №'.$id);
}
//полное удаление обходного листа
if ($_POST['ajdes'] == 'obhod_delete'){
$id = (int)$_POST['id'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_obhods WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Полное удаление обходного №'.$id);
}
//отклонение обходного
if ($_POST['ajdes'] == 'obhod_no'){
$comm = $_POST['comm'];
$place = $_POST['place'];
$id = (int)$_POST['id'];
$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_obhods WHERE `id` = "'.$id.'" ';
$rez1 = $DB->QUR_SEL($sql1);
if ($rez1){
//$comm .= $rez[1]['comm'].' ';
if ($place == 0) {
$comm = $rez1[1]['comments'].' Деканат: '.$comm;
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_fakult = "-1", comments = "'.$comm.'" WHERE id = "'.$id.'" ';
}
if ($place == 1) {
$comm = $rez1[1]['comments'].' Общежитие: '.$comm;
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_obj = "-1", comments = "'.$comm.'" WHERE id = "'.$id.'" ';
}
if ($place == 2) {
$comm = $rez1[1]['comments'].' Библиотека: '.$comm;
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_lib = "-1", comments = "'.$comm.'" WHERE id = "'.$id.'" ';
}
if ($place == 3) {
$comm = $rez1[1]['comments'].' Выпускающая кафедра: '.$comm;
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_kaf = "-1", comments = "'.$comm.'" WHERE id = "'.$id.'" ';
}
if ($place == 4) {
$comm = $rez1[1]['comments'].' Бюджетно-финансовое управление: '.$comm;
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_bfu = "-1", comments = "'.$comm.'" WHERE id = "'.$id.'" ';
}
if ($place == 5) {
$comm = $rez1[1]['comments'].' Трудоустройство: '.$comm;
$sql = 'UPDATE '.$ST['dbpf'].'_obhods SET pl_trud = "-1", comments = "'.$comm.'" WHERE id = "'.$id.'" ';
}
}
$rez = $DB->QUR($sql);
save_logs('Отклонение обходного №'.$id);
}
//**************************//
if($_POST['ajdes']=='liquidation_ved_filter'){
if($_POST['filter']!='all') $_SESSION['liquidation_ved_filter_fo'] = $_POST['filter'];
else unset($_SESSION['liquidation_ved_filter_fo']);
}
if($_POST['ajdes']=='liquidation_ved_filter_year'){
if($_POST['filter']!='all') $_SESSION['liquidation_ved_filter_year'] = $_POST['filter'];
else unset($_SESSION['liquidation_ved_filter_year']);
}
if($_POST['ajdes']=='liquidation_ved_filter_yearnab'){
if($_POST['filter']!='all') $_SESSION['liquidation_ved_filter_yearnab'] = $_POST['filter'];
else unset($_SESSION['liquidation_ved_filter_yearnab']);
}
//ЛИКВИДАЦИЯ ЗАДОЛЖЕННОСТЕЙ
//вывод списка необходимых студентов
if ($_POST['ajdes'] == 'show_students'){
$id = (int)$_POST['id_grupp']; //преобразовываем к целому типу
//$content = '';
$content = '';
$sql = 'SELECT us.*, stud.* FROM '.$ST['dbpf'].'_users as us, '.$ST['dbpf'].'_students as stud WHERE stud.id_grupp = "'.$id.'" AND us.id = stud.id_user AND us.status>-1 AND stud.status>0 ORDER BY us.fio';
$rez = $DB->QUR_SEL($sql);
if ($rez){
foreach ($rez as $key => $val) if ($key) {
$content .= '';
}
}
$out['html'] = $content;
}
//вывод списка необходимых студентов
if ($_POST['ajdes'] == 'show_students_v'){
$id = (int)$_POST['id_grupp'];
//$content = '';
$content = '';
$sql = 'SELECT us.*, stud.* FROM '.$ST['dbpf'].'_users as us, '.$ST['dbpf'].'_students as stud WHERE stud.id_grupp = "'.$id.'" AND us.id = stud.id_user AND us.status>-1 AND stud.status>0 ORDER BY us.fio';
$rez = $DB->QUR_SEL($sql);
if ($rez){
foreach ($rez as $key => $val) if ($key) {
$gr = get_student($val['id_user']);
$content .= '';
}
}
$out['html'] = $content;
/*РАБОТАЕМ С УЧЕБНЫМ ПЛАНОМ*/
//теперь подхватываем дисциплины из учебного плана
$content = '';
$grupp = get_grupp($id); //информация о группе
if ($grupp['fo'] == 'ОФО') $fo = 'очная'; elseif ($grupp['fo'] == 'ЗФО') $fo = 'заочная'; else $fo = 'очно-заочная';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_plans WHERE shifr1 = "'.$grupp['specialnost'].'" AND godnap="'.$grupp['year_start'].'" AND forobu = "'.$fo.'" ';
$rez = $DB->QUR_SEL($sql);
//$out['sql1'] = $sql;
//$out['rez1'] = $rez;
//sql1:"SELECT * FROM acs_iup_shahtplans_plans WHERE shifr1 = \"\" AND godnap=\"2023\" AND forobu = \"заочная\" "
$id_plans = '';
if ($rez) foreach ($rez as $key => $val) if ($key) $id_plans .= $val['id'].',';
$id_plans .= '0';
//теперь обходим дисциплины плана или планов, если их было несколько
//$sql_str = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE id_plans = "'.$rez[1]['id'].'" GROUP BY discip ORDER BY discip LIMIT 250 ';
$sql_str = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE id_plans IN ('.$id_plans.') GROUP BY discip ORDER BY discip LIMIT 500 ';
//$content .= '';
$content .= '';
$rez_str = $DB->QUR_SEL($sql_str);
//$out['sql2'] = $sql_str;
//$out['rez2'] = $rez_str;
//sql2:"SELECT * FROM acs_iup_shahtplans_stroki WHERE id_plans IN (0) GROUP BY discip ORDER BY discip LIMIT 500 "
if ($rez_str){
foreach ($rez_str as $key => $val) if ($key){
$content .= '';
}
}
$out['predmets'] = $content;
}
//выставление оценки по направлению
if ($_POST['ajdes'] == 'mark_liq'){
$id = (int)$_POST['id'];
$mark = $_POST['mark'];
$date = date("U");
$sql = 'UPDATE '.$ST['dbpf'].'_liquidation SET mark = "'.$mark.'", date_mark = "'.$date.'" WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Преподаватель выставил оценку по направлению №'.$id);
}
//выставление оценок в ведомость
if ($_POST['ajdes'] == 'mark_stat'){
$id = $_POST['id'];
$result = $_POST['result'];
$pass = $_POST['pass'];
$date = date("U");
include_once 'inc/ps01salt.php';
$pass = md5($ps01salt[1].$pass.$ps01salt[2]);
$out['error'] = 0; //совпадает ли пароль (1 - да, 0 - нет)
$id_user = $_SESSION['user']['id'];
$sql = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE id = "'.$id_user.'" AND pass = "'.$pass.'" LIMIT 1';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
if ($rez){
$out['error']=$rez[0];
}
$out['error'] = 1; //на пароль забиваем, он теперь не нужен
if ($out['error'] == 1){
$part = explode(';', $result);
$i = 0;
while ($i <= count($part)){
$ch = explode('-', $part[$i]);
if ($ch[0] != '0'){
$sql = 'UPDATE '.$ST['dbpf'].'_liquidation SET mark = "'.$ch[0].'", date_mark = "'.$date.'" WHERE id = "'.$ch[1].'" ';
$rez = $DB->QUR($sql);
}
$i++;
}
save_logs('Преподаватель заполнил зачетно-экзаменнационную ведомость №'.$id);
}
}
//удаление направления
if ($_POST['ajdes'] == 'del_napr'){
$id = (int)$_POST['id'];
//21.12.2023 закоментил
$sql = 'DELETE FROM '.$ST['dbpf'].'_liquidation WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Удалено направление №'.$id);
$out['html'] = '';
}
//убрать оценку
if ($_POST['ajdes'] == 'zero_napr'){
$id = (int)$_POST['id'];
$sql = 'UPDATE '.$ST['dbpf'].'_liquidation SET mark = NULL and date_mark = NULL WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Удалена оценка по направлению №'.$id);
$out['html'] = '';
}
//удаление ведомости
if ($_POST['ajdes'] == 'del_stat'){
$id = (int)$_POST['id'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_statement WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR($sql);
$sql = 'DELETE FROM '.$ST['dbpf'].'_liquidation WHERE `id_stat` = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Удалена ведомость №'.$id);
$out['html'] = '';
}
//редактирование ведомости
if ($_POST['ajdes'] == 'edt_stat'){
$id = (int)$_POST['id'];
$sql = 'SELECT * FROM '.$ST['dbpf'].'_statement WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);
if($rez){
$out['statement'] = $rez[1];
$sql = 'SELECT * FROM '.$ST['dbpf'].'_liquidation WHERE `id_stat` = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);
if($rez) {
foreach($rez as $k => $v)if($k!=0) {
$v['date_end'] = date('Y-m-d',$v['date_end']);
$out['liquidation'][] = $v;
}
}
}
//{
// "statement": {
// "id": "55977",
// "date_create": "1694604778",
// "fakultet": "Технологический факультет",
// "print_st": "0",
// "id_grupp": "334"
// },
// "liquidation": [
// {
// "id": "750389", "id_student": "6726", "id_teacher": "7089", "fakultet": "Технологический факультет",
// "type": "2", "iup": "0", "name": "Проектная практика", "control": "6", "date_create": "1694604778",
// "date_end": "1701291600", "semestr": "8", "mark": null, "date_mark": null, "id_stat": "55977",
// "print": "0", "id_user": "7967"
// },
// {
// "id": "750387", "id_student": "9746", "id_teacher": "7089", "fakultet": "Технологический факультет",
// "type": "2", "iup": "0", "name": "Проектная практика", "control": "6", "date_create": "1694604778",
// "date_end": "1701291600", "semestr": "8", "mark": null, "date_mark": null, "id_stat": "55977",
// "print": "0", "id_user": "11588"
// },
// ],
// "html": ""
//}
$out['html'] = '';
}
//очистка ведомости
if ($_POST['ajdes'] == 'clear_stat'){
$id = (int)$_POST['id'];
$sql = 'UPDATE '.$ST['dbpf'].'_liquidation SET mark = NULL and date_mark = NULL WHERE `id_stat` = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Очищена от оценок ведомость №'.$id);
$out['html'] = '';
}
/*********************/
//активность преподавателей
if ($_POST['ajdes'] == 'active_prepod'){
$id_kaf = $_POST['id_kaf'];
$date_d = strtotime($_POST['date_d']);
//день недели
$week = date("W",$date_d);
$day = date("w",$date_d);
$content = '
№ п/п
ФИО преподавателя
1 пара (8.00 - 9.30)
2 пара (9.40 - 11.10)
3 пара (11.30 - 13.00)
4 пара (13.10 - 14.40)
5 пара (15.00 - 16.30)
6 пара (16.40 - 18.10)
7 пара (18.20 - 19.50)
8 пара (20.00 - 21.30)
';
if ($id_kaf != 'Политехнический колледж МГТУ') $sql = 'SELECT teach.*, kaf.*, us.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_kafedres as kaf, '.$ST['dbpf'].'_users as us WHERE teach.kafedra = kaf.name AND kaf.id = "'.$id_kaf.'" AND us.id = teach.id_user';
else $sql = 'SELECT teach.*, us.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_users as us WHERE teach.kafedra = "Политехнический колледж МГТУ" AND us.id = teach.id_user';
//неточности
if ($id_kaf == 7) $sql = 'SELECT teach.*, us.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_users as us WHERE teach.kafedra LIKE "%Маркетинга%" AND us.id = teach.id_user';
if ($id_kaf == 4) $sql = 'SELECT teach.*, us.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_users as us WHERE teach.kafedra LIKE "%Автомобильного%" AND us.id = teach.id_user';
if ($id_kaf == 21) $sql = 'SELECT teach.*, us.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_users as us WHERE teach.kafedra LIKE "%Фармац%" AND us.id = teach.id_user ';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
if ($rez){
$i = 0;
foreach ($rez as $key => $val) if ($key){
//записываем названия пар
$url = 'http://local.mkgtu.ru/calchour_2020/get_json.php?json=get_raspis_prepod&fio='.urlencode($val['fio']).' ';
$json = file_get_contents($url);
$json1 = json_decode($json,1);
//список дисциплин по расписанию, который заполнять будем
$predmet1 = '';
$predmet2 = '';
$predmet3 = '';
$predmet4 = '';
$predmet5 = '';
$predmet6 = '';
$predmet7 = '';
$predmet8 = '';
//список групп
$gr1 = '';
$gr2 = '';
$gr3 = '';
$gr4 = '';
$gr5 = '';
$gr6 = '';
$gr7 = '';
$gr8 = '';
$k = 0;
//foreach ($json1[2] as $kk => $v) if ($kk){
while ($k <= count($json1[2])){
if ($json1[2][$k]['week1'] == (($week % 2)+1)) if ($json1[2][$k]['day1'] == $day ){
//какая аудитория
$aud = $json1[2][$k]['name_audit'];
if ($aud == 'ЭИОС') $aud = ''.$aud.'';
elseif ($aud == 'ZOOM') $aud = ''.$aud.'';
else $aud = ''.$aud.'';
//само расписание
if ($json1[2][$k]['time1'] == 1) $predmet1 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
if ($json1[2][$k]['time1'] == 2) $predmet2 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
if ($json1[2][$k]['time1'] == 3) $predmet3 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
if ($json1[2][$k]['time1'] == 4) $predmet4 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
if ($json1[2][$k]['time1'] == 5) $predmet5 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
if ($json1[2][$k]['time1'] == 6) $predmet6 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
if ($json1[2][$k]['time1'] == 7) $predmet7 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
if ($json1[2][$k]['time1'] == 8) $predmet8 = $aud.' '.$json1[2][$k]['predmet'].' (группа: '.$json1[2][$k]['name_grupp'].'-'.$json1[2][$k]['numer'].')';
}
$k++;
}
//Расписание пар
$p1 = $date_d + 8*60*60;
$p2 = $date_d + 9*60*60 + 40*60;
$p3 = $date_d + 11*60*60 + 30*60;
$p4 = $date_d + 13*60*60 + 10*60;
$p5 = $date_d + 15*60*60;
$p6 = $date_d + 16*60*60 + 40*60;
$p7 = $date_d + 18*60*60 + 20*60;
$p8 = $date_d + 20*60*60;
//ПРОВЕРКА ПОСЕЩАЕМОСТИ ОПТИМИЗИРОВАННАЯ
$sql_check = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE NOT (message LIKE "%Вошел%") AND message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$date_d.'" AND data_c <= "'.($date_d * 24*60*60).'" ';
//$sql_check = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$date_d.'" AND data_c <= "'.($date_d * 24*60*60).'" ';
$rez_check = $DB->QUR_SEL($sql_check);
if ($rez_check){
$is1 = 0;
$is2 = 0;
$is3 = 0;
$is4 = 0;
$is5 = 0;
$is6 = 0;
$is7 = 0;
$is8 = 0;
foreach ($rez_check as $kk => $v) if ($kk){
if (($v['data_c'] >= $p1)&&($v['data_c'] <= ($p1 + 90*60))) $is1++;
if (($v['data_c'] >= $p2)&&($v['data_c'] <= ($p2 + 90*60))) $is2++;
if (($v['data_c'] >= $p3)&&($v['data_c'] <= ($p3 + 90*60))) $is3++;
if (($v['data_c'] >= $p4)&&($v['data_c'] <= ($p4 + 90*60))) $is4++;
if (($v['data_c'] >= $p5)&&($v['data_c'] <= ($p5 + 90*60))) $is5++;
if (($v['data_c'] >= $p6)&&($v['data_c'] <= ($p6 + 90*60))) $is6++;
if (($v['data_c'] >= $p7)&&($v['data_c'] <= ($p7 + 90*60))) $is7++;
if (($v['data_c'] >= $p8)&&($v['data_c'] <= ($p8 + 90*60))) $is8++;
}
}
/*
$sql_p1 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p1.'" AND data_c <= "'.($p1 + 90*60).'" ';
$rez_p1 = $DB->QUR_SEL($sql_p1);
$sql_p2 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p2.'" AND data_c <= "'.($p2 + 90*60).'" ';
$rez_p2 = $DB->QUR_SEL($sql_p2);
$sql_p3 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p3.'" AND data_c <= "'.($p3 + 90*60).'" ';
$rez_p3 = $DB->QUR_SEL($sql_p3);
$sql_p4 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p4.'" AND data_c <= "'.($p4 + 90*60).'" ';
$rez_p4 = $DB->QUR_SEL($sql_p4);
$sql_p5 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p5.'" AND data_c <= "'.($p5 + 90*60).'" ';
$rez_p5 = $DB->QUR_SEL($sql_p5);
$sql_p6 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p6.'" AND data_c <= "'.($p6 + 90*60).'" ';
$rez_p6 = $DB->QUR_SEL($sql_p6);
$sql_p7 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p7.'" AND data_c <= "'.($p7 + 90*60).'" ';
$rez_p7 = $DB->QUR_SEL($sql_p7);
$sql_p8 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= "'.$p8.'" AND data_c <= "'.($p8 + 90*60).'" ';
$rez_p8 = $DB->QUR_SEL($sql_p8);
*/
$i++;
$content .= '
'.$i.'
'.$val['fio'].'
';
/*if ($is1 > 0) $content .= '
'; else $content .= '
';
if ($is2 > 0) $content .= '
'; else $content .= '
';
if ($is3 > 0) $content .= '
'; else $content .= '
';
if ($is4 > 0) $content .= '
'; else $content .= '
';
if ($is5 > 0) $content .= '
'; else $content .= '
';
if ($is6 > 0) $content .= '
'; else $content .= '
';
if ($is7 > 0) $content .= '
'; else $content .= '
';
if ($is8 > 0) $content .= '
'; else $content .= '
'; */
if ($is1 > 0) $content .= '
'.$predmet1.'
'; else $content .= '
'.$predmet1.'
';
if ($is2 > 0) $content .= '
'.$predmet2.'
'; else $content .= '
'.$predmet2.'
';
if ($is3 > 0) $content .= '
'.$predmet3.'
'; else $content .= '
'.$predmet3.'
';
if ($is4 > 0) $content .= '
'.$predmet4.'
'; else $content .= '
'.$predmet4.'
';
if ($is5 > 0) $content .= '
'.$predmet5.'
'; else $content .= '
'.$predmet5.'
';
if ($is6 > 0) $content .= '
'.$predmet6.'
'; else $content .= '
'.$predmet6.'
';
if ($is7 > 0) $content .= '
'.$predmet7.'
'; else $content .= '
'.$predmet7.'
';
if ($is8 > 0) $content .= '
'.$predmet8.'
'; else $content .= '
'.$predmet8.'
';
/*if ($rez_p1[0] > 0) $content .= '
1
'; else $content .= '
0
';
if ($rez_p2[0] > 0) $content .= '
1
'; else $content .= '
0
';
if ($rez_p3[0] > 0) $content .= '
1
'; else $content .= '
0
';
if ($rez_p4[0] > 0) $content .= '
1
'; else $content .= '
0
';
if ($rez_p5[0] > 0) $content .= '
1
'; else $content .= '
0
';
if ($rez_p6[0] > 0) $content .= '
1
'; else $content .= '
0
';
if ($rez_p7[0] > 0) $content .= '
1
'; else $content .= '
0
';
if ($rez_p8[0] > 0) $content .= '
1
'; else $content .= '
0
';*/
$content .='
';
}
}
$out['html'] = $content;
}
//активность студентов
if ($_POST['ajdes'] == 'active_stud'){
$id_grupp = $_POST['id_grupp'];
$podgrupp = $_POST['podgrupp'];
$content = '';
/****/
$users=array();
$m1=array('Вошел пользователь');
$m2=array('Вход');
if ($podgrupp!='') $podgrupp_sql = ' AND s.num_grupp = "'.$podgrupp.'"';
$sql = 'SELECT u.id as uid,u.fio,u.email,u.foto,s.* FROM '.$ST['dbpf'].'_students as s,'.$ST['dbpf'].'_users as u WHERE s.id_user=u.id '.$podgrupp_sql.' AND s.id_grupp = "'.$id_grupp.'" AND u.status>-1 ORDER BY u.fio';
//$content = $sql;
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
$content = print_r($rez,1);
if($rez){
foreach($rez as $key => $val)if($key){
//$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" ORDER BY data_c DESC';
$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= 1693515600 ORDER BY data_c DESC';
$rez1 = $DB->QUR_SEL($sql1);
if($rez1){
foreach($rez1 as $key1 => $val1)if($key1){
$val1['data_c'] = date('H:i d.m.Y',$val1['data_c']);
$val1['message'] = str_replace($m1,$m2,$val1['message']);
$val1['message'] = str_replace($val['fio'],'',$val1['message']);
$val1['message'] = str_replace($val['uid'],'',$val1['message']);
$val1['message'] = str_replace('id:','',$val1['message']);
$val1['message'] = str_replace('-: ','',$val1['message']);
$val1['message'] = str_replace(' :','',$val1['message']);
$val['logs'][] = $val1;
}
}
$users[] = $val;
}
}
$i = 0;
foreach ($users as $key => $val) if ($key){
$i++;
if ($i % 3 == 1) $content .= '
';
$content .= '
'.$val['fio'].'
';
foreach ($val['logs'] as $key2 => $val2) if ($key2){
$content .= $val2['data_c'].': '.$val2['message'].' ';
}
$content .= '
';
if ($i % 3 == 0) $content .= '
';
}
if ($i % 3 != 0) $content .= '';
$out['html'] = $content;
}
//активность кафедры
if ($_POST['ajdes'] == 'active_kaf'){
$kafedra = $_POST['kafedra'];
$date_start = strtotime($_POST['date_start']);
$date_end = strtotime($_POST['date_end']);
$part = $_POST['part'];
//echo date('H:i:s d.m.Y',$date_start).' - '.date('H:i:s d.m.Y',$date_end);
//00:00:00 25.04.2020 - 00:00:00 25.04.2020
$content = '';
/*****/
$users=array();
$m1=array('Вошел пользователь');
$m2=array('Вход');
if ($part == 0) $sql = 'SELECT u.id as uid,u.fio,u.email,u.foto,t.* FROM '.$ST['dbpf'].'_teachers as t,'.$ST['dbpf'].'_users as u WHERE t.id_user=u.id AND t.kafedra="'.$kafedra.'" AND NOT (u.fio = "") AND u.status>-1 AND t.status>-1 ORDER BY u.fio ';
else {
if ($part == 1) $sql = 'SELECT u.id as uid,u.fio,u.email,u.foto,t.* FROM '.$ST['dbpf'].'_teachers as t,'.$ST['dbpf'].'_users as u WHERE t.id_user=u.id AND t.kafedra="'.$kafedra.'" AND u.status>-1 AND t.status>-1 AND NOT (u.fio = "") ORDER BY u.fio LIMIT 15';
else {
$c = ($part-1) * 14;
$sql = 'SELECT u.id as uid,u.fio,u.email,u.foto,t.* FROM '.$ST['dbpf'].'_teachers as t,'.$ST['dbpf'].'_users as u WHERE t.id_user=u.id AND t.kafedra="'.$kafedra.'" AND u.status>-1 AND t.status>-1 AND NOT (u.fio = "") ORDER BY u.fio LIMIT '.$c.',15';
}
}
//echo $sql;
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
//echo $sql.'
'.print_r($rez,1).'
';
if($rez){
foreach($rez as $key => $val)if($key){
//$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" ORDER BY data_c DESC';
$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE message LIKE "%'.$val['fio'].'%" AND data_c >= '.$date_start.' AND data_c <= '.$date_end.' ORDER BY data_c DESC';
$rez1 = $DB->QUR_SEL($sql1);
//echo $sql1.'
';
foreach ($val['logs'] as $key2 => $val2) if ($key2){
$content .= $val2['data_c'].': '.$val2['message'].' ';
}
$content .= '
';
if ($i % 3 == 0) $content .= '
';
}
if ($i % 3 != 0) $content .= '';
//$content = '12222212312312323';
$out['html'] = $content;
}
//СВЕДЕНИЯ О НАУЧНО-ПЕДАГОГИЧЕСКОМ РАБОТНИКЕ
//удаление информации об образовании
if ($_POST['ajdes'] == 'del_education'){
$out['html'];
$id = (int) $_POST['id'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_education WHERE `id` = "'.$id.'"';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
}
//удаление информации о повышении квалифицации
if ($_POST['ajdes'] == 'del_skill'){
$out['html'];
$id = (int)$_POST['id'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_skills_qual WHERE `id` = "'.$id.'"';
$rez = $DB->QUR($sql);
}
//обновление информации о повышении квалификации
if ($_POST['ajdes'] == 'save_skill'){
$out['html'];
$id = (int) $_POST['id'];
$name = $_POST['name'];
$place = $_POST['place'];
$organization = $_POST['organization'];
$docs = $_POST['docs'];
$sql = 'UPDATE '.$ST['dbpf'].'_skills_qual SET name = "'.$name.'", place = "'.$place.'", organization = "'.$organization.'", number_docs = "'.$docs.'" WHERE id = '.$id.'';
$rez = $DB->QUR($sql);
}
//ALNEO UNIVERSITY
//функция, возвращаюся все учебные заведения в табличной форме
function schools_table(){
GLOBAL $DB, $ST;
$str = '';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_schools';
$rez = $DB->QUR_SEL($sql);
if ($rez){
$i = 0;
foreach($rez as $key => $val) if ($key){
$i++;
$str .= '
'.$i.'
'.$val["name"].'
Удалить
';
}
}
return $str;
}
//функция - возврат всех факультетов в табличной форме
function faculties_table(){
GLOBAL $DB, $ST;
$str = '';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_faculties';
$rez = $DB->QUR_SEL($sql);
if ($rez){
$i = 0;
foreach ($rez as $key => $val) if ($key){
$i++;
$sql_school = 'SELECT * FROM '.$ST['dbpf'].'_schools WHERE `id` = "'.$val["id_school"].'"';
$rez_school = $DB->QUR_SEL($sql_school);
$val['id_school'] = $rez_school[1]["name"];
$str .= '
'.$i.'
'.$val["name"].'
'.$val['id_school'].'
Удалить
';
}
}
return $str;
}
//возврат всех кафедр в табличной форме
function kafedres_table(){
GLOBAL $DB, $ST;
$str = '';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_kafedres';
$rez = $DB->QUR_SEL($sql);
if ($rez){
$i = 0;
foreach ($rez as $key => $val) if ($key){
$i++;
$sql_facult = 'SELECT * FROM '.$ST['dbpf'].'_faculties WHERE `id` = "'.$val["id_facult"].'"';
$rez_facult = $DB->QUR_SEL($sql_facult);
$val['id_facult'] = $rez_facult[1]["name"];
$str .= '
'.$i.'
'.$val["name"].'
'.$val['id_facult'].'
'.$val['code'].'
Удалить
';
}
}
return $str;
}
//функция, возвращая строку все направления подготовки в табличной форме
function areas_table(){
GLOBAL $DB, $ST;
$str = '';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_areas ';
$rez = $DB->QUR_SEL($sql);
if($rez){
$i = 0;
foreach($rez as $key => $val)if($key){
$i++;
$sql_kafedra = 'SELECT * FROM '.$ST['dbpf'].'_kafedres WHERE `id` = "'.$val["id_kafedra"].'"';
$rez_kafedra = $DB->QUR_SEL($sql_kafedra);
$val["id_kafedra"] = $rez_kafedra[1]["name"];
$str .= '
'.$i.'
'.$val["code"].'
'.$val["name"].'
'.$val["id_kafedra"].'
Удалить
';
}
}
return $str;
}
//функция возврата всех профилей подготовки
function profiles_table(){
GLOBAL $DB, $ST;
$str = '';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_profile ORDER BY `id_areas`';
$rez = $DB->QUR_SEL($sql);
if ($rez){
$i = 0;
foreach ($rez as $key => $val) if ($key){
//направление подготовки расписываем более подробно
$sql_area = 'SELECT * FROM '.$ST['dbpf'].'_areas WHERE `id` = "'.$val["id_areas"].'"';
$rez_area = $DB->QUR_SEL($sql_area);
$val['id_areas'] = $rez_area[1]['name'];
$str .= '
'.$key.'
'.$val["name"].'
'.$val['id_areas'].'
Удалить
';
}
}
return $str;
}
//функция возврата всех годов и форм обучения в табличной форме
function start_profile_table(){
GLOBAL $DB, $ST;
$str = '';
//года и форма обучения
$sql = 'SELECT * FROM '.$ST['dbpf'].'_profile_start ORDER BY `id_profile`';
$rez = $DB->QUR_SEL($sql);
if ($rez){
$i = 0;
foreach ($rez as $key => $val) if ($key){
$i++;
//выводим профиль подготовки
$sql_profile = 'SELECT * FROM '.$ST['dbpf'].'_profile WHERE `id` = "'.$val["id_profile"].'"';
$rez_profile = $DB->QUR_SEL($sql_profile);
$val['id_profile'] = $rez_profile[1]["name"];
if ($val["forma"] == 1) $val["forma"] = "очная";
else $val["forma"] = "заочная";
$str .= '
'.$i.'
'.$val["id_profile"].'
'.$val["year"].' ('.$val["forma"].')
Удалить
';
}
}
return $str;
}
//добавление нового учебного заведения
if ($_POST["ajdes"] == "add_school"){
$out["html"] = '';
$error = 0;
//принимаем значения
$name = $DB->rescape($_POST["name"]);
if ($name == '') $error = 1;
if ($error == 0){ //если нет ошибок, то продолжаем работу дальше
$sql = 'INSERT INTO '.$ST['dbpf'].'_schools (`name`) VALUES ("'.$name.'")';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = schools_table();
}
}
//удаление учебного заведения
if ($_POST["ajdes"] == "delete_school"){
$out['html'] = '';
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'DELETE FROM '.$ST['dbpf'].'_schools WHERE `id` = "'.$id.'"';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = schools_table();
}
//добавление нового факультета
if ($_POST["ajdes"] == "add_facult"){
$out['html'] = '';
$error = 0;
$school = (int) $_POST["school"];
$name = $_POST["name"];
if ($school == '') $error = 1;
if ($name == '') $error = 1;
if ($error == 0){ //если нет ошибок
$sql = 'INSERT INTO '.$ST['dbpf'].'_faculties (`id_school`, `name`) VALUES ("'.$school.'", "'.$name.'")';
$rez = $DB->QUR($sql);
$out['html'] = faculties_table();
}
}
//удаление факультета
if ($_POST["ajdes"] == "delete_facult"){
$out['html'] = '';
$id = (int) $_POST["id"];
$sql = 'DELETE FROM '.$ST['dbpf'].'_faculties WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR($sql);
$out['html'] = faculties_table();
}
//добавление новой кафедры
if ($_POST["ajdes"] == "add_kaf"){
$out['html'] = '';
$error = 0;
$name = $_POST["name"];
$facult = (int)$_POST["facult"];
$code = $_POST["code"];
if ($name == '') $error = 1;
if ($facult == '') $error = 1;
if ($code == '') $error = 1;
//если нет ошибок
if ($error == 0){
$sql = 'INSERT INTO '.$ST['dbpf'].'_kafedres (`id_facult`, `name`, `code`) VALUES ("'.$facult.'", "'.$name.'", "'.$code.'")';
$rez = $DB->QUR($sql);
$out['html'] = kafedres_table();
}
}
//удаление кафедры
if ($_POST["ajdes"] == "delete_kafedra"){
$out["html"] = '';
$id = (int)$_POST["id"];
$sql = 'DELETE FROM '.$ST['dbpf'].'_kafedres WHERE `id` = "'.$id.'"';
$rez = $DB->QUR($sql); //исправить SQL иньекцию!!!
$out['html'] = kafedres_table();
}
//редактирование кафедры
if ($_POST["ajdes"] == "edit_kafedra"){
$out["html"] = '';
$id = (int)$_POST["id"];
$fak_new = (int)$_POST["fak_new"];
$kod_new = $DB->rescape($_POST["kod_new"]);
$sql = 'UPDATE '.$ST['dbpf'].'_kafedres SET id_facult='.$fak_new.',code="'.$kod_new.'" WHERE `id` = "'.$id.'"';
$rez = $DB->QUR($sql);
//$out['html'] = print_r($rez,1);
}
//добавление направлений подготовки
if ($_POST["ajdes"] == "add_areas"){
$out['html'] = '';
$error = 0;
//принимаем все значения
$code = $DB->rescape($_POST["code"]);
$name = $DB->rescape($_POST["name"]);
$kafedra = (int)$_POST["kafedra"];
if ($code == '') $error = 1;
if ($name == '') $error = 1;
if ($kafedra == '') $error = 1;
if ($error == 0){ //если ошибок нет, то продолжаем работу дальше
$sql = 'INSERT INTO '.$ST['dbpf'].'_areas (`code`, `name`, `id_kafedra`) VALUES ("'.$code.'", "'.$name.'", "'.$kafedra.'")';
$rez = $DB->QUR($sql); //добавляем в базу исправить SQL иньекцию!!!
//для экономии времени заполнения - дублируем название направления подготовки и профиля подготовки.
//в начале достаем айдишник последней добавленной записи
$sql = 'SELECT * FROM '.$ST['dbpf'].'_areas ORDER BY `id` DESC LIMIT 1';
$rez = $DB->QUR_SEL($sql);
$id_areas = $rez[1]['id'];
$sql = 'INSERT INTO '.$ST['dbpf'].'_profile (`id_areas`, `name`) VALUES ("'.$id_areas.'", "'.$name.'")';
$rez = $DB->QUR($sql); //добавляем в базу
//теперь делаем выборку данных и выводим информацию
$out['html'] = areas_table();
$out['profiles'] = profiles_table();
}
}
//удаление направления подготовки
if ($_POST["ajdes"] == "delete_area"){
$out['html'] = '';
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'DELETE FROM '.$ST['dbpf'].'_areas WHERE `id` = '.$id.' ';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = areas_table();
}
//добавление профиля подготовки
if ($_POST['ajdes'] == 'add_areas_profile'){
$out['html'] = '';
$error = 0;
$name = $DB->rescape($_POST['name']);
$profile = $DB->rescape($_POST['profile']);
if ($name == '') $error = 1;
if ($profile == '') $error = 1;
if ($error == 0){
$sql = 'INSERT INTO '.$ST['dbpf'].'_profile (`id_areas`, `name`) VALUES ("'.$profile.'", "'.$name.'")';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = profiles_table();
}
}
//удаление профиля подготовки
if ($_POST['ajdes'] == 'delete_profile'){
$out['html'] = '';
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'DELETE FROM '.$ST['dbpf'].'_profile WHERE `id` = "'.$id.'"';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = profiles_table();
}
//добавление годов набора и формы обучения
if ($_POST['ajdes'] == "add_profile_start"){
$out['html'] = '';
$error = 0;
$profile = $_POST["profile"];
$years = $_POST["years"];
$forms = $_POST["forms"];
if ($profile == '') $error = 1;
if ($years == '') $error = 1;
if ($forms == '') $error = 1;
if ($error == 0){
//в начале делаем перебор по годам
$year = explode(",", $years);
$i = 0;
while ($i < (count($year)-1)){
//после делаем перебор по формам обучения
$form = explode(",", $forms);
$j = 0;
while ($j < (count($form)-1)){
//предварительно делаем проверку, есть ли такая запись уже в таблице
$sql_is = 'SELECT * FROM '.$ST['dbpf'].'_profile_start WHERE `id_profile` = "'.$profile.'" AND `year` = "'.$year[$i].'" AND `forma` = "'.$form[$j].'"';
$rez_is = $DB->QUR_SEL($sql_is);//исправить SQL иньекцию!!!
if ($rez_is[0] == 0){ //если таких записей нет, то добавляем, тем самым избавляемся от дублей
$sql = 'INSERT INTO '.$ST['dbpf'].'_profile_start (`id_profile`, `year`, `forma`) VALUES ("'.$profile.'", "'.$year[$i].'", "'.$form[$j].'")';
$rez = $DB->QUR($sql);
}
$j++;
}
$i++;
}
}
$out['html'] = start_profile_table();
}
//удаление данной формы и года начала обучения
if ($_POST["ajdes"] == "delete_profile_start"){
$out['html'] = '';
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'DELETE FROM '.$ST['dbpf'].'_profile_start WHERE `id` = "'.$id.'"';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = start_profile_table();
}
//функция возвращающая в табличном виде №п/п,группу, руководителя и возможные операции
function fixed_table($id_pract){
GLOBAL $DB, $ST;
$str = '';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_practice_teachers WHERE `id_pract` = "'.$id_pract.'"';
$rez = $DB->QUR_SEL($sql);
$i = 0;
foreach ($rez as $key => $val) if ($key){
$i++;
$sql_gr = 'SELECT * FROM '.$ST['dbpf'].'_grupp WHERE `id` = "'.$val["id_group"].'"';
$rez_gr = $DB->QUR_SEL($sql_gr);
$grupp = $rez_gr[1]["sokr"].'-'.$rez_gr[1]["kurs"].$val["num"].' '.$rez_gr["fo"];
$sql_prepod = 'SELECT * FROM'.$ST['dbpf'].'_teachers WHERE `id` = "'.$val["id_prepod"].'"';
$rez_prepod = $DB->QUR_SEL($sql_prepod);
$fio = $rez_prepod[1]["fio"];
$str .= $id_pract;
//$str .= '
'.$i.'
'.$grupp.'
'.$fio.'
';
}
return $str;
}
//закрепление групп студентов за руководителями
if ($_POST["ajdes"] == "fixing_group"){
$out['html'] = '';
$id = (int)$DB->rescape($_POST["id"]);
//$sql = 'SELECT * FROM '.$ST['dbpf'].'_practices WHERE `id` = "'.$id.'"';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE `id` = "'.$id.'"';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
$out['semestr'] = $rez[1]['sem'];
//$out['semestr'] = $rez[1]["semestr"];
$out['name'] = $rez[1]["discip"];
$string = $rez[1]['discid'];
if (stripos($string, '(У)')) $out['type'] = 'Учебная';
elseif (stripos($string, '(П)')) $out['type'] = 'Производственная';
else $out['type'] = 'Преддипломная';
$out['duration'] = $rez[1]["zet"]*2/3;
if ($rez[1]['ekz'] == '1') $out['control'] = 'экзамен';
else $out['control'] = 'зачет';
$out['reporting'] = $rez[1]["reporting"];
$id_start = $rez[1]["id_start"];
$id = $rez[1]['id_plans'];
$sql_plans = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_plans WHERE `id` = "'.$id.'"';
$rez_plans = $DB->QUR_SEL($sql_plans);
$forma = $rez_plans[1]["forobu"];
$year = $rez_plans[1]["godnap"];
$out['area'] = $rez_plans[1]['nappodgo'];
//отдельно еще раз формируем список групп
$out['year'] = $year.' '.$forma;
$sql_grupps = 'SELECT * FROM '.$ST['dbpf'].'_grupp';
$rez_grupps = $DB->QUR_SEL($sql_grupps);
foreach ($rez_grupps as $key_gr => $value_gr) if ($key_gr){
$str .= '';
}
$out['html'] .= $str;
//достаем список преподавателей кафедры
$id_profile = $rez_profile_start[1]["id_profile"];
$sql_profile = 'SELECT * FROM '.$ST['dbpf'].'_profile WHERE `id` = "'.$id_profile.'"';
$rez_profile = $DB->QUR_SEL($sql_profile);
$id_area = $rez_profile[1]["id_areas"];
$sql_area = 'SELECT * FROM '.$ST['dbpf'].'_areas WHERE `id` = "'.$id_area.'"';
$rez_area = $DB->QUR_SEL($sql_area);
//$out['area'] = $rez_area[1]["code"].' '.$rez_profile[1]["name"];
$id_kaf = $rez_area[1]["id_kafedra"];
$sql_kafedra = 'SELECT * FROM '.$ST['dbpf'].'_kafedres WHERE `id` = "'.$id_kaf.'"';
$rez_kafedra = $DB->QUR_SEL($sql_kafedra);
$name = $rez_kafedra[1]["name"];
$prepods = '';
$sql_teach = 'SELECT * FROM '.$ST['dbpf'].'_teachers WHERE `kafedra` LIKE "%'.$name.'%"';
$rez_teach = $DB->QUR_SEL($sql_teach);
foreach ($rez_teach as $key => $value) if ($key){
$sql_pr = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE `id` = "'.$value["id_user"].'"';
$rez_pr = $DB->QUR_SEL($sql_pr);
$prepods .= '';
}
$out['prepods'] = $prepods;
$id = $_POST["id"];
//$out['table'] = fixed_table($id);
$out['table'] = $id;
}
//закрепление по кнопке
if ($_POST["ajdes"] == "fixed_grupp"){
$id = $_POST["id"];
$grupp = $_POST["grupp"];
$num = $_POST["num"];
$teacher = $_POST["teacher"];
$error = 0;
if ($id == '') $error = 1;
if ($grupp == '') $error = 1;
if ($num == '') $error = 1;
if ($teacher == '') $error = 1;
if ($error == 0){
//дополнительная проверка
$sql_is = 'SELECT * FROM '.$ST['dbpf'].'_practice_teachers WHERE `id_pract` = "'.$id.'" AND `id_prepod` = "'.$teacher.'" AND `id_group` = "'.$grupp.'" AND `num` = "'.$num.'"';
$rez_is = $DB->QUR_SEL($sql_is);//исправить SQL иньекцию!!!
if ($rez_is[0] == 0){
$sql = 'INSERT INTO '.$ST['dbpf'].'_practice_teachers (`id_pract`, `id_prepod`, `id_group`, `num`) VALUES ("'.$id.'", "'.$teacher.'", "'.$grupp.'", "'.$num.'")';
$rez = $DB->QUR($sql);
$out["table"] = fixed_table($id);
}
}
}
//АККРЕДИТАЦИЯ
if ($_POST["ajdes"] == "delete_accredit"){
$out['success'] = 0;
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'SELECT * FROM '.$ST['dbpf'].'_accredit WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
//$out['test'] = '/'.;
if ($rez){
unlink($rez[1]['file_pasport']);
unlink($rez[1]['file_edu']);
unlink($rez[1]['file_vb']);
unlink($rez[1]['file_snils']);
unlink($rez[1]['file_zayv']);
}
$sql = 'DELETE FROM '.$ST['dbpf'].'_accredit WHERE `id` = '.$id.' ';
$rez = $DB->QUR($sql);
save_logs('Удалена заявка на аккредитацию №'.$id);
$out['success'] =1;
}
//ПРЕДСЕДАТЕЛЬ АККРЕДИТАЦИОННОЙ КОМИССИИ - допуск к аккредитации
if ($_POST['ajdes'] == "ok_accredit"){
$out['success'] = 0;
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'UPDATE '.$ST['dbpf'].'_accredit SET status = "1" WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
save_logs('Допущена к аккредитации заявка'.$id);
$out['success'] = 1;
}
//СТИПЕНДИАЛЬНОЕ ОБЕСПЕЧЕНИЕ
if ($_POST["ajdes"] == "delete_achievement"){
$out['success'] = 0;
$id = (int) $_POST["id"];
$sql = 'SELECT * FROM '.$ST['dbpf'].'_achievements WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);
//$out['test'] = '/'.;
if ($rez){
unlink('./'.$rez[1]['file']);
}
$sql = 'DELETE FROM '.$ST['dbpf'].'_achievements WHERE `id` = '.$id.' ';
$rez = $DB->QUR($sql);
save_logs('Удалено достижение №'.$id);
$out['success'] =1;
}
//комиссия - работа с достижениями студента
if ($_POST['ajdes'] == 'action_achievement'){
$out['success'] = 0;
$id = (int) $_POST['id'];
$action = $_POST['action'];
$msg = $_POST['msg'];
if ($action == 1){ //одобрение
$sql = 'UPDATE '.$ST['dbpf'].'_stip_dost SET status = "1" WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Одобрение достижения '.$id);
$out['success'] = 1;
} elseif ($action == 2){ //отправить на доработку
$sql = 'UPDATE '.$ST['dbpf'].'_stip_dost SET commento = "'.$msg.'" WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Достижение отправлено на доработку '.$id);
$out['success'] = 1;
} else{ //отклонить
$sql = 'DELETE FROM '.$ST['dbpf'].'_stip_dost WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Достижение удалено из заявки (отклонено) '.$id);
$out['success'] = 1;
}
//header("Location: /grant/commission/".$id."/");
//exit;
}
//стипендиальная комиссия - допускаем заявку к конкурсу
if ($_POST['ajdes'] == 'success_stip'){
$out['success'] = 0;
$id = (int) $_POST['id'];
$sql = 'UPDATE '.$ST['dbpf'].'_stip SET status = 1 WHERE id = "'.$id.'" ';
$rez = $DB->QUR($sql);
save_logs('Допускаем заявку к конкурсу '.$id);
}
//КАФЕДРА
//удаление договора о практической подготовке
if ($_POST["ajdes"] == "delete_treat"){
$out['success'] = 0;
$id = (int)$DB->rescape($_POST["id"]);
$sql = 'SELECT * FROM '.$ST['dbpf'].'_treaties WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
//$out['test'] = '/'.;
if ($rez) unlink($rez[1]['file']);
$sql = 'DELETE FROM '.$ST['dbpf'].'_treaties WHERE `id` = '.$id.' ';
$rez = $DB->QUR($sql);
save_logs('Удален договор о практической подготовке №'.$id);
$out['success'] =1;
}
//ТЕСТЫ
if ($_POST['ajdes'] == 'test_view_rez'){
$id_user = (int)$_POST['user'];
$id_test = (int)$_POST['test'];
$out['user']='';
$out['body']='';
//$sql = 'SELECT * FROM '.$ST['dbpf'].'_test_users_otvet WHERE `id_user` = '.$id_user.' AND `id_tests` = '.$id_test.' ORDER BY data_c';
$sql1 = 'SELECT data_c FROM '.$ST['dbpf'].'_test_users_otvet WHERE id_tests='.$id_test.' AND id_user='.$id_user.' GROUP BY data_c ORDER BY data_c DESC';
$rez1 = $DB->QUR_SEL($sql1);
if($rez1){
foreach($rez1 as $k1 => $v1)if($k1){
$sql2 = 'SELECT text_quest,text_answer,text_otvet,ball FROM '.$ST['dbpf'].'_test_users_otvet WHERE id_tests='.$id_test.' AND id_user='.$id_user.' AND data_c='.$v1['data_c'].' ORDER BY data_c DESC';
$rez2 = $DB->QUR_SEL($sql2);
if($rez2){
$out['ball']=0;
$out['body'].='
Время прохождения: '.date('H:i:s d.m.Y',$v1['data_c']).'
';
$out['body'].='
';
$out['body'].='
';
$out['body'].='
Вопрос
';
$out['body'].='
Ответ
';
$out['body'].='
';
$out['body'].='
Оценка
';
$out['body'].='
';
foreach($rez2 as $k2 => $v2)if($k2){//обходим все ответы в тесте для юзера
$out['body'].='
';
$out['body'].='
'.strip_tags($v2['text_quest']).'
';
$out['body'].='
'.strip_tags($v2['text_answer']).'
';
$out['body'].='
'.strip_tags($v2['text_otvet']).'
';
$out['body'].='
'.round($v2['ball'],2).'
';
$out['body'].='
';
$out['ball']+=$v2['ball'];
}
$out['body'].='
ИТОГО
'.round($out['ball'],2).'
';
$out['body'].='
';
}
}
}
}
//удаление результатов теста для определенного пользователя
if ($_POST['ajdes'] == 'test_del_rez'){
$content = $_POST['content'];
$ch = explode('-', $content);
$sql = 'DELETE FROM '.$ST['dbpf'].'_test_users_otvet WHERE `id_user` = "'.$ch[0].'" AND `id_tests` = "'.$ch[1].'" ';
$rez = $DB->QUR($sql);
}
//удаление ВСЕХ результатов теста
if ($_POST['ajdes'] == 'test_del_rez_all'){
$id = (int)$DB->rescape($_POST['id']);
$sql = 'DELETE FROM '.$ST['dbpf'].'_test_users_otvet WHERE `id_tests` = "'.$id.'" ';
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
}
//копирование теста
if ($_POST['ajdes'] == 'copy_test'){
$id = (int)$_POST['id'];
save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' скопировал тест другого преподавателя под номером №'.$id.' ');
$id_teacher = $_SESSION['user']['teacher']['id'];
$date_create = date("U");
//выборка и копирование теста
$sql = 'SELECT * FROM '.$ST['dbpf'].'_test_tests WHERE id = "'.$id.'"';
$rez = $DB->QUR_SEL($sql);
if ($rez){
save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' копирует тест другого преподавателя под номером №'.$id.' ');
$sql_create = 'INSERT INTO '.$ST['dbpf'].'_test_tests (data_c, id_user, id_razdel, name, descrip, status, random_q, tests, data_testa) VALUES ("'.$date_create.'", "'.$id_teacher.'", "'.$rez[1]['id_razdel'].'", "'.$DB->rescape($rez[1]['name']).'", "'.$DB->rescape($rez[1]['descrip']).'", "'.$rez[1]['status'].'", "'.$rez[1]['random_q'].'", "'.$rez[1]['tests'].'", "'.$rez[1]['data_testa'].'")';
$rez_create = $DB->QUR($sql_create);
//save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' копирует тест '.$sql_create.' '.print_r($rez_create,1));
//$id_test = mysql_insert_id(); //айдишник именно того теста, с которым нам и нужно работать - НОВОГО ТЕСТА - скопированного
//$id_test = $DB->lastinsertID(); //айдишник именно того теста, с которым нам и нужно работать - НОВОГО ТЕСТА - скопированного
$id_test = $rez_create['id']; //айдишник именно того теста, с которым нам и нужно работать - НОВОГО ТЕСТА - скопированного
//save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' копирует тест получил номер '.$id_test.'');
//теперь переходим к выборке и копированию самих вопросов
$sql2 = 'SELECT * FROM '.$ST['dbpf'].'_test_questions WHERE id_tests = "'.$id.'" ';
$rez2 = $DB->QUR_SEL($sql2);
//save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' копирует тест выбрали вопросы из теста '.$id.' '.$sql2.' '.print_r($rez2,1));
if ($rez2){
foreach ($rez2 as $key2 => $val2) if ($key2){
//$out['html'] .= $val2['text_q'];
$sql_create = 'INSERT INTO '.$ST['dbpf'].'_test_questions (id_tests, text_q, ocenka, tip, random_a, tests, pos) VALUES ("'.$id_test.'", "'.$DB->rescape($val2['text_q']).'", "'.$val2['ocenka'].'", "'.$val2['tip'].'", "'.$val2['random_a'].'", "'.$val2['tests'].'", "'.$val2['pos'].'")';
$rez_create = $DB->QUR($sql_create);
//$id_question = mysql_insert_id(); //id НОВОГО скопированного вопроса
//$id_question = $DB->lastinsertID();
$id_question = $rez_create['id'];
//save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' копирует тест вопросы '.$sql_create.' '.print_r($rez_create,1));
//теперь переходим к выборке и копированию самих вариантов ответа
$sql3 = 'SELECT * FROM '.$ST['dbpf'].'_test_answers WHERE id_questions = "'.$val2['id'].'" ';
$rez3 = $DB->QUR_SEL($sql3);
if ($rez3){
foreach ($rez3 as $key3 => $val3) if ($key3){
$sql_create = 'INSERT INTO '.$ST['dbpf'].'_test_answers (id_questions, text_a, ocenka, pos) VALUES ("'.$id_question.'", "'.$DB->rescape($val3['text_a']).'", "'.$val3['ocenka'].'", "'.$val3['pos'].'") ';
$rez_create = $DB->QUR($sql_create);
//save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' копирует тест вопросы-ответы '.$sql_create.' '.print_r($rez_create,1));
}
}
}
}
}
$out['html'] .= $id_test;
}
//функция шифрованеия пароля
function passw_generate($passw){
//include_once 'ps01salt.php';
return md5('MkGTU_'.$passw.'$_2010!');
}
//БИБЛИОТЕКА СБРОС ПАРОЛЯ
if ($_POST['ajdes'] == 'reset_password'){
$id = (int)$_POST['id'];
$sql = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE id = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);
if ($rez){
//генерируем новый пароль и шифркем
$new_pass = gen_password();
$new_pass_md = passw_generate($new_pass);
$sql0 = 'UPDATE '.$ST['dbpf'].'_users SET data_u='.time().', pass = "'.$new_pass_md.'" WHERE id='.$rez[1]['id'].' LIMIT 1';
$rez0 = $DB->QUR($sql0);
}
send_email("Сброс пароля","Новый пароль для входа: ".$new_pass, $rez[1]['email']);
$out['html'] = $rez[1];
save_logs('Со страницы библиотеки был сброс пароля пользователю '.$rez[1]['id'].' - '.$rez[1]['fio']);
}
//КАФЕДРА
//СПРАВКА ПО КАДРОВОМУ ОБЕСПЕЧЕНИЮ
//выбор преподавателя - выводим информацию об образовании
if ($_POST['ajdes'] == 'kaf_change_teacher_education'){
$id = (int)$_POST['id_user'];
$out['html'] = ' Информация об образовании ';
$sql = 'SELECT * FROM '.$ST['dbpf'].'_education WHERE id_user = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);
if ($rez){
foreach ($rez as $key => $val) if ($key){
$out['html'] .= $val['profession'].' ('.$val['qualification'].') ';
}
}
}
//ЭЛЕКТИВНЫЕ ДИСЦИПЛИНЫ ПО ФИЗИЧЕСКОЙ КУЛЬТУРЕ И СПОРТУ
//редактирование расписания элективных
if($_POST['ajdes']=='fk_edit'){
$id = (int) $_POST['id'];
$sql_t = 'SELECT * FROM '.$ST['dbpf'].'_fk_timetable WHERE `id` = "'.$id.'" ';
$rez_t = $DB->QUR_SEL($sql_t);
$out['course'] = $rez_t[1]['course'];
$out['count'] = $rez_t[1]['count'];
$out['disability'] = $rez_t[1]['disability'];
$out['section'] = $rez_t[1]['id_section'];
$out['fakultets'] = explode(',',$rez_t[1]['fakultets']);
$sql_d = 'SELECT * FROM '.$ST['dbpf'].'_fk_details WHERE `id_timetable` = "'.$id.'" ';
$rez_d = $DB->QUR_SEL($sql_d);
$out['day'] = $rez_d[1]['day'];
$out['couple'] = $rez_d[1]['couple'];
$sql = 'SELECT teach.*, user.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_users as user WHERE teach.id = "'.$rez_t[1]['id_teacher'].'" AND user.id = teach.id_user ';
$rez = $DB->QUR_SEL($sql);
$out['teacher'] = $rez[1]["fio"];
}
//вывод в модальное окно сведения о преподавателе, дне недели, номер пары
if ($_POST['ajdes'] == 'fk_print'){
$str = $_POST["str"];
$place = explode("-", $str);
//день недели обрабатываем, что вывести в полном виде
switch ($place[0]){
case 'Пн':
$place[0] = 'Понедельник';
break;
case 'Вт':
$place[0] = 'Вторник';
break;
case 'Ср':
$place[0] = 'Среда';
break;
case 'Чт':
$place[0] = 'Четверг';
break;
case 'Пт':
$place[0] = 'Пятница';
break;
case 'Сб':
$place[0] = 'Суббота';
break;
}
//достаем имя преподавателя
$teacher = $place[2];
$sql = 'SELECT teach.*, user.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_users as user WHERE teach.id = "'.$teacher.'" AND user.id = teach.id_user ';
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
$out['day'] = $place[0];
$out['couple'] = $place[1];
$out['teacher'] = $rez[1]["fio"];
}
//удаление ячейки в расписании по элективным дисциплинам
if ($_POST['ajdes'] == 'fk_del'){
$id = (int) $_POST['id'];
$sql = 'DELETE FROM '.$ST['dbpf'].'_fk_timetable WHERE `id` = "'.$id.'" ';
$rez = $DB->QUR($sql);
$sql = 'DELETE FROM '.$ST['dbpf'].'_fk_details WHERE `id_timetable` = "'.$id.'"';
$rez = $DB->QUR($sql);
$out['success'] = 1;
save_logs('Преподаватель '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' удалил ячейку в расписании элективных дисциплин по ФК (Номер: '.$id.')');
}
//запись студента к преподавателю
if ($_POST['ajdes'] == 'fk_order'){
$id = (int) $_POST['id'];
$date_create = date("U");
$id_user = $_SESSION['user']['id'];
$sql = 'INSERT INTO '.$ST['dbpf'].'_fk_order (id_timetable, id_student, date_create) VALUES ("'.$id.'", "'.$id_user.'", "'.$date_create.'")';
$rez = $DB->QUR($sql);
save_logs('Студент '.$_SESSION['user']['id'].' записался на элективную дисциплину по ФК '.$id);
$out['success'] = 1;
}
if ($_POST['ajdes'] == 'fk_order_del'){
$id = (int) $_POST['id'];
$id_user = $_SESSION['user']['id'];
$sql = 'SELECT id FROM '.$ST['dbpf'].'_fk_order WHERE id_student='.$id_user.' AND id='.$id;
$rez = $DB->QUR_SEL($sql);
if(count($rez)){
$rez = $DB->QUR('DELETE FROM '.$ST['dbpf'].'_fk_order WHERE id='.$id);
save_logs('Студент '.$_SESSION['user']['id'].' отписался на элективную дисциплину по ФК '.$id);
$out['success'] = 1;
}else{
$out['success'] = 0;
}
}
//КОЛЛЕДЖ. Вывод документов в выбранном разделе
if ($_POST['ajdes'] == 'razdel_select'){
$id = (int) $_POST['id'];
$sql = 'SELECT * FROM '.$ST['dbpf'].'_college_docs WHERE id_razdel = "'.$id.'" ';
$rez = $DB->QUR_SEL($sql);
$out['html'] = '';
if ($rez){
foreach ($rez as $key => $val) if ($key){
$out['html'] .= ''.$val['name'].' ';
}
}
}
echo json_encode($out);
exit();
}
/*
Сайт
http://learn-mkgtu.ru/json.php?com=libcheck
Авторизация
http://learn-mkgtu.ru/login/
Логин
8e8027@mkgtu.ru
Пароль
portfolio
ФИО СТУДЕНТА
Яровой Андрей Геннадьевич
Профиль студента
http://learn-mkgtu.ru/user/profile/
Адрес общения json
http://learn-mkgtu.ru/json.php?com=checkssid&ssid=сам_сид
ответ в формате json следующей структуры(переведенный в массив)
Array
(
[err] => 0
[user] => Array
(
[email] => email@mkgtu.ru
[fio] => Фамилия Имя Отчество
[ttl] => 1505296917
)
[student] => Array
(
[num_zach] => 16903094
[num_stud] => 16903094
[kod_podgotovki] => 21.03.01 – Нефтегазовое дело
[grupp] => АИ-25
)
)
err - код ошибки: 0 - нет ошибок, -1 - нет такого ссид, -2 - нет такого пользователя
user[email] - email пользователя
user[fio] - ФИО пользователя
user[ttl] - дата создания ssid временная метка UNIX(кол-во сек с 1 января 1970г.)
student[num_zach] - номер зачетки студента
student[num_stud] - номер студентческого студента
student[kod_podgotovki] - Название направления подготовки студента
student[grupp] - группа студента
*/
if(isset($_GET['com'])){
if($_GET['com']=='checkssid'){
$ssid = $_GET['ssid'];
$out = json_check_ssid($ssid);
//echo '
'.print_r($out,1).'
';
echo json_encode($out);
/*
Array
(
[err] => 0
[user] => Array
(
[email] => 8e8027@mkgtu.ru
[fio] => Яровой Андрей Геннадьевич
[ttl] => 1505296917
)
[student] => Array
(
[num_zach] => 16903094
[num_stud] => 16903094
[kod_podgotovki] => 21.03.01 – Нефтегазовое дело
[grupp] => АИ-25
)
)
*/
exit();
}
}
function iup_DelCacheFile_zamDek($id_zayavka){//НАДО УДАЛЯТЬ КЭШ!
GLOBAL $ST,$DB; $out = array();
$sql = 'SELECT pret_naprav,pret_kurs,pret_fo FROM '.$ST['dbpf'].'_iup_studentzayavks WHERE id='.$id_zayavka;
$rez = $DB->QUR_SEL($sql);
if($rez){
$val = $rez[1];
$fakultet = $_SESSION['user']['teacher']['fakultet'];
$spec = $val['pret_naprav'];
$kurs = $val['pret_kurs'];
$fo = $val['pret_fo'];
$out['fakultet'] = $fakultet;
$out['spec'] = $spec;
$out['kurs'] = $kurs;
$out['fo'] = $fo;
$file = 'tmp/iup/json_get_predmets_'.md5($fakultet.$spec.$kurs.$fo).'.json';
$out['file'] = $file;
if(file_exists($file)) {
unlink($file);
$out['exist'] = 1;
}else{
$out['exist'] = 0;
}
}
return $out;
}
function json_check_ssid($ssid){
GLOBAL $DB,$ST; $out=array(); $out['err']=0;
//$sql = 'SELECT data_c,user_id FROM '.$ST['dbpf'].'_libssid WHERE ssid="'.addslashes($ssid).'" AND data_c>='.(time()-(60*30)).'';
$sql = 'SELECT data_c,user_id FROM '.$ST['dbpf'].'_libssid WHERE ssid="'.addslashes($ssid).'"';
$rez = $DB->QUR_SEL($sql);
if($rez){
$sql0 = 'UPDATE '.$ST['dbpf'].'_libssid SET data_c='.time().' WHERE id='.$rez[1]['id'].' LIMIT 1';
$rez0 = $DB->QUR($sql0);
$sql1 = 'SELECT id,email,fio FROM '.$ST['dbpf'].'_users WHERE id='.$rez[1]['user_id'].' LIMIT 1';
$rez1 = $DB->QUR_SEL($sql1);
if($rez1){
$user_id=$rez1[1]['id']; unset($rez1[1]['id']);
$out['user'] = $rez1[1];
$out['user']['ttl'] = $rez[1]['data_c'];
$sql2 = 'SELECT zvanie,dolgnost FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$user_id.' AND status=1 LIMIT 1';
$rez2=$DB->QUR_SEL($sql2);
if($rez2){
$out['teacher'] = $rez2[1];
}
// AND status=1
$sql2 = 'SELECT id_grupp,num_zach,num_stud,num_grupp,kod_podgotovki FROM '.$ST['dbpf'].'_students WHERE id_user='.$user_id.' LIMIT 1';
$rez2=$DB->QUR_SEL($sql2);
if($rez2){
$grupp='не определенно';
$sql3 = 'SELECT sokr,kurs,fo FROM '.$ST['dbpf'].'_grupp WHERE id='.$rez2[1]['id_grupp'].' LIMIT 1';
$rez3=$DB->QUR_SEL($sql3);
if($rez3){
$grupp=$rez3[1]['sokr'].'-'.$rez3[1]['kurs'].$rez2[1]['num_grupp'];
}
unset($rez2[1]['id_grupp']);
unset($rez2[1]['num_grupp']);
$out['student'] = $rez2[1];
$out['student']['grupp'] = $grupp;
}
}else $out['err'] = '-2';//нет такого пользователя
}else $out['err'] = '-1';//нет такого ссид
return $out;
}
///МАТЕРИАЛЬНАЯ ПОМОЩЬ///
//*********************//
if($_POST['no_id_order']){ //отклонение заявки секретарем стипендиальной комиссии
$out = array();
$id = (int)$DB->rescape($_POST["no_id_order"]);
$comment = $DB->rescape($_POST["comment"]);
$sql = "UPDATE `acs_mhelp` SET `status` = '0', `com` = '$comment' WHERE `id` = '$id'";
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = $id;
echo json_encode($out);
}
if($_POST['ok_id_order']){ //одобрение заявления секретарем
$out = array();
$id = (int)$DB->rescape($_POST["ok_id_order"]);
$sql = "UPDATE `acs_mhelp` SET `status` = '2' WHERE `id` = '$id'";
$rez = $DB->QUR($sql);//исправить SQL иньекцию!!!
$out['html'] = $id;
echo json_encode($out);
}
//отклонение членом аттестационной комиссии
if ($_POST["no_person"]){
$out = array();
$id = (int)$DB->rescape($_POST["no_person"]);
$eks = $_POST["eks"];
$out["html"] = ""; //для теста вернем
//decisions
//$sql = "SELECT * FROM `acs_mhelp` WHERE `id` = '$id' LIMIT 1";
$sql = "SELECT * FROM `acs_mhelp` WHERE `id` = '$id' LIMIT 1";
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
$des = $rez[1]['decisions'];
//$eks-1 - это номер члена аттестационной комиссии минус один!
$des[$eks-1] = "0"; //ставим нолик - эо означает, что данный член комиссии отклонил заявление
$sql2 = "UPDATE `acs_mhelp` SET `decisions` = '$des' WHERE `id` = '$id'";
$rez2 = $DB->QUR($sql2);
// $rez = $DB->QUR_SEL($sql);
// $out["html"] = $rez[1]['decisions'];
//$out["html"] .= $des;
$out["do"] = 1;
echo json_encode($out);
}
//принятие членом аттестационной комиссии
if ($_POST["yes_person"]){
$out = array();
$id = (int)$DB->rescape($_POST["yes_person"]);
//$eks = $_POST["eks"];
$eks = $_SESSION["person_user_kom"];
$out["html"] = ""; //для теста вернем
//decisions
//$sql = "SELECT * FROM `acs_mhelp` WHERE `id` = '$id' LIMIT 1";
$sql = "SELECT * FROM `acs_mhelp` WHERE `id` = '$id' LIMIT 1";
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
$des = $rez[1]['decisions'];
//$eks-1 - это номер члена аттестационной комиссии минус один!
$des[$eks-1] = "1"; //ставим нолик - это означает, что данный член комиссии отклонил заявление
$sql2 = "UPDATE `acs_mhelp` SET `decisions` = '$des' WHERE `id` = '$id'";
$rez2 = $DB->QUR($sql2);
// $rez = $DB->QUR_SEL($sql);
// $out["html"] = $rez[1]['decisions'];
//$out["html"] .= $des;
$out["do"] = 0;
echo json_encode($out);
}
//редактирование конкретной заявки студентом после ее отклонения комиссией или секретарем
if ($_POST["edit_my_order"]){
$out = array();
$id = (int)$DB->rescape($_POST["edit_my_order"]);
$out["html"] = "";
$sql = "SELECT * FROM `acs_mhelp` WHERE `id` = '$id' LIMIT 1"; //выбираем конкретное заявление, оставленное пользоваелем
$rez = $DB->QUR_SEL($sql);//исправить SQL иньекцию!!!
if (strlen($rez[1]["dop_info"])>1){
$two_text = explode("|", $rez[1]["dop_info"]);
if ($two_text[3] == "1") $two_text[3] = "Бюджет";
else $two_text[3] = "Коммерция";
}
$out["html"] .= '