summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authordakkar <dakkar@luxion>2005-11-12 11:13:29 +0000
committerdakkar <dakkar@luxion>2005-11-12 11:13:29 +0000
commitc65c190af209f6dc04a755a41f88cf836c2249df (patch)
tree439241b4f50d86a6290f79cffb58879c0bbeea80 /lib
parentwork-around per tipi icone mal dichiarati: se non dichiarata come un'immagine... (diff)
downloadBookmarks-c65c190af209f6dc04a755a41f88cf836c2249df.tar.gz
Bookmarks-c65c190af209f6dc04a755a41f88cf836c2249df.tar.bz2
Bookmarks-c65c190af209f6dc04a755a41f88cf836c2249df.zip
corretta la modifica e cancellazione di link, aggiunti un po' di filtri nei template per evitare casini con le entities
Diffstat (limited to 'lib')
-rw-r--r--lib/Bookmarks/C/Main.pm17
1 files changed, 13 insertions, 4 deletions
diff --git a/lib/Bookmarks/C/Main.pm b/lib/Bookmarks/C/Main.pm
index be50a73..d64f2fd 100644
--- a/lib/Bookmarks/C/Main.pm
+++ b/lib/Bookmarks/C/Main.pm
@@ -88,18 +88,25 @@ sub add : Global {
my ( $self, $c ) = @_;
my %pre_link=();
- for my $field (qw(url title descr)) {
+ for my $field (qw(pk url title descr)) {
$pre_link{$field}=$c->req->param($field);
}
my @tags=split /[ +]/,($c->req->param('tag')||'');
- my ($dblink)=Bookmarks::M::DB::Links->search({url=>$pre_link{url}});
+
+ my $dblink;
+ if ($pre_link{pk}) {
+ $dblink=Bookmarks::M::DB::Links->retrieve($pre_link{pk});
+ }
+ else {
+ ($dblink)=Bookmarks::M::DB::Links->search({url=>$pre_link{url}});
+ }
# GET: prepare the form from the URL params
if ($c->req->method eq 'GET') {
$c->stash->{link}=\%pre_link;
$c->stash->{tags}=\@tags;
if (defined $dblink) {
- for my $field (qw(url title descr)) {
+ for my $field (qw(pk url title descr)) {
$c->stash->{link}{$field}||=$dblink->$field();
}
my @dbtags=map { $_->name() } $dblink->tags();
@@ -126,7 +133,9 @@ sub add : Global {
$dblink->access_count(0);
}
- $dblink->set(%pre_link);
+ for my $field (qw(url title descr)) {
+ $dblink->$field($pre_link{$field});
+ }
my ($icon,$type)=Bookmarks::Utils::get_site_icon($pre_link{url});
$dblink->set_icon($icon);
$dblink->icon_type($type);