Вход Регистрация
Файл: user/wall/index.php
Строк: 365
<?php

/* DCMS Special
 * Дата последнего редактирования 18.01.2016
 * Модифицировал densnet
 */

if (isset($_GET['id']) && $_GET['id'] != NULL) {
    
$ank = get_user(intval($_GET['id']));
} elseif (isset(
$user)) {
    
$ank = get_user($user['id']);
}

if (!
$ank) {
    foreach (array(
'start', 'compress', 'sess', 'settings', 'db_connect', 'ipua', 'fnc', 'user', 'thead') as $inc) {
        require_once 
"../../sys/inc/$inc.php";
    }

    
aut();

    echo 
"<div class='alert alert-info'>";
    echo 
"<i class='fa fa-user fa-fw'></i> " . lang('Пользователь не найден! Укажите id пользователя');
    echo 
"</div>";

    require_once 
H . 'sys/inc/tfoot.php';
    exit;
}

if (isset(
$_GET['set']) && $ank['id'] == $user['id'] && isset($user)) {
    if (isset(
$_POST['save']) && $_POST['mdp'] == md5($user['pass'])) {
        if (
in_array($_POST['access'], array('all', 'only_me', 'friends', 'pass', 'auth'))) {
            
$access = $_POST['access'];
        } else {
            
$access = 'all';
        }
        
$pass = NULL;
        if (
$access == 'pass') {
            if (
utf8_strlen($_POST['password']) < 1) {
                
$err[] = lang('Введите пароль');
            }
            if (
utf8_strlen($_POST['password']) > 20) {
                
$err[] = lang('Пароль слишком длинный');
            }
            
$pass = $_POST['password'];
        }
        if (!isset(
$err)) {
            
mysql_query("UPDATE `user` SET `wall_access` = '$access', `wall_password` = '" . mysql_real_escape_string($pass) . "' WHERE `id` = '$ank[id]'");
        }
        if (
in_array($_POST['komm'], array('all', 'only_me', 'friends'))) {
            
$komm = $_POST['komm'];
        } else {
            
$komm = 'all';
        }
        
mysql_query("UPDATE `user` SET `wall_komm` = '$komm' WHERE `id` = '$ank[id]'");
        if (!isset(
$err)) {
            
$ank['wall_password'] = $pass;
            
$ank['wall_access'] = $access;
            
$ank['wall_komm'] = $komm;

            
$_SESSION['message'] = lang('Изменения сохранены');
        }
    }
    
err();
    echo 
"<form method='post' class='list-group-item' action=''>";
    echo 
"<b>" . lang('Кто видет записи стены') . "?</b><br />";

    
$doc->Radio('access', 'Все', 'all', "" . ($ank['wall_access'] == 'all' ? " checked='checked'" : null) . "", 'globe');
    
$doc->Radio('access', 'Только я', 'only_me', "" . ($ank['wall_access'] == 'only_me' ? " checked='checked'" : null) . "", 'lock');
    
$doc->Radio('access', 'Только авторизованные', 'auth', "" . ($ank['wall_access'] == 'auth' ? " checked='checked'" : null) . "", 'user');
    
$doc->Radio('access', 'Только друзья', 'friends', "" . ($ank['wall_access'] == 'friends' ? " checked='checked'" : null) . "", 'users');
    
$doc->Radio('access', 'Только по паролю', 'pass', "" . ($ank['wall_access'] == 'pass' ? " checked='checked'" : null) . "", 'key');

    
$doc->Input('password', 'Пароль', 16, "" . htmlspecialchars($user['wall_password']) . "");

    echo 
"<b>" . lang('Кто может оставлять записи') . "?</b><br />";

    
$doc->Radio('komm', 'Все', 'all', "" . ($ank['wall_komm'] == 'all' ? " checked='checked'" : null) . "", 'globe');
    
$doc->Radio('komm', 'Только я', 'only_me', "" . ($ank['wall_komm'] == 'only_me' ? " checked='checked'" : null) . "", 'lock');
    
$doc->Radio('komm', 'Только друзья', 'friends', "" . ($ank['wall_komm'] == 'friends' ? " checked='checked'" : null) . "", 'users');

    
$doc->Button('btn btn-success btn-sm', 'save', 'save', 'Сохранить');

    echo 
"<input type='hidden' name='mdp' value='" . md5($user['pass']) . "'/></form>";

    
$doc->Link('list-group-item', "?id=$ank[id]&amp;act=wall", 'arrow-left', 'Назад');

    require_once 
H . 'sys/inc/tfoot.php';
    exit;
}
if (isset(
$_POST['password'])) {
    
$set_cook = $_POST['password'];
    
setcookie("passgb[$ank[id]]", $set_cook);
    if (isset(
$_POST['password']) && $_POST['password'] == $ank['wall_password']) {
        
header("Location:?id=$ank[id]&act=wall&enter=ok");
    }
}
if (
$ank['wall_access'] == 'only_me') {
    if (
$ank['id'] == $user['id'] && isset($user) || $user['group_access'] >= 7) {
        
    } else {
        echo 
"<div class='list-group-item list-group-item-info'>" . lang('Доступ к записям на стене закрыт') . "!</div>";

        require_once 
H . 'sys/inc/tfoot.php';
        exit;
    }
} elseif (
$ank['wall_access'] == 'friends') {
    if (
$ank['id'] == $user['id'] && isset($user) || $user['group_access'] >= 7 || mysql_result(mysql_query("SELECT COUNT(*) FROM `friends` WHERE (`user` = '$user[id]' AND `friends` = '$ank[id]') OR (`user` = '$ank[id]' AND `friends` = '$user[id]')"), 0) != 0) {
        
    } else {
        echo 
"<div class='list-group-item list-group-item-info'>" . lang('Доступ к записям на стене открыт только друзьям автора') . "!</div>";

        require_once 
H . 'sys/inc/tfoot.php';
        exit;
    }
} elseif (
$ank['wall_access'] == 'pass') {
    if (isset(
$_COOKIE['passgb'][$ank['id']]) && $_COOKIE['passgb'][$ank['id']] == $ank['wall_password'] || $ank['id'] == $user['id'] && isset($user) || $user['group_access'] >= 7) {
        
    } else {
        echo 
"<div class='list-group-item list-group-item-info'>";
        if (isset(
$_POST['password']) && $_POST['password'] != $ank['wall_password']) {
            
$_SESSION['err'] = lang('Неверный пароль');
        }
        echo 
lang('Доступ открыт только по паролю') . "!<br /> " . lang('Чтобы просматривать записи стены, введите пароль') . ":";

        echo 
"<form action='' method="post">";

        
$doc->Input('password', 'Пароль', 16);
        echo 
"<br />";
        
$doc->Button('btn btn-success btn-sm', 'go', null, 'Войти');

        echo 
"</form>";
        echo 
"</div>";

        require_once 
H . 'sys/inc/tfoot.php';
        exit;
    }
} elseif (
$ank['wall_access'] == 'auth') {
    if (isset(
$user)) {
        
    } else {
        echo 
"<div class='list-group-item list-group-item-info'>";
        echo 
lang("Доступ к стене открыт только авторизированным пользователям");
        echo 
"</div>";

        require_once 
H . 'sys/inc/tfoot.php';
        exit;
    }
}

if (isset(
$_GET['clean']) && isset($user) && ($user['group_access'] >= 7 || $user['id'] == $ank['id'])) {
    if (isset(
$_GET['all'])) {
        if (isset(
$_GET['ok'])) {
            
mysql_query("DELETE FROM `wall` WHERE `id_wall` = '$ank[id]'");

            
$_SESSION['message'] = lang('Стена успешно очищена');
        } else {
            echo 
"<div class='list-group-item'>" . lang('Очистить стену от записей') . "?<br />";

            
$doc->Link('btn btn-success btn-sm', "?id=$ank[id]&amp;act=wall&amp;clean&amp;all&amp;ok", null, 'Да');
            
$doc->Link('btn btn-secondary btn-sm', "?id=$ank[id]&amp;act=wall", null, 'Нет');

            echo 
"</div>";

            require_once 
H . 'sys/inc/tfoot.php';
            exit;
        }
    } else {
        if (isset(
$_GET['ok'])) {
            
$ch = intval($_POST['ch']);
            
$mn = intval($_POST['mn']);
            
$nt = $ch * $mn * 3600;
            
$nt = $time - $nt;
            
mysql_query("DELETE FROM `wall` WHERE `time` < '$nt'");

            
$_SESSION['message'] = lang('Записи успешно очищены');
        } else {
            
$doc->Link('list-group-item', "?id=$ank[id]&amp;act=wall&amp;clean&amp;all", 'trash', 'Очистить стену полностью?');

            echo 
"<form method='post' class='list-group-item' action='?id=$ank[id]&amp;act=wall&amp;clean&amp;ok'>";
            echo 
lang('Будут удалены записи, написанные ... тому назад') . ":<br />";

            echo 
lang('Количество') . "<br />";
            echo 
"<input name='ch' type='text' value='1' class='form-control'><br />";

            echo 
"<select class='form-control' name='mn'>";
            echo 
"<option value='1' selected='selected'>" . lang('Часов') . "</option>";
            echo 
"<option value='24'>" . lang('Дней') . "</option>";
            echo 
"<option value='168'>" . lang('Недель') . "</option>";
            echo 
"<option value='744'>" . lang('Месяцев') . "</option>";
            echo 
"</select><br />";

            
$doc->Button('btn btn-success btn-sm', null, 'trash-o', 'Очистить');
            echo 
"</form>";

            
$doc->Link('list-group-item', "?id=$ank[id]&amp;act=wall", 'arrow-left', 'Назад');

            require_once 
H . 'sys/inc/tfoot.php';
            exit;
        }
    }
}
if (isset(
$_GET['like']) && isset($user)) {
    if (
mysql_result(mysql_query("SELECT COUNT(*) FROM `wall_like` WHERE `id_komm` = '" . intval($_GET['like']) . "' AND `id_user` = '$user[id]' LIMIT 1"), 0) != 0) {
        
    } else {
        
mysql_query("INSERT INTO `wall_like` (`id_user`, `id_komm`) values('$user[id]', '" . intval($_GET['like']) . "')");
    }
    if (isset(
$user) && $user['id'] != $ank['id']) {
        
$msgok = "$SexOcen " . lang('Вашу') . " [url=/user/wall/comments.php?id=" . intval($_GET['id']) . "]" . lang('запись') . "[/url].";
        
mysql_query("INSERT INTO `notification` (`id_user`, `id_kont`, `msg`, `time`) values('$user[id]', '$ank[id]', '$msgok', '$time')");
    }
}
if (isset(
$_GET['unlike']) && isset($user)) {
    
mysql_query("DELETE FROM `wall_like` WHERE `id_user` = '$user[id]' AND `id_komm` = '" . intval($_GET['unlike']) . "' LIMIT 1");
}

if (isset(
$_POST['msg']) && isset($user) && ($ank['wall_komm'] == 'all' || $ank['wall_komm'] == 'only_me' && ($user['id'] == $ank['id'] || $user['group_access'] >= 7) || $ank['wall_komm'] == 'friends' && ($ank['id'] == $user['id'] || $user['group_access'] >= 7 || mysql_result(mysql_query("SELECT COUNT(*) FROM `friends` WHERE (`user` = '$user[id]' AND `friends` = '$ank[id]') OR (`user` = '$ank[id]' AND `friends` = '$user[id]')"), 0) != 0))) {
    
$msg = $_POST['msg'];

    if (
utf8_strlen($msg) > 10024) {
        
$err = lang('Сообщение слишком длинное');
    }
    if (
utf8_strlen($msg) < 1) {
        
$err = lang('Короткое сообщение');
    }

    if (isset(
$_POST['privat_komm'])) {
        if (
$_POST['privat_komm'] == 1) {
            
$privat_komm = '1';
        } else {
            
$privat_komm = '0';
        }
    } else {
        
$privat_komm = '0';
    }
    if (!isset(
$err)) {
        
$not = "$SexOst " . lang('запись на Вашей') . " [url=/info.php?id=" . $ank['id'] . "&act=wall]" . lang('стене') . "[/url]";
        
mysql_query("INSERT INTO `notification` (`id_user`, `id_kont`, `msg`, `time`) values('" . $user['id'] . "', '$ank[id]', '$not', '$time')");

        
$msg = mysql_real_escape_string($msg);

        
mysql_query("INSERT INTO `wall` (id_user,id_wall, time, msg, privat_komm) values('$user[id]', '$ank[id]', '$time', '$msg', '$privat_komm')");
        
mysql_query("UPDATE `user` SET `money` = '" . ($user['money'] + 3) . "', `activity` = '" . ($user['activity'] + 3) . "' WHERE `id` = '$user[id]' LIMIT 1");

        
$q3 = NULL;
        
$qq = mysql_query("SELECT * FROM `wall` WHERE `id_wall` = '$ank[id]'");

        while (
$ppost = mysql_fetch_array($qq)) {
            
$a = get_user($ppost['id_user']);
            if (
$a) {
                
$array = explode(";", $q3);

                foreach (
$array as $key => $value) {
                    if (
$value == $a['id']) {
                        
$g = 1;
                    }
                }

                if (!isset(
$g)) {
                    
$q3 = "" . ($q3 != NULL ? "$q3;" : null) . "$a[id]";
                }

                if (isset(
$g)) {
                    unset(
$g);
                }
            }
        }
        
$array = explode(";", $q3);
        foreach (
$array as $key => $value) {
            
$a = get_user($value);

            if (
$value != NULL && $a) {
                if (
$a['id'] != $ank['id'] && $a['id'] != $user['id']) {
                    
$not = "$SexOst " . lang('запись на') . " [url=/info.php?id=" . $ank['id'] . "&act=wall]" . lang('стене') . "[/url]";
                    
mysql_query("INSERT INTO `notifications` (`id_user`, `id_kont`, `msg`, `time`) values('" . $user['id'] . "', '$a[id]', '$not', '$time')");
                }
            }
        }
    }
    
header("Location:?id=$ank[id]&act=wall");
} elseif (isset(
$_GET['hide']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `wall` WHERE `id` = '" . intval($_GET['hide']) . "' AND `hide_user` = '0' AND `id_wall` = '$ank[id]' LIMIT 1"), 0) != 0 && isset($user)) {
    
$komm = mysql_fetch_array(mysql_query("SELECT * FROM `wall` WHERE `id` = '" . intval($_GET['hide']) . "' AND `id_wall` = '$ank[id]' LIMIT 1"));
    
$ank2 = get_user($komm['id_user']);

    if (
$user['group_access'] >= 7) {
        
mysql_query("UPDATE `wall` SET `hide_user` = '1', `hide_user` = '$user[id]' WHERE `id` = '" . intval($_GET['hide']) . "' AND `id_wall` = '$ank[id]' LIMIT 1");
    }
} elseif (isset(
$_GET['show']) && mysql_result(mysql_query("SELECT COUNT(*) FROM `wall` WHERE `id` = '" . intval($_GET['show']) . "' AND `hide_user` = '1' AND `id_wall` = '$ank[id]' LIMIT 1"), 0) != 0 && isset($user)) {
    
$komm = mysql_fetch_array(mysql_query("SELECT * FROM `wall` WHERE `id` = '" . intval($_GET['show']) . "' AND `id_wall` = '$ank[id]' LIMIT 1"));
    
$ank2 = get_user($komm['id_user']);

    if (
$user['group_access'] >= 7) {
        
mysql_query("UPDATE `wall` SET `hide_user` = '0' WHERE `id` = '" . intval($_GET['show']) . "' AND `id_wall` = '$ank[id]' LIMIT 1");
    }
}
err();

if (
$ank['wall_komm'] == 'all' || $ank['wall_komm'] == 'only_me' && ($user['id'] == $ank['id'] || $user['group_access'] >= 7) || $ank['wall_komm'] == 'friends' && ($ank['id'] == $user['id'] || $user['group_access'] >= 7 || mysql_result(mysql_query("SELECT COUNT(*) FROM `friends` WHERE (`user` = '$user[id]' AND `friends` = '$ank[id]') OR (`user` = '$ank[id]' AND `friends` = '$user[id]')"), 0) != 0)) {

    echo 
"<form method='post' class='list-group-item' action='?id=$ank[id]&amp;act=wall' name='message' style='border-bottom: 1px solid #dcdee3;'>";
    if (isset(
$user) && $user['id'] != $ank['id']) {
        echo 
auto_bb("message", "msg");
        echo 
"<textarea placeholder='" . lang('Напишите что-нибудь') . "...' name='msg' class='form-control'></textarea>";
    } else {
        echo 
auto_bb("message", "msg");
        echo 
"<textarea placeholder='" . lang('О чем Вы думаете?') . "' name='msg' class='form-control'></textarea>";
    }

    
$doc->Checkbox('privat_komm', 'Запретить комментировать', 1);

    
$doc->Button('btn btn-primary btn-sm', null, 'pencil', 'Опубликовать');

    echo 
"</form>";
} else {
    echo 
"<div class='list-group-item list-group-item-info'>" . lang('Пользователь запретил оставлять записи на стене') . "!</div>n";
}

if (
$ank['id'] == $user['id'] && isset($user)) {
    
mysql_query("UPDATE `notification` SET `read` = '1' WHERE `id_kont` = '" . $user['id'] . "' AND `read` = '0'");
}

$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `wall` WHERE `id_wall` = '$ank[id]'" . ($user['group_access'] < 7 ? " AND `hide_user` = '0'" : null) . ""), 0);
$k_page = k_page($k_post, $set['p_str']);
$page = page($k_page);
$start = $set['p_str'] * $page - $set['p_str'];

if (
$k_post == 0) {
    
$doc->NoResult();
}
$q = mysql_query("SELECT * FROM `wall` WHERE `id_wall` = '$ank[id]'" . ($user['group_access'] < 7 ? " AND `hide_user` = '0'" : null) . " ORDER BY id DESC LIMIT $start, $set[p_str]");
while (
$post = mysql_fetch_array($q)) {
    
$ank2 = get_user($post['id_user']);
    
$wall_like = mysql_result(mysql_query("SELECT COUNT(*) FROM `wall_like` WHERE `id_komm` = '$post[id]'"), 0);
    
$cmn = mysql_result(mysql_query("SELECT COUNT(*) FROM `wall_comments` WHERE `id_wall` = '$post[id]'"), 0);

    echo 
"<table class='list-group-item-komm' style='margin-top: 2px;margin-bottom: 2px;'><tr><td class='icon14'>";
    
avatar($ank2['id'], '40', 'border-radius: 2px;');
    echo 
"</td><td class='null'>";
    echo 
user($ank2['id']) . " <span data-toggle='tooltip' data-placement='right' title='" . date::time($post['time']) . "' style='color:grey;float: right;'><small>" . date::timek($post['time']) . "</small></span><br /> ";
echo 
"</td></tr><tr><td class='null' colspan='2'>";
    echo 
toOutput($post['msg']);
    include 
H . '/user/wall/file.php';

    echo 
"<br />";
    if (
$wall_like == 0) {
        
$wall_like = null;
    } else {
        
$wall_like = mysql_result(mysql_query("SELECT COUNT(*) FROM `wall_like` WHERE `id_komm` = '$post[id]'"), 0);
    }
    echo 
"<span style='float:right;'><i class='fa fa-heart'></i> $wall_like</span>";
    
#Мне нравится
    
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `wall_like` WHERE `id_komm` = '$post[id]' AND `id_user` = '$user[id]' LIMIT 1"), 0) == 0) {
        echo 
"<a href='/info.php?id=$ank[id]&amp;act=wall&amp;like=$post[id]' style='color:grey;'><small><i class='fa fa-heart-o'></i> " . lang('Мне нравится') . " $wall_like</small></a> ";
    } else {
        echo 
"<a href='/info.php?id=$ank[id]&amp;act=wall&amp;unlike=$post[id]' style='color:grey;'><small><i class='fa fa-heart'></i> " . lang('Не нравится') . " $wall_like </small></a> ";
    }

    if (
$cmn == 0) {
        
$cmn = null;
    } else {
        
$cmn = mysql_result(mysql_query("SELECT COUNT(*) FROM `wall_comments` WHERE `id_wall` = '$post[id]'"), 0);
    }
    echo 
"<a href='/user/wall/comments.php?id=$post[id]' style='color:grey;'><small><i class='fa fa-comments fa-fw'></i> " . lang('Комментировать') . " $cmn</small></a> ";

    
$kum = @mysql_result(mysql_query("SELECT id_user FROM `wall_like` WHERE `id_komm` = '$post[id]'"), 0);
    
$kem = $wall_like - 1;

    
#Выводит тех, кому понравилась новость
    
if ($user['id'] == $kum) {
        if (
$wall_like == 1) {
            
$vam = lang('Вам это нравится');
        } elseif (
$wall_like >= 2) {
            
$vam = lang('Вам и ещё') . " <a href='/user/wall/comments.php?id=$post[id]&amp;like_all'>" . sklon_text($kem, array(lang('пользователю'), lang('пользователям'), lang('пользователям'))) . "</a> " . lang('это нравится');
        }
    } else {
        
$vam = "<a href='/user/wall/comments.php?id=$post[id]&amp;like_all'>" . sklon_text($wall_like, array(lang('пользователю'), lang('пользователям'), lang('пользователям'))) . "</a> " . lang('это нравится');
    }

    if (
$wall_like == 1) {
        echo 
"<hr>";
        echo 
"<font color='#B2B2B2'><small><i class='fa fa-heart fa-fw'></i> $vam</small></font>";
    } elseif (
$wall_like >= 2) {
        echo 
"<hr>";
        echo 
"<font color='#B2B2B2'><small><i class='fa fa-heart fa-fw'></i> $vam</small></font>";
    }
    
########

    
include 'mini_form.php';

    echo 
"</td></tr></table>";
}
if (
$k_page > 1) {
    echo 
'<div class="list-group-item">';
    
str("/info.php?id=" . $ank['id'] . "&act=wall&amp;", $k_page, $page);
    echo 
"</div>";
}

if (
$user['group_access'] >= 7) {
    
$doc->Link('list-group-item', "?id=$ank[id]&amp;act=wall&amp;clean", 'trash-o', 'Очистить');
}
if (
$ank['id'] == $user['id'] && isset($user)) {
    
$doc->Link('list-group-item', "?id=$ank[id]&amp;act=wall&amp;set", 'cog', 'Настройки');
}
Онлайн: 0
Реклама