$subtr) { $pos = strpos(strtolower($subtr), strtolower($needles)); if ($pos !== FALSE) { return $key; } } return FALSE; } else { return strpos($haystack, $needles); } } return FALSE; } function find_all_files($dir, $file_mask=null, $mode='full'){ $result = NULL; if (empty($dir) || (!file_exists($dir))) { return $result; } $root = scandir($dir); foreach($root as $value) { if($value === '.' || $value === '..') {continue;} if(is_file("$dir/$value")) { $filter = false; if (!empty($file_mask)) { if (is_array($file_mask)) { foreach ($file_mask as $k){ if (strpos(strtolower($value), strtolower($k)) !== false) {$filter = true;} } } else { if (strpos(strtolower($value), strtolower($file_mask)) !== false) {$filter = true;} } } else {$filter = true;} if ($filter) { if ($mode=='fileonly'){ $result[]="$value"; } else { $result[]="$dir/$value"; } } else {$result[]=null;} continue; } $sub_fiend = find_all_files("$dir/$value", $file_mask, $mode); if (!empty($sub_fiend)) { foreach($sub_fiend as $sub_value) { if (!empty($sub_value)) { $result[]=$sub_value; } } } } return $result; } $req_file_full_path = '' ; $firmware_list = find_all_files($path['firmware']); if (!empty($req_file)) { $req_data_ar = explode('/', $req_file); $req_file_name = end($req_data_ar); $req_data_len = count($req_data_ar) - 1; if (file_exists($path['tftp'].$req_file_name)) { // file exist $req_file_name need remove "/../...//" -back door $req_file_full_path = $path['tftp'].$req_file_name; } else { $tmp_file = explode('.', $req_file_name); $tmp = end($tmp_file); $pos = strpos($fsufix, '.'.$tmp.';'); if ($pos !== false) { // Request Firmware $pos2 = strpos_array($firmware_list, $req_file_name, 'any'); // case unsensitive if ($pos2 !== false) { // Request Firmware $req_file_full_path = $firmware_list[$pos2]; } print_r('
Firmware : '. $req_file_full_path. 'END Firmware
'); } if (empty($req_file_full_path)) { if (strpos(implode(';', $rings_list), strtolower($req_file_name)) !== FALSE) { // Request ring list $req_file_full_path = $path['ringtones'].'/ringlist.xml'; // hard link } $tmp_file = ''; if (strpos(strtolower($req_file_name), '.cnf.xml') !== FALSE) { // Request Settings $tmp_file =$path['settings'].'/'.$req_file_name; } /* if (strpos(strtolower($req_file), '-tones.xml') !== FALSE) { // Request countries $tmp_file = $path['countries'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_data_ar[$req_data_len]; } if (strpos(strtolower($req_file), '-dictionary.') !== FALSE) { // Request countries $tmp_file = $path['languages'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_data_ar[$req_data_len]; } if (strpos_array($req_file, $locale_list, 'any') !== FALSE) { $tmp_file = $path['languages'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_data_ar[$req_data_len]; } if (strpos(strtolower($req_file), '-dictionary.jar') !== FALSE) { // Request countries $tmp_file = $path['languages'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_data_ar[$req_data_len]; } * */ if (strpos_array($req_file, $locale_list, 'any') !== FALSE) { $tmp_file = $path['languages'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_data_ar[$req_data_len]; } if (strpos(strtolower($req_file), '/desktops/') !== FALSE) { // Request wallpapers $tmp_file = $path['wallpapers'].'/'. $req_data_ar[$req_data_len-1].'/'. $req_data_ar[$req_data_len]; } if (!empty($tmp_file)) { if (file_exists($tmp_file)) { $req_file_full_path = $tmp_file; } } } } if (!empty($req_file_full_path)) { print_r('
Send: '. $req_file_full_path. ' file.
'); file_force_download($req_file_full_path); } }