Seite 1 von 1
blueimps Ajax Chat log Einstellungen
Verfasst: 29.12.2013 15:24
von B2k
Hallo zusammen,
ich habe
Blueimps Ajax Chat fürs phpbb3 3.0.12 installiert, das ganze ist via iframe in den Index eingebunden und läuft soweit wie gewünscht.
Mein Problem ist das nur admins Zugriff auf den log haben, hier sollten Mitglieder und Moderatoren ebenfalls Zugriff haben. Ein paar Einstellungen habe ich auch schon geändert wie zb. das alte posts gelöscht werden, wann sie gelöscht werden usw..
jetzt fand ich folgene Zeile in der config.php des chats
Code: Alles auswählen
// Defines if registered users (including moderators) have access to the logs (admins are always granted access): Hier war vorher false
$config['logsUserAccess'] = true;
// Defines a list of channels (e.g. array(0, 1)) to limit the logs access for registered users, includes all channels the user has access to if set to null: Hier war voher null
$config['logsUserAccessChannelList'] = array(0);
Hier habe ich den code so versuchst dann mit
Code: Alles auswählen
// Defines if registered users (including moderators) have access to the logs (admins are always granted access): Hier war vorher false
$config['logsUserAccess'] = true;
// Defines a list of channels (e.g. array(0, 1)) to limit the logs access for registered users, includes all channels the user has access to if set to null: Hier war voher null
$config['logsUserAccessChannelList'] = null;
Der browsercache und der boardcache wurde des öfterren geleert aber trotz diesen einstellungen haben weiterhin nur admins Zugriff. Hoffe jemand kennt eine Lösung.
MfG
Re: blueimps Ajax Chat log Einstellungen
Verfasst: 29.12.2013 16:19
von Miriam
Wieso hast Du die Logeinstellungen, die ein Array aus den IDs sein sollen auf NULL (also nichts) gesetzt?
Re: blueimps Ajax Chat log Einstellungen
Verfasst: 29.12.2013 17:04
von B2k
Weil ich wegen folgenden Zeilen dachte 0 seie der Öffentliche channel. Dazu sei gesagt wir nutzen nur den public, hab alle Forenbezogene Räume gelöscht.
Code: Alles auswählen
// Default channelName used together with the defaultChannelID if no channel with this ID exists:
$config['defaultChannelName'] = 'Public';
// ChannelID used when no channel is given:
$config['defaultChannelID'] = 0;
// Defines an array of channelIDs (e.g. array(0, 1)) to limit the number of available channels, will be ignored if set to null:
//$config['limitChannelList'] = null;
$config['limitChannelList'] = array(0);
PS: null war der standartwert.
PPS: Die user müssen auch einen zusätzlichen login machen, diesen probieren sie dann und auf der url vom log bleibt alles stehen und der login schlägt fehl. Ich zb. werde direkt weitergeletet ohne erneuten login.
Re: blueimps Ajax Chat log Einstellungen
Verfasst: 29.12.2013 17:58
von Miriam
Also, ich glaube nicht, dass es einen Raum mit der ID 0 gibt.
NULL ist auf deutsch "nichts" <- das nur als Info.
Re: blueimps Ajax Chat log Einstellungen
Verfasst: 29.12.2013 19:20
von Helmut
Hallo B2k,
die Berechtigungen im AjaxChat sind schon sehr speziell, über die config Dateien kannst sowas garnicht einstellen. Wenn du die Logs für alle freigeben willst, dann musst das in der Datei
...../chat/lib/class/AJAXChat.php
anschauen und da den Bereich
case 'logs':
:
Code: Alles auswählen
function hasAccessTo($view) {
switch($view) {
case 'chat':
case 'teaser':
if($this->isLoggedIn()) {
return true;
}
return false;
case 'logs':
if($this->isLoggedIn() && ($this->getUserRole() == AJAX_CHAT_ADMIN ||
($this->getConfig('logsUserAccess') &&
($this->getUserRole() == AJAX_CHAT_MODERATOR || $this->getUserRole() == AJAX_CHAT_USER))
)) {
return true;
}
return false;
default:
return false;
}
}
Bin mir nicht ganz sicher, aber das müsste der richtige Bereich sein.
@Miriam
Den Raum 0 gibt es schon, der wird verwendet wenn du vor den Foren Chaträumen z.B. einen Lobby Chat Raum schalten willst, der taucht dann immer ganz oben in der Liste der Räume auf.
Gruß Helmut
Re: blueimps Ajax Chat log Einstellungen
Verfasst: 29.12.2013 21:06
von B2k
Hallo Helmut,
das hieße für mich ich änder das wie folgt ab?
Code: Alles auswählen
function hasAccessTo($view) {
switch($view) {
case 'chat':
case 'teaser':
if($this->isLoggedIn()) {
return true;
}
return false;
case 'logs':
if($this->isLoggedIn() && ($this->getUserRole() == AJAX_CHAT_ADMIN ||
($this->getConfig('logsUserAccess') &&
($this->getUserRole() == AJAX_CHAT_MODERATOR || $this->getUserRole() == AJAX_CHAT_USER))
)) {
return true;
}
return true;
default:
return true;
}
}
btw die config.php hab ich nun so abgeändert wenn das noch wichtig ist.
Code: Alles auswählen
// Defines if registered users (including moderators) have access to the logs (admins are always granted access):
$config['logsUserAccess'] = true;
// Defines a list of channels (e.g. array(0, 1)) to limit the logs access for registered users, includes all channels the user has access to if set to null:
$config['logsUserAccessChannelList'] = array(0, 1);
Re: blueimps Ajax Chat log Einstellungen
Verfasst: 30.12.2013 16:57
von Helmut
Hallo B2k,
B2k hat geschrieben:das hieße für mich ich änder das wie folgt ab?
da sehe ich keinen Unterschied zu dem Code Ausschnitt von mir.
Ich würde es mal so machen:
Code: Alles auswählen
case 'logs':
if($this->isLoggedIn() && ($this->getUserRole() == AJAX_CHAT_ADMIN ||
($this->getConfig('logsUserAccess') &&
($this->getUserRole() == AJAX_CHAT_MODERATOR || $this->getUserRole() == AJAX_CHAT_USER))
)) {
return true;
}
return false;
durch das ersetzen (nicht getestet):
Code: Alles auswählen
case 'logs':
if($this->isLoggedIn() && ($this->getUserRole() == AJAX_CHAT_ADMIN || $this->getUserRole() == AJAX_CHAT_MODERATOR || $this->getUserRole() == AJAX_CHAT_USER))
{
return true;
}
return false;
Ansonsten würde ich den Teil schon in der config.php drinnen lassen, damit legst du fest welcher Raum benutzt wird wenn der User keinen vorher ausgewählt hat.
Code: Alles auswählen
// ChannelID used when no channel is given:
$config['defaultChannelID'] = 0;
Gruß Helmut
Re: blueimps Ajax Chat log Einstellungen
Verfasst: 31.12.2013 10:44
von B2k
Code: Alles auswählen
case 'logs':
if($this->isLoggedIn() && ($this->getUserRole() == AJAX_CHAT_ADMIN || $this->getUserRole() == AJAX_CHAT_MODERATOR || $this->getUserRole() == AJAX_CHAT_USER))
{
return true;
}
return false;
Das war die Lösung! Vielen Vielen dank für eure Hilfe, in diesem Falle war es Helmuts Vorschlag der geholfen hat, vielen Dank!