From 8dccabedaee3450642c58c75101ff52c38508112 Mon Sep 17 00:00:00 2001 From: Andrew Dolgov <fox@madoka.spb.ru> Date: Fri, 1 Aug 2008 04:38:17 +0100 Subject: [PATCH] merge two patches: STRIP_IMAGES and ENABLE_FLASH_PLAYER from Sten (bump schema) --- extras/button/license.txt | 10 ++++++++++ extras/button/musicplayer.swf | Bin 0 -> 6134 bytes extras/button/musicplayer_f6.swf | Bin 0 -> 6463 bytes functions.php | 30 +++++++++++++++++++++++++++--- sanity_check.php | 2 +- schema/ttrss_schema_mysql.sql | 6 +++++- schema/ttrss_schema_pgsql.sql | 6 +++++- 7 files changed, 48 insertions(+), 6 deletions(-) create mode 100644 extras/button/license.txt create mode 100644 extras/button/musicplayer.swf create mode 100644 extras/button/musicplayer_f6.swf diff --git a/extras/button/license.txt b/extras/button/license.txt new file mode 100644 index 000000000..12d609e12 --- /dev/null +++ b/extras/button/license.txt @@ -0,0 +1,10 @@ +Copyright (c) 2005, Fabricio Zuardi +All rights reserved. + +Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/extras/button/musicplayer.swf b/extras/button/musicplayer.swf new file mode 100644 index 0000000000000000000000000000000000000000..39c8d5398aa25ece769fdac328caa62370b4f24a GIT binary patch literal 6134 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 I1za3t@9`?^Z~y=R literal 0 HcmV?d00001 diff --git a/extras/button/musicplayer_f6.swf b/extras/button/musicplayer_f6.swf new file mode 100644 index 0000000000000000000000000000000000000000..2eb5d579681cecbddbcff1fcabbc502345b1d9a5 GIT binary patch literal 6463 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 Z@F1h1gETpBH%Ma`VUQU#_y!-On7L!Xfs6nE literal 0 HcmV?d00001 diff --git a/functions.php b/functions.php index 8e2acb222..e00faf6b6 100644 --- a/functions.php +++ b/functions.php @@ -3522,6 +3522,12 @@ // $res = strip_tags_long($res, "<p><a><i><em><b><strong><blockquote><br><img><div><span>"); } + if (get_pref($link, "STRIP_IMAGES")) { + + $res = preg_replace('/<img[^>]+>/is', '', $res); + + } + return $res; } @@ -4704,7 +4710,16 @@ $filename = substr($url, strrpos($url, "/")+1); - $entry = "<a target=\"_blank\" href=\"" . htmlspecialchars($url) . "\">" . + $entry = ""; + + if (($ctype = __("audio/mpeg")) && + (get_pref($link, "ENABLE_FLASH_PLAYER")) ) { + + $entry .= "<object type=\"application/x-shockwave-flash\" data=\"extras/button/musicplayer.swf?song_url=$url\" width=\"20\" height=\"20\"> <param name=\"movie\" value=\"extras/button/musicplayer.swf?song_url=$url\" /> </object>"; + + } + + $entry .= "<a target=\"_blank\" href=\"" . htmlspecialchars($url) . "\">" . $filename . " (" . $ctype . ")" . "</a>"; array_push($entries, $entry); @@ -5139,7 +5154,7 @@ // print "<div class=\"cdmInnerContent\" id=\"CICD-$id\" $cdm_cstyle>"; - print $line["content_preview"]; + print sanitize_rss($line["content_preview"]); $e_result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE post_id = '$id' AND content_url != ''"); @@ -5163,7 +5178,16 @@ $filename = substr($url, strrpos($url, "/")+1); - $entry = "<a target=\"_blank\" href=\"" . htmlspecialchars($url) . "\">" . + $entry = ""; + + if (($ctype = __("audio/mpeg")) && + (get_pref($link, "ENABLE_FLASH_PLAYER")) ) { + + $entry .= "<object type=\"application/x-shockwave-flash\" data=\"extras/button/musicplayer.swf?song_url=$url\" width=\"20\" height=\"20\"> <param name=\"movie\" value=\"extras/button/musicplayer.swf?song_url=$url\" /> </object>"; + + } + + $entry .= "<a target=\"_blank\" href=\"" . htmlspecialchars($url) . "\">" . $filename . " (" . $ctype . ")" . "</a>"; array_push($entries, $entry); diff --git a/sanity_check.php b/sanity_check.php index ee715a823..1afd28d94 100644 --- a/sanity_check.php +++ b/sanity_check.php @@ -2,7 +2,7 @@ require_once "functions.php"; define('EXPECTED_CONFIG_VERSION', 17); - define('SCHEMA_VERSION', 38); + define('SCHEMA_VERSION', 39); if (!file_exists("config.php")) { print __("<b>Fatal Error</b>: You forgot to copy diff --git a/schema/ttrss_schema_mysql.sql b/schema/ttrss_schema_mysql.sql index 59a8c83b5..c2a5ce580 100644 --- a/schema/ttrss_schema_mysql.sql +++ b/schema/ttrss_schema_mysql.sql @@ -209,7 +209,7 @@ create table ttrss_tags (id integer primary key auto_increment, create table ttrss_version (schema_version int not null) TYPE=InnoDB; -insert into ttrss_version values (38); +insert into ttrss_version values (39); create table ttrss_enclosures (id serial not null primary key, content_url text not null, @@ -334,6 +334,10 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('SYNC_COUNTERS', 1, 'false', 'Prefer more accurate feedlist counters to UI speed',3); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('STRIP_IMAGES', 1, 'false', 'Do not show images in articles', 2); + +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('ENABLE_FLASH_PLAYER', 1, 'false', 'Enable inline MP3 player', 3, 'Enable the Flash-based XSPF Player to play MP3-format podcast enclosures.'); + create table ttrss_user_prefs ( owner_uid integer not null, pref_name varchar(250), diff --git a/schema/ttrss_schema_pgsql.sql b/schema/ttrss_schema_pgsql.sql index c0cddfbad..ba5ebac28 100644 --- a/schema/ttrss_schema_pgsql.sql +++ b/schema/ttrss_schema_pgsql.sql @@ -189,7 +189,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid); create table ttrss_version (schema_version int not null); -insert into ttrss_version values (38); +insert into ttrss_version values (39); create table ttrss_enclosures (id serial not null primary key, content_url text not null, @@ -308,6 +308,10 @@ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_ insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('SYNC_COUNTERS', 1, 'false', 'Prefer more accurate feedlist counters to UI speed',3); +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id) values('STRIP_IMAGES', 1, 'false', 'Do not show images in articles', 2); + +insert into ttrss_prefs (pref_name,type_id,def_value,short_desc,section_id,help_text) values('ENABLE_FLASH_PLAYER', 1, 'false', 'Enable inline MP3 player', 3, 'Enable the Flash-based XSPF Player to play MP3-format podcast enclosures.'); + create table ttrss_user_prefs ( owner_uid integer not null references ttrss_users(id) ON DELETE CASCADE, pref_name varchar(250) not null references ttrss_prefs(pref_name) ON DELETE CASCADE, -- GitLab