Pagina 1 van 1

Hide mod

Geplaatst: 05 aug 2004, 16:35
door Nursaniyem
Ik gebruim phhBB2 Plus 1.52
Ik heb het Hide mod ergens gedownload
Ik heb het stappen 1 voor 1 gevolgd
Nu heb ik het hide Mod op mijn Forum/Portal

Alleen het bbcode van Hide dus het icoontje staat niet tussen het icoontjes van het andere bbcode's
Dus leden kunnen niet weten dat dit Mod beschikbaar is op het Forum/Portal.

Het reden dat deze Hide button niet wordt afgebeeld is dat ik optie 7 niet heb kunnen uitvoeren.
Dit is het text bestand(Mod)


Code: Selecteer alles

------------------
1 - In posting.php 
------------------

Find  

if( $attach_sig && $user_sig != '' && $userdata['user_sig_bbcode_uid'] )
{
        $user_sig = bbencode_second_pass($user_sig, $userdata['user_sig_bbcode_uid']);
}

if( $bbcode_on )
{
        $preview_message = bbencode_second_pass($preview_message, $bbcode_uid);
} 
 

Replace by  

$valid = FALSE;
if( $userdata['session_logged_in'] ) {
$sql = "SELECT p.poster_id, p.topic_id
FROM " . POSTS_TABLE . " p
WHERE p.topic_id = $topic_id
AND p.poster_id = " . $userdata['user_id'];
$resultat = $db->sql_query($sql);
$valid = $db->sql_numrows($resultat) ? TRUE : FALSE;}

if( $attach_sig && $user_sig != '' && $userdata['user_sig_bbcode_uid'] )
{
        $user_sig = bbencode_second_pass($user_sig, $userdata['user_sig_bbcode_uid']);
        $user_sig = bbencode_third_pass($user_sig, $userdata['user_sig_bbcode_uid'], $valid);
}

if( $bbcode_on )
{
        $preview_message = bbencode_second_pass($preview_message, $bbcode_uid);
        $preview_message = bbencode_third_pass($preview_message, $bbcode_uid, $valid);
}
 

Find  

if ( !preg_match('/^Re:/', $subject) && strlen($subject) > 0 )
{
        $subject = 'Re: ' . $subject;
} 
 

Add Below  

if( !$userdata['session_logged_in'] ) {$message = hide_in_quote($message);}
else { $sql = "SELECT p.poster_id, p.topic_id
FROM " . POSTS_TABLE . " p
WHERE p.topic_id = $topic_id
AND p.poster_id = " . $userdata['user_id'];
$resultat = $db->sql_query($sql);
if(!$db->sql_numrows($resultat)) {$message = hide_in_quote($message);}
} 


--------------------
2 - In viewtopic.php 
--------------------


Find  

//
// Generate a 'Show posts in previous x days' select box. If the postdays var is POSTed
// then get it's value, find the number of topics with dates newer than it (to properly
// handle pagination) and alter the main query
// 
 

Add below  

$valid = FALSE;
if( $userdata['session_logged_in'] ) {
$sql = "SELECT p.poster_id, p.topic_id
FROM " . POSTS_TABLE . " p
WHERE p.topic_id = $topic_id
AND p.poster_id = " . $userdata['user_id'];
$resultat = $db->sql_query($sql);
$valid = $db->sql_numrows($resultat) ? TRUE : FALSE;}
 

Find  

if ( $user_sig != '' && $user_sig_bbcode_uid != '' )
{
        $user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
}

if ( $bbcode_uid != '' )
{
        $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
} 
 

Replace by  

if ( $user_sig != '' && $user_sig_bbcode_uid != '' )
{
        $user_sig = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($user_sig, $user_sig_bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $user_sig);
        $user_sig = bbencode_third_pass($user_sig, $user_sig_bbcode_uid, $valid);
}

if ( $bbcode_uid != '' )
{
        $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
        $message = bbencode_third_pass($message, $bbcode_uid, $valid);
}
 
-----------------
3 - In search.php
-----------------

Find  

//
// If the board has HTML off but the post has HTML
// on then we process it, else leave it alone
//
if ( $return_chars != -1 ) 
 

And replace it by  

//
// If the board has HTML off but the post has HTML
// on then we process it, else leave it alone
//
if( $return_chars == -1 ) 
 

Find  

if ( $bbcode_uid != '' )
{
        $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
} 
 

Replace by  

if ( $bbcode_uid != '' )
{
        $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
        $message = bbencode_third_pass($message, $bbcode_uid, FALSE); 
}
 
-----------------------
4 - In topic_review.php  // in the "/includes" directory
-----------------------

Find  

        //
        // Okay, let's do the loop, yeah come on baby let's do the loop
        // and it goes like this ...
        //
        if ( $row = $db->sql_fetchrow($result) )
        {
 

Add below  

$valid = FALSE;
if( $userdata['session_logged_in'] ) {
$sql = "SELECT p.poster_id, p.topic_id
FROM " . POSTS_TABLE . " p
WHERE p.topic_id = $topic_id
AND p.poster_id = " . $userdata['user_id'];
$resultat = $db->sql_query($sql);
$valid = $db->sql_numrows($resultat) ? TRUE : FALSE;}
 

Find  

if ( $bbcode_uid != "" )
{
        $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
} 
 

Replace by  

if ( $bbcode_uid != "" )
{
        $message = ( $board_config['allow_bbcode'] ) ? bbencode_second_pass($message, $bbcode_uid) : preg_replace('/\:[0-9a-z\:]+\]/si', ']', $message);
        $message = bbencode_third_pass($message, $bbcode_uid, $valid);
}
 
-----------------
5 - In bbcode.php // in the "/includes" directory
-----------------

Find  

$bbcode_tpl['email'] = str_replace('{EMAIL}', '\\1', $bbcode_tpl['email']);  

Add Below  

$bbcode_tpl['show'] = str_replace('{HTEXTE}', '\\1', $bbcode_tpl['show']);
 

*Before* this text  

/**
 * Does second-pass bbencoding. This should be used before displaying the message in
 * a thread. Assumes the message is already first-pass encoded, and we are given the 
 * correct UID as used in first-pass encoding.
 */ 
 

Add this functions  

function hide_in_quote($text)
{
        $text = preg_replace("#\[hide\](.*?)\[\/hide\]#si","--- phpBB : The Protected Message is not copied in this quote ---", $text);
        return $text;
}

function bbencode_third_pass($text, $uid, $deprotect)
{
        global $bbcode_tpl;

        // pad it with a space so we can distinguish between FALSE and matching the 1st char (index 0).
        // This is important; bbencode_quote(), bbencode_list(), and bbencode_code() all depend on it.
        $text = " " . $text;

        // First: If there isn't a "[" and a "]" in the message, don't bother.
        if (! (strpos($text, "[") && strpos($text, "]")) )
        {
                // Remove padding, return.
                $text = substr($text, 1);
                return $text;
        }
        // Patterns and replacements for URL and email tags..
        $patterns = array();
        $replacements = array();
 
        if ( $deprotect ) {
        $patterns[0] = "#\[hide:$uid\](.*?)\[/hide:$uid\]#si";
        $replacements[0] = $bbcode_tpl['show'];
        }
        else
        {
        $patterns[0] = "#\[hide:$uid\](.*?)\[/hide:$uid\]#si";
        $replacements[0] = $bbcode_tpl['hide'];
        }

        $text = preg_replace($patterns, $replacements, $text);
 
        // Remove our padding from the string..
        $text = substr($text, 1);

        return $text;
}
 

Find in function "bbencode_first_pass"  

// [img]image_url_here[/img] code..
$text = preg_replace("#\[img\](([a-z]+?)://([^ \"\n\r]+?))\[/img\]#si", "[img:$uid]\\1[/img:$uid]", $text);  

Add Below  

//[hide]message[/hide]
$text = preg_replace("#\[hide\](.*?)\[\/hide\]#si","[hide:$uid]\\1[/hide:$uid]", $text);  


-----------------
6 - In bbcode.tpl // in the Templates/{Used template}/ directory
-----------------
 
At the top, add  

<!-- BEGIN show --> 
</span>
<table border="0" align="center" width="90%" cellpadding="3" cellspacing="1">
<tr> 
          <td><span class="genmed"><b>Protected Message:</b></span></td>
        </tr>
        <tr>
          <td class="quote">
                {HTEXTE}
                </td>
        </tr>
</table>
<span class="postbody">
<!-- END show --> 

<!-- BEGIN hide --> 
</span>
<table border="0" align="center" width="90%" cellpadding="3" cellspacing="1">
<tr> 
          <td><span class="genmed"><b>Protected Message:</b></span></td>
        </tr>
        <tr>
          <td class="quote">
                <center>--- If you are a *registered user* : you need to post in this topic to see the message ---</center>
                </td>
        </tr>
</table>
<span class="postbody">
<!-- END hide -->

----------------------- 
7 - In posting_body.tpl // in the Templates/{Used template}/ directory
-----------------------

 This part add a button in the dialog box (newtopic,...).

In the list of "// Helpline messages", add : 
 

h_help = "Hide: [hide]message[/hide] (alt+h)";  

Find this line :
bbtags = new Array('[b]','[/b]'...

And add at the end :
'[hide]' and '[/hide]'

You will obtain something like this :
 

bbtags = new Array('[b]','[/b]','[i]','[/i]','[u]','[/u]','[quote]','[/quote]','[code]','
','
  • ','
','
  • ','
','[img]','[/img]','','','[hide]','[/hide]');


Find

<td><span class="genmed">
<input type="button" class="button" accesskey="w" name="addbbcode16" value="URL" style="text-decoration: underline; width: 40px" onClick="bbstyle(16)" onMouseOver="helpline('w')" />
</span></td>


Add Below : (Don't forget to adapt the "addbbcode" numbers if neccesary ! (exemple: addbbcode18 -> addbbcode20, 20 -> 22, etc)

<td><span class="genmed">
<input type="button" class="button" accesskey="h" name="addbbcode18" value="Hide" style="width: 40px" onClick="bbstyle(18)" onMouseOver="helpline('h')" />
</span></td>[/code]

Het code's dat in optie 7 staat staan niet in mijn posting_body.tpl bestand,kan iemand mij helpen aub.

Geplaatst: 05 aug 2004, 19:38
door cartoontje
Zet posting_body.tpl eens in een tekstbestandje, upload het en geef de link. :)

Geplaatst: 06 aug 2004, 21:03
door Nursaniyem
moet ik die link aan jou geven?

Re: Hide mod

Geplaatst: 06 aug 2004, 21:29
door Stef
Nursaniyem schreef:Het code's dat in optie 7 staat staan niet in mijn posting_body.tpl bestand,kan iemand mij helpen aub.
Ook niet een gedeelte daarvan?

Geplaatst: 07 aug 2004, 09:30
door cartoontje
Nursaniyem schreef:moet ik die link aan jou geven?
Link hier in dit topic zetten.