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ку