Esempio n. 1
0
 public function setPictures()
 {
     Player_Debug::setStatus('Downloading images...');
     $library = $this->getLibraries();
     $media = Player_Flags::getFlag('playlist', 'media');
     $label = Player_Flags::getFlag('label');
     $path = Player_Flags::getFlag('path');
     $field = Player_Flags::getFlag('field');
     Player_Debug::setDebug('Listing images to download:');
     foreach ($library as $key => $value) {
         $lib = $path['library'] . $path['temp'];
         $file = Player_File::getFile($lib . $value);
         $feed = Player_Convert::getXML($file, $label['library']);
         if (isset($feed[$label['feed']])) {
             foreach ($feed[$label['feed']] as $k => $v) {
                 if (isset($v[$field['image']])) {
                     if (!empty($v[$field['image']])) {
                         $local = $path['picture'];
                         $temp = $path['picture'] . $path['temp'];
                         $filename = substr($v[$field['image']], strrpos($v[$field['image']], '/') + 1);
                         if (!file_exists($local . $filename)) {
                             Player_File::setDir($temp);
                             $i = 1;
                             do {
                                 $success = $this->loadFile($temp . $filename, $v[$field['image']], true);
                                 if ($success) {
                                     Player_Debug::setDebug('Download:' . Player_Debug::getTab() . '"' . $filename . '"', 1);
                                 } else {
                                     Player_Debug::setDebug('Trying download ' . $i++ . Player_Debug::getTab() . '"' . $filename . '"', 1);
                                     if ($i > 5) {
                                         Player_Debug::setDebug('Canceling download after ' . $i++ . ' failed tries.' . Player_Debug::getTab() . '"' . $filename . '"', 1);
                                         return false;
                                     }
                                 }
                                 $success = Player_Utils::setSwitch($success, true, false);
                             } while ($success);
                         }
                         $this->setPics($filename);
                     }
                 }
             }
         }
     }
     return true;
 }