Управление доступом личной гостевой (Всем, Только друзьям, Закрыта) (под 5.1.0)

905
.
FloMaster
Jane, а я пытался через отдельное поле в юзерс...там по идее меньше расчетов.
.
Блиносвёрт ?
FloMaster, каких еще расчетов?
.
Jane,
$owner_sets = mysql_fetch_array(mysql_query("SELECT `set_user` FROM `users` WHERE `id` = '".$user['id']."'")); 
$owner_set = array();
$owner_set = unserialize($owner_sets['set_user']);
$error = array();
if ($owner_set['mod_ank'] == 2) {
$error[]= 'Анкета закрыта'; 
}
if ($owner_set['mod_ank'] == 1) {
$in_friends = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_contact` WHERE `user_id` = '".$user['id']."' and `from_id` = '".$user_id."' AND `friends` = 1"),0);
if (!$in_friends and $user['id'] != $user_id) {
$error[]= 'Анкета открыта только для друзей';

если можно просто если поле таблицы юзерс = или или
.
а по модулю было бы не плохо вынести в раздел приватность
.
Блиносвёрт ?
FloMaster, посмотри обновление, запрос мы уже оттуда вычеркнули, в нем нет необходимости, дополнительных полей в бд не нужно, это только усложняет
.
Jane, хотя да.ведь так проще сбросить настройки.
.
в базе все норм..."mod_ank";i:2;
.
if (!$user_id) {
    require('../incfiles/head.php');
    echo functions::display_error($lng['access_guest_forbidden']);
    require('../incfiles/end.php');
    exit;
}

$owner_set = unserialize($user['set_user']);
$error = array();
if ($owner_set['mod_ank'] == 2) {
$error[]= 'Анкета закрыта'; 
}
if ($owner_set['mod_ank'] == 1) {
$in_friends = mysql_result(mysql_query("SELECT COUNT(*) FROM `cms_contact` WHERE `user_id` = '".$user['id']."' and `from_id` = '".$user_id."' AND `friends` = 1"),0);
if (!$in_friends and $user['id'] != $user_id) {
$error[]= 'Анкета открыта только друзьям'; 
}
}

if (!empty($error)) {
    echo functions::display_error($error);
    require('../incfiles/end.php');
    exit;
}

вот шапка профиля
.
na JohnCMS 4.5 eto ne rabotaet
.
Блиносвёрт ?
voyvoy-ru, личная гостя на классе комментариев, а он в 5ке другой, вроде бы... этот хак по 5ку
Всего: 43