summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--classes/feeds.php5
-rw-r--r--js/functions.js9
-rw-r--r--js/viewfeed.js17
3 files changed, 27 insertions, 4 deletions
diff --git a/classes/feeds.php b/classes/feeds.php
index 0c9812479..23c9e783f 100644
--- a/classes/feeds.php
+++ b/classes/feeds.php
@@ -378,8 +378,7 @@ class Feeds extends Protected_Handler {
$updated_fmt = make_local_datetime($this->link, $line["updated_noms"], false);
if (get_pref($this->link, 'SHOW_CONTENT_PREVIEW')) {
- $content_preview = truncate_string(strip_tags($line["content_preview"]),
- 100);
+ $content_preview = strip_tags($line["content_preview"]);
}
$score = $line["score"];
@@ -458,7 +457,7 @@ class Feeds extends Protected_Handler {
$reply['content'] .= "<a id=\"RTITLE-$id\"
href=\"" . htmlspecialchars($line["link"]) . "\"
onclick=\"\">" .
- truncate_string($line["title"], 200);
+ $line["title"];
if (get_pref($this->link, 'SHOW_CONTENT_PREVIEW')) {
if ($content_preview) {
diff --git a/js/functions.js b/js/functions.js
index b2d79dc56..997d55a55 100644
--- a/js/functions.js
+++ b/js/functions.js
@@ -1718,3 +1718,12 @@ function get_radio_checked(radioObj) {
}
return("");
}
+
+function clamp_element(elem, height) {
+ if (elem && elem.offsetHeight > height) {
+ while (elem.offsetHeight > height)
+ elem.innerHTML = cp.innerHTML.substring(0, elem.innerHTML.length - 50);
+
+ elem.innerHTML += "&hellip;";
+ }
+}
diff --git a/js/viewfeed.js b/js/viewfeed.js
index 92a610f8d..2e8301640 100644
--- a/js/viewfeed.js
+++ b/js/viewfeed.js
@@ -81,6 +81,10 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
reply['headlines']['toolbar']);
$$("#headlines-frame > div[id*=RROW]").each(function(row) {
+ cp = row.getElementsByClassName("contentPreview")[0];
+
+ clamp_element(cp, 50);
+
if ($$("#headlines-frame DIV[id="+row.id+"]").length > 1) {
row.parentNode.removeChild(row);
}
@@ -136,8 +140,13 @@ function headlines_callback2(transport, offset, background, infscroll_req) {
$$("#headlines-frame > div[id*=RROW]").each(
function(child) {
- if (!Element.visible(child))
+ if (!Element.visible(child)) {
new Effect.Appear(child, { duration : 0.5 });
+
+ cp = child.getElementsByClassName("contentPreview")[0];
+
+ clamp_element(cp, 50);
+ }
});
} else {
@@ -2047,6 +2056,12 @@ function render_local_headlines(feed, is_cat, obj) {
setActiveFeedId(feed, is_cat);
initHeadlinesMenu();
+
+ $$("#headlines-frame > div[id*=RROW]").each(function(row) {
+ cp = row.getElementsByClassName("contentPreview")[0];
+ clamp_element(cp, 50);
+ });
+
precache_headlines();
} catch (e) {