Plugins - Rechte

Gesperrt
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Plugins - Rechte

Beitrag von NobodyBody »

Hallo, 8)

im Backend unter Benutzer -> Bereiche (v. 4.6.23) kann ich dem User die Rechte für die einzelnen Bereiche geben.
z.B:
Gruppen
Gruppe löschen
Gruppe erzeugen
Gruppe bearbeiten
Gruppe ...

In welchen Tabellen, muss ich was eintragen, damit ich für mein Plugin auch solch eine Rechtevergabe zur verfügung stellen kann

MeinPlugin
MeinPlugin löschen
MeinPlugin erzeugen
MeinPlugin bearbeiten
MeinPlugin ...

Danke :wink:
MichFress
Beiträge: 750
Registriert: Mo 5. Jan 2004, 22:32
Wohnort: Bochum
Kontaktdaten:

Beitrag von MichFress »

das hängt mit der Tabelle con_actions zusammen.
In den Plugins wird über die URL der "actions"-Parameter übertragen, der den Code ausführt, der in der con_actions-Tabelle steht - nachdem die nötigen Rechte geprüft wurden. Das Formular zur Rechtevergabe wird aus der con_actions erstellt.
"Es wird keine Handlung geben, keine Geschichte mit ihrer Versprechung auf einen Anfang und ihrer Hoffnung auf ein Ende." (Andrzej Stasiuk)
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Beitrag von NobodyBody »

Hey,

Danke für deine Antwort.

In dieser Tabelle ist aber nichts von z.B. Gruppen, Gruppe löschen, ..., zu finden
Wie komme ich dann zu meinen gewünschten MeinPlugin, MeinPLugin löschen, ..., einträgen ?

Danke :)
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Beitrag von NobodyBody »

Hallo,

hab jetzt mit folgender Anweisung

Code: Alles auswählen

INSERT INTO con_actions VALUES ('10201', '10200', '', 'MeinPLugin', '', '', '1');
einen Eintrag für mein Plugin in der con_actions erstellt.

Im Formular Rechtevergabe taucht aber mein Eintrag immer noch nicht auf.


Auch bein anderen Plugins (z.B. vpTransformationen) die ich zum Testen installiert habe, sind Einträge in der Tabelle con_actions (vptransformationen_create, vptransformationen_save, ... ) aber auch diese erscheinen im Formular nicht.


Danke :roll:
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL »

Das wird jetzt kompliziert!!! :shock:

Du must erst eine Area (con_area) haben und diesen areas kannst du dann actions (con_actions) zuweisen.

Beispiel der Sprachen:

Haupt-Area: lang
Action: lang_renamelanguage
Action: lang_activatelanguage
Action: lang_deactivatelanguage

Kind-Area: lang_edit
Action: lang_newlanguage
Action: lang_deletelanguage
Action: lang_edit

Ausgabe in der Verwaltung:
----------------------------------
Sprachen <- Übersetzung der Haupt-Area
- Sprache umbenennen <- Actions und Actions der Kinder
- Sprache aktivieren
- Sprache deaktivieren
- Sprache erstellen
- Sprache löschen
- Sprache bearbeiten

(wichtig für komplett neue Areas sind auch die Tabellen con_files & con_frames)
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Beitrag von NobodyBody »

Hallo OliverL,

Vielen Danke für deine Antwort.

Die Einträge in der con_area, con_files und con_frames hab ich für mein Plugin schon eingetragen.
Es werden auch meine Files in den richtigen Frames angezeigt. :o

Aber wie komme ich vom Eintrag in der con_actions
z.B. von 'lang_newlanguage' auf den Eintrag in der Verwaltung 'Sprache erstellen' und woher nimmt er diesen :x

Danke :oops:
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL »

Puhhh!!!

soweit bin ich leider noch nie gekommen. Das Projekt bei dem ich meine Erfahrungen gemacht hatte wurde durch die Modul-Packages überflüssig und habe ich nicht weitergemacht.
Ich könnte mir aber vorstellen das du in der ".../plugins/MyPlugin/includes/config.php" deines Plugins die Namen mit der Befehlszeile ergänzen kannst:

Code: Alles auswählen

$lngAct["AREA-NAME"]["ACTION-NAME"] = i18n("Realname", "MyPlugin");
Übersetzungen dann im File: ".../plugins/MyPlugin/locale/de_DE/LC_MESSAGES/MyPlugin.po"

WICHTIG: Bei der Con 4.6.23 gibt es glaube ich ein Problem das die i18n-Funktion noch nicht Initalisiert ist. Dann wäre mein Vorschlag einfach englische Namen zunutzen.

Bitte schreib mir ob es funktioniert hat da es alles nur eine Vermutung ist.
mfg Oli
Zuletzt geändert von OliverL am Fr 10. Okt 2008, 21:28, insgesamt 1-mal geändert.
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Beitrag von NobodyBody »

Also,

hab jetzt mal das Hello_World-Plugin installiert.
In der con_actions habe ich die Zeile

Code: Alles auswählen

INSERT INTO `con_actions` VALUES (444, 10100, '', 'hello_world', '', '', 0);
eingefügt, in der config.plugin.php die Zeile

Code: Alles auswählen

$lngAct["hello_world"]["hello_world"] = i18n("hello_world", $plugin_name);
und in der hello_world.po die Zeilen

Code: Alles auswählen

msgid "hello_world"
msgstr "Hallo Welt Test"
Ich bekomme jetzt in der Verwaltung unter Administration -> Benutzer -> Bereiche einen den Eintrag 'Hallo Welt'
aus der XML-Datei und nicht aus meiner po-Datei. :x

Was mach ich noch falsch :?:
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Beitrag von OliverL »

Nummer 1:
Hab da noch eine Netten Beitrag gefunden
http://contenido.org/forum/viewtopic.php?t=17825

Nummer 2:
Nach einem bisschen stöbern leuchtete es mir ein:

Area-Namen:
Natürlich sind die Area-Namen simultan zu den in der Backend-Navi. und werden somit in der XML-Datei "plugins/MyPlugin/xml/lang_de_DE.xml" gespeichert.
Beispiel zum Aufbau der XML unter Nummer 1

Action-Namen:
die Variable $lngAct ist natürlich nur für die Action Namen.


PS: Tabelle: con_nav_sub
Nicht vergessen in der Tabelle "con_nav_sub" den Menüpunkt zu erstellen und die XML Datei anzugeeben.
>> location = 'crm_import/xml/;navigation/extra/crm_import'
(pfad der Übersetzungs-Datei;Ort des Nav.-Punkt)
NobodyBody
Beiträge: 80
Registriert: Di 14. Sep 2004, 08:14
Kontaktdaten:

Beitrag von NobodyBody »

Hallo OliverL :wink:

Vielen Dank für deine Hilfe.
Hab jetzt alle Einträge für's Plugin hinbekommen wie ich sie wollte :D

Gruß
NobodyBody
Gesperrt