Skip to content

Commit

Permalink
added support for mimetype detection in FileManagerApi::downloadActio…
Browse files Browse the repository at this point in the history
…n so that the browser will show appropriate download dialog.added italian translation
  • Loading branch information
d4rkstar committed Sep 21, 2016
1 parent af11e3b commit 0a64c4d
Show file tree
Hide file tree
Showing 6 changed files with 131 additions and 11 deletions.
11 changes: 10 additions & 1 deletion bridges/php-local/LocalBridge/FileManagerApi.php
Expand Up @@ -189,13 +189,22 @@ public function getHandler($queries)

private function downloadAction($path)
{
$file_name = basename($path);
$path = $this->basePath . $path;

if (! file_exists($path)) {
return false;
}

header('Cache-Control: must-revalidate');
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($finfo, $path);
finfo_close($finfo);

if (ob_get_level()) ob_end_clean();

header("Content-Disposition: attachment; filename=\"$file_name\"");
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header("Content-Type: $mime_type");
header('Pragma: public');
header('Content-Length: ' . filesize($path));
readfile($path);
Expand Down
8 changes: 4 additions & 4 deletions dist/angular-filemanager.min.js

Large diffs are not rendered by default.

2 changes: 1 addition & 1 deletion gulpfile.js
Expand Up @@ -26,7 +26,7 @@ gulp.task('cache-templates', function () {
.pipe(templateCache(jsFile, {
module: 'FileManagerApp',
base: function(file) {
return tplPath + '/' + path.basename(file.history);
return tplPath + '/' + path.basename(file.history[0]);
}
}))
.pipe(gulp.dest(dst));
Expand Down
10 changes: 5 additions & 5 deletions package.json
Expand Up @@ -21,12 +21,12 @@
"homepage": "https://github.com/joni2back/angular-filemanager#readme",
"devDependencies": {
"bower": "^1.7.9",
"del": "^2.2.0",
"gulp": "^3.9.1",
"gulp-angular-templatecache": "^1.8.0",
"gulp-angular-templatecache": "^1.9.1",
"gulp-clean-css": "^2.0.12",
"gulp-concat": "^2.6.0",
"gulp-clean-css": "^2.0.7",
"gulp-uglify": "^1.5.3",
"gulp-eslint": "^2.0.0",
"del": "^2.2.0"
"gulp-eslint": "^2.1.0",
"gulp-uglify": "^1.5.4"
}
}
110 changes: 110 additions & 0 deletions src/js/providers/translations.js
Expand Up @@ -12,6 +12,7 @@
french: 'French',
german: 'German',
hebrew: 'Hebrew',
italian: 'Italian',
slovak: 'Slovak',
chinese: 'Chinese',
russian: 'Russian',
Expand Down Expand Up @@ -109,6 +110,7 @@
french: 'צרפתית',
german: 'גרמנית',
hebrew: 'עברי',
italian: 'איטלקי',
slovak: 'סלובקי',
chinese: 'סִינִית',
russian: 'רוּסִי',
Expand Down Expand Up @@ -205,6 +207,7 @@
french: 'Francês',
german: 'Alemão',
hebrew: 'Hebraico',
italian: 'Italiano',
slovak: 'Eslovaco',
chinese: 'Chinês',
russian: 'Russo',
Expand Down Expand Up @@ -302,6 +305,7 @@
french: 'Francés',
german: 'Alemán',
hebrew: 'Hebreo',
italian: 'Italiano',
slovak: 'Eslovaco',
chinese: 'Chino',
russian: 'Ruso',
Expand Down Expand Up @@ -399,6 +403,7 @@
french: 'Français',
german: 'Allemand',
hebrew: 'Hébreu',
italian: 'Italien',
slovak: 'Slovaque',
chinese: 'Chinois',
russian: 'Russe',
Expand Down Expand Up @@ -496,6 +501,7 @@
french: 'Französisch',
german: 'Deutsch',
hebrew: 'Hebräisch',
italian: 'Italienisch',
slovak: 'Slowakisch',
chinese: 'Chinesisch',
russian: 'Russisch',
Expand Down Expand Up @@ -593,6 +599,7 @@
french: 'Francúzština',
german: 'Nemčina',
hebrew: 'Hebrejčina',
italian: 'Italština',
slovak: 'Slovenčina',
chinese: 'Čínština',
russian: 'Ruský',
Expand Down Expand Up @@ -690,6 +697,7 @@
french: '法语',
german: '德语',
hebrew: '希伯来语',
italian: '意大利',
slovak: '斯洛伐克语',
chinese: '中文',
russian: '俄語',
Expand Down Expand Up @@ -787,6 +795,7 @@
french: 'Французкий',
german: 'Немецкий',
hebrew: 'Хинди',
italian: 'итальянский',
slovak: 'Словацкий',
chinese: 'Китайский',
russian: 'русский',
Expand Down Expand Up @@ -884,6 +893,7 @@
french: 'Французька',
german: 'Німецька',
hebrew: 'Хінді',
italian: 'італійський',
slovak: 'Словацька',
chinese: 'Китайська',
russian: 'російський',
Expand Down Expand Up @@ -981,6 +991,7 @@
french: 'Fransızca',
german: 'Almanca',
hebrew: 'İbranice',
italian: 'İtalyan',
slovak: 'Slovakça',
chinese: 'Çince',
russian: 'Rusça',
Expand Down Expand Up @@ -1078,6 +1089,7 @@
french: 'فرانسه',
german: 'آلمانی',
hebrew: 'عبری',
italian: 'ایتالیایی',
slovak: 'اسلواک',
chinese: 'چینی',
russian: 'روسی',
Expand Down Expand Up @@ -1175,6 +1187,7 @@
french: 'Francuski',
german: 'Niemiecki',
hebrew: 'Hebrajski',
italian: 'Włoski',
slovak: 'Słowacki',
chinese: 'Chiński',
russian: 'Rosyjski',
Expand Down Expand Up @@ -1263,5 +1276,102 @@
download_as_zip: 'Pobierz jako ZIP'
});

$translateProvider.translations('it', {
filemanager: 'Gestore File',
language: 'Lingua',
english: 'Inglese',
spanish: 'Spagnolo',
portuguese: 'Portoghese',
french: 'Francese',
german: 'Tedesco',
hebrew: 'Ebraico',
slovak: 'Slovacco',
chinese: 'Cinese',
russian: 'Russo',
ukrainian: 'Ucraino',
turkish: 'Turco',
persian: 'Persiano',
polish: 'Polacco',
confirm: 'Conferma',
cancel: 'Annulla',
close: 'Chiudi',
upload_files: 'Carica files',
files_will_uploaded_to: 'I files saranno caricati in',
select_files: 'Seleziona i files',
uploading: 'Trasferimento',
permissions: 'Permessi',
select_destination_folder: 'Select carterlla di destinazione',
source: 'Sorgente',
destination: 'Destinazione',
copy_file: 'Copia file',
sure_to_delete: 'Sicuro di voler eliminare',
change_name_move: 'Rinomina / sposta',
enter_new_name_for: 'Inserisci nuovo nome per',
extract_item: 'Estrai elemento',
extraction_started: 'Decompressione avviata da un processo in background',
compression_started: 'Compressione avviata da un processo in background',
enter_folder_name_for_extraction: 'Inserisci nome cartella per l\'estrazione di',
enter_file_name_for_compression: 'Inserisci nome file per la compressione di',
toggle_fullscreen: 'Passa a schermo intero',
edit_file: 'Modifica file',
file_content: 'Contenuto del file',
loading: 'Caricamento',
search: 'Cerca',
create_folder: 'Crea cartella',
create: 'Crea',
folder_name: 'Nome cartella',
upload: 'Upload',
change_permissions: 'Modifica permessi',
change: 'Modifica',
details: 'Dettagli',
icons: 'Icone',
list: 'Lista',
name: 'Nome',
size: 'Dimensione',
actions: 'Azioni',
date: 'Data',
selection: 'Selezione',
no_files_in_folder: 'Nessun file nella cartella',
no_folders_in_folder: 'Questa cartella non contiene altre cartelle',
select_this: 'Seleziona questo',
go_back: 'Indietro',
wait: 'Attendere',
move: 'Sposta',
download: 'Scarica',
view_item: 'Visualizza elemento',
remove: 'Elimina',
edit: 'Modifica',
copy: 'Copia',
rename: 'Rinomina',
extract: 'Estrai',
compress: 'Comprimi',
error_invalid_filename: 'Nome file non valido o già esistente, specificarne un\'altro',
error_modifying: 'Errore durante la modifica del file',
error_deleting: 'Errore durante l\'eliminazione del file o della cartella',
error_renaming: 'Errore durante la rinomina del file',
error_copying: 'Errore durante la copia del file',
error_compressing: 'Errore durante la compressione del file o della cartella',
error_extracting: 'Errore durante l\'estrazione del file',
error_creating_folder: 'Errore nella creazione della cartella',
error_getting_content: 'Errore nel recupero del contenuto del file',
error_changing_perms: 'Errore durante la modifica dei permessi del file',
error_uploading_files: 'Errore durante il trasferimento dei files',
sure_to_start_compression_with: 'Sicuro di voler comprimere',
owner: 'Proprietario',
group: 'Gruppo',
others: 'Altri',
read: 'Lettura',
write: 'Scrittura',
exec: 'Esecuzione',
original: 'Originario',
changes: 'Cambiamenti',
recursive: 'Ricorsivo',
preview: 'Anteprima',
open: 'Apri',
these_elements: 'questi {{total}} elementi',
new_folder: 'Nuova cartella',
download_as_zip: 'Scarica come file ZIP'
});

}]);
})(angular);
1 change: 1 addition & 0 deletions src/templates/navbar.html
Expand Up @@ -41,6 +41,7 @@
<li role="presentation"><a role="menuitem" tabindex="-1" href="" ng-click="changeLanguage('fr')">{{"french" | translate}}</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="" ng-click="changeLanguage('de')">{{"german" | translate}}</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="" ng-click="changeLanguage('he')">{{"hebrew" | translate}}</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="" ng-click="changeLanguage('it')">{{"italian" | translate}}</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="" ng-click="changeLanguage('sk')">{{"slovak" | translate}}</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="" ng-click="changeLanguage('ru')">{{"russian" | translate}}</a></li>
<li role="presentation"><a role="menuitem" tabindex="-1" href="" ng-click="changeLanguage('ua')">{{"ukrainian" | translate}}</a></li>
Expand Down

0 comments on commit 0a64c4d

Please sign in to comment.