EIOS/inc/pm.php

581 lines
29 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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;
}
?>