3) { array_pop($ip_components); } $anonymous_id = implode ('.', $ip_components); if ($user_anonymous) { $save_anonymous_id = pwg_get_cookie_var('anonymous_rater', $anonymous_id); if ($anonymous_id != $save_anonymous_id) { // client has changed his IP adress or he's trying to fool us $query = ' SELECT element_id FROM '.RATE_TABLE.' WHERE user_id = '.$user['id'].' AND anonymous_id = \''.$anonymous_id.'\' ;'; $already_there = array_from_query($query, 'element_id'); if (count($already_there) > 0) { $query = ' DELETE FROM '.RATE_TABLE.' WHERE user_id = '.$user['id'].' AND anonymous_id = \''.$save_anonymous_id.'\' AND element_id IN ('.implode(',', $already_there).') ;'; pwg_query($query); } $query = ' UPDATE '.RATE_TABLE.' SET anonymous_id = \'' .$anonymous_id.'\' WHERE user_id = '.$user['id'].' AND anonymous_id = \'' . $save_anonymous_id.'\' ;'; pwg_query($query); } // end client changed ip pwg_set_cookie_var('anonymous_rater', $anonymous_id); } // end anonymous user $query = ' DELETE FROM '.RATE_TABLE.' WHERE element_id = '.$image_id.' AND user_id = '.$user['id'].' '; if ($user_anonymous) { $query.= ' AND anonymous_id = \''.$anonymous_id.'\''; } pwg_query($query); $query = ' INSERT INTO '.RATE_TABLE.' (user_id,anonymous_id,element_id,rate,date) VALUES (' .$user['id'].',' .'\''.$anonymous_id.'\',' .$image_id.',' .$rate .',NOW()) ;'; pwg_query($query); // update of images.average_rate field $query = ' SELECT COUNT(rate) AS count , ROUND(AVG(rate),2) AS average , ROUND(STD(rate),2) AS stdev FROM '.RATE_TABLE.' WHERE element_id = '.$image_id.' ;'; $row = mysql_fetch_assoc(pwg_query($query)); $query = ' UPDATE '.IMAGES_TABLE.' SET average_rate = '.$row['average'].' WHERE id = '.$image_id.' ;'; pwg_query($query); return $row; } ?>