4images Forum & Community

4images Modifications / Modifikationen => Mods & Plugins (Requests & Discussions) => Topic started by: pitterv on May 20, 2002, 09:16:34 AM

Title: User darf sein eigenes Bild nicht bewerten
Post by: pitterv on May 20, 2002, 09:16:34 AM
Hi,

was muss man tun damit der User sein eigenes Bild nicht bewerten kann?

Beste Grüße
Title: User darf sein eigenes Bild nicht bewerten
Post by: penum on July 09, 2002, 12:20:50 AM
Hi,

vor diesem Problem stehe ich auch gerade, oder hat der Admin andere Rechte als der User beim Selbstvoting, wenn ich für eine Kategorie nur angemeldeten Benutzern das Voten erlaubt habe.

Gruss Peter
Title: User darf sein eigenes Bild nicht bewerten
Post by: pitterv on July 09, 2002, 12:36:06 AM
Sowie es aussieht kann jeder User sein Bild selber bewerten. Leider hat sich Jan noch nicht geäußert. Denn mit diesem Manko kann man bspw. keine Wettbwerbe in der Galerie ausrichten.

Beste Grüße
Title: User darf sein eigenes Bild nicht bewerten
Post by: penum on July 09, 2002, 12:47:04 AM
Hi,

ja, genau das ist das Problem, ich habe einige User bei denen man genau erkennt, dass sie nur für Ihr eigenes Foto mit sehr hohen Punkten voten.

Fand ich natürlich nicht so klasse, weis aber auch keinen Rat.
Es müsste ja mit einem "IF USER NOT = SENDER" erschlagen werden können.  

Ich hatte es angetestet, und musste feststellen, dass ich meine eigenen Fotos bewerten konnte, obwohl ich sie selbst upgeloadet hatte.

Gruss Peter
Title: User darf sein eigenes Bild nicht bewerten
Post by: Jan on July 09, 2002, 09:06:33 AM
Probiere mal in "includes/functions.php" die Funktion update_image_rating() mit dieser zu erstzen:

Code: [Select]
function update_image_rating($image_id, $rating) {
  global $site_db, $user_info;
  $sql = "SELECT cat_id, user_id, image_votes, image_rating
          FROM ".IMAGES_TABLE."
          WHERE image_id = $image_id";
  $image_row = $site_db->query_firstrow($sql);
  if (check_permission("auth_vote", $image_row['cat_id']) && $image_row['user_id'] != $user_info['user_id']) {
    $old_votes = $image_row['image_votes'];
    $old_rating = $image_row['image_rating'];
    $new_rating = (($old_rating * $old_votes) + $rating) / ($old_votes + 1);
    $new_rating = sprintf("%.2f", $new_rating);
    $sql = "UPDATE ".IMAGES_TABLE."
            SET image_votes = ($old_votes + 1), image_rating = '$new_rating'
            WHERE image_id = $image_id";
    $site_db->query($sql);
  }
}


Gruß Jan
Title: User darf sein eigenes Bild nicht bewerten
Post by: penum on July 09, 2002, 11:44:02 AM
Danke Jan,

klappt prima so. Es erscheint zwar die Meldung Bild wurde bewertet,
aber die Funktion speichert die Wertung nicht in der DB.
Das ist vollkommen ausreichend so.

Viele Grüsse
Peter
Title: User darf sein eigenes Bild nicht bewerten
Post by: pitterv on July 09, 2002, 07:05:06 PM
Danke schön  :D
und beste Grüße.
Title: Re: User darf sein eigenes Bild nicht bewerten
Post by: tansamalaja on August 11, 2006, 09:14:32 AM
Ich setzte das Thema mal wieder auf die Tagesordnung:
Kann man noch einen entsprechenden Text ausgeben, dass die Bewertung des eigenen Bildes nicht möglich ist?
Sonst bekommen wir wieder 1001 quakende Mails, dass die Bewertungsfunktion nicht richtig funzt...
Title: Re: User darf sein eigenes Bild nicht bewerten
Post by: Jan on August 11, 2006, 09:51:28 AM
include/functions.php

Code: [Select]
function update_image_rating($image_id, $rating) {
  global $site_db, $user_info, $lang;
  $sql = "SELECT cat_id, user_id, image_votes, image_rating
          FROM ".IMAGES_TABLE."
          WHERE image_id = $image_id";
  $image_row = $site_db->query_firstrow($sql);

  if ($user_info['user_level'] != ADMIN && $image_row['user_id'] == $user_info['user_id']) {
    return "Du darfst Deine eigenen Bilder nicht bewerten";
  }

  if (check_permission("auth_vote", $image_row['cat_id'])) {
    $old_votes = $image_row['image_votes'];
    $old_rating = $image_row['image_rating'];
    $new_rating = (($old_rating * $old_votes) + $rating) / ($old_votes + 1);
    $new_rating = sprintf("%.2f", $new_rating);
    $sql = "UPDATE ".IMAGES_TABLE."
            SET image_votes = ($old_votes + 1), image_rating = '$new_rating'
            WHERE image_id = $image_id";
    $site_db->query($sql);

    return $lang['voting_success'];
  }
 
  return $lang['voting_error'];
}

In includes/page_header.php

Code: [Select]
update_image_rating($id, $rating);
$msg = $lang['voting_success'];

ersetzen durch:

Code: [Select]
$msg = update_image_rating($id, $rating);
Title: Re: User darf sein eigenes Bild nicht bewerten
Post by: tansamalaja on August 11, 2006, 01:49:03 PM
Funzt! Supi! Vielen Dank... :D

Den schnellen Support hier kann ich nur immer wieder loben!
Title: Re: User darf sein eigenes Bild nicht bewerten
Post by: Jan on August 11, 2006, 02:29:16 PM
Die Prüfung ob ein Bild schon bewertet wurde findet unabhängig von der Funktion davor statt. Um das so zu ändern müsste man den Code (in functions.php und page_header.php) komplett umschreiben.
Title: Re: User darf sein eigenes Bild nicht bewerten
Post by: grafcux on January 09, 2007, 05:19:12 PM
Hallo Jan!

Mit der ersten Änderung funktioniert es, das keine Stimmen dazugewertet werden. Die die Sache mit dem Text war, habe ich den 2. Script genommen und die Änderung in der page_header.php.
Es wird trotzdem gezählt. Beide Zeilen mit der einen Zeile ergänzen, das ist doch richtig so?
Title: Re: User darf sein eigenes Bild nicht bewerten
Post by: Artemios on March 08, 2011, 04:40:59 PM
Hallo,

Ich benutze [MOD] Votes saved in DB in der Version B.

Nun möchte ich verhindern, dass User ihre eigenen Bilder bewerten können.

Kann ich dieses Mod
User darf sein eigenes Bild nicht bewerten:
verwenden?

Ich weiß  nicht, ob sich diese beiden Mods vertragen.

Gruß
Artemios


Nachtrag: sie vertragen sich nicht, die Datenbank funktioniert dann nicht mehr. Ich habs ausprobiert und leider geht es nicht.