File size: 8.32Kb
<?
if(!defined('SHCMS_ENGINE')) {
die( "Неправильное действие" );
}
switch($do):
//По умолчанию
default:
//Уведомления
echo '<div class="mainname">'.Lang::__('Уведомления').'</div>';
echo '<div class="mainpost">';
//Выводим счетчик постов
$row = $db->get_array($db->query("SELECT COUNT(*) FROM `friends` WHERE `id_friends` = '".$id_user."' AND `approved` = '0'"));
//Выводим счетчик новых регистраций
$row1 = $db->get_array($db->query("SELECT COUNT(*) FROM `users` WHERE `reg_date` > '".(time()-86400)."'"));
$mail = $db->get_array($db->query("SELECT COUNT(*) FROM `messaging` WHERE `id_post` = '".$id_user."' AND `action` = '0'"));
$ini = new iniFile(H.'/engine/menu/inifile/notification.ini');
$fileini = $ini->read();
foreach($fileini as $key => $value) {
if($key == 'Уведомления в друзья') {
$count = '<span class="time">'.$row[0].'</span>';
}elseif($key == 'Новые сообщения'){
$count = '<span class="time">'.$mail[0].'</span>';
}
if($key == 'Новые регистрации') {
if($users['group'] == 15 and $glob_core['notify_reg'] == 1) {
echo '<div class="posts_gl">';
echo '<table cellspacing="0" callpadding="0" width="100%">';
echo '<tr><td class="icons"><img src="/engine/template/icons/'. $value['icon'] .'"></td>';
echo '<td class="name" colspan="10"><b><a href="'.$value['path'].'">'.$key.'</a><span class="time">'.$row1[0].'</span></td></tr>';
echo '<tr><td class="content" colspan="10">'. $value['desc'] .'</td></tr>';
echo '</table></div>';
}
}else {
echo '<div class="posts_gl">';
echo '<table cellspacing="0" callpadding="0" width="100%">';
echo '<tr><td class="icons"><img src="/engine/template/icons/'. $value['icon'] .'"></td>';
echo '<td class="name" colspan="10"><b><a href="'.$value['path'].'">'.$key.'</a>'.$count.'</td></tr>';
echo '<tr><td class="content" colspan="10">'. $value['desc'] .'</td></tr>';
echo '</table></div>';
}
}
//Переадресация
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'/modules/menu.php'));
break;
//Уведомления о новых регистрациях пользователей
case 'new_reg':
if($users['group'] == 15 and $glob_core['notify_reg'] == 1) {
echo '<div class="mainname">'.Lang::__('Новые пользователи').'</div>';
echo '<div class="mainpost">';
$usern = $db->query("SELECT * FROM `users` WHERE `reg_date` > '".(time()-86400)."' ORDER BY `reg_date` DESC");
while($userr = $db->get_array($usern)) {
echo '<div class="posts_gl">';
echo '<table cellspacing="0" callpadding="0" width="100%"><tr>';
echo '<td class="icons"><img src="/engine/template/icons/user.png"></td>';
echo '<td class="name" colspan="10"><b><a href="/modules/profile.php?id='.$userr['id'].'">'.$userr['nick'].'</a></b>
<span class="time">'.date::make_date($userr['reg_date']).'</span></td>';
echo '</tr><tr><td class="content" colspan="10">'.Lang::__('Последний визит').' : '.date::make_date($userr['lastdate']).'</td>';
echo '</tr></table></div>';
}
echo '</div>';
echo engine::home(array(Lang::__('Назад'),'/modules/profile.php?act=notificationlog'));
}else {
header('Location: /modules/profile.php?act=notificationlog');
}
break;
//Уведомления в друзьях
case 'friends':
echo '<div class="mainname">'.Lang::__('Уведомления в друзьях').'</div>';
echo '<div class="mainpost">';
//Навигация перехода
echo '<div class="subpost">';
echo '<a href="/modules/friends.php">'.Lang::__('Друзья').'</a>
<a href="/modules/profile.php?act=notificationlog&do=friends"><b>'.Lang::__('Друзья в ожидании утверждения').'</b></a></div>';
//Проверка если существует $_GET['accept']
if(isset($_GET['accept']) and is_numeric($_GET['accept'])) {
//Преобразуем из $_GET в обычную $
$accept = (int) $_GET['accept'];
//Выводим данные по выбранному индификатору
$new_insert = $db->get_array($db->query("SELECT * FROM `friends` WHERE `id` = '".$accept."'"));
//Добавляем друга
$db->query("INSERT INTO `friends` (`id_friends`,`id_user`,`approved`,`time`) VALUES ('".$new_insert['id_user']."','".$new_insert['id_friends']."','1','".time ()."')");
//Обновления о том что пользователь согласился дружить с вами
$db->query("UPDATE `friends` SET `approved` = '1' WHERE `id` = '".$accept."'");
//Переадресация на предыдущую страницу
header("Location: /modules/profile.php?act=notificationlog&do=friends");
}
//Отклонения на добавления в друзья
if(isset($_GET['cancel']) and is_numeric($_GET['cancel'])) {
//Преобразуем из $_GET в обычную $
$cancel = (int) $_GET['cancel'];
//Если вы не согласились добавить в друзья то данные о дружбе удаляются
$db->query("DELETE FROM `friends` WHERE `id` = '".$cancel."'");
//Переадресация на предыдущую страницу
header("Location: /modules/profile.php?act=notificationlog&do=friends");
}
//Выведим всех пользователей ожидающих дружбу
$new = $db->query("SELECT * FROM `friends` WHERE `id_friends` = '".$id_user."' ORDER BY `approved`");
//Проверка существуют ли новые заявки
if($db->num_rows($new) > 0) {
while($friend = $db->get_array($new)) {
//Ник пользователя
$nick = $user->users($friend['id_user'],array('nick'),true);
//Параметры
echo '<div class="subpost">';
//Проверка если у вас есть не необработанные уведомления то выводим их
if($friend['id_friends'] == $id_user AND $friend['approved'] == 0) {
//Информация
echo '<b><a href="?act=view&id='.$friend['id_user'].'">'.$nick.'</b></a> - Предлогает вам дружбу <span class="time">'.date::make_date($friend['time']).'</span><br/>';
//Соглашение на дружбу
echo '<center><a href="?act=notificationlog&do=friends&accept='.$friend['id'].'" class="Button_secondary"><img src="/engine/template/icons/accept.png"> '.Lang::__('Принять').'</a> ';
//Отклонение
echo '<a href="?act=notificationlog&do=friends&cancel='.$friend['id'].'" class="Button_secondary"><img src="/engine/template/icons/cancel.png"> '.Lang::__('Отклонить').'</a></center>';
}else{
//Добавленным выведит пост ниже
echo '<b><a href="?act=view&id='.$friend['id_user'].'">'.$nick.'</b></a> - Добавлен в друзья <span class="time">'.date::make_date($friend['time']).'</span><br/>';
}
echo '</div>';
}
}else {
//Если нет заявок
echo engine::error(Lang::__('Новых заявок на дружбу у вас отсутствуют'));
echo engine::home(array(Lang::__('Назад'),'/modules/profile.php?act=notificationlog'));
exit;
}
echo '</div>';
//Переадресация
echo engine::home(array(Lang::__('Назад'),'/modules/profile.php?act=notificationlog'));
break;
//Закрываем ?do=name
endswitch;