1580 lines
71 KiB
PHP
1580 lines
71 KiB
PHP
<?php
|
||
error_reporting(E_ALL);
|
||
include_once $_SERVER['DOCUMENT_ROOT'].'/inc/class_SYSTEM.php';
|
||
$SYSTEMclass = new SYSTEMclass();
|
||
|
||
function addUser_GruppUpload($fo,$gruppa,$id_user){
|
||
//теперь ищем подходяющую группу, если она есть в системе Ф-11 ОФО 2022 года набора, например
|
||
GLOBAL $ST,$DB; $out=array();
|
||
if ($fo == "Очная"||$fo == "Очная форма обучения") $fo = "ОФО";
|
||
if ($fo == "Очно-заочная"||$fo == "Очно-заочная форма обучения") $fo = "ОЗФО";
|
||
if ($fo == "Заочная"||$fo == "Заочная форма обучения") $fo = "ЗФО";
|
||
|
||
//в ЯНВАРЕ СЧИТАЕМ НА ГОД МЕНЬШЕ
|
||
if (date('m') == 1) $year_sql = (date("Y")-1);
|
||
else $year_sql = date("Y");
|
||
//ищем группу по названию, форме обучения и году набора
|
||
$sql = 'SELECT * FROM ' . $ST['dbpf'] . '_grupp WHERE sokr = "' . trim($gruppa) . '" AND fo = "' . $fo . '" AND year_start = "' . $year_sql . '" ';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez) {
|
||
$gruppa_rez=$rez[1];
|
||
}else{
|
||
$sql_order = 'INSERT INTO ' . $ST['dbpf'] . '_grupp VALUES (0,'.time().','.time().',"", 0,"'.trim($gruppa).'", "' . $fo . '" , 0, 0, ' . $year_sql . ')';
|
||
$rez_order = $DB->QUR($sql_order);
|
||
$gruppa_rez['id'] = $DB->lastinsertID();
|
||
$gruppa_rez['sokr'] = trim($gruppa);
|
||
$gruppa_rez['fo'] = $fo;
|
||
}
|
||
if(count($gruppa_rez)) {
|
||
$sql = 'SELECT id FROM ' . $ST['dbpf'] . '_students WHERE id_user=' . $id_user;
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez) { //значит есть в системе
|
||
$grupp = $rez[1];
|
||
$out['err'] = 0;
|
||
$out['msg'] = 'Был в группе';
|
||
$out['id'] = $grupp['id'];
|
||
} else {
|
||
//группа есть, поэтому просто зачисляем студента в группу
|
||
$sql_order = 'INSERT INTO ' . $ST['dbpf'] . '_students (data_c, data_u, id_grupp, id_user, status, num_zach, num_grupp, kod_podgotovki) VALUES (' . mktime() . ', ' . mktime() . ' , "' .$gruppa_rez['id'] . '", "' . $id_user . '", "1", "", "", "")';
|
||
$rez_order = $DB->QUR($sql_order);
|
||
$out['err'] = 0;
|
||
$out['msg'] = 'Записали в группу';
|
||
$out['id'] = $DB->lastinsertID();
|
||
}
|
||
}
|
||
return $out;
|
||
}
|
||
|
||
if(isset($_GET['page'])){
|
||
$sql = 'CREATE TABLE IF NOT EXISTS `'.$ST['dbpf'].'_users_statuses` (
|
||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||
`id_user` int(11) NOT NULL,
|
||
`statuses` varchar(255) NOT NULL,
|
||
PRIMARY KEY (`id`)
|
||
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;';
|
||
$rez = $DB->QUR($sql);
|
||
|
||
if($_GET['page']=='blog_cat'){//категории блога
|
||
$page1['url']='/alneo/blog_cat/';
|
||
|
||
$itshow=array(); $forms=array();
|
||
if(isset($_POST['blog_edit'])){//РЕДАКТИРОВАНИЕ МАТЕРИАЛА
|
||
$id=(int)$_POST['id'];
|
||
$name=get_data_fu($_POST['name']);
|
||
if ($_POST['alt_name']=='') $alt_name=translit($_POST['name']);
|
||
else $alt_name=get_data_fu($_POST['alt_name']);
|
||
$pos=get_data_fu($_POST['pos']);
|
||
|
||
$sql = 'UPDATE '.$ST['dbpf'].'_blogs_category SET name="'.$name.'",alt_name="'.$alt_name.'",pos='.$pos.' WHERE id='.$id.' LIMIT 1';
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$form['msg']='Материал отредактирован!';
|
||
//СОХРАНИМ ДЛЯ КАКИХ ГРУПП
|
||
$DB->QUR('DELETE FROM '.$ST['dbpf'].'_blogs_users WHERE id_category='.$id.'');
|
||
if(isset($_POST['b_u'])){
|
||
if(count($_POST['b_u'])){
|
||
foreach($_POST['b_u'] as $key => $val){
|
||
$DB->QUR('INSERT INTO '.$ST['dbpf'].'_blogs_users VALUES (0,'.$val.','.$id.')');
|
||
}
|
||
}
|
||
}
|
||
$_GET['des']='';
|
||
}else{
|
||
$form['err'][]='Материал не отредактирован!';
|
||
}
|
||
}
|
||
if(isset($_POST['blog_save'])){//ДОБАВЛЕНИЕ МАТЕРИАЛА
|
||
$name=get_data_fu($_POST['name']);
|
||
if ($_POST['alt_name']=='') $alt_name=translit($_POST['name']);
|
||
else $alt_name=get_data_fu($_POST['alt_name']);
|
||
$pos=get_data_fu($_POST['pos']);
|
||
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_blogs_category VALUES (0,"'.$name.'","'.$alt_name.'",'.$pos.')';
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$form['msg']='Материал добавлен!';
|
||
$id=mysql_insert_id();
|
||
//СОХРАНИМ ДЛЯ КАКИХ ПОЛЬЗОВАТЕЛЕЙ
|
||
if(isset($_POST['b_u'])){
|
||
if(count($_POST['b_u'])){
|
||
foreach($_POST['b_u'] as $key => $val){
|
||
$DB->QUR('INSERT INTO '.$ST['dbpf'].'_blogs_users VALUES (0,'.$val.','.$id.')');
|
||
}
|
||
}
|
||
}
|
||
$_GET['des']='';
|
||
}else{
|
||
$form['err'][]='Материал не добавлен!';
|
||
}
|
||
}
|
||
$regim='show';
|
||
if (isset($_GET['des'])){
|
||
if ($_GET['des']=='edit'){//редактирование
|
||
$regim='aded'; $id=(int)$_GET['id'];
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_blogs_category WHERE id='.$id.'';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$form['title']=$ST['page']['name'] = 'Редактирование категории блога';
|
||
$form['btn_url']='blog_edit';
|
||
$form['btn_name']='Редактировать';
|
||
$form['id']='<input type="HIDDEN" name="id" value="'.$rez[1]['id'].'" />';
|
||
$form['p']=$rez[1];
|
||
$sql1='SELECT * FROM '.$ST['dbpf'].'_users ORDER BY fio,status DESC';
|
||
$rez1=$DB->QUR_SEL($sql1);
|
||
if($rez1){
|
||
foreach($rez1 as $key1 => $val1)if($key1){
|
||
$val1['fio']=out_data_fu($val1['fio']);
|
||
$rez2=$DB->QUR_SEL('SELECT * FROM '.$ST['dbpf'].'_blogs_users WHERE id_user='.$val1['id'].' AND id_category='.$rez[1]['id'].'');
|
||
if ($rez2) $val1['sel']=1;
|
||
$form['p']['users'][]=$val1;
|
||
}
|
||
}
|
||
}
|
||
}
|
||
if ($_GET['des']=='add'){//добавление
|
||
$regim='aded';
|
||
$form['title']=$ST['page']['name'] = 'Добавление категории блога';
|
||
$form['btn_url']='blog_save';
|
||
$form['btn_name']='Сохранить';
|
||
$form['id']='';
|
||
$form['p']=array();
|
||
$sql1='SELECT * FROM '.$ST['dbpf'].'_users ORDER BY fio,status DESC';
|
||
$rez1=$DB->QUR_SEL($sql1);
|
||
if($rez1){
|
||
foreach($rez1 as $key1 => $val1)if($key1){
|
||
$val1['fio']=out_data_fu($val1['fio']);
|
||
$form['p']['users'][]=$val1;
|
||
}
|
||
}
|
||
}
|
||
if ($_GET['des']=='del'){//удаление
|
||
$ST['page']['name'] = 'Удаление категории блога';
|
||
$id=(int)$_GET['id'];
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_blogs_category WHERE id='.$id.' LIMIT 1';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_blogs_category WHERE id='.$id.'');
|
||
if(!$rez['err']){
|
||
$form['msg']='Материал успешно удален.';
|
||
}else $form['err'][]='Ошибка при удалении!';
|
||
}else $form['err'][]='Нету такого материала!';
|
||
}
|
||
}
|
||
if ($regim=='show'){//Все записи
|
||
$ST['page']['name'] = 'Все категории блога';
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_blogs_category ORDER BY pos,name';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$i=0; foreach($rez as $key => $val)if($key){
|
||
$itshow[$i]=$val;
|
||
$i++;
|
||
}
|
||
}
|
||
}
|
||
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('itshow',$itshow);
|
||
$smarty->assign('pagination',$pagi);
|
||
$smarty->assign('form',$form);
|
||
$maincontent = $smarty->fetch('tpl_alneo_blog_cat.html');
|
||
}
|
||
if($_GET['page']=='users'){//пользователи сайта
|
||
//echo '<pre>'.print_r($_SESSION['user'],1).'</pre>';
|
||
if($_SESSION['user']['status']<97) {header('Location: http://eios.mkgtu.ru/'); exit();}
|
||
$lections=array(); $forms=array();
|
||
if(isset($_POST['users_edit'])){//РЕДАКТИРОВАНИЕ МАТЕРИАЛА
|
||
$id=(int)$_POST['id'];
|
||
$email=get_data_fu($_POST['email']);
|
||
$pass=get_data_fu($_POST['pass']);
|
||
$status=get_data_fu($_POST['status']);
|
||
$fio=get_data_fu($_POST['fio']);
|
||
$phone=get_data_fu($_POST['phone']);
|
||
$polis=get_data_fu($_POST['polis']);
|
||
$snils=get_data_fu($_POST['snils']);
|
||
$guid=get_data_fu($_POST['guid']);
|
||
|
||
|
||
$sf=''; $foto=upload_file_ava('foto','upload/users/ava/',$id); if ($foto!='') $sf=',foto="'.$foto.'"';
|
||
|
||
//$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_users SET email="'.$email.'",pass="'.passw_generate($pass).'",status='.$status.',phone="'.$phone.'",polis="'.$polis.'",snils="'.$snils.'",guid="'.$guid.'",fio="'.$fio.'"'.$sf.' WHERE id='.$id.' LIMIT 1');
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_users SET email="'.$email.'",status='.$status.',phone="'.$phone.'",polis="'.$polis.'",snils="'.$snils.'",guid="'.$guid.'",fio="'.$fio.'"'.$sf.' WHERE id='.$id.' LIMIT 1');
|
||
|
||
if(!$rez['err']){
|
||
$rez=$DB->QUR('INSERT INTO '.$ST['dbpf'].'_users_pass VALUES(0,'.time().','.$id.')');
|
||
$form['msg']='Пользователь отредактирован!'; save_logs('Обновлены учетные данные пользователя '.$id);
|
||
$_GET['des']='';
|
||
//LearnMKGTU
|
||
$sels=array(); $izmstat=''; $is=0;
|
||
foreach($_POST['selsold'] as $key => $val){
|
||
if($val==0&&isset($_POST['sels'][$key])){//добавляем новый статус
|
||
$sels[]=$key;
|
||
$izmstat.= 'новый статус "<span style="color:green">'.strip_tags(get_statusname($key,0)).'</span>"; ';
|
||
$is++;
|
||
}
|
||
if($val==1&&!isset($_POST['sels'][$key])){//удаляем статус
|
||
//$sels[]=$key;
|
||
$izmstat.= 'удалили статус "<span style="color:red">'.strip_tags(get_statusname($key,0)).'</span>"; ';
|
||
$is++;
|
||
}
|
||
if($val==1&&isset($_POST['sels'][$key])){//сохраняем существующие
|
||
$sels[]=$key;
|
||
$izmstat.='"'.strip_tags(get_statusname($key,0)).'"; ';
|
||
}
|
||
}
|
||
//$form['err'][]='<pre>'.print_r($sels,1).'</pre>'.$izmstat.' -- '.$is;
|
||
//$form['err'][]='<pre>'.print_r($_POST['selsold'],1).'</pre>';
|
||
//$form['err'][]='<pre>'.print_r($_POST['sels'],1).'</pre>';
|
||
/*
|
||
$sels=array();
|
||
if(isset($_POST['sels'])){
|
||
foreach($_POST['sels'] as $k => $v){
|
||
$sels[]=$k;
|
||
}
|
||
}
|
||
*/
|
||
if(count($sels)){
|
||
$rez = $DB->QUR('DELETE FROM '.$ST['dbpf'].'_users_statuses WHERE id_user='.$id.'');
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_users_statuses VALUES (0,'.$id.',"'.implode(',',$sels).'")';
|
||
$rez = $DB->QUR($sql);
|
||
}
|
||
|
||
if($is!=0){//изменили статус пользователя - оповестим
|
||
$mess='Для доступа на сайт используйте ссылку http://'.$_SERVER['HTTP_HOST'].'/'."<br>\n";
|
||
$mess.='ФИО: <b>'.$fio.'</b>'."<br>\n";
|
||
$mess.='Ваш логин: '.$email.''."<br>\n";
|
||
$mess.="<hr>\n";
|
||
$mess.="Ваши статусы на сайте:<br>\n".$izmstat;
|
||
$mess.="<hr>\n";
|
||
$mess.="Для статусов: 'УМУ','Зам.декана','Аттестационная комиссия','Кафедра','Декан','Секретарь деканата' пользователям доступен раздел ИУП!<br>\n";
|
||
send_email('Изменение статуса на сайте электронно информационо-образовательной среды',$mess,$email);
|
||
}
|
||
/*
|
||
$mess='Для доступа на сайт используйте ссылку http://'.$_SERVER['HTTP_HOST'].'/'."<br>\n";
|
||
$mess.='ФИО: <b>'.$fio.'</b>'."<br>\n";
|
||
$mess.='Ваш логин: '.$email.''."<br>\n";
|
||
$mess.='Ваш пароль: '.$pass.''."<br>\n";
|
||
$mess.="<hr>\n";
|
||
$mess.='После входа вы можете выбрать свою группу у себя в "Профиле" и в разделе "Обучение" вам будет доступен материал.'."<br>\n";
|
||
send_email('Ваш профиль изменили на сайте электронно информационо-образовательной среды',$mess,$email);
|
||
*/
|
||
}else{
|
||
$form['err'][]='Пользователь не отредактирован!'.$sql.mysql_error();
|
||
}
|
||
}
|
||
if(isset($_POST['pass_edit'])){//СБРОС ПАРОЛЯ
|
||
$id=(int)$_POST['id'];
|
||
$pass=get_data_fu($_POST['pass']);
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_users SET pass="'.passw_generate($pass).'" WHERE id='.$id.' LIMIT 1');
|
||
|
||
if(!$rez['err']){
|
||
|
||
$rez=$DB->QUR('INSERT INTO '.$ST['dbpf'].'_users_pass VALUES(0,'.time().','.$id.')');
|
||
$form['msg']='Пользователь отредактирован!'; save_logs('Обновлены учетные данные пользователя '.$id);
|
||
$_GET['des']='';
|
||
|
||
}else{
|
||
$form['err'][]='Пользователь не отредактирован!'.$sql.mysql_error();
|
||
}
|
||
}
|
||
if(isset($_POST['users_save'])){//ДОБАВЛЕНИЕ МАТЕРИАЛА
|
||
$email=get_data_fu($_POST['email']);
|
||
$pass=get_data_fu($_POST['pass']);
|
||
$status=get_data_fu($_POST['status']);
|
||
$fio=get_data_fu($_POST['fio']);
|
||
$phone=get_data_fu($_POST['phone']);
|
||
$polis=get_data_fu($_POST['polis']);
|
||
$snils=get_data_fu($_POST['snils']);
|
||
$guid=get_data_fu($_POST['guid']);
|
||
|
||
//$sql = 'INSERT INTO '.$ST['dbpf'].'_users VALUES (0,'.mktime().','.mktime().',"'.$email.'","'.$pass.'",'.$status.',"'.$fio.'","")';
|
||
//$sql = 'INSERT INTO '.$ST['dbpf'].'_users VALUES (0,'.mktime().','.mktime().',"'.$email.'","'.$pass.'",'.$status.',"'.$fio.'","","1")'; //добавление с указанием учебного заведения
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_users VALUES (0,'.mktime().','.mktime().',"'.$email.'","'.passw_generate($pass).'",'.$status.',"'.$fio.'","","1", "'.$phone.'", "'.$polis.'", "'.$snils.'", "'.$guid.'")'; //добавление с указанием учебного заведения
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$form['msg']='Пользователь добавлен!';
|
||
$id = mysql_insert_id();
|
||
$rez=$DB->QUR('INSERT INTO '.$ST['dbpf'].'_users_pass VALUES(0,'.$time.','.$id.')');
|
||
|
||
save_logs('Создание администратором новой учетки пользователя ');
|
||
|
||
//Добавление студенческой группы
|
||
$grupp = $_POST['grupp'];
|
||
if ($grupp != 0) { //если она указана
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_students VALUES (0,'.mktime().','.mktime().',"'.$grupp.'","'.$id.'","1","","","","")'; //устанавливаем студенту группу
|
||
$rez = $DB->QUR($sql);
|
||
}
|
||
|
||
$foto=upload_file_ava('foto','upload/users/ava/',$id); if ($foto!='') {
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_users SET foto="'.$foto.'" WHERE id='.$id.' LIMIT 1');
|
||
}
|
||
$sels=array();
|
||
if(isset($_POST['sels'])){
|
||
foreach($_POST['sels'] as $k => $v){
|
||
$sels[]=$k;
|
||
}
|
||
}
|
||
if(count($sels)){
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_users_statuses VALUES (0,'.$id.',"'.implode(',',$sels).'")';
|
||
$rez = $DB->QUR($sql);
|
||
}
|
||
|
||
$mess='Для доступа на сайт используйте ссылку http://'.$_SERVER['HTTP_HOST'].'/'."<br>\n";
|
||
$mess.='Ваш логин: '.$email.''."<br>\n";
|
||
$mess.='Ваш пароль: '.$pass.''."<br>\n";
|
||
$mess.="<hr>\n";
|
||
$mess.='После входа вы можете выбрать свою группу у себя в "Профиле" и в разделе "Обучение" вам будет доступен материал.'."<br>\n";
|
||
send_email('Вас зарегистрировали на сайте электронно информационо-образовательной среды',$mess,$email);
|
||
$_GET['des']='';
|
||
}else{
|
||
$form['err'][]='Пользователь не добавлен!';
|
||
}
|
||
}
|
||
if (isset($_POST['edit_group'])){ //ИЗМЕНИТЬ ГРУППУ
|
||
//Array( [id_user] => 18369 [grupp_isset] => 15487 [grupp] => 2750 [edit_group] => Сохранить )
|
||
$grupp = (int)$_POST['grupp'];
|
||
$id_user=(int)$_POST['id_user'];
|
||
if(isset($_POST['del_grupp_record'])){
|
||
$sql = 'DELETE FROM ' . $ST['dbpf'] . '_students WHERE id_user=' . $id_user;
|
||
$rez = $DB->QUR($sql);
|
||
$form['msg'] = 'Группа удалена у пользователя! Ему необходимо в профиле снова выбрать группу.';
|
||
}else {
|
||
if (isset($_POST['grupp_isset'])) {//меняем группу! grupp_isset=student.id
|
||
$sql = 'UPDATE ' . $ST['dbpf'] . '_students SET id_grupp=' . $grupp . ' WHERE id=' . (int)$_POST['grupp_isset'];
|
||
$rez = $DB->QUR($sql);
|
||
$form['msg'] = 'Группа изменена!';
|
||
} else {//устанавливаем студенту группу
|
||
$sql = 'INSERT INTO ' . $ST['dbpf'] . '_students VALUES (0,' . mktime() . ',' . mktime() . ',"' . $grupp . '","' . $id_user . '","1","","","","")';
|
||
$rez = $DB->QUR($sql);
|
||
$form['msg'] = 'Группа добавлена!';
|
||
}
|
||
}
|
||
}
|
||
$regim='show';
|
||
if (isset($_GET['des'])){
|
||
if ($_GET['des']=='edit'){//редактирование
|
||
$regim='aded'; $id=(int)$_GET['id'];
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_users WHERE id='.$id.'';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$form['title']=$ST['page']['name'] = 'Редактирование пользователя';
|
||
$form['btn_url']='users_edit';
|
||
$form['btn_name']='Редактировать';
|
||
$form['id']='<input type="HIDDEN" name="id" value="'.$rez[1]['id'].'" />';
|
||
$rez[1]['pass']='';
|
||
$form['p']=$rez[1];
|
||
$sql1='SELECT * FROM '.$ST['dbpf'].'_users_statuses WHERE id_user='.$id.'';
|
||
$rez1=$DB->QUR_SEL($sql1);
|
||
if($rez1){
|
||
$t=explode(',',$rez1[1]['statuses']);
|
||
foreach($t as $k => $v) $form['p']['sels'][$v]=1;
|
||
}
|
||
|
||
$form['p']['status_name']=get_statusname($rez[1]['status'],1);
|
||
//echo '<pre>'.print_r($form['p'],1).'</pre>';
|
||
|
||
|
||
}
|
||
}
|
||
|
||
if ($_GET['des']=='password'){//сброс пароля
|
||
$regim='password'; $id=(int)$_GET['id'];
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_users WHERE id='.$id.'';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$form['title']=$ST['page']['name'] = 'Сброс пароля пользователя';
|
||
$form['btn_url']='pass_edit';
|
||
$form['btn_name']='Сбросить';
|
||
$form['id']='<input type="HIDDEN" name="id" value="'.$rez[1]['id'].'" />';
|
||
$rez[1]['pass']='';
|
||
$form['p']=$rez[1];
|
||
}
|
||
|
||
$pass_history=array();
|
||
$sql = 'SELECT data_c,id_user FROM '.$ST['dbpf'].'_logs WHERE message ="Обновлены учетные данные пользователя '.$id.'" ORDER BY data_c DESC ';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val) if ($key){
|
||
$exp = explode("Обновлены учетные данные пользователя", $val['message']);
|
||
$val['user'] = get_user($val['id_user']);
|
||
$pass_history[] = $val;
|
||
}
|
||
}
|
||
$smarty->assign('pass_history',$pass_history);
|
||
}
|
||
|
||
/********************/
|
||
//СПИСОК ВСЕХ ГРУПП
|
||
$allGrupp = array();
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_grupp ORDER BY sokr, kurs';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val){
|
||
$allGrupp[] = $val;
|
||
}
|
||
}
|
||
/***********************/
|
||
if ($_GET['des'] == 'lms'){ //просмотр данных для входа в портал LMS
|
||
$ST['page']['name'] = 'LMS. Данные для входа'; $regim='lms';
|
||
$id=(int)$_GET['id'];
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_users WHERE id='.$id.'';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if ($rez) $form['p']=$rez[1];
|
||
|
||
|
||
}
|
||
|
||
/***************/
|
||
//ПРОСМОТР ЛОГОВ ОПРЕДЕЛЕННОГО ПОЛЬЗОВАТЕЛЯ
|
||
if ($_GET['des'] == 'logs'){
|
||
$ST['page']['name'] = 'Просмотр логов пользователя';
|
||
$regim = 'logs';
|
||
$id=(int)$_GET['id'];
|
||
|
||
$logs = array();
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_logs WHERE id_user = "'.$id.'" ORDER BY data_c DESC';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val) if ($key){
|
||
|
||
$val['data_c'] = date('d.m.Y H:i:s', $val['data_c']);
|
||
|
||
$logs[] = $val;
|
||
}
|
||
}
|
||
$smarty->assign('logs', $logs);
|
||
|
||
}
|
||
|
||
|
||
//ЭКСПОРТ ПОЛЬЗОВАТЕЛЕЙ ОПРЕДЕЛЕННОГО ГОДА для библиотеки
|
||
if ($_GET['des'] == 'exportStudents'){
|
||
$message = '';
|
||
|
||
//ДЕЙСТВИЕ - Делаем выгрузку
|
||
if(isset($_POST['export_students'])){
|
||
$year = $_POST['year'];
|
||
|
||
$message .= '<table class="table table-bordered">';
|
||
|
||
$message .= '<tr>
|
||
<th>№ п/п</th>
|
||
<th>GUID</th>
|
||
<th>ФИО</th>
|
||
<th>Email</th>
|
||
<th>Факультет</th>
|
||
<th>Курс</th>
|
||
<th>Группа</th>
|
||
<th>Форма обучения</th>
|
||
<th>СНИЛС</th>
|
||
<th>Телефон</th>
|
||
</tr>';
|
||
|
||
//в начале перебираем группы, которые поступили в указанном году набора
|
||
$sql = 'SELECT gr.*, gr.id as id_grupp, f.* FROM '.$ST['dbpf'].'_grupp as gr, '.$ST['dbpf'].'_faculties as f WHERE gr.year_start = "'.$year.'" AND gr.id_facult = f.id ';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
$i = 0;
|
||
foreach ($rez as $key => $val) if ($key){
|
||
|
||
//теперь перебираем студентов, которые состоят в указанных группах
|
||
$sql_st = 'SELECT * FROM '.$ST['dbpf'].'_students WHERE id_grupp = "'.$val['id_grupp'].'" ';
|
||
$rez_st = $DB->QUR_SEL($sql_st);
|
||
if ($rez_st){
|
||
foreach ($rez_st as $key_st => $val_st) if ($key_st){
|
||
$info_user = get_user($val_st['id_user']);
|
||
$i++;
|
||
|
||
$message .= '<tr>
|
||
<td>'.$i.'</td>
|
||
<td>'.$info_user["guid"].'</td>
|
||
<td>'.$info_user["fio"].'</td>
|
||
<td>'.$info_user["email"].'</td>
|
||
<td>'.$val["name"].'</td>
|
||
<td>Первый</td>
|
||
<td>'.$val["sokr"].'</td>
|
||
<td>'.$val["fo"].'</td>
|
||
<td>'.$info_user["snils"].'</td>
|
||
<td>'.$info_user["phone"].'</td>
|
||
</tr>';
|
||
|
||
|
||
}
|
||
}
|
||
|
||
}
|
||
|
||
}
|
||
|
||
|
||
|
||
$message .= '</table>';
|
||
}
|
||
|
||
save_logs("Выгрузка студентов определенного года набора");
|
||
|
||
|
||
$ST['page']['name'] = 'Экспорт студентов '; $regim = 'exportStudents';
|
||
$form['btn_url']='export_students';
|
||
$form['btn_name']='Экспортировать студентов';
|
||
|
||
$smarty->assign('message',$message); //контейнер сообщений
|
||
}
|
||
|
||
//ДОБАВЛЕНИЕ СПИСКА СТУДЕНТОВ В ЭИОС - страница загрузки
|
||
if ($_GET['des'] == 'addUsers'){
|
||
$message = ''; //контайнер для сообщений
|
||
//ДЕЙСТВИЕ - СМОТРИМ ПОЛЬЗОВАТЕЛЕЙ В ТАБЛИЦЕ
|
||
if(isset($_POST['users_reg'])){
|
||
//первым делом загружаем эксель файл в систему, чтобы смогли с ним работать
|
||
$uploadfile='';
|
||
if(isset($_FILES['file_xls'])){
|
||
$dir_dest = 'upload/reg_users/'.$_SESSION['user']['id'].'/';
|
||
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
||
$fil = $_FILES['file_xls']['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($_FILES['sfile']['tmp_name'], $uploadfile)) {
|
||
if (!$SYSTEMclass->sysUPLOAD($_FILES['file_xls']['tmp_name'], $uploadfile)) {
|
||
$uploadfile='';
|
||
}
|
||
}
|
||
//echo $uploadfile; echo '<prE>'.print_r($_POST,1).'</prE>'; exit();
|
||
//теперь считываем файл
|
||
require_once 'PHPExcel.php';
|
||
$excel = PHPExcel_IOFactory::load('./'.$uploadfile);
|
||
|
||
//перебираем файлы эксель, в начале - листы
|
||
Foreach($excel ->getWorksheetIterator() as $worksheet) {
|
||
$lists[] = $worksheet->toArray();
|
||
}
|
||
//шапка по умолчанию, тут столбцы жестко прописаны
|
||
$head_tr=array(1=>'GUID',2=>'ФИО',3=>'Эл.почта',4=>'Факультет',6=>'Группа',7=>'Форма обучения',8=>'СНИЛС',9=>'Телефон');
|
||
foreach($lists as $list){
|
||
$message .= '<table border="1">';
|
||
$tr = 0; //номер строки
|
||
// Перебор строк
|
||
//echo '<pre>'.print_r($list,1).'</pre>';
|
||
foreach($list as $row){
|
||
$tr++;
|
||
//echo $tr.'<pre>'.print_r($row,1).'</pre>';
|
||
$message .= '<tr>';
|
||
$td = 0; //номер столбца
|
||
if(isset($_POST['head_read'])) {
|
||
if($tr==1){
|
||
foreach($row as $key => $val){
|
||
if($val=='GUID') $head_tr[($key+1)] = 'GUID';
|
||
if($val=='ФИО') $head_tr[($key+1)] = 'ФИО';
|
||
if($val=='Номер зачетной книжки') $head_tr[($key+1)] = 'Номер зачетной книжки';
|
||
if($val=='Эл.почта') $head_tr[($key+1)] = 'Эл.почта';
|
||
if($val=='Факультет') $head_tr[($key+1)] = 'Факультет';
|
||
if($val=='Курс') $head_tr[($key+1)] = 'Курс';
|
||
if($val=='Группа') $head_tr[($key+1)] = 'Группа';
|
||
if($val=='Код специальности') $head_tr[($key+1)] = 'Код специальности';
|
||
if($val=='Форма обучения') $head_tr[($key+1)] = 'Форма обучения';
|
||
if($val=='Основа обучения') $head_tr[($key+1)] = 'Основа обучения';
|
||
if($val=='СНИЛС') $head_tr[($key+1)] = 'СНИЛС';
|
||
if($val=='Телефон') $head_tr[($key+1)] = 'Телефон';
|
||
if($val=='Дата приказа') $head_tr[($key+1)] = 'Дата приказа';
|
||
}
|
||
}
|
||
//echo $tr.'<prE>'.print_r($row,1).print_r($head_tr,1).'</prE>'; exit();
|
||
//Array(
|
||
// [0] => GUID [1] => ФИО [2] => Номер зачетной книжки
|
||
// [3] => Эл.почта [4] => Факультет [5] => Курс
|
||
// [6] => Группа [7] => Код специальности [8] => Форма обучения
|
||
// [9] => Основа обучения [10] => СНИЛС [11] => Телефон
|
||
// [12] => Дата приказа [13] =>
|
||
//)
|
||
}
|
||
$guid = ''; $fio = ''; $num_zachetki = ''; $kurs = '';
|
||
$email = ''; $fakultet = ''; $gruppa = ''; $kod_spec = '';
|
||
$fo = ''; $osnova_obuch = ''; $snils = ''; $phone = ''; $data_prikaz = '';
|
||
// Перебор столбцов
|
||
foreach($row as $key => $col){
|
||
$td = $key+1;
|
||
//echo $tr.'='.$td.': '.$head_tr[$td].'='.$col.'<br>';
|
||
if ($tr > 1){ //начинаем со 2 строки данные заполнять/смотреть
|
||
if($head_tr[$td]=='GUID') $guid = trim($col);
|
||
if($head_tr[$td]=='ФИО') $fio = trim($col);
|
||
if($head_tr[$td]=='Номер зачетной книжки') $num_zachetki = trim($col);
|
||
if($head_tr[$td]=='Курс') $kurs = trim($col);
|
||
if($head_tr[$td]=='Эл.почта') {
|
||
$email = trim($col);
|
||
if(isset($_POST['gen_email'])){
|
||
$fio1 = explode(' ',mb_strtolower($fio));
|
||
//$email = $col = translit_email($fio1[0]).'.'.translit_email($fio1[1]).'@student.mkgtu.ru';
|
||
$email = $col = translit_email($fio1[0]).'_'.mt_rand(1000,99999).'@student.mkgtu.ru';
|
||
}
|
||
}
|
||
if($head_tr[$td]=='Факультет') $fakultet = trim($col);
|
||
if($head_tr[$td]=='Группа') $gruppa = trim($col);
|
||
if($head_tr[$td]=='Код специальности') $kod_spec = trim($col);
|
||
if($head_tr[$td]=='Форма обучения') $fo = trim($col);
|
||
if($head_tr[$td]=='Основа обучения') $osnova_obuch = trim($col);
|
||
if($head_tr[$td]=='СНИЛС') $snils = trim($col);
|
||
if($head_tr[$td]=='Телефон') $phone = trim($col);
|
||
if($head_tr[$td]=='Дата приказа') $data_prikaz = trim($col);
|
||
}
|
||
$message .= '<td>'.$col.'</td>';
|
||
}
|
||
|
||
//echo '<pre>'.print_r($head_tr,1).'</pre>';exit();
|
||
|
||
//foreach($row as $col){
|
||
// $td++;
|
||
// if ($tr > 1){ //начинаем со 2 строки данные заполнять/смотреть
|
||
// if ($td == 1) $guid = $col; //GUID
|
||
// if ($td == 2) $fio = trim($col); //FIO
|
||
// if ($td == 3) $email = trim($col); //EMAIL
|
||
// if ($td == 4) $fakultet = trim($col); //Факультет
|
||
// if ($td == 6) $gruppa = trim($col); //gr
|
||
// if ($td == 7) $fo = trim($col); //Форма обучения
|
||
// if ($td == 8) $snils = trim($col); //СНИЛС
|
||
// if ($td == 9) $phone = trim($col); //Номер телефона
|
||
// }
|
||
// $message .= '<td>'.$col.'</td>';
|
||
//}
|
||
|
||
//последний столбец - пароль сгенерированный
|
||
if ($tr > 1) $pass = gen_password_NEW1();
|
||
//echo $fio.':'.$tr.'---'.$pass.'<br>';
|
||
$grup_rez = array();
|
||
$info_user = array(); //очищаем
|
||
$info_user["id"] = 0;
|
||
//заносим в базу, если нет
|
||
if ($fio != ""){
|
||
//echo '111'.$fio; exit();
|
||
//$sql_isset = '(SELECT id FROM '.$ST['dbpf'].'_users WHERE fio LIKE "%'.$fio.'%" OR email LIKE "%'.$email.'%" OR snils LIKE "%'.$snils.'%" OR guid LIKE "%'.$guid.'%" OR phone LIKE "%'.$phone.'%" LIMIT 1)';
|
||
//$sql_isset = '(SELECT id FROM '.$ST['dbpf'].'_users WHERE fio LIKE "%'.$fio.'%" OR email LIKE "%'.$email.'%" OR snils LIKE "%'.$snils.'%" OR phone LIKE "%'.$phone.'%" LIMIT 1)'; //GUID пока не учитываем, т.к. не у всех студентов он есть
|
||
$sql_isset = '(SELECT id FROM '.$ST['dbpf'].'_users WHERE fio LIKE "%'.$fio.'%" OR email LIKE "%'.$email.'%" OR phone LIKE "%'.$phone.'%" LIMIT 1)'; //GUID пока не учитываем, т.к. не у всех студентов он есть, СНИЛС пока тоже не учитываем
|
||
$rez_isset = $DB->QUR_SEL($sql_isset);
|
||
//echo $sql_isset.'<pre>'.print_r($rez_isset,1).'</pre>'; exit();
|
||
if($rez_isset){ //значит есть в системе
|
||
$info_user = $rez_isset[1];
|
||
//$message .= '<td>ЕСТЬ В СИСТЕМЕ</td>';
|
||
if(isset($_POST['grupp_add'])) {
|
||
$grup_rez = addUser_GruppUpload($fo,$gruppa,$info_user['id']);
|
||
}
|
||
} else{ //регистрируем, потому что нет
|
||
if(!isset($_POST['test_mode'])) {
|
||
$sql = 'INSERT INTO ' . $ST['dbpf'] . '_users (data_c, data_u, email, pass, status, fio, foto, phone, snils, guid) VALUES (' . mktime() . ',' . mktime() . ',"' . $email . '","' . passw_generate($pass) . '","0","' . $fio . '","","' . $phone . '","' . $snils . '","' . $guid . '") ';
|
||
$rez = $DB->QUR($sql);
|
||
$id = mysql_insert_id();
|
||
|
||
//делаем запись, чтобы пользователю не приходилось менять пароль после авторизации
|
||
//if(!isset($_POST['password_change'])) {
|
||
$sql = 'INSERT INTO ' . $ST['dbpf'] . '_users_pass (data_c, id_user) VALUES (' . mktime() . ', ' . $id . ') ';
|
||
$rez = $DB->QUR($sql);
|
||
//}
|
||
if(isset($_POST['grupp_add'])) {
|
||
$grup_rez = addUser_GruppUpload($fo,$gruppa,$id_user);
|
||
}
|
||
}
|
||
if(isset($_POST['send_email'])) {//РАССЫЛКА
|
||
$mess = 'Для доступа на сайт используйте ссылку http://' . $_SERVER['HTTP_HOST'] . '/' . "<br>\n";
|
||
$mess .= 'Ваш логин: ' . $email . '' . "<br>\n";
|
||
$mess .= 'Ваш пароль: ' . $pass . '' . "<br>\n";
|
||
$mess .= "<hr>\n";
|
||
$mess .= 'После авторизации будет доступен раздел Студенту, где Вы сможете найти учебный материал своей группы.' . "<br>\n";
|
||
send_email('Вас зарегистрировали на сайте электронно информационо-образовательной среды', $mess, $email);
|
||
}
|
||
}
|
||
}
|
||
if ($info_user['id'] == 0) {
|
||
$message .= '<td><b>'.$pass.'</b></td>';
|
||
} else {
|
||
$message .= '<td><b>-</b></td>';
|
||
}
|
||
if ($info_user['id'] == 0) {
|
||
$message .= '<td><b>Регистрация</b></td>';
|
||
} else {
|
||
$message .= '<td><b><span style="color: red;">Есть в системе '.$info_user['id'].' </span></b></td>';
|
||
}
|
||
//echo '<pre>'.print_r($info_user,1).'</pre>'; exit();
|
||
if(!isset($grup_rez['msg'])) $grup_rez['msg']='';
|
||
$message .= '<td>'.$grup_rez['msg'].'</td>';
|
||
$message .= '</tr>';
|
||
//echo '<pre>'.print_r($message,1).'</pre>';
|
||
}
|
||
$message .= '</table>';
|
||
}
|
||
}
|
||
if(!isset($_POST['test_mode'])) {
|
||
save_logs("Автоматическая регистрация студентов и зачисление в группу");
|
||
}
|
||
$ST['page']['name'] = 'Автоматическая загрузка группы пользователей в системе';
|
||
$regim = 'addUsers';
|
||
$form['btn_url']='users_reg';
|
||
$form['btn_name']='Зарегистрировать';
|
||
$smarty->assign('message',$message); //контейнер сообщений
|
||
}
|
||
/********************************/
|
||
|
||
|
||
/*****/
|
||
if ($_GET['des']=='editgroup'){//УСТАНОВКА ГРУППЫ ДЛЯ ПОЛЬЗОВАТЕЛЯ
|
||
$regim='editgroup'; $id_user=(int)$_GET['id'];
|
||
$grupp_edit=array();
|
||
$sql = 'SELECT id,id_grupp FROM '.$ST['dbpf'].'_students WHERE id_user='.$id_user.'';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$grupp_edit=$rez[1];
|
||
}
|
||
$smarty->assign('grupp_edit',$grupp_edit);
|
||
}
|
||
if ($_GET['des']=='add'){//добавление
|
||
$regim='aded';
|
||
$form['title']=$ST['page']['name'] = 'Добавление пользователя';
|
||
$form['btn_url']='users_save';
|
||
$form['btn_name']='Сохранить';
|
||
$form['id']='';
|
||
$form['p']=array();
|
||
$form['p']['status_name']=get_statusname(0,1);
|
||
}
|
||
if ($_GET['des']=='ban'){//баннить пользователя
|
||
$ST['page']['name'] = 'Баним пользователя';
|
||
$id=(int)$_GET['id'];
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_users SET status=-1 WHERE id='.$id.' AND status!=99');
|
||
if(!$rez['err']){
|
||
$form['msg']='Пользователь успешно заблокирован.';
|
||
}else $form['err'][]='Ошибка при блокировании пользователя!';
|
||
}
|
||
if ($_GET['des']=='del'){//удаление
|
||
$ST['page']['name'] = 'Удаление пользователя';
|
||
$id=(int)$_GET['id'];
|
||
@unlink('upload/users/ava/'.$id.'_ava_orig.jpg');
|
||
@unlink('upload/users/ava/'.$id.'_ava_300.jpg');
|
||
@unlink('upload/users/ava/'.$id.'_ava_150.jpg');
|
||
|
||
$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_blogs_users WHERE id_user='.$id.'');
|
||
$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_pm WHERE to_user='.$id.'');
|
||
$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$id.'');
|
||
$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_students WHERE id_user='.$id.'');
|
||
$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_users WHERE id='.$id.'');
|
||
|
||
save_logs('Пользователь '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].' удалил пользователя №'.$id);
|
||
|
||
}
|
||
if ($_GET['des'] == 'auth'){ //авторизация под новым пользователем
|
||
$id=(int)$_GET['id'];
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE id="'.$id.'" AND status>-1 LIMIT 1'; //echo '3.'.$sql.'<br>';
|
||
if($sql!=''){
|
||
$rez=$DB->QUR_SEL($sql); //echo '<pre>'.print_r($rez,1).'</pre>';
|
||
|
||
if($rez&&$rez[0]){
|
||
//unset($rez[1]['pass']);
|
||
$rez[1]['avatar'] = '';
|
||
if(file_exists('upload/users/ava/'.$rez[1]['id'].'_ava_150.jpg')){
|
||
$rez[1]['avatar'] = '/upload/users/ava/'.$rez[1]['id'].'_ava_150.jpg';
|
||
}
|
||
$_SESSION['user']=$rez[1];
|
||
$_SESSION['user']['chdpwd']=1;
|
||
$sql1='SELECT * FROM '.$ST['dbpf'].'_users_statuses WHERE id_user='.$rez[1]['id'].'';
|
||
$rez1=$DB->QUR_SEL($sql1);
|
||
if($rez1){
|
||
$t=explode(',',$rez1[1]['statuses']);
|
||
foreach($t as $k => $v) $_SESSION['user']['statuses'][$v]=$v;
|
||
}
|
||
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_users SET data_u='.mktime().' WHERE id='.$_SESSION['user']['id'].' LIMIT 1');
|
||
save_logs('Вошел пользователь '.$_SESSION['user']['id'].' : '.$_SESSION['user']['fio'].'');
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$_SESSION['user']['id'].' AND status=1 LIMIT 1';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$_SESSION['user']['teacher']['id']=out_data_fu($rez[1]['id']);
|
||
$_SESSION['user']['teacher']['zvanie']=out_data_fu($rez[1]['zvanie']);
|
||
$_SESSION['user']['teacher']['dolgnost']=out_data_fu($rez[1]['dolgnost']);
|
||
$_SESSION['user']['teacher']['stepen']=out_data_fu($rez[1]['stepen']);
|
||
$_SESSION['user']['teacher']['fakultet']=out_data_fu($rez[1]['fakultet']);
|
||
$_SESSION['user']['teacher']['kafedra']=out_data_fu($rez[1]['kafedra']);
|
||
$_SESSION['user']['teacher']['data_u']=date('H:i:s d.m.Y',$rez[1]['data_u']);
|
||
$_SESSION['user']['teacher']['status']=$rez[1]['status'];
|
||
}
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_students WHERE id_user='.$_SESSION['user']['id'].' AND status=1 LIMIT 1';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$_SESSION['user']['student']['id']=out_data_fu($rez[1]['id']);
|
||
$_SESSION['user']['student']['grupp']=get_grupp($rez[1]['id_grupp']);
|
||
$_SESSION['user']['student']['num_zach']=out_data_fu($rez[1]['num_zach']);
|
||
$_SESSION['user']['student']['num_stud']=out_data_fu($rez[1]['num_stud']);
|
||
$_SESSION['user']['student']['data_u']=date('H:i:s d.m.Y',$rez[1]['data_u']);
|
||
$_SESSION['user']['student']['status']=$rez[1]['status'];
|
||
$_SESSION['user']['student']['id_grupp']=$rez[1]['id_grupp'];
|
||
$_SESSION['user']['student']['num_grupp']=$rez[1]['num_grupp'];
|
||
$_SESSION['user']['student']['kod_podgotovki']=$rez[1]['kod_podgotovki'];
|
||
}
|
||
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_blogs_users WHERE id_user='.$_SESSION['user']['id'].'';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$_SESSION['user']['blog']['status']=1;
|
||
foreach($rez as $key => $val)if($key){
|
||
$_SESSION['user']['blog']['id_blog_category'][]=$val['id_category'];
|
||
}
|
||
}
|
||
json_get_ssid();
|
||
unset($_SESSION['login']['msg']);
|
||
}else {
|
||
$_SESSION['login']['msg']='ошибка авторизации!';
|
||
$_GET['login']=1;
|
||
}
|
||
}
|
||
|
||
header('Location: https://eios.mkgtu.ru/');
|
||
exit();
|
||
}
|
||
}
|
||
|
||
if(isset($_POST['users_edit_grupps_file'])){
|
||
$uploadfile='';
|
||
if(isset($_FILES['file_xls'])){
|
||
$dir_dest = 'upload/reg_users/'.$_SESSION['user']['id'].'/';
|
||
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
||
$fil = $_FILES['file_xls']['name'];
|
||
$t = explode('.',$fil); $ext = $t[count($t)-1];
|
||
unset($t[count($t)-1]); $fn = implode('.',$t);
|
||
$uploadfile = $dir_dest . basename(translit($fn).'_grupp-student.'.$ext);
|
||
//if (!move_uploaded_file($_FILES['sfile']['tmp_name'], $uploadfile)) {
|
||
if (!$SYSTEMclass->sysUPLOAD($_FILES['file_xls']['tmp_name'], $uploadfile)) {
|
||
$uploadfile='';
|
||
}
|
||
}else{
|
||
$message_grupp_students = 'Не указали файл';
|
||
}
|
||
if($uploadfile!='') {
|
||
require_once 'PHPExcel.php';
|
||
$excel = PHPExcel_IOFactory::load('./' . $uploadfile);
|
||
foreach ($excel->getWorksheetIterator() as $worksheet) {
|
||
$lists[] = $worksheet->toArray();
|
||
}
|
||
//Array(
|
||
// [0] => Array(
|
||
// [0] => Array( [0] => 2883 [1] => Ванин Дмитрий Владимирович)
|
||
// [1] => Array( [0] => 2883 [1] => Васильев Рамиль Аскерович )
|
||
if(count($lists)){
|
||
$message_grupp_students .= '<table class="table">';
|
||
$message_grupp_students .= '<tr><td>ФИО</td><td>ИДгрупп</td><td>ИДгрупп БЫЛО</td><td>Результат</td></tr>';
|
||
foreach($lists[0] as $row => $cell){
|
||
$fio = trim($cell[1]);
|
||
$id_grupp = (int)$cell[0];
|
||
$message_grupp_students .= '<tr><td>'.$fio.'</td><td>'.$id_grupp.'</td>';
|
||
//acs_users: id, data_c, data_u, email, pass, status, fio, foto, high_school, phone, polis, snils, guid
|
||
//acs_students: id,data_c,data_u,id_grupp,id_user,status,num_zach,num_grupp,kod_podgotovki,id_newgrupp
|
||
$sql = 'SELECT id FROM acs_users WHERE fio="'.$DB->rescape($fio).'" LIMIT 1';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if($rez&&$rez[0]){
|
||
$id_user = $rez[1]['id'];
|
||
$sql1 = 'SELECT id,id_grupp FROM acs_students WHERE id_user='.$id_user.' LIMIT 1';
|
||
$rez1 = $DB->QUR_SEL($sql1);
|
||
if($rez1&&$rez1[0]){
|
||
$student = $rez1[1];
|
||
$message_grupp_students .= '<td>'.$student['id_grupp'].'</td>';
|
||
$sql2 = 'UPDATE acs_students SET id_grupp='.$id_grupp.' WHERE id='.$student['id'].' LIMIT 1';
|
||
$rez2 = $DB->QUR($sql2);
|
||
if(!$rez2['err'])
|
||
$message_grupp_students .= '<td style="color:green;">Изменили</td>';
|
||
else
|
||
$message_grupp_students .= '<td style="color:red;">Не изменили</td>';
|
||
}else{
|
||
$sql3 = 'INSERT INTO acs_students VALUES(0,'.time().','.time().','.$id_grupp.','.$id_user.',1,"","","",0);';
|
||
//$message_grupp_students .= '<td colspan="2">Не нашли студента</td>';
|
||
$rez3 = $DB->QUR($sql3);
|
||
if(!$rez3['err'])
|
||
$message_grupp_students .= '<td style="color:green;">Не нашли студента, создали</td>';
|
||
else
|
||
$message_grupp_students .= '<td style="color:red;">Не нашли студента, не создали</td>';
|
||
}
|
||
}else{
|
||
$message_grupp_students .= '<td colspan="2">Не нашли пользователя</td>';
|
||
}
|
||
$message_grupp_students .= '</tr>';
|
||
}
|
||
$message_grupp_students .= '</table>';
|
||
}else{
|
||
$message_grupp_students = 'В файле не нашли данные';
|
||
}
|
||
}else{
|
||
$message_grupp_students = 'Не загрузили файл';
|
||
}
|
||
|
||
$smarty->assign('message_grupp_students',$message_grupp_students); //контейнер сообщений
|
||
}
|
||
if ($regim=='show'){//Все записи
|
||
$ST['page']['name'] = 'Все пользователи';
|
||
$where=''; $st_users_s='';
|
||
if(isset($_POST['st_users_s'])){
|
||
$st_users_s=htmlspecialchars($_POST['st_users_s']);
|
||
$sql0='SELECT id FROM '.$ST['dbpf'].'_users WHERE fio LIKE "%'.$st_users_s.'%" ORDER BY fio LIMIT 100';
|
||
$rez0=$DB->QUR_SEL($sql0);
|
||
$id_users = array();
|
||
if($rez0){
|
||
foreach($rez0 as $key0 => $val0)if($key0){
|
||
$id_users[]=$val0['id'];
|
||
}
|
||
}
|
||
if(count($id_users)){
|
||
$where=' WHERE (id='.implode(' OR id=',$id_users).')';
|
||
}
|
||
}
|
||
|
||
//поиск по емайл, а не по ФИО
|
||
if(isset($_POST['st_email_s'])){
|
||
$st_users_s=htmlspecialchars($_POST['st_email_s']);
|
||
$sql0='SELECT id FROM '.$ST['dbpf'].'_users WHERE email LIKE "%'.$st_users_s.'%" ORDER BY fio LIMIT 100 ';
|
||
$rez0=$DB->QUR_SEL($sql0);
|
||
$id_users = array();
|
||
if($rez0){
|
||
foreach($rez0 as $key0 => $val0)if($key0){
|
||
$id_users[]=$val0['id'];
|
||
}
|
||
}
|
||
if(count($id_users)){
|
||
$where=' WHERE (id='.implode(' OR id=',$id_users).')';
|
||
}
|
||
}
|
||
|
||
$pagi=pagination('SELECT * FROM '.$ST['dbpf'].'_users'.$where,25);
|
||
//$sql='SELECT * FROM '.$ST['dbpf'].'_users'.$where.' ORDER BY fio,data_c '.$pagi['limit']; //echo $sql;
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_users'.$where.' ORDER BY data_u DESC '.$pagi['limit']; //echo $sql;
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$i=0; foreach($rez as $key => $val)if($key){
|
||
$val['data_c']=get_data($val['data_c'],1,1);
|
||
$now=time(); $N=DateDiff ('n',$val['data_u'],$now);
|
||
$H = floor($N/60);
|
||
if($H>=24) $val['data_u'] = get_data($val['data_u'],1,1);
|
||
else $val['data_u']=$H.'ч. '.Round(fmod($N/60, 1)*60,0).'мин.';
|
||
$val['status_name']=get_statusname($val['status']);
|
||
$rez1=$DB->QUR_SEL('SELECT * FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$val['id'].' LIMIT 1');
|
||
if($rez1) { $val['teacher'] = $rez1[1]['id']; $val['teacherall'] = $rez1[1]; } else { $val['teacher'] = 0;$val['teacherall'] = array(); }
|
||
$rez1=$DB->QUR_SEL('SELECT * FROM '.$ST['dbpf'].'_students WHERE id_user='.$val['id'].' LIMIT 1');
|
||
if($rez1) { $val['student'] = $rez1[1]['id']; $val['studentdopnom'] = $rez1[1]['num_grupp'];
|
||
$rez1=$DB->QUR_SEL('SELECT * FROM '.$ST['dbpf'].'_grupp WHERE id='.$rez1[1]['id_grupp'].' LIMIT 1');
|
||
$val['studentall'] = $rez1[1];
|
||
} else { $val['student'] = 0; $val['studentall'] = array(); }
|
||
$users[$i]=$val;
|
||
$i++;
|
||
}
|
||
}
|
||
$smarty->assign('st_users_s',$st_users_s);
|
||
}
|
||
|
||
$smarty->assign('grupps',$allGrupp);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('users',$users);
|
||
$smarty->assign('pagination',$pagi); //echo '<pre>'.print_r($pagi,1).'</pre>';
|
||
$smarty->assign('form',$form);
|
||
$smarty->assign('id_user',$id_user);
|
||
$smarty->assign('passgenerate',gen_password());
|
||
if (isStatusUser(99) || (isStatusUser(98))) $maincontent = $smarty->fetch('tpl_setting_users.html');
|
||
else $maincontent = $smarty->fetch('tpl_access.html');
|
||
}
|
||
|
||
if($_GET['page']=='teacher'){//преподаватели сайта
|
||
$lections=array(); $forms=array();
|
||
if(isset($_POST['teacher_edit'])){//РЕДАКТИРОВАНИЕ МАТЕРИАЛА
|
||
$id=(int)$_POST['id'];
|
||
$status=get_data_fu($_POST['status']);
|
||
$id_user=get_data_fu($_POST['id_user']);
|
||
$zvanie=get_data_fu($_POST['zvanie']);
|
||
$dolgnost=get_data_fu($_POST['dolgnost']);
|
||
$fakultet=get_data_fu($_POST['fakultet']);
|
||
$kafedra=get_data_fu($_POST['kafedra']);
|
||
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_teachers SET status='.$status.',zvanie="'.$zvanie.'",dolgnost="'.$dolgnost.'",fakultet="'.$fakultet.'",kafedra="'.$kafedra.'" WHERE id='.$id.' LIMIT 1');
|
||
|
||
if(!$rez['err']){
|
||
$form['msg']='Преподаватель отредактирован!';
|
||
$_GET['des']='';
|
||
$status_old=get_data_fu($_POST['status_old']);
|
||
if($status!=$status_old){//изменили статус препода!
|
||
if($status_old==-1) $os='заблокирован'; if($status_old==0) $os='на рассмотрении'; if($status_old==1) $os='активен';
|
||
if($status==-1) $s='заблокирован';if($status==0) $s='на рассмотрении'; if($status==1) $s='активен';
|
||
$ut=get_user_inf($id_user,0);
|
||
$sql1 = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE id='.$id_user.' LIMIT 1';
|
||
$rez1 = $DB->QUR_SEL($sql1);
|
||
if($rez1){
|
||
$email = $rez1[1]['email'];
|
||
send_email('Изменение статуса на сайте '.$_SERVER['SERVER_NAME'],'На сайте '.$_SERVER['SERVER_NAME'].' изменился ваш статус преподавателя.<br>'."\n".'Был статус: "<b>'.$os.'</b>" изменен на "<b>'.$s.'</b>"',$email);
|
||
}
|
||
}
|
||
}else{
|
||
$form['err'][]='Преподаватель не отредактирован!';
|
||
}
|
||
}
|
||
if(isset($_POST['teacher_save'])){//ДОБАВЛЕНИЕ МАТЕРИАЛА
|
||
$status=get_data_fu($_POST['status']);
|
||
$id_user=get_data_fu($_POST['id_user']);
|
||
$zvanie=get_data_fu($_POST['zvanie']);
|
||
$dolgnost=get_data_fu($_POST['dolgnost']);
|
||
$fakultet=get_data_fu($_POST['fakultet']);
|
||
$kafedra=get_data_fu($_POST['kafedra']);
|
||
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_teachers VALUES (0,'.mktime().','.mktime().','.$id_user.',"'.$zvanie.'","'.$dolgnost.'",'.$status.',"'.$fakultet.'","'.$kafedra.'")';
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$form['msg']='Преподаватель добавлен!';
|
||
$id = mysql_insert_id();
|
||
$_GET['des']='';
|
||
}else{
|
||
$form['err'][]='Преподаватель не добавлен!';
|
||
}
|
||
}
|
||
$regim='show';
|
||
if (isset($_GET['des'])){
|
||
if ($_GET['des']=='edit'){//редактирование
|
||
$regim='aded'; $id=(int)$_GET['id'];
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_teachers WHERE id='.$id.'';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$form['title']=$ST['page']['name'] = 'Редактирование преподавателя';
|
||
$form['btn_url']='teacher_edit';
|
||
$form['btn_name']='Редактировать';
|
||
$form['id']='<input type="HIDDEN" name="id" value="'.$rez[1]['id'].'" />';
|
||
$form['p']=$rez[1];
|
||
$form['p']['id_user']=get_user_inf($rez[1]['id_user'],1);
|
||
$form['p']['status_name']=get_status_teacher($rez[1]['status'],1);
|
||
$form['p']['zvanie']=out_data_fu($rez[1]['zvanie']);
|
||
$form['p']['dolgnost']=out_data_fu($rez[1]['dolgnost']);
|
||
$form['p']['fakultet']=out_data_fu($rez[1]['fakultet']);
|
||
$form['p']['kafedra']=out_data_fu($rez[1]['kafedra']);
|
||
}
|
||
}
|
||
if ($_GET['des']=='add'){//добавление
|
||
$regim='aded';
|
||
$form['title']=$ST['page']['name'] = 'Добавление преподавателя';
|
||
$form['btn_url']='teacher_save';
|
||
$form['btn_name']='Сохранить';
|
||
$form['id']='';
|
||
$form['p']=array();
|
||
$form['p']['status_name']=get_status_teacher(0,1);
|
||
$form['p']['id_user']=get_user_inf(0,1);
|
||
$form['p']['zvanie']='';
|
||
$form['p']['dolgnost']='';
|
||
$form['p']['fakultet']='';
|
||
$form['p']['kafedra']='';
|
||
}
|
||
if ($_GET['des']=='ban'){//баннить пользователя
|
||
$ST['page']['name'] = 'Баним преподавателя';
|
||
$id=(int)$_GET['id'];
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_teachers SET status=-1 WHERE id='.$id.' LIMIT 1');
|
||
if(!$rez['err']){
|
||
$form['msg']='Преподаватель успешно заблокирован.';
|
||
}else $form['err'][]='Ошибка при блокировании преподавателя!';
|
||
}
|
||
if ($_GET['des']=='del'){//удаление
|
||
$ST['page']['name'] = 'Удаление преподавателя';
|
||
$id=(int)$_GET['id'];
|
||
//$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$id.'');
|
||
$rez=$DB->QUR('DELETE FROM '.$ST['dbpf'].'_teachers WHERE id ='.$id.'');
|
||
}
|
||
if ($_GET['des']=='active'){ //подтверждение преподавателя
|
||
$ST['page']['name'] = 'Подтверждение преподавателя';
|
||
$id=(int)$_GET['id'];
|
||
$rez=$DB->QUR('UPDATE '.$ST['dbpf'].'_teachers SET status=1 WHERE id='.$id.' LIMIT 1 ');
|
||
if(!$rez['err']){
|
||
$form['msg']='Преподаватель успешно активирован (статус подтвержден).';
|
||
}else $form['err'][]='Ошибка при подтверждении преподавателя!';
|
||
}
|
||
}
|
||
if ($regim=='show'){//Все записи
|
||
$ST['page']['name'] = 'Все преподаватели';
|
||
$where=''; $st_teacher_s='';
|
||
if(isset($_POST['st_teacher_s'])){
|
||
$st_teacher_s=htmlspecialchars($_POST['st_teacher_s']);
|
||
$sql0='SELECT id FROM '.$ST['dbpf'].'_users WHERE fio LIKE "%'.htmlspecialchars($_POST['st_teacher_s']).'%" ORDER BY fio';
|
||
$rez0=$DB->QUR_SEL($sql0);
|
||
$id_users = array();
|
||
if($rez0){
|
||
foreach($rez0 as $key0 => $val0)if($key0){
|
||
$id_users[]=$val0['id'];
|
||
}
|
||
}
|
||
if(count($id_users)){
|
||
$where=' WHERE (id_user='.implode(' OR id_user=',$id_users).')';
|
||
}
|
||
}
|
||
|
||
$pagi=pagination('SELECT * FROM '.$ST['dbpf'].'_teachers'.$where,30);
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_teachers'.$where.' ORDER BY status,data_c DESC '.$pagi['limit'];
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$i=0; foreach($rez as $key => $val)if($key){
|
||
$val['data_c']=get_data($val['data_c'],1,1);
|
||
//$val['data_c']=date('H:i d.m.Y',$val['data_c']);
|
||
$now=time(); $N=DateDiff ('n',$val['data_u'],$now);
|
||
$H = floor($N/60);
|
||
if($H>=24) $val['data_u'] = get_data($val['data_u'],1,1);
|
||
else $val['data_u']=$H.'ч. '.Round(fmod($N/60, 1)*60,0).'мин.';
|
||
$val['fio']=get_user_inf($val['id_user']);
|
||
$val['status_name']=get_status_teacher($val['status']);
|
||
$teacher[$i]=$val;
|
||
$i++;
|
||
}
|
||
}
|
||
$smarty->assign('st_teacher_s',$st_teacher_s);
|
||
}
|
||
|
||
$st_teacher=array();
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_teachers WHERE status=1 ORDER BY data_c';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
foreach($rez as $key => $val)if($key){
|
||
$val['fio']=get_user_inf($val['id_user']);
|
||
$st_teacher[]=$val;
|
||
}
|
||
}
|
||
//echo '<prE>'.print_r($st_teacher,1).'</pre>';
|
||
$sti=array();
|
||
if (isset($_POST['st_teacher'])){//Статистика препода
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_users WHERE id='.(int)$_POST['st_teacher'].'';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
unset($rez[1]['pass']);
|
||
|
||
$sql0='SELECT * FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$rez[1]['id'].'';
|
||
$rez0=$DB->QUR_SEL($sql0); $id_teacher = $rez0[1]['id'];
|
||
|
||
$rez[1]['data_c']=date('H:i d.m.Y',$rez[1]['data_c']);
|
||
$rez[1]['data_u']=date('H:i d.m.Y',$rez[1]['data_u']);
|
||
$sti['user'] = $rez[1];
|
||
//ГРУППЫ
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_grupp WHERE id_teacher='.$id_teacher.' ORDER BY data_c';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
foreach($rez as $key => $val)if($key){
|
||
$val['data_c']=date('H:i d.m.Y',$val['data_c']);
|
||
$val['data_u']=date('H:i d.m.Y',$val['data_u']);
|
||
/*//Выберем лекции
|
||
$sql1='SELECT ls.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as ls WHERE lg.id_grupp='.$val['id'].' AND lg.id_lections=ls.id ORDER BY ls.data_u';
|
||
$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['data_u']=date('H:i d.m.Y',$val1['data_u']);
|
||
$val['lections'][] = $val1;
|
||
}
|
||
}
|
||
*/
|
||
$sti['grupp'][] = $val;
|
||
}
|
||
}
|
||
//Выберем лекции
|
||
$sql1='SELECT ls.* FROM '.$ST['dbpf'].'_lections as ls WHERE ls.id_teacher='.$id_teacher.' ORDER BY ls.data_u';
|
||
$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['data_u']=date('H:i d.m.Y',$val1['data_u']);
|
||
$rez2=$DB->QUR_SEL('SELECT * FROM '.$ST['dbpf'].'_controln WHERE id_lection='.$val1['id'].' ORDER BY data_c');
|
||
if($rez2) foreach($rez2 as $key2 => $val2)if($key2) $val1['controln'][] = $val2;
|
||
$rez2=$DB->QUR_SEL('SELECT * FROM '.$ST['dbpf'].'_practich WHERE id_lection='.$val1['id'].' ORDER BY data_c');
|
||
if($rez2) foreach($rez2 as $key2 => $val2)if($key2) $val1['practich'][] = $val2;
|
||
|
||
$sti['lections'][] = $val1;
|
||
}
|
||
}
|
||
|
||
}
|
||
}
|
||
|
||
|
||
$fakultets = iup_get_fakultets();
|
||
$smarty->assign('fakultets',$fakultets);
|
||
$kafedras = iup_get_kafedras();
|
||
$smarty->assign('kafedras',$kafedras);
|
||
$smarty->assign('st_teacher',$st_teacher);
|
||
$smarty->assign('sti',$sti);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('teacher',$teacher);
|
||
$smarty->assign('pagination',$pagi);
|
||
$smarty->assign('form',$form);
|
||
$maincontent = $smarty->fetch('tpl_setting_teacher.html');
|
||
}
|
||
if($_GET['page']=='logs'){//логи сайта
|
||
$ST['page']['name'] = 'Логи сайта';
|
||
$WH=''; $L = 'LIMIT 200'; $data1=0; $data2=0; $search_fio='';
|
||
if(isset($_POST['search_go'])){
|
||
$WH = ' WHERE';
|
||
if($_POST['search_fio']!='') {
|
||
$WH .= ' message LIKE "%'.$_POST['search_fio'].'%"';
|
||
$search_fio=$_POST['search_fio'];
|
||
}else $WH .= ' message !=""';
|
||
if(isset($_POST['search_data1'])){
|
||
$data1 = strtotime($_POST['search_data1']);
|
||
$WH .= ' AND data_c >= '.$data1;
|
||
}
|
||
if(isset($_POST['search_data2'])){
|
||
$data2 = strtotime($_POST['search_data2']);
|
||
$WH .= ' AND data_c <= '.$data2;
|
||
}
|
||
|
||
$L='';
|
||
}
|
||
$smarty->assign('data1',$data1);
|
||
$smarty->assign('data2',$data2);
|
||
$smarty->assign('search_fio',$search_fio);
|
||
|
||
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_logs '.$WH.' ORDER BY data_c DESC '.$L;
|
||
$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['message'] = stripslashes($val['message']);
|
||
$logs[] = $val;
|
||
}
|
||
}
|
||
$smarty->assign('logs',$logs);
|
||
$maincontent = $smarty->fetch('tpl_setting_logs.html');
|
||
}
|
||
|
||
|
||
|
||
//функция для определения размера файла и указания единиц измерения (МБ, ГБ, Кб и т.д.)
|
||
function translateSizeFile($byte){ //передается значение в байтах
|
||
if ($byte < 1024) return $byte.' байт'; //если не набирается на один килобайт, то оставляем байты
|
||
elseif ($byte < pow(1024, 2)) return round($byte/1024, 2).' Кб'; //килобайт
|
||
elseif ($byte < pow(1024, 3)) return round($byte/1024/1024, 2).' Мб';
|
||
elseif ($byte < pow(1024, 4)) return round($byte/1024/1024/1024, 2).' Гб';
|
||
}
|
||
|
||
//цвет для указания размера файлов - чем больше, тем темнее цвет
|
||
function colorSizeFile($byte){ //передается значение в байтах
|
||
if ($byte < 1024*2) return 'success';
|
||
elseif ($byte < pow(1024, 2)) return 'success';
|
||
elseif ($byte < pow(1024, 3)) return 'warning';
|
||
elseif ($byte < pow(1024, 4)) return 'important';
|
||
else return 'black';
|
||
}
|
||
|
||
//взвешиваем директорию
|
||
function dir_size($path) {
|
||
$path = rtrim($path, '/');
|
||
$size = 0;
|
||
$dir = opendir($path);
|
||
if (!$dir) {
|
||
return 0;
|
||
}
|
||
|
||
while (false !== ($file = readdir($dir))) {
|
||
if ($file == '.' || $file == '..') {
|
||
continue;
|
||
} elseif (is_dir($path . $file)) {
|
||
$size += dir_size($path . DIRECTORY_SEPARATOR . $file);
|
||
} else {
|
||
$size += filesize($path . DIRECTORY_SEPARATOR . $file);
|
||
}
|
||
}
|
||
closedir($dir);
|
||
return $size;
|
||
}
|
||
|
||
//смотрим внутренние папки
|
||
//ГЛОБАЛЬНЫЕ ПЕРЕМЕННЫЕ
|
||
function inScandir($dir){
|
||
|
||
$upload = scandir($dir);
|
||
$files = array();
|
||
|
||
foreach ($upload as $key => $file) if ($key){
|
||
|
||
$val = array();
|
||
$val['name'] = $file;
|
||
$val['dirsize'] = translateSizeFile(dir_size($dir.'/'.$file));
|
||
$val['dircolor'] = colorSizeFile(dir_size($dir.'/'.$file));
|
||
$val['is'] = is_file($dir.'/'.$file) ? 'file' : 'dir';
|
||
if ($val['is'] == 'file') {
|
||
$val['filesize'] = translateSizeFile(filesize($dir.'/'.$file));
|
||
$val['filecolor'] = colorSizeFile(filesize($dir.'/'.$file));
|
||
$val['filemtime'] = date("F d Y H:i:s.", filemtime($dir.'/'.$file));
|
||
} else $val['dir']; //если директория, то копаем дальше
|
||
//} else $val['dir'] = inScandir('./upload/'.$val['name']); //если директория, то копаем дальше
|
||
|
||
$files[] = $val;
|
||
}
|
||
|
||
|
||
return $files;
|
||
}
|
||
|
||
//загрузки сайта
|
||
if ($_GET['page'] == 'files'){
|
||
$ST['page']['name'] = 'Загрузки сайта';
|
||
|
||
|
||
|
||
$upload = scandir('./upload/');
|
||
//$files = inScandir('./upload/');
|
||
$files = array();
|
||
|
||
foreach ($upload as $key => $file) if ($key){
|
||
|
||
$val = array();
|
||
$val['name'] = $file;
|
||
$val['is'] = is_file('./upload/'.$file) ? 'file' : 'dir';
|
||
if ($val['is'] == 'file') {
|
||
$val['filesize'] = translateSizeFile(filesize('./upload/'.$file));
|
||
$val['filecolor'] = colorSizeFile(filesize('./upload/'.$file));
|
||
$val['filemtime'] = date ("F d Y H:i:s.", filemtime('./upload/'.$file));
|
||
|
||
} else {
|
||
$val['dir'] = inScandir('./upload/'.$val['name']); //если директория, то копаем дальше
|
||
$val['dirsize'] = translateSizeFile(dir_size('./upload/'.$val['name']));
|
||
$val['dircolor'] = colorSizeFile(dir_size('./upload/'.$val['name']));
|
||
}
|
||
//проверяем, чем является объект - директорией или файлом
|
||
//if (is_dir($file)) $file['is'] = 0; else $file['is'] = 1;
|
||
|
||
$files[] = $val;
|
||
}
|
||
|
||
$smarty->assign('files',$files);
|
||
$maincontent = $smarty->fetch('tpl_setting_files.html');
|
||
}
|
||
|
||
if ($_GET['page'] == "university"){ //настройки университета
|
||
//учебные заведения
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_schools';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
$i = 0;
|
||
foreach ($rez as $key => $val) if ($key){
|
||
$schools[] = $val;
|
||
}
|
||
}
|
||
|
||
//факультеты
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_faculties';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
$i = 0;
|
||
foreach ($rez as $key => $val) if ($key){
|
||
//выводим профиль подготовки
|
||
$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"];
|
||
|
||
$faculties[] = $val;
|
||
}
|
||
}
|
||
|
||
//кафедры
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_kafedres';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
$i = 0;
|
||
foreach ($rez as $key => $val) if ($key){
|
||
$val['id_facult_id'] = $val["id_facult"];
|
||
$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"];
|
||
|
||
$kafedres[] = $val;
|
||
}
|
||
}
|
||
|
||
//направления подготовки
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_areas ORDER BY `code`';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
$i = 0;
|
||
foreach ($rez as $key => $val) if ($key){
|
||
$i++;
|
||
$val['i'] = $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"];
|
||
|
||
$areas[] = $val;
|
||
}
|
||
}
|
||
|
||
//профили подготовки
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_profile ORDER BY `id_areas`';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
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]['code'].' '.$rez_area[1]['name'];
|
||
$val['code'] = $rez_area[1]['code'];
|
||
|
||
$profiles[] = $val;
|
||
}
|
||
}
|
||
|
||
//года и форма обучения
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_profile_start ORDER BY `id_profile`';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val) if ($key){
|
||
//выводим профиль подготовки
|
||
$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"];
|
||
$val['id_areas'] = $rez_profile[1]["id_areas"];
|
||
|
||
$sql_area = 'SELECT * FROM '.$ST['dbpf'].'_areas WHERE `id` = "'.$val["id_areas"].'"';
|
||
$rez_area = $DB->QUR_SEL($sql_area);
|
||
$val['code'] = $rez_area[1]['code'];
|
||
|
||
if ($val["forma"] == 1) $val["forma"] = "очная";
|
||
else $val["forma"] = "заочная";
|
||
|
||
$profiles_start[] = $val;
|
||
}
|
||
}
|
||
|
||
$smarty->assign('schools', $schools);
|
||
$smarty->assign('faculties', $faculties);
|
||
$smarty->assign('kafedres', $kafedres);
|
||
$smarty->assign('areas', $areas);
|
||
$smarty->assign('profiles', $profiles);
|
||
$smarty->assign('profiles_start', $profiles_start);
|
||
$maincontent = $smarty->fetch('tpl_alneo_university.html');
|
||
}
|
||
|
||
if ($_GET['page'] == "audit"){ //КОРПУСЫ/АУДИТОРИИ
|
||
|
||
$msg = 0;
|
||
//добавить информацию о учебном корпусе
|
||
if (isset($_POST['add_corp'])){
|
||
$name = addslashes($_POST['name']);
|
||
$address = addslashes($_POST['address']);
|
||
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_corpuses (`name`, `address`) VALUES ("'.$name.'", "'.$address.'") ';
|
||
//echo $sql;
|
||
$rez = $DB->QUR($sql);
|
||
//$id = mysql_insert_id();
|
||
|
||
$msg = 1;
|
||
save_logs('Добавлен корпус');
|
||
|
||
}
|
||
|
||
//добавить информацию об аудитории
|
||
if (isset($_POST['add_aud'])){
|
||
$name = addslashes($_POST['name']);
|
||
$url = addslashes($_POST['url']);
|
||
$id_corp = $_POST['id_corp'];
|
||
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_audit (`name`, `id_corp`, `urls`) VALUES ("'.$name.'", "'.$id_corp.'", "'.$url.'") ';
|
||
//echo $sql;
|
||
$rez = $DB->QUR($sql);
|
||
//$id = mysql_insert_id();
|
||
|
||
$msg = 1;
|
||
save_logs('Добавлена аудитория');
|
||
|
||
}
|
||
|
||
|
||
//корпусы университета
|
||
$corpuses = array();
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_corpuses ';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val) if ($key){
|
||
|
||
$corpuses[] = $val;
|
||
}
|
||
}
|
||
|
||
//аудитории университета
|
||
$audits = array();
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_audit ';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val) if ($key){
|
||
$rez_corp = $DB->QUR_SEL('SELECT * FROM '.$ST['dbpf'].'_corpuses WHERE id = "'.$val['id_corp'].'" ');
|
||
$val['corpus'] = $rez_corp[1]['name'];
|
||
|
||
$audits[] = $val;
|
||
}
|
||
}
|
||
|
||
$smarty->assign('msg', $msg);
|
||
$smarty->assign('corpuses', $corpuses);
|
||
$smarty->assign('audits', $audits);
|
||
$maincontent = $smarty->fetch('tpl_alneo_audit.html');
|
||
}
|
||
if ($_GET['page'] == "portfolio"){ //портфолио студентов
|
||
|
||
//поиск портфолио определенного студента
|
||
if (isset($_POST["search-ok"])){
|
||
|
||
|
||
}
|
||
$maincontent = $smarty->fetch('tpl_alneo_portfolio.html');
|
||
}
|
||
|
||
}
|
||
|
||
function gen_password_NEW1($length = 8){
|
||
$password = '';
|
||
$arr = array(
|
||
'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm',
|
||
'n', '*', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
|
||
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
|
||
'N', '!', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
|
||
'1', '2', '3', '4', '5', '6', '7', '8', '9', '0'
|
||
);
|
||
|
||
for ($i = 0; $i < $length; $i++) {
|
||
$password .= $arr[random_int(0, count($arr) - 1)];
|
||
}
|
||
return $password;
|
||
}
|
||
|
||
function get_status_teacher($id,$t=0){//СТАТУСЫ ДЛЯ ПРЕПОДОВ
|
||
$st=array('-1'=>'<span class="label label-important">заблокирован</span>','0'=>'<span class="label">на рассмотрении</span>','1'=>'<span class="label label-success">активен</span>');
|
||
if($t==0) return $st[$id];
|
||
else{
|
||
$out=array();
|
||
$i=0;foreach($st as $key => $val){
|
||
$out[$i]['id']=$key;
|
||
$out[$i]['name']=strip_tags($val);
|
||
if ($id==$key) $out[$i]['sel']=1; else $out[$i]['sel']=0;
|
||
$i++;
|
||
}
|
||
return $out;
|
||
}
|
||
}
|
||
function get_statusname($id,$t=0){//СТАТУСЫ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ
|
||
GLOBAL $CF;
|
||
$st=$CF['user_statuses'];
|
||
/*array(
|
||
'-1'=>'<span class="label label-important">заблокирован</span>',
|
||
'0'=>'<span class="label">обычный</span>',
|
||
'10'=>'<span class="label label-success">трудоустройство</span>',
|
||
'20'=>'<span class="label label-success">УМУ</span>',
|
||
'21'=>'<span class="label label-success">Зам.декана</span>',
|
||
'22'=>'<span class="label label-success">Аттестационная комиссия</span>',
|
||
'23'=>'<span class="label label-success">Кафедра</span>',
|
||
'24'=>'<span class="label label-success">Декан</span>',
|
||
'25'=>'<span class="label label-success">Секретарь деканата</span>',
|
||
|
||
'30'=>'<span class="label label-success">Зав.кафедрой</span>',
|
||
'39'=>'<span class="label label-success">Проверяющий кафедры</span>',
|
||
'99'=>'<span class="label label-warning">супер админ</span>'
|
||
);*/
|
||
if($t==0) return $st[$id];
|
||
else{
|
||
$out=array();
|
||
$i=0;foreach($st as $key => $val){
|
||
$out[$i]['id']=$key;
|
||
$out[$i]['name']=strip_tags($val);
|
||
if ($id==$key) $out[$i]['sel']=1; else $out[$i]['sel']=0;
|
||
$i++;
|
||
}
|
||
return $out;
|
||
}
|
||
}
|
||
?>
|