1248 lines
63 KiB
PHP
1248 lines
63 KiB
PHP
|
<?php
|
|||
|
error_reporting(E_ALL);
|
|||
|
ini_set('max_execution_time', 9000);
|
|||
|
ini_set('memory_limit', '-1');
|
|||
|
include_once $_SERVER['DOCUMENT_ROOT'].'/inc/class_SYSTEM.php';
|
|||
|
$SYSTEMclass = new SYSTEMclass();
|
|||
|
|
|||
|
if(isset($_POST['ajdes'])){
|
|||
|
header('Content-Type: application/json; charset=utf-8');
|
|||
|
$out = array();
|
|||
|
//Исправляем ошибки в плане
|
|||
|
if($_POST['ajdes']=='btnerrisp_save'){
|
|||
|
$p = $_POST;
|
|||
|
$p['json'] = json_decode($p['json'],1);
|
|||
|
$SET=array();
|
|||
|
foreach($p['json'] as $key => $val){
|
|||
|
if($val['name']==1) $SET[] = 'nappodgo="'.$val['value'].'"';
|
|||
|
if($val['name']==2) $SET[] = 'propodgo="'.$val['value'].'"';
|
|||
|
if($val['name']==3) $SET[] = 'obrpro="'.$val['value'].'"';
|
|||
|
}
|
|||
|
$sql1 = 'UPDATE '.$TB['iup_shahtplans_plans'].' SET '.implode(',',$SET).' WHERE id_file='.$p['id'].' LIMIT 1';
|
|||
|
$rez1 = $DB->QUR($sql1);
|
|||
|
if(!$rez1['err']){
|
|||
|
$out['html'] = 'Внесли изменения в план. Теперь ошибки не должно быть, обновите страницу и посмотрите';
|
|||
|
}else{
|
|||
|
$out['html'] = 'Не внесли изменения в план. Измените файл PLX (в синей звезде) и укажите необходимые данные. Частая ошибка при указании профиля подготовки, запишите в название "Направление подготовки:Техносферная безопасность Профиль: Охрана природной среды и ресурсосбережение", в одной строке укажите направление и профиль';
|
|||
|
}
|
|||
|
}
|
|||
|
if($_POST['ajdes']=='btnerrisp'){
|
|||
|
$id = $_POST['id'];
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' WHERE id='.$id.' LIMIT 1';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
if($rez&&isset($rez[1])){
|
|||
|
$plan_titul = $rez[1];
|
|||
|
$plan_titul = ShahtPlan_Get_Info($plan_titul);
|
|||
|
$out['html'] = 'План: '.$plan_titul['napravlenie'].' '.$plan_titul['godob'].'<br>';
|
|||
|
$out['html'] .= '<p>Ошибки:</p>';
|
|||
|
foreach($plan_titul['pp'] as $k => $v)if($k){
|
|||
|
if(isset($plan_titul['pp1'][$k])&&$plan_titul['pp1'][$k]!=$v) {
|
|||
|
$f='пусто'; if($plan_titul['pp1'][$k]!='') $f=$plan_titul['pp1'][$k];
|
|||
|
$out['html'] .= '<p>Должно быть:<b>'.$v.'</b>, а в файле <b>'.$f.'</b><br>';
|
|||
|
$out['html'] .= '<input type="text" class="form-control btnerrisp_item" data-pp="'.$k.'" value="'.$v.'" style="width:94%;"></p>';
|
|||
|
}
|
|||
|
}
|
|||
|
$out['html'] .= '<a href="#" class="btn btn-success btnerrisp_save">Сохранить</a>';
|
|||
|
$out['html'] .= '<input type="HIDDEN" class="btnerrisp_id" value="'.$id.'">';
|
|||
|
$out['html'] .= '<p class="btnerrisp_save_msg"></p>';
|
|||
|
//$out['html'] .= '<pre>'.print_r($plan_titul,1).'</pre>';
|
|||
|
}
|
|||
|
}
|
|||
|
echo json_encode($out);
|
|||
|
exit();
|
|||
|
}
|
|||
|
|
|||
|
$zamdeknaprav = iup_get_zamdeknaprav($_SESSION['user']['teacher']['fakultet']);
|
|||
|
//$zamdeknaprav = iup_get_zamdeknaprav_old($_SESSION['user']['teacher']['fakultet']);
|
|||
|
if(isset($_POST['lkkafedry_back'])){//возвращаем атт.комм.
|
|||
|
$id_zayavka = (int)$_POST['id_zayavka'];
|
|||
|
$sql = 'UPDATE '.$TB['iup_studentzayavks'].' SET status=2 WHERE id='.$id_zayavka.'';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
if($rez){
|
|||
|
|
|||
|
send_email_iup($id_zayavka);
|
|||
|
$sql = 'INSERT INTO '.$TB['iup_statuses'].' VALUES(0,'.time().','.$id_zayavka.','.$_SESSION['user']['id'].',3,2,"")';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
if($rez){ $msg['msg'][]='Время изменения статуса сохранено!';}
|
|||
|
else{ $msg['err'][]='Время изменения статуса не сохранено!'; }
|
|||
|
save_logs('ИУП: lkkafedry возвращаем атт.комм. №'.$id_zayavka);
|
|||
|
}
|
|||
|
}
|
|||
|
if(isset($_POST['lkkafedry_zaversh'])||isset($_POST['lkkafedry_gotovo'])){//сохраняем выставленные режимы для предметов
|
|||
|
$id_zayavka = (int)$_POST['id_zayavka'];
|
|||
|
|
|||
|
//загрузка файла umu_file
|
|||
|
if(isset($_POST['del_file'])){foreach($_POST['del_file'] as $fid => $val){
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_kafedrs_files'].' WHERE id_user='.$_SESSION['user']['id'].' AND id='.$fid.'';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
if($rez){
|
|||
|
$val = $rez[1];
|
|||
|
unlink($val['file']);
|
|||
|
$rez = $DB->QUR_SEL('DELETE FROM '.$TB['iup_kafedrs_files'].' WHERE id_user='.$_SESSION['user']['id'].' AND id='.$fid.'');
|
|||
|
$msg['err'][]='Файл удален!';
|
|||
|
}else{
|
|||
|
$msg['err'][]='Файл не найден в базе данных.';
|
|||
|
}
|
|||
|
|
|||
|
save_logs('ИУП: lkkafedry удаление файла из заявки №'.$id_zayavka);
|
|||
|
}}
|
|||
|
//echo '<pre>'.print_r($_FILES,1).'</pre>';
|
|||
|
if(isset($_FILES['umu_file'])){
|
|||
|
//foreach($_FILES['umu_file']['tmp_name'] as $k => $v){
|
|||
|
$v = $_FILES['umu_file']['tmp_name'];
|
|||
|
if($v!=''){//загружаем файл
|
|||
|
$dir_dest = 'upload/iup/'.$_SESSION['user']['id'].'/';
|
|||
|
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
|||
|
$fil = $_FILES['umu_file']['name'];
|
|||
|
$t = explode('.',$fil); $ext = $t[count($t)-1];
|
|||
|
unset($t[count($t)-1]); $fn = implode('.',$t);
|
|||
|
$uploadfile = $dir_dest . basename(translit($fn).'.'.$ext);
|
|||
|
//if (move_uploaded_file($v, $uploadfile)) {
|
|||
|
if ($SYSTEMclass->sysUPLOAD($v, $uploadfile)) {
|
|||
|
$sql1 = 'INSERT INTO `'.$TB['iup_kafedrs_files'].'` VALUES (0,'.time().','.$_SESSION['user']['id'].','.$id_zayavka.',"Файл кафедры ИУП","'.$uploadfile.'",1);';
|
|||
|
$rez1 = $DB->QUR($sql1);
|
|||
|
if($rez1){
|
|||
|
$msg['msg'][]='Файл загружен и сохранен в БД!';
|
|||
|
}else{
|
|||
|
$msg['err'][]='Файл загружен и не сохранен в БД!';
|
|||
|
}
|
|||
|
} else {
|
|||
|
$msg['err'][]='Файл не загружен!';
|
|||
|
}
|
|||
|
|
|||
|
save_logs('ИУП: lkkafedry загрузка файла в заявку №'.$id_zayavka);
|
|||
|
}
|
|||
|
//}
|
|||
|
}
|
|||
|
|
|||
|
if(isset($_POST['chat_umu'])&&$_POST['chat_umu']!=''){//сохраняем чат с уму
|
|||
|
$chat_umu = addslashes(htmlspecialchars(strip_tags($_POST['chat_umu'])));
|
|||
|
$sql = 'INSERT INTO '.$TB['iup_kafumu_chat'].' VALUES(0,'.time().','.$_SESSION['user']['id'].','.$id_zayavka.',"'.$_SESSION['user']['fio'].'","'.$chat_umu.'",1)';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
}
|
|||
|
if(isset($_POST['lkkafedry_gotovo'])){//меняем статус у заявки
|
|||
|
$sql = 'UPDATE '.$TB['iup_studentzayavks'].' SET status=4 WHERE id='.$id_zayavka.'';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
if($rez){
|
|||
|
send_email_iup($id_zayavka);
|
|||
|
$sql = 'INSERT INTO '.$TB['iup_statuses'].' VALUES(0,'.time().','.$id_zayavka.','.$_SESSION['user']['id'].',3,4,"")';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
if($rez){ $msg['msg'][]='Время изменения статуса сохранено!';}
|
|||
|
else{ $msg['err'][]='Время изменения статуса не сохранено!'; }
|
|||
|
}
|
|||
|
}
|
|||
|
$des = 'show';
|
|||
|
}
|
|||
|
if(isset($_POST['shaht_save'])){//загрузка нового файла
|
|||
|
$shaht_napravlenie = addslashes($_POST['shaht_napravlenie']);
|
|||
|
$naprav = addslashes($_POST['naprav']);
|
|||
|
$shaht_godob = addslashes($_POST['shaht_godob']);
|
|||
|
if($naprav!=''){
|
|||
|
if(isset($_FILES['shaht_prog'])){
|
|||
|
$v = $_FILES['shaht_prog']['tmp_name'];
|
|||
|
if($v!=''){//загружаем файл
|
|||
|
$dir_dest = 'upload/iup/shahtplans/'.$_SESSION['user']['id'].'/';
|
|||
|
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
|||
|
$fil = $_FILES['shaht_prog']['name'];
|
|||
|
$t = explode('.',$fil); $ext = $t[count($t)-1];
|
|||
|
unset($t[count($t)-1]); $fn = implode('.',$t);
|
|||
|
$uploadfile = $dir_dest . basename(translit($fn).'.'.$ext);
|
|||
|
//if (move_uploaded_file($v, $uploadfile)) {
|
|||
|
if ($SYSTEMclass->sysUPLOAD($v, $uploadfile)) {
|
|||
|
$sql1 = 'INSERT INTO `'.$TB['iup_shahtplans'].'` VALUES (0,'.time().',"'.$uploadfile.'",'.$_SESSION['user']['id'].',"'.$shaht_napravlenie.'","'.$shaht_godob.'","'.$naprav.'",0);';
|
|||
|
$rez1 = $DB->QUR($sql1);
|
|||
|
//$msg['msg'][]=$sql1.'<pre>'.print_r($rez1,1).'</pre>';
|
|||
|
if(!$rez1['err']){
|
|||
|
$msg['msg'][]='Файл загружен и сохранен в БД!';
|
|||
|
}else{
|
|||
|
$msg['err'][]='Файл загружен и не сохранен в БД!';
|
|||
|
}
|
|||
|
} else {
|
|||
|
$msg['err'][]='Файл не загружен!';
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
} else {
|
|||
|
$msg['err'][]='Выберите направление!!!';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
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 == 'attved4'){//ПРОТОКОЛ 4
|
|||
|
$id = (int)$_GET['id'];
|
|||
|
print_vedomost($id,3,'tpl_iup_attved4.html');
|
|||
|
exit();
|
|||
|
}
|
|||
|
if($des == 'deleshp'){//удаление строк предметов из бд
|
|||
|
$id = (int)$_GET['id'];
|
|||
|
//if($_SESSION['user']['status']==99) {
|
|||
|
$sql = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_plans WHERE id_file='.$id.'';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
if($rez){
|
|||
|
$plan = $rez[1];
|
|||
|
$sql = 'DELETE FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE id_plans='.$plan['id'].'';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
if(!$rez['err']){}
|
|||
|
$sql = 'DELETE FROM '.$ST['dbpf'].'_iup_shahtplans_plans WHERE id_file='.$id.' LIMIT 1';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
if(!$rez['err']){}
|
|||
|
}
|
|||
|
//}
|
|||
|
$des = 'show';
|
|||
|
|
|||
|
}
|
|||
|
if($des == 'deleshpall'){//удаление файла из системы
|
|||
|
$id = (int)$_GET['id'];
|
|||
|
$sql = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans_plans WHERE id_file='.$id.'';
|
|||
|
$rez = $DB->QUR_SEL($sql); //echo $sql.'<pre>'.print_r($rez,1).'</pre>';
|
|||
|
if($rez){
|
|||
|
$plan = $rez[1];
|
|||
|
$sql = 'DELETE FROM '.$ST['dbpf'].'_iup_shahtplans_stroki WHERE id_plans='.$plan['id'].'';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
if(!$rez['err']){}
|
|||
|
$sql = 'DELETE FROM '.$ST['dbpf'].'_iup_shahtplans_plans WHERE id_file='.$id.' LIMIT 1';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
if(!$rez['err']){}
|
|||
|
}
|
|||
|
$sql = 'SELECT * FROM '.$ST['dbpf'].'_iup_shahtplans WHERE id='.$id.'';
|
|||
|
$rez = $DB->QUR_SEL($sql); //echo $sql.'<pre>'.print_r($rez,1).'</pre>';
|
|||
|
if($rez){
|
|||
|
$plan = $rez[1];
|
|||
|
unlink($plan['file']);
|
|||
|
$sql = 'DELETE FROM '.$ST['dbpf'].'_iup_shahtplans WHERE id='.$id.' LIMIT 1';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
if(!$rez['err']){}
|
|||
|
}
|
|||
|
$des = 'show';
|
|||
|
}
|
|||
|
|
|||
|
if($des == 'viewshp'){//просмотр шахтинского плана
|
|||
|
$id = (int)$_GET['id'];
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' WHERE id='.$id.' AND user_id='.$_SESSION['user']['id'].'';
|
|||
|
//$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' WHERE id='.$id.'';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
//echo $sql.'<pre>'.print_r($rez,1).'</pre>';
|
|||
|
if($rez){
|
|||
|
$shpl = parse_shahtplan($rez[1]['file'],$id,0);
|
|||
|
$smarty->assign('shpl',$shpl);
|
|||
|
}
|
|||
|
}
|
|||
|
if($des == 'editshp'){//обработка файла шахтинской в БД
|
|||
|
$id = (int)$_GET['id'];
|
|||
|
if($_SESSION['user']['status']==99){
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' WHERE id='.$id.'';
|
|||
|
}else{
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' WHERE id='.$id.' AND user_id='.$_SESSION['user']['id'].'';
|
|||
|
}
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
if($rez){
|
|||
|
$shpl = parse_shahtplan($rez[1]['file'],$id);
|
|||
|
$smarty->assign('shpl',$shpl);
|
|||
|
}
|
|||
|
}
|
|||
|
/*if($des == 'edit'){
|
|||
|
$id = (int)$_GET['id'];
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE id='.$id.' AND status=3';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
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;
|
|||
|
}}
|
|||
|
|
|||
|
$val['predmets'] = iup_get_predmets($_SESSION['user']['teacher']['fakultet'],$val['pret_naprav'],$val['pret_kurs'],$val['pret_fo']);
|
|||
|
$at=0;$ad=0;$addtime=0;$addday=0;
|
|||
|
foreach($val['predmets'] as $k => $v){
|
|||
|
$id_predmet = $v['id'];
|
|||
|
|
|||
|
$sql3 = 'SELECT prepod_name FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet_id='.$id_predmet.'';
|
|||
|
$rez3 = $DB->QUR_SEL($sql3);
|
|||
|
if($rez3){
|
|||
|
$val['predmets'][$k]['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';
|
|||
|
$rez4 = $DB->QUR_SEL($sql4);
|
|||
|
if($rez4){
|
|||
|
$val['predmets'][$k]['ocenki']=$rez4[1];
|
|||
|
}
|
|||
|
}else{
|
|||
|
$val['predmets'][$k]['prepodfio']='';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_kafedrs_files'].' WHERE id_studentzayavks='.$val['id'].' 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']);
|
|||
|
$namefile=''; $t=explode('/',$v['file']); $namefile=$t[count($t)-1];
|
|||
|
$v['namefile'] = $namefile;
|
|||
|
$val['filesk'][]=$v;
|
|||
|
}}
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_kafumu_chat'].' WHERE id_studentzayavks='.$val['id'].' 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']);
|
|||
|
$v['text'] = stripslashes($v['text']);
|
|||
|
$val['chat_umu'][]=$v;
|
|||
|
}}
|
|||
|
|
|||
|
$zayavka = $val;
|
|||
|
$smarty->assign('zayavka',$zayavka);
|
|||
|
}else{
|
|||
|
$des = 'show';
|
|||
|
}
|
|||
|
}*/
|
|||
|
if($des == 'edit'){
|
|||
|
$id = (int)$_GET['id'];
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE id='.$id.' AND status=3';
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
//echo $sql.'<pre>'.print_r($rez,1).'</pre>'; exit();
|
|||
|
//SELECT * FROM acs_iup_studentzayavks WHERE id=7493 AND status=3
|
|||
|
//Array ( [0] => 1 [1] => Array (
|
|||
|
// [id] => 7493 [data_c] => 1695122381 [id_user] => 1312 [fio] => Солтамурадов Магомед Турпалович
|
|||
|
// [pred_obraz] => продолжаю обучение [obraz_uchr] => ФГБОУ ВО «МГТУ
|
|||
|
// [diplom_seriya] => [diplom_nomer] => [diplom_data] => 1695122381
|
|||
|
// [pret_naprav] => ЛД:Лечебное дело АКТУАЛЬНЫЙ:Лечебное дело АКТУАЛЬНЫЙ:Специалитет
|
|||
|
// [pret_kurs] => 6 [pret_fo] => очная [status] => 3 [tel] => 89287828287 [pret_format] => [perevod] => 0
|
|||
|
// )
|
|||
|
//)
|
|||
|
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);
|
|||
|
//echo $sql.'<pre>'.print_r($rez,1).'</pre>'; exit();
|
|||
|
//SELECT * FROM acs_iup_studentzayavks_files WHERE id_studentzayavks=7493 ORDER BY data_c
|
|||
|
//Array([0] => 2
|
|||
|
// [1] => Array(
|
|||
|
// [id] => 24986 [data_c] => 1695122381 [id_user] => 1312 [id_studentzayavks] => 7493
|
|||
|
// [tipfile] => Справка о периоде обучения(если продолжаете обучение в МГТУ, то копия зачетной книжки)
|
|||
|
// [file] => upload/iup/1312/image.jpg [status] => 1
|
|||
|
// )
|
|||
|
// [2] => Array (
|
|||
|
// [id] => 24987 [data_c] => 1695122381 [id_user] => 1312 [id_studentzayavks] => 7493
|
|||
|
// [tipfile] => Справка о периоде обучения(если продолжаете обучение в МГТУ, то копия зачетной книжки)
|
|||
|
// [file] => upload/iup/1312/image.jpg
|
|||
|
// [status] => 1
|
|||
|
// )
|
|||
|
//)
|
|||
|
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;
|
|||
|
}
|
|||
|
//echo '<pre>'.print_r($val['predmets'],1).'</pre>'; exit();
|
|||
|
//Array ( [0] => Array (
|
|||
|
// [id] => 153414 [name_disp] => История discid] => Б1.Б.01 [isk] => [kurs] => 1 [sem] => 2
|
|||
|
// [ekz] => [zach] => 1 [zet] => 2 [godob] => 2018 [dispovyb] => [kpro] => [krab] => )
|
|||
|
$at=0;$ad=0;$addtime=0;$addday=0;
|
|||
|
foreach($val['predmets'] as $k => $v){
|
|||
|
$id_predmet = $v['id'];
|
|||
|
|
|||
|
$sql3 = 'SELECT prepod_name FROM '.$TB['iup_zamdekan'].' WHERE id_studentzayavks='.$id_zayavka.' AND predmet_id='.$id_predmet.'';
|
|||
|
$rez3 = $DB->QUR_SEL($sql3);
|
|||
|
//echo $sql3.'<pre>'.print_r($rez3,1).'</pre>';
|
|||
|
//SELECT prepod_name FROM acs_iup_zamdekan WHERE id_studentzayavks=7493 AND predmet_id=153414
|
|||
|
if($rez3){
|
|||
|
$val['predmets'][$k]['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';
|
|||
|
$rez4 = $DB->QUR_SEL($sql4);
|
|||
|
if($rez4){
|
|||
|
$val['predmets'][$k]['ocenki']=$rez4[1];
|
|||
|
}
|
|||
|
}else{
|
|||
|
$val['predmets'][$k]['prepodfio']='';
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_kafedrs_files'].' WHERE id_studentzayavks='.$val['id'].' 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']);
|
|||
|
$namefile=''; $t=explode('/',$v['file']); $namefile=$t[count($t)-1];
|
|||
|
$v['namefile'] = $namefile;
|
|||
|
$val['filesk'][]=$v;
|
|||
|
}}
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_kafumu_chat'].' WHERE id_studentzayavks='.$val['id'].' 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']);
|
|||
|
$v['text'] = stripslashes($v['text']);
|
|||
|
$val['chat_umu'][]=$v;
|
|||
|
}}
|
|||
|
|
|||
|
$zayavka = $val;
|
|||
|
$smarty->assign('zayavka',$zayavka);
|
|||
|
}else{
|
|||
|
$des = 'show';
|
|||
|
}
|
|||
|
}
|
|||
|
if($des == 'show'){//исправить выбирать статус 3!!! AND status=3
|
|||
|
$zayavks=array();
|
|||
|
if($_SESSION['user']['teacher']['fakultet']=='Филиал МГТУ'){
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE (pret_naprav LIKE "%'.implode('%" OR pret_naprav LIKE "%',$zamdeknaprav).'%") AND (status=3 OR status=5 OR status=6) ORDER BY data_c DESC';//echo $sql;
|
|||
|
}else{
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE (pret_naprav LIKE "%:'.implode('%" OR pret_naprav LIKE "%:',$zamdeknaprav).'%") AND pret_naprav NOT LIKE "Фс:%" AND (status=3 OR status=5 OR status=6) ORDER BY data_c DESC';
|
|||
|
|
|||
|
//скопировано с iup_zamdekan
|
|||
|
if (in_array("Фармация", $zamdeknaprav)) $sql = 'SELECT * FROM '.$TB['iup_studentzayavks'].' WHERE (pret_naprav LIKE "%:Фармация%") ORDER BY data_c DESC';
|
|||
|
//конец скопированного фрагмента
|
|||
|
}
|
|||
|
$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']);
|
|||
|
if($val['status']>4){
|
|||
|
$sql1 = 'SELECT data_c,file FROM '.$TB['iup_kafedrs_files'].' WHERE id_studentzayavks='.$id_zayavka.' ORDER BY data_c DESC LIMIT 1';
|
|||
|
$rez1 = $DB->QUR_SEL($sql1);
|
|||
|
if($rez1){
|
|||
|
$fr = $rez1[1];
|
|||
|
$fr['data_c'] = date('H:i:s d.m.Y',$fr['data_c']);
|
|||
|
$namefile=''; $t=explode('/',$fr['file']); $namefile=$t[count($t)-1];
|
|||
|
$fr['namefile'] = $namefile;
|
|||
|
$val['filesk']=$fr;
|
|||
|
}
|
|||
|
}
|
|||
|
$zayavks[] = $val;
|
|||
|
}
|
|||
|
}
|
|||
|
$smarty->assign('zayavks',$zayavks);
|
|||
|
|
|||
|
//надо выбрать загруженные планы!
|
|||
|
$shahtplans=array();
|
|||
|
if($_SESSION['user']['status']==99){
|
|||
|
//Добавим пагинацию для админа по загруженным планам
|
|||
|
$page_kol=50; $page_nav = 1; if(isset($_GET['nav'])) $page_nav = (int)$_GET['nav'];
|
|||
|
//iup_lkkafedry_search_naprav iup_lkkafedry_search_god
|
|||
|
$WH=array(); if(isset($_POST['iup_lkkafedry_search'])){
|
|||
|
if($_POST['iup_lkkafedry_search_naprav']!='') {
|
|||
|
$WH[] = 'napravlenie LIKE "%'.$DB->rescape($_POST['iup_lkkafedry_search_naprav']).'%"';
|
|||
|
$smarty->assign('iup_lkkafedry_search_naprav',$DB->rescape($_POST['iup_lkkafedry_search_naprav']));
|
|||
|
}
|
|||
|
if($_POST['iup_lkkafedry_search_god']!='') {
|
|||
|
$WH[] = 'godob = '.(int)$DB->rescape($_POST['iup_lkkafedry_search_god']).'';
|
|||
|
$smarty->assign('iup_lkkafedry_search_god',$DB->rescape($_POST['iup_lkkafedry_search_god']));
|
|||
|
}
|
|||
|
}
|
|||
|
if (count($WH)){
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' WHERE '.implode(' AND ',$WH).' ORDER BY napravlenie,godob';
|
|||
|
}else{
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' ORDER BY napravlenie,godob LIMIT '.(($page_nav-1)*$page_kol).','.$page_kol.'';
|
|||
|
//Закэшируем кол-во записей
|
|||
|
if(!isset($_SESSION['iup_lkkafedry_all'])){
|
|||
|
$rez_nav1 = $DB->QUR_SEL('SELECT COUNT(id) as ids FROM '.$TB['iup_shahtplans']);
|
|||
|
$_SESSION['iup_lkkafedry_all'] = $rez_nav['all'] = ceil($rez_nav1[1]['ids']/$page_kol);
|
|||
|
}else{
|
|||
|
$rez_nav['all'] = $_SESSION['iup_lkkafedry_all'];
|
|||
|
}
|
|||
|
$rez_nav['pk'] = $page_kol;
|
|||
|
$rez_nav['cur'] = $page_nav;
|
|||
|
$smarty->assign('rez_nav',$rez_nav);
|
|||
|
}
|
|||
|
}else{
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans'].' WHERE user_id='.$_SESSION['user']['id'].' ORDER BY napravlenie,godob';
|
|||
|
}
|
|||
|
$rez = $DB->QUR_SEL($sql);
|
|||
|
if($rez){
|
|||
|
foreach($rez as $key => $val)if($key){
|
|||
|
$val['data_c'] = date('H:i:s d.m.Y',$val['data_c']);
|
|||
|
$val['err']=array();
|
|||
|
$val['userfio']='';
|
|||
|
if($_SESSION['user']['status']==99){
|
|||
|
$sql1 = 'SELECT fio FROM '.$ST['dbpf'].'_users WHERE id='.$val['user_id'].'';
|
|||
|
$rez1 = $DB->QUR_SEL($sql1);
|
|||
|
if($rez1){
|
|||
|
$val['userfio']=$rez1[1]['fio'];
|
|||
|
}
|
|||
|
}
|
|||
|
/*$sql1 = 'SELECT * FROM '.$TB['iup_shahtplans_plans'].' WHERE id_file='.$val['id'].'';
|
|||
|
$rez1 = $DB->QUR_SEL($sql1);
|
|||
|
if($rez1){
|
|||
|
$val['db']=1;
|
|||
|
$val['plans']=$rez1[1];
|
|||
|
$pp=explode(':',mb_strtolower($val['naprav']));
|
|||
|
$val['pp']=$pp;
|
|||
|
$nappodgo=mb_strtolower ($val['plans']['nappodgo']);
|
|||
|
$nappodgo=str_replace("\n",' ',$nappodgo);
|
|||
|
$nappodgo=str_replace("\r",'',$nappodgo);
|
|||
|
$propodgo=mb_strtolower ($val['plans']['propodgo']);
|
|||
|
if($propodgo[0]=='-'){
|
|||
|
$propodgo=str_replace('-','',$propodgo);
|
|||
|
}
|
|||
|
$obrpro=trim(str_replace('академический','',mb_strtolower ($val['plans']['obrpro'])));
|
|||
|
$obrpro=str_replace('бакалавр','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('подготовка бакалавров','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('подготовка бакалавриатов','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('прикладной бакалавриат','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('магистр','магистратура',$obrpro);
|
|||
|
$obrpro=str_replace('специалист','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('специалист ','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('Специалист','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('специалитет','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('Специалитет таможенного дела','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('Специалитет таможенного дела','Специалитет',$obrpro);
|
|||
|
|
|||
|
$obrpro=str_replace('Врач общей практики','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('врач - педиатр общей практики','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('подготовка','',$obrpro);
|
|||
|
$obrpro=str_replace('ов','',$obrpro);
|
|||
|
$obrpro=str_replace('провизор','Специалитет',$obrpro);
|
|||
|
|
|||
|
|
|||
|
$nappodgo=trim($nappodgo);
|
|||
|
$propodgo=trim($propodgo);
|
|||
|
$obrpro=mb_strtolower(trim($obrpro));
|
|||
|
$val['pp1']=array(0=>'',$nappodgo,$propodgo,$obrpro);
|
|||
|
if(count($pp)>2){
|
|||
|
if($pp[1]!=$nappodgo){
|
|||
|
$val['err'][]='Не совпадает направление! => '.$pp[1].'<>'.$nappodgo;
|
|||
|
}
|
|||
|
if($propodgo==''){
|
|||
|
$val['err'][]='Профиль пустой!';
|
|||
|
}else{
|
|||
|
if($pp[2]!=$propodgo){
|
|||
|
$val['err'][]='Не совпадает профиль! В файле:['.$pp[2].'] выбрали ['.$propodgo.'] измените в файле!';
|
|||
|
}
|
|||
|
}
|
|||
|
if($pp[3]!=$obrpro){
|
|||
|
$val['err'][]='Не совпадает тип(бакалавр,магистр)! => '.$pp[3].'<>'.$obrpro;
|
|||
|
}
|
|||
|
}
|
|||
|
//надо проверить связку с оценками-чтобы предупреждать при удалении
|
|||
|
$sql2 = 'SELECT count(zd.id) as kol FROM '.$TB['iup_shahtplans_stroki'].' as ss, '.$TB['iup_zamdekan'].' as zd WHERE ss.id_plans='.$val['plans']['id'].' AND zd.predmet_id=ss.id';
|
|||
|
$rez2 = $DB->QUR_SEL($sql2);
|
|||
|
if($rez2){
|
|||
|
$val['ispolzuetsya'] = $rez2[1]['kol'];
|
|||
|
}else{
|
|||
|
$val['ispolzuetsya'] = 0;
|
|||
|
}
|
|||
|
}else{
|
|||
|
$val['db']=0;
|
|||
|
$val['ispolzuetsya'] = 0;
|
|||
|
}*/
|
|||
|
|
|||
|
$shahtplans[] = ShahtPlan_Get_Info($val);
|
|||
|
}
|
|||
|
}
|
|||
|
$smarty->assign('shahtplans',$shahtplans);
|
|||
|
|
|||
|
$napravlenie = iup_get_napravlenie();
|
|||
|
$smarty->assign('napravlenie',$napravlenie);
|
|||
|
}
|
|||
|
$smarty->assign('zamdeknaprav',$zamdeknaprav);
|
|||
|
$smarty->assign('page',$page);
|
|||
|
$smarty->assign('des',$des);
|
|||
|
$smarty->assign('msg',$msg);
|
|||
|
$maincontent = $smarty->fetch('tpl_iup_main.html');
|
|||
|
|
|||
|
function ShahtPlan_Get_Info($val){
|
|||
|
GLOBAL $TB,$DB;
|
|||
|
$sql1 = 'SELECT * FROM '.$TB['iup_shahtplans_plans'].' WHERE id_file='.$val['id'].'';
|
|||
|
$rez1 = $DB->QUR_SEL($sql1);
|
|||
|
if($rez1){
|
|||
|
$val['db']=1;
|
|||
|
$val['plans']=$rez1[1];
|
|||
|
$pp=explode(':',mb_strtolower($val['naprav']));
|
|||
|
$val['pp']=$pp;
|
|||
|
$nappodgo=mb_strtolower ($val['plans']['nappodgo']);
|
|||
|
$nappodgo=str_replace("\n",' ',$nappodgo);
|
|||
|
$nappodgo=str_replace("\r",'',$nappodgo);
|
|||
|
$propodgo=mb_strtolower ($val['plans']['propodgo']);
|
|||
|
if($propodgo[0]=='-'){
|
|||
|
$propodgo=str_replace('-','',$propodgo);
|
|||
|
}
|
|||
|
$obrpro=trim(str_replace('академический','',mb_strtolower ($val['plans']['obrpro'])));
|
|||
|
$obrpro=str_replace('бакалавр','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('подготовка бакалавров','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('подготовка бакалавриатов','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('прикладной бакалавриат','бакалавриат',$obrpro);
|
|||
|
$obrpro=str_replace('магистр','магистратура',$obrpro);
|
|||
|
$obrpro=str_replace('специалист','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('специалист ','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('Специалист','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('специалитет','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('Специалитет таможенного дела','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('Специалитет таможенного дела','Специалитет',$obrpro);
|
|||
|
|
|||
|
$obrpro=str_replace('Врач общей практики','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('врач - педиатр общей практики','Специалитет',$obrpro);
|
|||
|
$obrpro=str_replace('подготовка','',$obrpro);
|
|||
|
$obrpro=str_replace('ов','',$obrpro);
|
|||
|
$obrpro=str_replace('провизор','Специалитет',$obrpro);
|
|||
|
|
|||
|
|
|||
|
$nappodgo=trim($nappodgo);
|
|||
|
$propodgo=trim($propodgo);
|
|||
|
$obrpro=mb_strtolower(trim($obrpro));
|
|||
|
$val['pp1']=array(0=>'',$nappodgo,$propodgo,$obrpro);
|
|||
|
if(count($pp)>2){
|
|||
|
if($pp[1]!=$nappodgo){
|
|||
|
$val['err'][]='Не совпадает направление! => '.$pp[1].'<>'.$nappodgo;
|
|||
|
}
|
|||
|
if($propodgo==''){
|
|||
|
$val['err'][]='Профиль пустой!';
|
|||
|
}else{
|
|||
|
if($pp[2]!=$propodgo){
|
|||
|
$val['err'][]='Не совпадает профиль! В файле:['.$pp[2].'] выбрали ['.$propodgo.'] измените в файле!';
|
|||
|
}
|
|||
|
}
|
|||
|
if($pp[3]!=$obrpro){
|
|||
|
$val['err'][]='Не совпадает тип(бакалавр,магистр)! => '.$pp[3].'<>'.$obrpro;
|
|||
|
}
|
|||
|
}
|
|||
|
//надо проверить связку с оценками-чтобы предупреждать при удалении
|
|||
|
$sql2 = 'SELECT count(zd.id) as kol FROM '.$TB['iup_shahtplans_stroki'].' as ss, '.$TB['iup_zamdekan'].' as zd WHERE ss.id_plans='.$val['plans']['id'].' AND zd.predmet_id=ss.id';
|
|||
|
$rez2 = $DB->QUR_SEL($sql2);
|
|||
|
if($rez2){
|
|||
|
$val['ispolzuetsya'] = $rez2[1]['kol'];
|
|||
|
}else{
|
|||
|
$val['ispolzuetsya'] = 0;
|
|||
|
}
|
|||
|
}else{
|
|||
|
$val['db']=0;
|
|||
|
$val['ispolzuetsya'] = 0;
|
|||
|
}
|
|||
|
return $val;
|
|||
|
}
|
|||
|
|
|||
|
function parse_shahtplan($file,$id_file,$dd=1){//разбираем шахтинский план!
|
|||
|
GLOBAL $DB,$ST,$TB; $out = array(); $out['err'] = ''; $out['msg'] = '';
|
|||
|
$aplan=array();
|
|||
|
if($dd==0){ $out['msg'] .= '$file='.$file.'<br>'; }
|
|||
|
/*
|
|||
|
<Документ CrAppVer="40001" CrWrite="01.01.0001" AppVersion="40211" MinAppVersion="40001" Тип="УЧЕБНЫЙ ПЛАН" PrevName="z ППР проект пр 2020-2021.plx" PrevWrite="23.03.2020" LastName="z ППР проект пр 2020-2021.plx" LastWrite="31.08.2020" WrPth="C:\U~" UserName="DESKTOP-5AEL9JU\Admin" UserPC="DESKTOP-5AEL9JU" ЧислоКурсов="7" СеместровНаКурсе="1" СессийНаКурсе="3" ЭлементовВНеделе="6" ТипГОСа="3.5" КодУровняОбразования="2" КодФормыОбучения="2">
|
|||
|
|
|||
|
<Документ CrAppVer="22454" CrWrite="17.02.2019" AppVersion="40211" MinAppVersion="40001" Тип=" УЧЕБНЫЙ ПЛАН" PrevName="35.03.06 3+++.plx" PrevWrite="23.03.2020" LastName="35.03.06 3+++.plx" LastWrite="31.08.2020" WrPth="C:\U~" UserName="DESKTOP-5AEL9JU\Admin" UserPC="DESKTOP-5AEL9JU" ЧислоКурсов="7" СеместровНаКурсе="2" СессийНаКурсе="0" ЭлементовВНеделе="6" ТипГОСа="3.75" КодУровняОбразования="2" КодФормыОбучения="1">
|
|||
|
*/
|
|||
|
if(file_exists($file)){
|
|||
|
if($dd==0){ $out['msg'] .= '$file='.$file.'<br>'; }
|
|||
|
$t=explode('.',$file);
|
|||
|
if($t[count($t)-1]=='plx'){
|
|||
|
$out['msg'] .= 'ФАЙЛ PLX<br>';
|
|||
|
$out['msg'] .= 'файл найден<br>';
|
|||
|
$fplan = file_get_contents($file);
|
|||
|
//echo '<pre>'.print_r($file,1).'</pre>'; exit();
|
|||
|
$plan = new SimpleXMLElement($fplan);
|
|||
|
//echo '<pre>'.print_r($fplan,1).'</pre>'; exit();
|
|||
|
$xml = dom_import_simplexml($plan);
|
|||
|
//if($dd==0){ $out['msg'] .= 'xml.plx:<pre>'.print_r($xml,1).'</pre>'; }
|
|||
|
$nodelist= $xml->getElementsByTagName('ООП');
|
|||
|
$oop=array();
|
|||
|
for($i = 0; $i < $nodelist->length; $i++) {
|
|||
|
$attr = $nodelist->item($i)->attributes;
|
|||
|
for($j = 0; $j < $attr->length; $j++) {
|
|||
|
$oop[$i][$attr->item($j)->name] = $attr->item($j)->value;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
//if($dd==0){ $out['msg'] .= '$oop<pre>'.print_r($oop,1).'</pre>';}
|
|||
|
/*
|
|||
|
Array(
|
|||
|
[0] => Array (
|
|||
|
[id] => ООП96
|
|||
|
[rowOrder] => 0
|
|||
|
[hasChanges] => modified
|
|||
|
[Код] => 5710
|
|||
|
[Шифр] => 36.03.02
|
|||
|
[Название] => ЗООТЕХНИЯ
|
|||
|
[УровеньОбразования] => 3
|
|||
|
[Квалификация] => 2
|
|||
|
[СрокЛет] => 4
|
|||
|
[НомерДокумента] => 250
|
|||
|
[ДатаДокумента] => 2016-03-21T00:00:00
|
|||
|
[ТипГОСа] => 3.5
|
|||
|
[Используется] => false
|
|||
|
[Префикс] =>
|
|||
|
)
|
|||
|
[1] => Array (
|
|||
|
[id] => ООП96
|
|||
|
[rowOrder] => 0
|
|||
|
[Код] => 5710
|
|||
|
[Шифр] => 36.03.02
|
|||
|
[Название] => ЗООТЕХНИЯ
|
|||
|
[Квалификация] => 16
|
|||
|
[СрокЛет] => 4
|
|||
|
[НомерДокумента] => 250
|
|||
|
[ДатаДокумента] => 2016-03-21T00:00:00
|
|||
|
[Используется] => false
|
|||
|
[Префикс] =>
|
|||
|
)
|
|||
|
)
|
|||
|
*/
|
|||
|
$nodelist= $xml->getElementsByTagName('Факультеты');
|
|||
|
$Fak=array();
|
|||
|
for($i = 0; $i < $nodelist->length; $i++) {
|
|||
|
$attr = $nodelist->item($i)->attributes;
|
|||
|
for($j = 0; $j < $attr->length; $j++) {
|
|||
|
$Fak[$i][$attr->item($j)->name] = $attr->item($j)->value;
|
|||
|
}
|
|||
|
}
|
|||
|
//if($dd==0){ $out['msg'] .= '$Fak<pre>'.print_r($Fak,1).'</pre>';}
|
|||
|
/*
|
|||
|
Array(
|
|||
|
[0] => Array (
|
|||
|
[id] => Факультеты1
|
|||
|
[rowOrder] => 0
|
|||
|
[hasChanges] => inserted
|
|||
|
[Код] => -1
|
|||
|
[Факультет] => аграрных технологий
|
|||
|
[Сокращение] =>
|
|||
|
[Псевдоним] =>
|
|||
|
[Декан] =>
|
|||
|
[Телефон] =>
|
|||
|
[Аудитория] =>
|
|||
|
[Сайт] => false
|
|||
|
[ВнутрТелефон] =>
|
|||
|
[EMail] =>
|
|||
|
[URL] =>
|
|||
|
[ФайлСтиля] =>
|
|||
|
[Шифр] =>
|
|||
|
[Описание] =>
|
|||
|
[Код_филиала] => -1
|
|||
|
[РодПадеж] =>
|
|||
|
[Секретарь] =>
|
|||
|
[ЗамДекана] =>
|
|||
|
[Тип] => Факультет
|
|||
|
)
|
|||
|
)
|
|||
|
*/
|
|||
|
$nodelist= $xml->getElementsByTagName('Планы');
|
|||
|
$Plan=array();
|
|||
|
for($i = 0; $i < $nodelist->length; $i++) {
|
|||
|
$attr = $nodelist->item($i)->attributes;
|
|||
|
for($j = 0; $j < $attr->length; $j++) {
|
|||
|
$Plan[$i][$attr->item($j)->name] = $attr->item($j)->value;
|
|||
|
}
|
|||
|
}
|
|||
|
//if($dd==0){ $out['msg'] .= '$Plan<pre>'.print_r($Plan,1).'</pre>'; }
|
|||
|
/*
|
|||
|
Array(
|
|||
|
[0] => Array (
|
|||
|
[id] => Планы1
|
|||
|
[rowOrder] => 0
|
|||
|
[hasChanges] => inserted
|
|||
|
[Код] => -1
|
|||
|
[УчебныйГод] => 2018-2019
|
|||
|
[КодООП] => 5710
|
|||
|
[КодФормыОбучения] => 2
|
|||
|
[КодПрограммы] => 3
|
|||
|
[КодОрганизации] => -1
|
|||
|
[КодФакультета] => -1
|
|||
|
[КодПрофКафедры] => 30
|
|||
|
[Сокращённое] => false
|
|||
|
[Дистанционное] => false
|
|||
|
[ДляИностранных] => false
|
|||
|
[Титул] => Направление подготовки «Зоотехния» Профиль подготовки «Технология производства продукции животноводства»
|
|||
|
[Квалификация] => бакалавр
|
|||
|
[Специализация] =>
|
|||
|
[ВоеннаяСпециальность] =>
|
|||
|
[Предназначение] =>
|
|||
|
[СрокОбучения] => 4
|
|||
|
[СрокОбученияМесяцев] => 6
|
|||
|
[ЧислоКурсов] => 7
|
|||
|
[ЧислоСессий] => 0
|
|||
|
[КодГрафика] => -1
|
|||
|
[НомерФГОС] => 250
|
|||
|
[ДатаГОСа] => 2016-03-21T00:00:00
|
|||
|
[ДатаВерсииПриложения] => 2018-01-18T00:00:00
|
|||
|
[НомерВерсииПриложения] => 40147
|
|||
|
[ИмяПриложения] => UpVo
|
|||
|
[НомерПользователя] => 1014565
|
|||
|
[ИмяПользователя] => 2_53-1\Admin
|
|||
|
[ИмяФайла] => z36.03.02_62-14-1234-2356 ЗТ 18 год. без звезды.plx
|
|||
|
[ДатаИзмФайла] => 2018-01-30T16:14:15.09375
|
|||
|
[ДатаУтверСоветом] => 2018-04-25T00:00:00
|
|||
|
[НомПротокСовета] => 5
|
|||
|
[Примечание] =>
|
|||
|
[ГодНачалаПодготовки] => 2018
|
|||
|
[ТипГОСа] => 3.5
|
|||
|
[КодАктивногоООП] => 5710
|
|||
|
[ЗЕТвНеделю] => 1.5
|
|||
|
[Точность] => 0.25
|
|||
|
[ДвИГА] => true
|
|||
|
[ГвИГА] => true
|
|||
|
[СеместровНаКурсе] => 2
|
|||
|
[ЧасовВКредите] => 36
|
|||
|
[Индивидуальный] => 0
|
|||
|
[ФИО] => ""
|
|||
|
[Военные] => false
|
|||
|
[КодУровняОбразования] => 2
|
|||
|
[КодТипаПлана] => 0
|
|||
|
[СтатусВНагрузке] => 0
|
|||
|
)
|
|||
|
|
|||
|
)
|
|||
|
*/
|
|||
|
$aplan['obrpro'] = trim($Plan[0]['Квалификация']);
|
|||
|
if($Plan[0]['КодФормыОбучения']==1) $aplan['forobu'] = 'очная';
|
|||
|
if($Plan[0]['КодФормыОбучения']==2) $aplan['forobu'] = 'заочная';
|
|||
|
if($plan['КодУровняОбразования']==2) $aplan['uroobr'] = 'ВПО'; else $aplan['uroobr'] = 'СПО';
|
|||
|
$aplan['kodkaf'] = trim($Plan[0]['КодПрофКафедры']);
|
|||
|
$aplan['fakult'] = trim($Fak[0]['Факультет']);
|
|||
|
$aplan['shifr1'] = trim($oop[0]['Шифр']);
|
|||
|
$aplan['godnap'] = trim($Plan[0]['ГодНачалаПодготовки']);
|
|||
|
$aplan['nappodgo'] = trim($oop[0]['Название']);
|
|||
|
$aplan['nappodgo'] = str_replace('«','',$aplan['nappodgo']);
|
|||
|
$aplan['nappodgo'] = str_replace('»','',$aplan['nappodgo']);
|
|||
|
$aplan['nappodgo'] = str_replace('"','',$aplan['nappodgo']);
|
|||
|
$aplan['propodgo'] = '';
|
|||
|
$aplan['kvalif_name'] = trim($Plan[0]['Квалификация']);
|
|||
|
$aplan['kvalif_srok'] = trim($Plan[0]['СрокОбучения']).'г '.trim($Plan[0]['СрокОбученияМесяцев']).'м';
|
|||
|
$aplan['titul']=trim($Plan[0]['Титул']);
|
|||
|
if (strpos($aplan['titul'], 'Профиль') !== false) {
|
|||
|
$tpp=explode('рофиль',$aplan['titul']);
|
|||
|
$aplan['propodgo'] = trim(str_replace('подготовки','',$tpp[1]));
|
|||
|
$aplan['propodgo'] = str_replace('Профиль ','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('профиль ','',$aplan['propodgo']);
|
|||
|
}else{
|
|||
|
if (strpos($aplan['titul'], 'профиль') !== false) {
|
|||
|
$tpp=explode('профиль',$aplan['titul']);
|
|||
|
$aplan['propodgo'] = trim(str_replace('подготовки','',$tpp[1]));
|
|||
|
}
|
|||
|
if (strpos($aplan['titul'], 'аправленность') !== false) {
|
|||
|
$tpp=explode('аправленность',$aplan['titul']);
|
|||
|
$aplan['propodgo'] = trim(str_replace(':','',$tpp[1]));
|
|||
|
}
|
|||
|
}
|
|||
|
$aplan['propodgo'] = str_replace('«','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('»','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('"','',$aplan['propodgo']);
|
|||
|
if($aplan['propodgo'][0]==':') $aplan['propodgo'] = trim(str_replace(': ','',$aplan['propodgo']));
|
|||
|
$aplan['strsplan']=array();
|
|||
|
/*
|
|||
|
<Планы diffgr:id="Планы1" msdata:rowOrder="0" diffgr:hasChanges="inserted" Код="-1" УчебныйГод="2018-2019" КодООП="5710" КодФормыОбучения="2" КодПрограммы="3" КодОрганизации="-1" КодФакультета="-1" КодПрофКафедры="30" Сокращённое="false" Дистанционное="false" ДляИностранных="false" Титул="Направление подготовки «Зоотехния» Профиль подготовки «Технология производства продукции животноводства»" Квалификация="бакалавр" Специализация="" ВоеннаяСпециальность="" Предназначение="" СрокОбучения="4" СрокОбученияМесяцев="6" ЧислоКурсов="7" ЧислоСессий="0" КодГрафика="-1" НомерФГОС="250" ДатаГОСа="2016-03-21T00:00:00" ДатаВерсииПриложения="2018-01-18T00:00:00" НомерВерсииПриложения="40147" ИмяПриложения="UpVo" НомерПользователя="1014565" ИмяПользователя="2_53-1\Admin" ИмяФайла="z36.03.02_62-14-1234-2356 ЗТ 18 год. без звезды.plx" ДатаИзмФайла="2018-01-30T16:14:15.09375" ДатаУтверСоветом="2018-04-25T00:00:00" НомПротокСовета="5" Примечание="" ГодНачалаПодготовки="2018" ТипГОСа="3.5" КодАктивногоООП="5710" ЗЕТвНеделю="1.5" Точность="0.25" ДвИГА="true" ГвИГА="true" СеместровНаКурсе="2" ЧасовВКредите="36" Индивидуальный="0" ФИО="""" Военные="false" КодУровняОбразования="2" КодТипаПлана="0" СтатусВНагрузке="0" />
|
|||
|
*/
|
|||
|
|
|||
|
/*
|
|||
|
<ПланыСтроки
|
|||
|
diffgr:id="ПланыСтроки1" msdata:rowOrder="0" diffgr:hasChanges="inserted"
|
|||
|
Код="-1" КодПлана="-1" КодООП="5710" КодБлока="-2" КодКафедры="2"
|
|||
|
Дисциплина="История" ТипОбъекта="2" ВидОбъекта="1" РассредПрактика="false"
|
|||
|
УровеньВложения="1" ПризнакФизкультуры="false" СчитатьБезЗЕТ="false" СчитатьВПлане="true"
|
|||
|
НеСчитатьКонтроль="false" ЗаСчетПолевых="false" ДисциплинаКод="Б1.Б.01" ТрудоемкостьКредитов="4"
|
|||
|
ЧасовВЗЕТ="36" ЗЕТфакт="4" ЗЕТизучено="0" ЧасовПоЗЕТ="144" ЧасовПоПлану="144" ПодлежитИзучениюЧасов="144"
|
|||
|
НестандартНедПрактики="false" ReadOnly="false" Свернуть="false" Multiselect="0"
|
|||
|
Оценка="0" ТипПерезачета="0" Адаптационная="false" />
|
|||
|
*/
|
|||
|
/*
|
|||
|
<ПланыГрафикиЯчейки
|
|||
|
0 diffgr:id="ПланыГрафикиЯчейки1"
|
|||
|
1 msdata:rowOrder="0"
|
|||
|
2 diffgr:hasChanges="inserted"
|
|||
|
3 Код="-1"
|
|||
|
4 КодГрафика="-1"
|
|||
|
5 КодВидаДеятельности="1"
|
|||
|
6 НомерНедели="1"
|
|||
|
7 НомерЧастиНедели="1"
|
|||
|
8 Курс="1"
|
|||
|
Семестр="1"
|
|||
|
Переаттестована="false"
|
|||
|
КоличествоЧастейВНеделе="1"
|
|||
|
НомерПервойНедели="1" />
|
|||
|
*/
|
|||
|
$nodelist= $xml->getElementsByTagName('ПланыСтроки');
|
|||
|
$PlansString=array(); $tmp=array();
|
|||
|
for($i = 0; $i < $nodelist->length; $i++) {
|
|||
|
$attr = $nodelist->item($i)->attributes;
|
|||
|
//echo '1<pre>'.print_r($nodelist->item($i),1).'</pre>';exit();
|
|||
|
$tmp1['nom'] = 0;//курс
|
|||
|
for($j = 0; $j < $attr->length; $j++) {
|
|||
|
$name = $attr->item($j)->name;
|
|||
|
$value = $attr->item($j)->value;
|
|||
|
$PlansString[$i][$name] = $value;
|
|||
|
|
|||
|
if($name == 'Дисциплина') $tmp['discip'] = trim($value);
|
|||
|
if($name == 'ДисциплинаКод') $tmp['discid'] = trim($value);
|
|||
|
if($name == 'ЧасовВЗЕТ') $tmp['chaszet'] = trim($value);
|
|||
|
if($name == 'ЗЕТфакт') $tmp['zetfakt'] = trim($value);
|
|||
|
//echo '2<pre>'.print_r($attr->item($j),1).'</pre>';exit();
|
|||
|
|
|||
|
if($name == 'Код'){//нашли номер записи
|
|||
|
$kod = trim($value);
|
|||
|
$nodelist1= $xml->getElementsByTagName('ПланыНовыеЧасы');
|
|||
|
$kkk=-1; $ekz=array(); $zach=array(); $kpro=array(); $krab=array();
|
|||
|
//В новых версиях нумерация аттрибутов отличается! надо определять по имени!
|
|||
|
/*есть
|
|||
|
Код: КодВидаРаботы=101=-1
|
|||
|
Код[Определили]: КодВидаРаботы=101=-1
|
|||
|
Код5: КодТипаЧасов=1=-1
|
|||
|
Код7: Семестр=1=-1
|
|||
|
Код8: Сессия=0=-1
|
|||
|
Код12: Переаттестовано=false=-1
|
|||
|
*/
|
|||
|
/*должно быть
|
|||
|
Код: КодОбъекта=-1=-1
|
|||
|
Код[Определили]: КодОбъекта=-1=-1
|
|||
|
Код5: КодВидаРаботы=101=-1
|
|||
|
Код7: Курс=1=-1
|
|||
|
Код8: Семестр=1=-1
|
|||
|
Код12: Количество=34=-1
|
|||
|
*/
|
|||
|
|
|||
|
/*$nodelist1->item($i1)->attributes[4]->value должен быть КодОбъекта в новых версиях это КодВидаРаботы - что не правильно!
|
|||
|
if($dd==0) {
|
|||
|
$out['msg'] .= '$nodelist1=<pre>'.print_r($nodelist1,1).'</pre>';
|
|||
|
$out['msg'] .= '$nodelist1->item(0)=<pre>'.print_r($nodelist1->item(0),1).'</pre>';
|
|||
|
$out['msg'] .= '$nodelist1->item(0)->length=<pre>'.print_r($nodelist1->item(0)->length,1).'</pre>';
|
|||
|
$out['msg'] .= '$nodelist1->item(0)->attributes=<pre>'.print_r($nodelist1->item(0)->attributes,1).'</pre>';
|
|||
|
$out['msg'] .= '$nodelist1->item(0)->attributes->length=<pre>'.print_r($nodelist1->item(0)->attributes->length,1).'</pre>';
|
|||
|
}*/
|
|||
|
|
|||
|
$num4=4;$num5=5;$num7=7;$num8=8;$num12=12;
|
|||
|
for($j0 = 0; $j0 < $nodelist1->item(0)->attributes->length; $j0++) {
|
|||
|
if($nodelist1->item(0)->attributes[$j0]->name == 'КодОбъекта') $num4=$j0;
|
|||
|
if($nodelist1->item(0)->attributes[$j0]->name == 'КодВидаРаботы') $num5=$j0;
|
|||
|
if($nodelist1->item(0)->attributes[$j0]->name == 'Курс') $num7=$j0;
|
|||
|
if($nodelist1->item(0)->attributes[$j0]->name == 'Семестр') $num8=$j0;
|
|||
|
if($nodelist1->item(0)->attributes[$j0]->name == 'Количество') $num12=$j0;
|
|||
|
}
|
|||
|
/*if($dd==0) {
|
|||
|
$out['msg'] .= 'Код4[Определили]: '.$nodelist1->item(0)->attributes[$num4]->name.'='.$nodelist1->item(0)->attributes[$num4]->value.'<br>';
|
|||
|
$out['msg'] .= 'Код5[Определили]: '.$nodelist1->item(0)->attributes[$num5]->name.'='.$nodelist1->item(0)->attributes[$num5]->value.'<br>';
|
|||
|
$out['msg'] .= 'Код7[Определили]: '.$nodelist1->item(0)->attributes[$num7]->name.'='.$nodelist1->item(0)->attributes[$num7]->value.'<br>';
|
|||
|
$out['msg'] .= 'Код8[Определили]: '.$nodelist1->item(0)->attributes[$num8]->name.'='.$nodelist1->item(0)->attributes[$num8]->value.'<br>';
|
|||
|
$out['msg'] .= 'Код12[Определили]: '.$nodelist1->item(0)->attributes[$num12]->name.'='.$nodelist1->item(0)->attributes[$num12]->value.'<br>';
|
|||
|
}*/
|
|||
|
|
|||
|
for($i1 = 0; $i1 < $nodelist1->length; $i1++) {
|
|||
|
if($nodelist1->item($i1)->attributes[$num4]->value == $kod){
|
|||
|
$tip='und';
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '101') $tip='lek';//лекции
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '103') $tip='pr';//Практич
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '107') $tip='srs';//СР
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '108') $tip='kontr';//контроль
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '50') $tip='zet';//фактз.е.
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '1000') $tip='itogo';//
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '1') $tip='ekz';//
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '2') $tip='zach';//
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '4') $tip='kpro';//Курсовой проект
|
|||
|
if($nodelist1->item($i1)->attributes[$num5]->value == '5') $tip='krab';//Курсовая работа
|
|||
|
$kurs=$nodelist1->item($i1)->attributes[$num7]->value;
|
|||
|
$tsem=$nodelist1->item($i1)->attributes[$num8]->value;
|
|||
|
$sem=0; if($tsem==2) $sem=$kurs*2; else $sem=($kurs*2)-1;
|
|||
|
if($tip=='ekz'){ if(!in_array($sem,$ekz)) $ekz[]=$sem; }
|
|||
|
if($tip=='zach'){ if(!in_array($sem,$zach)) $zach[]=$sem; }
|
|||
|
if($tip=='kpro'){ if(!in_array($sem,$kpro)) $kpro[]=$sem; }
|
|||
|
if($tip=='krab'){ if(!in_array($sem,$krab)) $krab[]=$sem; }
|
|||
|
if($tip=='und'){ $tip=$nodelist1->item($i1)->attributes[$num5]->value; }
|
|||
|
$tmp['kurs'][$kurs][$sem][$tip]=$nodelist1->item($i1)->attributes[$num12]->value;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
//надо еще определять дисциплины по выбору
|
|||
|
if($name == 'ТипОбъекта'){//ТипОбъекта="5" это Дисциплины по выбору
|
|||
|
$tmp['tipobject'] = trim($value);
|
|||
|
}
|
|||
|
if($name == 'КодРодителя'){//КодРодителя="50" это родитель Дисциплины по выбору
|
|||
|
$tmp['kodrodit'] = trim($value);
|
|||
|
}
|
|||
|
|
|||
|
/*//первая попытка найти по семестрам данные
|
|||
|
if($name == 'rowOrder'){//нашли номер записи
|
|||
|
$rowOrder = trim($value);
|
|||
|
//ищем запись с курсом...
|
|||
|
//$nodelist1= $xml->getElementsByTagName('ПланыГрафикиЯчейки')[1];//.attributes['rowOrder'];
|
|||
|
$nodelist1= $xml->getElementsByTagName('ПланыГрафикиЯчейки');
|
|||
|
//echo '4<pre>'.print_r($nodelist1,1).'</pre>';exit();
|
|||
|
$kkk=-1;
|
|||
|
for($i1 = 0; $i1 < $nodelist1->length; $i1++) {
|
|||
|
//echo '<pre>'.print_r($nodelist1->item($i1)->attributes[1]->value,1).'</pre>';exit();
|
|||
|
if($nodelist1->item($i1)->attributes[1]->value == $rowOrder){
|
|||
|
$tmp1['nom'] = $nodelist1->item($i1)->attributes[8]->value;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
*/
|
|||
|
}
|
|||
|
$tmp['ekz'] = $ekz;
|
|||
|
$tmp['zach'] = $zach;
|
|||
|
$tmp['kpro'] = $kpro;
|
|||
|
$tmp['krab'] = $krab;
|
|||
|
|
|||
|
$aplan['strsplan'][]=$tmp;
|
|||
|
//if ($i>300) { echo $name.'<pre>'.print_r($aplan,1).'</pre>'; exit(); }
|
|||
|
$tmp=array();
|
|||
|
}
|
|||
|
//echo '<pre>'.print_r($aplan,1).'</pre>';exit();
|
|||
|
//if($dd==0){ $out['msg'] .= '$aplan<pre>'.print_r($aplan,1).'</pre>';}
|
|||
|
//if($dd==0){ $out['msg'] .= '$PlansString<pre>'.print_r($PlansString,1).'</pre>';}
|
|||
|
/*Array(
|
|||
|
[0] => Array(
|
|||
|
[id] => ПланыСтроки1
|
|||
|
[rowOrder] => 0
|
|||
|
[hasChanges] => inserted
|
|||
|
[Код] => -1
|
|||
|
[КодПлана] => -1
|
|||
|
[КодООП] => 5710
|
|||
|
[КодБлока] => -2
|
|||
|
[КодКафедры] => 2
|
|||
|
[Дисциплина] => История
|
|||
|
[ТипОбъекта] => 2
|
|||
|
[ВидОбъекта] => 1
|
|||
|
[РассредПрактика] => false
|
|||
|
[УровеньВложения] => 1
|
|||
|
[ПризнакФизкультуры] => false
|
|||
|
[СчитатьБезЗЕТ] => false
|
|||
|
[СчитатьВПлане] => true
|
|||
|
[НеСчитатьКонтроль] => false
|
|||
|
[ЗаСчетПолевых] => false
|
|||
|
[ДисциплинаКод] => Б1.Б.01
|
|||
|
[ТрудоемкостьКредитов] => 4
|
|||
|
[ЧасовВЗЕТ] => 36
|
|||
|
[ЗЕТфакт] => 4
|
|||
|
[ЗЕТизучено] => 0
|
|||
|
[ЧасовПоЗЕТ] => 144
|
|||
|
[ЧасовПоПлану] => 144
|
|||
|
[ПодлежитИзучениюЧасов] => 144
|
|||
|
[НестандартНедПрактики] => false
|
|||
|
[ReadOnly] => false
|
|||
|
[Свернуть] => false
|
|||
|
[Multiselect] => 0
|
|||
|
[Оценка] => 0
|
|||
|
[ТипПерезачета] => 0
|
|||
|
[Адаптационная] => false
|
|||
|
)
|
|||
|
*/
|
|||
|
}
|
|||
|
else{//файлы с раширением XML
|
|||
|
$out['msg'] .= 'файл найден<br>';
|
|||
|
$fplan = file_get_contents($file);
|
|||
|
$plan = new SimpleXMLElement($fplan);
|
|||
|
//if($dd==0){ $out['msg'] .= 'plan.xml:<pre>'.print_r($plan,1).'</pre>'; }
|
|||
|
$aplan['obrpro'] = trim($plan->{'План'}['ОбразовательнаяПрограмма']);
|
|||
|
$aplan['forobu'] = trim($plan->{'План'}['ФормаОбучения']);
|
|||
|
$aplan['uroobr'] = trim($plan->{'План'}['УровеньОбразования']);
|
|||
|
$aplan['kodkaf'] = trim($plan->{'План'}->{'Титул'}['КодКафедры']);
|
|||
|
$aplan['fakult'] = trim($plan->{'План'}->{'Титул'}['Факультет']);
|
|||
|
$aplan['shifr1'] = trim($plan->{'План'}->{'Титул'}['ПоследнийШифр']);
|
|||
|
$aplan['godnap'] = trim($plan->{'План'}->{'Титул'}['ГодНачалаПодготовки']);
|
|||
|
$specialnosti = $plan->{'План'}->{'Титул'}->{'Специальности'};
|
|||
|
foreach($specialnosti->{'Специальность'} as $k => $v){
|
|||
|
if (strpos($v[0]['Название'], 'аправление') !== false) {
|
|||
|
$aplan['nappodgo']=trim(str_replace('"','',str_replace('Направление подготовки','',$v[0]['Название'])));
|
|||
|
$aplan['nappodgo'] = str_replace('«','',$aplan['nappodgo']);
|
|||
|
$aplan['nappodgo'] = str_replace('»','',$aplan['nappodgo']);
|
|||
|
$aplan['nappodgo'] = str_replace('"','',$aplan['nappodgo']);
|
|||
|
}
|
|||
|
if (strpos($v[0]['Название'], 'рофиль') !== false) {
|
|||
|
$aplan['propodgo']=trim(str_replace('"','',str_replace('Профиль подготовки','',$v[0]['Название'])));
|
|||
|
$aplan['propodgo'] = str_replace('Профиль ','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('профиль ','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('«','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('»','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('"','',$aplan['propodgo']);
|
|||
|
}
|
|||
|
if (strpos($v[0]['Название'], 'аправленность') !== false) {
|
|||
|
$aplan['propodgo']=trim(str_replace('"','',str_replace('Направленность :','',$v[0]['Название'])));
|
|||
|
$aplan['propodgo'] = str_replace('Направленность ','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('направленность ','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace(':','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('«','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('»','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('"','',$aplan['propodgo']);
|
|||
|
}
|
|||
|
/*
|
|||
|
if($v[0]['Ном']==1||$v[0]['Ном']==2) {
|
|||
|
$aplan['nappodgo']=trim(str_replace('"','',str_replace('Направление подготовки','',$v[0]['Название'])));
|
|||
|
}
|
|||
|
if($v[0]['Ном']==3) {
|
|||
|
$aplan['propodgo']=trim(str_replace('"','',str_replace('Профиль подготовки','',$v[0]['Название'])));
|
|||
|
$aplan['propodgo'] = str_replace('Профиль ','',$aplan['propodgo']);
|
|||
|
$aplan['propodgo'] = str_replace('профиль ','',$aplan['propodgo']);
|
|||
|
}*/
|
|||
|
}
|
|||
|
$aplan['kvalif_name'] = (string)$plan->{'План'}->{'Титул'}->{'Квалификации'}->{'Квалификация'}['Название'];
|
|||
|
$aplan['kvalif_srok'] = (string)$plan->{'План'}->{'Титул'}->{'Квалификации'}->{'Квалификация'}['СрокОбучения'];
|
|||
|
|
|||
|
$aplan['strsplan']=array();
|
|||
|
$strsplan = $plan->{'План'}->{'СтрокиПлана'};
|
|||
|
/*
|
|||
|
<Строка Дис="Иностранный язык" НовЦикл="Б1.Б" НовИдДисциплины="Б1.Б.3" Цикл="Б1" ИдетификаторВидаПлана="2" ИдетификаторДисциплины="Б1.Б.3" ГОС="360" СР="171" Кафедра="4" ПодлежитИзучению="360" КредитовНаДисциплину="10" ЧасовВЗЕТ="36" СемЭкз="3" СемЗач="12" НовСемЗач="12">
|
|||
|
<Сем Ном="1" Пр="51" СРС="57" ЗЕТ="3" Зач="1">
|
|||
|
<VZ ID="103" H="51" />
|
|||
|
<VZ ID="107" H="57" />
|
|||
|
</Сем>
|
|||
|
<Сем Ном="2" Пр="51" СРС="57" ЗЕТ="3" Зач="1">
|
|||
|
<VZ ID="103" H="51" />
|
|||
|
<VZ ID="107" H="57" />
|
|||
|
</Сем>
|
|||
|
<Сем Ном="3" Пр="51" СРС="57" ЧасЭкз="36" ЗЕТ="4" Экз="1">
|
|||
|
<VZ ID="103" H="51" />
|
|||
|
<VZ ID="107" H="57" />
|
|||
|
<VZ ID="108" H="36" />
|
|||
|
</Сем>
|
|||
|
</Строка>
|
|||
|
*/
|
|||
|
//if($dd==0){ $out['msg'] .= 'strsplan<pre>'.print_r($strsplan,1).'</pre>'; }
|
|||
|
foreach($strsplan->{'Строка'} as $k => $v){
|
|||
|
$tmp=array();
|
|||
|
$tmp['discip'] = (string)$v['Дис'];
|
|||
|
$tmp['discid'] = (string)$v['НовИдДисциплины'];
|
|||
|
|
|||
|
//$tmp['tipobject'] => 5 - дисциплина по выбору
|
|||
|
//$tmp['kodrodit'] => номер - группировка дисциплин из которых выбираем
|
|||
|
if(strpos($tmp['discid'],'.ДВ')!==false){ //Б1.В.ДВ.1.2
|
|||
|
$tmp['tipobject'] = 5;
|
|||
|
$tmp['kodrodit'] = (string)$v['Цикл'];
|
|||
|
}else {
|
|||
|
$tmp['tipobject'] = 2;
|
|||
|
$tmp['kodrodit'] = '';
|
|||
|
}
|
|||
|
//if($dd==0){ $out['msg'] .= '$strsplan->{Строка}v<pre>'.print_r($v,1).'</pre>'; }
|
|||
|
$tipks=0;
|
|||
|
if(isset($v->{'Курс'})){
|
|||
|
$strsplank = $v->{'Курс'};
|
|||
|
$tipks=1;
|
|||
|
}
|
|||
|
if(isset($v->{'Сем'})){
|
|||
|
$strsplank = $v->{'Сем'};
|
|||
|
$tipks=2;
|
|||
|
}
|
|||
|
|
|||
|
$tmp['zetfakt'] = 0; $ekz=array(); $zach=array(); $kpro=array(); $krab=array();
|
|||
|
//if($dd==0){ $out['msg'] .= 'strsplank<pre>'.print_r($strsplank,1).'</pre>'; }
|
|||
|
foreach($strsplank as $k1 => $v1){
|
|||
|
//if($dd==0){ $out['msg'] .= '<pre>'.print_r($v1,1).'</pre>'; }
|
|||
|
$tmp1=array();
|
|||
|
$tmp1['nom'] = (string)$v1{'Ном'};
|
|||
|
$tmp1['lek'] = (string)$v1{'Лек'};
|
|||
|
$tmp1['lab'] = (string)$v1{'Лаб'};
|
|||
|
$tmp1['pr'] = (string)$v1{'Пр'};
|
|||
|
$tmp1['srs'] = (string)$v1{'СРС'};
|
|||
|
$tmp1['chasekz'] = (string)$v1{'ЧасЭкз'};
|
|||
|
$tmp1['zet'] = (string)$v1{'ЗЕТ'};
|
|||
|
$tmp['zetfakt'] += (float)$tmp1['zet'];
|
|||
|
$tmp1['ekz'] = (string)$v1{'Экз'};
|
|||
|
$tmp1['zach'] = (string)$v1{'Зач'};
|
|||
|
$tmp1['kpro'] = (string)$v1{'КП'};
|
|||
|
$tmp1['krab'] = (string)$v1{'КР'};
|
|||
|
$tmp1['vidkontr'] = (string)$v1{'ВидКонтр'};
|
|||
|
$tmp1['kontrab'] = (string)$v1{'КонтрРаб'};
|
|||
|
$tmp1['kontr'] = (string)$v1{'Контр'};
|
|||
|
$strsplanks = $v1->{'Сессия'};
|
|||
|
foreach($strsplanks as $k2 => $v2){
|
|||
|
$tmp2=array();
|
|||
|
$tmp2['nom'] = (string)$v2{'Ном'};
|
|||
|
$tmp2['lek'] = (string)$v2{'Лек'};
|
|||
|
$tmp2['lab'] = (string)$v2{'Лаб'};
|
|||
|
$tmp2['pr'] = (string)$v2{'Пр'};
|
|||
|
$tmp2['srs'] = (string)$v2{'СРС'};
|
|||
|
$tmp2['chasekz'] = (string)$v2{'ЧасЭкз'};
|
|||
|
$tmp2['zet'] = (string)$v2{'ЗЕТ'};
|
|||
|
$tmp2['ekz'] = (string)$v2{'Экз'};
|
|||
|
$tmp2['zach'] = (string)$v2{'Зач'};
|
|||
|
$tmp2['kpro'] = (string)$v2{'КП'};
|
|||
|
$tmp2['krab'] = (string)$v2{'КР'};
|
|||
|
$tmp2['vidkontr'] = (string)$v2{'ВидКонтр'};
|
|||
|
$tmp2['kontrab'] = (string)$v2{'КонтрРаб'};
|
|||
|
$tmp2['kontr'] = (string)$v2{'Контр'};
|
|||
|
$tmp1['sessiya'][$tmp2['nom']]=$tmp2;
|
|||
|
}
|
|||
|
if($tipks==1){
|
|||
|
$kurs = $tmp1['nom'];
|
|||
|
$sem=1;
|
|||
|
}
|
|||
|
if($tipks==2){
|
|||
|
$sem = $tmp1['nom'];
|
|||
|
$kurs = 0;
|
|||
|
if($sem==1||$sem==2) $kurs = 1;
|
|||
|
if($sem==3||$sem==4) $kurs = 2;
|
|||
|
if($sem==5||$sem==6) $kurs = 3;
|
|||
|
if($sem==7||$sem==8) $kurs = 4;
|
|||
|
if($sem==9||$sem==10) $kurs = 5;
|
|||
|
}
|
|||
|
if($tmp1['ekz']!=''){ if(!in_array($sem,$ekz)) $ekz[] = $sem; }
|
|||
|
if($tmp1['zach']!=''){ if(!in_array($sem,$zach)) $zach[] = $sem; }
|
|||
|
if($tmp1['kpro']!=''){ if(!in_array($sem,$kpro)) $kpro[] = $sem; }
|
|||
|
if($tmp1['krab']!=''){ if(!in_array($sem,$krab)) $krab[] = $sem; }
|
|||
|
$tmp['kurs'][$kurs][$sem] = $tmp1;
|
|||
|
}
|
|||
|
$tmp['ekz']=$ekz;
|
|||
|
$tmp['zach']=$zach;
|
|||
|
$tmp['kpro'] = $kpro;
|
|||
|
$tmp['krab'] = $krab;
|
|||
|
$aplan['strsplan'][]=$tmp;
|
|||
|
}
|
|||
|
$out['msg'] .= 'файл обработан. Количество предметов: '.count($aplan['strsplan']).'<br>';
|
|||
|
//$out['msg'] .= '<pre>'.print_r($aplan,1).'</pre>';
|
|||
|
}
|
|||
|
}else $out['err'] = 'файл не найден';
|
|||
|
|
|||
|
if($dd==0){
|
|||
|
$out['msg'] .= '$aplan<pre>'.print_r($aplan,1).'</pre>';
|
|||
|
}
|
|||
|
else{
|
|||
|
if(count($aplan)){//ПРОВЕРИМ В БД ЕСТЬ ЛИ ТАКОЙ ПЛАН?
|
|||
|
$sql = 'SELECT * FROM '.$TB['iup_shahtplans_plans'].' WHERE obrpro="'.$aplan['obrpro'].'" AND forobu="'.$aplan['forobu'].'" AND uroobr="'.$aplan['uroobr'].'" AND kodkaf="'.$aplan['kodkaf'].'" AND fakult="'.$aplan['fakult'].'" AND shifr1="'.$aplan['shifr1'].'" AND godnap="'.$aplan['godnap'].'" AND nappodgo="'.addslashes($aplan['nappodgo']).'" AND propodgo="'.addslashes($aplan['propodgo']).'" AND kvalif_name="'.$aplan['kvalif_name'].'" AND kvalif_srok="'.$aplan['kvalif_srok'].'"';
|
|||
|
$rez = $DB->QUR_SEL($sql); //$out['msg'] .= $sql.'<prE>'.print_r($rez,1).'</pre>';
|
|||
|
//if($_SESSION['user']['id']==9202) file_put_contents('iup1.log',"\n".date('H:i:s d.m.Y').':'.$sql.print_r($rez,1),FILE_APPEND);
|
|||
|
/*if($rez){
|
|||
|
if($rez[0]>0){
|
|||
|
$out['err'] .= 'Такой план уже есть в БД!<br>';
|
|||
|
$out['err'] .= 'Данные которые есть в БД №'.$rez[1]['id_file'].' <B>ЗАПИСАН В СИСТЕМУ '.date('H:i d.m.Y',$rez[1]['data_c']).'</b>:<hr>';
|
|||
|
$out['err'] .= 'uroobr: '.$aplan['uroobr'].' obrpro:'.$aplan['obrpro'].' forobu:'.$aplan['forobu'].'<br>';
|
|||
|
$out['err'] .= 'Код каф.:'.$aplan['kodkaf'].' шифр:'.$aplan['shifr1'].' godnap:'.$aplan['godnap'].'<br>';
|
|||
|
$out['err'] .= 'nappodgo:"<b>'.$aplan['nappodgo'].'</b>" propodgo:"<b>'.$aplan['propodgo'].'</b>"<br>';
|
|||
|
$out['err'] .= 'kvalif_name:"'.$aplan['kvalif_name'].'" срок: '.$aplan['kvalif_srok'].'<hR>';
|
|||
|
$out['err'] .= '<span style="color:red;">ЕСЛИ ВЫ ХОТИТЕ ЗАМЕНИТЬ ПЛАН, УДАЛИТЕ СНАЧАЛА ПЛАН С НОМЕРОМ <B>'.$rez[1]['id_file'].'</b></span>';
|
|||
|
}
|
|||
|
}else {*/
|
|||
|
//вставляем план!
|
|||
|
$out['msg'] .= 'Такого плана нет в базе, добавляем<br>';
|
|||
|
$sql = 'INSERT INTO '.$TB['iup_shahtplans_plans'].' VALUES (0,'.time().','.$id_file.',"'.$aplan['obrpro'].'","'.$aplan['forobu'].'","'.$aplan['uroobr'].'","'.$aplan['kodkaf'].'","'.$aplan['fakult'].'","'.$aplan['shifr1'].'","'.$aplan['godnap'].'","'.addslashes($aplan['nappodgo']).'","'.addslashes($aplan['propodgo']).'","'.$aplan['kvalif_name'].'","'.$aplan['kvalif_srok'].'");';
|
|||
|
$rez = $DB->QUR($sql);
|
|||
|
|
|||
|
//if($_SESSION['user']['id']==9202) file_put_contents('iup1.log',"\n".date('H:i:s d.m.Y').':'.$sql.print_r($rez,1),FILE_APPEND);
|
|||
|
if(!$rez['err']){
|
|||
|
$id_plans = mysql_insert_id();
|
|||
|
$sql2='UPDATE '.$TB['iup_shahtplans'].' SET napravlenie="'.addslashes($aplan['nappodgo']).' '.$aplan['forobu'].'", godob="'.$aplan['godnap'].'" WHERE id='.$id_file.'';
|
|||
|
$rez2=$DB->QUR($sql2);
|
|||
|
$out['msg'] .= 'План добавили в базу<br>';
|
|||
|
$out['msg'] .= 'Добавляем предметы<br>';
|
|||
|
foreach($aplan['strsplan'] as $key => $val){
|
|||
|
foreach($val['kurs'] as $kurs => $v11){
|
|||
|
foreach($v11 as $sem => $v1){
|
|||
|
$dispovyb=$val['kodrodit'];//объединяем предметы - дисциплины по выбору
|
|||
|
$val['discip'] = addslashes($val['discip']); //ЭКРАНИРУЕМ КАВЫЧКИ
|
|||
|
$sql1 = 'INSERT INTO '.$TB['iup_shahtplans_stroki'].' VALUES (0,'.$id_plans.',"'.$val['discip'].'","'.$val['discid'].'","'.$kurs.'","'.$sem.'","'.$v1['lek'].'","'.$v1['lab'].'","'.$v1['pr'].'","'.$v1['srs'].'","'.$v1['chasekz'].'","'.$v1['zet'].'","'.$v1['ekz'].'","'.$v1['zach'].'","'.$v1['vidkontr'].'","'.$v1['kontrab'].'","'.$v1['kontr'].'","","'.$dispovyb.'","'.$v1['kpro'].'","'.$v1['krab'].'");';
|
|||
|
$rez1 = $DB->QUR($sql1);
|
|||
|
if(!$rez1['err']){
|
|||
|
$out['msg'] .= 'Предмет "'.$val['discip'].'" курс "'.$kurs.'" сем "'.$sem.'" добавили.<br>';
|
|||
|
}else{
|
|||
|
$out['msg'] .= 'Предмет "'.$val['discip'].'" курс "'.$kurs.'" сем "'.$sem.'" НЕ добавили.<br>'.$sql1.'-'.mysql_error();
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
}else $out['err'] = 'Ошибка добавления плана в БД';
|
|||
|
//$out['err'] = 'Ошибка выбора из БД плана '.$sql.' '.mysql_error();
|
|||
|
//}
|
|||
|
$out['aplan'] = $aplan;
|
|||
|
}
|
|||
|
}
|
|||
|
return $out;
|
|||
|
}
|