/**
  * Display a listing of the resource.
  *
  * @return Response
  */
 public function index()
 {
     $updatedAtServerPublished = Request::header('Updated-At-Server-Published');
     $updatedAtServerUnpublished = Request::header('Updated-At-Server-Unpublished');
     if (Input::has('published') && Input::get('published') === "true") {
         $universities = University::published(true)->newerThan($updatedAtServerPublished)->with("rules")->get();
         // hide fields which are not needed here
         $hiddenFields = Rule::getDefaultHidden();
         array_push($hiddenFields, "semester_format", "semester_pattern", "semester_start_summer", "semester_start_winter", "grade_factor", "overview");
         Rule::setStaticHidden($hiddenFields);
         return $universities;
     } else {
         // get all universities, but differentiate between published and unpublished
         $published = University::published(true)->newerThan($updatedAtServerPublished)->get();
         $unpublished = University::published(false)->newerThan($updatedAtServerUnpublished)->get();
         return $published->merge($unpublished)->all();
     }
 }