1) { // delete obsolete entries foreach ($virtio_isos as $iso => $data) if (!in_array($iso,$isos)) unset($virtio_isos[$iso]); // add new entries foreach ($isos as $iso) { if (isset($virtio_isos[$iso])) continue; $file = explode('-',$iso); if (count($file)==4) array_pop($file); $file = implode('-',$file); $virtio_isos[$iso]['name'] = "$iso.iso"; $virtio_isos[$iso]['url'] = "$archive/$iso/$file.iso"; $virtio_isos[$iso]['size'] = 600*1024*1024; // assume 600 MB - adjusted once file is downloaded $virtio_isos[$iso]['md5'] = ''; // unused md5 - created once file is downloaded } // sort with newest version first uksort($virtio_isos,function($a,$b){return strnatcmp($b,$a);}); // save obtained information to keep '$virtio_isos' up-to-date file_put_contents($fedora,serialize($virtio_isos)); } else @unlink($fedora); $iso_dir = $domain_cfg['MEDIADIR']; if (empty($iso_dir) || !is_dir($iso_dir)) { $iso_dir = '/mnt/user/isos/'; } else { $iso_dir = str_replace('//', '/', $iso_dir.'/'); } $strMatch = ''; if (!empty($domain_cfg['MEDIADIR']) && !empty($domain_cfg['VIRTIOISO']) && dirname($domain_cfg['VIRTIOISO'])!='.' && is_file($domain_cfg['VIRTIOISO'])) $strMatch = 'manual'; foreach ($virtio_isos as $key => $value) { if (($domain_cfg['VIRTIOISO'] == $iso_dir.$value['name']) && is_file($iso_dir.$value['name'])) $strMatch = $value['name']; echo mk_option($strMatch, $value['name'], $value['name']); } echo mk_option($strMatch, 'manual', _('Manual')); ?>