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

Показ ссылки за определённое количество постов


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

Здарова всем!

Вот тут лазил в нэте в поиске игр, и наткнулся на форуме на такой мод Показ ссыки за определёное количество постов но этот мод был не на IBF

Смысл этого мода таков:

Скрытый текст, если у тебя есть к примеру 20 постов то ты видишь скрытый текст... народ где взять этот мод? :D

Заранее спасибо... :)

В поиск не отправляите не знаю даже как задавать запрос ;)

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

Song

Hide мод это я знаю, он у меня есть на харде.. а вот SPLOIT что это надо посмотреть! Спасибо :D

Добавлено в [mergetime]1087844538[/mergetime]

хЫм..... не нашёл, может кто знает где?

В посике на форуме искал нету, на портале в можификациях пользовался нету, на англ. саите забыл у вас там баннер его стоит - саит в дауне... ;)

Кто поможет? :)

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

Slamer

http://mods.invisionize.com/db/index.php/f/525

Добавлено в [mergetime]1087856129[/mergetime]

И ваще по слову ХАЙД :

http://mods.invisionize.com/db/index.php/a...a115fc7eb09e344

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

Остап

Спасибо друг, но мне там не скачать там надо зарегаться а регистрация выбивает ошибку... ;) блин ты бы мог мне прислать этот мод на мыло буду тебе очень благодарен... :D

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

Всем добрый вечер.

 

Остап!

Спасибо за ссылки,но увы это моды для версии 1.1 а надобы для версии 1.3

 

Вот где бы достать этот хак?

Я уже обыскался.Как точно называется тоже не знаю

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

=FOCUS=

Вот для 1.2 http://mods.invisionize.com/db/index.php/f/1133 только показывается хайдэн после постов пользователей в ЭТОЙ теме ... Можно из нескольких сделать нужный ... сравнивай, работай ... Если есть большое желание сделать - получится...

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

Остап

Ты мне так и не ответил... пришли мне плз этот мод на мыло что я просил, я уверен что он поидёт на 1.3 :D

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

Slamer

Послал этот http://mods.invisionize.com/db/index.php/f/525 Он под 1.Х - пойдёт ?

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

Остап

Спасибо я получил, но блин он не идёт на 1.3 ;) Кто знает такой мод на 1.3? :D

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

  • 1 месяц спустя...

Привет всем, может это тема уже не актуально, но на http://mods.invisionize.com/ я зарегистрироваться не могу. А мне нужен, хак... что описан выше, для версии 1.3. Так, что вместо скрытого текста была МОЯ картинка, и чтобы пользователь увидел текст за ней, ему надо набрать определенное кол-во постов. А то у меня не, чтобы скрытый текст, а блин просто белое поле, что мышкой провел и вот тебе текст... :D

 

Буду очень презнателен, если поможете...

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

  • 5 месяцев спустя...

Народ! Извиняюсь за столь крутое поднятие темы, но вопрос вдруг стал актуальным:

Что я сделал:

 

 

1. Ищем

 

В IPB 1.1

 

$first = intval($ibforums->input['st']);

 

либо в IPB 1.3

 

 	$first = intval($ibforums->input['st']);
  
  if ( $ibforums->vars['post_order_column'] != 'post_date' )
  {
  	$ibforums->vars['post_order_column'] = 'pid';
  }
  
  if ( $ibforums->vars['post_order_sort'] != 'desc' )
  {
  	$ibforums->vars['post_order_sort'] = 'asc';
  }

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

 

// ############### HIDE (POST) HACK ###################
$DB->query("SELECT posts FROM ibf_members WHERE id='".$ibforums->member['id']."'");
   
while($info = $DB->fetch_row())
{
$numberofposts[]=$info['posts'];
}
// ############### HIDE (POST) HACK ###################

 

2. Ищем

 

$row['post_css'] = $post_count % 2 ? 'post1' : 'post2';

 

Добавляем следом:

 

// ############### HIDE (POST) HACK ###################
if(preg_match("#\[hide=(.+?)\](.+?)\[/hide\]#is", $row['post']))
{
preg_match ("#\[hide=(.+?)\]#is",$row['post'] ,$matc );
$matc[0]=substr($matc[0],6,-1);
$tmp1=0;
if (is_array($numberofposts)) {foreach($numberofposts as $tmp2) {if(strnatcmp($tmp2,$matc[0])>=0){$tmp1=1;}}}
else {if(strnatcmp($numberofposts,$matc[0])>=0){$tmp1=1;}}
if($tmp1==1)
    {
        $row['post'] = preg_replace( "#\[hide=(.+?)\](.+?)\[/hide\]#is", "<b><font color='silver'>Скрытый текст:</font></b><br> \\2", $row['post'] );
    }
    else
    {
 $row['post'] = preg_replace( "#\[hide=(.+?)\](.+?)\[/hide\]#is", "<font color='silver'>[Скрытый текст, будет виден после \\1 сообщений в форуме]</font>", $row['post'] );
    }
}
// ############### HIDE (POST) HACK ###################

 

3. Однако. Через поиск и в профиле до сих пор отображаются скрытые сообщения.

Ввиду того что я с РНР начал пару дней назад знакомится, красивого решения проблеммы не нашел, но есть один "обходной путь"

 

- в админке выставляем в опциях профиля пользователя показывать только заголовки сообщений. Кол-во ставим 30. Или больше. Это позволит избежать отображения скрытых сообщений в главном окне просмотра профиля, однако не лишит пользователей полезной функции окончательно.

 

- остается кнопочка "Найти все сообщения пользователя", которая опять же выводит список всех сообщений вместе со скрытым текстом. Редактируем skin_profile.php:

 

ищем

 

<a href='{$info['base_url']}act=Search&CODE=getalluser&mid={$info['mid']}'>{$ibforums->lang['find_posts']}</a> ·

 

закомментирываем код. должно получиться примерно так:

 

<!--  <a href='{$info['base_url']}act=Search&CODE=getalluser&mid={$info['mid']}'>{$ibforums->lang['find_posts']}</a> ·-->

- Мы спрятали лишь ссылку на функцию, но сама она осталась и может быть с легкостью вызвана. Если не хочется лишать этой функции администрацию форума, сделаем так: лезем в search.php и меняем название функции на getalluser1:

 

case 'getalluser':

на

 

case 'getalluser1':

Теперь при нажатии на "Найти все сообщения этого пользователя" будет отображаться обычное окошко поиска.

 

 

- Осталось только отключить функцию "Отображение результата в виде сообщений" для этого в skin_search.php закомментировываем следующую строку:

 

 <input type='radio' name='result_type' class="radiobutton" value='posts' id="result_posts" /><label for="result_posts">{$ibforums->lang['results_post']}</label>

меняем на:

 

<!--     <input type='radio' name='result_type' class="radiobutton" value='posts' id="result_posts" /><label for="result_posts">{$ibforums->lang['results_post']}</label>	-->

 

 

Все.

Я понимаю что это очень некрасивое решение проблеммы, однако надеюсь что это временно...

 

Давайте общими силами подправим этот search.php чтобы он парсил правильные результаты, со скрытым текстом!

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

Нашел еще место, где просматривается скрытый текст -

при редактировании сообщения

 

skin_post.php

 

ищем

 

function TopicSummary_body($data) {
global $ibforums;
return <<<EOF
  <tr>
    <td class='row4' valign='top' width='20%'><b>{$data['author']}</b></td>
    <td class='row4' valign='top' width='80%'>{$ibforums->lang['posted_on']} {$data['date']}</td>
  </tr>
  <tr>
    <td class='row1' valign='top' width='20%'> </td>
    <td class='row1' valign='top' width='80%'><span class='postcolor'>{$data['post']}</span></td>
  </tr>
EOF;
}

 

меняем на

 

function TopicSummary_body($data) {
global $ibforums;
return <<<EOF
  <tr>
    <!--<td class='row4' valign='top' width='20%'><b>{$data['author']}</b></td>
    <td class='row4' valign='top' width='80%'>{$ibforums->lang['posted_on']} {$data['date']}--></td>
  </tr>
  <tr>
    <!--<td class='row1' valign='top' width='20%'> </td>
    <td class='row1' valign='top' width='80%'><span class='postcolor'>{$data['post']}</span>--></td>
  </tr>
EOF;
}

 

НАРОД! ДАВАЙТЕ СДЕЛАЕМ НОРМАЛЬНЫЙ ХАК! Всего в двух местах подправить нужно!

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

Все. Сделалал "красивое" решение сам - скрытый текст прячется везде, в поиске, в профиле и т.д. Кому надо - пишите. Если попросите, могу залить мод сюда.
Ссылка на комментарий
Поделиться на других сайтах

Song

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

 

Выкладываю сначала сюда, чтобы вы опробовали (у меня уже работает, но все же).

HIDE_HACK.zip

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

allx

ты не прав.

Парсер - как раз самое место. Если это делать не через парсер то придётся ставить скрытие в n местах. А когда в парсере - то всё везде сделается само: в постах, в топиках, в подписи, в поиске, в репутации ну везде вообщем.

Добавлено в [mergetime]1107238802[/mergetime]

ой, сорри я забыл что в стандартном IPB html лежит в БД и выводится сразу минуя парсер http://forum.sources.ru/smiles/YaBb%20(Mastilior%20Skin%20compatible)/wall.gif

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

Song

ага, именно так.

А можно вопрос? Нестандартный это как?? И в каком виде пост хранится в БД в нестандартном?

Я просто с ipb две недели как познакомился, интересно.

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

allx

у меня в форуме пост хранится в том виде как ты его набираешь в форме ответа.

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

Song

Тобишь с тэгами форума. Теперь понял. Впринципе можно и на стандартном парсер подправить, только вот как в парсер передать кол-во постов... Я так понял это надо при анконверте делать, правильно?

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

allx

Посмотрел я твой мод

Вот это

// ############### HIDE (POST) HACK ###################
$DB->query("SELECT posts FROM ibf_members WHERE id='".$ibforums->member['id']."'");
   
while($info = $DB->fetch_row())
{
$numberofposts[]=$info['posts'];
}

ваще супер :D

Как присутствие самого запроса так и $numberofposts[]

 

4. И еще.Нашел еще место, где просматривается скрытый текст -

при редактировании сообщения.

 

Открываем post.php

 

Ищем:

 

 

$row['post'] = preg_replace( "/<img src=[\"'](.+?)[\"'].+?".">/", "(IMG:<a href='\\1' target='_blank'>\\1</a>)", $row['post'] );

   }

 

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

 

// ############### HIDE (POST) HACK ###################  

if(preg_match("#\[hide=(.+?)\](.+?)\[/hide\]#is", $row['post']))

{

preg_match ("#\[hide=(.+?)\]#is",$row['post'] ,$matc );

$row['post'] = preg_replace( "#\[hide=(.+?)\](.+?)\[/hide\]#is", "", $row['post'] );

}

// ############### HIDE (POST) HACK ###################

 

А почему ты интересно удаляешь скрытый текст?

Может быть тот кто будет редактировать пост имеет право смотреть скрытый текст? Тогда и удалять не логично.

Да и интересен сам факт удаления - ведь это редактирование. А редактировать может:

а) хозяин поста

б) модератор

в) админ

 

От хозяина нечего прятать - он сам этот хайд писал.

Ну а модераторы и админы с нулём постов не бывают ;)

 

Вот что ты не нашёл - это ситуация при долгой цитате.

Вот там да, все увидят, если захотят процитировать.

 

5. Таким образом результаты поиска и при редактировании вообще не содержат содержимого внутри [hide=x][/hide].

Правда остается еще одно местечко - форма "легкого поиска" (кнопочка "Простой способ").

Предлагаю за ненадобностью ее спрятать.

 

Открываем skin_search.php

 

Ищем

 

IBF.SIMPLE_BUTTON

 

Закомментируем ее

 

<!--IBF.SIMPLE_BUTTON-->

Так давай весь форум закомментируем? :)

Кто ж так делает?

Надо найти то место где парсятся результаты после полнотекстового поиска и там обработать hide.

 

А вот на это

$tmp1=0;
if (is_array($numberofposts)) {foreach($numberofposts as $tmp2) {if(strnatcmp($tmp2,$matc[0])>=0){$tmp1=1;}}}
else {if(strnatcmp($numberofposts,$matc[0])>=0){$tmp1=1;}}
if($tmp1==1)

я вообще плакаль :)

 

Ну и напоследок.

Чтобы переделать твой мод на ситуацию когда надо чтобы гости не видели скрытый текст надо заменить:

// ############### HIDE (POST) HACK ###################
$DB->query("SELECT posts FROM ibf_members WHERE id='".$ibforums->member['id']."'");
   
while($info = $DB->fetch_row())
{
$numberofposts[]=$info['posts'];
}

на

$numberofposts = $ibforums->member['id'];

А вообще когда ты будешь хорошо в IPB соображать ты будешь на этот мод смеяться :)

Ну ты не обижайся я не со зла ;)

Ты же сказал, что 2 недели на форуме.

Поверь для двух недель это очень хорошо.

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

Что-то странное с номером сообщений твориться... Некоторые видят текст который им видеть по идее не положено по количеству сообщений...

И кстати, тем кто подписан на новые сообщения в теме, где есть скрытые посты, приходит весь текст включая теги [hide] вместе с содержимым. Это не есть гуд.

Идея-то хорошая, но доработать бы плиз... :D

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

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

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

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

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

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

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

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

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

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

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

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