Как скрыть текст сообщения от определённых пользователей
Код: Выделить всё
[hide]текст[/hide]
Код: Выделить всё
[ghide]текст[/ghide]
Код: Выделить всё
[ghide=1,2,3]текст[/ghide]
Код: Выделить всё
/memberlist.php?mode=group&g=4
Код: Выделить всё
[hide=NNN]текст[/hide]
Код: Выделить всё
if (substr_count($preg['search'][0], '[hide\=') && !$auth->acl_get('m_edit', $row['forum_id']) && $user->data['user_id'] != $poster_id)
{
Код: Выделить всё
if (substr_count($preg['search'][0], '[uhide') && !$auth->acl_get('m_edit', $row['forum_id']) && $user->data['user_id'] != $poster_id)
{
if (substr_count($preg['search'][0], '[uhide\='))
{
$hide_matches = array();
preg_match_all($preg['search'][0], $message, $hide_matches);
foreach ($hide_matches[1] as $key => $users)
{
$users_ary = explode(',', $users);
$uhide = true;
foreach ($users_ary as $user_id)
{
if ($user_id==$user->data['user_id'])
{
$uhide = false;
break;
}
}
if ($uhide)
{
$message = str_replace($hide_matches[0][$key], '[uhide=' . $users . ':' . $this->bbcode_uid . ']' . $user->lang('ADAPT_HIDE_USERS') . '[/uhide:' . $this->bbcode_uid . ']', $message);
}
}
}
}
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/ghide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[uhide\=([0-9,]+)\](.*?)\[/uhide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/ghide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[uhide\=([0-9,]+)\](.*?)\[/uhide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+):' . $post['bbcode_uid'] . '\](.*?)\[/ghide:' . $post['bbcode_uid'] . '\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[uhide\=([0-9,]+):' . $post['bbcode_uid'] . '\](.*?)\[/uhide:' . $post['bbcode_uid'] . '\]!s';
Код: Выделить всё
'ADAPT_HIDE_GROUPS' => '<i>Скрытый текст. Вы не состоите в группах, которым доступен этот текст.</i>',
Код: Выделить всё
'ADAPT_HIDE_USERS' => '<i>Скрытый текст. Доступен только определённым пользователям.</i>',
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+):' . $post_data['bbcode_uid'] . '\](.*?)\[/ghide:' . $post_data['bbcode_uid'] . '\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[uhide\=([0-9,]+):' . $post_data['bbcode_uid'] . '\](.*?)\[/uhide:' . $post_data['bbcode_uid'] . '\]!s';
Код: Выделить всё
[uhide={SIMPLETEXT}]{TEXT}[/uhide]
Код: Выделить всё
<div class="adapthide">{TEXT}</div>
Код: Выделить всё
Скрыть текст от определённых пользователей: [uhide=1,2,3]текст[/uhide] (будет виден только для перечисленных пользователей)
Код: Выделить всё
[uhide=1,2,3]текст[/uhide]
Код: Выделить всё
/memberlist.php?mode=viewprofile&u=53
Код: Выделить всё
[uhide=1]текст[/uhide]
Код: Выделить всё
[uhide=17]текст[/uhide]
PPK
Сложно если например нужно более десятка спрятать под хайд. Можно ли реализовать "логины" вместо "id" ?PPK писал(а):где 1,2,3 - это ID пользователей для которых текст будет виден, ID пользователя можно узнать так: Пользователи - наводим курсор мыши на нужного пользователя, в конце URL будет строка вида
stepan83
PPK
Здорово, не горит, подождем!PPK писал(а):можно, как будет время - сделаю ..
stepan83
Oleg
PPK
спасибо, буду пробоватьPPK писал(а):да, как минимум потому, что в инструкции в первом сообщении для установки используется часть самого мода, т.е. нужно найти его текст, добавить после него что-то и т.д.
Oleg
Доработки по нику не будет? С user_id не очень удобноPPK » 19 май 2014, 16:20 писал(а):можно, как будет время - сделаю ..
kapranov
Код: Выделить всё
if (substr_count($preg['search'][0], '[hide\=') && !$auth->acl_get('m_edit', $row['forum_id']) && $user->data['user_id'] != $poster_id)
{
Код: Выделить всё
if (substr_count($preg['search'][0], '[nhide') && !$auth->acl_get('m_edit', $row['forum_id']) && $user->data['user_id'] != $poster_id)
{
if (substr_count($preg['search'][0], '[nhide\='))
{
$hide_matches = array();
preg_match_all($preg['search'][0], $message, $hide_matches);
foreach ($hide_matches[1] as $key => $users)
{
$users_ary = explode(',', $users);
$nhide = true;
foreach ($users_ary as $username)
{
if (trim($username)==$user->data['username'])
{
$nhide = false;
break;
}
}
if ($nhide)
{
$message = str_replace($hide_matches[0][$key], '[nhide=' . $users . ':' . $this->bbcode_uid . ']' . $user->lang('ADAPT_HIDE_USERNAMES') . '[/nhide:' . $this->bbcode_uid . ']', $message);
}
}
}
}
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/ghide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[nhide\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/nhide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/ghide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[nhide\=([a-zA-Z0-9-+.,_ ]+)\](.*?)\[/nhide\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+):' . $post['bbcode_uid'] . '\](.*?)\[/ghide:' . $post['bbcode_uid'] . '\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[nhide\=([a-zA-Z0-9-+.,_ ]+):' . $post['bbcode_uid'] . '\](.*?)\[/nhide:' . $post['bbcode_uid'] . '\]!s';
Код: Выделить всё
'ADAPT_HIDE_GROUPS' => '<i>Скрытый текст. Вы не состоите в группах, которым доступен этот текст.</i>',
Код: Выделить всё
'ADAPT_HIDE_USERNAMES' => '<i>Скрытый текст. Доступен только определённым пользователям.</i>',
Код: Выделить всё
$hide_search_ary[] = '!\[ghide\=([a-zA-Z0-9-+.,_ ]+):' . $post_data['bbcode_uid'] . '\](.*?)\[/ghide:' . $post_data['bbcode_uid'] . '\]!s';
Код: Выделить всё
$hide_search_ary[] = '!\[nhide\=([a-zA-Z0-9-+.,_ ]+):' . $post_data['bbcode_uid'] . '\](.*?)\[/nhide:' . $post_data['bbcode_uid'] . '\]!s';
Код: Выделить всё
[nhide={SIMPLETEXT}]{TEXT}[/nhide]
Код: Выделить всё
<div class="adapthide">{TEXT}</div>
Код: Выделить всё
Скрыть текст от определённых пользователей: [nhide=имя1,имя2,имя3]текст[/nhide] (будет виден только для перечисленных пользователей)
Код: Выделить всё
[nhide=имя1,имя2,имя3]текст[/nhide]
PPK
Отлично! Спасибо! Буду изучатьPPK писал(а): можно сделать, но работать это будет только при опред. условиях, в этой опции
kapranov