phpBB Menü AddOn

Allgemeiner Support zum phpBB 2 Board und phpBB 2 Modifikationen
Forumsregeln
Auch wenn hier der Support für phpBB 2 weiterhin aufrecht erhalten bleibt, weisen wir darauf hin, dass das phpBB 2 nicht mehr offiziell unterstützt und weiterentwickelt wird!
Antworten
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

phpBB Menü AddOn

Beitrag von skittles »

Wäre es möglich die Rechte zu ändern? Also die derzeitigen Möglichkeiten an die Benutzergruppen anzugleichen?
Sprich nicht Gast, Benutzer, Moderator oder Admin sondern eben Benutzergruppe 1 Benutzergruppe2 oder so weiter!
Sprich in das Dropdownmenü sollten die verschiedenen Benutzergruppen! Und auch die Rechte sollten so regelbar sein, dass z.b. normale Benutzer (ohne in einer bestimmten Gruppe zu sein) eben auf bestimmte Seiten keinen Zugriff haben! Auch nicht wenn sie die Url direkt eingeben!

Ich hoffe ich habe mich klar ausgedrückt!
Könnte man sowas machen? Und wenn wie? ich bin über jede Hilfe dankbar!
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Das entspricht nicht mehr dem Menü, wie es in phpBB ursprünglich vorgesehen ist. Daher nur die Rechte auf "Befugnisse" der User.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

also gibts da keine Möglichkeit?
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Schon, aber der Manager sollte lediglich das Board-Menü in seiner vorgesehenen Möglichkeit ersetzen (und dabei wird ja auch nur zwischen angemeldete und nicht angemeldete User unterschieden) und den Usern die Möglichkeit geben, innerhalb dieser Standard-Definitionen Links, die er benutzen darf, aus seinem Menü lediglich zu entfernen oder hinzuzufügen, aber keine neuen Funktionen bringen.
Ich habe das eben bewusst so angelehnt, da einige Seiten ja sinnvollerweise eher einem Userlevel als einer Benutzergruppe zuzuschreiben sind, oder darf plötzlich ein User der Gruppe "Feiglinge" nicht die Mitgliederliste einsehen, andere User schon? Doch wohl eher Gäste und angemeldete User, also User-Level.

Versteh mich bitte nicht falsch:
Der Manager könnte auf alle möglichen Funktionen erweitert werden, ist jedoch nicht für so etwas gedacht. Alle weiteren Ergänzungen verkomplizieren die Sache und machen es nicht einfacher, selbst als Admin dann noch durchzusteigen. Und irgendwo muss auch ein Punkt gesetzt werden.

Hinzu käme der riesige Verwaltungsaufwand, der codetechnisch zu betreiben wäre, um dem User einen Link zu gewähren oder nicht. Auch gerade wenn er in verschiedenen Gruppen steckt! Und das nicht nur für den Manager, sondern auch in jedem betreffenden Script, um auch Direktlinks erfolgreich abzufangen, was der Manager ja nicht kann (auch kein anderes Script)!

Der Code, der alleine dazu gebraucht wird, ein Script anhand des User-Levels zur Verfügung zu stellen, ist schon nicht klein, der Code auf Basis der Gruppenzugehörigkeit wäre dazu 10mal so groß, was den Manager in seiner Grösse verdoppeln und die Navigationserstellung in Boardmenü und Portalnavigation das Board mehr als ausbremsen würde.
Gedanke: "PHP-Zeit für diese Seite = 20 Sekunden, davon 15 Menü Manager" ;)

Auch müssten fixe Links neu definiert werden, sowie Kategorien, die man je nach Gruppenzugehörigkeit des Users neu zusammenstellen müsste. Die Grössen der nötigen Definitionstabellen in der Datenbank jetzt noch nicht berücksichtigt, etc., etc., etc.

Ich halte es daher weiterhin nicht für sinnvoll. Sorry.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
skittles
Beiträge: 820
Registriert: So 04.Apr, 2004 01:07
Wohnort: Wien

Beitrag von skittles »

Erstmals danke für die ausführliche Antwort!

dass dadurch so ne gewaltige Änderung nötig ist, wußte ich nicht! Ich dachte zu erst nur dass da halt ein paar Teile hinzugefügt werden. und auch dass sich an der Ladezeit soviel ändert wußte ich nicht!

Nun aber ich bin jetzt schlauer und werd das anderst regeln!
Aber eine Frage habe ich noch!
//EDIT die stell ich aber lieber an einer anderen Stelle!
Zuletzt geändert von skittles am Fr 02.Jul, 2004 01:18, insgesamt 1-mal geändert.
[center]Populanten von transparenten Domizilen sollten
mit fester Materie keine transzendenten Bewegungen durchf?hren.
[/center]


Bild
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

nagut, dann mache ich weiter :D

ich hatte auch schon die idee wie skittles, aber ok, ich kanns verstehen.

einen vorschläge habe ich aber noch:
1.) es wäre schön, wenn man das irgendwie auswählen könnte, was neue benutzer vom boardmenü sehen können. im moment ist es ja so, dass sie erstmal nur die gast-links sehen und sich ihr menü anpassen müssen. da ich mir (gerade bei meinen usern ;) ) vorstellen kann, dass einige damit erstmal nicht so klarkommen werden, wäre es schön, wenn sie am anfang alle möglichen links sehen könten und erst wenn sie sich "mehr trauen" ungewünsche links wegklicken.

wäre das machbar??

edit: seit heute abend kann ich die uhrzeiten der aktuellen topic nicht mehr sehen. also die zeit, wann der letzte beitrag verfasst wurde. bei den alten topics gehts noch
Zuletzt geändert von SethDeBlade am Fr 02.Jul, 2004 02:52, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

seit heute abend kann ich die uhrzeiten der aktuellen topic nicht mehr sehen. also die zeit, wann der letzte beitrag verfasst wurde. bei den alten topics gehts noch
Kleiner Fehler meinerseits. Ist wieder behoben.

Öhm, ja, das ist eine interessante Idee. Aber wenn angemeldete User die Links erstmal nicht haben sollen, warum dann auch den Gästen zur Verfügung stellen ;)
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

[quote="oxpus @ Fr Jul 02, 2004 02:57";p="9131"]Aber wenn angemeldete User die Links erstmal nicht haben sollen, warum dann auch den Gästen zur Verfügung stellen ;)[/quote]

:confused: habe ich das so geschrieben?? ich meinte eher, das angemeldete user von anfang an alle möglichen links haben sollen, nicht umgekehrt ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Also solange keine Links eingestellt sind, alle Links für Gäste und die für seinen Userlevel?
Dann sollte das wie folgt klappen:

Code: Alles auswählen

#
#-----[ OPEN ]-----
#
includes/page_header.php

#
#-----[ FIND ]-----
#
if ( !$userdata['session_logged_in'] || $user_links_count == 0 )
{
	$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . "
		WHERE bl_level = " . ANONYMOUS . "
		ORDER BY bl_dsort, bl_id";
	if ( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not read board menu for user', '', __LINE__, __FILE__, $sql);
	}
}

#
#-----[ REPLACE WITH ]-----
#
$sqlwhereaccess = get_bllink_access();
if ( !$userdata['session_logged_in'] || $user_links_count == 0 )
{
	$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . "
		$sqlwhereaccess
		ORDER BY bl_dsort, bl_id";
	if ( !$result = $db->sql_query($sql) )
	{
		message_die(GENERAL_ERROR, 'Could not read board menu for user', '', __LINE__, __FILE__, $sql);
	}
}

#
# // Do the following instructions only you have installed the add-on
#

#
#-----[ OPEN ]-----
#
portal.php

#
#-----[ FIND ]-----
#
		$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . " l, " . BOARD_MENU_MERGE_TABLE . " m
			WHERE l.bl_level = " . ANONYMOUS . "
			AND l.bl_id = m.link_id
			AND m.cat_id = $mcat
			ORDER BY l.bl_psort, l.bl_id";

#
#-----[ REPLACE WITH ]-----
#
		$sqlwhereaccess = get_bllink_access();
		$sql = "SELECT * FROM " . BOARD_LINKS_TABLE . " l, " . BOARD_MENU_MERGE_TABLE . " m
			$sqlwhereaccess
			AND l.bl_id = m.link_id
			AND m.cat_id = $mcat
			ORDER BY l.bl_psort, l.bl_id";


#
#-----[ SAVE/CLOSE ALL FILES ]-----
#
# EoM
Sagt Bescheid, ob das so klappt, dann mache ich daraus eine neue Mod-Version.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

irgendwie klappt das nicht. ich habe den code von oben eingearbeitet und anschließend bei meinem testuser alle links abgewählt. es wurden anschließend sofort alle möglichen links richtig angezeigt, aber nun komme ich nicht mehr in die moardmenü-verwaltung rein. bei einem klick auf "Links hinzufügen oder entfernen" bekomme ich ne fehlermeldung.

Code: Alles auswählen

Could not read board menu for user

DEBUG MODE

SQL Error : 1064 You have an error in your SQL syntax near 'WHERE bl_level IN (-1, 0) ORDER BY bl_dsort' at line 3

SELECT * FROM phpbb_board_links WHERE bl_level IN (-1, 0) WHERE bl_level IN (-1, 0) ORDER BY bl_dsort

Line : 1020
File : /www/htdocs/sethtest/board_menu_manager.php
vielleicht hilft dir das ja weiter, oder ich habe einen fehler drin, weil dieser komische glossar-mod nun selbst code umschreibt ;)

edit: ich habe den error in einer datei angekangen. das mit den textveränderungen finde ich echt abenteuelich ;)
Zuletzt geändert von SethDeBlade am Sa 03.Jul, 2004 01:46, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ersetze mal

Code: Alles auswählen

$sql_where
mit

Code: Alles auswählen

$sqlwhereaccess
in meinem o.g. Code (den habe ich bereits korrigiert).
Dann sollte es fehlerfrei klappen.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

nu gehts, danke schön :) *freu*

wäre es vielleicht auch möglich, dass neue links automatisch angezeigt werden?? im mom müsste man ja die user informieren, wenn es einen neuen link im menü gibt. wobei mir spontan keine sinnvolle möglichkeit einfällt, wie man alte, nicht gewählte links von neuen unterscheiden kann. hmmm *grübel*

vielleicht wenn man eine zusätzliche spalte in die user_board_links einfügt und dann den gewählten links eine 1, nicht gewählten eine 0 verpasst. alle links die keine 0 oder 1 haben sind dann neu ;) das hätte aber den nachteil, dass für alle user alle links in dieser tabelle gespeichert werden müssten, hm. naja, war ja auch nur eine idee ;)
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Man kann es auch noch komplizierter machen ;)
Hier stelle ich mal die Grundsatzfrage:
Wodurch kommt in ein phpBB normalerweise ein neuer Menülink zustande?
Richtig: In der Regel ist das ein neues Modul.
Und das sollte man nicht den Usern einfach mitteilen, in dem er den Link dahin plötzlich in seinem Menü hat, sondern eher durch Board-Nachrichten, News auf einem Portal, etc.
Das halte ich mit dem Manager etwas übertrieben und könnte den einen oder anderen User sogar verärgern.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

öhm, mir ist da gerade was aufgefallen. wenn ich als gast mein portal anschaue, dann habe ich im menü 2x das als festeingestellte standartmenü, allerdings in der umgekehrten reihenfolge zu der als standartsortierung eingestellten.

außerdem sehe ich dann alle verfügbaren links, unabhängig ob die für gäste oder user sind. als "normaler User" funktioniert soweit alles normal

edit: wenn ich die änderungen von obenrückgängig mache, dann verschwinden zwar die links für benutzer aus dem hauptmenü, aber das portalmenü ist immer noch doppelt.

hast du ne ahnung, was das sein könnte?
Zuletzt geändert von SethDeBlade am So 04.Jul, 2004 13:07, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Hast Du vielleicht 2x den Platzhalter {BOARD_MENU} in der portal_body.tpl drinnen?
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

ne, denke nicht, wenn ich mich einlogge, dann ist das menü richtig angezeigt.

habe gerade nachgeschaut, steht nur einmal drinne
Benutzeravatar
SethDeBlade
Beiträge: 708
Registriert: Mo 31.Mai, 2004 02:31
Kontaktdaten:

Beitrag von SethDeBlade »

nun gehts wieder.

ich hatte den recent links mod von dir ein paar zeilen zu hoch in den portal-links-bereich reinkopiert ^1

nu ja, jetzt gehts *freu*

edit: durch den code, den du oben gepostet hast, erscheit das menü aber trotzdem doppelt. kann das vielleicht sein, dass da was mit dem sqlwhereaccess nicht stimmt??

habs erstmal wieder ausgebaut, und dann läufts
Zuletzt geändert von SethDeBlade am Mo 05.Jul, 2004 09:57, insgesamt 1-mal geändert.
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

Ich muss das mal testen. Mache ich nachher mal.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Benutzeravatar
dagobert
Beiträge: 457
Registriert: Mo 08.Mär, 2004 13:46
Wohnort: Altenkirchen
Kontaktdaten:

Re: phpBB Menü AddOn

Beitrag von dagobert »

[quote="skittles @ Do 01.Jul, 2004 13:03";p="9074"] dass z.b. normale Benutzer (ohne in einer bestimmten Gruppe zu sein) eben auf bestimmte Seiten keinen Zugriff haben! Auch nicht wenn sie die Url direkt eingeben!
[/quote]


haste dir das schon mal angesehn ?

http://www.phpbb.de/topic9536.html
Benutzeravatar
oxpus
Administrator
Beiträge: 28735
Registriert: Mo 27.Jan, 2003 22:13
Wohnort: Bad Wildungen
Kontaktdaten:

Beitrag von oxpus »

@SethDeBlade
Ich habe den Code nun mal bei mir eingebaut:
Das Menü ist nicht doppelt.
Ich kann da keinen Fehler finden.
Vielleicht die falschen Stellen geändert?

BTW:
Der Mod ist nun mit dem Code vorhanden. Version 2.0.1.
Karsten Ude
-={ Das Mädchen für alles }=-
Kein Support per Messenger, Email oder PN! Unaufgeforderte Nachrichten werden ignoriert!
No support per Messenger, Email or PM. Each unasked message will be ignored!
Antworten