581 lines
29 KiB
PHP
581 lines
29 KiB
PHP
<?php
|
||
/*
|
||
from_status
|
||
0 - удален
|
||
1 -
|
||
2 - отправлен
|
||
to_status
|
||
0 - удален
|
||
1 - новый
|
||
2 - прочитан
|
||
*/
|
||
include_once $_SERVER['DOCUMENT_ROOT'].'/inc/class_SYSTEM.php';
|
||
$SYSTEMclass = new SYSTEMclass();
|
||
|
||
if(!isset($_GET['page'])) $_GET['page'] = 'show';
|
||
if(isset($_GET['page'])){
|
||
if(isset($_SESSION['user']['teacher']['id']))$smarty->assign('rassylka',1); else $smarty->assign('rassylka',0);
|
||
|
||
|
||
$search_fio = array();
|
||
if (isset($_POST['pm_search'])){ //ПОИСК ПОЛЬЗОВАТЕЛЯ ДЛЯ ОТПРАВКИ
|
||
$fio = $_POST['fio'];
|
||
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE fio LIKE "%'.$fio.'%" AND status > "-1" LIMIT 25';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val) if ($key){
|
||
|
||
$sql2 = 'SELECT * FROM '.$ST['dbpf'].'_teachers WHERE id_user = "'.$val[id].'" ';
|
||
$rez2 = $DB->QUR_SEL($sql2);
|
||
|
||
$val['prepod'] = $rez2[0];
|
||
$val['student'] = get_student($val[id]);
|
||
|
||
$search_fio[] = $val;
|
||
}
|
||
}
|
||
}
|
||
|
||
if(isset($_POST['pm_write'])){//ОТПРАВКА СООБЩЕНИЯ
|
||
$to_user = (int)$_POST['to_user'];
|
||
$_POST['message']=strip_tags($_POST['message'],'<h1><h2><h3><b><br><i><u><ul><li><ol><blockquote>');
|
||
$message = mysql_escape_string($_POST['message']);
|
||
//echo '<pre>'.print_r($_FILES,1).'</pre>';
|
||
$uploadfile='';
|
||
if(isset($_FILES['sfile'])){
|
||
$dir_dest = 'upload/pm/'.$_SESSION['user']['id'].'/';
|
||
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
||
$fil = $_FILES['sfile']['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['sfile']['tmp_name'], $uploadfile)) {
|
||
$uploadfile='';
|
||
}
|
||
}
|
||
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES (0,'.mktime().','.$_SESSION['user']['id'].','.$to_user.',"'.$message.'",2,1,"'.$uploadfile.'")';
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$_GET['page']='show';
|
||
$form['msg'] = 'Ваше сообщение отправлено!';
|
||
include_once 'inc/pm_route.php';
|
||
$params['tg']['otkogo_user_id']=$_SESSION['user']['id'];
|
||
$params['tg']['otkogo_user_fio']=$_SESSION['user']['fio'];
|
||
$params['tg']['komu_user_id']=$to_user;
|
||
$params['tg']['message']=$message;
|
||
$params['tg']['file']=$uploadfile;
|
||
PM_SEND_teleg($params);
|
||
$rez1=$DB->QUR_SEL('SELECT email FROM '.$ST['dbpf'].'_users WHERE id='.$to_user.' LIMIT 1');
|
||
if($rez1){
|
||
if($uploadfile!=''){
|
||
$file = '<br>Пользователь прикрепил файл: <a href="http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'">http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'</a>';
|
||
}else $file='';
|
||
//форматируем сообщение
|
||
$message = '<div style="background: #006147; color: white;
|
||
padding: 5px;
|
||
font-family: Bookman Old Style;
|
||
font-size: 14px;
|
||
border-radius: 5px;
|
||
border: 1px solid rosybrown;
|
||
font-weight: bold;">'.$message.'<br /><br /><p align="right"><i>С уважением, <br /> '.$_SESSION['user']['fio'].' </p><p align="center"><img src="https://mkgtu.ru/dist/media/img/png/logo_1.png" /></p><br /> Если Вы уже авторизованы, то можете ответить на письмо: <a href="https://eios.mkgtu.ru/pm/writeuser/'.$_SESSION['user']['id'].'/" style="background: #FFDC60;">Ответить</a></div>';
|
||
|
||
//send_email('Новое сообщение на сайте '.$_SERVER['HTTP_HOST'],'Пользователь '.$_SESSION['user']['fio'].' оставил вам сообщение:<br>'.$message.$file.'<br>Чтобы ответить на сообщение вам необходимо авторизоваться на сайте '.$_SERVER['HTTP_HOST'].'<br>Чтобы отказаться от получение рассылки, зайдите в свой профиль и измените параметры уведомления.',$rez1[1]['email']);
|
||
send_email('Новое сообщение на сайте '.$_SERVER['HTTP_HOST'],'<br>'.$message.$file.'<br>',$rez1[1]['email']);
|
||
|
||
save_logs('Пользователь отправил сообщение пользователю '.$to_user);
|
||
|
||
//выход
|
||
header("Location: /pm/");
|
||
exit;
|
||
}
|
||
}else{
|
||
$_GET['page']='show';
|
||
$form['err'] = 'Ваше сообщение не отправлено!';
|
||
}
|
||
}
|
||
if(isset($_POST['pm_write_grupps'])){//ОТПРАВКА СООБЩЕНИЯ ГРУППАМ
|
||
$_POST['message']=strip_tags($_POST['message'],'<h1><h2><h3><b><br><i><u><ul><li><ol><blockquote>');
|
||
$message = mysql_escape_string('[ГРУППА] '.$_POST['message']);
|
||
//echo '<pre>'.print_r($_FILES,1).'</pre>';
|
||
$uploadfile='';
|
||
if(isset($_FILES['sfile'])){
|
||
$dir_dest = 'upload/pm/'.$_SESSION['user']['id'].'/';
|
||
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
||
$fil = $_FILES['sfile']['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['sfile']['tmp_name'], $uploadfile)) {
|
||
$uploadfile='';
|
||
}
|
||
}
|
||
|
||
$to_users = array();
|
||
|
||
$group = ''; //группы, которым отправляем сообщения
|
||
if(isset($_POST['grupps'])){
|
||
foreach($_POST['grupps'] as $k => $v){
|
||
if ($_POST['podgr'] == '*') $sql = 'SELECT u.id,u.email FROM '.$ST['dbpf'].'_students as s,'.$ST['dbpf'].'_users as u WHERE s.id_grupp='.$v.' AND s.id_user=u.id';
|
||
else $sql = 'SELECT u.id,u.email FROM '.$ST['dbpf'].'_students as s,'.$ST['dbpf'].'_users as u WHERE s.num_grupp = "'.$_POST['podgr'].'" AND s.id_grupp='.$v.' AND s.id_user=u.id';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
$group .= $v.',';
|
||
//echo $sql.'<pre>'.print_r($rez,).'</pre>';
|
||
if($rez){
|
||
foreach($rez as $key => $val)if($key){
|
||
$to_users[]=$val['id'];
|
||
}
|
||
}
|
||
}
|
||
}
|
||
$err=0; $msg=0;
|
||
if(count($to_users)){
|
||
include_once 'inc/pm_route.php';
|
||
foreach($to_users as $k => $to_user){
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES (0,'.mktime().','.$_SESSION['user']['id'].','.$to_user.',"'.$message.'",2,1,"'.$uploadfile.'")';
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$_GET['page']='show';
|
||
|
||
$params['tg']['otkogo_user_id']=$_SESSION['user']['id'];
|
||
$params['tg']['otkogo_user_fio']=$_SESSION['user']['fio'];
|
||
$params['tg']['komu_user_id']=$to_user;
|
||
$params['tg']['message']=$message;
|
||
$params['tg']['file']=$uploadfile;
|
||
PM_SEND_teleg($params);
|
||
|
||
$msg++;
|
||
$rez1=$DB->QUR_SEL('SELECT email FROM '.$ST['dbpf'].'_users WHERE id='.$to_user.' LIMIT 1');
|
||
if($rez1){
|
||
if($uploadfile!=''){
|
||
$file = '<br>Пользователь прикрепил файл: <a href="http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'">http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'</a>';
|
||
}else $file='';
|
||
send_email('Новое сообщение на сайте '.$_SERVER['HTTP_HOST'],'Пользователь: '.$_SESSION['user']['fio'].' оставил вам сообщение:<br>'.$message.$file.'<br>Чтобы ответить на сообщение вам необходимо авторизоваться на сайте '.$_SERVER['HTTP_HOST'].'<br>Чтобы отказаться от получение рассылки, зайдите в свой профиль и измените параметры уведомления.',$rez1[1]['email']);
|
||
}
|
||
}else{
|
||
$_GET['page']='show';
|
||
$err++;
|
||
}
|
||
}
|
||
}
|
||
$form['msg'] = 'Рассылка прошла. Информация о рассылке: отправлено '.$msg.' из '.($msg+$err).', ошибок '.$err.'';
|
||
|
||
save_logs('Пользователь сделал рассылку группам: '.$group);
|
||
}
|
||
|
||
if(isset($_POST['pm_write_listletter'])){//ОТПРАВКА СООБЩЕНИЯ ПО ПОФАМИЛЬНОМУ СПИСКУ
|
||
$_POST['message']=strip_tags($_POST['message'],'<h1><h2><h3><b><br><i><u><ul><li><ol><blockquote>');
|
||
$message = mysql_escape_string('[СПЕЦ. РАССЫЛКА] '.$_POST['message']);
|
||
//echo '<pre>'.print_r($_FILES,1).'</pre>';
|
||
$uploadfile='';
|
||
if(isset($_FILES['sfile'])){
|
||
$dir_dest = 'upload/pm/'.$_SESSION['user']['id'].'/';
|
||
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
||
$fil = $_FILES['sfile']['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['sfile']['tmp_name'], $uploadfile)) {
|
||
$uploadfile='';
|
||
}
|
||
}
|
||
|
||
//список с фамилиями
|
||
$listFio = $_POST['listfio'];
|
||
$list = explode("\n", $listFio);
|
||
$sql_dop = ''; $i = 0;
|
||
while ($i < count($list)){
|
||
$sql_dop .= 'fio LIKE "%'.trim($list[$i]).'%" OR ';
|
||
$i++;
|
||
}
|
||
//print_r($list);
|
||
//echo $sql_dop;
|
||
|
||
|
||
$err=0; $msg=0;
|
||
|
||
$sql_list = 'SELECT * FROM '.$ST['dbpf'].'_users WHERE NOT(status = "-1") AND ('.$sql_dop.' fio = "___") LIMIT 150';
|
||
//echo $sql_list;
|
||
|
||
$rez_list = $DB->QUR_SEL($sql_list);
|
||
//if(count($to_users)){
|
||
include_once 'inc/pm_route.php';
|
||
foreach($rez_list as $k => $to_user){
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES (0,'.mktime().','.$_SESSION['user']['id'].','.$to_user["id"].',"'.$message.'",2,1,"'.$uploadfile.'")';
|
||
//echo $sql;
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$_GET['page']='show';
|
||
|
||
$params['tg']['otkogo_user_id']=$_SESSION['user']['id'];
|
||
$params['tg']['otkogo_user_fio']=$_SESSION['user']['fio'];
|
||
$params['tg']['komu_user_id']=$to_user["id"];
|
||
$params['tg']['message']=$message;
|
||
$params['tg']['file']=$uploadfile;
|
||
PM_SEND_teleg($params);
|
||
|
||
$msg++;
|
||
$rez1=$DB->QUR_SEL('SELECT email FROM '.$ST['dbpf'].'_users WHERE id='.$to_user["id_us"].' LIMIT 1');
|
||
if($rez1){
|
||
if($uploadfile!=''){
|
||
$file = '<br>Пользователь прикрепил файл: <a href="http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'">http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'</a>';
|
||
}else $file='';
|
||
send_email('Новое сообщение на сайте '.$_SERVER['HTTP_HOST'],'Пользователь '.$_SESSION['user']['fio'].' оставил вам сообщение:<br>'.$message.$file.'<br>Чтобы ответить на сообщение вам необходимо авторизоваться на сайте '.$_SERVER['HTTP_HOST'].'<br>Чтобы отказаться от получение рассылки, зайдите в свой профиль и измените параметры уведомления.',$rez1[1]['email']);
|
||
}
|
||
}else{
|
||
$_GET['page']='show';
|
||
$err++;
|
||
}
|
||
}
|
||
//}
|
||
$form['msg'] = 'Рассылка прошла. Информация о рассылке: отправлено '.$msg.' из '.($msg+$err).', ошибок '.$err.'';
|
||
|
||
save_logs('Пользователь сделал рассылку по фамилиям');
|
||
}
|
||
|
||
if(isset($_POST['pm_write_prepods'])){//ОТПРАВКА СООБЩЕНИЯ ПРЕПОДАВАТЕЛЯМ
|
||
$_POST['message']=strip_tags($_POST['message'],'<h1><h2><h3><b><br><i><u><ul><li><ol><blockquote>');
|
||
$message = mysql_escape_string('[ПРЕПОДАВАТЕЛЯМ] '.$_POST['message']);
|
||
//echo '<pre>'.print_r($_FILES,1).'</pre>';
|
||
$uploadfile='';
|
||
if(isset($_FILES['sfile'])){
|
||
$dir_dest = 'upload/pm/'.$_SESSION['user']['id'].'/';
|
||
if(!file_exists($dir_dest)) mkdir($dir_dest);
|
||
$fil = $_FILES['sfile']['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['sfile']['tmp_name'], $uploadfile)) {
|
||
$uploadfile='';
|
||
}
|
||
}
|
||
|
||
$to_users = array();
|
||
|
||
|
||
$err=0; $msg=0;
|
||
|
||
$sql_prepods = 'SELECT us.*, us.id as id_us, teach.* FROM '.$ST['dbpf'].'_teachers as teach, '.$ST['dbpf'].'_users as us WHERE NOT(us.status = "-1") AND NOT(teach.status = "-1") AND teach.id_user = us.id AND NOT (teach.dolgnost = "студент") GROUP BY us.fio';
|
||
|
||
$rez_prepods = $DB->QUR_SEL($sql_prepods);
|
||
//if(count($to_users)){
|
||
include_once 'inc/pm_route.php';
|
||
foreach($rez_prepods as $k => $to_user){
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES (0,'.mktime().','.$_SESSION['user']['id'].','.$to_user["id_us"].',"'.$message.'",2,1,"'.$uploadfile.'")';
|
||
$rez = $DB->QUR($sql);
|
||
if(!$rez['err']){
|
||
$_GET['page']='show';
|
||
|
||
$params['tg']['otkogo_user_id']=$_SESSION['user']['id'];
|
||
$params['tg']['otkogo_user_fio']=$_SESSION['user']['fio'];
|
||
$params['tg']['komu_user_id']=$to_user["id_us"];
|
||
$params['tg']['message']=$message;
|
||
$params['tg']['file']=$uploadfile;
|
||
PM_SEND_teleg($params);
|
||
|
||
$msg++;
|
||
$rez1=$DB->QUR_SEL('SELECT email FROM '.$ST['dbpf'].'_users WHERE id='.$to_user["id_us"].' LIMIT 1');
|
||
if($rez1){
|
||
if($uploadfile!=''){
|
||
$file = '<br>Пользователь прикрепил файл: <a href="http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'">http://'.$_SERVER['HTTP_HOST'].'/'.$uploadfile.'</a>';
|
||
}else $file='';
|
||
send_email('Новое сообщение на сайте '.$_SERVER['HTTP_HOST'],'Пользователь '.$_SESSION['user']['fio'].' оставил вам сообщение:<br>'.$message.$file.'<br>Чтобы ответить на сообщение вам необходимо авторизоваться на сайте '.$_SERVER['HTTP_HOST'].'<br>Чтобы отказаться от получение рассылки, зайдите в свой профиль и измените параметры уведомления.',$rez1[1]['email']);
|
||
}
|
||
}else{
|
||
$_GET['page']='show';
|
||
$err++;
|
||
}
|
||
}
|
||
//}
|
||
$form['msg'] = 'Рассылка прошла. Информация о рассылке: отправлено '.$msg.' из '.($msg+$err).', ошибок '.$err.'';
|
||
|
||
save_logs('Пользователь сделал рассылку преподавателям');
|
||
}
|
||
|
||
if($_GET['page']=='sendall'){
|
||
$from_user = 2;
|
||
$to_user = 1;
|
||
$message = '<p><b>Уважаемые пользователи, ЭИОС МГТУ!</b></p>
|
||
<p>Мы создали Telegram бота ЭИОС <a href="https://t.me/MKGTU_bot" title="Telegram bot MKGTU_bot" target="_blank">https://t.me/MKGTU_bot</a></p>
|
||
<p>Бот @MKGTU_bot, поможет узнать:<br>— расписание занятий;<br>— последние сообщения из системы ЭИОС МГТУ;<br>— получить новый пароль для системы ЭИОС МГТУ.</p>
|
||
<p>Для получения доступа к боту и привязки студента к ЭИОС в разделе «<a href="https://eios.mkgtu.ru/user/profile/" title="Профиль студента" target="">Профиль студента</a>» есть инструкция по подключению.</p>
|
||
<p>Для авторизации в телеграмм боте <a href="https://t.me/MKGTU_bot" target="_blank">@MKGTU_bot</a>, необходимо:<ul><li>Найти бота в телеграмм по имени @MKGTU_bot или перейти по ссылке <a href="https://t.me/MKGTU_bot" target="_blank">@MKGTU_bot</a></li><li>В самом боте нажать кнопку <b>Старт</b> или отправить команду <b>/start</b></li><li>Отправить боту команду <b>/auth <font color="#ef001b">КОД-ПОЛУЧИТЬ-В-ПРОФИЛЕ</font></b></li><li>Далее следовать инструкциям бота, можно отправить команду <b>/menu</b></li></ul></p>';
|
||
$sql = 'INSERT INTO '.$ST['dbpf'].'_pm VALUES (0,'.mktime().','.$from_user.','.$to_user.',"'.$DB->rescape($message).'",2,1,"")';
|
||
$rez = $DB->QUR($sql);
|
||
echo $sql.'<pre>'.print_r($rez,1).'</pre>';exit();
|
||
if(!$rez['err']){
|
||
|
||
}
|
||
}
|
||
if($_GET['page']=='del'){//УДАЛИТЬ СООБЩЕНИЕ
|
||
$_GET['page']='show';
|
||
$ST['page']['name'] = 'Удаление сообщения';
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_pm WHERE (to_user='.$_SESSION['user']['id'].' OR from_user='.$_SESSION['user']['id'].') AND id='.(int)$_GET['id'].' LIMIT 1';
|
||
$rez=$DB->QUR_SEL($sql);// echo $sql.mysql_error();
|
||
if($rez){
|
||
if($rez[1]['from_user']==$_SESSION['user']['id']) { $wh=' from_status=0'; } //мы отсылали
|
||
if($rez[1]['to_user']==$_SESSION['user']['id']) { $wh=' to_status=0'; } //нам прислали
|
||
$rez1=$DB->QUR('UPDATE '.$ST['dbpf'].'_pm SET '.$wh.' WHERE id='.(int)$_GET['id'].' LIMIT 1');
|
||
if(!$rez1['err']){
|
||
$_GET['page']='show';
|
||
$form['msg'] = 'Сообщение удалено!';
|
||
}else{
|
||
$_GET['page']='show';
|
||
$form['err'] = 'Сообщение не удалено!';
|
||
}
|
||
}
|
||
//TODO надо сделать удаление из сообщения файлов??? но само сообщение видят оба пользователя... если один удалит то у второго в отправленных тоже удалится...
|
||
}
|
||
if($_GET['page']=='show'){//отображение всех сообщений
|
||
$ST['page']['name'] = 'Все сообщения';
|
||
$page1['url']='/pm/'; $regim='show';
|
||
$_SESSION['pm']['oftenusers']=array();
|
||
$_SESSION['pm']['oftengrupps']=array();
|
||
//$sql='SELECT * FROM '.$ST['dbpf'].'_pm WHERE (to_user='.$_SESSION['user']['id'].' OR from_user='.$_SESSION['user']['id'].') AND (from_status!=0 AND to_status!=0) ORDER BY data_c DESC';
|
||
//$sql='SELECT * FROM '.$ST['dbpf'].'_pm WHERE to_user='.$_SESSION['user']['id'].' AND to_status!=0 ORDER BY data_c DESC LIMIT 50';
|
||
$data_ot = mktime(0,0,0,date('m'),date('d')-90,date('Y'));
|
||
|
||
//если ищем сообщение от определенного человека
|
||
if (isset($_POST['fio_search'])){
|
||
$data_ot = mktime(0,0,0,date('m'),date('d')-150,date('Y'));
|
||
}
|
||
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_pm WHERE from_user != "'.$_SESSION['user']['id'].'" AND to_user='.$_SESSION['user']['id'].' AND to_status!=0 AND (data_c>'.$data_ot.' OR to_status = 1) ORDER BY to_status, data_c DESC ';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
//echo '<pre>'.print_r($rez,1).'</pre>';
|
||
if($rez){
|
||
$i=0; foreach($rez as $key => $val)if($key){
|
||
$val['data'] = get_data($val['data_c']);
|
||
$val['from'] = get_user($val['from_user']);
|
||
if ($i < 15) $_SESSION['pm']['oftenusers'][$val['from']['id']] = $val['from']['fio'];
|
||
$val['gruppa'] = get_student($val['from_user']); //print group of student
|
||
if(count($val['gruppa'])) $_SESSION['pm']['oftengrupps'][$val['gruppa']['id']] = $val['gruppa'];
|
||
if($val['from_user']==1||$val['from_user']==2){
|
||
$val['message1'] = out_data_fu($val['message']);
|
||
}else {
|
||
$val['message'] = strip_tags($val['message'], '<h1><h2><h3><b><br><i><u><ul><li><ol><blockquote>');
|
||
$val['message1'] = out_data_fu($val['message']);
|
||
$val['message'] = strip_tags(out_data_fu($val['message']));
|
||
}
|
||
if($val['file']!=''){
|
||
if(file_exists(stripslashes($val['file']))) $file = '/'.stripslashes($val['file']);
|
||
else $file = 'http://eios.mkgtu.ru/'.stripslashes($val['file']);
|
||
$val['file']='<br> Файл: <a href="'.$file.'" target="_blank">Просмотреть</a>';
|
||
}
|
||
if($val['from_user']==$_SESSION['user']['id']) $val['tm']='out'; else $val['tm']='in';
|
||
|
||
//если ищем сообщение от определенного человека
|
||
if (isset($_POST['fio_search'])){
|
||
if (stripos($val['from']['fio'], $_POST['fio_search']) !== false) $itshow[$i]=$val;
|
||
} else $itshow[$i]=$val;
|
||
$i++;
|
||
}
|
||
}
|
||
//echo '<pre>'.print_r($itshow,1).'</pre>';
|
||
$pmusers=array();
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_pm WHERE from_user='.$_SESSION['user']['id'].' AND from_status!=0 ORDER BY data_c DESC LIMIT 250';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$i=0; foreach($rez as $key => $val)if($key){
|
||
$val['data'] = get_data($val['data_c']);
|
||
$val['from'] = get_user($val['to_user']);
|
||
if ($i < 15) $_SESSION['pm']['oftenusers'][$val['from']['id']] = $val['from']['fio'];
|
||
$val['gruppa'] = get_student($val['to_user']); //print group of student
|
||
$pmusers[$val['from']['id']]['fio']=out_data_fu($val['from']['fio']);
|
||
$pmusers[$val['from']['id']]['foto']=out_data_fu($val['from']['foto']);
|
||
$pmusers[$val['from']['id']]['id']=out_data_fu($val['from']['id']);
|
||
if($val['from_user']==1||$val['from_user']==2){
|
||
$val['message1'] = out_data_fu($val['message']);
|
||
}else {
|
||
$val['message'] = strip_tags($val['message'], '<h1><h2><h3><b><br><i><u><ul><li><ol><blockquote>');
|
||
$val['message1'] = out_data_fu($val['message']);
|
||
$val['message'] = strip_tags(out_data_fu($val['message']));
|
||
}
|
||
if($val['file']!=''){
|
||
$val['file']='<br> Файл: <a href="/'.stripslashes($val['file']).'" target="_blank">Просмотреть</a>';
|
||
}
|
||
if($val['from_user']==$_SESSION['user']['id']) $val['tm']='out'; else $val['tm']='in';
|
||
$itshow1[$i]=$val;
|
||
$i++;
|
||
}
|
||
}
|
||
|
||
$smarty->assign('oftengrupps',$_SESSION['pm']['oftengrupps']);
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('itshow',$itshow);
|
||
$smarty->assign('itshow1',$itshow1);
|
||
$smarty->assign('pmusers',$pmusers);
|
||
$smarty->assign('pagination',$pagi);
|
||
$smarty->assign('form',$form);
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
if($_GET['page']=='write'){//написание сообщения
|
||
$page1['url']='/pm/'; $regim='write';
|
||
$form['title']=$ST['page']['name'] = 'Создание нового сообщения';
|
||
$form['p']['users']=array();
|
||
if (!isset($_SESSION['pm']['cache_users'])){
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_users WHERE status >= 0 GROUP BY fio ORDER BY fio ';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$i=0; foreach($rez as $key => $val)if($key){
|
||
$form['p']['users'][$i]['id']=out_data_fu($val['id']);
|
||
$form['p']['users'][$i]['fio']=out_data_fu($val['fio']);
|
||
$i++;
|
||
}
|
||
}
|
||
$_SESSION['pm']['cache_users'] = $form['p']['users'];
|
||
}else{
|
||
$form['p']['users']=$_SESSION['pm']['cache_users'];
|
||
}
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
//$smarty->assign('oftenusers',$_SESSION['pm']['oftenusers']);
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
if($_GET['page']=='writegrupp'&&isset($_SESSION['user']['teacher']['id'])){//написание сообщения группе
|
||
$page1['url']='/pm/'; $regim='writegrupp';
|
||
$form['title']=$ST['page']['name'] = 'Создание рассылки группам';
|
||
$form['p']['users']=array();
|
||
$grupps = pm_get_grupps($_SESSION['user']['teacher']['id']);
|
||
$smarty->assign('grupps',$grupps);
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
if($_GET['page']=='writeprepods'&&isset($_SESSION['user']['teacher']['id'])){//написание сообщения преподавателям
|
||
$page1['url']='/pm/'; $regim='writeprepods';
|
||
$form['title']=$ST['page']['name'] = 'Создание рассылки преподавателям';
|
||
$form['p']['users']=array();
|
||
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
if($_GET['page']=='listletter'&&isset($_SESSION['user']['teacher']['id'])){//ПОФАМИЛЬНАЯ РАССЫЛКА
|
||
$page1['url']='/pm/'; $regim='listletter';
|
||
$form['title']=$ST['page']['name'] = 'Создание пофамильной рассылки';
|
||
$form['p']['users']=array();
|
||
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
if($_GET['page']=='start'){//выбираем человека, которому будет отправлено сообщение
|
||
$page1['url']='/pm/'; $regim='start';
|
||
$form['title']=$ST['page']['name'] = 'Отправка сообщения пользователю';
|
||
$form['p']['users']=array();
|
||
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
$smarty->assign('search_fio',$search_fio);
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
if ($_GET['page']=='history'){ //история переписки людей
|
||
$page1['url']='/pm/'; $regim='history';
|
||
$form['title']=$ST['page']['name'] = 'Отправка сообщения пользователю';
|
||
$form['p']['users']=array();
|
||
|
||
//смотрим историю сообщений с конкретным пользователем
|
||
$id_user=(int)$_GET['id'];
|
||
$id_me = $_SESSION['user']['id'];
|
||
|
||
$message = array();
|
||
$sql = 'SELECT * FROM '.$ST['dbpf'].'_pm WHERE (from_user = "'.$id_user.'" AND to_user = "'.$id_me.'") OR (to_user = "'.$id_user.'" AND from_user = "'.$id_me.'") ORDER BY data_c ';
|
||
$rez = $DB->QUR_SEL($sql);
|
||
if ($rez){
|
||
foreach ($rez as $key => $val) if ($key){
|
||
$val['data_c'] = date("d.m.y H:i",$val['data_c']);
|
||
$message[] = $val;
|
||
}
|
||
}
|
||
|
||
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
$smarty->assign('message',$message);
|
||
$smarty->assign('id_user',$id_user);
|
||
$smarty->assign('abonent',get_user($id_user));
|
||
$smarty->assign('me',get_user($id_me));
|
||
//$smarty->assign('search_fio',$search_fio);
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
|
||
if($_GET['page']=='writeuser'){//написание сообщения пользователю
|
||
$id_user=(int)$_GET['id'];
|
||
$page1['url']='/pm/'; $regim='write';
|
||
$form['title']=$ST['page']['name'] = 'Создание нового сообщения пользователю';
|
||
$form['p']['users']=array();
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_users WHERE NOT (status = "-1") ORDER BY fio';
|
||
|
||
if ($id_user > 0) $sql='SELECT * FROM '.$ST['dbpf'].'_users WHERE id = "'.$id_user.'" ORDER BY fio';
|
||
$rez=$DB->QUR_SEL($sql);
|
||
if($rez){
|
||
$i=0; foreach($rez as $key => $val)if($key){
|
||
$form['p']['users'][$i]['id']=out_data_fu($val['id']);
|
||
$form['p']['users'][$i]['fio']=out_data_fu($val['fio']);
|
||
if ($val['id']==$id_user) $form['p']['users'][$i]['sel']=1;
|
||
$i++;
|
||
}
|
||
}
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
|
||
if($_GET['page']=='answer'){//ОТВЕТИТЬ НА СООБЩЕНИЕ
|
||
$page1['url']='/pm/'; $regim='answer';
|
||
$form['title']=$ST['page']['name'] = 'Ответить на сообщение';
|
||
|
||
$sql='SELECT * FROM '.$ST['dbpf'].'_pm WHERE to_user='.$_SESSION['user']['id'].' AND id='.(int)$_GET['id'].' LIMIT 1';
|
||
$rez=$DB->QUR_SEL($sql);// echo $sql.mysql_error();
|
||
if($rez){
|
||
$DB->QUR('UPDATE '.$ST['dbpf'].'_pm SET to_status=2 WHERE id='.(int)$_GET['id'].'');
|
||
$form['p']['data'] = get_data($rez[1]['data_c']);
|
||
$form['p']['message']=out_data_fu($rez[1]['message']);
|
||
$form['p']['file']=out_data_fu($rez[1]['file']);
|
||
$form['p']['to_user']=$rez[1]['from_user'];
|
||
$form['p']['user']=get_user($rez[1]['from_user']);
|
||
}
|
||
$smarty->assign('page1',$page1);
|
||
$smarty->assign('regim',$regim);
|
||
$smarty->assign('form',$form);
|
||
$maincontent = $smarty->fetch('tpl_pm.html');
|
||
}
|
||
|
||
}
|
||
function pm_get_grupps($teacher_id,$sel=array()){
|
||
GLOBAL $ST,$DB; $out=array();
|
||
$form['p']=array();
|
||
$sql1='SELECT g.sokr,g.kurs,g.fo,g.id,g.year_start FROM '.$ST['dbpf'].'_grupp as g,'.$ST['dbpf'].'_grupp_teachers as gt WHERE gt.id_teacher='.$teacher_id.' AND gt.id_grupp=g.id ORDER BY g.kurs,g.sokr';
|
||
$rez1=$DB->QUR_SEL($sql1);
|
||
if($rez1){
|
||
foreach($rez1 as $key1 => $val1)if($key1){
|
||
$val1['sokr']=out_data_fu($val1['sokr']);
|
||
$val1['kurs']=out_data_fu($val1['kurs']);
|
||
$val1['fo']=out_data_fu($val1['fo']);
|
||
$sql2='SELECT count(id) as kol FROM '.$ST['dbpf'].'_students WHERE id_grupp='.$val1['id'];
|
||
$rez2=$DB->QUR_SEL($sql2);
|
||
if($rez2) $val1['kol_stud'] = $rez2[1]['kol']; else $val1['kol_stud']=0;
|
||
|
||
if(in_array($val1['id'],$sel)) $val1['sel']=1; else $val1['sel']=0;
|
||
$out[]=$val1;
|
||
}
|
||
}
|
||
return $out;
|
||
}
|
||
?>
|