/** * Get Problems solved by user * * @param Request $r * @return Problems array * @throws InvalidDatabaseOperationException */ public static function apiProblemsSolved(Request $r) { self::authenticateOrAllowUnauthenticatedRequest($r); $response = array(); $response['problems'] = array(); $user = self::resolveTargetUser($r); try { $db_results = ProblemsDAO::getProblemsSolved($user->getUserId()); } catch (Exception $e) { throw new InvalidDatabaseOperationException($e); } if (!is_null($db_results)) { $relevant_columns = array('title', 'alias', 'submissions', 'accepted'); foreach ($db_results as $problem) { if ($problem->getPublic() == 1) { array_push($response['problems'], $problem->asFilteredArray($relevant_columns)); } } } $response['status'] = 'ok'; return $response; }