Beiträge: 68
Themen: 12
Registriert seit: 15.01.2012
12.04.2012, 13:57
(Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2012, 13:58 von mattias.)
Hi,
wenn ein User gesperrt ist, dann leitet ihn das System immer zum error_nopermission template:
PHP-Code:
<html>
<head>
<title>{$title}</title>
{$headerinclude}
</head>
<body>
{$header}
<br />
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr>
<td class="thead"><span class="smalltext"><strong>{$title}</strong></span></td>
</tr>
<tr>
<td class="trow1">{$error}</td>
</tr>
</table>
{$footer}
</body>
</html>
Kann mir jemand sagen wo genau sich der Code befindet, der sagt, dass gesperrte User immer dieses Template zu sehen bekommen? Ich möchte nämlich für gesperrte User ein separetes Template erstellen (error_nopermission_banned).
Vielen Dank
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
(12.04.2012, 13:57)mattias schrieb: Kann mir jemand sagen wo genau sich der Code befindet, der sagt, dass gesperrte User immer dieses Template zu sehen bekommen?
Gesperrte Benutzer bekommen schlicht nicht immer diese Meldung zu sehen, da die Rechte, wie bei jeder anderen Gruppe auch, beliebig im ACP eingestellt werden können.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 68
Themen: 12
Registriert seit: 15.01.2012
Hi,
also es geht um die Permission "Kann Forum betreten". In der global.php hab ich das hier gefunden:
PHP-Code:
// Is this user apart of a banned group?
$bannedgroup = '';
if($mybb->usergroup['isbannedgroup'] == 1)
{
// Fetch details on their ban
$query = $db->simple_select("banned", "*", "uid='{$mybb->user['uid']}'", array('limit' => 1));
$ban = $db->fetch_array($query);
if($ban['uid'])
{
// Format their ban lift date and reason appropriately
if($ban['lifted'] > 0)
{
$banlift = my_date($mybb->settings['dateformat'], $ban['lifted']) . ", " . my_date($mybb->settings['timeformat'], $ban['lifted']);
}
else
{
$banlift = $lang->banned_lifted_never;
}
$reason = htmlspecialchars_uni($ban['reason']);
}
if(empty($reason))
{
$reason = $lang->unknown;
}
if(empty($banlift))
{
$banlift = $lang->unknown;
}
// Display a nice warning to the user
eval("\$bannedwarning = \"".$templates->get("global_bannedwarning")."\";");
}
Dieser Code ist für die Variable $bannedwarning zuständig. Also nicht für das globale error_nopermission Template. Damit erscheint eine Infobox im error_nopermission Template, die besagt, dass derjenige gesperrt ist, den Grund und wann die Sperrung aufgehoben wird.
Vor diesem Code muss irgendein anderer Code in Kraft treten, der einem User, der kein Recht das Forum zu betreten hat, immer zum error_nopermission Template weiterleitet. Genau diesen Code suche ich, weil ich ihn editieren möchte, um gesperrte User ein anderes Template sehen zu lassen
Gruß
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Nochmal: Die Rechte für Gesperrte werden, wie bei allen Gruppen, über das Rechte-System des MyBBs geregelt. In der Regel gibt es dafür keine speziellen Abfragen.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 68
Themen: 12
Registriert seit: 15.01.2012
12.04.2012, 14:31
(Dieser Beitrag wurde zuletzt bearbeitet: 12.04.2012, 14:31 von mattias.)
Ja aber das Rechte-System besteht ja aus php Code. Und irgendwo in diesem php Code muss definiert sein, dass User, bei denen "if($mybb->usergroup['isbannedgroup'] == 1)" gilt, für sie dann dieses Template definiert ist: ".$templates->get("error")"
Gruß
Beiträge: 68
Themen: 12
Registriert seit: 15.01.2012
Edit: Ich habs jetzt selbst hinbekommen. Hier hab ich die Lösung gepostet:
http://community.mybb.com/thread-116755-...#pid845145