Gruppenzugriff bei Artikelerstellung in einer pers. Rubrik

Fragen zur Implementierung und/oder Anpassung von ConPresso 4 werden in diesem Forum diskutiert.
Antworten
Ralf
ConPresso-Checker
Beiträge: 205
Registriert: 25.08.2005 10:58
Hat sich bedankt: 65 Mal
Danksagung erhalten: 14 Mal

Gruppenzugriff bei Artikelerstellung in einer pers. Rubrik

Beitrag von Ralf »

Hallo zusammen,

ich kämpfe mal wieder mit dem "alten" Problem, das ich für einen Kunden eine komplette Webseite als geschlossenen Partnerbereich anlegen darf.

Da wenn ich alle Rubriken auf geschlossen einstelle, ich bestimmte Inhalte nicht personaliseren kann (ausser ich lege mehrer Rubriken an und gebe darauf unterschiedlichen Zugang ... was jedoch wieder zur folge hätte ich müsste meine Artikel evtl. bis zu 5x erfassen?!!!),

habe ich mich für personalisierte Rubriken entschieden.
Hier kann ich nun verschiedenen Gruppen unterschiedliche Artikel bereitstellen. Jedoch habe ich dann keine "geschlossenen Rubriken" mehr und evtl. jeder kann die Seite anschauen?!!

Denn im Handbuch steht in Kapitel 16.4
Achtung
Wird keine Benutzergruppe ausgewählt, so ist der Artikel nicht personalisiert und
im Frontend für alle Gruppen und auch für nicht angemeldete Besucher sichtbar!
Jetzt meine Frage:
Kann ich diese Auswahl als MUSS-Feld ändern?? Das ein Redakteuer dieses Feld/ einen Haken mind. bei einer Gruppe beim Artikelerstellen setzen muss und falls nicht ihm eine Fehlermeldung erscheint?!!!

Das wäre jetzt meine einzigste Idee wie ich den komplett geschlossenen Partnerbereich realisieren könnte.

Vielen Dank
cu Ralf
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 »

Hallo Ralf

Öffne _include/check_edit.php und suche:

Code: Alles auswählen

if (empty($_POST['titel'])) {
    $message[] = __('Please enter a title.').'<br />'; 
    $fehler = true;
}
Füge danach ein:

Code: Alles auswählen

if ($cpoRubric['seclevel']==SECLEVEL_PERSONALIZED && count($_POST['usergroup'])<=1) {
    $message[] = __('Please select a usergroup.').'<br />'; 
    $fehler = true;
}
Die Nachricht kannst du natürlich noch anpassen. Wenn du sie 2-Sprachig möchtest, dann musst du in _include/lang/deutsch/common.inc.php nach 'Please enter a title.' suchen und danach entsprechend deine Übersetzung einbauen.
Wenn nicht, trage einfach eine deutsche Nachricht ein.

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Ralf
ConPresso-Checker
Beiträge: 205
Registriert: 25.08.2005 10:58
Hat sich bedankt: 65 Mal
Danksagung erhalten: 14 Mal

Beitrag von Ralf »

@ Matthias V

hallo vielen Dank, werde es gleich testen!!

Wobei eine Frage hätte ich noch, sehe ich das richtig das du nun immer abfragst ob es 1) eine personalisierte Rubrik ist und 2) ob es mind. 1x Gruppe gibt und falls ja und falls kein Haken gesetzt wurde er einen Fehler ausgibt?!!

EDIT:

Sorry so geht es leider noch nicht, denn nun kommt mir IMMER die Fehlermeldung!! auch wenn ich einen Haken drin habe und auf speichern gehen, kommt mir die Fehlermeldung und der Haken ist wieder weg?!!

Liegt es evtl. daran, das beim ersten Code noch nach einem "empty" Feld gefragt wird und du machst dies nicht sondern eigentlich gibst du doch IMMER den Fehler aus oder???
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 »

Ja es war so geplant, dass die Melung nur ausgegeben wird, wenn es eine personalisierte Rubrik ist UND wenn keine Benutzergruppe ausgewählt ist.

Ich hatte es noch nicht so vollständig getestet. D.h. habe nur getestet, ob die Nachricht ausgegeben wird und nicht wann sie nicht mehr ausgegeben wird.

Nimm das hier:

Code: Alles auswählen

if ($cpoRubric['seclevel']==SECLEVEL_PERSONALIZED && empty($_POST['usergroup'])) {
    $message[] = __('Please select a usergroup.').'<br />'; 
    $fehler = true;
}
Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Ralf
ConPresso-Checker
Beiträge: 205
Registriert: 25.08.2005 10:58
Hat sich bedankt: 65 Mal
Danksagung erhalten: 14 Mal

Beitrag von Ralf »

Super vielen Dank, jetzt gehts!!

... jetzt muss ich nur noch schauen, wie ich das mit der Navigation hinbekomme, das man die erst sieht, wenn das Mitglied eingeloggt ist ... :roll:

cu Ralf
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 »

Ralf hat geschrieben:Super vielen Dank, jetzt gehts!!

... jetzt muss ich nur noch schauen, wie ich das mit der Navigation hinbekomme, das man die erst sieht, wenn das Mitglied eingeloggt ist ... :roll:

cu Ralf
In der _include/printnavigation.inc.php ist das so umgesetzt, dass die User nur die Rubriken sehen die sie dürfen (bei geschlossenen Rubriken).

So könnte es gehen:

Suche in _include/printnavigation.inc.php nach:

Code: Alles auswählen

        if ($v['rubric']['seclevel']==SECLEVEL_CLOSED) {
            if (empty($_SESSION['SID_user']['id'])) continue;
            $db = new DB;
            $db->query("SELECT COUNT(*) FROM ".CPO_RUBRIC_PERMISSION." "
                      ."WHERE rubric_id='".(int)$v['rubric']['id']."' "
                      ."AND usergroups_id='".(int)$_SESSION['SID_user']['usergroups_id']."'");
            $db->next_record();

            if ($db->v('COUNT(*)')<=0 && $_SESSION['SID_user']['admin']!=ROLE_ADMIN) continue;
        }
und füge danach ein:

Code: Alles auswählen

        if ($v['rubric']['seclevel']==SECLEVEL_PERSONALIZED) {
            if (empty($_SESSION['SID_user']['id'])) continue;
            if (empty($_SESSION['SID_user']['usergroups_id']) && $_SESSION['SID_user']['admin']!=ROLE_ADMIN) continue;
        }
Gruß Matthias V

P.S. dadurch wird die Rubrik von personalisierten Rubriken nur gezeigt, wenn ein User eingeloggt ist, der einer Benutzergruppe zugeordnet ist.
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
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 »

Hallo Ralf,

in diesem Zusammenhang habe ich noch einen Bug in Conpresso gefunden: http://community.conpresso.de/viewtopic ... 7595#17595

Gruß Matthias V
mod_Guestbook 4.1.0

Features:
- Einträge als ConPresso-Artikel
- benutzt Templates, Rubriken, ...
- Captcha
- BB-Code + Smilies + Zitieren
- Badwords
- Anonymisierung
Antworten