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
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.