add option to force display attachments in feeds (implementation)

This commit is contained in:
Andrew Dolgov 2009-10-06 14:15:29 +04:00
parent e0382fd6df
commit 54e61a6809
3 changed files with 31 additions and 6 deletions

View File

@ -4568,13 +4568,15 @@
if (!$zoom_mode) { print "<article id='$id'><![CDATA["; }; if (!$zoom_mode) { print "<article id='$id'><![CDATA["; };
$result = db_query($link, "SELECT rtl_content FROM ttrss_feeds $result = db_query($link, "SELECT rtl_content, always_display_enclosures FROM ttrss_feeds
WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]); WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);
if (db_num_rows($result) == 1) { if (db_num_rows($result) == 1) {
$rtl_content = sql_bool_to_bool(db_fetch_result($result, 0, "rtl_content")); $rtl_content = sql_bool_to_bool(db_fetch_result($result, 0, "rtl_content"));
$always_display_enclosures = sql_bool_to_bool(db_fetch_result($result, 0, "always_display_enclosures"));
} else { } else {
$rtl_content = false; $rtl_content = false;
$always_display_enclosures = false;
} }
if ($rtl_content) { if ($rtl_content) {
@ -4760,7 +4762,7 @@
print "<div class=\"postEnclosures\">"; print "<div class=\"postEnclosures\">";
if (!preg_match("/<img/i", $article_content)) { if ($always_display_enclosures || !preg_match("/<img/i", $article_content)) {
foreach ($entries as $entry) { foreach ($entries as $entry) {
if (preg_match("/image/", $entry["type"])) { if (preg_match("/image/", $entry["type"])) {
print "<p><img print "<p><img
@ -5268,14 +5270,14 @@
// print "<div class=\"cdmInnerContent\" id=\"CICD-$id\" $cdm_cstyle>"; // print "<div class=\"cdmInnerContent\" id=\"CICD-$id\" $cdm_cstyle>";
print sanitize_rss($link, $line["content_preview"]);
print "<div id=\"POSTNOTE-$id\">"; print "<div id=\"POSTNOTE-$id\">";
if ($line['note']) { if ($line['note']) {
print format_article_note($id, $line['note']); print format_article_note($id, $line['note']);
} }
print "</div>"; print "</div>";
print sanitize_rss($link, $line["content_preview"]);
$article_content = $line["content_preview"]; $article_content = $line["content_preview"];
$e_result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE $e_result = db_query($link, "SELECT * FROM ttrss_enclosures WHERE
@ -5310,7 +5312,12 @@
array_push($entries, $entry); array_push($entries, $entry);
} }
if (!preg_match("/img/i", $article_content)) { $tmp_result = db_query($link, "SELECT always_display_enclosures FROM
ttrss_feeds WHERE id = ".$line['feed_id']." AND owner_uid = ".$_SESSION["uid"]);
$always_display_enclosures = db_fetch_result($tmp_result, 0, "always_display_enclosures");
if ($always_display_enclosures || !preg_match("/img/i", $article_content)) {
foreach ($entries as $entry) { foreach ($entries as $entry) {
if (preg_match("/image/", $entry["type"])) { if (preg_match("/image/", $entry["type"])) {
print "<p><img print "<p><img

View File

@ -342,6 +342,20 @@
name=\"include_in_digest\" name=\"include_in_digest\"
$checked>&nbsp;<label for=\"include_in_digest\">".__('Include in e-mail digest')."</label>"; $checked>&nbsp;<label for=\"include_in_digest\">".__('Include in e-mail digest')."</label>";
$always_display_enclosures = sql_bool_to_bool(db_fetch_result($result, 0, "always_display_enclosures"));
if ($always_display_enclosures) {
$checked = "checked";
} else {
$checked = "";
}
print "<br/><input type=\"checkbox\" id=\"always_display_enclosures\"
name=\"always_display_enclosures\"
$checked>&nbsp;<label for=\"always_display_enclosures\">".__('Always display image attachments')."</label>";
$cache_images = sql_bool_to_bool(db_fetch_result($result, 0, "cache_images")); $cache_images = sql_bool_to_bool(db_fetch_result($result, 0, "cache_images"));
if ($cache_images) { if ($cache_images) {
@ -560,6 +574,9 @@
db_escape_string($_POST["cache_images"])); db_escape_string($_POST["cache_images"]));
$update_method = (int) db_escape_string($_POST["update_method"]); $update_method = (int) db_escape_string($_POST["update_method"]);
$always_display_enclosures = checkbox_to_sql_bool(
db_escape_string($_POST["always_display_enclosures"]));
if (get_pref($link, 'ENABLE_FEED_CATS')) { if (get_pref($link, 'ENABLE_FEED_CATS')) {
if ($cat_id && $cat_id != 0) { if ($cat_id && $cat_id != 0) {
$category_qpart = "cat_id = '$cat_id',"; $category_qpart = "cat_id = '$cat_id',";
@ -599,6 +616,7 @@
hidden = $hidden, hidden = $hidden,
$cache_images_qpart $cache_images_qpart
include_in_digest = $include_in_digest, include_in_digest = $include_in_digest,
always_display_enclosures = $always_display_enclosures,
update_method = '$update_method' update_method = '$update_method'
WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]); WHERE id = '$feed_id' AND owner_uid = " . $_SESSION["uid"]);

View File

@ -2,7 +2,7 @@
require_once "functions.php"; require_once "functions.php";
define('EXPECTED_CONFIG_VERSION', 18); define('EXPECTED_CONFIG_VERSION', 18);
define('SCHEMA_VERSION', 56); define('SCHEMA_VERSION', 57);
if (!file_exists("config.php")) { if (!file_exists("config.php")) {
print "<b>Fatal Error</b>: You forgot to copy print "<b>Fatal Error</b>: You forgot to copy