Перейти к контенту
  • 0

Отключение отображения картинок в подписях


Jax

Вопрос

Когда захожишь в "Мой профиль - Настройки - Настройки Форума - Показывать подписи пользователей? да-нет", то это позволяет показывать или скрывать всю подпись.

Просто часто бесит, когда люди ставят себе в подпись кучу картинок. Как можно сделать еще один пункт туда для выбора, чтобы отключать только картинки в подписях?

 

:D

Изменено пользователем arigoda
Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0
Можно. Делаешь устное предупреждение любителю картинок и сносишь графику из его подписи. Не понимает - бан. :D) И никакого геморроя
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вот, ну, народ пошел... ))

Я так и знал, что сейчас попрут идеи, как выкрутиться из этого положения )) прям страна самородков, вам только идеи и пихать :D

 

Дело в том, что пошла тупая мода ставить всякие линейки и прочий бред. Вот и очень захотелось решить эту проблему именно с тех. староны

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Дело в том, что пошла тупая мода ставить всякие линейки и прочий бред.

А как я тебя понимаю !!! задрали эти линейки "Сколько я в сети", "Сколько я не пил", "Сколько не дрочил" !!

:D

П.С. Поставил мод "Библиотека изображений" ... некоторое большинств стало его активно юзать ... настала пора очередной болезни- баннерной... правдо слава богу хоть они покрасивши ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Jax, ладно, давай тогда серьезно ;-)

то есть ты хочешь дать юзерам настройку, которая позволит им не видеть ничего, кроме текста, в подписях других юзеров?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

arigoda, совершенно верно.

То есть у них не будет отображаться все, что в [/img], а остальное, как обычно.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
так эта... парсер нада, однако

ну, спасибо, если бы не ты :D

Я-то думал, голову ломал, а тут раз, и парсинг всего-лишь, тю... делов-то ^^

 

А можно точный код? :P

Изменено пользователем Jax
Ссылка на комментарий
Поделиться на других сайтах

  • 0
ну чего неужели нельзя взять любой тег из парсера и сделать по подобию ?
Ссылка на комментарий
Поделиться на других сайтах

  • 0

беру первый попавшийся тег:

$txt                      = preg_replace( "#\[b\](.+?)\[/b\]#is", "<b>\\1</b>", $txt);
получаю:
$новая_подпись = preg_replace( "#\[img\](.+?)\[/img\]#is", "", $старая_подпись);

 

цветом выделил чтобы понял логику.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Я себе отключение картинок по желанию пользователя поставил давно ;). После реализации этой опции жизненноважная проблема картинок в подписях была окончательно решена :D .

 

Хотя можно еще поставить крон на анализ всех картинок всех подписей и автоматически обрезать слишком большие :)

 

Ищем:

                                if ($row['use_sig'] == 1)
                               {
                                       if ( $ibforums->vars['sig_allow_html'] == 1 )
                                       {
                                               $poster['signature'] = $this->parser->parse_html($poster['signature'], 0);
                                       }

                                       if ( $ibforums->vars['post_wordwrap'] > 0 )
                                       {
                                               $poster['signature'] = $this->parser->my_wordwrap( $poster['signature'], $ibforums->vars['post_wordwrap']);
                                       }

 

Добавляем ниже:

if (включена_опция_отмены_картинок)
$poster['signature']=preg_replace( "/<img src=[\"'](.+?)[\"'].+?".">/", " [<a href='\\1' target='_blank'>Картинка</a>] ", $poster['signature'] );

 

Где "включена_опция_отмены_картинок" - это флажок :).

 

Писать исчо? :) Или сами напишите нужные изменения в UserCP?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

sources/Usercp.php

 

Ищем:

 

$view_sig  = "<select name='VIEW_SIGS' class='forminput'>";

 

Ниже добавляем:

 

$view_sigpic  = "<select name='VIEW_SIGPICS' class='forminput'>";

 

 

Ищем

 $view_sig .= $this->member['view_sigs'] ? "<option value='1' selected='selected'>".$ibforums->lang['yes']."</option>\n<option value='0'>".$ibforums->lang['no']."</option>"
                                                                                           : "<option value='1'>".$ibforums->lang['yes']."</option>\n<option value='0' selected='selected'>".$ibforums->lang['no']."</option>";

 

Ниже добавим

 

    $view_sigpic .= $this->member['view_sigpics'] ? "<option value='1' selected='selected'>".$ibforums->lang['yes']."</option>\n<option value='0'>".$ibforums->lang['no']."</option>"
                                                                                           : "<option value='1'>".$ibforums->lang['yes']."</option>\n<option value='0' selected='selected'>".$ibforums->lang['no']."</option>";

 

Ищем

'SIG'  => $view_sig."</select>",

 

Ниже добавляем

'SIGPIC'  => $view_sigpic."</select>",

 

sources/lib/usercpfunctions.php

 

Ищем:

'view_sigs'    => $ibforums->input['VIEW_SIGS'],

 

После:

 

'view_sigpics' => $ibforums->input['VIEW_SIGPICS'],

 

 

Skin/s*/skin_ucp.php

 

Ищем в settings_end ()

 

<tr>
 <td width='70%'>{$ibforums->lang['settings_viewsig']}</td>
 <td align='left'>{$data[SIG]}</td>
</tr>

Добавляем ниже:

<tr>
 <td width='70%'>Отображать картинки в подписях?</td>
 <td align='left'>{$data[SIGPIC]}</td>
</tr>

 

sources/functions.php

 

Ищем

 

m.id, m.name, m.mgroup, m.password, m.email,

 

Добавляем рядом

m.view_sigpics,

 

sources/Topics.php

 

Ищем

 

           if ($row['use_sig'] == 1)
                               {
                                       if ( $ibforums->vars['sig_allow_html'] == 1 )
                                       {
                                               $poster['signature'] = $this->parser->parse_html($poster['signature'], 0);
                                       }

                                       if ( $ibforums->vars['post_wordwrap'] > 0 )
                                       {
                                               $poster['signature'] = $this->parser->my_wordwrap( $poster['signature'], $ibforums->vars['post_wordwrap']);
                                       }

 

Добавим ниже

   if ($ibforums->member['view_sigpics']!=1)
                                           $poster['signature']=preg_replace( "/<img src=[\"'](.+?)[\"'].+?".">/", " [<a href='\\1' target='_blank'>Картинка</a>] ", $poster['signature'] );

 

Выполнить запрос (добавление поля)

ALTER TABLE `ibf_members` ADD `view_sigpics` TINYINT( 1 ) DEFAULT '1' NOT NULL AFTER `view_sigs` ;

Ссылка на комментарий
Поделиться на других сайтах

  • 0

 if ($ibforums->member['view_sigpics']!=1)

заменить на

 if ( $ibforums->member['id'] and !$ibforums->member['view_sigpics'] )

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Работает, спасибо.

 

Исправьте название топика, если не сложно :D

Изменено пользователем Jax
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.