Seite 1 von 2

Rechte programmieren

Verfasst: 18.08.2010 23:01
von mojito
HI,
derzeit ist meine kleine modifikation des forums noch hardcoded. nun würde ich gerne das ganze mit vernünftigen rechten, die über das admin-panel vergeben werden können ausstatten. Jedoch verstehe ich dieses Tutorial das es im phpwiki gibt einfach überhaupt nicht. Das einzige was ich daraus verstanden habe ist, das ich in der db das kürzel einfügen muss, was ich auch im $auth->acl_get(...) benutze einfügen muss. jedoch verstehe ich nciht ganz, wie ich diese abfrage entsprechend dann gestalte in meiner modifikation und vor allem, wie ich das im adminpanel dann editieren kann.

am besten wäre für mich eine erklärung mit kurzen codebeispielen.

Re: benutzerrechte einfügen

Verfasst: 18.08.2010 23:22
von aurora876
ich glaube, du solltest das thema anders/genauer benennen...
der titel liest sich so, als hättest du ein problem damit, die rechte eines mods zu vergeben. du willst ja für DEINEN mod eine rechtevergabe erstellen.

Re: Rechte programmieren

Verfasst: 19.08.2010 11:46
von mojito
ich hoffe der Titel ist eindeutiger ^^

Re: Rechte programmieren

Verfasst: 19.08.2010 12:17
von Würzi
Moin,

kurz gesagt brauchst du einen Eintrag in der Datenbank z.B.

Code: Alles auswählen

INSERT INTO `phpbb_acl_options` (auth_option, is_global, is_local, founder_only) VALUES ('u_use_deinmod', 1, 0, 0);
Dann entweder eine eigene permissions lang oder einen Eintrag in der vorhandenen permissions_phpbb.php

Und dann noch die Berechtigung in deinem php file, als kurzes ungetestetes Beispiel:

Code: Alles auswählen

		if ( !$auth->acl_get('u_use_deinmod') )
		{
			$message = $user->lang['NOT_AUTHORISED'] . '<br /><br /><a href="' . append_sid("{$phpbb_root_path}index.$phpEx") . '">&laquo; ' . $user->lang['BACK_TO_PREV'] . '</a>';
			trigger_error($message);
		}
Ich hoffe das dient dir mal so als kurzer Anhaltspunkt. Für mehr hab ich grad keine Zeit.

Mfg dat Wuerzi

Edit:
Die Sprache kannst du aber auch in eine ggf vorhandene info_acp_deinmod.php deiner Mod eintragen, als kurzes Beispiel

Code: Alles auswählen

	'acl_u_use_deinmod'					=> array('lang' => 'Kann  deine Mod verwenden', 'cat' => 'misc'),

Re: Rechte programmieren

Verfasst: 19.08.2010 15:19
von mojito
also das mit der lang habe ich ncoh nicht verstanden.

muss ich eine eigene info_acp_[modnam].php erstellen und da dann

Code: Alles auswählen

'acl_u_use_deinmod'               => array('lang' => 'Kann  deine Mod verwenden', 'cat' => 'misc'),
eintragen?

oder muss ich das in eine andere datei einfügen diese zeile?

Re: Rechte programmieren

Verfasst: 19.08.2010 20:57
von Pyramide
Würzi hat geschrieben:Dann entweder eine eigene permissions lang oder einen Eintrag in der vorhandenen permissions_phpbb.php
Man sollte immer eine eigene Datei erstellen, weil die Handhabung dadurch viel unkomplizierter wird (Installation mit automod, phpBB-Updates, deinstallation).

Re: Rechte programmieren

Verfasst: 19.08.2010 21:26
von Würzi
Pyramide hat geschrieben:
Würzi hat geschrieben:Dann entweder eine eigene permissions lang oder einen Eintrag in der vorhandenen permissions_phpbb.php
Man sollte immer eine eigene Datei erstellen, weil die Handhabung dadurch viel unkomplizierter wird (Installation mit automod, phpBB-Updates, deinstallation).
Jawohl Chef :D

Re: Rechte programmieren

Verfasst: 19.08.2010 22:22
von mojito
gut, dann erstelle ich eine eigene...

aber was muss denn da alles so rein?

und vor allem wo muss ich die dann reinpacken?

oder woher weiß das system, das die zu mir gehört?

Re: Rechte programmieren

Verfasst: 19.08.2010 22:29
von 7emper5i
Mit diesem Hinweis aus dem Tutorial: Adding Custom Pages
habe ich bis dahin gearbeitet, daher wissen meine eigenen Seiten immer, was sie wo hernehmen sollen.

Code: Alles auswählen

// in this example, we specify that we will be using the file: my_language_file.php
$user->setup('mods/my_language_file');
Auf der Seite steht auch noch einiges mehr, was du dann wo am besten einfügst.

Re: Rechte programmieren

Verfasst: 19.08.2010 22:39
von Pyramide
Hier geht es doch um die permissions_xxx.php Dateien. Wie diese auszusehen haben steht im entsprechenden Wiki-Artikel: http://wiki.phpbb.com/display/MODDOCS/T ... ingtabs%29. Wie man dort lesen kann, ist es gar nicht nötig, $user->setup aufzurufen:
simply create a file named permissions_foo.php in language/xx/mods. It will automatically be included, don't worry about how