Bearbeiten aller Bilder/Dateien in den Alben möglich? Bearbeiten aller Bilder/Dateien in den Alben möglich?
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Bearbeiten aller Bilder/Dateien in den Alben möglich?

Started by hordesprime, August 24, 2011, 01:27:25 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

hordesprime

Hi erneut,

ich habe noch eine kleine Frage, ich möchte in meiner Gallery, die nur für eine kleine Gruppe von Usern zugänglich ist (Registrierung nicht möglich nur durch Admin, also closed Group), das jeder dieser User alle Bilder bzw. Dateien bearbeiten könnte, als Beispiel, ich habe dort ein Album "Dokumente", darin befindet sich eine Checkliste, diese soll jeder bearbeiten können (downloaden, lokal beabreiten und dann wieder uploaden und die alte Checkliste aber dann löschen können, so daß nicht 2 unterschiedliche Datenbestände vorhanden sind). Löschen kann aber nur ein Admin oder der Uploader der Datei. Oder habe ich da etwas total übersehen?

Gibt es da eine Möglichkeit dieses einzustellen oder muss ich mit einer manuellen Versionskontrolle vorerst leben?

mfG
TC
Nicht immer zanken, aber immer lieb sein zueinander, bis einer weint.

Αndré

Also prinzipiell halte ich es für bedenklich, wenn jeder eine Datei überschreiben kann. Es gibt das "Filereplacer"-Plugin. Dieses könnte man in den Benutzerrechten so manipulieren, dass jeder jede Datei ersetzen kann. Ist es das, was du möchtest? Oder soll dieses Recht nur in bestimmten Alben/Kategorien verfügbar sein?

Ich weiß nicht wie bewandert du mit PHP bist. Falls du Hilfe benötigst, sag bescheid.

hordesprime

Hi Andre,

es kann für jedes Album gelten, da wir nur ein kleiner Personenkreis sind von 12 Leuten, und die Galerie sowie das Forum ausschließlich für usn zugänglich ist. Es kein kein unregistriert User auf irgentwelche Daten zugreifen.

Ich bin nicht so firm was PHP betrifft. Ich versuche es einfach erstmal und lese mal hier und im Netz wo ich was finde, und notfalls melde ich mich dann danke dir für die Antwort.

Ein Tip in welchem File ich die Manipulation durchführen muss wäre sehr hilfreich für den Anfang.

mfG
TC
Nicht immer zanken, aber immer lieb sein zueinander, bis einer weint.

Αndré

In codebase.php, finde
if (!((USER_ADMIN_MODE && $row['category'] == FIRST_USER_CAT + USER_ID) || ($CONFIG['users_can_edit_pics'] && $row['owner_id'] == USER_ID && USER_ID != 0) || GALLERY_ADMIN_MODE)) {
und ersetze es durch
if (!USER_ID) {

finde
if ((USER_ADMIN_MODE && $CURRENT_ALBUM_DATA['category'] == FIRST_USER_CAT + USER_ID) || ($CONFIG['users_can_edit_pics'] && $data['owner_id'] == USER_ID && USER_ID != 0) || GALLERY_ADMIN_MODE) {
und ersetze es durch
if (USER_ID) {

finde
$data['menu'] = str_replace('</ul>', $menu_button.'</ul>', $data['menu']);
und ersetze es durch
        if (strpos($data['menu'], '</ul>')) {
            $data['menu'] = str_replace('</ul>', $menu_button.'</ul>', $data['menu']);
        } else {
            $data['menu'] = $menu_button;
        }

hordesprime

Hallo ANdre,

ich habe bei jedem PlugIn eine codebase.php. Ich finde auch nirgentwo einen der Code-Schnippsel, die du angeführt hast.


TC
Nicht immer zanken, aber immer lieb sein zueinander, bis einer weint.

Αndré

Die Änderungen müssen im oben erwähnten "File Replacer"-Plugin vorgenommen werden.

hordesprime

Ohhhh *schäm* sry total überlesen, danke dir erneut.

TC
Nicht immer zanken, aber immer lieb sein zueinander, bis einer weint.

Cookiie

Hallo,

ich häng mich mal an den Thread da ich ein ganz ähnliches Problem habe.
Ich hab ebenfalls nur eine geschlossene Nutzergruppe. Es werden in mehreren Kategorien mehrere Alben erzeugt und es kommen auch regelmässig neue Alben hinzu.
Mein Ziel ist, das jedes Mitglied einer Gruppe (registered bzw. eine speziell angelegte Nutzergruppe) das Recht hat die Alben der anderen zu bearbeiten, sei es den Text der Beschreibung, als auch die enthaltenen Bilder ändern bzw. neue hinzufügen.
Mit PHP kenne ich mich leider noch nicht so gut aus, kann aber programmieren.
Meine Idee wäre, sofern dies in Coppermine so funktioniert, bei der Abfrage der Zugriffsrechte noch eine Alternative ala, wenn Nutzer in der gleichen Nutzergruppe, hat er auch Zugriff auf das Album.

Die Alternative wäre halt ein zentraler Login für jeden, das möchte aber vermeiden wenn es geht.
Falls also so eine Stelle im Code existiert, müsste ich nur wissen wo und ggf. was ich ändern muss.

Hoffe ihr kennt mir helfen.
Gruß Cookiie

Αndré

Der Coppermine-Code ist da leider etwas redundant aufgebaut. Je nachdem über welches Formular (z.B. editpics.php oder edit_one_pic.php) du die Meta-Daten ändern möchtest, musst du eine andere Datei bearbeiten. Generell musst du jedes mal mehrere Stellen bearbeiten:
- Den Code, dass der entsprechende Button überhaupt angezeigt wird
- Das Formular selbst, da dort in der Regel auch überprüft wird ob der jeweilige Benutzer Zugriffsrechte hat
- Die Routine, die die Daten in die Datenbank schreibt

Über welchen Weg sollen die Benutzer die Daten bearbeiten können?

Cookiie

Guten Morgen,

am liebsten wäre es mir wenn, jeder Nutzer die gleiche Funktionalität hätte.
Ich als Ersteller des Albums, sehe zB. auf der Startübersichtseite die Albenliste und bei den Alben die mir "gehören" die entsprechenden Buttons zum Bearbeiten. Diese sollte also zugreifbar sein, wenn ich dann tiefer gehe und das Album direkt öffne, müssen die Albeneigenschaften und die Bilder bearbeitbar bzw. austauschbar sein.
Also der Weg soll so sein, das wenn jemand anderes sich einloggt also normaler Nutzer (nicht-admin), das dieser die selben Zugriffsrechte hat, wie der Ersteller des Albums. Die Rechte sollen also Gruppenweit greifen und nicht Nutzerspezifisch.
BtW. wäre das nen cooles Feature im Admin-Control-Panel, wenn man hier bei der Gruppe einfach nen Haken setzen könnte.  :)

Gruß Cookiie

Αndré

Quote from: Cookiie on September 01, 2011, 09:51:15 AM
BtW. wäre das nen cooles Feature im Admin-Control-Panel, wenn man hier bei der Gruppe einfach nen Haken setzen könnte.  :)
Kannst gern ein Thema im "Feature-Requests"-Board starten ;)


Zu deinem eigentlichen Anliegen: bitte spezifiziere genau, was gehen soll und was nicht. Die Sache mit den Albeneigenschaften war vorher noch gar nicht Thema. Es dürfte sich hierbei auch um einen recht großen Aufwand handeln die Modifikationen vorzunehmen. Ich glaube die Lösung mit dem Universalaccount ist da besser.

Falls du es trotzdem versuchen möchtest, solltest du in folgenden Dateien nachsehen:
- themes/<Dein Theme>/theme.php (hier musst du die entsprechenden Funktionen aus themes/sample/theme.php reinkopieren und modifizieren um die Buttons anzuzeigen)
- modifyalb.php & db_input.php für die Albeneigenschaften
- editpics.php für das Bearbeiten mehrerer Dateien in einem Album
- edit_one_pic.php für das Bearbeiten einer einzelnen Datei

Bzgl. "Dateien ersetzen" steht die Lösung ja bereits weiter oben.

Cookiie

Hi,

sorry wenn ich mich hier ungenau ausgedrückt habe, dachte es wäre klar was gewollt ist.
Ich würde vorschlagen , ich stöber erst einmal in Ruhe im Code, um mir einen Überblick zu verschaffen. Eigentlich sollten die Änderungen nicht so kompliziert sein, maximal halt, weil man das gleiche immer wieder an mehreren Stellen ändern muss.
Die genannten Dateien schränken dabei die Suche schon mal ein, jetzt brauch ich nur noch nen passenden Editor mit Syntaxhighlithing. Mal meine alte Eclipse-Installation rauskramen :-)
Wenn ich dann weitere Fragen habe, komme ich wieder auf euch zu.

Bis dahin schonmal danke.
Cookiie