Ejemplo n.º 1
0
 public function getCharacters($character)
 {
     $data['character_name'] = $character;
     //Get character information from Comic Vine API
     $xml_url = $this->comicvine_url . "/characters/?api_key=" . $this->api_key . "&filter=name:" . strtolower($character);
     if ($response_xml_data = file_get_contents($xml_url)) {
         $xml_data = simplexml_load_string($response_xml_data);
         $character_data = $xml_data->results->character;
         //Check if character has data in Comic Vine, else put in empty values
         if (count($character_data) > 0) {
             $data['detail_url'] = (string) $character_data->site_detail_url;
             $aliases = $character_data->aliases;
             $data['aliases'] = explode("\n", $aliases);
             $data['appearances_count'] = $character_data->count_of_issue_appearances;
             $data['image'] = (string) $character_data->image->medium_url;
             $data['description'] = (string) $character_data->deck;
             $data['publisher'] = strtolower((string) $character_data->publisher->name);
         } else {
             //
             $data['detail_url'] = "";
             $data['aliases'] = "";
             $data['appearances_count'] = "";
             $data['image'] = "";
             $data['description'] = "";
             $data['publisher'] = "";
         }
     }
     //Get character's comicbook info
     $data['character_cover'] = Comicbooks::characters($character)->select('cover_image')->orderBy('published_date', 'asc')->distinct()->get();
     $data['character_works'] = Comicbooks::characters($character)->select('book_name')->orderBy('published_date', 'asc')->distinct()->get();
     //Check if character has appearances in the comics that are in the database.
     //If not redirect character wiki page
     $data['has_character'] = count($data['character_works']) ? true : false;
     if (!$data['has_character']) {
         return Redirect::away("http://en.wikipedia.org/wiki/" . ucwords($character));
     }
     $this->layout->content = View::make('character', $data);
 }