function create($item_id, $rating_value) { if (!AMP_SYSTEM_UNIQUE_VISITOR_ID) { return false; } $session = AMP_SYSTEM_UNIQUE_VISITOR_ID; $articles_rated = AMP_lookup('article_ids_rated_by_session', $session); if (isset($articles_rated[$item_id])) { return ArticleRating::update($item_id, $rating_value); } $rating = new Rating(AMP_Registry::getDbcon()); $rating_data = array('session' => $session, 'item_type' => 'article', 'item_id' => $item_id, 'rating' => $rating_value, 'updated_at' => date('Y-m-d h:i:s')); $rating->mergeData($rating_data); $result = $rating->save(); AMP_lookup_clear_cached('article_ids_rated_by_session', $session); AMP_lookup_clear_cached('article_ratings_by_session', $session); AMP_lookup_clear_cached('article_ratings'); AMP_lookup_clear_cached('article_ratings_last_week'); AMP_lookup_clear_cached('article_ratings_last_month'); return $result; }