Перейти к контенту
  • 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
Ссылка на комментарий
Поделиться на других сайтах

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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