site/htdocs/css/style-main.css
site/htdocs/favicon.ico
site/htdocs/images/50.png
+site/htdocs/images/admin/alert.png
site/htdocs/images/admin/busy.gif
site/htdocs/images/admin/checked.gif
site/htdocs/images/admin/error.gif
use List::Util qw(first);
use constant MAX_FILE_DISPLAYNAME_LENGTH => 255;
-our $VERSION = "1.012";
+our $VERSION = "1.013";
=head1 NAME
single => "file_meta",
nocache => 1,
),
+ ifFileExists => sub {
+ @files && $file_index >= 0 && $file_index < @files
+ or return 0;
+
+ return -f ($files[$file_index]->full_filename($cfg));
+ },
file_display => [ tag_file_display => $self, \@files, \$file_index ],
DevHelp::Tags->make_iterator2
(\&iter_admin_users, 'iadminuser', 'adminusers'),
my @old_files;
my @new_files;
my %store_anyway;
+ my $change_count = 0;
my @content_changed;
for my $file (@files) {
my $id = $file->{id};
+ my $orig = $file->data_only;
my $desc = $cgi->param("description_$id");
defined $desc and $file->{description} = $desc;
my $type = $cgi->param("contentType_$id");
$errors{"file_$id"} = "Filename too long";
}
}
+
+ my $new = $file->data_only;
+ COLUMN:
+ for my $col ($file->columns) {
+ if ($new->{$col} ne $orig->{$col}) {
+ ++$change_count;
+ last COLUMN;
+ }
+ }
}
for my $name (keys %names) {
if (@{$names{$name}} > 1) {
return $self->edit_form($req, $article, $articles, undef, \%errors);
}
- $req->flash('File information saved');
+ if ($change_count) {
+ $req->flash("msg:bse/admin/edit/file/save/success_count", [ $change_count ]);
+ }
+ else {
+ $req->flash("msg:bse/admin/edit/file/save/success_none");
+ }
my $mgr = $self->_file_manager($self->cfg);
for my $file (@files) {
$file->save;
$file->set_handler($self->cfg);
$file->save;
- $req->flash('File information saved');
+ $req->flash("msg:bse/admin/edit/file/save/success", [ $file->displayName ]);
my $mgr = $self->_file_manager($self->cfg);
my $storage = $cgi->param('storage');
id: bse/admin/edit/file/save/
description: Saving an article file
+id: bse/admin/edit/file/save/success_count
+description: Successfully saved changes to several files (%1 is the count)
+
+id: bse/admin/edit/file/save/success_none
+description: Successfully saved changes, but there were no changes
+
+id: bse/admin/edit/file/save/success
+description: Successfully saved changes to a single file (%1 is the new display name)
+
id: bse/admin/edit/file/save/savetostore
description: If the file couldn't saved to an external store ($1 - the back end error message)
id: bse/admin/edit/image/save/delfromstore
message: Could not delete image from external store: %1:s
+id: bse/admin/edit/file/save/success_count
+message: Saved changes to %1:d files
+
+id: bse/admin/edit/file/save/success_none
+message: No changes found to save
+
+id: bse/admin/edit/file/save/success
+message: Saved changes to file '%1:s'
+
id: bse/admin/edit/file/save/savetostore
message: Could not save file to external store: %1:s
<td class="col_filename" rowspan="2"> <:file displayName:><:ifUserCan edit_files_save:article:>
<br /><input type="file" name="file_<:file id:>" /><:error_img [concatenate file_ [file id]:>
<:or:><:eif:>
+<:ifFileExists:><:or:><br /><span class="alert">This file is missing!</span><:eif:>
</td>
<td class="col_description">
<:ifUserCan edit_files_save:article:><input name="description_<:file id:>" type="text" value="<: oldi [concatenate description_ [file id]] 0 file description :>" size="35" />