summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Dolgov <[email protected]>2013-08-05 12:26:09 +0400
committerAndrew Dolgov <[email protected]>2013-08-05 12:26:09 +0400
commit5c54e6838870498134bbfb2994c25d2140b43bad (patch)
tree4446dfd2781656a7fd36738612557d4461c5e074
parent6bf61bdc639f60957ce4edc9e0160de3e78dc7df (diff)
support media:description for media: enclosures
-rw-r--r--classes/feedenclosure.php1
-rw-r--r--classes/feeditem/atom.php3
-rw-r--r--classes/feeditem/rss.php3
-rw-r--r--css/tt-rss.css5
-rw-r--r--include/functions.php12
-rw-r--r--include/rssfuncs.php8
6 files changed, 29 insertions, 3 deletions
diff --git a/classes/feedenclosure.php b/classes/feedenclosure.php
index d610dd7c8..b57100b06 100644
--- a/classes/feedenclosure.php
+++ b/classes/feedenclosure.php
@@ -3,5 +3,6 @@ class FeedEnclosure {
public $link;
public $type;
public $length;
+ public $title;
}
?>
diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php
index b1251e6d3..b7a228aed 100644
--- a/classes/feeditem/atom.php
+++ b/classes/feeditem/atom.php
@@ -146,6 +146,9 @@ class FeedItem_Atom extends FeedItem_Common {
$enc->link = $enclosure->getAttribute("url");
$enc->length = $enclosure->getAttribute("length");
+ $desc = $this->xpath->query("media:description", $enclosure)->item(0);
+ if ($desc) $enc->title = strip_tags($desc->nodeValue);
+
array_push($encs, $enc);
}
diff --git a/classes/feeditem/rss.php b/classes/feeditem/rss.php
index 095225a2a..1f59f0612 100644
--- a/classes/feeditem/rss.php
+++ b/classes/feeditem/rss.php
@@ -121,6 +121,9 @@ class FeedItem_RSS extends FeedItem_Common {
$enc->link = $enclosure->getAttribute("url");
$enc->length = $enclosure->getAttribute("length");
+ $desc = $this->xpath->query("media:description", $enclosure)->item(0);
+ if ($desc) $enc->title = strip_tags($desc->nodeValue);
+
array_push($encs, $enc);
}
diff --git a/css/tt-rss.css b/css/tt-rss.css
index 3392c3c7a..9e500a759 100644
--- a/css/tt-rss.css
+++ b/css/tt-rss.css
@@ -1177,3 +1177,8 @@ span.highlight {
background-color : #ffff00;
color : #cc90cc;
}
+
+div.enclosure_title {
+
+}
+
diff --git a/include/functions.php b/include/functions.php
index 56361472e..6bc52e9d9 100644
--- a/include/functions.php
+++ b/include/functions.php
@@ -3776,6 +3776,7 @@
$url = $line["content_url"];
$ctype = $line["content_type"];
+ $title = $line["title"];
if (!$ctype) $ctype = __("unknown type");
@@ -3798,6 +3799,7 @@
$entry["type"] = $ctype;
$entry["filename"] = $filename;
$entry["url"] = $url;
+ $entry["title"] = $title;
array_push($entries, $entry);
}
@@ -3819,7 +3821,10 @@
$rv .= "<p><a target=\"_blank\"
href=\"".htmlspecialchars($entry["url"])."\"
>" .htmlspecialchars($entry["url"]) . "</a></p>";
+ }
+ if ($entry['title']) {
+ $rv.= "<div class=\"enclosure_title\">${entry['title']}</div>";
}
}
}
@@ -3836,7 +3841,12 @@
"<option value=''>" . __('Attachments')."</option>";
foreach ($entries as $entry) {
- $rv .= "<option value=\"".htmlspecialchars($entry["url"])."\">" . htmlspecialchars($entry["filename"]) . "</option>";
+ if ($entry["title"])
+ $title = "&mdash; " . truncate_string($entry["title"], 30);
+ else
+ $title = "";
+
+ $rv .= "<option value=\"".htmlspecialchars($entry["url"])."\">" . htmlspecialchars($entry["filename"]) . "$title</option>";
};
diff --git a/include/rssfuncs.php b/include/rssfuncs.php
index 4b1b30c4b..dbe5c8bc9 100644
--- a/include/rssfuncs.php
+++ b/include/rssfuncs.php
@@ -954,7 +954,7 @@
if (is_array($encs)) {
foreach ($encs as $e) {
$e_item = array(
- $e->link, $e->type, $e->length);
+ $e->link, $e->type, $e->length, $e->title);
array_push($enclosures, $e_item);
}
}
@@ -966,10 +966,14 @@
db_query("BEGIN");
+// debugging
+// db_query("DELETE FROM ttrss_enclosures WHERE post_id = '$entry_ref_id'");
+
foreach ($enclosures as $enc) {
$enc_url = db_escape_string($enc[0]);
$enc_type = db_escape_string($enc[1]);
$enc_dur = db_escape_string($enc[2]);
+ $enc_title = db_escape_string($enc[3]);
$result = db_query("SELECT id FROM ttrss_enclosures
WHERE content_url = '$enc_url' AND post_id = '$entry_ref_id'");
@@ -977,7 +981,7 @@
if (db_num_rows($result) == 0) {
db_query("INSERT INTO ttrss_enclosures
(content_url, content_type, title, duration, post_id) VALUES
- ('$enc_url', '$enc_type', '', '$enc_dur', '$entry_ref_id')");
+ ('$enc_url', '$enc_type', '$enc_title', '$enc_dur', '$entry_ref_id')");
}
}