EIOS/inc/pm.php

581 lines
29 KiB
PHP
Raw Normal View History

2023-12-28 15:39:22 +03:00
<?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 бота ЭИОС&nbsp;<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>Для авторизации в телеграмм боте&nbsp;<a href="https://t.me/MKGTU_bot" target="_blank">@MKGTU_bot</a>, необходимо:<ul><li>Найти бота в телеграмм по имени @MKGTU_bot или перейти по ссылке&nbsp;<a href="https://t.me/MKGTU_bot" target="_blank">@MKGTU_bot</a></li><li>В самом боте нажать кнопку&nbsp;<b>Старт</b>&nbsp;или отправить команду&nbsp;<b>/start</b></li><li>Отправить боту команду&nbsp;<b>/auth <font color="#ef001b">КОД-ПОЛУЧИТЬ-В-ПРОФИЛЕ</font></b></li><li>Далее следовать инструкциям бота, можно отправить команду&nbsp;<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;
}
?>