QUR('SET NAMES utf8'); $out = array(); file_put_contents('android_php.log',date('H:i:s d.m.Y').'::GET'.print_r($_GET,1),FILE_APPEND); file_put_contents('android_php.log',date('H:i:s d.m.Y').'::POST'.print_r($_POST,1),FILE_APPEND); /* file_put_contents('android_php.log',date('H:i:s d.m.Y').'::GET'.print_r($_GET,1),FILE_APPEND); file_put_contents('android_php.log',date('H:i:s d.m.Y').'::REQUEST'.print_r($_REQUEST,1),FILE_APPEND); file_put_contents('android_php.log',date('H:i:s d.m.Y').'::SERVER'.print_r($_SERVER,1),FILE_APPEND); */ if(isset($_GET['test'])){ echo '
user:
passw:

'; } if(isset($_POST['messagesoutamount'])||isset($_GET['messagesoutammount'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=0; $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $sql = 'SELECT * FROM '.$ST['dbpf'].'_pm WHERE from_user='.$user_id.''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ $out = $rez[0]; } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } if(isset($_POST['messagesinamount'])||isset($_GET['messagesinammount'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=0; $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $sql = 'SELECT * FROM '.$ST['dbpf'].'_pm WHERE to_user='.$user_id.''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ $out = $rez[0]; } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } if(isset($_POST['messagesout'])||isset($_GET['messagesout'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $start=0;$kol=15; if(isset($_POST['start'])){ $start=$_POST['start']-1; } $sql = 'SELECT * FROM '.$ST['dbpf'].'_pm WHERE from_user='.$user_id.' ORDER BY data_c DESC LIMIT '.$start.','.$kol.''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $rez1 = $DB->QUR_SEL('SELECT fio FROM '.$ST['dbpf'].'_users WHERE id='.$val['to_user'].' LIMIT 1'); $out[] = array( 'id'=>$val['id'], 'data_c'=>$val['data_c'], 'subject'=>'Сообщение от "'.$rez1[1]['fio'].'"', 'body'=>$val['message'], 'status'=>mt_rand(0,1), 'user_otkogo_id'=>$val['to_user'], 'user_otkogo_name'=>$rez1[1]['fio'] ); } }else{ //$out[] = array('id'=>0,'data_c'=>0,'subject'=>'end','body'=>'','status'=>0,'user_otkogo_id'=>0,'user_otkogo_name'=>''); } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } if(isset($_POST['messagesin'])||isset($_GET['messagesin'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $start=0;$kol=15; if(isset($_POST['start'])){ $start=$_POST['start']-1; } $sql = 'SELECT * FROM '.$ST['dbpf'].'_pm WHERE to_user='.$user_id.' ORDER BY data_c DESC LIMIT '.$start.','.$kol.''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $rez1 = $DB->QUR_SEL('SELECT fio FROM '.$ST['dbpf'].'_users WHERE id='.$val['from_user'].' LIMIT 1'); $out[] = array( 'id'=>$val['id'], 'data_c'=>$val['data_c'], 'subject'=>'Сообщение от "'.$rez1[1]['fio'].'"', 'body'=>$val['message'], 'status'=>mt_rand(0,1), 'user_otkogo_id'=>$val['from_user'], 'user_otkogo_name'=>$rez1[1]['fio'] ); } }else{ //$out[] = array('id'=>0,'data_c'=>0,'subject'=>'end','body'=>'','status'=>0,'user_otkogo_id'=>0,'user_otkogo_name'=>''); } //file_put_contents('android_php.log',date('H:i:s d.m.Y').'::messagesin'.print_r($out,1),FILE_APPEND); }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } //deletemessage=1&user_idm=*ID пользователя*&message_id=*ID сообщения* - удаление сообщения (в случае успеха: не возвращает ничего, в случае неудачи: возвращает ошибку) if(isset($_POST['deletemessage'])){ $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $message_id = (int)$_POST['message_id']; $sql = 'DELETE FROM '.$ST['dbpf'].'_pm WHERE from_user='.$user_id.' LIMIT 1'; $rez = $DB->QUR($sql); if(!$rez['err']){ }else{ $out[] = array('err'=>1,'err_str'=>'Ошибка удаления сообщения'); } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } //switchreadstatus=1&user_idm=*ID пользователя*&message_id=*ID сообщения*&status=*статус (1 - прочитанное, 0 - непрочитанное)* - отметить сообщение как прочитанное или непрочитанное (в случае успеха: не возвращает ничего, в случае неудачи: возвращает ошибку) if(isset($_POST['switchreadstatus'])){ $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $message_id = (int)$_POST['message_id']; $status = (int)$_POST['status']; $sql = 'UPDATE '.$ST['dbpf'].'_pm SET from_status='.$status.' WHERE from_user='.$user_id.' LIMIT 1'; $rez = $DB->QUR($sql); if(!$rez['err']){ }else{ $out[] = array('err'=>1,'err_str'=>'Ошибка изменения статуса сообщения'); } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } //senderidrequest=1&sender=*Имя пользователя* - запрос на получение ID пользователя (в случае успеха: возвращает ID пользователя в виде строки, в случае неудачи: строку "Получатель не найден") if(isset($_POST['senderidrequest'])){ $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $sender = $_POST['sender']; $sql = 'SELECT id,fio FROM '.$ST['dbpf'].'_users WHERE fio LIKE "%'.$sender.'%" LIMIT 1'; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]){ $out[] = array('id'=>$rez[1]['id'],'fio'=>$rez[1]['fio']); }else{ $out[] = array('err'=>1,'err_str'=>'Получатель не найден'); } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } //newmessage=1&sender=*ID пользователя*&receiver=*ID получателя*&subject=*тема*&body=*текст сообщения* - новое сообщение if(isset($_POST['newmessage'])){ $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $sender = (int)$_POST['sender']; $receiver = (int)$_POST['receiver']; $subject = $_POST['subject']; $body = $_POST['body']; $sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES(0,'.time().','.$sender.','.$receiver.',"'.$subject.'\n'.$body.'",0,0,"");'; $rez = $DB->QUR($sql); if(!$rez['err']){ }else{ $out[] = array('err'=>1,'err_str'=>'Ошибка отправки сообщения'); } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } //restore=1&email=*адрес эл. почты* - восстановление пароля по почте (в случае успеха: не возвращает ничего, в случае неудачи: возвращает ошибку) //restore=1&surname=*фамилия пользователя* - восстановление пароля по фамилии (в случае успеха: не возвращает ничего, в случае неудачи: возвращает ошибку) if(isset($_POST['restore'])){ $out=array(); $sql=''; if(isset($_POST['email'])){ $email = $_POST['email']; $sql = 'SELECT id,pass,email FROM '.$ST['dbpf'].'_users WHERE email="'.$email.'" LIMIT 1'; } if(isset($_POST['surname'])){ $fio = $_POST['surname']; $sql = 'SELECT id,pass,email FROM '.$ST['dbpf'].'_users WHERE fio="'.$fio.'" LIMIT 1'; } if($sql!=''){ $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]){ send_email_and('Восстановление пароля learn-mkgtu.ru','Вы запрашивали пароль на сайте learn-mkgtu.ru
Ваш пароль: '.$rez[1]['pass'],$rez[1]['email']); }else{ $out[] = array('err'=>1,'err_str'=>'Нет такого пользователя'); } } } //register=1&email=*адрес эл.почты*&name=*ФИО*&pass=*пароль* - регистрация пользователя (в случае успеха: не возвращает ничего, в случае неудачи: возвращает ошибку) if(isset($_POST['register'])){ $email = $_POST['email']; $pass = $_POST['pass']; $fio = $_POST['name']; $err=array(); if (strlen($fio)<4)$err[]='Заполните правильно ФИО'; if (strlen($email)<4)$err[]='Заполните правильно email'; if (!count($err)){ $sql = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE email="'.$email.'" LIMIT 1'; $rez=$DB->QUR_SEL($sql); if(!$rez){ $sql = 'INSERT INTO '.$ST['dbpf'].'_users VALUES (0,'.mktime().','.mktime().',"'.$email.'","'.$pass.'",0,"'.$fio.'","")'; $rez=$DB->QUR($sql); if (!$rez['err']){ }else $out[]=array('err'=>1,'err_str'=>'Ошибка создания пользователя'); }else $out[]=array('err'=>1,'err_str'=>'такой email уже зарегистрирован!'); }else $out[]=array('err'=>1,'err_str'=>'ошибка регистрации! '.implode('; ',$err).''); } if(isset($_POST['lections'])||isset($_GET['lections'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $user = and_user_get($user_id); //lections=1&group=*Код группы*&user_idm=*ID пользователя* - список лекций по группе if(isset($_POST['group'])){ $sql = 'SELECT l.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.file!="" AND lg.id_grupp='.(int)$_POST['group'].''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/lections/'.$val['file']); } } }elseif(isset($_POST['grouplist'])){//lections=1&grouplist=1&user_idm=*ID пользователя* - список групп преподавателя (для перехода к списку лекций по группе) if(isset($user['teacher'])){//преподаватель $sql = 'SELECT g.* FROM '.$ST['dbpf'].'_grupp_teachers as gt,'.$ST['dbpf'].'_grupp as g WHERE gt.id_teacher='.$user['teacher']['id'].' AND gt.id_grupp=g.id'; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('id'=>$val['id'],'sokr'=>$val['sokr'],'kurs'=>$val['kurs'],'fo'=>$val['fo']); } } } }else{//список лекций if(isset($user['student'])){//студента! $sql = 'SELECT l.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.file!="" LIMIT 10'; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/lections/'.$val['file']); } } } } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться'; } } //practical=1&user_idm=*ID пользователя* - список практических работ if(isset($_POST['practical'])||isset($_GET['practical'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $user = and_user_get($user_id); if(isset($_POST['group'])){//practical=1&group=*Код группы*&user_idm=*ID пользователя* - список практических работ по группе $sql = 'SELECT p.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l,'.$ST['dbpf'].'_practich as p WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.id=p.id_lection AND p.file!="" AND lg.id_grupp='.(int)$_POST['group'].''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/practic/'.$val['file']); } } }else{ if(isset($user['student'])){ $sql = 'SELECT p.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l,'.$ST['dbpf'].'_practich as p WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.id=p.id_lection AND p.file!="" LIMIT 10'; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/practic/'.$val['file']); } } } } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться, для получения практических'; } } //practise=1&user_idm=*ID пользователя* - практика if(isset($_POST['practise'])||isset($_GET['practise'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $user = and_user_get($user_id); if(isset($_POST['group'])){//practise=1&group=*Код группы*&user_idm=*ID пользователя* - практика по группе $sql = 'SELECT p.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l,'.$ST['dbpf'].'_praktika as p WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.id=p.id_lection AND p.file!="" AND lg.id_grupp='.(int)$_POST['group'].''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/praktika/'.$val['file']); } } }else{ if(isset($user['student'])){ $sql = 'SELECT p.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l,'.$ST['dbpf'].'_praktika as p WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.id=p.id_lection AND p.file!="" LIMIT 10'; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/praktika/'.$val['file']); } } } } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться, для получения практических'; } } //term=1&user_idm=*ID пользователя* - список курсовых работ if(isset($_POST['term'])||isset($_GET['term'])){ $user_id=0; if(isset($_POST['user_id'])) $user_id = $_POST['user_id']; if(isset($_GET['user_id'])) $user_id = $_GET['user_id']; $out=array(); $user_id = user_shifr_check($_POST['user_idm']); if($user_id>0){ $user = and_user_get($user_id); if(isset($_POST['group'])){//term=1&group=*Код группы*&user_idm=*ID пользователя* - список курсовых работ по группе $sql = 'SELECT p.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l,'.$ST['dbpf'].'_kursov as k WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.id=k.id_lection AND k.file!="" AND lg.id_grupp='.(int)$_POST['group'].''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/kursov/'.$val['file']); } } }else{ if(isset($user['student'])){ $sql = 'SELECT p.* FROM '.$ST['dbpf'].'_lections_grupp as lg,'.$ST['dbpf'].'_lections as l,'.$ST['dbpf'].'_kursov as k WHERE lg.id_grupp='.$user['student']['id_grupp'].' AND lg.id_lections=l.id AND l.id=k.id_lection AND k.file!="" LIMIT 10'; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>1){ foreach($rez as $key => $val)if($key){ $out[] = array('name'=>$val['name'],'file'=>'http://learn-mkgtu.ru/upload/kursov/'.$val['file']); } } } } }else{ $out['err']=1; $out['err_str']='Необходимо авторизоваться, для получения курсовых'; } } if(isset($_POST['enter'])){ $auth=0; $login = mysql_escape_string($_POST['login']); $pass = mysql_escape_string($_POST['passw']); $sql = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE email="'.$login.'" AND pass="'.passw_generate($pass).'" LIMIT 1'; $rez = $DB->QUR_SEL($sql); //file_put_contents('android_php.log',date('H:i:s d.m.Y').'::$rez'.print_r($rez,1)."\n",FILE_APPEND); if($rez&&$rez[0]==1){ $out['data_c'] = date('H:i:s d.m.Y',$rez[1]['data_c']); $out['message'] = 'Вы авторизовались'; $out['user_id'] = $rez[1]['id']; $out['user_idm'] = user_shifr_get($rez[1]['email'],$rez[1]['id']); $out['status'] = $rez[1]['status']; $sql1 = 'SELECT id FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$rez[1]['id'].' LIMIT 1'; $rez1 = $DB->QUR_SEL($sql1); if($rez1[0]) $out['layout'] = 1; else $out['layout'] = 2; $auth=1; } if(!$auth) $out['err']='Такого пользователя не найдено!'; } /*else{ $out['err']='нет запроса'; }*/ if(is_array($out)){ echo json_encode($out); }else{ echo $out; } if(isset($_GET['deb'])) echo '
'.print_r($out,1).'
'; file_put_contents('android_php.log',date('H:i:s d.m.Y').'::$out'.print_r($out,1).'::$POST'.print_r($_POST,1)."\n",FILE_APPEND); exit(); function passw_generate($passw){ //include_once 'ps01salt.php'; return md5('MkGTU_'.$passw.'$_2010!'); } function user_shifr_get($user_email,$user_id){ GLOBAL $DB,$ST; $md5 = md5('sa:'.$user_email.':ps:'.$user_id.'an'); $sql = 'SELECT * FROM '.$ST['dbpf'].'_android_ids WHERE md5str="'.$md5.'" LIMIT 1'; $rez = $DB->QUR_SEL($sql); if($rez){ //доделать проверку сессиии!!! }else { $sql = 'INSERT INTO '.$ST['dbpf'].'_android_ids VALUES(0,'.time().','.$user_id.',"'.$md5.'")'; $rez = $DB->QUR_SEL($sql); } return $md5; } function user_shifr_check($md5){ GLOBAL $ST,$DB; $sql = 'CREATE TABLE IF NOT EXISTS `'.$ST['dbpf'].'_android_ids` ( `id` int(11) NOT NULL AUTO_INCREMENT, `data_c` int(11) NOT NULL, `id_user` int(11) NOT NULL, `md5str` TEXT NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;'; $rez = $DB->QUR($sql); $sql = 'SELECT * FROM '.$ST['dbpf'].'_android_ids WHERE md5str="'.$md5.'" LIMIT 1'; $rez = $DB->QUR_SEL($sql); if($rez){ $out = $rez[1]['id_user']; }else $out = 0; return $out; } function and_user_get($id_user){ GLOBAL $ST,$DB; $out=array(); $sql = 'SELECT * FROM '.$ST['dbpf'].'_students WHERE id_user='.$id_user.''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>0){ $out['student']=$rez[1]; } $sql = 'SELECT * FROM '.$ST['dbpf'].'_teachers WHERE id_user='.$id_user.''; $rez = $DB->QUR_SEL($sql); if($rez&&$rez[0]>0){ $out['teacher']=$rez[1]; } return $out; } function send_email_and($title,$message,$toemail,$from='',$f=1,$tpl=''){ $file = 'PHPMailer/PHPMailerAutoload.php'; if(file_exists('inc/'.$file)){ require_once 'inc/'.$file; }else{ require_once $file; } if($tpl==''){ $message = ''.$title.'Сообщение с сайта '.$_SERVER['HTTP_HOST'].'!
'.$message.'
ФГБОУ ВО "МГТУ" портал online обучения
разработчик сайта НОЦ "САПСАН" Яковлев Александр Леонидович ruksapsan@mkgtu.ru
Если вы считаете это письмо спамом или рассылкой, перешлите его на почту sapsan@mkgtu.ru с пометкой СПАМ, мы постараемся разобраться в данной ситуации'; } $mail = new PHPMailer; $mail->CharSet = 'utf-8'; $mail->isSMTP(); $mail->SMTPDebug = 0; $mail->Host = 'smtp.yandex.ru'; $mail->Port = 25; $mail->SMTPSecure = 'tls'; $mail->SMTPAuth = true; $mail->Username = "noreply@mkgtu.ru"; $mail->Password = "!mkgtu2018!"; $mail->setFrom('noreply@mkgtu.ru', 'оповещатель['.$_SERVER['HTTP_HOST'].']'); $mail->addAddress($toemail); $mail->Subject = $title; $mail->msgHTML($message); $mail->AltBody = strip_tags($message); if (!$mail->send()) { $out = false; } else { $out = true; } return $out; }