print "<div clear='both'>" . $line["title"] . "$entry_author</div>";
}
- $tags = get_article_tags($link, $id);
-
- $tags_str = "";
- $tags_nolinks_str = "";
- $f_tags_str = "";
-
- $num_tags = 0;
-
- if ($_SESSION["theme"] == "3pane") {
- $tag_limit = 3;
- } else {
- $tag_limit = 6;
- }
-
- foreach ($tags as $tag) {
- $num_tags++;
- $tag_escaped = str_replace("'", "\\'", $tag);
-
- $tag_str = "<a href=\"javascript:viewfeed('$tag_escaped')\">$tag</a>, ";
-
- if ($num_tags == $tag_limit) {
- $tags_str .= "…";
- $tags_nolinks_str .= "…";
-
- } else if ($num_tags < $tag_limit) {
- $tags_str .= $tag_str;
- $tags_nolinks_str .= "$tag, ";
- }
- $f_tags_str .= $tag_str;
- }
-
- $tags_str = preg_replace("/, $/", "", $tags_str);
- $tags_nolinks_str = preg_replace("/, $/", "", $tags_nolinks_str);
- $f_tags_str = preg_replace("/, $/", "", $f_tags_str);
-
- $all_tags_div = "<span class='cdmAllTagsCtr'>…<div class='cdmAllTags'>All Tags: $f_tags_str</div></span>";
- $tags_str = preg_replace("/\.\.\.$/", "$all_tags_div", $tags_str);
+ $tags_str = format_tags_string(get_article_tags($link, $id), $id);
if (!$entry_comments) $entry_comments = " "; # placeholder
- if (!$tags_str) $tags_str = '<span class="tagList">'.__('no tags').'</span>';
- if (!$tags_nolinks_str) $tags_nolinks_str = '<span class="tagList">'.__('no tags').'</span>';
-
print "<div style='float : right'>
<img src='images/tag.png' class='tagsPic' alt='Tags' title='Tags'>";
if (!$zoom_mode) {
- print "$tags_str
+ print "<span id=\"ATSTR-$id\">$tags_str</span>
<a title=\"".__('Edit tags for this article')."\"
href=\"javascript:editArticleTags($id, $feed_id)\">(+)</a>";
style=\"cursor : pointer\" style=\"cursor : pointer\"
onclick=\"zoomToArticle($id)\"
alt='Zoom' title='".__('Show article summary in new window')."'>";
- } else {
- print "$tags_nolinks_str";
}
print "</div>";
print "<div clear='both'>$entry_comments</div>";
print "<div class=\"postContent\">";
- #print "<div id=\"allEntryTags\">".__('Tags:')." $f_tags_str</div>";
-
$article_content = sanitize_rss($link, $line["content"]);
if (get_pref($link, 'OPEN_LINKS_IN_NEW_WINDOW')) {
alt='Zoom'
title='".__('Show article summary in new window')."'></span>";
- $tags = get_article_tags($link, $id);
-
- $tags_str = "";
- $full_tags_str = "";
- $num_tags = 0;
-
- foreach ($tags as $tag) {
- $num_tags++;
- $full_tags_str .= "<a href=\"javascript:viewfeed('$tag')\">$tag</a>, ";
- if ($num_tags < 5) {
- $tags_str .= "<a href=\"javascript:viewfeed('$tag')\">$tag</a>, ";
- } else if ($num_tags == 5) {
- $tags_str .= "…";
- }
- }
-
- $tags_str = preg_replace("/, $/", "", $tags_str);
- $full_tags_str = preg_replace("/, $/", "", $full_tags_str);
-
- $all_tags_div = "<span class='cdmAllTagsCtr'>…<div class='cdmAllTags'>All Tags: $full_tags_str</div></span>";
-
- $tags_str = preg_replace("/\.\.\.$/", "$all_tags_div", $tags_str);
-
-
- if ($tags_str == "") $tags_str = "no tags";
+ $tags_str = format_tags_string(get_article_tags($link, $id), $id);
// print "<img src='images/tag.png' class='markedPic'>";
print "<span class='s1'>
- <img class='tagsPic' src='images/tag.png' alt='Tags'
- title='Tags'> $tags_str <a title=\"Edit tags for this article\"
- href=\"javascript:editArticleTags($id, $feed_id, true)\">(+)</a>";
+ <img class='tagsPic' src='images/tag.png' alt='Tags' title='Tags'>
+ <span id=\"ATSTR-$id\">$tags_str</span>
+ <a title=\"".__('Edit tags for this article')."\"
+ href=\"javascript:editArticleTags($id, $feed_id, true)\">(+)</a>";
print "</span>";
}
}
}
+
+ function format_tags_string($tags, $id) {
+
+ $tags_str = "";
+ $tags_nolinks_str = "";
+
+ $num_tags = 0;
+
+ if ($_SESSION["theme"] == "3pane") {
+ $tag_limit = 3;
+ } else {
+ $tag_limit = 6;
+ }
+
+ $formatted_tags = array();
+
+ foreach ($tags as $tag) {
+ $num_tags++;
+ $tag_escaped = str_replace("'", "\\'", $tag);
+
+ $tag_str = "<a href=\"javascript:viewfeed('$tag_escaped')\">$tag</a>";
+
+ array_push($formatted_tags, $tag_str);
+
+ if ($num_tags == $tag_limit) {
+ break;
+ }
+ }
+
+ $tags_str = implode(", ", $formatted_tags);
+
+ if ($num_tags < count($tags)) {
+ $tags_str .= ", …";
+ }
+
+ if ($num_tags == 0) {
+ $tags_str = __("no tags");
+ }
+
+ return $tags_str;
+
+ }
?>
var last_article_view = false;
var active_real_feed_id = false;
-var _tag_active_post_id = false;
-var _tag_active_feed_id = false;
-var _tag_active_cdm = false;
-
-// FIXME: kludge, to restore scrollTop after tag editor terminates
-var _tag_cdm_scroll = false;
-
// FIXME: kludges, needs proper implementation
var _reload_feedlist_after_view = false;
debug("not in CDM mode or watchdog disabled");
}
- if (_tag_cdm_scroll) {
- try {
- document.getElementById("headlinesInnerContainer").scrollTop = _tag_cdm_scroll;
- _tag_cdm_scroll = false;
- debug("resetting headlinesInner scrollTop");
-
- } catch (e) { }
- }
-
_feed_cur_page = feed_cur_page;
_infscroll_request_sent = 0;
}
function editArticleTags(id, feed_id, cdm_enabled) {
- _tag_active_post_id = id;
- _tag_active_feed_id = feed_id;
- _tag_active_cdm = cdm_enabled;
-
- cache_invalidate(id);
-
- try {
- _tag_cdm_scroll = document.getElementById("headlinesInnerContainer").scrollTop;
- } catch (e) { }
displayDlg('editArticleTags', id);
}
_reload_feedlist_after_view = true;
}
- if (!_tag_active_cdm) {
- if (active_post_id == _tag_active_post_id) {
- debug("reloading current article");
- view(_tag_active_post_id, _tag_active_feed_id);
+
+ if (transport.responseXML) {
+ var tags_str = transport.responseXML.getElementsByTagName("tags-str")[0];
+
+ if (tags_str) {
+ var id = tags_str.getAttribute("id");
+
+ if (id) {
+ var tags = document.getElementById("ATSTR-" + id);
+ if (tags) {
+ tags.innerHTML = tags_str.firstChild.nodeValue;
+ }
+ }
}
- } else {
- debug("reloading current feed");
- viewCurrentFeed();
}
} catch (e) {
- exception_error("catchup_callback", e);
+ exception_error("tag_saved_callback", e);
}
}