escape asset titles in manageTrash
This commit is contained in:
parent
5b3103ebf8
commit
99fbe6d155
1 changed files with 30 additions and 13 deletions
|
|
@ -16,6 +16,7 @@ package WebGUI::Asset;
|
||||||
|
|
||||||
use strict;
|
use strict;
|
||||||
use WebGUI::Asset::Shortcut;
|
use WebGUI::Asset::Shortcut;
|
||||||
|
use JSON;
|
||||||
|
|
||||||
=head1 NAME
|
=head1 NAME
|
||||||
|
|
||||||
|
|
@ -417,21 +418,37 @@ sub www_manageTrash {
|
||||||
assetManager.AddColumn('".$i18n->get("last updated")."','','center','');
|
assetManager.AddColumn('".$i18n->get("last updated")."','','center','');
|
||||||
assetManager.AddColumn('".$i18n->get("size")."','','right','');
|
assetManager.AddColumn('".$i18n->get("size")."','','right','');
|
||||||
\n";
|
\n";
|
||||||
|
|
||||||
|
# To avoid string escaping issues
|
||||||
|
my $json = JSON->new;
|
||||||
|
my $amethod = sub {
|
||||||
|
my ($method, @args) = @_;
|
||||||
|
my $array = $json->encode(\@args);
|
||||||
|
$array =~ s/^\[//;
|
||||||
|
$array =~ s/\]$//;
|
||||||
|
$output .= "assetManager.$method($array);\n";
|
||||||
|
};
|
||||||
foreach my $child (@{$self->getAssetsInTrash($limit)}) {
|
foreach my $child (@{$self->getAssetsInTrash($limit)}) {
|
||||||
my $title = $child->getTitle;
|
my $title = $child->getTitle;
|
||||||
$title =~ s/\'/\\\'/g;
|
|
||||||
my $plus =$child->getChildCount({includeTrash => 1}) ? "+ " : " ";
|
my $plus =$child->getChildCount({includeTrash => 1}) ? "+ " : " ";
|
||||||
$output .= "assetManager.AddLine('"
|
$amethod->('AddLine',
|
||||||
.WebGUI::Form::checkbox($self->session, {
|
WebGUI::Form::checkbox($self->session, {
|
||||||
name=>'assetId',
|
name=>'assetId',
|
||||||
value=>$child->getId
|
value=>$child->getId
|
||||||
})
|
}),
|
||||||
."','" . $plus . "<a href=\"".$child->getUrl("op=assetManager")."\">" . $title
|
qq($plus<a href=").$child->getUrl("op=assetManager")
|
||||||
."</a>','<p style=\"display:inline;vertical-align:middle;\"><img src=\"".$child->getIcon(1)."\" style=\"vertical-align:middle;border-style:none;\" alt=\"".$child->getName."\" /></p> ".$child->getName
|
.qq(">$title</a>),
|
||||||
."','".$self->session->datetime->epochToHuman($child->get("revisionDate"))
|
'<p style="display:inline;vertical-align:middle;"><img src="'
|
||||||
."','".formatBytes($child->get("assetSize"))."');\n";
|
.$child->getIcon(1)
|
||||||
$output .= "assetManager.AddLineSortData('','".$title."','".$child->getName
|
.'" style="vertical-align:middle;border-style:none;" alt='
|
||||||
."','".$child->get("revisionDate")."','".$child->get("assetSize")."');\n";
|
.$child->getName .'" /></p> ' . $child->getName,
|
||||||
|
$self->session->datetime->epochToHuman($child->get("revisionDate")),
|
||||||
|
formatBytes($child->get("assetSize"))
|
||||||
|
);
|
||||||
|
$amethod->('AddLineSortData',
|
||||||
|
'', $title, $child->getName,
|
||||||
|
$child->get('revisionDate'), $child->get('assetSize')
|
||||||
|
);
|
||||||
}
|
}
|
||||||
$output .= '
|
$output .= '
|
||||||
assetManager.AddButton("'.$i18n->get("restore").'","restoreList","manageTrash");
|
assetManager.AddButton("'.$i18n->get("restore").'","restoreList","manageTrash");
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue