Вход Регистрация
Файл: Arhmobi_esdcms/pages/profile.view.php
Строк: 825
<?php

/**
 * Анкета пользователя.
 * В данном файле используются регионы (region).
 * Для корректной работы с ними рекомендую использовать PhpStorm
 */
include_once '../sys/inc/start.php';
if (
AJAX)
    
$doc = new document_json();
else
    
$doc = new document();
$doc->title __('Анкета');
$ank = (empty($_GET ['id'])) ? $user : new user((int) $_GET ['id']);
if (!
$ank->group)
    
$doc->access_denied(__('Нет данных'));
$doc->title = ($user->id && $ank->id == $user->id) ? __('Моя анкета') : __('Анкета "%s"'$ank->nick);
$doc->description __('Анкета "%s"'$ank->nick);
$doc->keywords [] = $ank->login;
//region Предложение дружбы
if ($user->group && $ank->id && $user->id != $ank->id && isset($_GET ['friend'])) {
// обработка действий с "другом"
    
$q $db->prepare("SELECT * FROM `friends` WHERE `id_user` = ? AND `id_friend` = ? LIMIT 1");
    
$q->execute(Array($user->id$ank->id));
    if (
$friend $q->fetch()) {
        if (
$friend ['confirm']) {
// если Вы уже являетель другом
            
if (isset($_POST ['delete'])) {
// удаляем пользователя из друзей
                
$res $db->prepare("DELETE FROM `friends` WHERE `id_user` = ? AND `id_friend` = ? OR `id_user` = ? AND `id_friend` = ?");
                
$res->execute(Array($user->id$ank->id$ank->id$user->id));
                
$res $db->prepare("DELETE FROM `chit` WHERE `id_user` = ? AND `id_friend` = ? OR `id_user` = ? AND `id_friend` = ?");
                
$res->execute(Array($user->id$ank->id$ank->id$user->id));
                
$doc->msg(__('Пользователь успешно удален из друзей'));
            }
        } else {
// если не являетесь другом
            
if (isset($_POST ['no'])) {
// не принимаем предложение дружбы
                
$res $db->prepare("DELETE FROM `friends` WHERE `id_user` = ? AND `id_friend` = ? OR `id_user` = ? AND `id_friend` = ?");
                
$res->execute(Array($user->id$ank->id$ank->id$user->id));
                
$res $db->prepare("UPDATE `users` SET `friend_new_count` = `friend_new_count` - '1' WHERE `id` = ? LIMIT 1");
                
$res->execute(Array($user->id));
                
$doc->msg(__('Предложение дружбы отклонено'));
            } elseif (isset(
$_POST ['ok'])) {
// принимаем предложение дружбы
                
$res $db->prepare("UPDATE `friends` SET `confirm` = '1' WHERE `id_user` = ? AND `id_friend` = ? LIMIT 1");
                
$res->execute(Array($user->id$ank->id));
                
$res $db->prepare("UPDATE `users` SET `friend_new_count` = `friend_new_count` - '1' WHERE `id` = ? LIMIT 1");
                
$res->execute(Array($user->id));
// на всякий случай пытаемся добавить поле (хотя оно уже должно быть), если оно уже есть, то дублироваться не будет
                
$res $db->prepare("INSERT INTO `friends` (`confirm`, `id_user`, `id_friend`) VALUES ('1', ?, ?)");
                
$res->execute(Array($ank->id$user->id));
                
$res $db->prepare("INSERT INTO `chit` (`confirm`, `id_user`, `id_friend`) VALUES ('1', ?, ?)");
                
$res->execute(Array($ank->id$user->id));
                
$doc->msg(__('Предложение дружбы принято'));
            }
        }
    } else {
        if (isset(
$_GET ['friend']) && isset($_POST ['add'])) {
// предлагаем дружбу
// отметка о запросе дружбы
            
$res $db->prepare("INSERT INTO `friends` (`confirm`, `id_user`, `id_friend`) VALUES ('0', ?, ?)");
            
$res->execute(Array($ank->id$user->id));
            
$res $db->prepare("UPDATE `users` SET `friend_new_count` = `friend_new_count` + '1' WHERE `id` = ? LIMIT 1");
            
$res->execute(Array($ank->id));
            
$doc->msg(__('Предложение дружбы успешно отправлено'));
        }
    }
}
if (
$user->group && $ank->id && $user->id != $ank->id) {
    
$q $db->prepare("SELECT * FROM `friends` WHERE `id_user` = ? AND `id_friend` = ? LIMIT 1");
    
$q->execute(Array($user->id$ank->id));
    if (
$friend $q->fetch()) {
        if (
$friend ['confirm']) {
// пользователь находится в друзьях
            
if (isset($_GET ['friend']) && $_GET ['friend'] == 'delete') {
                
$form = new form("?id={$ank->id}&amp;friend&amp;" passgen());
                
$form->bbcode(__('Действительно хотите удалить пользователя "%s" из друзей?'$ank->nick));
                
$form->button(__('Да, удалить'), 'delete');
                
$form->display();
            }
            if (!
$ank->is_friend($user))
                echo 
"<b>" __('Пользователь еще не подтвердил факт Вашей дружбы') . "</b><br />";
        } else {
// пользователь не в друзьях
            
$form = new form("?id={$ank->id}&amp;friend&amp;" passgen());
            
$form->bbcode(__('Пользователь "%s" предлагает Вам дружбу'$ank->nick));
            
$form->button(__('Принимаю'), 'ok'false);
            
$form->button(__('Не принимаю'), 'no'false);
            
$form->display();
        }
    } else {
        if (isset(
$_GET ['friend']) && $_GET ['friend'] == 'add') {
            
$form = new form("?id={$ank->id}&amp;friend&amp;" passgen());
            
$form->bbcode(__('Предложить пользователю "%s" дружбу?'$ank->nick));
            
$form->button(__('Предложить'), 'add'false);
            
$form->display();
        }
    }
}


//chit начало
if ($user->group && $ank->id && $user->id != $ank->id) {
    
$q $db->prepare("SELECT * FROM `chit` WHERE `id_user` = ? AND `id_friend` = ? LIMIT 1");
    
$q->execute(Array($user->id$ank->id));
    if (
$chit $q->fetch()) {
        if (
$chit['confirm']) {
            if (isset(
$_GET ['chit']) && isset($_POST ['delete'])) {

                
$res $db->prepare("DELETE FROM `chit` WHERE `id_user` = ? AND `id_friend` = ? OR `id_user` = ? AND `id_friend` = ?");
                
$res->execute(Array($user->id$ank->id$ank->id$user->id));
                
$doc->msg(__('Пользователь успешно удален'));
            }
        } else {
// если не являетесь другом
            
if (isset($_POST ['no'])) {
                
mysql_query("DELETE FROM `friends` WHERE `id_user` = '$user->id' AND `id_friend` = '$ank->id' OR `id_user` = '$ank->id' AND `id_friend` = '$user->id'");
                
mysql_query("UPDATE `users` SET `friend_new_count` = `friend_new_count` - '1' WHERE `id` = '{$user->id}' LIMIT 1");
                
$doc->msg(__('Предложение дружбы отклонено'));
            } elseif (isset(
$_POST ['ok'])) {
                
mysql_query("UPDATE `chit` SET `confirm` = '1' WHERE `id_user` = '$user->id' AND `id_friend` = '$ank->id' LIMIT 1");
                
$doc->msg(__('вы под'));
            }
        }
    } else {
        if (isset(
$_GET ['chit']) && isset($_POST ['add'])) {

            
$res $db->prepare("INSERT INTO `chit` (`confirm`, `id_user`, `id_friend`) VALUES ('1', ?, ?)");
            
$res->execute(Array($user->id$ank->id));
            
$doc->msg(__('Вы подписались'));
        }
    }
}
///////////////////
if ($user->group && $ank->id && $user->id != $ank->id) {
    
$q $db->prepare("SELECT * FROM `chit` WHERE `id_user` = ? AND `id_friend` = ? LIMIT 1");
    
$q->execute(Array($user->id$ank->id));
    if (
$chit $q->fetch()) {
        if (
$chit ['confirm']) {
            if (isset(
$_GET ['chit']) && $_GET ['chit'] == 'delete') {
                
$form = new form("?id={$ank->id}&amp;chit&amp;" passgen());
                
$form->bbcode(__('Действительно хотите удалить пользователя "%s" из читателей?'$ank->login));
                
$form->button(__('Да, удалить'), 'delete'false);
                
$form->display();
            }
        }
        
$doc->act(__('Удалиться из читателей'), "?id={$ank->id}&amp;chit=delete");
    } else {
        if (isset(
$_GET ['chit']) && $_GET ['chit'] == 'add') {
            
$form = new form("?id={$ank->id}&amp;chit&amp;" passgen());
            
$form->bbcode(__('Вы хотите подписаться "%s" ?'$ank->login));
            
$form->button(__('Да'), 'add'false);
            
$form->display();
        }
        
$doc->act(__('Подписаться на новости'), "?id={$ank->id}&amp;chit=add");
    }
}
//endregion
if (!AJAX) {
    if (
$user->id && $user->id != $ank->id) {
        
$gu $db->query("SELECT COUNT(*) FROM `my_guests` WHERE `id_ank` = '$ank->id' AND `id_user` = '$user->id' LIMIT 1")->fetchColumn();
        if (
$gu == 0) {
            
$res $db->prepare("INSERT INTO `my_guests` (`id_ank`, `id_user`, `time`) VALUES (?, ?, ?)");
            
$res->execute(Array($ank->id$user->idTIME));
        } else
        if (
$gu != 0) {
            
$guest $db->query("SELECT * FROM `my_guests` WHERE `id_ank` = '$ank->id' AND `id_user` = '$user->id' LIMIT 1")->fetch();
            
$res $db->prepare("UPDATE `my_guests` SET `time` = ?, `read` = ?,`count` = `count` + ? WHERE `id` = ? LIMIT 1");
            
$res->execute(Array(TIME11$guest['id']));
        }
    }
}
//region Бан
if ($ank->is_ban) {
    
$ban_listing = new listing();
    
$q $db->prepare("SELECT * FROM `ban` WHERE `id_user` = ? AND `time_start` < ? AND (`time_end` is NULL OR `time_end` > ?) ORDER BY `id` DESC");
    
$q->execute(Array($ank->idTIMETIME));
    if (
$arr $q->fetchAll()) {
        foreach (
$arr AS $c) {
            
$post $ban_listing->post();
            
$adm = new user($c ['id_adm']);
            
$post->title = ($adm->group <= $user->group '<a href="/profile.view.php?id=' $adm->id '">' $adm->nick '</a>: ' '') . text::toValue($c ['code']);
            if (
$c ['time_start'] && TIME $c ['time_start']) {
                
$post->content[] = '[b]' __('Начало действия') . ':[/b]' misc::when($c ['time_start']) . "n";
            }
            if (
$c['time_end'] === NULL) {
                
$post->content[] = '[b]' __('Пожизненная блокировка') . "[/b]n";
            } elseif (
TIME $c['time_end']) {
                
$post->content[] = __('Осталось: %s'misc::when($c['time_end'])) . "n";
            }
            if (
$c['link']) {
                
$post->content[] = __('Ссылка на нарушение: %s'$c['link']) . "n";
            }
            
$post->content[] = __('Комментарий: %s'$c['comment']) . "n";
        }
    }
    
$ban_listing->display();
}
//endregion
$status $db->query("SELECT * FROM `status` WHERE `id_user` = '$ank->id'  AND `pokaz` = '1' LIMIT 1")->fetch();
// Лайк статус
$like $db->query("SELECT * FROM `status_like` WHERE `id_status` = '" intval($status['id']) . "'")->fetchAll();
if (isset(
$_GET['like']) && $user->id) {
    
$qq $db->query("SELECT * FROM `status_like` WHERE `id_user` = '" intval($user->id) . "' AND `id_status` = '" intval($status['id']) . "' LIMIT 1")->fetch();
    if (!
$qq) {
        
$res $db->prepare("INSERT INTO `status_like` (`id_user`, `time`, `id_status`) VALUES (?, ?, ?)");
        
$res->execute(Array(intval($user->id), TIMEintval($status['id'])));
        
$ank->mess("[user]{$user->id}[/user] поставил" . ($user->sex '' 'а') . " лайк к Вашему [url=/status/status_komm.php?id=" $status['id'] . "]Статусу[/url]");
        
$doc->msg(__('Лайк засчитан'));
        
header('Refresh: 1; url=/profile.view.php?id=' $ank->id);
    } else {
        
$doc->err(__('Лайк уже засчитан'));
        
header('Refresh: 1; url=/profile.view.php?id=' $ank->id);
    }
}
// лайк ава
if (isset($_GET['likeava']) && $user->id) {
    
$likeq $db->query("SELECT * FROM `ava_like` WHERE `id_user` = '" intval($user->id) . "' AND `id_ava` = '$ank->id' LIMIT 1")->fetch();
    if (!
$likeq) {
        
$res $db->prepare("INSERT INTO `ava_like` (`id_user`, `time`, `id_ava`) VALUES (?, ?, ?)");
        
$res->execute(Array(intval($user->id), TIME$ank->id));
        
$ank->mess("[user]{$user->id}[/user] поставил" . ($user->sex '' 'а') . " лайк к Вашему [url=/comm.avatar.php?id=" $ank->id "]Аватару[/url]");
        
$doc->msg(__('Лайк засчитан'));
        
header('Refresh: 1; url=/profile.view.php?id=' $ank->id);
    } else {
        
$doc->err(__('Лайк уже засчитан'));
        
header('Refresh: 1; url=/profile.view.php?id=' $ank->id);
    }
}
$rs $db->prepare("SELECT * FROM `countries` WHERE `code` = ?");
$rs->execute(Array($ank->country));
$rs $rs->fetch();
$country = ($user->country == $ank->country) ? $rs['country_n'] : $rs['english_n'];
//region Профиль пользователя
$listing = new listing();
$fon = new user_fon($ank->id);
$d = new design();
$d->assign('fon'$fon->image()); //Путь до фонового изображения
$d->assign('avatar', array($ank->getAvatar($dcms->browser_type == 'full' '220' '120'), __("Аватар")));
if (
$user->id == $ank->id) {
    
$d->assign('add', array('/my.fon.php'__('Сменить обложку'))); // Кнопка добавить фон
    
$d->assign('ava', array('/my.avatar.php'__('Сменить аватар')));
    
$d->assign('editank', array('/profile.edit.php'__('Ред. анкету')));
}
if (
$ank->avatar == 1) {
    
$res $db->query("SELECT COUNT(*) FROM `ava_komm` WHERE `id_ava` = '$ank->id'");
    
$cca $res->fetchColumn();
    
$d->assign('commava', array('/comm.avatar.php?id=' $ank->id ''__('Комм. %s'$cca)));
    
$countlike $db->query("SELECT COUNT(*) FROM `ava_like` WHERE `id_ava` = '$ank->id' ")->fetchColumn();
    
$stt $db->query("SELECT * FROM `ava_like` WHERE `id_user` = '$user->id' AND `id_ava` = '$ank->id' LIMIT 1")->fetch();
    if (
$user->id && $user->id != $ank->id && !$stt) {
        
$d->assign('likeava', array('?id=' $ank->id '&amp;likeava'__('&hearts; лайк %s'$countlike)));
    } elseif (
$user->id) {

        
$d->assign('ktolikeava', array('/like.avatar.php?id=' $ank->id ''__('&hearts; лайк %s'$countlike)));
    }
}
if (
$user->group & ($ank->id != $user->id)) {
    
$d->assign('podar', array('/presents/?user=' $ank->id ''__('Подарить подарок')));
    
$d->assign('sms', array('my.mail.php?id=' $ank->id ''__('Сообщение')));
    
$d->assign('ball', array('transfer.points.php?id=' $ank->id ''__('Передать баллы')));
    if (!
$friend ['confirm']) {
        
$d->assign('frend', array('?id=' $ank->id '&amp;friend=add'__('Добавить в друзья')));
    } else {
        
$d->assign('frend', array('?id=' $ank->id '&amp;friend=delete'__('Удалить из друзей')));
    }
}

if (!
$user->vk_id) {
    
$d->assign('login'$ank->nick);
} else {
    
$d->assign('login'$ank->nick ' ' $ank->patronymic '');
}
if (
$ank->online) {
    
$d->assign('on', array('on'__("Онлайн")));
} else {
    
$d->assign('on', array('off'__('Последний визит: (%s)'misc::when($ank->last_visit))));
}
if (
$ank->ank_d_r && $ank->ank_m_r && $ank->ank_g_r)
    
$d->assign('dr'__('Возраст: %s'misc::get_age($ank->ank_g_r$ank->ank_m_r$ank->ank_d_rtrue))); // Возраст
if ($country) {
    
$d->assign('gorod'__('%s / %s'$country$ank->region_t));
}
$d->display('design.profile.tpl');
$post $listing->post();
if (
$user->id == $ank->id) {
    
$post->action('create''/status/create_status.php');
    
$post->action('edit'"/status/edit.status.php?id=" $status['id']);
    
$post->action('block''/status/');
}
if (
$status) {
    if (
$status['block'] == 0) {
        if (
$user->group && $ank->id != $user->id) {
            if (
$user->group $ank->group) {
                
$post->action('bb.notice''/status/block.status.php?id=' $status['id']);
            }
        }
        
$post->url '/status/status_komm.php?id=' $status ['id'];

        
$post->title '<div class="DCMS_st"></div><div class="DCMS_st2">' text::toOutput($status ['msg']) . '</div>';
        
$res $db->prepare("SELECT COUNT(*) FROM `status_like` WHERE `id_status` = ?");
        
$res->execute(Array(intval($status['id'])));
        
$countlike $res->fetchColumn();
        
$stt $db->query("SELECT * FROM `status_like` WHERE `id_user` = '$user->id' AND `id_status` = '" intval($status['id']) . "' LIMIT 1")->fetch();
        if (
$user->id && $user->id != $ank->id && !$stt) {
            
$post->bottom '<a href="?id=' $ank->id '&amp;like">' __('Класс') . '</a> • <a href="/status/like.php?id=' $status['id'] . '">' __('%s чел'$countlike) . '</a>';
        } elseif (
$user->id && $user->id != $ank->id) {
            
$countlike $countlike 1;
            
$post->bottom "<a href='/status/like.php?id=$status[id]'>" __('Понравилось: Вы и %s чел'$countlike) . "</a>";
        } else {
            
$post->bottom $countlike '<a href="/status/like.php?id=' $status['id'] . '">' __('Понравилось: %s чел'$countlike) . '</a>' __('Пока ни кому не понравилось');
        }
        
$res $db->prepare("SELECT COUNT(*) FROM `status_komm` WHERE `id_status` = ?");
        
$res->execute(Array($status['id']));
        
$kom $res->fetchColumn();
        
$post->bottom.=' - ' __('Коментари' misc::number($kom'й''я''ев') . ': %s'$kom);
    } else {
        
$post->title '<div class="DCMS_st"></div><div class="DCMS_st2"><font color="red">' __('Статус заблокирован!') . '</font> ' __('Причина блокировки') . ': ' text::toOutput($status['prichina']) . '</div>';
    }
} else {
    
$post->title '<div class="DCMS_st"></div><div class="DCMS_st2">' __('Ни одного статуса еще не было дабавлено') . '</div>';
}
$presents '';
$q $db->prepare("SELECT * FROM `present_users` WHERE `id_user` = ? ORDER BY `id` DESC LIMIT 5"); //запилить настройку сколько выводить
$q->execute(Array($ank->id));
while (
$item $q->fetch()) {
    if (
is_file($screen '/sys/images/presents/' $item['id_present'] . '.png')) {
        
$presents .= '<img class="podarki_photo" src="' $screen '" style="float:left; max-width: 80px;"/>';
    }
}
if (
$presents) {
    
$post $listing->post();
    
$post->title $presents ' <a href="/profile.presents.php?id=' $ank->id '" class="podarki_photo"><img   src="/sys/images/icons/present.png"> [все]</a>';
}
if (
$ank->group 1) {
    
$post $listing->post();
    
$post->title '<b>' __('Должность') . ':</b>' __(' %s'$ank->group_name);

    
$post->icon($ank->icon());
    
$q $db->prepare("SELECT `id_adm` FROM `log_of_user_status` WHERE `id_user` = ? ORDER BY `id` DESC LIMIT 1");
    
$q->execute(Array($ank->id));
    if (
$row $q->fetch()) {
        
$adm = new user($row['id_adm']);
        
$post->title .= '<small>(' __('назначил' . ($adm->sex '' 'а')) . ' "' $adm->nick '")</small>';
    }
}
$name = ($ank->surname && $ank->patronymic) ? "$ank->surname $ank->realname $ank->patronymic$ank->realname . ($ank->patronymic " " $ank->patronymic '') . ($ank->surname " " $ank->surname '');
if (
$name) {
    
$nn = ($ank->surname && $ank->patronymic) ? __('ФИО') : __('Имя');
    
$post->content[] = '[b]' __('%s'$nn) . ' :[/b] ' __('%s'$name);
} else {
    
$post->content[] = '[b]' __('ФИО') . ':[/b] ' __('не заполнено');
}
if (
$ank->ank_d_r && $ank->ank_m_r && $ank->ank_g_r) {
    
$post->content[] = '[b]' __('Дата рождения') . ':[/b] ' __('%s %s %s'$ank->ank_d_rmisc::getLocaleMonth($ank->ank_m_r), $ank->ank_g_r);
} elseif (
$ank->ank_d_r && $ank->ank_m_r) {
    
$post->content[] = '[b]' __('День рождения') . ':[/b] ' __('%s %s'$ank->ank_d_rmisc::getLocaleMonth($ank->ank_m_r));
} else {
    
$post->content[] = '[b]' __('Дата рождения') . ':[/b] ' __('не заполнено');
}
if (
$ank->languages) {
    
$post->content[] = '[b]' __('Языки') . ':[/b] ' __('%s'$ank->languages);
} else {
    
$post->content[] = '[b]' __('Языки') . ':[/b] ' __('не заполнено');
}
$q $db->query("SELECT `login` FROM `login_history` WHERE `id_user` = '$ank->id' ORDER BY `time` DESC LIMIT 3");
$res $q->fetchAll();
if (
$res) {
    
$logins = array();
    foreach (
$res AS $v) {
        
$logins[] = $v['login'];
    }
    
$post->content[] = '[b][url="/profile.login.php?id=' $ank->id '"]' __('История логинов') . ':[/url][/b] ' implode(', '$logins);
}
if (
$ank->icq_uin) {
    if (
$ank->is_friend($user) || $ank->vis_icq) {
        
$post->content[] = '[b]ICQ UIN:[/b]' $ank->icq_uin;
    } else {
        
$post->content[] = '[b]ICQ UIN:[/b] Информация скрыта [url="/faq.php?info=hide&amp;return=' URL '"][?][/url]';
    }
} else {
    
$post->content[] = '[b]ICQ UIN:[/b] ' __('не заполнено');
}
if (
$ank->skype) {
    if (
$ank->is_friend($user) || $ank->vis_skype) {
        
$post->content[] = '[b]Skype:[/b] ' $ank->skype;
    } else {
        
$post->content[] = '[b]Skype:[/b] Информация скрыта [url="/faq.php?info=hide&amp;return=' URL '"][?][/url]';
    }
} else {
    
$post->content[] = '[b]Skype:[/b] ' __('не заполнено');
}
if (
$ank->email) {
    if (
$ank->is_friend($user) || $ank->vis_email) {
        
$post->content[] = '[b]E-mail:[/b] ' $ank->email;
    } else {
        
$post->content[] = '[b]E-mail:[/b] Информация скрыта [url="/faq.php?info=hide&amp;return=' URL '"][?][/url]';
    }
} else {
    
$post->content[] = '[b]E-mail:[/b] ' __('не заполнено');
}
if (
$ank->reg_mail) {
    if (
$user->group $ank->group) {
        
$post->content[] = '[b]' __('Регистрационный E-mail') . ':[/b] ' __('%s'$ank->reg_mail);
    }
}
$post->content[] = '[b]' __('Дата регистрации') . ':[/b] ' __('%s'date("d-m-Y"$ank->reg_date));
if (
$ank->description) {
    
$post->content[] = '[b]' __('О себе') . ':[/b] ' __('%s'$ank->description);
} else {
    
$post->content[] = '[b]' __('О себе') . ':[/b] ' __('не заполнено');
}
$post $listing->post();
if (
$ank->donate_rub) {
    
$post->highlight true;
    
$post->icon('donate');
    
$post->title __('Пожертвования %s руб.'$ank->donate_rub);
}
$post->content[] = '[b]' __('Последний визит') . ':[/b] ' __('%s'misc::when($ank->last_visit));
$post->content[] = '[b]' __('Всего переходов') . ':[/b] ' __('%s'$ank->conversions);
$post->content[] = '[b]' __('Проведено времени на сайте') . ':[/b] ' __('%s'misc::vremja_sec($ank->time2));
if (
$user->id == $ank->id)
    
$post->content[] = '[b]' __('Баллов') . ':[/b] ' __(' %s '$ank->balls) . '[url="/obmenb/"][' __('Получить') . '][/url]';
if (
$user->id && $user->id == $ank->id) {
    
$res $db->prepare("SELECT COUNT(*) FROM `my_guests` WHERE `id_ank` = ? AND `read`= ?");
    
$res->execute(Array($user->id1));
    
$new_g $res->fetchColumn();
    
$post $listing->post();
    
$post->icon('guest');
    
$post->title __('Гости');
    
$post->url '/myguest/index.php';
    if (
$new_g != 0)
        
$post->counter '+' $new_g;
}
if (
$ank->is_friend($user) || $ank->vis_friends) {
    
$res $db->prepare("SELECT COUNT(*) FROM `friends` WHERE `id_user` = ? AND `confirm` = '1'");
    
$res->execute(Array($ank->id));
    
$k_friends $res->fetchColumn();
    
$post $listing->post();
    
$post->title __('Друзья');
    
$post->url $ank->id == $user->id "/my.friends.php" "/profile.friends.php?id={$ank->id}";
    
$post->counter $k_friends;
    
$post->icon('user.1');
    
$q $db->prepare("SELECT * FROM `friends` WHERE `id_user` = ? AND `confirm` = '1' ORDER BY `confirm` ASC, `time` DESC LIMIT 5;"); // надо настройку количества вывода
    
$q->execute(Array($ank->id));
    while (
$ank2 $q->fetch()) {
        
$p_user = new user($ank2['id_friend']);
        
$post->post .= '  <a href="/profile.view.php?id=' $p_user->id '">' $p_user->nick() . '</a> ';
    }
} else {
    
$post $listing->post();
    
$post->title __('Друзья');
    
$post->icon('user.1');
    
$post->url '/faq.php?info=hide&amp;return=' URL;
    
$post->content __('Информация скрыта');
}
//region Рейтинг 
$post $listing->post();
$post->title __('Рейтинг'); 
$post->url '/profile.reviews.php?id=' $ank->id;
$post->counter $ank->rating;
//endregion
if ($ank->id) {
// папка фотоальбомов пользователей
    
$photos = new files(FILES '/.photos');
// папка альбомов пользователя
    
$albums_path FILES '/.photos/' $ank->id;
    if (!@
is_dir($albums_path)) {
        if (
$albums_dir $photos->mkdir($ank->login$ank->id)) {
            
$albums_dir->group_show 0;
            
$albums_dir->group_write min($ank->group2);
            
$albums_dir->group_edit max($ank->group4);
            
$albums_dir->id_user $ank->id;
            unset(
$albums_dir);
        }
    }
    
$albums_dir = new files($albums_path);
    
$photos_count ['all'] = $albums_dir->count();
    if (
$photos_count ['all']) {
        
$photos_count ['new'] = $albums_dir->count(NEW_TIME);
        
$post $listing->post();
        
$post->title __('Фотографии');
        
$post->icon('photos');
        
$post->url '/photos/albums.php?id=' $ank->id;
        
$post->counter $photos_count ['new'] ? $photos_count ['all'] . ' /+' $photos_count ['new'] : $photos_count ['all'];
        
//Вывод фото по ид    
        
$content $photos->getFilesByUserId($ank->id);
        
$files = & $content['files'];
        
$count count($files);

        
$image = array();
        if (
$dcms->browser_type == 'full') {
            
$size 35;
            
$height 50;
        } else {
            
$size 35;
            
$height 50;
        }
        for (
$i 0$i $count && $i 6$i++) {
            
$path explode('/'$files[$i]->getPath());
            
$image[] = '<a style="margin:2px;" href="/photos/photo.php?id=' $files[$i]->id_user '&amp;album=' urlencode($path[3]) . '&amp;photo=' urlencode($files[$i]->name) . '"><span class ="photo" style="background:url(' $files[$i]->image(300) . ') center center no-repeat;background-size: cover;width:' $size 'px;height:' $height 'px"></span></a>';
        }
        
$hheight $height 9;
        
$post->content '<div class="Profile_content_photo" style="height:' $hheight 'px">' implode(""$image) . '</div>';
    }
}




if (
$ank->id == $user->id) {
    
$res $db->prepare("SELECT COUNT(*) FROM `chit` WHERE `id_friend` = ? AND `confirm` = ?");
    
$res->execute(Array($ank->id'1'));
    
$k_chit $res->fetchColumn();

    
$post $listing->post();
    
$post->title __('Мои подписчики');
    
$post->url '/chit.php?id=' $ank->id;
    
$post->counter $k_chit;
    
//$my = mysql_result(mysql_query("SELECT COUNT(*) FROM `mynews` WHERE `id_kont` = '$user->id' AND `read` = '0' "), 0);
    
$res $db->prepare("SELECT COUNT(*) FROM `mynews` WHERE `id_kont` = ? AND `read` = ?");
    
$res->execute(Array($ank->id'0'));
    
$my $res->fetchColumn();
    
$post $listing->post();
    
$post->title __('Новости друзей');
    
$post->url '/mynews.php';
    
$post->counter $my '+'.$my:null;
}
$listing->display();
//endregion
if ($user->group $ank->group)
    
$doc->act(__('Доступные действия'), "/dpanel/user.actions.php?id={$ank->id}");
if (
$user->group && $ank->id == $user->id) {
    
$listing = new listing();
    
$post $listing->post();
    
$post->title __('Очистить стену');
    
$post->url '/clear.stena.php';
    
$post->icon('delete');
    
$listing->display();
}

$pages = new pages($db->query("SELECT COUNT(*) FROM `stena` WHERE `id_ank` = '$ank->id' ")->fetchColumn());
$pages->this_page();
$can_write true;
if (!
$user->is_writeable) {
    
$doc->msg(__('Писать запрещено'), 'write_denied');
    
$can_write false;
}

if (
$can_write) {

    if (isset(
$_POST['send']) && isset($_POST['message']) && isset($_POST['token']) && $user->group) {
        
$message = (string) $_POST['message'];
        
$users_in_message text::nickSearch($message);
        
$message text::input_text($message);

        if (!
antiflood::useToken($_POST['token'], 'stena')) {
            
// нет токена (обычно, повторная отправка формы)
        
} elseif ($dcms->censure && $mat is_valid::mat($message)) {
            
$doc->err(__('Обнаружен мат: %s'$mat));
        } elseif (
$message) {
            
// $user->balls += $dcms->add_balls_chat ;
            
$res $db->prepare("INSERT INTO `stena` (`id_user`, `id_ank`, `time`, `text`) VALUES (?, ?, ?, ?)");
            
$res->execute(Array($user->id$ank->idTIME$message));

            if (
$users_in_message) {
                for (
$i 0$i count($users_in_message) && $i 20$i++) {
                    
$user_id_in_message $users_in_message[$i];
                    if (
$user_id_in_message == $user->id) {
                        continue;
                    }
                    
$ank_in_message = new user($user_id_in_message);
                    if (
$ank_in_message->notice_mention) {
                        
$ank_in_message->mess("[user]{$user->id}[/user] ответил" . ($user->sex '' 'а') . " на [url=/profile.view.php?id=" $ank->id "]стене[/url] ");
                    }
                }
            } elseif (
$user->group && $ank->id != $user->id) {
                
$ank->mess("[user]{$user->id}[/user] написал" . ($user->sex '' 'а') . " у вас [url=/profile.view.php]на стене[/url]");
            }
            
header('Refresh: 1; url=?id=' $ank->id);
            
$doc->ret(__('Вернуться'), '?' passgen());
            
$doc->msg(__('Успешно отправлено'));
            if (
$doc instanceof document_json) {
                
$doc->form_value('message''');
                
$doc->form_value('token'antiflood::getToken('stena'));
            }

            exit;
        } else {
            
$doc->err(__('Сообщение пусто'));
        }

        if (
$doc instanceof document_json)
            
$doc->form_value('token'antiflood::getToken('stena'));
    }

    if (
$user->group) {
        
$message_form '';
        if (isset(
$_GET ['message']) && is_numeric($_GET ['message'])) {
            
$id_message = (int) $_GET ['message'];
            
$q $db->prepare("SELECT * FROM `stena` WHERE `id` = ? LIMIT 1");
            
$q->execute(Array($id_message));
            if (
$message $q->fetch()) {
                
$ank = new user($message['id_ank']);
                
$ank3 = new user($message['id_user']);
                if (isset(
$_GET['reply'])) {
                    
$message_form '@' $ank3->login ', ';
                } elseif (isset(
$_GET['quote'])) {
                    
$message_form "@$ank3->login,[quote id_user="{$ank3->id}" time="{$message['time']}"]{$message['text']}[/quote]";
                }
            }
        }

        if (!
AJAX) {
            
$form = new form('?id=' $ank->id '&amp;' passgen());
            
$form->refresh_url('?id=' $ank->id '&amp;' passgen());
            
$form->setAjaxUrl('?id=' $ank->id '&amp;' passgen());
            
$form->hidden('token'antiflood::getToken('stena'));
            
$form->textarea('message'__('Написать на стене'), $message_formtrue);
            
$form->button(__('Отправить'), 'send'false);
            
$form->display();
        }
    }
}



$listing = new listing();
// привязываем форму к листингу, чтобы листинг мог обновиться при отправке формы через AJAX
if (!empty($form))
    
$listing->setForm($form);
$q $db->prepare("SELECT * FROM `stena` WHERE `id_ank` = ? ORDER BY `id` DESC LIMIT $pages->limit");
$q->execute(Array($ank->id));
$after_id false;
if (
$arr $q->fetchAll()) {
    foreach (
$arr AS $message) {
        
$ank2 = new user($message['id_user']);
        
$post $listing->post();
        
$post->id 'stena_' $message['id'];
        
$post->url '/profile.view.php?id=' $ank2->id;
        
$post->time misc::when($message['time']);
        
$post->title $ank2->nick();
        
$post->image $ank2->ava();
        
$post->post text::toOutput($message['text']);
        if (
$user->group) {
            
$post->action('reply''?id=' $ank->id '&amp;message=' $message['id'] . '&amp;reply');
            
$post->action('quote''?id=' $ank->id '&amp;message=' $message['id'] . '&amp;quote');
        }

        if (!
$doc->last_modified)
            
$doc->last_modified $message['time'];

        if (
$doc instanceof document_json)
            
$doc->add_post($post$after_id);

        
$after_id $post->id;
    }
}
if (
$doc instanceof document_json && !$arr) {
    
$post = new listing_post(__('Сообщения отсутствуют'));
    
$post->icon('empty');
    
$doc->add_post($post);
}

$listing->setAjaxUrl('?id=' $ank->id '&amp;page=' $pages->this_page);
$listing->display(__('Сообщения отсутствуют'));
$pages->display('?id=' $ank->id '&amp;'); // вывод страниц

if ($doc instanceof document_json)
    
$doc->set_pages($pages);


if (
$user->group)
    
$doc->ret(__('Личное меню'), '/menu.user.php');
Онлайн: 1
Реклама