Webboard

Pełna wersja: Report To Thread - alternatywa / wersja kompatybilna
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Witam serdecznie , poszukuje alternatywy do wtyczki Report To Thread w pełni kompatybilnej z najnowszą wersją mybb i najnowszymi zmianami jakie uległy w systemie raportów . 
Rozwiązanie dostępne pod linkiem https://webboard.pl/thread-62276.html działa w 99% prawidłowo . 

Po zmianach jakim został poddany system raportów już od kilku wersji wstecz wtyczka nie jest w stanie prawidłowo zacytować powodu zgłoszenia w nowym wątku . 
Cytat:Reason Given:
Z tego co udało mi się ustalić za wyświetlanie powodu zgłoszenia po zmianach odpowiada {$report_data['comment']}
Jednak po kilku latach absolutnego braku styczności z mybb mam małe problemy by to wszystko złączyć w całość i poprawić by działało jak trzeba. Miłe widziane wszelkie sugestie by pozbyć się problemu. Pozdrawiam .
Jeżeli autor wtyczki nie dostosował pluginu na daną chwilę nie znajdziesz alternatywy pozostaje edycja pluginu we własnym zakresie
Tak też przeczuwałem  :)

Dawniej za wyświetlanie powodu w poście odpowiadało $mybb->input['reason']

Kod PHP:
[quote=\"" $mybb->user['username'] . "\" dateline=\"" time() . "\"]" $mybb->input['reason'] . "[/quote] 


Próbowałem wzorować się na schemacie działania podobnej wtyczki https://webboard.pl/thread-65711.html która również wyświetla powód raportu . Na razie jednak z mizernym skutkiem . Raczej tego sam nie poprawię , więc pozostał tylko dział giełda .
Pozdrawiam serdecznie :)
Na szybkim sprawdzeniu na wersji 1.8.12 plugin z pierwszego postu zwraca powód - tylko, że jako numer ID powodu. Nie wiem dlaczego u Ciebie zwraca puste pole?

Możesz ten plugin edytować i wstawić np:
$mybb->get_input('comment')

To wyświetli powód wpisany przez użytkownika - działa. Aczkolwiek, tylko w przypadku własnego powodu -> gdy wybierzesz predefiniowany powód raportu, zmienna ta jest pusta.

Mając ID raportu możesz próbować dostać się do tabeli zawierającego powody raportów, np:
$rid = $mybb->get_input('reason', MyBB::INPUT_INT);
$query = $db->simple_select("reportreasons", "*", "rid = '{$rid}'");

if(!$db->num_rows($query))
{
   // akcja gdy zapytanie nie zwróci wyników
}
else
{
 $reason = $db->fetch_array($query);
}


W tablicy $reason dostaniesz informacje o wybranym powodzie. Sęk w tym, że nazwa - tytuł powodu jest zapisany w formie zmiennej językowej, przykładowo $reasons['title'] zwróci
Kod:
<lang:report_reason_rules>


Tu możesz dalej kombinować jak z tego wydobyć konkretną nazwę. Nie znam funkcji za to odpowiedzialnej, ale na chama możesz po prostu switcha zrobić w zależności od tego co zmienna zwróci - choć to wyjątkowo mało eleganckie rozwiązanie :P