function directoryToArray($directory, $recursive) { $array_items = array(); if ($handle = opendir($directory)) { while (false !== ($file = readdir($handle))) { if ($file != "." && $file != "..") { if (is_dir($directory. "/" . $file)) { if($recursive) { $array_items = array_merge($array_items, directoryToArray($directory. "/" . $file, $recursive)); } $file = $directory . "/" . $file; if (is_file($file)) { $array_items[] = preg_replace("/\/\//si", "/", $file); } } else { $file = $directory . "/" . $file; if (is_file($file)) { $array_items[] = preg_replace("/\/\//si", "/", $file); } } } } closedir($handle); } return $array_items; } require ("settings.php"); $docroot = $_SERVER['DOCUMENT_ROOT']; $sku = $_REQUEST['sku']; $dev = $_REQUEST['dev']; $build = $_REQUEST['build']; $model = $_REQUEST['model']; $debug = $_REQUEST['debug']; $type = $_REQUEST['type']; $dir = $_REQUEST['dir']; $referer=$_SERVER['HTTP_REFERER']; $referer_ok = false; /* the e9k beta forum causes the browser to fail to send a referrer, i guess * because it's https? */ /* if(!empty($debug) || (($model == 'dem' || $model == 'eva9000' || $model == 'ntv550') && $referer == "")) */ if(!empty($debug) || (($model == 'dem' || $model == 'eva9000') && $referer == "")) $referer_ok = true; else { foreach($allowed_urls as $url) { if(preg_match("/$url/", $referer)) { $referer_ok = true; break; } } } if(!$referer_ok) { echo "
Sorry you can't download this outside of the beta forum."; exit; } if ( empty($type)) { $type="firmware"; } $filename = "$docroot" . "/" . ROOT . "/" . strtolower($type) . "/" . strtoupper($model) . "/" . strtoupper($model); if (!empty($type)) { switch (strtolower($type)) { case "firmware" : $filename .= "_V" . $build . strtoupper($sku); if ($model == 'eva8000') $filename .= ".IMG"; else $filename .= ".ZIP"; break; case "client" : switch (strtoupper($model)) { case "DEW" : $filename .= "_V" . $build . strtoupper($sku) . ".ZIP"; break; case "DEM" : $filename .= "_V" . $build . strtoupper($sku) . ".DMG"; break; } break; case "support" : $filename .= "_V" . $build . strtoupper($sku) . ".ZIP"; break; default : break; } } if ( ! is_file( $filename ) ) { echo "ERROR: File not found. "; if (!empty($debug)) { echo $filename . "