Advanced search  

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]

Pages: [1] 2 3   Go Down

Author Topic: Code für Abgabe von Kommentaren  (Read 17602 times)

0 Members and 1 Guest are viewing this topic.

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Code für Abgabe von Kommentaren
« on: January 31, 2011, 09:18:32 pm »

hi,

über die Suchfunktion bin ich auf einen interessanten Artikel gestoßen :D, der für mich und meine Galerie genau zutrifft.  Was muss am Code geändert werden für den Einsatz in 1.5x und wo genau muss er hin, damit ich ihn verwenden kann? Aus dem Artikel geht es nicht wirklich hervor. In der upload.php hatte es so keine Auswirkung.

Code: [Select]
// Funktion zur Pruefung auf Spender-Usergruppe und Kommentarfaktor.
define('GROUP', 5, true);     // ID der Spendergruppe
define('COMMENTS', 3, true);  // Anzahl der Kommentare die pro Bild noetig sind
$user_id = USER_ID;
$table_u = "cpg14x_users";
$table_c = "cpg14x_comments";
$table_p = "cpg14x_pictures";
$column = "user_group_list";
$query = "SELECT {$column} FROM {$table_u} WHERE user_id = {$user_id}";
$result = cpg_db_query($query);
$result = mysql_fetch_array($result);
if ($result[0] != GROUP) {
   $query_c = "SELECT COUNT(*) FROM {$table_c} WHERE author_id = {$user_id}";
   $result_c = cpg_db_query($query_c);
   $result_c = mysql_fetch_array($result_c);
   $query_p = "SELECT COUNT(*) FROM {$table_p} WHERE owner_id = {$user_id}";
   $result_p = cpg_db_query($query_p);
   $result_p = mysql_fetch_array($result_p);
   $faktor = $result_c[0] / $result_p[0];
   $require_faktor = $result_p[0] * COMMENTS - $result_c[0];
     if ($faktor < COMMENTS) {
       cpg_die(ERROR, " Du hast $result_c[0] Kommentare geschrieben und $result_p[0] Bilder hochgeladen, das ist ein Kommentarfaktor von $faktor<br />Leider zu wenig um weitere Bilder hochzuladen. Du musst mindestens $require_faktor weitere(n) Kommentar(e) schreiben.<br />Alternativ gibt es eine Spendenmoeglichkeit fuer die Galerie.<br />Fuer einen Jahresbeitrag von 10 Euro, wirst Du von jeglichen Uploadbeschraenkungen befreit !", __FILE__, __LINE__);
}
}


VG

CMFA
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #1 on: January 31, 2011, 09:41:44 pm »

Der Code ist ehrlich gesagt unnötig aufgebläht und dadurch nur schwer nachvollziehbar. Beschreibe einfach genau was du vorhast. Also wieviele Kommentare pro Bild bzw. wieviele Bilder pro Kommentar. Soll das für alle Benutergruppen gelten oder nur für bestimmte? Wenn ja, welche? Und so weiter.

Das dein Code nicht funktioniert könnte vor allem an den hartkodierten Tabellennamen liegen, oder auch daran, dass es in cpg1.5x 2 verschiedene Uploadmethoden gibt und deshalb ggf. 2 mal Code angepasst werden muss.
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #2 on: January 31, 2011, 09:51:06 pm »

Hi,

gut Frage wie viele Kommentare man ansetzen möchte und wie viele Punkte man abziehen möchte.
Gehen wir mal pro Kommentar von 5 Punkten aus. Pro Upload von 3 Punkte aus. Spendengruppe benötige ich,vorerst nicht.
Damit wären wir eigentlich schon durch.

CMFA
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #3 on: February 01, 2011, 11:29:49 am »

Es wäre wirklich hilfreich wenn du mir etwas Arbeit abnehmen würdest, indem du zum einen meine Fragen komplett beantwortest und dann auch in einer Form, dass ich nicht erst alles nochmal durchlesen und auch die verlinkten Themen durchlesen muss.

Du möchtest also, dass deine Benutzer (alle? also auch der Admin? was ist mit Gästen?) pro Kommentar 5 Punkte auf ihr Konto gutgeschrieben bekommen und pro Upload 3 Punkte vom Konto abgezogen bekommen. Stimmt das so?
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #4 on: February 01, 2011, 11:43:19 am »

Hi,

sorry, wenn ich nicht richtig bzw vollständig geantwortet habe, das war nicht meine Absicht.
Es soll für alle registrierten User gelten.
Ideal wäre es, wenn man das über Boolean Felder in den Gruppen lösen könnte und dort die Punktzahl auch hinterlegen könnte. Gäste haben keine Uploadberechtigung. Bei der Punktzahl bin ich noch flexibel. Ja 6 Punkte pro Kommentar sind gut und 3 für einen Upload. Es ist Flash und HTML Upload erlaubt.

CMFA
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #5 on: February 01, 2011, 12:00:36 pm »

Es soll für alle registrierten User gelten.
Meinst du damit die Benutzergruppe "Registered" oder alle Benutzer, außer Gäste und den Administratoren? Je nachdem wieviele Gruppen du hast, kommt das auf dasselbe hinaus. Trotzdem ist eine präzise Antwort für die Erstellung des Codes erforderlich.


Ideal wäre es, wenn man das über Boolean Felder in den Gruppen lösen könnte und dort die Punktzahl auch hinterlegen könnte.
Ich weiß was du meinst, allerdings solltest du dir nochmal durchlesen, was man im Datentyp Boolean abspeichern kann ;) Auch hier gilt wieder: leg die Felder in deiner Datenbank an (z.B. mit phpMyAdmin) und sag mir, wie du das Feld genannt hast.


6 Punkte pro Kommentar sind gut und 3 für einen Upload.
Das wären dann also +2 Punkte pro Kommentar und -1 Punkt pro Upload 8)
« Last Edit: February 01, 2011, 12:36:15 pm by Αndré »
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #6 on: February 01, 2011, 12:27:22 pm »

Hi,

alle Benutzer. Die Benutzer befinden sich bei mir in Gruppe "Registered" bist auf zwei Admins.
Bei Boolean war ich der bisher der Meinung "Yes" und "No" zu haben.
Yes für Funktion aktiv und no für nicht aktiv. Welche Datentyp sollen die Felder haben, ist die Tabelle egal?
Wir könnten Tabelle Comments nutzen mit Comment_point (DECIMAL), Upload_piont(DECIMAL) und Function_Point(Boolean) nennen.
Mh, das letzte seh ich so  8) +6 Punkte -3Punkte, das Punktesystem ist doch sicher später noch änderbar?
 
CMFA
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #7 on: February 01, 2011, 12:39:33 pm »

Wie ich bereits in dem anderen Thema geschrieben habe ist es vollkommen überflüssig die Punkte irgendwo zu speichern. Es reicht vollkommen aus in Echtzeit zu überprüfen, wieviele Dateien und Kommentare es von einem bestimmten Nutzer gibt und dann zu entscheiden ob er noch Dateien hochladen darf oder nicht.

Die Benutzer befinden sich bei mir in Gruppe "Registered" bist auf zwei Admins.
Wozu dann
Ideal wäre es, wenn man das über Boolean Felder in den Gruppen lösen könnte und dort die Punktzahl auch hinterlegen könnte.
? Ist doch sinnlos den Wert in der Datenbank zu speicher, wenn sich der Mod eh nur auf eine Gruppe auswirkt.


Mh, das letzte seh ich so  8) +6 Punkte -3Punkte, das Punktesystem ist doch sicher später noch änderbar?
Ja und nein. Wie oben beschrieben wird es keine Punkte in dem Sinne geben, sondern es gibt nur das Verhältnis von Kommentaren zu Dateien. Ob nun 6:3, 2:1 oder 1000:500 - es kommt am Ende immer auf dasselbe raus.
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #8 on: February 01, 2011, 12:50:28 pm »

Hi,

das mit den Gruppen kann ich ab ändern, gut machen wir drei Gruppen daraus.
Wozu der Aufwand? Es soll etwas erzieherisch wirken, wenn man sich am "Clubleben" beteiligt kann man auch was erwarten.
Ok wenn es keine Punkte gibt.
Das Verhältnis ja dann klar.


VG

CMFA


Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #9 on: February 01, 2011, 01:24:41 pm »

Ich weiß ehrlich gesagt nicht, was du mir mit deinem letzten Beitrag sagen willst. Gerade noch waren deine Benutzer alle in einer Gruppe. Jetzt plötzlich willst du drei Gruppen daraus machen? Ich meine, mir ist das im Endeffekt egal wie du deine Galerie strukturierst. Ich möchte nur irgendwann mal eine klare Antwort, was du überhaupt willst. Bei jeder nachfrage nach Details kommen von dir neue Anforderungen/Ideen. Bedenke bitte, dass ich das hier freiwillig und ohne Bezahlung mache. Irgendwann vergeht mir die Lust, wenn du nicht auf den Punkt kommst.
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #10 on: February 01, 2011, 01:38:38 pm »

Hi,

ja ich weiß das du es freiwillig machst. :)
Dann legen wir uns fest. Für alle Benutzer in einer Gruppe.
Sonst habe ich alle Fragen beantwortet?

Die anderen Ideen die mir gerade noch gekommen sind zu einem späteren Zeitpunkt im neuen Thread
Vg

CMFA
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #11 on: February 01, 2011, 02:03:45 pm »

Für alle Benutzer in einer Gruppe.
???
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #12 on: February 01, 2011, 02:06:36 pm »

Hi,


alle Benutzer. Die Benutzer befinden sich bei mir in Gruppe "Registered" bist auf zwei Admins.

Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #13 on: February 01, 2011, 02:09:34 pm »

Das wären dann
alle Benutzer, außer Gäste und den Administratoren
richtig?
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #14 on: February 01, 2011, 02:32:40 pm »

Hi,

ja  :o
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #15 on: February 01, 2011, 02:59:14 pm »

Dann wäre hier meine Lösung. Sie unterscheidet sich nicht wirklich von dem, was ich in dem anderen Thema vorgeschlagen hatte.

Öffne upload.php, finde
Code: [Select]
if (!USER_CAN_UPLOAD_PICTURES && !USER_CAN_CREATE_ALBUMS) {
    cpg_die(ERROR, $lang_errors['perm_denied'], __FILE__, __LINE__);
}
und füge danach folgendes ein
Code: [Select]
if (USER_ID && !GALLERY_ADMIN_MODE) {
    $uploads = mysql_result(cpg_db_query("SELECT COUNT(*) FROM {$CONFIG['TABLE_PICTURES']} WHERE owner_id = ".USER_ID), 0);
    $comments = mysql_result(cpg_db_query("SELECT COUNT(*) FROM {$CONFIG['TABLE_COMMENTS']} WHERE author_id = ".USER_ID), 0);
    if ($comments/$uploads < 2) {
        cpg_die(ERROR, "Du hast zu wenig Kommentare um weitere Dateien hochzuladen", __FILE__, __LINE__);
    }
}

Zusätzlich sollte man dann auch noch vor dem Einfügen in die Datenbank überprüfen, ob noch genügend "Punkte" vorhanden sind (db_input.php). Ansonsten könnte ein Besucher mehrere Upload-Formulare öffnen und somit deine Grenze umgehen.
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #16 on: February 01, 2011, 06:05:23 pm »

Hi,

danke es funktioniert erstmal so weit. Jedoch bekomme ich auf dem Testsystem in folgender Konstellation die angehängte Fehlermeldung, die über den gesamten Bildschirm geht.
User hat 2 Kommentare gemacht und will mittels Flash 3 Bilder hochladen. Das die Fehlermeldung kommt ist ja klar aber, aber sie sagt irgend etwas anders aus.(Kein hinweis auf die kommentarfunktion) Kann man das abstellen bzw. so ändern das die Fehlermeldung verständlich ist?

CMFA
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #17 on: February 01, 2011, 06:47:29 pm »

Das liegt mit Sicherheit nicht an dieser Änderung. Lade die originale upload.php-Datei hoch und schau ob der Fehler dann auch auftritt.
Logged

cmfa

  • Contributor
  • Coppermine frequent poster
  • ***
  • Offline Offline
  • Posts: 226
Re: Code für Abgabe von Kommentaren
« Reply #18 on: February 01, 2011, 07:26:35 pm »

hi,

Datei neu geladen und Fehlermeldung ist weg.
Leider kommt die Meldung wenn der neue Code drin ist.

VG
Logged

Αndré

  • Administrator
  • Coppermine addict
  • ****
  • Country: de
  • Offline Offline
  • Gender: Male
  • Posts: 15764
Re: Code für Abgabe von Kommentaren
« Reply #19 on: February 01, 2011, 07:37:46 pm »

Hänge bitte deine upload.php-Datei mit den Änderungen an deine nächste Antwort an.
Logged
Pages: [1] 2 3   Go Up
 

Page created in 0.026 seconds with 19 queries.