Zawartość [code] tylko dla zarejestrowanych

Forum przeznaczone dla osób poszukujących modyfikacji do phpBB 3.0.x oraz ich polskich lokalizacji.
Marek607
Posty: 27
Rejestracja: 16 stycznia 2009, 22:38
Kontakt:

Zawartość [code] tylko dla zarejestrowanych

Post autor: Marek607 » 20 stycznia 2009, 13:20

Witam
Adres forum: http://www.power-site.pl
Wersja phpBB3: najnowsza 3.0.4
Forum było instalowane od zera
Serwer na którym zainstalowane jest forum: pxmedia.net
Zainstalowane MODy: Chat

Opcjonalnie:
Używany(e) szablon(y):3myl exellente
Używany(e) język(i): polski
Wersja PHP na serwerze: 3.1.1

Czy jest taka modyfikacja bądź kod który dla niezarejestrowanych użytkowników zamiast zawartości code wyświetlała by coś takiego:

Aby zobaczyć zawartość musisz być zalogowany
Zaloguj
Nie masz konta??
Zarejestruj się!

Awatar użytkownika
daroPL
Zasłużony
Posty: 4564
Rejestracja: 24 czerwca 2005, 13:36
Lokalizacja: Poznań
Kontakt:

Re: Zawartość [code] tylko dla zarejestrowanych

Post autor: daroPL » 20 stycznia 2009, 18:13

Istnieje modyfikacja typu Hide BBcode. Może to Cię zainteresuje?

Marek607
Posty: 27
Rejestracja: 16 stycznia 2009, 22:38
Kontakt:

Re: Zawartość [code] tylko dla zarejestrowanych

Post autor: Marek607 » 20 stycznia 2009, 19:49

akurat nie chce żeby pisali bez sensu posty..........
Chyba że jest jeszcze coś takiego że np. żeby ten tekst widzieć trzebą ,,postawić piwo" , thanksa dać itp......

krzychunh86
Posty: 6
Rejestracja: 01 kwietnia 2009, 21:08

Re: Zawartość [code] tylko dla zarejestrowanych

Post autor: krzychunh86 » 10 kwietnia 2009, 23:12

smuger pisze:Znalazłem rozwiązanie. Podaje jakby ktoś tego szukał:

Ukrywanie tagu [!code]

Instructions:

Open: includes/bbcode.php and find:

Kod: Zaznacz cały

  case 8:
                   $this->bbcode_cache[$bbcode_id] = array(
                      'preg' => array(
                         '#\[code(?:=([a-z]+))?:$uid\](.*?)\[/code:$uid\]#ise'   => "\$this->bbcode_second_pass_code('\$1', '\$2')",
                      )
                   );
                break;


Replace with:

Kod: Zaznacz cały

  case 8:
                   if ($user->data['user_id'] != ANONYMOUS)
                   {
                      $this->bbcode_cache[$bbcode_id] = array(
                         'preg' => array(
                            '#\[code(?:=([a-z]+))?:$uid\](.*?)\[/code:$uid\]#ise'   => "\$this->bbcode_second_pass_code('\$1', '\$2')",
                         )
                      );
                   }
                   else
                   {
                      $this->bbcode_cache[$bbcode_id] = array(
                         'preg' => array(
                            '#\[code(?:=([a-z]+))?:$uid\](.*?)\[/code:$uid\]#ise'   => "\$this->bbcode_second_pass_code_hidden('\$1', '\$2')",
                         )
                      );
                   }
                break;

Find:

Kod: Zaznacz cały

 $code = $this->bbcode_tpl('code_open') . $code . $this->bbcode_tpl('code_close');

          return $code;
       }


Add After:

Kod: Zaznacz cały

       function bbcode_second_pass_code_hidden($type, $code)
       {
          // when using the /e modifier, preg_replace slashes double-quotes but does not
          // seem to slash anything else
          $code = str_replace('\"', '"', $code);

          switch ($type)
          {
             case 'php':
                // Not the english way, but valid because of hardcoded syntax highlighting
                if (strpos($code, '<span class="syntaxdefault"><br /></span>') === 0)
                {
                   $code = substr($code, 41);
                }

             // no break;

             default:
                $code = str_replace("\t", '&nbsp; &nbsp;', $code);
                $code = str_replace('  ', '&nbsp; ', $code);
                $code = str_replace('  ', ' &nbsp;', $code);

                // remove newline at the beginning
                if (!empty($code) && $code[0] == "\n")
                {
                   $code = substr($code, 1);
                }
             break;
          }

          $code = $this->bbcode_tpl('code_open') . $code = $this->bbcode_tpl('code_hidden') . $this->bbcode_tpl('code_close');

          return $code;
       }

Save and close bbcode.php.

Open: language/en/viewtopic.php and find:

Kod: Zaznacz cały

    ));

    ?>


Add Before:

Kod: Zaznacz cały

'CODE_HIDDEN'         => 'CODE is hidden from guests, please register and login to view the code',


Save and close viewtopic.php.

Open: styles/prosilver/template/bbcode.html and find:

Kod: Zaznacz cały

<!-- BEGIN code_open --><dl class="codebox"><dt>{L_CODE}: <a href="#" onclick="selectCode(this); return false;">{L_SELECT_ALL_CODE}</a></dt><dd><code><!-- END code_open -->
    <!-- BEGIN code_close --></code></dd></dl><!-- END code_close -->


Add After:

Kod: Zaznacz cały

<!-- BEGIN code_hidden -->{L_CODE_HIDDEN}<!-- END code_hidden -->


Save and close bbcode.html.

Upload all files to server.

Przykład: http://www.gsmse.pl

Awatar użytkownika
Smuger
Zasłużony
Posty: 359
Rejestracja: 20 czerwca 2008, 19:37
Lokalizacja: phpbb_users

Re: Zawartość [code] tylko dla zarejestrowanych

Post autor: Smuger » 11 kwietnia 2009, 09:07

i nie zapomni dodać
do language/pl/viewtopic.php
'CODE_HIDDEN' => 'Kod ukryty dla gości. Zarejestruj się aby zobaczyć treść tego kodu.',

Zablokowany

Wróć do „Poszukiwania”