Mitglied in mehreren Gruppen

Fragen und Diskussionen zu laufenden ConPresso 4.x Projekten werden in diesem Forum diskutiert.
Antworten
flofloflo
ConPresso-User
Beiträge: 44
Registriert: 31.07.2006 22:50
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Mitglied in mehreren Gruppen

Beitrag von flofloflo »

Ich benötige für einen firmeninternen Bereich die Funktion, eine Person mehreren Gruppen zugehörig zu machen.
Denn ich habe ca 5 normale Gruppen für die personalisierten Artikel, zusätzlich soll aber jeder Mitarbeiter noch einen eigenen Bereich erhalten, auf den nur er zugreifen kann.

Mit der normalen Funktion müsste ich ja bei jedem einzelnen Artikel dann alle 20 Mitarbeiter aktivieren. Abgesehen davon gibts Chaos, wenn ein itarbeiter eine Stufe in der Hierarchie (Gruppe) aufrückt
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Du hast ja schon selbst gemerkt, daß das nicht geht. Datenbanktechnisch müßte dafür eine ganz andere Struktur aufgebaut werden.

An Deiner Stelle würde ich die Rubrik einfach nach dem User benennen und dann einfach überprüfen, ob der in der Session gespeicherte Name des Users mit dem Namen der Rubrik übereinstimmt.
Wenn nicht, dann gibt es eben eine Umleitung, wenn doch, dann sieht er "seine" Rubrik.
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
flofloflo
ConPresso-User
Beiträge: 44
Registriert: 31.07.2006 22:50
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Beitrag von flofloflo »

Hallo Markus

ok, danke das hatte ich befürchtet.
An welcher Stelle kann man diese Abfrage denn einbauen? So elementare Dinge habe ich bisher nicht abgewandelt.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7362
Registriert: 01.01.1970 01:00
Hat sich bedankt: 111 Mal
Danksagung erhalten: 934 Mal
Kontaktdaten:

Beitrag von MarkusR »

Tja... nur mal theoretisch:

Ich würde für diese Mitgliedsseiten ein eigenes Rurbikverzeichnis anlegen, z.B. "_members"

dort würde ich in index.php, detail.php, archive.php, index_js.php, index_php.php nach

Code: Alles auswählen

require(CPO_BASEDIR.'_include/var_category.php');
eine Zeile in dieser Art einfügen

Code: Alles auswählen

if ($cpoRubric['name'] != $_SESSION['SID_user']['name']) {
   Header('Location: '.BASE_ABS.$directory.'/member.php?rubric='.$cpoRubric['id'].'&'.SID); 
   exit;
}
Testen mußt Du selbst :wink:
Ciao Markus
ConPresso-Module

Kein Support per PN!!! Für Fragen und Diskussionen ist das Forum da!

Succi recentis officinalis
Hochwertige Kräutersäfte und -Öle
Benutzeravatar
Matthias V
Modul-Entwickler
Beiträge: 1251
Registriert: 01.01.1970 01:00
Wohnort: Sondershausen
Hat sich bedankt: 54 Mal
Danksagung erhalten: 147 Mal
Kontaktdaten:

Beitrag von Matthias V »

Da man sowas ohne Probleme umgehen kann, wenn man die Rubriken in einem anderen Rubrikverzeichnis aufruft, sollte dann noch die Dateien, die Markus erwähnt hat in allen anderen Rubrikverzeichnissen bearbeitet werden, so dass jede Rubrik nur im eigenen Rubrikverzeichnis aufgerufen werden darf.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
flofloflo
ConPresso-User
Beiträge: 44
Registriert: 31.07.2006 22:50
Hat sich bedankt: 1 Mal
Danksagung erhalten: 2 Mal

Beitrag von flofloflo »

hmm, es ist allerdings problematisch, besonders da diese Daten doch recht sensibel sind. Ich denke es ist am besten eine eigene "Instanz" von conpresso zu installieren, wo nur diese "Privatartikel" liegen. So kann man auch unterschiedliche Passwörter nehmen
JohannesRoesch
ConPresso-User
Beiträge: 27
Registriert: 20.08.2006 22:29
Wohnort: Bruchsal
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Beitrag von JohannesRoesch »

Tut mir leid, aber ich möchte diesen schon ein paar Tage älteren Artikel noch mal hervorholen.
Ich arbeite derzeit an einem relativ komplexen Projekt, für das es äußerst komfortabel wäre, wenn ich einem Benutzer mehrere Gruppen zuweisen könnte.

Konkret geht es darum, dass ich Mitglieder einmal in die Gruppen Aktiv, Passiv, Praktikant einteilen muss, aber zusätzlich gibt es Schnittmengen aus diesen die dann noch heißen Leitung, Geschäftsführung, Ausbildung, etc.

Ich habe mir dazu ein paar Gedanken gemacht und denke es dürfte gar nicht so schwer sein das zu realisieren. Allerdings fehlt mir etwas die Übung was den Conpresso-Code betrifft.

Meine Gedanken dazu:
  • Die Datenbank soll möglichst nicht verändert werden um kompatibel zum Original zu bleiben.
  • Dann müsste man aber statt einer Tabelle welche die Beziehungen Speichert einen Array mit den entsprechenden Werten in das Feld usergroups_id speichern
  • Man müsste einmal das Formular zum bearbeiten der Gruppen verändern, damit eine multiple Auswahl möglich wären
  • Und man müsste dann überall dort wo abgefragt wird ob jemand in einer Gruppe ist eine Schleife einbauen die diese Abfrage für jeden Wert des Arrays durchführt
  • Wenn man das Feld usergroups_id in der Datenbank in ein Varchar Feld ändert, dann kann man einen per implode() zusammengefassten Array als String speichern. Das zerlegen zurück in einen Array geht dann per explode()
  • Die Abfrage aus der Datenbank müsste nur einmal stattfinden, da der wert beim Login in $_SESSION['SID_user']['usergroups_id'] gespeichert wird.
  • Korrigiert mich bitte wenn ich Falsch liege, aber theoretisch ist für die Abfrage dann nur printnavigation.php damit Rubriken für die keine Berechtigung besteht nicht mehr angezeigt werden und secure.php damit auch kein Zugriff über den link möglich ist zu bearbeiten.
  • Im Backend ist nur die users.php und die usergroups.php zu bearbeiten
JohannesRoesch
ConPresso-User
Beiträge: 27
Registriert: 20.08.2006 22:29
Wohnort: Bruchsal
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Beitrag von JohannesRoesch »

Hier mal ein schneller Versuch...
Dateianhänge
change.sql.txt
Enthält die Änderungen der Datenbank. Der Tabellenname muss an die eigenen Bedürfnisse angepasst werden.
(98 Bytes) 403-mal heruntergeladen
multiplegroups.zip
Enthält die zu ändernden Dateien und jeweils eine Beschreibung der Änderungen.
(12.25 KiB) 519-mal heruntergeladen
JohannesRoesch
ConPresso-User
Beiträge: 27
Registriert: 20.08.2006 22:29
Wohnort: Bruchsal
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Beitrag von JohannesRoesch »

Ich seh gerade, dass diese Anpassungen schon mehrfach runtergeladen wurden...
Mich würde interessieren, ob jemand die Anpassungen schon eingebaut hat un ob das überall funktioniert. Oder hat jemand Probleme gefunden??
JohannesRoesch
ConPresso-User
Beiträge: 27
Registriert: 20.08.2006 22:29
Wohnort: Bruchsal
Hat sich bedankt: 4 Mal
Danksagung erhalten: 2 Mal

Beitrag von JohannesRoesch »

Unter Umständen kann es notwendig sein, dass das Feld `usergroups_id` in der Tabelle `cpo4_user` in der Länge angepasst werden muss.
Antworten