wersja skryptu MyBB: 1.8
Witam. Mam do was pytanie, odnośnie udostępnienia widoczności pluginu dla grupy niezarejestrowanej. Posiadam na swoim forum plugin XEM Fast Reputation i aktywny on jest jedynie dla grupy zarejestrowanej. Gdzie i jak można zmienić, aby plugin był dostępny dla niezarejestrowanych (najlepiej jak widoczna była by tylko sama ocena)?
zmodyfikuj funkcje w kodzie php
system ten jest dostępny tylko i wyłącznie jesli użytkownik może odpowiadać w danym temacie
Pomoże mi ktoś wykryć linijkę odpowiedzialną za tą funkcję?
Wklejam tutaj kawałek kodu, w którym myślę że ta funkcja występuje, ewentualnie dodaje plik .php do załącznika.
Kod:
private static function getuser_permissions($post)
{
global $mybb, $db;
if(!is_array($post))
{
$get_post = $db->simple_select('posts', '*', 'pid='.$post);
$post = $db->fetch_array($get_post);
}
$user = get_user($post['uid']);
$user_permissions = user_permissions($uid);
if($post)
{
$thread = get_thread($post['tid']);
$forum = get_forum($thread['fid']);
$forumpermissions = forum_permissions($forum['fid']);
if(($post['visible'] == 0 && !is_moderator($forum['fid'], "canviewunapprove")) || $post['visible'] < 0)
{
$permissions = false;
}
elseif(($thread['visible'] == 0 && !is_moderator($forum['fid'], "canviewunapprove")) || $thread['visible'] < 0)
{
$permissions = false;
}
elseif($forumpermissions['canview'] == 0 || $forumpermissions['canpostreplys'] == 0 || $mybb->user['suspendposting'] == 1)
{
$permissions = false;
}
elseif(isset($forumpermissions['canonlyviewownthreads']) && $forumpermissions['canonlyviewownthreads'] == 1 && $thread['uid'] != $mybb->user['uid'])
{
$permissions = false;
}
else
{
$permissions = true;
}
}
else
{
$permissions = false;
}
if($user_permissions['usereputationsystem'] != 1 || !$user || !$permissions)
{
return false;
}
return true;
}
}
Zamień:
Kod PHP:
if($user_permissions['usereputationsystem'] != 1 || !$user || !$permissions)
{
return false;
}
Na
Kod PHP:
if($user_permissions['usereputationsystem'] != 1 || !$user || !$permissions)
{
return false;
}
if($mybb->user['usergroup'] == 1)
return true;
Dzięki fastlone, ale gdy tak podmieniłem w obydwu przypadkach mi się teraz nic nie wyświetla, postaram się pokombinować z tą linijką kodu, dzięki bardzo.
zamiana trzech lini z tego warunku nie wystarczy, poźniej mamy jeszcze np
Kod PHP:
elseif($forumpermissions['canview'] == 0 || $forumpermissions['canpostreplys'] == 0 || $mybb->user['suspendposting'] == 1)
{
$permissions = false;
}
Sprawdź załączoną przeze mnie wersję pliku.
Dziękuję bardzo, wszystko działa jak należy.