User soll nur einen Artikel bearbeiten dürfen

Fragen und Diskussionen zu laufenden ConPresso 3.x Projekten werden in diesem Forum diskutiert.
Claud

User soll nur einen Artikel bearbeiten dürfen

Beitrag von Claud »

Hallo zusammen,

ich betreue die Internetseite eines Vereins. Die Umsetzung des Webauftritts hat
dank Conpresso auch wunderbar funktioniert.
Jetzt stehe ich vor einem (für mich im augenblick) unlösbaren Problem. Ich
hoffe aber, aus diesen Reihen kommt tatkräftige Hilfe! :o)

Folgendes:
Es gibt einen geschützten Bereich, der nur Mitgliedern zugänglich ist. Jedes Mitglied
hat einen eigenen Login und soll in der Lage sein in einer gemeinsamen Rubrik
"Mitglieder" genau einen Artikel einzustellen und zu bearbeiten, nämlich die
seine Profilseite. Nun kann ich zwar bei Conpresso einstellen, dass ein Redakteur
nur Artikel erfassen darf, aber dann sind die Mitglieder nicht in der Lage ihr
Profil im Nachhinein zu ändern. Wenn ich andererseits die Rechte so einstelle,
dass Artikel auch bearbeitet werden können, würde das bedeuten, dass ein Mitglied
auch Zugriff auf die Profilseite anderer User hätte. Das ist natürlich nicht gewünscht.

Die einzige Lösung, die ich sehe, ist für jedes Mitglied eine eigene Rubrik anzulegen
und dort halt jeweils nur einen Artikel zu erfassen. Dann wäre das Problem gelöst.
Jedoch wäre ich dann bei weit über 100 Rubriken und in zwei Jahren dann bei 500?
Das kann ja auch kein Weg sein, oder?

Hat jemand eine Idee wie ich das lösen könnte?

Vielen Dank für eure geschätzte Hilfe!

Gruß,
Claud
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von MarkusR »

Jetzt antworte ich doch mal... der Vollständigkeit halber:

Conpresso selbst bietet, wie Du ja anderweitig lesen konntest, keine entsprechende Möglichkeit.

Falls Deine Redakteure keine allzu große kriminelle Energie aufbringen, wäre folgendes denkbar:

In der Datei _inlude/tab_modify.php werden die SQL-Abfragen so ergänzt, daß nur die Artikel des entsprechenden Users angezeigt werden. Dies allerdings nur bei einer Rubrik, die z.B. "profile" heißen könnte, was man ja Problemlos über PHP-Variaiblen ermitteln kann.
Das sind 3 Zeilen Code.

Wenn Du allerdings noch Datei- und Bildupload erlauben willst, wird dies sicher auch für eine Handvoll andere Dateien erforderlich.

Wenn Du das weiterverfolgen möchtest, können wir uns über die kleinen Änderungen unterhalten... ;o)

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
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von MarkusR »

Ich kanns einfach nicht lassen... ;o)

das betroffene Verzeichnis nennen wir mal "profile", dann...


1.)
=== SUCHE ===
if (!defined('CPO')) exit;

=== DANACH, EINFÜGEN ===
if ($directory == "profile" AND $_SESSION['SID_level'] < 2) $single_user = " AND autor = '".$_SESSION['SID_login']."'";

2.)
=== SUCHE ===
$query = "SELECT COUNT(*) FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."' ORDER BY ".$sort."";

=== ERSETZEN MIT ===
$query = "SELECT COUNT(*) FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."'".$single_user." ORDER BY ".$sort."";

3.)
=== SUCHE ===
$query = "SELECT article_nr, auth, auth_backup, autor, changer, commentary, freigabe, freigabe_name, last_modify, nr, pub_datum, sort_id, template, text_1, titel, untertitel, verfallsdatum "
."FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."' ORDER BY ".$sort." LIMIT ".$pos.",".$maxArticle;

=== ERSETZEN MIT ===
$query = "SELECT article_nr, auth, auth_backup, autor, changer, commentary, freigabe, freigabe_name, last_modify, nr, pub_datum, sort_id, template, text_1, titel, untertitel, verfallsdatum "
."FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."'".$single_user." ORDER BY ".$sort." LIMIT ".$pos.",".$maxArticle;


(bei den letzten beiden Punkten wird ledigleich ein ".$single_user." an die WHERE-Clause angefügt.)

Das hindert ihn allerdings nicht daran, mehr als einen Artikel anzulegen...

edit: CODE-Tags entfernt, damit der Thread wieder ins Fenster passt... ;o)



Beitrag bearbeitet (27.04.05 18:28)
Zuletzt geändert von MarkusR am 12.01.2006 20:09, insgesamt 1-mal geändert.
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
schoene
ConPresso-Entwickler
Beiträge: 274
Registriert: 01.01.1970 01:00
Hat sich bedankt: 7 Mal
Danksagung erhalten: 13 Mal

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von schoene »

Hallo MarkusR,

wir wär's mit einem Modul "Profil"?
Ich muss zugeben, dass ich diese Anforderung schon mehr als einmal bekommen habe.

Steffen
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von MarkusR »

Kein Problem, wenn man weiß, was da rein soll und welche Möglichkeiten die User haben sollen.

Was wurde denn genau angefragt?

Die obenstehende Lösung funktioniert im übrigen ganz prima... ;o)

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
Claud

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von Claud »

Jetzt hab ich die Jungs aber bei der Ehre gekriegt
:oD

und offensichtlich eine kleine Lawine losgetreten...

Vielen herzlichen Dank! Ich werd das Ganze umgehend
testen und anschließend berichten!

Viele Grüße,

Claud

Benutzeravatar
schoene
ConPresso-Entwickler
Beiträge: 274
Registriert: 01.01.1970 01:00
Hat sich bedankt: 7 Mal
Danksagung erhalten: 13 Mal

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von schoene »

Hallo Markus,

ich denk mal genau drüber nach und schreib dir dann was.

Viele Grüße
Steffen
Claud

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von Claud »

Hallo Markus,

Dein Tipp funktioniert tatsächlich einfach ganz wunderbar :o)

Vielen herzlichen Dank! Das erspart mir sehr viel Arbeit :oD

Schönen Abend und beste Grüße,

Claud
alex

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von alex »

hi. hab die änderungen wie oben vorgenommen sehe, aber keine wirkung. die redakteure sehen weiterhin alle artikel in einer rubrik und nicht nur ihre eigenen.

was mache ich falsch?
alex

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von alex »

ich will diese funktion in der rubrik news einsetzten. die redakteure sollen nur ihrer eigenen artikel sehen.


ÄNDERE ICH WIE FOLGT:

1.)
=== SUCHE ===
if (!defined('CPO')) exit;

=== DANACH, EINFÜGEN ===
if ($directory == "news" AND $_SESSION['SID_level'] < 2) $single_user = " AND autor = '".$_SESSION['SID_login']."'";

2.)
=== SUCHE ===
$query = "SELECT COUNT(*) FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."' ORDER BY ".$sort."";

=== ERSETZEN MIT ===
$query = "SELECT COUNT(*) FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."'".$single_user." ORDER BY ".$sort."";

3.)
=== SUCHE ===
$query = "SELECT article_nr, auth, auth_backup, autor, changer, commentary, freigabe, freigabe_name, last_modify, nr, pub_datum, sort_id, template, text_1, titel, untertitel, verfallsdatum "
."FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."' ORDER BY ".$sort." LIMIT ".$pos.",".$maxArticle;

=== ERSETZEN MIT ===
$query = "SELECT article_nr, auth, auth_backup, autor, changer, commentary, freigabe, freigabe_name, last_modify, nr, pub_datum, sort_id, template, text_1, titel, untertitel, verfallsdatum "
."FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."'".$single_user." ORDER BY ".$sort." LIMIT ".$pos.",".$maxArticle;




Wenn ich diese Änderungen vornehme werden gar keine artikel mehr angezeigt??????? HELP
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von MarkusR »

Vielleicht schon ein bißchen übermüdet?

Was denn nun? Werden alle Artikel angezeigt oder gar keine Artikel mehr?

Dadurch, daß Du nochmal den ganzen Text postest, wirds auch nicht übersichtlicher. Hast Du irgendwas außer dem Wort "profile" in "news" geändert? Welche Datei hast Du bearbeitet?
Gilt das für alle Rubriken oder nur für die eine?

Grundsätzlich: Umso präziser Deine Beschreibungen sind, umso schneller gibt's präzise Antworten!



Beitrag bearbeitet (24.04.05 03:05)
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
alex

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von alex »

hallo. ja war wohl schon etwas müde. zu dem beitrag (sorry aber ich poste nochmal den code).

1.)
=== SUCHE ===
if (!defined('CPO')) exit;

=== DANACH, EINFÜGEN ===
if ($directory == "news" AND $_SESSION['SID_level'] < 2) $single_user = " AND autor = '".$_SESSION['SID_login']."'";

2.)
=== SUCHE ===
$query = "SELECT COUNT(*) FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."' ORDER BY ".$sort."";

=== ERSETZEN MIT ===
$query = "SELECT COUNT(*) FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."'".$single_user." ORDER BY ".$sort."";

3.)
=== SUCHE ===
$query = "SELECT article_nr, auth, auth_backup, autor, changer, commentary, freigabe, freigabe_name, last_modify, nr, pub_datum, sort_id, template, text_1, titel, untertitel, verfallsdatum "
."FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."' ORDER BY ".$sort." LIMIT ".$pos.",".$maxArticle;

=== ERSETZEN MIT ===
$query = "SELECT article_nr, auth, auth_backup, autor, changer, commentary, freigabe, freigabe_name, last_modify, nr, pub_datum, sort_id, template, text_1, titel, untertitel, verfallsdatum "
."FROM ".$dbPrefix."_news "
."WHERE artikel_archiv = 0 AND kategorie = '".$directory."'".$single_user." ORDER BY ".$sort." LIMIT ".$pos.",".$maxArticle;

ich habe oben den php code auf NEWS geändert, da ich die funktion in der rubrik news haben möchte. da ich kein php guru bin, bitte ich nochmals um erkärung, hilfe zu diesem thema. danke im voraus.
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von MarkusR »

Na gut... dann rate ich mal:
Du hast die Datei _inlude/tab_modify.php geändert?

Gilt das für alle Rubriken oder nur für die eine?
(wobei letzteres dafür sprechen würde, daß es funktioniert)

Hat der Redakteur dort bereits einen Artikel geschrieben?

Zur Erklärung: Es wird dem Redakteur NICHT die Möglichkeit genommen, fremde Artikel zu bearbeiten!
Es wird ihm nur der Link zu diesen Artikeln (und der gesamte Artikel) nicht mehr gezeigt. Mit etwas Gehirnschmalz und einem selbstzusammgebastelten Link könnte man den Artikel bearbeiten. Daher mein obenstehender Hinweis auf "kriminelle Energie".

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
alex

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von alex »

ja ich habe die datei _inlude/tab_modify.php geändert. wie oben gespostet.

wenn ich die änderungen wie oben vornehme änderst sich im betrieb nichts. jeder redakteur sieht aller artikel.

ich habe 2 rubriken "news" und "news2". es gibt 10 redakteure die schon artikel in der rubrik "news" gespostet haben.

was muss ich noch ändern damit es funktioniert?????? jeder redakteur soll nur seine eigenen artikel angezeigt bekommen????????????
Benutzeravatar
MarkusR
Handbuchversteher
Beiträge: 7361
Registriert: 01.01.1970 01:00
Hat sich bedankt: 110 Mal
Danksagung erhalten: 933 Mal
Kontaktdaten:

Re: User soll nur einen Artikel bearbeiten dürfen

Beitrag von MarkusR »

Ok, nachdem zuerst alles zu sehen war, dann plötzlich nichts mehr zu sehen war, sieht jetzt jeder Redakteur wieder alle Artikel... Das ist doch mal eine Aussage!
Oder schreiben da verschiedene "alex"?

Ich weiß nicht, was Du ändern mußt, da es hier bei allen, die es getestet haben, funktioniert, nur bei Dir nicht!
Und technisch gesehen müsste es auch bei Dir funktionieren.

Poste doch bitte mal den vollständigen Code von _inlude/tab_modify.php sowie den Seitenquelltext der Seite, wo Du feststellst, daß ein Redakteur noch alle Artikel zur Bearbeitung angeboten bekommt, obwohl er nur seine eigenen angeboten bekommen sollte.

Sorry @ all, aber diese Seite it ohnehin schon durch die Codes völlig aus dem Leim... ;o)

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
Antworten