* @version $Revision: 15513 $ */ class RatingCallbackView extends GalleryView { /** * @see GalleryView::isImmediate */ function isImmediate() { return true; } /** * @see GalleryView::isControllerLike */ function isControllerLike() { return true; } /** * @see GalleryView::renderImmediate */ function renderImmediate($status, $error) { global $gallery; GalleryCoreApi::requireOnce('modules/rating/classes/RatingHelper.class'); list ($command, $itemId, $rating) = GalleryUtilities::getRequestVariables('command', 'itemId', 'rating'); if (!headers_sent()) { header("Content-type: text/plain; charset=UTF-8"); } switch($command) { case 'rate': list ($ret, $permission) = GalleryCoreApi::hasItemPermission($itemId, 'rating.add'); if ($ret) { return $ret; } if (!$permission) { return null; } list ($ret, $results) = RatingHelper::rateItem($itemId, (int)$rating, $gallery->getActiveUserId()); if ($ret) { return $ret; } list ($ret, $module) = GalleryCoreApi::loadPlugin('module', 'rating'); if ($ret) { return $ret; } $results['votesString'] = $module->translate(array('one' => '%d vote', 'many' => '%d votes', 'count' => $results['votes'], 'arg1' => $results['votes'])); print $results['itemId'] . "\n" . $results['rating'] . "\n" . $results['votesString'] . "\n" . $results['userRating']; break; } return null; } } ?>