Dołącz do zespołu ekspertów! Backend lub Frontend Developer?

Sprawdź najnowsze oferty pracy naszego partnera - 8lines.io!

Poprawienie pluginu WarnPostInfo

Założony przez  Fixero.

wersja skryptu MyBB: 1.6.10
adres forum: localhost
na czym polega problem (screen, opis, komunikaty):
Próbuje zrobić aby ID wyświetlające się w "przez ID" wyświetlał się nick moderatora który nadał ostrzeżenie

[Obrazek: 61xkW.png]

        global $db;
        $query=$db->query('SELECT * FROM '.TABLE_PREFIX.'warnings WHERE pid ='.$post['pid']);
        $issuedby = $user['uid'];
        /* $query=$db->query('SELECT * FROM '.TABLE_PREFIX.'warnings WHERE issuedby ='.$user['uid']); */
        while($result=$db->fetch_array($query))
        {
           $post['message'].='<div class = "warn"> <b>Dostałeś ostrzeżenie!</b> (+'.$result['points'].'0%) przez '.$result['issuedby'].'</br>'.$result['title'].'</div>';
        }
    }

Probuję wskórać aby
issuedby ='.$user['uid'])
czyli
issuedby = nazwie użytkownika na forum ;d
Matslom napisał 29.12.2013, 00:05:
POprawiam tytuł i przenoszę [Obrazek: modnotice_howto.png]
Hmm?
Wyświetlić możesz poprzez $user['username'] (musisz się podłączyć do tabeli users).
Ps. to powinno być w dziale "Tworzenie pluginów"
Matslom napisał 29.12.2013, 00:03:
Jak powinno być w innym dziale to powinno sie to zgłosić dla moderatora...
No wiem że się da, ale jak to zamienić ze sobą żeby issuedby było zamieniane na nazwę użytkownika

.$result['issuedby'] -> Wyświetla prawidłowo ID, na obrazku 17
Teraz próbuje wskórać jak to ID 17, zmienić na nazwę użytkownika na forum

Jeżcze chciałbym dodać że jest to plugin WarnPostInfo
Tutaj masz funkcję:
$query=$db->query("SELECT u.*, w.* 
                           FROM "
.TABLE_PREFIX."warnings w
                           LEFT JOIN "
.TABLE_PREFIX."users u ON (u.uid=w.issuedby)
                           WHERE pid ='"
.$post['pid']."'");
        while(
$warn $db->fetch_array($query))
        {
          
$warn['username'] = $warn['username'];
           
$post['message'].='<div class = "warn"> <b>Dostałeś ostrzeżenie!</b> (+'.$warn['points'].'0%) przez '.$warn['username'].'</br>'.$warn['title'].'</div>';
        } 

Działa w 100% (sprawdzałem). Jeśli chcesz żeby formatowało nick (na np. taki jaki jest ustawiony w grupie) albo żeby linkowało do profilu to napisz, dopisze Ci kod.
u.*

Wyciągajcie tylko to co potrzebne, nie wszystko
Wiem, zaraz skończę swoją wersję tego pluginu. Bez zbędnych ustawień itp. Zapytanie będzie optymalne. Jak skończę to z edytuje ten post.
Swoja wersje daj chlopakowi się wykazać, nauczyć
Dam swój plugin :33

O to co w nim dodałem/zmieniłem/usunąłem:

Dodałem:
- Nazwę użytkownika od razu zlinkowaną do jego profilu.
- Warunek, przez który:
Gdy jesteśmy osobą która dostała warna pokazuje jej się informacja np.:
Dostałeś ostrzeżenie! (+20%) przez GiboneKPL (Dzisiaj - 21:42)
A gdy nie jesteśmy tym użytkownikiem a widzimy ten post pokazuje się informacja:
Moderator dał użytkownikowi ostrzeżenie za ten post
- Dodałem datę nadania ostrzeżenia
- Automatyczne dodawanie zmiennej {$post['warninfo']}

Zmieniłem:
- Zmieniłem zapytanie SQL, na bardziej optymalne

Usunąłem:
- Zbędną funkcję instalacji i ustawień.

Tak się to prezentuje:

Widok użytkownika który dostał ostrzeżenie:
[Obrazek: mmg0fs.jpg]

Widok innego użytkownika, który widzi ten post:
[Obrazek: f4kwu1.jpg]

Plugin w załączniku.


  PostbitWarn.rar (Rozmiar: 54,63 KB / Pobrań: 351)

@@Trzeba jeszcze na końcu global.css dodać:
.warn {
background: #cf3737;
padding: 3px;
color: #fff;
border-radius: 3px;
border: 1px solid #771b1b;
margin: 0 0;
}

.warn a:link, .warn a:visited, .warn a:active, .warn a:hover {
color: #fff;
font-weight: bold;
}



Użytkownicy przeglądający ten wątek:

2 gości