Webboard

Pełna wersja: Xem fast reputation i powiązania z MyAlerts
Aktualnie przeglądasz uproszczoną wersję forum. Kliknij tutaj, by zobaczyć wersję z pełnym formatowaniem.
Stron: 1 2
Heh. A w ten sposób?
Kod:
<?php

declare(strict_types=1);

namespace App\Xem;

class XemAlertFormmatter extends \MybbStuff_MyAlerts_Formatter_AbstractFormatter
{
    public function formatAlert(\MybbStuff_MyAlerts_Entity_Alert $alert, array $outputAlert)
    {
        $alertContent = $alert->getExtraDetails();
        $postLink = $this->buildShowLink($alert);
        
        return $this->lang->sprintf($this->lang->xem_alert, $outputAlert['from_user'], $alertContent['t_subject']);
    }
    
    public function init()
    {
        if (!$this->lang->xem_alert) {
            $this->lang->load('xem_fast_rep');
        }
    }

    public function buildShowLink(\MybbStuff_MyAlerts_Entity_Alert $alert)
    {
        global $mybb;
        $details = $alert->getExtraDetails();
        $link = $this->mybb->settings['bburl'] . '/' . get_post_link((int) $details['pid'], (int) $details['tid']) . '#pid' . (int) $details['pid'];
        
        return $link;
    }
}
Błędów coraz mniej więc może w końcu nam się uda ;)

Kod:
[Wed Aug 21 22:43:41.757041 2019] [proxy_fcgi:error] [pid 15947:tid 140184141887232] [client 89.66.158.54:53230] AH01071: Got error 'PHP message: PHP Parse error:  syntax error, unexpected ')' in /home/cities/domains/citiesskylines.pl/private_html/inc/plugins/xem_fast_rep.php on line 784\n'

Jednak po usunięciu nawiasu wracamy do error 500 z takim logiem:
Kod:
[Wed Aug 21 23:09:31.002508 2019] [proxy_fcgi:error] [pid 17037:tid 140183900620544] [client 89.66.158.54:53352] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught Error: Class 'App\\Xem\\XemAlertFormmatter' not found in /home/cities/domains/citiesskylines.pl/private_html/inc/plugins/xem_fast_rep.php:783\nStack trace:\n#0 /home/cities/domains/citiesskylines.pl/private_html/inc/class_plugins.php(136): xem_fast_rep::xem_global_start('')\n#1 /home/cities/domains/citiesskylines.pl/private_html/global.php(100): pluginSystem->run_hooks(Array)\n#2 /home/cities/domains/citiesskylines.pl/private_html/showthread.php(28): require_once('/home/cities/do...')\n#3 {main}\n  thrown in /home/cities/domains/citiesskylines.pl/private_html/inc/plugins/xem_fast_rep.php on line 783\n', referer: https://citiesskylines.pl/search.php?action=results&sid=52d10a3eddb1c63ff76b6f195c59612d
xem_fast_rep.php to jest ten pierwszy plik?
Tak, to jest podstawowy plik, a to co dałeś we wcześniejszym poście to xem_fast_rep.myalert.php
Spróbuj podmienić to:
Kod:
if(!defined("IN_MYBB")) exit();
na to:
Kod:
if(!defined("IN_MYBB")) exit();

use App\Xem\XemAlertFormmatter;
I to:
Kod:
$formatterManager->registerFormatter(new App\Xem\XemAlertFormmatter($mybb, $lang, 'xem'));
na to:
Kod:
$formatterManager->registerFormatter(new XemAlertFormmatter($mybb, $lang, 'xem'));
Kod:
[Thu Aug 22 00:13:45.263080 2019] [proxy_fcgi:error] [pid 19176:tid 140184089437952] [client 89.66.158.54:53783] AH01071: Got error 'PHP message: PHP Fatal error:  Uncaught Error: Class 'App\\Xem\\XemAlertFormmatter' not found in /home/cities/domains/citiesskylines.pl/private_html/inc/plugins/xem_fast_rep.php:785\nStack trace:\n#0 /home/cities/domains/citiesskylines.pl/private_html/inc/class_plugins.php(136): xem_fast_rep::xem_global_start('')\n#1 /home/cities/domains/citiesskylines.pl/private_html/global.php(100): pluginSystem->run_hooks(Array)\n#2 /home/cities/domains/citiesskylines.pl/private_html/index.php(18): require_once('/home/cities/do...')\n#3 {main}\n  thrown in /home/cities/domains/citiesskylines.pl/private_html/inc/plugins/xem_fast_rep.php on line 785\n'
OK. Najszybsze rozwiązanie to takie: cofnij wszystkie zmiany do początku naszej rozmowy i w pliku xem_fast_rep.php podmień to:
Kod:
if(!defined("IN_MYBB")) exit();
na to:
Kod:
if(!defined("IN_MYBB")) exit();

require_once 'full/path/to/xem_fast_rep.myalert.php';
Oczywiście musisz podać poprawną ścieżkę. Jeżeli oba pliki są w tym samym katalogu, to require powinno być takie:
Kod:
require_once __DIR__ . '/xem_fast_rep.myalert.php';

PS. A jak chcesz to zrobić 'po Bożemu', to tu lektura: https://www.php.net/manual/en/function.s...gister.php
No więc tak.. Na pewno jest lepiej ale do sukcesu jeszcze trochę brakuje ;)
Błędów już nie ma, strona ładuje się normalnie jednak powiadomień ni widu ni słychu.
No dobra, tylko jak przejrzałem ten "poradnik" to teoretycznie wszystko co jest potrzebne u mnie w plikach jest.. A gdyby to było takie proste dla mnie to zapewne nie prosiłbym tutaj o pomoc ;)
Błędów już nie ma?
Nie, ani w logu ani na stronie. Reputacja się dodaje jednak powiadomienia brak.
Trochę tych bugów w pluginie jest z tego co widzę po githubie.

Zmień motyw na domyślny i wtedy sprawdź czy działa. Jak zacznie, to będziesz wiedzieć chociaż, że to problem z motywem.
Bez zmian
Stron: 1 2