/** * Counts stars made by a given user. * * @param int $user_id * @return int */ public static function countUserStars($user_id = null) { if (!$user_id) { $user_id = sfPropelActAsStarredBehaviorToolkit::getUserId(); } if (!$user_id) { throw new sfException('Cannot retrieve current user.'); } $c = new Criteria(); $c->add(StarPeer::USER_ID, $user_id); return StarPeer::doCount($c); }
/** * Checks if an Object has been rated by current user * * @param BaseObject $object * @param int $user_id **/ public function isStarred(BaseObject $object) { $user_id = sfPropelActAsStarredBehaviorToolkit::getUserId(); if (!$user_id) { throw new sfException('Cannot retrieve current user.'); } $c = new Criteria(); $c->add(StarPeer::STARRED_ID, $object->getPrimaryKey()); $c->add(StarPeer::STARRED_MODEL, get_class($object)); $c->add(StarPeer::USER_ID, $user_id); return StarPeer::doCount($c) > 0; }