} elseif ($error_num == 2 || $error_num == 3) { $formatted_error_msg = "<span class='ubrError'>ERROR</span>: " . $error_msg; } showAlertMessage($formatted_error_msg, 1); } else { // Keep trying to read the hook file until timeout if ($_INI['cgi_upload_hook']) { for ($i = 0; $i < $_INI['hook_timeout_limit']; $i++) { if ($hook_data = readUbrFile($hook_file, $_INI['debug_ajax'])) { $found_hook_file = true; break; } clearstatcache(); sleep(1); } } // Failed to find the hook file in the alloted time if ($_INI['cgi_upload_hook'] && !$found_hook_file) { if ($_INI['debug_ajax']) { showDebugMessage("Failed to find hook file {$hook_file}"); } showAlertMessage("<span class='ubrError'>ERROR</span>: Failed to find hook file", 1); } if ($_INI['debug_ajax']) { showDebugMessage("Found flength file {$flength_file}"); if ($_INI['cgi_upload_hook']) { showDebugMessage("Found hook file {$hook_file}"); } } startProgressBar($UPLOAD_ID, $total_upload_size, $start_time); }
function purgeFiles($temp_dir, $purge_time_limit, $file_type, $debug_ajax = 0) { //$now_time = mktime(); $now_time = time(); if (@is_dir($temp_dir)) { if ($dp = @opendir($temp_dir)) { while (($file_name = readdir($dp)) !== false) { if ($file_name !== '.' && $file_name !== '..' && strcmp(getFileExtension($file_name), $file_type) == 0) { if ($file_time = @filectime($temp_dir . $file_name)) { if ($now_time - $file_time > $purge_time_limit) { @unlink($temp_dir . $file_name); } } } } closedir($dp); } else { if ($debug_ajax) { showDebugMessage('Failed to open temp_dir ' . $temp_dir); } showAlertMessage("<span class='ubrError'>ERROR</span>: Failed to open temp_dir", 1); } } else { if ($debug_ajax) { showDebugMessage('Failed to find temp_dir ' . $temp_dir); } showAlertMessage("<span class='ubrError'>ERROR</span>: Failed to find temp_dir", 1); } }
if (!createDir($_CONFIG['log_dir'])) { if ($_INI['debug_ajax']) { showDebugMessage('Failed to create log_dir ' . $_CONFIG['log_dir']); } showAlertMessage("<span class='ubrError'>ERROR</span>: Failed to create log_dir", 1); } } // Purge old .link files if ($_INI['purge_link_files']) { purgeFiles($TEMP_DIR, $_INI['purge_link_limit'], 'link', $_INI['debug_ajax']); } // Purge old .redirect files if ($_INI['purge_redirect_files']) { purgeFiles($TEMP_DIR, $_INI['purge_redirect_limit'], 'redirect', $_INI['debug_ajax']); } // Show debug message if ($_INI['debug_ajax']) { showDebugMessage("Upload ID = {$UPLOAD_ID}"); } // Write link file if (writeLinkFile($_CONFIG, $DATA_DELIMITER)) { if ($_INI['debug_ajax']) { showDebugMessage('Created link file ' . $PATH_TO_LINK_FILE); } startUpload($UPLOAD_ID, $_INI['debug_upload'], $_INI['debug_ajax']); } else { if ($_INI['debug_ajax']) { showDebugMessage('Failed to create link file ' . $PATH_TO_LINK_FILE); } showAlertMessage("<span class='ubrError'>ERROR</span>: Failed to create link file: {$UPLOAD_ID}.link", 1); }
break; } else{ sleep(1); } clearstatcache(); } if(!$found_flength_file){ if($DEBUG_AJAX){ showDebugMessage("Failed to find flength file $flength_file"); } showAlertMessage("<font color='red'>ERROR</font>: Failed to find <a href='http://uber-uploader.sourceforge.net/?section=flength' target='_new'>flength file</a>", 1); } elseif(strstr($total_upload_size, "ERROR")){ if($DEBUG_AJAX){ showDebugMessage("Error in flength file $flength_file"); } deleteTempUploadDir($TEMP_DIR, $UPLOAD_ID); stopUpload(); showAlertMessage($total_upload_size, 1); } else{ if($DEBUG_AJAX){ showDebugMessage("Found flength file $flength_file"); } startProgressBar($UPLOAD_ID, $total_upload_size, $start_time); } //////////////////////////////////////////////////////////FUNCTIONS ////////////////////////////////////////////////////////////////// // Remove the temp directory based on upload id function deleteTempUploadDir($temp_dir, $upload_id){ $temp_upload_dir = $temp_dir . $upload_id . '.dir'; if($handle = @opendir($temp_upload_dir)){ while(false !== ($file_name = readdir($handle))){ if($file_name != "." && $file_name != ".."){ @unlink($temp_upload_dir . '/' . $file_name); }
function purge_ubr_files($temp_dir, $purge_time_limit, $file_type){ $now_time = mktime(); if(is_dir($temp_dir)){ if($dp = @opendir($temp_dir)){ while(false !== ($file_name = readdir($dp))){ if($file_name != '.' && $file_name != '..' && strcmp(substr($file_name, strrpos($file_name, '.')), $file_type) == 0){ if($file_time = @filectime($temp_dir . $file_name)){ if(($now_time - $file_time) > $purge_time_limit){ @unlink($temp_dir . $file_name); } } } } closedir($dp); } else{ showAlertMessage("<font color='red'>ERROR</font>: Failed to open temp_dir: $temp_dir", 1); } } else{ showAlertMessage("<font color='red'>ERROR</font>: Failed to find temp_dir: $temp_dir", 1); } }