Skocz do zawartości
"Idzie nowe..." - o zmianach i nie tylko ×
Przeniesienie zakupów z IPS Marketplace / Moving bought items from IPS Marketplace ×

Rekomendowane odpowiedzi

Opublikowano

Aby stworzyć własny tag którego zawartość będzie chowana przed niezalogowanymi wystarczy wykonać kilka kroków.

Uwaga: tag działa tylko przy wyłączonym cache'owaniu postów.

  1. tworzymy plik .php z treścią podaną poniżej (kodowanie utf-8):
    <?php
           class bbcode_hide extends bbcode_parent_class implements bbcodePlugin{
                   public function __construct( ipsRegistry $registry ){
                           $this->currentBbcode    = 'hide';
                           parent::__construct( $registry );
                   }
    
                   protected function _replaceText($txt){
                           $_tags = $this->_retrieveTags();
    
                           foreach( $_tags as $_tag ){
                               $txt = ereg_replace( "\n", " ", $txt );
                               if( $this->memberData['member_id'] ){
                                       $txt = preg_replace( "/\[{$_tag}\](.+?)\[\/{$_tag}\]/i", "<div style=\"border: 1px dotted #333; padding: 1px; background-color: #333; color: #fff; font-weight: bold; height: 16px; font-size: 13px;\">Ukryta zawartość:</div><div style=\"border: 1px dotted #333; border-top: none;\">\\1</div>", $txt );
                               }else{
                                      $txt = preg_replace( "/\[{$_tag}\](.+?)\[\/{$_tag}\]/i", "<div style=\"border: 1px dotted #333; padding: 1px; background-color: #333; color: #fff; font-weight: bold; height: 16px; font-size: 13px;\">Ukryta zawartość:</div><div style=\"border: 1px dotted #333; border-top: none;\">By zobaczyć treść trzeba się <a href='" . $this->settings['board_url'] . "/index.php?app=core&module=global&section=login'>zalogować</a>. Nie masz konta? <a href='" . $this->settings['board_url'] . "/index.php?app=core&module=global&section=register'>Zarejestruj się</a> już teraz!</div>", $txt );
                               }
                           }
    
                           return $txt;
                   }
    
    
           }
    ?>

    Gdzie hide to nazwa tagu.

  2. Wrzucamy go na serwer do katalogu:
    /admin/sources/classes/bbcode/custom/


  3. Teraz odpalamy ACP i w edycji bbcode (Wygląd > Post Content > BBCode Management) dodajemy nowy kod (Dodaj BBCode)
  4. Dodajemy nowy BBCode jak zwykle, tyle że w polu "lub plik PHP do wykonania" wpisujemy nazwę pliku php przez nas stworzonego w kroku 1. i zapisujemy.
    phpc.jpg
  5. Cieszymy się nowym tagiem
    [hide]aasdasdasd blablabla...[/hide]


    który wygląda tak:
    Tak widzi zalogowany użytkownik:
    loginax.jpg
    a tak niezalogowany:
    logoutr.jpg
    UWAGI:

    • TAG działa dla treści mieszczącej się w wielu liniach
    • formatowanie danego bloku, oraz treść wiadomości widzianej przez niezalogowanych, można samemu łatwo zmienić.

Poradnik stworzony przez unbreak, dla serwisu invisionize.pl, kopiowanie, powielanie oraz przetwarzanie go, bez zgody autora, zabronione!

Zgodnie z ustawą z dnia 4 lutego 1994 roku o prawie autorskim i prawach pokrewnych.

  • Lubię to 3

userbar1.jpg

Twiztid Tribe ®

  • Manager
Opublikowano

Dzięki! :)

Pozwoliłem sobie dodać kod odpowiadający za dodanie nazwy domeny forum, zamiast ręcznej zmiany. Zmieniłem również skrócony tag <? na <?php - nie wszystkie serwery je obsługują.

  • Lubię to 1

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

Czy tego kodu nie mozna wkleic zamiast definicji tagu

? Bo nie wiem czy ktokolwiek bedzie wiedzial ze trzeba uzywac hide zamiast code. Ewentualnie czy da sie to jakos automatycznie zamieniac tag code na hide? Czy jest szansa ze ten problem bedzie rozwiazany w kolejnych wersjach IPB, czy oni w ogole o tym nie wiedza? 
  • 2 tygodnie później...
Opublikowano

Witam

Czy w pliku .php który wysyłamy na serwer muszę zmienić polskie literki na ich odpowiedniki w utf? Widzę że tutaj nie ma takiej wzmianki, a po załadowaniu i zrobieniu krok po kroku :P pokazują mi się krzaki.

Tak wiec pytanko czy po prostu zmienić te polskie znaki (sprawdzałem i oczywiście działa) czy jednak pozostawić i coś zrobić jeszcze na forum aby zawartość pliku pozostała oryginalna?

Mam zainstalowane najnowsze forum +spolszczenie też najnowsze dostępne tutaj na forum.

  • Manager
Opublikowano

Witamy na forum!

generalnie to wystarczy przekodować plik np. w programie PSPad, w którym będą widoczne polskie ogonki, ale de facto znaki kodowane będą w wybranym języku.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano

No tak. Po kodowaniu na utf, polskei znaki wyświetlają się prawidłowo.

Ale powstał kolejny problem :>

Moje ustawienia bbcode są takie

post-1552-1260566376,4334_thumb.png

Jeszcze dokładnie nie wiem co to jest "Zawartość pamięci podręcznej została włączona" ale ustawiam na tak, przed zapisem.

Ale zauważyłem, że po edycji postu nawet nic nie zmieniająć, po prostu, edytuj i ponownie zapisz, pole które ma być ukryte przed gośćmi (a w tej chwili tylko admini moga widzieć) te pole staje się widoczne dla każdego. Muszę ponownie odwiedzić bbcode menadżer, ustawić "Usunąć wszystkie 1 zkeszowanych pozycji? na tak" i ponownie zawartość bbcode jest uryta dla wszystkich?

Może ktoś wyjaśnić o co chodzi z tym cache? trochę bez sensu że po edycji postu moje ustawienia w jakimś stopniu się kasują, nie wszystkie bo jednak widać działanie ale nieprawidłowe :)

Opublikowano

Za wiele to tam nie jest rozpisane :). Generalnie to rozumiem o co chodzi z tymi bbcodami a przynajmniej tak mi się wydaje

Tu chodzi chyba jednak o ten plik .php

Pisałem przed chwilą że po "Usunąć wszystkie 1 zkeszowanych pozycji? na tak" Ukryta wiadomość działa że nie widzą jej goście, ale właśnie zauważyłem że również zalogowanym jako admin tez wyświetla się ta informacja "By zobaczyć treść trzeba się zalogować. Nie masz konta? Zarejestruj się już teraz!" bez sensu.

Opublikowano

heh, na pierwszy rzut oka po wyłączeniu działa prawidłowo :-)

PS

A dokładnie o co chodzi z tym cashowaniem? Tutaj szukajka nic ciekawego nie znalazła na ten temat.

Mogę coś specjalnego z funkcjonalności forum stracić jak będę miał wyłączone?

  • Manager
Opublikowano

Za każdym razem posty są ładowane z tabeli z postami ( nie cache postów ) i parsowane w locie. Cache zawiera już sparsowane posty.

Funkcja nie polecana ( wyłączenie cache ) na duże i z dużą ilością ludzi online fora. Na te postawione na słabszych serwerach również.

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

Opublikowano (edytowane)

DawPi, mógłbyś póki co wrzucić w pierwszy post informację iż działa tylko przy wyłączonym cache-owaniu postów? :>

Sam bym to zrobił, ale nie mogę :)

Edytowane przez unbreak

userbar1.jpg

Twiztid Tribe ®

  • 9 miesięcy temu...
Opublikowano

Mam problem jak chce wejść w temat wyskakuje mi taki błąd "Fatal error: Class 'bbcode_parent_class' not found in /home/hardshar/domains/test-warez.vot.pl/public_html/admin/sources/classes/bbcode/custom/hide.php on line 2"

Opublikowano (edytowane)

Właśnie akurat tylko na warezie sie znam tyla razy juz myślalem jaką można tu zrobić strone i nic innego nie przychodziło mi na myśl ;/

W tym linku co podałeś wyżej nie znalazłem żadnej pomocy ;/

Edytowane przez grzecho1993
  • Manager
Opublikowano

No to poczytaj jeszcze raz, bo pomoc tam jest, zupełna i dobra.

Nie znasz się na niczym innym, jak na okradaniu innych z ich pracy? :thumbsup: A może uprawiasz jakiś sport? A poza tym po co tworzyć kolejny milionowy warez? Jest sens?

intermedia - profesjonalne rozwiązania Invision Power Board

---

Chcesz uzyskać szybko i sprawnie pomoc? Uzupełnij wersję i adres w profilu.

  • 9 miesięcy temu...
Opublikowano

Nie chodzi mi o tag CODE,tylko o ten co w temacie.

Pisze co by kodować w UTF-8 wtedy poprawnie będą się wyświetlały polskie znaki.

Robię tak i pokazuje mi błąd składni,można w inny sposób zrobić,aby polskie znaki czyli np:"ukryta zawartość"wyświetlały się prawidłowo ?

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Umieściliśmy na Twoim urządzeniu pliki cookie, aby pomóc Ci usprawnić przeglądanie strony. Możesz dostosować ustawienia plików cookie, w przeciwnym wypadku zakładamy, że wyrażasz na to zgodę.