Hide Hack за IPB 2.2.2
Unreal Hide Hack 2.1 for IBF v2.2.2

Описание:
Този мод позволява да скриете съдържанието в даден пост за да стане видим за потребителителя трябва да напишат пост в темата. Съдържанието което искате да скриете се слага в таг> [hide]съдържанието[/hide]

-------------------------------------
Отворете sources/action_public/topics.php
-------------------------------------

-----
Намерете:
-----

$row['post'] = $this->parser->pre_display_parse( $row['post'] );

-------------
Заместете с:
-------------

$row['post'] = $this->parser->pre_display_parse( $row['post'], $row['topic_id'] );


------------------------------------------------
Запазете и го качете sources/action_public/topics.php
------------------------------------------------

----------------------------------------------
Отворете sources/action_public/misc/print_page.php
----------------------------------------------

-----
Намерете:
-----

$row['post'] = $this->parser->pre_display_parse( $row['post'] );

-------------
Заместете:
-------------

$row['post'] = $this->parser->pre_display_parse( $row['post'], $row['topic_id'] );


---------------------------------------------------------
Запазете и го качете sources/action_public/misc/print_page.php
---------------------------------------------------------

----------------------------------------
Отворете sources/classes/post/class_post.php
----------------------------------------

-----
Намерете:
-----

$row['post'] = $this->parser->pre_display_parse( $row['post'] );

-------------
Заместете с:
-------------

$row['post'] = $this->parser->pre_display_parse( $row['post'], $row['topic_id'] );

-----
Намерете:
-----

$tmp_post = trim( $this->parser->pre_edit_parse( $tp['post'] ) );
}

----------
След него добавете:
----------

$tmp_post = preg_replace( "#\[hide\](.+?)\[/hide\]#is", "[ Hidden part. View original post. ]", $tmp_post );

---------------------------------------------------
Запазете и го качете sources/classes/post/class_post.php
---------------------------------------------------

-------------------------------------
Отворете sources/action_public/search.php
-------------------------------------

-----
Намерете:
-----

$row['post'] = $this->topics->parser->pre_display_parse( $row['post'] );

-------------
Заместете с:
-------------

$row['post'] = $this->topics->parser->pre_display_parse( $row['post'], $row['topic_id'] );

------------------------------------------------
Запазете и го качете sources/action_public/search.php
------------------------------------------------

---------------------------------------
Open sources/lib/search_mysql_ftext.php
---------------------------------------

-----
Намерете:
-----

$row['post'] = $this->topics->parser->pre_display_parse( $row['post'] );

-------------
Замести с:
-------------

if(preg_match("#\[hide_me\](.+?)\[/hide_me\]#is", $row['post']))
{
$this->ipsclass->DB->query("select topic_id from ibf_posts where pid = '{$row['pid']}'");
$row['topic_id'] = $this->ipsclass->DB->fetch_row();
$row['topic_id'] = $row['topic_id']['topic_id'];
}
else
{
$row['topic_id'] = '0';
}

$row['post'] = $this->topics->parser->pre_display_parse( $row['post'], $row['topic_id'] );

--------------------------------------------------
Запазете и го качете sources/lib/search_mysql_ftext.php
--------------------------------------------------

---------------------------------------------
Отворете sources/portal_plugins/recent_topics.php
---------------------------------------------

-----
Намерете:
-----

$entry['post'] = $this->portal_object['parser']->pre_display_parse( $entry['post'] );

-------------
Заместете с:
-------------

$entry['post'] = $this->portal_object['parser']->pre_display_parse( $entry['post'], $entry['topic_id'] );

--------------------------------------------------------
Запазете и го качете sources/portal_plugins/recent_topics.php
--------------------------------------------------------

--------------------------
Отворете lofiversion/index.php
--------------------------

-----
Намерете:
-----

$ipsclass->DB->build_query( array( 'select' => 'p.*',

-------------
Заместете с:
-------------

$query = $ipsclass->DB->build_query( array( 'select' => 'p.*',

-----
Намерете:
-----

$ipsclass->DB->simple_exec();

-------------
Заместете с:
-------------

$query = $ipsclass->DB->simple_exec($query);

-----
Намерете:
-----

while( $r = $ipsclass->DB->fetch_row() )

-------------
Заместете с:
-------------

while( $r = $ipsclass->DB->fetch_row($query) )

-----
Намерете:
-----

$r['post'] = $parser->pre_display_parse( $r['post'] );

-------------
Заместете с:
-------------

$r['post'] = $parser->pre_display_parse( $r['post'], $r['topic_id'] );

-------------------------------------
Запазете и го качете lofiversion/index.php
-------------------------------------

----------------------------------------
Отворете sources/lib/func_topic_threaded.php
----------------------------------------

-----
Намерете:
-----

var $post_cache = array();

----------
След него добавете:
----------

var $allposters = array();

-----
Намерете:
-----

$this->post_cache[ $p['pid'] ] = $p;

----------
Над него добавете:
----------

$this->allposters[] = $p['author_id'];

-----
Намерете:
-----

$post_text = $this->lib->parser->strip_all_tags( $post['post'] );

----------
Над него добавете:
----------

if(preg_match("#\[hide_me\](.+?)\[/hide_me\]#is", $post['post']))
{
if(in_array($this->ipsclass->member['id'], $this->allposters))
{
$post['post'] = preg_replace( "#\[hide_me\](.+?)\[/hide_me\]#is", "<{HIDE2}> \\1", $post['post'] );
}
else
{
$post['post'] = preg_replace( "#\[hide_me\](.+?)\[/hide_me\]#is", "<{HIDE1}>", $post['post'] );
}
}

----------------------------------------------
Запазете и го качете sources/lib/topic_threaded.php
----------------------------------------------

--------------------------------------------
Отворете sources/classes/bbcode/class_bbcode.php
--------------------------------------------

-----
Намерете:
-----

function pre_display_parse($t="")

-------------
Заместете с:
-------------

function pre_display_parse($t="", $topicid="")

-----
Намерете:
-----

//-----------------------------------------
// Custom BB code
//-----------------------------------------

if ( strstr( $t, '[/' ) )
{
$t = $this->post_db_parse_bbcode($t);
}

----------
След него добавете:
----------

//-----------------------------------------
// Unreal Hide Hack
//-----------------------------------------

if(preg_match("#\[hide_me\](.+?)\[/hide_me\]#is", $t))
{
$this->ipsclass->DB->query("SELECT author_id FROM ibf_posts WHERE topic_id='".$topicid."'");

while($info = $this->ipsclass->DB->fetch_row())
{
$allposters[] = $info['author_id'];
}

if($allposters != null)
{
if(in_array($this->ipsclass->member['id'], $allposters))
{
$t = preg_replace( "#\[hide_me\](.+?)\[/hide_me\]#is", "<{HIDE2}> \\1", $t );
}
else
{
$t = preg_replace( "#\[hide_me\](.+?)\[/hide_me\]#is", "<{HIDE1}>", $t );
}
}
else
{
$t = preg_replace( "#\[hide_me\](.+?)\[/hide_me\]#is", "<{HIDE1}>", $t );
}
}

-------------------------------------------------------
Запазете и го качете sources/classes/bbcode/class_bbcode.php
-------------------------------------------------------

------------------------------------------
Отворете sources/handlers/han_parse_bbcode.php
------------------------------------------


-----
Намерете:
-----

function pre_display_parse( $text )

-------------
Заместете с:
-------------

function pre_display_parse( $text, $topicid="" )

-----
Намерете:
-----

return $this->bbclass->pre_display_parse( $text );

-------------
Заместете с:
-------------

return $this->bbclass->pre_display_parse( $text, $topicid );

-----------------------------------------------------
Запазете и го качете sources/handlers/han_parse_bbcode.php
-----------------------------------------------------

1) Влезте в админ панела

2) след това Management

3) кликнете на Custom BBCode Manager

4) кликнете на Add New BBCode

Попълнете съдържанието в bbcode >>

Custom BBCode Title: напишете: > Hide Hack

Custom BBCode Description: Позволява да се скрие съдържанието в пост

Custom BBCode Example: [hide]Това е пример![/hide]

Custom BBCode Tag: hide

Use Option in tag?: No

Switch option around?: No

Custom BBCode Replacement: [hide_me]{content}[/hide_me]

Insert into the editor's 'Insert Special' menu?: Yes

Оставете прозно "Enter 'option' dialogue text"

Enter 'content' dialogue text: текста който ще е скрит



5) цъкнете на Add BBCode

6) > Look & Feel

7) > Skin Manager

8) след това от падащото меню изберете Edit Replacement Macros

9) цъкнете на "Add Macro" бутон горе в дясно.

10) В 'Variable' въведете "HIDE1" (без кавичките), в 'Replacement' въведете текста които да се изписва когато не е отговорено в темата. След това цъкате "Add This Macro".

11) Пак избирате "Add Macro" бутон. въвеждате "HIDE2" в 'Variable' в 'Replacement' текста които ще бъде показан след отговор в темата (може и да не пишете нищо да го оставите празно). Цъкате "Add This Macro".

12) Повторете тази стъпка за всички скинове който използвате за да бъде активен този мод и в тях.



Демо: ТУК


/ Трябва да сте регистриран за да напишете коментар /