} else { $result['success'] = false; switch ($_FILES['attachedfiles_file']['error']) { case UPLOAD_ERR_FORM_SIZE: case UPLOAD_ERR_INI_SIZE: $result['error'] = "Максимальный объем файлов: " . ConvertBtoMB($max_files_size); break; default: $result['error'] = "Ошибка загрузки файла."; break; } } break; case 'remove': $files = __paramInit('array_int', null, 'files'); uploader::sremoveFiles($resource, $files); $result['onComplete'] = uploader::getRemoveCallback(uploader::sgetTypeUpload($resource)); $result['success'] = true; break; default: $result['success'] = false; $result['error'] = 'Ошибка загрузки файла'; break; } } else { $result['success'] = false; $result['error'] = 'Ошибка загрузки файла'; } //@todo: где встречаются русские символы мы из преобразуем //в unicode последовательности чтобы json_encode не ругался foreach (array('onComplete', 'error') as $key) {
} $clear_name = str_replace($_prefs, '', $original['fname']); $all_files = array_filter($files, function ($file) use($clear_name, $_regex) { return preg_match('/^' . $_regex . $clear_name . '$/', $file['fname']); }); $cfile = new CFile(); $cfile->table = $_config['table']; $file_ids = array(); foreach ($all_files as $file) { //Удаляем из таблицы file_tservices $cfile->Delete($file['id']); $file_ids[] = $file['id']; } //Помечаем как удаленные в таблице attachedfiles if ($is_sess) { uploader::sremoveFiles($sess, $file_ids); } $result = array('success' => true); } } break; //------------------------------------------------------------------------------ //------------------------------------------------------------------------------ default: $sess = __paramInit('string', NULL, 'sess', ''); if (!strlen($sess)) { $result['error'] = STR_FERR; //'Ошибка загрузки файла.'; } else { $uploader = new uploader($sess); $files_info = $uploader->getCountResource();