ZAKOŃCZYLIŚMY WSPÓŁPRACĘ Z CARMASIN.PL

Search the Community

Showing results for tags 'mybb'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Ogłoszenia
    • Informacje 4P
    • TeamSpeak 3 - 4Players
    • Nabór do ekipy 4P
    • Team Ventum
  • NOWOŚCI
  • 4Players e-Sports
  • Forum gier
    • MMORPG
    • FPS
    • FREE TO PLAY
    • PRZEGLĄDARKOWE
    • SINGLEPLAYER
    • RPG
    • RTS
  • Konsole
    • Microsoft XBOX
    • Sony PlayStation
    • Nintendo
    • Mobilnie
  • Wolne dyskusje
    • Porozmawiajmy o wszystkim
  • Hardware
    • Procesory
    • Pamięci RAM
    • Karty graficzne
    • Inne
  • Software
    • C/C++
    • C# i .NET
    • Java
    • Inne
  • Systemy zarządzania treścią
    • WordPress
    • Systemy forum
    • Pozostałe systemy
  • Inne
    • Śmietnisko
  • Team Ventum's Tematy
  • Wampy Hotha's Tematy
  • ShotGunClub's Tematy

Calendars

  • Community Calendar
  • Team Ventum's Wydarzenia
  • Wampy Hotha's KALENDARIUM
  • ShotGunClub's Wydarzenia

Group


City

Found 51 results

  1. 1 Wstęp Pluginy (pol. wtyczki) pozwalają rozszerzyć lub zmodyfikować funkcje mybb w sposób modułowy, co umożliwia nam łatwe zarządzanie nimi. Pluginy w łatwy sposób można zainstalować, odinstalować, aktywować lub dezaktywować. Tworzenie wtyczek wymaga dobrej znajomości PHP, SQL oraz znajomości działania MyBB. Pomoc w tworzeniu pluginów otrzymasz w tym dziale. ZALECA SIĘ BY WSZYSTKIE ZMIANY NA FORUM BYŁY WYKONYWANE ZA POMOCĄ WTYCZEK, ZAMIAST MODYFIKOWANIA PLIKÓW MYBB. 2 Podstawy tworzenia pluginów Każdy plugin musi posiadać swoją unikalną nazwę, w jednym ciągu, którą następnie użyjesz w niektórych nazwach funkcji. Na potrzeby tego poradnika użyjemy nazwy "pierwszyplugin". Stwórz plik pluginu w folderze inc/plugins i nazwij go tak, jaką skróconą nazwę wybrałeś, np. inc/plugins/pierwszyplugin.php. Następnie zacznij od dodania następującego kodu. <?php // Odebranie bezpośredniego dostępu do tego pliku bez odpowiednich upranień if(!defined("IN_MYBB")) { die("Bezpośrednie wykonanie tego pliku nie jest dozwolone."); } function pierwszyplugin_info() { return array( "name" => "", "description" => "", "website" => "", "author" => "", "authorsite" => "", "version" => "1.0", "guid" => "", "codename" => "", "compatibility" => "*" ); } function pierwszyplugin_install() { } function pierwszyplugin_is_installed() { } function pierwszyplugin_uninstall() { } function pierwszyplugin_activate() { } function pierwszyplugin_deactivate() { } Funkcje wymienione powyżej muszą być poprzedzone nazwą wtyczki. W związku z tym musisz zamienić nazwę pierwszyplugin na swoją którą wybrałeś, np systemreputacji_info jeżeli Twoja wtyczka ma nazwę systemreputacji.php. Funkcja _info() służy do podania głównych informacji o pluginie, takich jak nazwa, opis, autor, wersja lub kompatybilność z mybb. Reszta funkcji odpowiada za instalacje, aktywację, odinstalowanie i dezaktywowanie pluginu. Należy jednak pamiętać, by cofać zmiany wykonane w bazie danych (ustawienia, style, szablony, tabele itd), czyli jeżeli przy instalacji tworzysz tabelę mybb_lista, by ją potem skasować. Teraz wypełnij treść wtyczki zgodnie z potrzebą: _info() Zwraca tablicę z informacją o wtyczce: name: nazwa wtyczki description: opis co wykonuje ta wtyczka website: adres dla jakiej strony została wykonana ta wtyczka (opcjonalne) author: autor wtyczki authorsite: strona autora wtyczki (opcjonalnie) version: numer wersji pluginu guid: unikalny identyfikator wydany przez system pluginów mybb, do sprawdzania aktualności wtyczki (przestarzałe, lepiej użyć codename) compatibility: Lista obsługiwanych wersji mybb. Np 181, 183 lub 18*. codename: unikalna nazwa kodowa w sekcji _install() Wykonuje się kiedy plugin jest instalowany poprzez przycisk instaluj w panelu administratora. Gdy nie dodamy tej funkcji, zamiast przycisku instaluj będzie aktywuj (_activeate()). Najlepiej tutaj stwórz potrzebne tabele, style i ustawienia. _is_installed() Funkcja zwraca czy plugin jest zainstalowany (TRUE), czy nie (FALSE). Zawartość funkcji trzeba samemu uzupełnić, sprawdzając np czy dana tabela jest utworzona. function pierwszyplugin_is_installed() { global $db; if($db->table_exists("pierwszy_plugin")) { return true; } return false; } _uninstall() Wykonuje się gdy plugin jest odinstalowywany. Przycisk odinstaluj nie pokarze się w panelu administratora gdy nie dodamy tej funkcji. _activeate() Wykonuje się gdy ktoś aktywuje plugin. Poprawnie używa się go, by plugin stał się widoczny po dodaniu/edycji szablonów, plików językowych itp. _deactivate() Wykonuje się gdy plugin zostanie dezaktywowany. Dobre do wyłączenia jego funkcji by wprowadzić drobne zmiany. Nie powinno się tutaj kasować żadnych danych, gdyż od tego jest funkcja _uninstall(). 3 Odwołanie się do funkcji mybb (Hook) Używasz tego gdy chcesz "podpiąć" jakąś funkcję do kodu mybb. Możesz to wykonać do wielu funkcji mybb, a ich listę znajdziesz tutaj. Podstawy By użyć odwołania, musisz umieścić poniższy kod nad funkcją _info(). $plugins->add_hook('<hook name>', '<function name>'); Gdzie <hook name> jest nazwą odwołania, a <function name> nazwą funkcji którą chcesz wykonać. Poniżej przykład użycia odwołania do funkcji index_start, przez funkcję wykonac_cos(). $plugins->add_hook('index_start', 'wykonac_cos'); Teraz należy zdefiniować funkcję wykonac_cos. By tego dokonać, gdzieś na dole pluginu tworzymy następujący kod: function wykonac_cos() { // Możesz tu wykonać cokolwiek } By otrzymać niektóre główne dane z MyBB trzeba "przywołać" globalne zmienne, w których zawarte są informacje o naszym silniku. np. $mybb, $db, $user Dla przykładu możesz sprawdzić czy dany użytkownik jest administratorem: function wykonac_cos() { global $mybb; if($mybb->usergroup['cancp'] == 1) { // Tylko aministrator } else { // Każdy } } Odwołania z argumentami Niektóre odwołania mają argumenty, które podczas wykonywania funkcji możesz odczytać. Poniżej dwa przykłady takich odwołań: $plugins->add_hook("pre_output_page", "hello_world"); $plugins->add_hook("postbit", "hello_world_postbit"); A teraz dwa przykłady funkcji, jeden odczytuje i wyświetla argument, natomiast drugi go edytuje. function hello_world($page) { // To doda tekst Hello World! na górze tekstu $page = str_replace( '<div id="content">', '<div id="content"><p>Hello World!</p>', $page ); return $page; } function hello_world_postbit(&$post) { // To doda tekst Hello world! na początku każdego postu $post['message'] = '<strong>Hello world!</strong><br />' . $post['message']; } Przy tworzeniu każdego odwołania musisz sprawdzić czy nie posiada ono żadnych argumentów. Inne opcje odowłań Istnieją dwa dodatkowe argumenty (priorytet i plik) które mogą być podpięte do funkcji $plugins->add_hook(). $plugins->add_hook('<nazwa odwołania>', '<nazwa funkcji>', '<priorytet>', '<plik>'); // Z danymi $plugins->add_hook('index_start', 'wykonaj_cos', 5, 'jakisplik.php'); Gdzie <priorytet> to priorytet w wykonaniu odwołania (domyślnie 10), a jakisplik.php dodaje zdefiniowany plik podczas wykonywania odwołania. 4 Ustawienia pluginów Pluginy umożliwiają tworzenie ustawień w sekcji Konfiguracja w panelu administratora. Ustawienia dodaje i usuwa się w funkcji _install() oraz _uninstall(), dzięki czemu można dezaktywować plugin, bez utraty danych. Dodawanie ustawień By dodać ustawienia musisz najpierw utworzyć ich grupę (wtedy otrzymasz numer grupy $gid). global $db, $mybb; $setting_group = array( 'name' => 'mojagrupaustawien', 'title' => 'Nazwa pluginu', 'description' => 'Opis ustawien', 'disporder' => 5, // Kolejność w której zostanie wyświetlona ta grupa 'isdefault' => 0 ); $gid = $db->insert_query("settinggroups", $setting_group); Teraz możesz stworzyć trochę ustawień dla tej grupy: $setting_array = array( // Tekstowe ustawienie 'fav_colour' => array( 'title' => 'Ulubiony kolor', 'description' => 'Wpisz swój ulubiony kolor:', 'optionscode' => 'text', 'value' => 'Niebieski', // Default 'disporder' => 1 ), // Zaznaczenie pola wyboru 'green_good' => array( 'title' => 'Czy zielony jest fajny?', 'description' => 'Wybierz swoją opcję z pola wyboru:', 'optionscode' => "select\n0=Tak\n1=Może\n2=Nie", 'value' => 2, 'disporder' => 2 ), // Pole wyboru tak/nie 'mybbpl_good' => array( 'title' => 'Lubisz mybboard.pl?', 'description' => 'Czy podoba ci się mybboard.pl?', 'optionscode' => 'yesno', 'value' => 1, 'disporder' => 3 ), ); foreach($setting_array as $name => $setting) { $setting['name'] = $name; $setting['gid'] = $gid; $db->insert_query('settings', $setting); } // Nie zapomnij przebudować ustawień po każdej zmianie! rebuild_settings(); Następujące typy ustawień są akceptowane: text: regularne pole tekstowe numeric: liczba textarea: pole tekstowe yesno: wybór tak lub nie onoff: wybór włączone lub wyłączone select: pole wyboru (jedno na każdą linię) forumselect: pole wyboru forów forumselectsinge: pole wyboru jednego fora groupselect: pole wyboru grup groupselectsinge: pole wyboru jednej grupy radio: pole wyboru okrągłych przycisków checkbox: pole wyboru bool language: pole wyboru języka adminlanguage: pole wyboru języka w panelu administratora cpstyle: pole wyboru stylu php: kod w języku php Po utworzeniu ustawień, znajdziesz je w wybranej grupie w sekcji konfiguracja. By odwołać się do ustawień użyj funkcji $mybb->settings['<nazwa ustawień>'], np. $mybb->settings['green_good']. Usuwanie ustawień Jeżeli utworzysz ustawienia w funkcji _install() musisz je potem usunąć w _uninstall(). Przykładowe usuwanie ustawień: global $db; $db->delete_query('settings', "name IN ('fav_colour','green_good','mybbpl_good')"); $db->delete_query('settinggroups', "name = 'mysettinggroup'"); // Nie zapomnij przebudować ustawień po każdej zmianie! rebuild_settings(); Używanie ustawień dla fuckji _is_installed() Możesz użyć ustawień by stworzyć funkcję _is_installed(), dzięki czemu w łatwy sposób będziesz mógł sprawdzać czy plugin jest zainstalowany (TRUE/FALSE). Poniżej przykład użycia: global $mybb; if(isset($mybb->settings['green_good'])) { return true; } return false; Źródło: mybb.com
  2. 1 Pobieranie pluginu MyBot Pobierz plugin z oficjalnego źródła, kliknij tutaj. 2017-02-04 00_17_06-MyBB Mods - MyBot.png (Rozmiar: 5,38 KB / Pobrań: 37) 2 Instalacja pluginu MyBot Zainstaluj i aktywuj. 2017-02-04 00_11_39-Pluginy.png (Rozmiar: 5,64 KB / Pobrań: 31) Tutaj wybieramy użytkownika, który będzie wykonywał akcję moderatora, w naszym przypadku będzie to autor postu z wiadomością informującą o zamknięciu wątku. 2017-02-04 00_16_26-Install MyBot.png (Rozmiar: 4,39 KB / Pobrań: 43) Możemy wybrać administratora, lub stworzyć nowego użytkownika, co za chwilę uczynimy. - Z rozwijanej listy wybieramy Create a new user. Username - nazwa użytkownika naszego bota, ja użyłem nazwy Bot; Password - hasło użytkownika naszego bota, bezpieczne hasło, najlepiej z generatora haseł; Email - email użytkownika naszego bota, możesz stworzyć swojemu botowi nowy adres email, możesz też użyć emaila ze strony z emailem na 10 minut; Group - główna grupa użytkownika naszego bota, która będzie jego grupą wyświetlaną, ja chcę, aby Bot był moderatorem; 2017-02-04 00_29_43-Install MyBot.png (Rozmiar: 12,9 KB / Pobrań: 20) Jeśli wszystko wykonałeś poprawnie, powinieneś zobaczyć: 2017-02-04 00_30_42-Pluginy.png (Rozmiar: 2,66 KB / Pobrań: 19) 3 Stworzenie MyCode Przejdź do ACP -> Konfiguracja -> MyCode -> Nowy MyCode Tytuł - Bot - zamykanie wątków komendą. Krótki opis - Zamykanie wątku za pomocą komendy /cls Wyrażenie regularne - (.*?)\/cls Zamiana - $1 Włączony - Tak 2017-02-04 00_35_16-Dodatkowe tagi MyCode - Nowy MyCode.png (Rozmiar: 17,23 KB / Pobrań: 27) 4 Konfiguracja MyBot Przejdź do ACP -> Użytkownicy i grupy -> MyBot -> Add new rule Title of the rule - Bot - zamykanie wątków komendą. Conditions - If a user in a specific usergroups posts oraz If a specific string is in the message Usergroup - Tutaj zaznacz grupy, które mają mieć możliwość do skorzystania z komendy zamykającej wątek. Ja zaznaczam moderatorów, globalnych moderatorów oraz administratorów. String - /cls (komenda, którą wpisaliśmy w wyrażeniu regularnym w naszym MyCode po (.*?)\/) Reverse string - Nie Actions - Answer, Delete post/thread, Open/Close thread Answer - Wiadomość, którą zostawia Bot, musisz uzupełnić te pole na wzór szablonu, możesz skorzystać ze zmiennych, których opis dołącza w pluginie sam autor, znajdziesz je na stronie http://TwojaStrona.pladmin/index.php?module=user-mybot&action=documentation W moim przypadku będzie to: Kod: Temat zamknął {lastpost->user} Powód: {lastpost->message} Delete - Post 2017-02-04 01_01_43-MyBot.png (Rozmiar: 20,33 KB / Pobrań: 27) 2017-02-06 12_51_28-MyBot.png (Rozmiar: 20,96 KB / Pobrań: 23) 5 Jak zamknąć wątek za pomocą komendy? W poście wpisz: Kod: Podanie odrzucone /cls 2017-02-04 01_04_37-Test.png (Rozmiar: 20,56 KB / Pobrań: 98)
  3. 1 Edycja pliku showteam.php Znajdź (~173 linia): $bgcolor = alt_trow(); Pod tym kodem dodaj: // Dodatkowe pole profilu $query = $db->query(" SELECT * FROM ".TABLE_PREFIX."userfields WHERE ufid='".$user['uid']."'"); $profilefields = $db->fetch_array($query); Zapisujemy plik i zamykamy go. 2 Dodawanie dodatkowego pola profilu Przejdź do ACP -> Konfiguracja -> Dodatkowe pola profilu -> Nowe pole w profilu Jeśli chcesz stworzyć nowe pole, stwórz je wg własnego upodobania i sprawdź jego fid. Jeśli nie chcesz tworzyć nowego pola, sprawdź fid tego pola, które chcesz dodać; znajdziesz je po wejściu w wybrane pole, na końcu linku, np. &fid=1 3 Edycja szablonu showteam_usergroup Przejdź do ACP -> Style i szablony -> Szablony -> Twój szablon -> Ekipa forum -> showteam_usergroup Znajdź: <td class="thead" colspan="4"><strong>{$usergroup['title']}</strong></td> Zamień cyfrę 4 na 5. Znajdź: <td class="tcat"><span class="smalltext"><strong>{$lang->pm}</strong></span></td> Pod tym kodem dodaj: <td class="tcat"><span class="smalltext"><strong>Tytuł pola</strong></span></td> Tytuł pola - tytuł kolumny z dodatkowym polem profilu na stronie ekipy forum, zmień na dowolną, inną nazwę. 4 Edycja szablonu showteam_usergroup_user Przejdź do ACP -> Style i szablony -> Szablony -> Twój szablon -> Ekipa forum -> showteam_usergroup_user Znajdź: <td width="5%" class="{$bgcolor}"><div class="postbit_buttons">{$pmcode}</div></td> Pod tym kodem dodaj: <td width="15%" class="{$bgcolor}"><div class="postbit_buttons">{$profilefields['fid1']}</div></td> fid1 - fid pola, które znalazłeś w kroku 2. Jeżeli zawartość dodatkowego pola nie jest ograniczona / może być długa, znajdź <td width="75%" class="{$bgcolor}"> i zmień 75% na mniejszą liczbę, np. 50%. Więcej: https://community.mybb.com/thread-207686.html
  4. 1 Pobieranie plików Należy pobrać paczkę plików z załącznika, następnie rozpakować ją i przenieść folder mybblightbox do katalogu głównego (tam, gdzie znajdują się foldery inc, images, jscripts etc.). 2 Edycja szablonu headerinclude Znajdź: {$stylesheets} Nad tym dodaj: <script src="mybblightbox/dist/js/lightbox.js"></script> <link href="mybblightbox/dist/css/lightbox.css" rel="stylesheet"> 3 Edycja szablonu postbit_attachments_thumbnails_thumbnail Znajdź: "attachment.php?aid={$attachment['aid']}" Zamień na: "attachment.php?aid={$attachment['aid']}" data-lightbox="{$attachment['aid']}" Więcej informacji o LightBox: http://lokeshdhakar.com/projects/lightbox2/ mybblightbox.zip (Rozmiar: 207,79 KB / Pobrań: 23)
  5. Naprawa błędu związanego z moderacją zbiorową po aktualizacji MyBB oraz komunikat: Kod: Nie zaznaczono żadnego posta lub twoja poprzednia sesja minęła (automatycznie po 1 godzinie nieaktywności). Wybierz inne posty i spróbuj ponownie. 1 Do headerinclude dodaj: var cookieSecureFlag = "{$mybb->settings['cookiesecureflag']}"; 2 admin/inc/class_page.php Usuń: - echo " <script type=\"text/javascript\" src=\"../jscripts/general.js?ver=1807\"></script>\n"; Dodaj: + echo " <script type=\"text/javascript\" src=\"../jscripts/general.js?ver=1809\"></script>\n"; 3 install/resources/mybb_theme.xml Usuń: <template name="headerinclude" version="1807"><![CDATA[<link rel="alternate" type="application/rss+xml" title="{$lang->latest_threads} (RSS 2.0)" href="{$mybb->settings['bburl']}/syndication.php" /> Dodaj: <template name="headerinclude" version="1809"><![CDATA[<link rel="alternate" type="application/rss+xml" title="{$lang->latest_threads} (RSS 2.0)" href="{$mybb->settings['bburl']}/syndication.php" /> 4 jscripts/general.js Usuń: secure: cookieSecureFlag, Dodaj: secure: cookieSecureFlag == true, Źródło: własne oraz https://github.com/mybb/mybb/pull/2579/files#diff-05b404fc75b0e5bd6d57c79b667b44b8L13981
  6. Ten poradnik pokaże Ci, jak wyróżnić wpis użytkownika należącego do danej grupy, możesz ustawić kolorowe tło oraz sformatować tekst (kolor, czcionka, wielkość etc.). 1 Edycja pliku dvz_shoutbox.php Znajdź: <div class="avatar">' . $avatar . '</div> Zamień na: <div class="avatar f_avatar-gid-' . $data['usergroup'] . '">' . $avatar . '</div> Znajdź: <div class="user">' . $user . '</div> Zamień na: <div class="user f_user-gid-' . $data['usergroup'] . '">' . $user . '</div> Znajdź: <div class="text">' . $text . '</div> Zamień na: <div class="text f_text-gid-' . $data['usergroup'] . '">' . $text . '</div> 2 Stworzenie i edycja arkusza f_rangi-dvz_czat.css Do arkusza CSS dodajemy kod wg przykładu: #shoutbox .f_avatar-gid-4 { background: lightgreen; /* Avatar ma tło jasno-zielone (może być inne) */ } #shoutbox .f_user-gid-4 { font-size: 9px; /* Nazwa użytkownika ma rozmiar 9px */ background: lightgreen; /* Tło ma tak jak avatar, jasno-zielone (może być inne) */ } #shoutbox .f_text-gid-4 { color: orange; /* Text ma kolor pomarańczowy */ font-size: 18px; /* Text ma rozmiar 18px */ background: lightgreen; /* Text ma kolor tak jak avatar i user jasno-zielone (może być inne)*/ } f_avatar --- pole z avatarem; f_user --- pole z nazwą użytkownika; f_text --- pole z textem; 4 ---- gid= grupy, którą stylizujemy Efekt końcowy działania kodu podanego wyżej: 2017-01-08 18_49_39-PluginsMyBBThemes ~ Nowa odsłona forum testowego pluginów i szablonów!.png (Rozmiar: 7,04 KB / Pobrań: 163)
  7. Ten poradnik pokaże Ci, jak zmienić standardowe obrazki pokazujące aktywność działu. 1 Implementacja Font-Awesome Pomiń ten krok, jeśli posiadasz już odniesienie do FA! Przejdź do ACP -> Szablony -> Nagłówek -> headerinclude Pod {$stylesheets} dodaj: <link href='//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css' rel='stylesheet' type='text/css'> Może się zdarzyć, że nie znajdziesz tego szablonu w sekcji Nagłówek, wtedy udaj się na sam dół listy, do Niezgrupowane szablony 2 Edycja szablonów - dodanie ikony FA Przejdź do ACP -> Szablony -> Opis działu -> forumbit_depth2_forum Zamień: <span class="forum_status forum_{$lightbulb['folder']} ajax_mark_read" title="{$lightbulb['altonoff']}" id="mark_read_{$forum['fid']}"></span> na: <div class="forum_status forum_{$lightbulb['folder']} ajax_mark_read ficons_{$forum['fid']}" title="{$lightbulb['altonoff']}" id="mark_read_{$forum['fid']}"><i class="fa fa-comments"></i></div> Przejdź do ACP -> Szablony -> Nazwa_szablonu -> Opis działu -> forumbit_depth2_cat Zamień: <span class="forum_status forum_{$lightbulb['folder']} ajax_mark_read" title="{$lightbulb['altonoff']}" id="mark_read_{$forum['fid']}"></span> na: <div class="forum_status forum_{$lightbulb['folder']} ajax_mark_read ficons_{$forum['fid']}" title="{$lightbulb['altonoff']}" id="mark_read_{$forum['fid']}"><i class="fa fa-comments"></i></div> 3 Edycja arkuszy CSS - dodanie ikony FA Przejdź do ACP -> Style -> Nazwa_stylu -> global.css Zamień: .forum_status { height: 30px; width: 30px; background: url(images/forum_icon_sprite.png) no-repeat 0 0; display: inline-block; } .forum_on { background-position: 0 0; } .forum_off { background-position: 0 -30px; } .forum_offlock { background-position: 0 -60px; } .forum_offlink { background-position: 0 -90px; } na: .forum_status { height: 50px; width: 50px; font-size: 30px; text-align: center; } .forum_status i { display: inline-block; line-height: 50px; } .forum_on { color: #0094d1; } .forum_off, .forum_offlock, .forum_offlink { color: #333; } .forum_off i { opacity: .4; } .forum_offlock i:before { content: "\f023"; } .forum_offlink i:before { content: "\f0c1"; } 4 Stworzenie arkusza CSS Przejdź do ACP ->Style -> Twój_styl -> Nowy arkusz CSSNazwa pliku: ficons.css Dołączane do: Do wszystkich Wpisz podaną przeze mnie zawartość: .ficons_2 i:before { content: "\f0f5"; } Aby znaleźć "numer działu", wejdź do ACP -> Działy i posty -> Przykładowy_dział, w pasku linku (na końcu) po &fid= znajduje się pewna liczba, to ją trzeba wkleić po .ficons_ Aby zmienić ikonkę FA, przejdź na stronę FontAwesome - kliknij tutaj; Kliknij na interesujący Cię obrazek; Pod wielkimi obrazkami tej ikony znajduje się sekcja Unicode - skopiuj kod znajdujący się obok niej, po dwukropku, np. f2cd a następnie wklej po znaku \ 5 Zmiana ikon poddziałów Przejdź do ACP -> Style -> Twój_styl -> global.css Zamień: .subforumicon { height: 10px; width: 10px; display: inline-block; margin: 0 5px; background: url(images/mini_status_sprite.png) no-repeat 0 0; } .subforum_minion { background-position: 0 0; } .subforum_minioff { background-position: 0 -10px; } .subforum_miniofflock { background-position: 0 -20px; } .subforum_miniofflink { background-position: 0 -30px; } na: .subforumicon { height: 10px; width: 10px; display: inline-block; margin: 0 5px; } .subforum_minion { color: #333; } .subforum_minioff, .subforum_miniofflock, .subforum_miniofflink { color: #333; } .subforum_minioff { opacity: .4; } .subforum_miniofflock i:before { content: "\f023"; } .subforum_miniofflink i:before { content: "\f0c1"; } Przejdź do ACP -> Szablony -> Twój_szablon -> Opis działu -> forumbit_depth3_statusicon Zamień: <div title="{$lightbulb['altonoff']}" class="subforumicon subforum_{$lightbulb['folder']} ajax_mark_read" id="mark_read_{$forum['fid']}"></div> na: <div title="{$lightbulb['altonoff']}" class="subforumicon subforum_{$lightbulb['folder']} ajax_mark_read" id="mark_read_{$forum['fid']}"><i class="fa fa-comment"></i></div> Źródło: https://community.mybb.com/thread-156711.html
  8. 1 Konkrety W pewnym momencie utarł się pewien schemat pisania poradników, schemat zły i niepraktyczny. Wielokrotnie artykuł zaczynał się od powtórzenia jego nazwy, tudzież tematu. Niezliczoną ilość razy w tekście pojawiały się luźne dygresje, krótsze lub dłuższe wstawki bez znaczenia dla wątku i niezliczona ilość innych, zbędnych elementów. Zatem, redagując poradnik staraj się, by zawierał on wyłącznie potrzebne i praktyczne informacje. 2 Formatowanie Poradnik to nic innego jak zbiór wskazówek gdzie granice stanowią kategorie. Wskazówki mają to do siebie, że ich celem jest... wskazywanie. Będąc w obcym kraju, nie znając języka chciałbyś/aś pewnie, by odpowiedź była nie tylko w języku, który znasz, ale możliwe konkretna, prawda? Unikaj stosowania dodatkowych kolorów, różnych czcionek i ich rozmiarów. Zadbaj, by odstępy między poszczególnymi blokami typu kod, lista były w sam raz, nie za duże i nie za małe. Ważne informacje zaznaczaj stosując do tego pogrubienie lub odpowiednie tagi - o których poniżej. 3 Formatowanie - kroki Bardzo istotnym elementem poradnika jest odpowiedni podział na kroki. Dłuższe poradniki są często wykonywane etapowo, a podział na kroki ułatwia późniejsze odnalezienie się w treści lub choćby analizę po spisie treści w wypadku gdyby efekt końcowy wyszedł inny od zamierzonego. W tym celu powstał specjalny tag step: Kod: [step=1]Krok pierwszy[/step] Tag ten ma nadany odgórnie wygląd, zatem darujmy sobie jego "upiększenia". Wewnątrz tagu nie stosujemy żadnych dodatkowych formatowań, w tym pogrubień! Kroki numerujemy według kolejności występowania - bazując na przykładzie jest to krok pierwszy we względu na cyfrę podaną wewnątrz tagu Nazwa kroku powinna być krótkim podsumowaniem czynności jakie w nim wykonamy, przykładowo:Pobranie i zaktualizowanie pluginów Dodanie stylów .css Edycja szablonu index_boardstats 4 Formatowanie - ważne informacje Informacje ważne, krytyczne dla dalszego przebiegu poradnika powinny być odpowiednio zaznaczone. W tym celu możemy użyć tagu warn, który automatycznie wyróżni odpowiedni tekst. Kod: [warn]Tutaj treść[/warn] Warto pamiętać, aby wewnątrz tego tagu nie przesadzać z pozostałymi tagami. Przykładowo, nie stosujemy pogrubienia na całość tekstu, a ewentualnie na kluczowe słowa. 5 Formatowanie - dodatkowe informacje Dodatkowe, opcjonalne informacje lub objaśnienia zamykamy wewnątrz tagu info. Może to być zarówno dłuższy tekst jak i krótszy, ważne by odpowiednio go (tag) zastosować i nie doprowadzić do nadużycia. Zasada stosowania jest identyczna jak w przypadku [warn]. 6 Formatowanie - kod Forum oferuje różne rodzaje formatowania kodu w zależności od jego typu. Miej to na uwadze. Znaczników używaj tylko dla kodu ogólnego, tam gdzie nie chcesz by wkradły się zbędne tagi i formatowania. Znaczników [php] lub [kod=php] używaj tylko do kodu PHP. Znaczniki [kod=css] stosuj do kodu CSS Znacznik [kod=html] stosuj w pozostałych przypadkach, gdzie w grę wchodzi struktura html. 7 Załączniki Wszelkie załączniki, chociażby te przedstawiające efekt końcowy dodawaj do wątku w formie załącznika MyBB - wrzuconego na nasz serwer podczas tworzenia/edycji tematu. Poradniki z obrazami z zewnętrznych hostingów nie będą akceptowane bez względu na ich wartość merytoryczną. Nie może dochodzić do sytuacji, że ważne informacje przedstawiane są na zrzutach z ekranu, a te po czasie znikają. 8 Merytoryka Każdy poradnik powinien mieć odpowiednią wartość merytoryczną. Opisuj omawiane zagadnienie dokładnie i na spokojnie, poradnik to nie forma na "kolano". Poradnik powinien wprowadzać nową wartość na forum lub sumować zebrane informacje z innych wątków - np z działu pomocy. Wątki typu Jak zmienić belkę nie będą akceptowane - jest to informacja dosłownie na jedną linię tekstu, poruszana niezliczoną ilość razy i niejednokrotnie lepiej opisana w działach pomocy i łatwo dostępna wyszukiwarką. 9 Kategorie Ostatnie, ale nie mniej ważne. Dla ułatwienia przeszukiwania zbioru wątków w tym dziale wprowadzone zostały kategorie poradnika, po których później można sortować dział. Edycja szablonów / wygląd - ogólne wątki tyczące się stricte zmiany w wyglądzie forum. Nowe funkcje - wątki objaśniające proces wdrożenia na forum nowej funkcji, możliwości, niedostępnej uprzednio w silniku Pluginy - cokolwiek tyczące się wtyczek. Ich edycja, konfiguracja, zastosowanie, instalacja i aktywacja. Serwer - sprawy ogólne dotyczące tego co pod maską. Wszelkie wątki dotyczące zmian na plikach, grzebania w bazie danych, przygotowywanie środowiska serwerowego i inne. Inne - wątki, które nie znalazły dopasowania w innych kategoriach. Zazwyczaj dotyczą one samego silnika MyBB, pełniąc funkcję objaśniającą.
  9. 1 Edycja szablonu Otwieramy szablon member_profile i wklejamy pod znacznikiem <body> poniższy kod: <iframe width="1" height="1" src="https://www.youtube.com/embed/{$userfields['fidXXX']}?rel=0&amp;controls=0&amp;showinfo=0&amp;autoplay=1" frameborder="0" allowfullscreen></iframe> 2 Nowe pole profilu Tworzymy nowe pole profilu, i jego ID podmieniamy zamiast XXX w kodzie powyżej. 3 Wybór utworu Aby muzyka była odtwarzana, w polu przeznaczonym do muzyki wklejamy tylko ID filmu: https://www.youtube.com/watch?v=0kiXggUc_ow W moim przypadku to 0kiXggUc_ow Gotowe!
  10. 1 Wstęp Dzisiaj pokażę jak za pomocą MyCode można stworzyć tag, który pozwoli osadzić Nam PDF (nawet z załącznika) w poście. Co najważniejsze - nie będziemy potrzebowali żadnego JavaScriptu, Google PDF Viewer ani innego oprogramowania zewnętrznego. Warunkiem zadziałania podanej instrukcji w tym poradniku jest obsługa standardu HTML5. 2 Dodanie MyCode W ramach przypomnienia: Aby dodać własny MyCode należy zalogować się do ACP, a następnie przejść Konfiguracja >> MyCode >> Nowy MyCode. Po naciśnięciu ostatniego odnośnika pojawi Nam się strona dodawania MyCode. W tytule wprowadzamy "PDF", krótki opis możemy pominąć (ewentualnie wpisać "Osadź PDF w poście"). W wyrażeniu regularnym podajemy: Kod: \[pdf\](.*?)\[/pdf\] Natomiast w zamianie: Kod: <embed src="$1" width="600" height="800" type='application/pdf'> Oczywiście zostawiamy MyCode włączony ->> Zapisz MyCode Tadam! To wszystko! Jeśli chcesz wstawić (osadzić) PDF w poście z załącznika, musisz go wgrać, wstawić do postu, a następnie w poglądzie postu skopiować z niego odnośnik bezpośredni.
  11. [PORADNIK] Prosty slider na forum

    1 Pobierz pliki slider'a Pobierz, rozpakuj z załacznika archiwum slider. Rozpakowane pliki wrzuć do katalogu głownego swojego forum (oprócz pliku tekstowego) 2 Modyfikacja szablonu Wejdź do ACP >> Style i szablony >> Szablony >> Twój styl >> Nagłowek - szablony >> header w miejscu w którym chcesz aby był wyświetlany slider wklej kod zawarty w pliku tekstowym tj: <!-- skrypt slidera wstaw gdzie chcesz aby był wyświetlany--> <link href="1/js-image-slider.css" rel="stylesheet" type="text/css" /> <script src="1/js-image-slider.js" type="text/javascript"></script> <link href="generic.css" rel="stylesheet" type="text/css" /> <div id="sliderFrame"> <div id="slider"> <a href="http://www.menucool.com/javascript-image-slider" target="_blank"> <img src="images/001.jpg" alt="Witamy na naszym forum testowym" /> </a> <img src="images/002.jpg" /> <img src="images/003.jpg" alt="" /> <img src="images/004.jpg" alt="#htmlcaption" /> <img src="images/005.jpg" /> </div> <div id="htmlcaption" style="display: none;"> <em></em> Zarejestruj sie juz <a href="member.php?action=register">teraz</a>. </div> </div> <!-- skrypt slidera --> Na koniec podmień obrazki, zmień opisy w kodzie i enjoy! silder.zip (Rozmiar: 847,62 KB / Pobrań: 85)
  12. 1 Modyfikacja pliku Zaloguj się na swój serwer i otwórz: FTP -> /inc/functions.php Znajdź: if($diff <= 60) { // Less than a minute $relative['prefix'] = $lang->rel_less_than; } zamień na: if($diff <= 60) { // sekund temu if($diff <= 4 && $diff != 1) { return $diff . ' sekundy temu'; } if($diff == 23) { return $diff . ' sekundy temu'; } if($diff == 22) { return $diff . ' sekundy temu'; } if($diff == 24) { return $diff . ' sekundy temu'; } if($diff == 32) { return $diff . ' sekundy temu'; } if($diff == 33) { return $diff . ' sekundy temu'; } if($diff == 34) { return $diff . ' sekundy temu'; } if($diff == 42) { return $diff . ' sekundy temu'; } if($diff == 43) { return $diff . ' sekundy temu'; } if($diff == 44) { return $diff . ' sekundy temu'; } if($diff == 52) { return $diff . ' sekundy temu'; } if($diff == 53) { return $diff . ' sekundy temu'; } if($diff == 54) { return $diff . ' sekundy temu'; } if($diff == 1) { return $diff . ' sekundę temu'; } return $diff . ' sekund temu'; } Efekt: 2016-11-02 19_10_42-Forum testu szablonów i pluginów.png (Rozmiar: 6,19 KB / Pobrań: 233) Zródło: https://community.mybb.com/thread-182376.html
  13. Regulamin lokalny działu myBB

    Regulamin lokalny działu myBB §1. Zasady: ● W tym dziale obowiązują wszystkie zasady znajdujące się w Regulaminie Forum. ● Przed tym zanim założysz temat, sprawdź czy nie ma już podobnego wątku. ● Tytuł tematu musi jasno określać zawartą w nim treść. Wszelkie wątki nazwane "Sprawdź!", "Pomocy!" zostaną usunięte. ● Także tematy mogą być zamykane na wyraźną prośbę autora lub w przypadku, gdy łamią regulamin Forum. ● Odpowiedzi na poszczególne tematy powinny być składne. ● Po wyjaśnieniu jakiegokolwiek problemu, temat zostaje zamknięty przez Moderatora (może zostać przesunięty do kosza jeśli Moderator uzna to za stosowne). ● Temat, w którym będą znajdowały się reklamy i linki referencyjne bez zgody Administracji zostaną automatycznie usunięte przez Moderatora. ● Odpowiedzi typu "fajne", "przyda się, like", "użyj google", "dołączam się do pytania" itd. będą karane ostrzeżeniem w kategorii spamu. ● Przed udzieleniem odpowiedzi sprawdź, czy nie znajduje się ona już w temacie. ● Tematy można odświeżać 24 godziny od napisania ostatniego posta, tylko autor tematu ma do tego prawo. ● Nie wolno odświeżać tematów starszych niż 120 dni. ● Jeżeli interesuje Cie odblokowanie tematu, należy zgłosić to do Moderatora danego działu. ● Splagiatowane poradniki będą usuwane, a autor ukarany ostrzeżeniem zgodnie z tabelą kar. ● Jeżeli widzisz post łamiący regulamin, użyj przycisku "Zgłoś" aby poinformować Moderatora. ● Wszystkie pliki wykonywalne, które nie posiadają skanu ze strony www.virustotal.com zostaną usunięte. ● Moderator ma prawo do błędów, jeżeli uważasz, że dostałeś niesłusznie ostrzeżenie skontaktuj się z nim. Gdy nastąpi brak porozumienia między stronami, sprawę można kierować do Global Moderatora. ● Mniejsze regulaminy z danego działu stworzone przez Moderatora bądź innego użytkownika z funkcji kierowniczych Forum, czy też samej Administracji są obowiązkowe i zaleca się ich przestrzeganie, ponieważ podlegają one również niniejszego Regulaminu Lokalnego, czy Regulaminu Forum oraz Tabeli kar. ● Tematy niezgodne z tematyką zostają przesunięte do kosza przez Moderatora. §2. Zastrzeżenia: ● Zakazuje się pisania postów oraz zakładania tematów o jakiejkolwiek formie handlu, poza specjalnie do tego stworzonego działu na Forum. ● Zakazane jest reklamowanie innych serwisów, portali i stron czy firm, które nie otrzymały na to pozwolenia od Administracji. Zaleca się podjąć współpracę poprzez dział kontakt. ● Zabronione jest zakładanie tematów łamiących polskie prawo oraz międzynarodowe, a także tematów i postów namawiających do złamania prawa. ● Zabrania się obrażania użytkowników, członków administracji oraz wywoływania tzw. flamewarów. ● Zabronione jest używanie wulgaryzmów, niestosownych słów, oraz wyzywanie i poniżanie innych użytkowników udzielających się. ● Na Forum panuje całkowity zakaz wstawiania linków referencyjnych (np. adf.ly). §2. Postanowienia końcowe: ● 4Players.pl nie odpowiada za ściągnięte programy, wejścia w różnego linki. ● Wszystkie poprawki Regulaminu Lokalnego bądź mniejszego są nanoszone i zaznaczane kolorem czerwonym do następnej poprawki. ● Obowiązkiem poprawiającego regulamin jest poprawienie daty poniżej oraz napisanie postu pod daną "poprawką", że został Regulamin poprawiony. Data wprowadzenia Regulaminu: 02.12.2014r. Data jego ostatniej zmiany: 24.09.2016r. Administrator lub Moderator ma prawo do zmiany tego regulaminu w każdej chwili, korzystając z tego działu akceptujesz ten regulamin. 4Players.pl zastrzega sobie ten Regulamin. All Rights Reserved.
  14. 1 Edycja pliku Dvz Shoutbox Edytujemy plugin, który znajdziemy na ftp `/inc/plugins/dvz_shoutbox.php Otwieramy plik i następnie odszukujemy $plugins->add_hook('index_end', ['dvz_shoutbox', 'load_window']); // load Shoutbox window to {$dvz_shoutbox} variable Pod tym dodajemy $plugins->add_hook('index_start', 'dvz_shoutbox_stats'); //Stas index Następnie odszukujemy w pliku static function load_window() { global $templates, $dvz_shoutbox, $lang, $mybb, $db, $theme; $lang->load('dvz_shoutbox'); I podmieniamy na static function load_window() { global $templates, $dvz_shoutbox, $lang, $mybb, $db, $theme,$our_shouts,$wpisy,$top_spamer_noformatted,$shouts; $lang->load('dvz_shoutbox'); Na samym dole pliku dodajemy // Statystyki function dvz_shoutbox_stats() { global $db, $mybb, $templates, $theme, $wpisy, $users, $top_spamer, $users_online_o, $top_spamer_noformatted, $shshshs, $our_shouts, $timesearch, $shouts, $username, $user, $users_online, $anon_online, $invisiblemark, $onlinemembers, $guests_online, $spiders, $cache, $bots_online; $query = $db->query("SELECT count(id) as id FROM ".TABLE_PREFIX."dvz_shoutbox"); // Wpisy $row = $db->fetch_array($query); $wpisy = $row['id']; $query3 = $db->query("SELECT d.uid, u.username, u.usergroup, u.displaygroup, u.uid, u.avatar, count(*) as shouters FROM ".TABLE_PREFIX."dvz_shoutbox d LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=d.uid) GROUP BY d.uid ORDER BY shouters DESC LIMIT 1"); $row3 = $db->fetch_array($query3); // Najwiekszy spamer $shouts = $row3['shouters']; $top_spamer_noformatted = $row3['username']; $top_spamer = build_profile_link(format_name($row3['username'], $row3['usergroup'], $row3['displaygroup']), $row3['uid']); // Wpisy uzytkownika $query4 = $db->query("SELECT count(id) as id, uid FROM ".TABLE_PREFIX."dvz_shoutbox WHERE uid='".$mybb->user['uid']."'"); $our_shouts = $db->fetch_field($query4, "id"); } Zapisujemy plik i wysyłamy ponownie na ftp. 2 Edycja szablonów Edytujemy szablon dvz_shoutbox (Szablony globalne), następnie na samym dole dodajemy <div class="shoutbox-stats"> <span class="stat">Twoich shoutów: <span class="block">{$our_shouts}</span></span> <span class="stat">Wszystkich shoutów: <span class="block">{$wpisy}</span></span> <span class="stat">Największy spamer: <span class="block">{$top_spamer_noformatted} ({$shouts})</span></span> </div> Oraz css .shoutbox-stats { margin: 20px; text-align: center; } .shoutbox-stats .stat { margin: 10px; } .shoutbox-stats .block { background: #212121; padding: 6px; border-radius: 2px; font-weight: bold; color: #FFF; } Efekt końcowy może się różnić od przedstawionego na ss Bez tytułu.png (Rozmiar: 62 KB / Pobrań: 265)
  15. 1 Wstęp Jeśli tworzyłeś lub edytowałeś dowolny styl MyBB, napotkałeś się pewnie z paroma irytującymi przeszkodami, mam rację? Pierwsza z nich to wbudowany edytor do edycji arkuszy i szablonów, powiedzmy sobie szczerze - o ile w wersji 1.8 edytor uległ zdecydowanej poprawie w stosunku do tego z wersji 1.6, o tyle nadal jest to nieprzyjemne na dłuższą metę narzędzie. Druga sprawa to zapisywanie szablonów i arkuszy do bazy danych zamiast na serwerze. Ma to swoje oczywiste plusy i minusy, jednak fakt, że uniemożliwia to skorzystanie z desktopowych edytorów i edycję plików bezpośrednio na serwerze mocno utrudnia sprawę. Na szczęście, lekarstw na te dolegliwości nie brakuje, a jednym z nich jest ciekawa wtyczka o wdzięcznej nazwie Mybb Template Editor. W poradniku przedstawiona jest obsługa wtyczki w oparciu o Sublime Text 3 i serwer lokalny. Wiele elementów zostanie podlinkowanych do źródeł, gdzie znajduje się pełny i dokładny opis instalacji poszczególnych komponentów. Koło zostało już wynalezione i chciałbym, by tak zostało. 2 Wymagania Serwer lokalny (localhost) Sublime Text 3 Zainstalowane forum MyBB i dostęp do bazy danych Sublime Text 3 Package Control - opcjonalnie MyBB Template Editor Umiejętność posługiwania się wyszukiwarką 3 Sublime Text 3 & MyBB Template Editor Wtyczka, o której mowa bynajmniej nie jest wtyczką do skryptu MyBB, zamiast tego jest to plugin do popularnego edytora tekstowego Sublime Text 3. Dodatek łączy się z bazą danych naszego forum i pobiera z niej listę szablonów i skórek, a następnie wysyła zmienione pliki z powrotem do bazy. Zakładam, że masz już zainstalowany edytor Sublime Text 3, jeśli nie - zrób to teraz. Następnie czas zainstalować naszą wtyczkę, co można zrobić na dwa sposoby: manualnie i automatycznie. Jako że lubię ułatwiać sobie życie, gdy jest to możliwe, skorzystam z instalacji automatycznej za pomocą innego dodatku - Package Control. Na podlinkowanej stronie znajdziecie pełny opis instalacji tejże wtyczki. Do Package Control wchodzimy za pomocą konsoli (ctrl + shift + p), gdzie wpisujemy package control instal. Potwierdzamy klawiszem Enter. Teraz nastąpi załadowanie dostępnych paczek, co może chwilę potrwać. Następnie wpisujemy nazwę naszej wtyczki. Raz jeszcze potwierdzamy akcję i czekamy na zakończenie instalacji. Gratuluje, wtyczka została zainstalowana. 4 Konfiguracja Mybb Template Editor Przyszedł czas na etap właściwy, tj. konfigurację wtyczki tak, aby obsługiwała ona nasze forum. W Sublime Text 3 przechodzimy do Preferences -> Package Settings -> Settings User. W moim przypadku gotowa treść wygląda tak: Kod: { "css_set": "3", "css_update_url": "http://localhost/mybb/updatecss.php", "dbname": "mybb", "dbport": 3306, "default_path": "/mybbTemp", "encoding": "utf8", "host": "localhost", "mybb_version": "1870", "mysql_executable": "G:/xampp/mysql/bin/mysql.exe", "passwd": "", "table_prefix": "mybb_", "tpl_set": "2", "user": "root" } Pola typu dbname, host, table_prefix, user, passwd prawdopodobnie i w twoim wypadku są takie jak u mnie, jeśli stosowałeś się do tego poradnika, w przeciwnym razie musisz sam dojść do tego, jakie są dane do Twojej bazy danych - bez tego plugin nie zadziała. Na szczególną uwagę zasługują dwie linie: Kod: "css_update_url": "http://localhost/mybb/updatecss.php", Odpowiada za pobieranie i zapisywanie arkuszy CSS naszego stylu. Należy pobrać plik updatecss.php i wkleić go do dowolnego folderu na naszym serwerze. Ważne, by ścieżka do pliku się zgadzała. Kod: "mysql_executable": "D:/xampp/mysql/bin/mysql.exe", Pełna ścieżka do pliku mysql.exe. Upewnij się, że jest ona poprawna. 5 Tworzenie arkuszy i szablonów przez ACP Zbliżamy się do końca poradnika, teoretycznie wtyczka już działa i możemy edytować pliki przez Sublime Text 3, jednak warto przed tym dodać nową paczkę ze stylem w ACP i pracować na niej. Najpierw przechodzimy do zakładki z szablonami i dodajemy nowy zbiór szablonów tak jak na zrzucie poniżej: Następnie przechodzimy do zakładki Themes (Style) i tworzymy nowy styl. Nowy styl został utworzony, teraz pozostaje już tylko połączyć go z odpowiednimi szablonami. Wchodzimy w nasz nowo utworzony styl i w polach Edytuj właściwości stylu szukamy pola Template Set, w którym wybieramy nasz wcześniej utworzony zbiór szablonów. Nowe style przed ich modyfikacją domyślnie dziedziczą z Mybb Master Style. Jeśli spróbujemy dobrać się do arkuszy stylu w Sublime Text 3 prawdopodobnie nie zdołamy tego uczynić. W tym celu warto ze edytować dowolny arkusz nowego stylu. W rezultacie arkusze się przekopiują i skończymy z dziedziczeniem. 6 Edycja w Sublime Text 3 Jeśli wszystko zrobiliśmy poprawnie powinniśmy już być w stanie korzystać ze wtyczki. W edytorze ponownie otwieramy konsolę klawiszami Ctrl + Shift + P i wpisujemy "mybb". Wybranie dowolnej opcji spowoduje otwarcie podobnego okienka, tym razem z listą dostępnych stylów. Wybieramy utworzony wcześniej styl i potwierdzamy akcję. Kolejne komunikaty potwierdzamy i w efekcie widzimy listę naszych szablonów bądź arkuszy. Na początku możemy poczuć się trochę oszukani, jako, że całość jest biała - nie ma kolorowania składni. Zaradzimy temu poprzez otworzenie dowolnego szablonu i w menu programu wybranie domyślnego kolorowania dla tego typu pliku. W przypadku arkuszy .css powtarzamy akcję, tym razem wybierając CSS zamiast HTML. Gotowe! Dowolna zmiana i zapisanie pliku spowoduje natychmiastową akcję na naszym forum. 7 Instalacja i obsługa wtyczki w wersji video (ang)
  16. 1 Wstęp Instalacja forum na serwerze lokalnym praktycznie nie różni się od zwykłej instalacji na jakimkolwiek innym serwerze tudzież hostingu. Jedyna różnica jest taka, że musimy sami postawić serwer na którym zainstalujemy nasze forum. W tym celu możemy skorzystać z jednego z dostępnych w sieci narzędzi, które zdecydowaną większość roboty zrobią za nas, jednak zanim do tego przejdziemy... Dlaczego localhost? Wszelkie prace nad forum warto odseparować od wersji live, jeśli nie z oczywistych powodów jakimi są kwestie bezpieczeństwa i zapewnienie użytkownikom nieprzerwanego dostępu do forum, to przynajmniej ze względu na wygodę pracy jaką oferuje nam serwer domowy tzw. localhost.Przyśpieszenie prac ze względu na wyeliminowanie czynnika jakim jest nasze łącze internetowe - jego szybkość i dostępność. Stały dostęp do wszystkich plików strony 2 Instalacja i przygotowanie serwera XAMPP Tak długo jak wybrany przez Ciebie serwer działa, nie ma różnicy z jakiego rozwiązania skorzystasz. Osobiście korzystam z serwera XAMPP i to właśnie pod niego będzie dostosowany poradnik. W przypadku wybrania innych rozwiązań typu WAMP należy zwrócić szczególną uwagę na ścieżki jakie być może pojawią się w dalszej części poradnika. 3 Pobieramy paczkę z serwerem XAMPP Paczkę możemy pobrać m.in z oficjalnej strony programu. 4 Instalacja i przygotowanie pod MyBB XAMPP w swojej ofercie ma więcej niż serwer Apache i MySQL, jednak to właśnie te dwa serwery będą nam potrzebne by kontynuować zabawę. Opis procesu instalacji oprogramowania pominę, w razie problemów warto zajrzeć do sieci - wszelkie konieczne informacje są tam dostępne i szczegółowo opisane. Jeśli wszystko poszło zgodnie z planem otwieramy panel kontrolny xampp'a i uruchamiamy usługi Apache i MySQL 2.png (Rozmiar: 20,21 KB / Pobrań: 33) Kliknięcie w przycisk "Admin" przy Apache uruchomi nam dashboard serwera w przeglądarce - jeśli strona się wyświetliła, wszystko działa poprawnie. Z kolei w wypadku MySQL zostaniemy przekierowani na podstronę /phpmyadmin, panel do zarządzania bazami danych. 5 Założenie bazy danych Baza danych jest niezbędna do działania MyBB. W tym momencie serwer bazy już działa, jednak nadal brakuje nam konkretnej bazy w której umieścimy tabele forum. W tym celu przechodzimy do phpmyadmin gdzie w panelu po lewej stronie szukamy odnośnika Nowa - w rezultacie zobaczymy taki oto widok: 1.png (Rozmiar: 15,8 KB / Pobrań: 27) Nazwa bazy danych jest dowolna, ja zdecydowałem się na mybb. Jakiejkolwiek nazwy byśmy nie wybrali, należy ją zapamiętać. 6 Dane naszej bazy danych W trakcie procesu instalacji silnika MyBB zostaniemy poproszeni o dane do naszej bazy, jeśli działamy na ustawieniach podstawowych XAMPP nasze dane prawdopodobnie prezentują się następująco: nazwa bazy danych: mybb nazwa użytkownika bazy danych: root hasło do bazy danych: brak (w momencie podawania hasła należy zostawić pole puste, gdyż zwyczajnie hasła nie posiadamy) host: localhost 7 Instalacja MyBB na serwerze lokalnym W folderze w którym zainstalowaliśmy XAMPP'a musimy odnaleźć folder htdocs. W tym właśnie folderze tworzymy dodatkowy folder będący naszym forum, nazwijmy go mybb. Od teraz dostęp do naszego forum otrzymamy przechodząc pod adres http://localhost/mybb Oczywiście jeśli przejdziemy pod wskazany adres teraz, zobaczymy nie więcej jak zwykłą, pustą białą stronę. Dalej proces instalacji wygląda już standardowo, pobieramy paczkę z silnikiem forum i wszystkie pliki z katalogu Upload przenosimy do folderu, który wcześniej pod to przygotowaliśmy - w moim wypadku będzie to folder mybb. Instalator znajduje się pod adresem - http://localhost/mybb/install/index.php Jak zainstalować MyBB?
  17. Witam, zaprezentuję Wam jak utworzyć bardzo prostą tabelkę, która wyświetla statystyki użytkownika w panelu bocznym. Zaczynajmy! 1 Implementacja Font Awesome Pierwszym krokiem będzie umieszczeniu kodu dla Font Awesome w headerinclude. Ścieżka: ACP -> Style i Szablony -> Szablony -> STYL -> Niezgrupowane szablony -> headerinclude Na samym początku wstaw kod: <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css"> 2 Edycja szablonu index Drugim krokiem będzie dodanie poniższego kodu w szablon index. Ścieżka: ACP -> Style i Szablony -> Szablony -> STYL -> Strona Główna -> index Znajdź: {$forums} Zamień na: <table border="0" width="100%" cellspacing="0" cellpadding="0" align="center"> <tr> <td valign="top" style="padding-right: 20px" > {$forums} </td> <td valign="top" width="24%"> <table border="0" cellspacing="0" cellpadding="4" class="tborder"> <tr> <td class="thead"><strong>Twoje Statystyki</strong></td> </tr> <tr> <td class="trow1"> <i class="fa fa-user"></i> Nick: <b>{$mybb->user['username']}</b><br /> <i class="fa fa-comments"></i> Ilość postów: <b>{$mybb->user['postnum']}</b><br /> <i class="fa fa-plus"></i> Reputacja: <font color="green"><b>{$mybb->user['reputation']}</b></font><br /> <i class="fa fa-paper-plane-o"></i> Adres E-Mail: <b>{$mybb->user['email']}</b><br /> <i class="fa fa-calendar-o"></i> Ostatnia wizyta: <b>{$lastvisit}</b><br /> </td> </tr> </table><br /> </td> </tr> </table> Gotowe! Jest to bardzo prosty sposób na utworzenie prostej tabeli ze statystykami użytkownika.
  18. 1 Utworzenie szablonu Przejdź do ACP - Style i szablony - Szablony - Globalne szablony. Stwórz szablon o nazwie szablon1 z zawartością, którą chcesz wyświetlić w innym szablonie. 2 Edycja global.php Zaloguj się na FTP i przejdź do /global.php. Znajdź linijkę -> eval('$header = "'.$templates->get('header').'";'); i zamień ją na: eval('$szablon1 = "'.$templates->get('szablon1').'";');eval('$header = "'.$templates->get('header').'";'); Jeśli chcesz więcej takich szablonów, tworzysz kolejny szablon globalny o nazwie szablon2 i w /global.php dodajesz: eval('$szablon2 = "'.$templates->get('szablon2').'";'); Przed: eval('$szablon1 = "'.$templates->get('szablon1').'";'); Teraz w szablonie, w który chcemy wkleić zawartość szablon1 lub szablon2, musimy dodać {$szablon1} lub {$szablon2}. Możesz zmienić szablon1 lub szablon2 na własne nazwy, jednak pamiętaj, że muszą one być takie same podane w pliku /global.php i w Szablonach globalnych w ACP. Źródło: http://community.mybb.com/thread-131530.html
  19. 1 Aktualizacja pluginu Pamiętaj, aby zaktualizować plugin do najnowszej wersji. 2 Edycja pluginu Zaloguj się na FTP i przejdź do: /inc/plugins/dvz_mentions/config.php Znajdź linijkę: static $keepPrefix = true; i zamień ją na: static $keepPrefix = false; 3 Efekt Przed: Po: Fyeem
  20. 1 Shoutbox się nie wyświetla Sprawdź ustawienia dostępu w konfiguracji pluginu. Jeżeli jest OK, zaloguj się na konto, które posiada inną rangę (grupę) niż Ty. Jeżeli nadal jest problem, plugin odinstaluj, ustaw styl domyślny i dopiero zainstaluj plugin. 2 Parse error: Syntax error, unexpected '[' in /home... Masz ustawioną zbyt niską wersję PHP. Ten plugin wymaga PHP w wersji 5.4 lub wyższej. Jeśli masz taką opcje to udaj się do cPanelu i zmień wersję. Jeśli Twoja strona jest postawiona na hostingu ProSerwer, udaj się do nazwa_twojej_strony.xaa.pl:2082/frontend/x3/phpvermanager/index.php i wybierz PHP 5.5 lub PHP 5.6. 3 Brak wizualnej części Jeśli shoutbox ma ogromne avatary i zajmują one pół strony, zamiast być w ramce czatu to zapomniałeś skopiować stylów css do global.css a przecież autor o to prosił. Zobacz do folderu z pluginem na dysku. Znajdziesz tam STYLES.txt. Skopiuj zawartość i na końcu global.csslub innego arkusza wklej to i zapisz. 4 Przycisk do shoutboxa zachodzi na tekst Zajrzyj do tego poradnika -> Jak zmienić belkę w dvz_shoutbox? 5 Wiadomości na shoutboxie są wyśrodkowane Jedna (bądź więcej) grup posiada błędne ostylowanie w formacie nazwy użytkownika. Pamiętaj, aby format loginu zawierał: otworzenie formatu - nazwa użytkownika - zamknięcie formatu. przykładowo: <span style="color: red;">{username}</span> 6 Błędna data i godzina Zmień strefę czasową w ACP i wykonaj zapytanie do bazy danych: Kod: UPDATE mybb_users SET timezone='1' WHERE 1 7 Nie mogę usuwać czyichś wypowiedzi W konfiguracji pluginu w ACP, Twoja grupa nie posiada uprawnień do usuwania shoutów.
  21. 1 Edycja szablonu headerinclude Następnie w nim odszukujemy {$stylesheets} i dodajemy zawartość przed nim <script type="text/javascript"> $(document).ready(function(){ if($.cookie('background')){ $("body").css("backgroundImage", "url(" + "images/" + $.cookie("background") + ".png)"); }; $(".bg_style").click(function () { $(".bg_preview").slideToggle('fast'); return false; }); $(".bg_preview a").click(function() { var bg_id = $(this).attr("id"); $("body").css("backgroundImage", "url(" + "images/" + bg_id + ".png)"); $.cookie('background', bg_id, { expires: 365, path: '/' }); }); }); </script> 2 Edycja szablonu header Następnie w nim odszukujemy <li><a href="{$mybb->settings['bburl']}/misc.php?action=help" class="help">{$lang->toplinks_help}</a></li> Dodaj po <li ><a href="#" class="bg_style">Wybierz tło</a></li> Odszukaj {$welcomeblock} Dodaj po <div class="wrapper"> <div class="bg_preview"> <a id="bg1" href="#" style="background: url('images/bg1.png');"></a> <a id="bg2" href="#" style="background: url('images/bg2.png');"></a> <a id="bg3" href="#" style="background: url('images/bg3.png');"></a> <a id="bg4" href="#" style="background: url('images/bg4.png');"></a> <a id="bg5" href="#" style="background: url('images/bg5.png');"></a> </div> </div> 3 Dodanie kodu css do global.css /*** Background style ***/ .bg_preview:before,.bg_preview:after { content:" "; display:table } .bg_preview:after{ clear:both } .bg_preview { display: none; } .bg_preview a { float: left; width: 18%; height: 80px; box-sizing: border-box; margin: 1%; display: inline-block; vertical-align: middle; background-repeat: no-repeat; background-size: cover; border: 2px solid #CECECE; } W global.css odnajdź #contentnastępnie usuń background: #color; Aby poprawnie dodane tła zadziałamy muszą one znaleźć się w katalogu images z nazwą bg1.pngbg2.png itp Źródło poradnika http://community.mybb.com/thread-179184.html
  22. 1 Podmiana fragmentu szablonu Aby dodać filtrowanie wątków na podstawie prefiksów należy edytować szablon forumdisplay_thread Odszukujemy {$thread['threadprefix']} Zamieniamy na <a href="{$mybb->settings['bburl']}/forumdisplay.php?fid={$mybb->input['fid']}&prefix={$thread['prefix']}">{$thread['threadprefix']}</a>
  23. 1 Tworzymy nowy MyCode Przechodzimy do: ACP -> Konfiguracja -> MyCode -> Nowy MyCode i wypełniamy pola w następujący sposób Tytuł: Nasz tytuł; w moim przypadku będzie to image, aczkolwiek możecie go nazwać po swojemu Wyrażenie regularne: \[image\](.*?)\[/image\] - image możecie zastąpić własnym tekstem. Jest to tekst w między który będziecie wklejać link do grafiki Zamiana: Kod: <div class="img-spoiler"> <button>Schowaj/Pokaż</button> <img src="$1" alt="image" style="display:none; max-width:100%;"> </div> Krótko wyjaśniając: - div o klasie img-spoiler, aby łatwo było nam identyfikować x spoiler. Posiada on: display:none;, aby domyślnie obrazek był ukryty; max-width: 100%;, aby obrazek nie był szerszy niż jego rodzic; - button, który będzie służyl do pokazywania/ukrywania grafiki; - img, który odpowiada za pobranie i wyświetlenie grafiki Włączony: Tak 2 Dodanie kodu JS Dodajemy na samym dole strony (lub do naszego pliku z js) ten kod: $("body").on("click", ".img-spoiler", function (){ $(this).children("img").toggle(250); }); Odpowiada on za mechanikę wyświetlania i ukrywania naszego obrazka. Liczba podana w .toggle() odpowiada za czas wyświetlania i chowania się w milisekundach. Używamy zdarzenia .on zamiast zwykłego .click, więc w przypadku pobrania nowej wiadomości wszystko działa prawidłowo. MyCode działa wszędzie na forum, ale stworzony jest głównie pod shoutbox. Dla lepszej optymalizacji w kodzie z drugiego punktu warto dodać kropkę przed body. Wtedy pokazywanie/ukrywanie będzie brało tylko elementy w klasie body, czyli takiej jaką posiada shoutbox. Testowane na wersji: 2.2.1
  24. 1 Wymagania Do poprawnego skonfigurowania pluginu Google SEO (URL) potrzebne będą:Plugin Google SEO do pobrania → TUTAJ Spolszczenie Google SEO do pobrania → TUTAJ Dostęp do swojego serwera przez FTP do pobrania → TUTAJ Plugin Library do pobrania → TUTAJ PHP 5.1.0 i większe Bazę danych MySQL Apache 2 Konfiguracja pluginu Po pobraniu pluginu PluginLibrary, wrzucamy go wg tego poradnika. Po pobraniu pluginu Google SEO, instalujemy go poprzez wrzucenie folderu inc do folderu public_html. Wchodzimy do panelu administratora (ACP) → Pluginy → instalujemy plugin Google SEO. W strefie aktywnych pluginów, odszukujemy Google SEO i klikamy Konfiguruj. ACP → Konfiguracja → Google SEO → wszysto zaznaczamy na Tak. ACP → Konfiguracja → Google SEO URL: Tłumaczenie znaków: Podane w rozdziale 4. Załączniki Tryb małych liter: Tak Schemat działu: dzial-{url} Schemat linku tematu: temat-{url} Schemat ogłoszenia: ogloszenie-{url} Schemat linku profilu użytkownika: user-{url} Schemat kalendarza: kalendarz-{url} Schemat wydarzenia: wydarzenie-{url} 3 Edycja .htaccess Aby na forum zaszły pożądane zmiany należy wykonać trzy dodatkowe kroki: ACP → Pluginy → Google SEO → Kopiujemy wygenerowany kod. FTP → Główny folder z mybb → .htaccess → Wklejamy skopiowany w poprzednim kroku kod. ACP → Pluginy → Google SEO → Kliknij, aby zastosować zmiany w plikach bazowych. 4 Załączniki ł=l Ł=L ó=o Ó=O ą=a Ą=A ś=s Ś=S ć=c Ć=c ę=e Ę=E ź=z Ź=Z ż=z Ż=Z
  25. 1 Edycja pluginu Pobieramy plugin Top Shouters Otwieramy plik pluginu (/inc/plugins/topshout.php) i szukamy: $setting = array( "sid" => NULL, "name" => "topshoutshoutbox", "title" => $db->escape_string($lang->settings_shoutbox), "description" => $db->escape_string($lang->settings_shoutbox_desc), "optionscode" => "select dvzshoutbox=DVZ Shoutbox myshoutbox=MyShoutbox sfshoutbox=SpiceFuse Shoutbox", "value" => 'dvzshoutbox', "disporder" => $disporder++, "gid" => $gid ); Zamieniamy na: $setting = array( "sid" => NULL, "name" => "topshoutshoutbox", "title" => $db->escape_string($lang->settings_shoutbox), "description" => $db->escape_string($lang->settings_shoutbox_desc), "optionscode" => "select dvzshoutbox=DVZ Shoutbox myshoutbox=MyShoutbox infernoshoutbox=Inferno Shoutbox", "value" => 'dvzshoutbox', "disporder" => $disporder++, "gid" => $gid ); Odnajdujemy: elseif($mybb->settings['topshoutshoutbox'] == 'sfshoutbox') { if (!$db->table_exists("sf_shouts")) { $topshout_row = '<tr><td class="trow2">'.$lang->install_sfsb.'</td></tr>'; } else { $gibek_pinek = TRUE; $query = $db->query("SELECT s.uid, u.username, u.usergroup, u.displaygroup, u.uid, u.avatar, count(*) as totalshouts FROM ".TABLE_PREFIX."sf_shouts s LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=s.uid) WHERE usergroup NOT IN(".$ignore_groups.") GROUP BY s.uid ORDER BY totalshouts DESC LIMIT " . $mybb->settings['topshoutlimit']); } } Zamieniamy na: elseif($mybb->settings['topshoutshoutbox'] == 'infernoshoutbox') { if (!$db->table_exists("inferno_shout")) { $topshout_row = '<tr><td class="trow2">'.$lang->install_inferno.'</td></tr>'; } else { $gibek_pinek = TRUE; $query = $db->query("SELECT s.uid, u.username, u.usergroup, u.displaygroup, u.uid, u.avatar, count(*) as totalshouts FROM ".TABLE_PREFIX."inferno_shout s LEFT JOIN ".TABLE_PREFIX."users u ON (u.uid=s.uid) WHERE usergroup NOT IN(".$ignore_groups.") GROUP BY s.uid ORDER BY totalshouts DESC LIMIT " . $mybb->settings['topshoutlimit']); } } 2 Aktywacja zmian ACP->Pluginy->Instalacja/reinstalacja ACP->Konfiguracja->Wybór shoutboxa Zmienna: {$topshout} I gotowe, mamy Top krzykaczy dla Inferno Shoutbox!