summaryrefslogtreecommitdiff
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
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
-rw-r--r--lib/Bookmarks/C/Main.pm17
-rw-r--r--root/add_form9
-rw-r--r--root/links50
-rw-r--r--root/links_list41
-rw-r--r--root/results42
-rw-r--r--root/search2
-rw-r--r--root/tags2
7 files changed, 67 insertions, 96 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);
diff --git a/root/add_form b/root/add_form
index d6a32d6..3c235ba 100644
--- a/root/add_form
+++ b/root/add_form
@@ -10,17 +10,17 @@
<p>
<label for="url">Link:</label>
- <input id="url" name="url" type="text" size="30" value="[% link.url %]" />
+ <input autocomplete="off" id="url" name="url" type="text" size="30" value="[% link.url | html %]" />
</p>
<p>
<label for="title">Title:</label>
- <input id="title" name="title" type="text" size="30" value="[% link.title %]" />
+ <input autocomplete="off" id="title" name="title" type="text" size="30" value="[% link.title | html %]" />
</p>
<p>
<label for="tag_field">Tags:</label>
- <input autocomplete="off" id="tag_field" name="tag" type="text" size="30" value="[% tags.join(' ') %]" />
+ <input autocomplete="off" id="tag_field" name="tag" type="text" size="30" value="[% tags.join(' ') | html %]" />
</p>
<div id="tag_field_auto_complete" class="auto_complete"></div>
<script type="text/javascript">new Ajax.Autocompleter('tag_field', 'tag_field_auto_complete', '[% href.tag_autocomplete() %]', { tokens: ' ' })</script>
@@ -28,7 +28,7 @@
<p>
<label for="descr">Description:</label>
<textarea id="descr" name="descr" cols="30" rows="4">
- [%- link.descr -%]
+ [%- link.descr | html -%]
</textarea>
</p>
@@ -37,6 +37,7 @@
<input type="submit" name="delete" value="Delete" />
[%- END %]
<input type="hidden" name="close" value="[% close %]" />
+ <input type="hidden" name="pk" value="[% link.pk %]" />
</form>
</body>
</html> \ No newline at end of file
diff --git a/root/links b/root/links
index 58a5b83..a59a1aa 100644
--- a/root/links
+++ b/root/links
@@ -19,11 +19,11 @@
[% FOR tag IN tagset.tags %]
<li>
<span class="tag name">
- <a href="[% href.to_tag(tag) %]" target="_self">[% tag.name %]</a>
+ <a href="[% href.to_tag(tag) | html %]" target="_self">[% tag.name | html %]</a>
</span>
[% IF tagset.size() > 1 %]
<span class="tag remove">
- <a href="[% href.remove_tag(tagset,tag) %]" target="_self">-</a>
+ <a href="[% href.remove_tag(tagset,tag) | html %]" target="_self">-</a>
</span>
[% END %]
</li>
@@ -38,10 +38,10 @@
[% FOR rtag IN related %]
<li>
<span class="tag name">
- <a href="[% href.to_tag(rtag) %]" target="_self">[% rtag.name %]</a>
+ <a href="[% href.to_tag(rtag) | html %]" target="_self">[% rtag.name | html %]</a>
</span>
<span class="tag add">
- <a href="[% href.add_tag(tagset,rtag) %]" target="_self">+</a>
+ <a href="[% href.add_tag(tagset,rtag) | html %]" target="_self">+</a>
</span>
</li>
[% END %]
@@ -49,46 +49,6 @@
</div>
</div>
[% INCLUDE search local=1 %]
- <div id="links">
- <h2>Links:</h2>
- <div>
- <ol>
- [% FOR link IN links %]
- <li>
- <div class="link head">
- <span class="link icon">
- <img src="[% href.link_icon(link) %]" width="18" height="18" />
- </span>
- <span class="link title">
- <a href="[% href.link(link) %]" title="[% link.url %]">[% link.title %]</a>
- </span>
- <span class="link appear" id="link_toggle_[% link.pk %]" onclick="toggle_details('[% link.pk %]')">V</span>
- </div>
- <div class="link details" style="display: none;" id="link_details_[% link.pk %]">
- <div>
- <span class="link edit">
- <a href="[% href.edit_link(link) %]" target="_self">edit</a>
- </span>
- <ul>
- [% FOR rtag IN link.tags %]
- <li>
- <span class="tag name">
- <a href="[% href.to_tag(rtag) %]" target="_self">[% rtag.name %]</a>
- </span>
- </li>
- [% END %]
- </ul>
- [%- IF link.descr %]
- <div class="link descr">
- [%- link.descr -%]
- </div>
- [% END -%]
- </div>
- </div>
- </li>
- [% END %]
- </ol>
- </div>
- </div>
+ [% INCLUDE links_list %]
</body>
</html>
diff --git a/root/links_list b/root/links_list
new file mode 100644
index 0000000..feba3e7
--- /dev/null
+++ b/root/links_list
@@ -0,0 +1,41 @@
+ <div id="links" [% IF class; 'class="' _ class _ '"'; END %]>
+ <h2>Links:</h2>
+ <div>
+ <ol>
+ [% FOR link IN links %]
+ <li>
+ <div class="link head">
+ <span class="link icon">
+ <img src="[% href.link_icon(link) | html %]" width="18" height="18" />
+ </span>
+ <span class="link title">
+ <a href="[% href.link(link) | html %]" title="[% link.url | html %]">[% link.title | html %]</a>
+ </span>
+ <span class="link appear" id="link_toggle_[% link.pk %]" onclick="toggle_details('[% link.pk %]')">V</span>
+ </div>
+ <div class="link details" style="display: none;" id="link_details_[% link.pk %]">
+ <div>
+ <span class="link edit">
+ <a href="[% href.edit_link(link) | html %]" target="_self">edit</a>
+ </span>
+ <ul>
+ [% FOR rtag IN link.tags %]
+ <li>
+ <span class="tag name">
+ <a href="[% href.to_tag(rtag) | html %]" target="_self">[% rtag.name | html %]</a>
+ </span>
+ </li>
+ [% END %]
+ </ul>
+ [%- IF link.descr %]
+ <div class="link descr">
+ [%- link.descr | html -%]
+ </div>
+ [% END -%]
+ </div>
+ </div>
+ </li>
+ [% END %]
+ </ol>
+ </div>
+ </div>
diff --git a/root/results b/root/results
index e3cc6d2..e8fdc7d 100644
--- a/root/results
+++ b/root/results
@@ -9,46 +9,6 @@
</head>
<body>
[% INCLUDE search %]
- <div id="links" class="results">
- <h2>Links:</h2>
- <div>
- <ol>
- [% FOR link IN links %]
- <li>
- <div class="link head">
- <span class="link icon">
- <img src="[% href.link_icon(link) %]" width="18" height="18" />
- </span>
- <span class="link title">
- <a href="[% href.link(link) %]" title="[% link.url %]">[% link.title %]</a>
- </span>
- <span class="link appear" id="link_toggle_[% link.pk %]" onclick="toggle_details('[% link.pk %]')">V</span>
- </div>
- <div class="link details" style="display: none;" id="link_details_[% link.pk %]">
- <div>
- <span class="link edit">
- <a href="[% href.edit_link(link) %]" target="_self">edit</a>
- </span>
- <ul>
- [% FOR rtag IN link.tags %]
- <li>
- <span class="tag name">
- <a href="[% href.to_tag(rtag) %]" target="_self">[% rtag.name %]</a>
- </span>
- </li>
- [% END %]
- </ul>
- [%- IF link.descr %]
- <div class="link descr">
- [%- link.descr -%]
- </div>
- [% END -%]
- </div>
- </div>
- </li>
- [% END %]
- </ol>
- </div>
- </div>
+ [% INCLUDE links_list class="results" %]
</body>
</html>
diff --git a/root/search b/root/search
index 198bc35..c40b78f 100644
--- a/root/search
+++ b/root/search
@@ -2,7 +2,7 @@
<form action="[% href.search() %]" method="get">
<p>
<label for="term">Search:</label>
- <input type="text" id="term" name="q" size="30" />
+ <input autocomplete="off" type="text" id="term" name="q" size="30" />
<input type="hidden" name="tags" value="[% IF local; FOR tag IN tagset.tags; tag.pk _ ' '; END; END %]" />
<input type="submit" name="go" value=">" />
</p>
diff --git a/root/tags b/root/tags
index f742ef8..6cc0b97 100644
--- a/root/tags
+++ b/root/tags
@@ -10,7 +10,7 @@
[% FOR tag IN tags %]
<li>
<span class="tag name">
- <a href="[% href.to_tag(tag) %]" target="_self">[% tag.name %]</a>
+ <a href="[% href.to_tag(tag) | html %]" target="_self">[% tag.name | html %]</a>
</span>
<span class="tag count">[% tag.how_many() %]</span>
</li>