public function load($url, $parameters = null)
 {
     $originalUrl = $url;
     $url = $url . "?output=json";
     $itemJson = file_get_contents($url, 0, null, null);
     $itemJson = json_decode($itemJson, true);
     $mdata = $itemJson["metadata"];
     $files = (array) $itemJson["files"];
     $fileKeys = array_keys($files);
     $dir = $itemJson["dir"];
     $misc = $itemJson["misc"];
     $item = new Item();
     $attr = array();
     if (isset($mdata["subject"]) && count($mdata["subject"]) > 0) {
         $subjects = $mdata["subject"];
         $subjects = explode(";", $subjects[0]);
         $tags = array();
         foreach ($subjects as $category) {
             array_push($tags, $category);
         }
         $item->setTags($tags);
     }
     $item->setTitle($mdata["title"][0]);
     //if(!$item->getTitle()){return false;}
     $item->setAttributionUri($originalUrl);
     if (isset($mdata["description"][0])) {
         $item->setDescription($mdata["description"][0]);
         $item->setDescription(str_replace('<br />', '', $item->getDescription()));
     }
     $item->setChildItemsCount(0);
     $item->setThumbnailUrl(urldecode($misc["image"]));
     if (isset($mdata->creator)) {
         $item->setMediaCreatorUsername((string) $mdata["creator"][0]);
         $item->setMediaCreatorRealname((string) $mdata["creator"][0]);
     } else {
         $item->setMediaCreatorUsername('Unknown');
         $item->setMediaCreatorRealname('Unknown');
     }
     $newUrl = str_replace("details", "download", $originalUrl);
     $type = (string) $mdata["mediatype"][0];
     if ($type == 'movingImage' || $type == 'movies') {
         $index = 0;
         $format = "mp4";
         for ($i = 0; $i < sizeof($fileKeys); $i++) {
             if (strstr($fileKeys[$i], $format) && $index == 0) {
                 $index = $i;
             }
         }
         $item->setMediaType('Video');
         $item->setLayerType('Video');
         $item->setUri($newUrl . $fileKeys[$index]);
     } else {
         if ($type == 'audio') {
             $index = 0;
             $format = "mp3";
             for ($i = 0; $i < sizeof($fileKeys); $i++) {
                 if (strstr($fileKeys[$i], $format) && $index == 0) {
                     $index = $i;
                 }
             }
             $item->setMediaType('Audio');
             $item->setLayerType('Audio');
             $item->setUri($newUrl . $fileKeys[$index]);
         } else {
             if ($type == 'image') {
                 $index = 0;
                 $format = "JPEG";
                 for ($i = 0; $i < sizeof($fileKeys); $i++) {
                     if (strstr($fileKeys[$i], $format) && $index == 0) {
                         $index = $i;
                     }
                 }
                 $item->setMediaType('Image');
                 $item->setLayerType('Image');
                 $item->setUri($newUrl . $fileKeys[$index]);
             } else {
                 return false;
             }
         }
     }
     $item->setArchive('InternetArchive');
     return $this->returnResponse($item, true, false);
 }