/**
  * Remove star from a given object
  *
  * @param ProjectObject $object
  * @param User $user
  * @return boolean
  */
 function unstarObject($object, $user)
 {
     if (!$object->canView($user)) {
         return false;
     }
     // if
     if (StarredObjects::isStarred($object, $user)) {
         $cache_id = 'object_starred_by_' . $user->getId();
         $starred_objects = cache_get($cache_id);
         if (!is_array($starred_objects)) {
             $starred_objects = StarredObjects::findObjectIdsByUser($user);
         }
         // if
         // Not starred?
         if (!in_array($object->getId(), $starred_objects)) {
             return true;
         }
         // if
         $execute = db_execute('DELETE FROM ' . TABLE_PREFIX . 'starred_objects WHERE object_id = ? AND user_id = ?', $object->getId(), $user->getId());
         if ($execute && !is_error($execute)) {
             unset($starred_objects[array_search($object->getId(), $starred_objects)]);
             cache_set($cache_id, $starred_objects);
         }
         // if
         return $execute;
     }
     // if
     return true;
 }