Merge branch 'tribut-enclosure-size'

master
Andrew Dolgov 11 years ago
commit 96ad6edc6c

@ -4,5 +4,7 @@ class FeedEnclosure {
public $type; public $type;
public $length; public $length;
public $title; public $title;
public $height;
public $width;
} }
?> ?>

@ -145,6 +145,8 @@ class FeedItem_Atom extends FeedItem_Common {
$enc->type = $enclosure->getAttribute("type"); $enc->type = $enclosure->getAttribute("type");
$enc->link = $enclosure->getAttribute("url"); $enc->link = $enclosure->getAttribute("url");
$enc->length = $enclosure->getAttribute("length"); $enc->length = $enclosure->getAttribute("length");
$enc->height = $enclosure->getAttribute("height");
$enc->width = $enclosure->getAttribute("width");
$desc = $this->xpath->query("media:description", $enclosure)->item(0); $desc = $this->xpath->query("media:description", $enclosure)->item(0);
if ($desc) $enc->title = strip_tags($desc->nodeValue); if ($desc) $enc->title = strip_tags($desc->nodeValue);
@ -164,6 +166,8 @@ class FeedItem_Atom extends FeedItem_Common {
$enc->type = $content->getAttribute("type"); $enc->type = $content->getAttribute("type");
$enc->link = $content->getAttribute("url"); $enc->link = $content->getAttribute("url");
$enc->length = $content->getAttribute("length"); $enc->length = $content->getAttribute("length");
$enc->height = $content->getAttribute("height");
$enc->width = $content->getAttribute("width");
$desc = $this->xpath->query("media:description", $content)->item(0); $desc = $this->xpath->query("media:description", $content)->item(0);
if ($desc) { if ($desc) {
@ -184,6 +188,8 @@ class FeedItem_Atom extends FeedItem_Common {
$enc->type = "image/generic"; $enc->type = "image/generic";
$enc->link = $enclosure->getAttribute("url"); $enc->link = $enclosure->getAttribute("url");
$enc->height = $enclosure->getAttribute("height");
$enc->width = $enclosure->getAttribute("width");
array_push($encs, $enc); array_push($encs, $enc);
} }

@ -113,6 +113,8 @@ class FeedItem_RSS extends FeedItem_Common {
$enc->type = $enclosure->getAttribute("type"); $enc->type = $enclosure->getAttribute("type");
$enc->link = $enclosure->getAttribute("url"); $enc->link = $enclosure->getAttribute("url");
$enc->length = $enclosure->getAttribute("length"); $enc->length = $enclosure->getAttribute("length");
$enc->height = $enclosure->getAttribute("height");
$enc->width = $enclosure->getAttribute("width");
array_push($encs, $enc); array_push($encs, $enc);
} }
@ -125,6 +127,8 @@ class FeedItem_RSS extends FeedItem_Common {
$enc->type = $enclosure->getAttribute("type"); $enc->type = $enclosure->getAttribute("type");
$enc->link = $enclosure->getAttribute("url"); $enc->link = $enclosure->getAttribute("url");
$enc->length = $enclosure->getAttribute("length"); $enc->length = $enclosure->getAttribute("length");
$enc->height = $enclosure->getAttribute("height");
$enc->width = $enclosure->getAttribute("width");
$desc = $this->xpath->query("media:description", $enclosure)->item(0); $desc = $this->xpath->query("media:description", $enclosure)->item(0);
if ($desc) $enc->title = strip_tags($desc->nodeValue); if ($desc) $enc->title = strip_tags($desc->nodeValue);
@ -144,6 +148,8 @@ class FeedItem_RSS extends FeedItem_Common {
$enc->type = $content->getAttribute("type"); $enc->type = $content->getAttribute("type");
$enc->link = $content->getAttribute("url"); $enc->link = $content->getAttribute("url");
$enc->length = $content->getAttribute("length"); $enc->length = $content->getAttribute("length");
$enc->height = $content->getAttribute("height");
$enc->width = $content->getAttribute("width");
$desc = $this->xpath->query("media:description", $content)->item(0); $desc = $this->xpath->query("media:description", $content)->item(0);
if ($desc) { if ($desc) {
@ -164,6 +170,8 @@ class FeedItem_RSS extends FeedItem_Common {
$enc->type = "image/generic"; $enc->type = "image/generic";
$enc->link = $enclosure->getAttribute("url"); $enc->link = $enclosure->getAttribute("url");
$enc->height = $enclosure->getAttribute("height");
$enc->width = $enclosure->getAttribute("width");
array_push($encs, $enc); array_push($encs, $enc);
} }

@ -1,6 +1,6 @@
<?php <?php
define('EXPECTED_CONFIG_VERSION', 26); define('EXPECTED_CONFIG_VERSION', 26);
define('SCHEMA_VERSION', 125); define('SCHEMA_VERSION', 126);
define('LABEL_BASE_INDEX', -1024); define('LABEL_BASE_INDEX', -1024);
define('PLUGIN_FEED_BASE_INDEX', -128); define('PLUGIN_FEED_BASE_INDEX', -128);

@ -1868,6 +1868,8 @@
$url = $line["content_url"]; $url = $line["content_url"];
$ctype = $line["content_type"]; $ctype = $line["content_type"];
$title = $line["title"]; $title = $line["title"];
$width = $line["width"];
$height = $line["height"];
if (!$ctype) $ctype = __("unknown type"); if (!$ctype) $ctype = __("unknown type");
@ -1891,6 +1893,8 @@
$entry["filename"] = $filename; $entry["filename"] = $filename;
$entry["url"] = $url; $entry["url"] = $url;
$entry["title"] = $title; $entry["title"] = $title;
$entry["width"] = $width;
$entry["height"] = $height;
array_push($entries, $entry); array_push($entries, $entry);
} }
@ -1905,9 +1909,15 @@
preg_match("/\.(jpg|png|gif|bmp)/i", $entry["filename"])) { preg_match("/\.(jpg|png|gif|bmp)/i", $entry["filename"])) {
if (!$hide_images) { if (!$hide_images) {
$encsize = '';
if ($entry['height'] > 0)
$encsize .= ' height="' . intval($entry['width']) . '"';
if ($entry['width'] > 0)
$encsize .= ' width="' . intval($entry['height']) . '"';
$rv .= "<p><img $rv .= "<p><img
alt=\"".htmlspecialchars($entry["filename"])."\" alt=\"".htmlspecialchars($entry["filename"])."\"
src=\"" .htmlspecialchars($entry["url"]) . "\"/></p>"; src=\"" .htmlspecialchars($entry["url"]) . "\"
" . $encsize . " /></p>";
} else { } else {
$rv .= "<p><a target=\"_blank\" $rv .= "<p><a target=\"_blank\"
href=\"".htmlspecialchars($entry["url"])."\" href=\"".htmlspecialchars($entry["url"])."\"
@ -2220,6 +2230,7 @@
curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0 Firefox/5.0'); curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 5.1; rv:5.0) Gecko/20100101 Firefox/5.0 Firefox/5.0');
curl_setopt($curl, CURLOPT_HTTPHEADER, $header); curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
curl_setopt($curl, CURLOPT_HEADER, true); curl_setopt($curl, CURLOPT_HEADER, true);
curl_setopt($curl, CURLOPT_NOBODY, true);
curl_setopt($curl, CURLOPT_REFERER, $url); curl_setopt($curl, CURLOPT_REFERER, $url);
curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate'); curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
curl_setopt($curl, CURLOPT_AUTOREFERER, true); curl_setopt($curl, CURLOPT_AUTOREFERER, true);

@ -989,7 +989,7 @@
if (is_array($encs)) { if (is_array($encs)) {
foreach ($encs as $e) { foreach ($encs as $e) {
$e_item = array( $e_item = array(
$e->link, $e->type, $e->length, $e->title); $e->link, $e->type, $e->length, $e->title, $e->width, $e->height);
array_push($enclosures, $e_item); array_push($enclosures, $e_item);
} }
} }
@ -1009,14 +1009,16 @@
$enc_type = db_escape_string($enc[1]); $enc_type = db_escape_string($enc[1]);
$enc_dur = db_escape_string($enc[2]); $enc_dur = db_escape_string($enc[2]);
$enc_title = db_escape_string($enc[3]); $enc_title = db_escape_string($enc[3]);
$enc_width = intval($enc[4]);
$enc_height = intval($enc[5]);
$result = db_query("SELECT id FROM ttrss_enclosures $result = db_query("SELECT id FROM ttrss_enclosures
WHERE content_url = '$enc_url' AND post_id = '$entry_ref_id'"); WHERE content_url = '$enc_url' AND post_id = '$entry_ref_id'");
if (db_num_rows($result) == 0) { if (db_num_rows($result) == 0) {
db_query("INSERT INTO ttrss_enclosures db_query("INSERT INTO ttrss_enclosures
(content_url, content_type, title, duration, post_id) VALUES (content_url, content_type, title, duration, post_id, width, height) VALUES
('$enc_url', '$enc_type', '$enc_title', '$enc_dur', '$entry_ref_id')"); ('$enc_url', '$enc_type', '$enc_title', '$enc_dur', '$entry_ref_id', $enc_width, $enc_height)");
} }
} }

@ -301,7 +301,7 @@ create table ttrss_tags (id integer primary key auto_increment,
create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8; create table ttrss_version (schema_version int not null) ENGINE=InnoDB DEFAULT CHARSET=UTF8;
insert into ttrss_version values (125); insert into ttrss_version values (126);
create table ttrss_enclosures (id integer primary key auto_increment, create table ttrss_enclosures (id integer primary key auto_increment,
content_url text not null, content_url text not null,
@ -309,6 +309,8 @@ create table ttrss_enclosures (id integer primary key auto_increment,
post_id integer not null, post_id integer not null,
title text not null, title text not null,
duration text not null, duration text not null,
width integer not null default 0,
height integer not null default 0,
index (post_id), index (post_id),
foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8; foreign key (post_id) references ttrss_entries(id) ON DELETE cascade) ENGINE=InnoDB DEFAULT CHARSET=UTF8;

@ -261,13 +261,15 @@ create index ttrss_tags_post_int_id_idx on ttrss_tags(post_int_id);
create table ttrss_version (schema_version int not null); create table ttrss_version (schema_version int not null);
insert into ttrss_version values (125); insert into ttrss_version values (126);
create table ttrss_enclosures (id serial not null primary key, create table ttrss_enclosures (id serial not null primary key,
content_url text not null, content_url text not null,
content_type varchar(250) not null, content_type varchar(250) not null,
title text not null, title text not null,
duration text not null, duration text not null,
width integer not null default 0,
height integer not null default 0,
post_id integer references ttrss_entries(id) ON DELETE cascade NOT NULL); post_id integer references ttrss_entries(id) ON DELETE cascade NOT NULL);
create index ttrss_enclosures_post_id_idx on ttrss_enclosures(post_id); create index ttrss_enclosures_post_id_idx on ttrss_enclosures(post_id);

@ -0,0 +1,8 @@
begin;
alter table ttrss_enclosures add column width integer not null default 0;
alter table ttrss_enclosures add column height integer not null default 0;
update ttrss_version set schema_version = 126;
commit;

@ -0,0 +1,8 @@
begin;
alter table ttrss_enclosures add column height integer not null default 0;
alter table ttrss_enclosures add column width integer not null default 0;
update ttrss_version set schema_version = 126;
commit;
Loading…
Cancel
Save