diff options
21 files changed, 163 insertions, 78 deletions
diff --git a/classes/feeditem/atom.php b/classes/feeditem/atom.php index 76d85b2a2..77cd448b8 100644 --- a/classes/feeditem/atom.php +++ b/classes/feeditem/atom.php @@ -69,7 +69,7 @@ class FeedItem_Atom extends FeedItem_Common { $child = $content->childNodes->item($i); if ($child->hasChildNodes()) { - return $this->doc->saveXML($child); + return $this->doc->saveHTML($child); } } } @@ -89,7 +89,7 @@ class FeedItem_Atom extends FeedItem_Common { $child = $content->childNodes->item($i); if ($child->hasChildNodes()) { - return $this->doc->saveXML($child); + return $this->doc->saveHTML($child); } } } @@ -197,4 +197,4 @@ class FeedItem_Atom extends FeedItem_Common { return $encs; } -}
\ No newline at end of file +} diff --git a/classes/feeds.php b/classes/feeds.php index b0fa85f9e..99eb0fbf2 100755 --- a/classes/feeds.php +++ b/classes/feeds.php @@ -1530,7 +1530,6 @@ class Feeds extends Handler_Protected { "SELECT id FROM ttrss_feeds WHERE feed_url = '$url' AND owner_uid = ".$_SESSION["uid"]); - $auth_pass_encrypted = 'false'; $auth_pass = db_escape_string($auth_pass); if (db_num_rows($result) == 0) { @@ -1538,7 +1537,7 @@ class Feeds extends Handler_Protected { "INSERT INTO ttrss_feeds (owner_uid,feed_url,title,cat_id, auth_login,auth_pass,update_method,auth_pass_encrypted) VALUES ('".$_SESSION["uid"]."', '$url', - '[Unknown]', $cat_qpart, '$auth_login', '$auth_pass', 0, $auth_pass_encrypted)"); + '[Unknown]', $cat_qpart, '$auth_login', '$auth_pass', 0, false)"); $result = db_query( "SELECT id FROM ttrss_feeds WHERE feed_url = '$url' diff --git a/classes/pluginhost.php b/classes/pluginhost.php index afe4da49e..571c30fb6 100644 --- a/classes/pluginhost.php +++ b/classes/pluginhost.php @@ -54,6 +54,7 @@ class PluginHost { const HOOK_ENCLOSURE_ENTRY = 33; const HOOK_FORMAT_ARTICLE = 34; const HOOK_FORMAT_ARTICLE_CDM = 35; + const HOOK_FEED_BASIC_INFO = 36; const KIND_ALL = 1; const KIND_SYSTEM = 2; @@ -436,4 +437,4 @@ class PluginHost { function get_filter_actions() { return $this->plugin_actions; } -}
\ No newline at end of file +} diff --git a/classes/pref/feeds.php b/classes/pref/feeds.php index b0f82e7e4..a86a1af94 100755 --- a/classes/pref/feeds.php +++ b/classes/pref/feeds.php @@ -634,16 +634,8 @@ class Pref_Feeds extends Handler_Protected { ((FORCE_ARTICLE_PURGE == 0) ? "" : 'disabled="1"')); print "</div>"; - print "<div class=\"dlgSec\">".__("Authentication")."</div>"; - print "<div class=\"dlgSecCont\">"; $auth_login = htmlspecialchars($this->dbh->fetch_result($result, 0, "auth_login")); - - print "<input dojoType=\"dijit.form.TextBox\" id=\"feedEditDlg_login\" - placeHolder=\"".__("Login")."\" - autocomplete=\"new-password\" - name=\"auth_login\" value=\"$auth_login\"><hr/>"; - $auth_pass = $this->dbh->fetch_result($result, 0, "auth_pass"); if ($auth_pass_encrypted && function_exists("mcrypt_decrypt")) { @@ -652,6 +644,18 @@ class Pref_Feeds extends Handler_Protected { } $auth_pass = htmlspecialchars($auth_pass); + $auth_enabled = $auth_login !== '' || $auth_pass !== ''; + + $auth_style = $auth_enabled ? '' : 'display: none'; + print "<div id='feedEditDlg_loginContainer' style='$auth_style'>"; + print "<div class=\"dlgSec\">".__("Authentication")."</div>"; + print "<div class=\"dlgSecCont\">"; + + print "<input dojoType=\"dijit.form.TextBox\" id=\"feedEditDlg_login\" + placeHolder=\"".__("Login")."\" + autocomplete=\"new-password\" + name=\"auth_login\" value=\"$auth_login\"><hr/>"; + print "<input dojoType=\"dijit.form.TextBox\" type=\"password\" name=\"auth_pass\" autocomplete=\"new-password\" @@ -662,7 +666,14 @@ class Pref_Feeds extends Handler_Protected { ".__('<b>Hint:</b> you need to fill in your login information if your feed requires authentication, except for Twitter feeds.')." </div>"; - print "</div>"; + print "</div></div>"; + + $auth_checked = $auth_enabled ? 'checked' : ''; + print "<div style=\"clear : both\"> + <input type=\"checkbox\" $auth_checked name=\"need_auth\" dojoType=\"dijit.form.CheckBox\" id=\"feedEditDlg_loginCheck\" + onclick='checkboxToggleElement(this, \"feedEditDlg_loginContainer\")'> + <label for=\"feedEditDlg_loginCheck\">". + __('This feed requires authentication.')."</div>"; print '</div><div dojoType="dijit.layout.ContentPane" title="'.__('Options').'">'; @@ -971,7 +982,6 @@ class Pref_Feeds extends Handler_Protected { $feed_language = $this->dbh->escape_string(trim($_POST["feed_language"])); - $auth_pass_encrypted = 'false'; $auth_pass = $this->dbh->escape_string($auth_pass); if (get_pref('ENABLE_FEED_CATS')) { @@ -988,6 +998,10 @@ class Pref_Feeds extends Handler_Protected { } if (!$batch) { + if ($_POST["need_auth"] !== 'on') { + $auth_login = ''; + $auth_pass = ''; + } $result = db_query("SELECT feed_url FROM ttrss_feeds WHERE id = " . $feed_id); $orig_feed_url = db_fetch_result($result, 0, "feed_url"); @@ -1001,7 +1015,7 @@ class Pref_Feeds extends Handler_Protected { purge_interval = '$purge_intl', auth_login = '$auth_login', auth_pass = '$auth_pass', - auth_pass_encrypted = $auth_pass_encrypted, + auth_pass_encrypted = false, private = $private, cache_images = $cache_images, hide_images = $hide_images, @@ -1055,8 +1069,7 @@ class Pref_Feeds extends Handler_Protected { break; case "auth_pass": - $qpart = "auth_pass = '$auth_pass' AND - auth_pass_encrypted = $auth_pass_encrypted"; + $qpart = "auth_pass = '$auth_pass', auth_pass_encrypted = false"; break; case "private": @@ -1857,7 +1870,6 @@ class Pref_Feeds extends Handler_Protected { "SELECT id FROM ttrss_feeds WHERE feed_url = '$feed' AND owner_uid = ".$_SESSION["uid"]); - $auth_pass_encrypted = 'false'; $pass = $this->dbh->escape_string($pass); if ($this->dbh->num_rows($result) == 0) { @@ -1865,7 +1877,7 @@ class Pref_Feeds extends Handler_Protected { "INSERT INTO ttrss_feeds (owner_uid,feed_url,title,cat_id,auth_login,auth_pass,update_method,auth_pass_encrypted) VALUES ('".$_SESSION["uid"]."', '$feed', - '[Unknown]', $cat_qpart, '$login', '$pass', 0, $auth_pass_encrypted)"); + '[Unknown]', $cat_qpart, '$login', '$pass', 0, false)"); } $this->dbh->query("COMMIT"); diff --git a/classes/rssutils.php b/classes/rssutils.php index 460709f05..d6dfc724e 100644 --- a/classes/rssutils.php +++ b/classes/rssutils.php @@ -205,9 +205,11 @@ class RSSUtils { $feed = db_escape_string($feed); - $result = db_query("SELECT feed_url,auth_pass,auth_login,auth_pass_encrypted + $result = db_query("SELECT owner_uid,feed_url,auth_pass,auth_login,auth_pass_encrypted FROM ttrss_feeds WHERE id = '$feed'"); + $owner_uid = db_fetch_result($result, 0, "owner_uid"); + $auth_pass_encrypted = sql_bool_to_bool(db_fetch_result($result, 0, "auth_pass_encrypted")); @@ -221,42 +223,59 @@ class RSSUtils { $fetch_url = db_fetch_result($result, 0, "feed_url"); - $feed_data = fetch_file_contents($fetch_url, false, - $auth_login, $auth_pass, false, - FEED_FETCH_TIMEOUT, - 0); - - global $fetch_curl_used; + $pluginhost = new PluginHost(); + $user_plugins = get_pref("_ENABLED_PLUGINS", $owner_uid); - if (!$fetch_curl_used) { - $tmp = @gzdecode($feed_data); + $pluginhost->load(PLUGINS, PluginHost::KIND_ALL); + $pluginhost->load($user_plugins, PluginHost::KIND_USER, $owner_uid); + $pluginhost->load_data(); - if ($tmp) $feed_data = $tmp; + $basic_info = array(); + foreach ($pluginhost->get_hooks(PluginHost::HOOK_FEED_BASIC_INFO) as $plugin) { + $basic_info = $plugin->hook_feed_basic_info($basic_info, $fetch_url, $owner_uid, $feed, $auth_login, $auth_pass); } - $feed_data = trim($feed_data); + if (!$basic_info) { + $feed_data = fetch_file_contents($fetch_url, false, + $auth_login, $auth_pass, false, + FEED_FETCH_TIMEOUT, + 0); - $rss = new FeedParser($feed_data); - $rss->init(); + global $fetch_curl_used; - if (!$rss->error()) { + if (!$fetch_curl_used) { + $tmp = @gzdecode($feed_data); + + if ($tmp) $feed_data = $tmp; + } + + $feed_data = trim($feed_data); + + $rss = new FeedParser($feed_data); + $rss->init(); + if (!$rss->error()) { + $basic_info = array( + 'title' => db_escape_string(mb_substr($rss->get_title(), 0, 199)), + 'site_url' => db_escape_string(mb_substr(rewrite_relative_url($fetch_url, $rss->get_link()), 0, 245)) + ); + } + } + + if ($basic_info && is_array($basic_info)) { $result = db_query("SELECT title, site_url FROM ttrss_feeds WHERE id = '$feed'"); $registered_title = db_fetch_result($result, 0, "title"); $orig_site_url = db_fetch_result($result, 0, "site_url"); - $site_url = db_escape_string(mb_substr(rewrite_relative_url($fetch_url, $rss->get_link()), 0, 245)); - $feed_title = db_escape_string(mb_substr($rss->get_title(), 0, 199)); - - if ($feed_title && (!$registered_title || $registered_title == "[Unknown]")) { + if ($basic_info['title'] && (!$registered_title || $registered_title == "[Unknown]")) { db_query("UPDATE ttrss_feeds SET - title = '$feed_title' WHERE id = '$feed'"); + title = '${basic_info['title']}' WHERE id = '$feed'"); } - if ($site_url && $orig_site_url != $site_url) { + if ($basic_info['site_url'] && $orig_site_url != $basic_info['site_url']) { db_query("UPDATE ttrss_feeds SET - site_url = '$site_url' WHERE id = '$feed'"); + site_url = '${basic_info['site_url']}' WHERE id = '$feed'"); } } } @@ -1520,4 +1539,4 @@ class RSSUtils { -}
\ No newline at end of file +} diff --git a/include/functions.php b/include/functions.php index 8ea8719ca..203454747 100644 --- a/include/functions.php +++ b/include/functions.php @@ -575,9 +575,9 @@ $doc->loadHTML($html); $xpath = new DOMXPath($doc); - $base = $xpath->query('/html/head/base'); + $base = $xpath->query('/html/head/base[@href]'); foreach ($base as $b) { - $url = $b->getAttribute("href"); + $url = rewrite_relative_url($url, $b->getAttribute("href")); break; } diff --git a/plugins/af_comics/filters/af_comics_cad.php b/plugins/af_comics/filters/af_comics_cad.php index 6846f3cb0..d2eb38caf 100644 --- a/plugins/af_comics/filters/af_comics_cad.php +++ b/plugins/af_comics/filters/af_comics_cad.php @@ -25,7 +25,7 @@ class Af_Comics_Cad extends Af_ComicFilter { $basenode = $xpath->query('//div[@class="comicpage"]/a/img')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -36,4 +36,4 @@ class Af_Comics_Cad extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_comicclass.php b/plugins/af_comics/filters/af_comics_comicclass.php index 56a5b9cf6..b4b3a962c 100644 --- a/plugins/af_comics/filters/af_comics_comicclass.php +++ b/plugins/af_comics/filters/af_comics_comicclass.php @@ -22,7 +22,7 @@ class Af_Comics_ComicClass extends Af_ComicFilter { $basenode = $xpath->query('//div[@class="comic"]')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -31,4 +31,4 @@ class Af_Comics_ComicClass extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_comicpress.php b/plugins/af_comics/filters/af_comics_comicpress.php index 81994d90b..51d9bab3b 100644 --- a/plugins/af_comics/filters/af_comics_comicpress.php +++ b/plugins/af_comics/filters/af_comics_comicpress.php @@ -27,7 +27,7 @@ class Af_Comics_ComicPress extends Af_ComicFilter { $basenode = $xpath->query('//div[@id="comic"]')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -36,4 +36,4 @@ class Af_Comics_ComicPress extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_darklegacy.php b/plugins/af_comics/filters/af_comics_darklegacy.php index 33c1eca5c..0882514d0 100644 --- a/plugins/af_comics/filters/af_comics_darklegacy.php +++ b/plugins/af_comics/filters/af_comics_darklegacy.php @@ -26,7 +26,7 @@ class Af_Comics_DarkLegacy extends Af_ComicFilter { if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -35,4 +35,4 @@ class Af_Comics_DarkLegacy extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_dilbert.php b/plugins/af_comics/filters/af_comics_dilbert.php index 565b44657..a40f8a9ba 100644 --- a/plugins/af_comics/filters/af_comics_dilbert.php +++ b/plugins/af_comics/filters/af_comics_dilbert.php @@ -49,7 +49,7 @@ class Af_Comics_Dilbert extends Af_ComicFilter { } if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } // Add comic title to article type if not empty (mostly Sunday strips) diff --git a/plugins/af_comics/filters/af_comics_explosm.php b/plugins/af_comics/filters/af_comics_explosm.php index 35a2edd41..c47014da4 100644 --- a/plugins/af_comics/filters/af_comics_explosm.php +++ b/plugins/af_comics/filters/af_comics_explosm.php @@ -16,7 +16,7 @@ class Af_Comics_Explosm extends Af_ComicFilter { $basenode = $xpath->query('(//img[@id="main-comic"])')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -25,4 +25,4 @@ class Af_Comics_Explosm extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_pa.php b/plugins/af_comics/filters/af_comics_pa.php index ae5cabec0..e6558d8de 100644 --- a/plugins/af_comics/filters/af_comics_pa.php +++ b/plugins/af_comics/filters/af_comics_pa.php @@ -19,7 +19,7 @@ class Af_Comics_Pa extends Af_ComicFilter { $basenode = $xpath->query('(//div[@id="comicFrame"])')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -62,7 +62,7 @@ class Af_Comics_Pa extends Af_ComicFilter { } if ($basenode){ - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -71,4 +71,4 @@ class Af_Comics_Pa extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_pvp.php b/plugins/af_comics/filters/af_comics_pvp.php index 1a1ccab3d..cf0b79d78 100644 --- a/plugins/af_comics/filters/af_comics_pvp.php +++ b/plugins/af_comics/filters/af_comics_pvp.php @@ -19,7 +19,7 @@ class Af_Comics_Pvp extends Af_ComicFilter { $basenode = $xpath->query('//section[@class="comic-art"]')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -28,4 +28,4 @@ class Af_Comics_Pvp extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_tfd.php b/plugins/af_comics/filters/af_comics_tfd.php index 78792d254..376ec0714 100644 --- a/plugins/af_comics/filters/af_comics_tfd.php +++ b/plugins/af_comics/filters/af_comics_tfd.php @@ -21,7 +21,7 @@ class Af_Comics_Tfd extends Af_ComicFilter { $basenode = $xpath->query('//img[contains(@src, ".gif")]')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); return true; } } @@ -29,4 +29,4 @@ class Af_Comics_Tfd extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_twp.php b/plugins/af_comics/filters/af_comics_twp.php index 712d54a1d..f53b89b63 100644 --- a/plugins/af_comics/filters/af_comics_twp.php +++ b/plugins/af_comics/filters/af_comics_twp.php @@ -17,7 +17,7 @@ class Af_Comics_Twp extends Af_ComicFilter { $basenode = $xpath->query("//td/center/img")->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -26,4 +26,4 @@ class Af_Comics_Twp extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/filters/af_comics_whomp.php b/plugins/af_comics/filters/af_comics_whomp.php index 3c2e0b0c7..d574bf5d3 100644 --- a/plugins/af_comics/filters/af_comics_whomp.php +++ b/plugins/af_comics/filters/af_comics_whomp.php @@ -24,7 +24,7 @@ class Af_Comics_Whomp extends Af_ComicFilter { $basenode = $xpath->query('//img[@id="cc-comic"]')->item(0); if ($basenode) { - $article["content"] = $doc->saveXML($basenode); + $article["content"] = $doc->saveHTML($basenode); } } @@ -33,4 +33,4 @@ class Af_Comics_Whomp extends Af_ComicFilter { return false; } -}
\ No newline at end of file +} diff --git a/plugins/af_comics/init.php b/plugins/af_comics/init.php index 09e903379..6bd3c23e2 100644 --- a/plugins/af_comics/init.php +++ b/plugins/af_comics/init.php @@ -127,7 +127,7 @@ class Af_Comics extends Plugin { $tpl->setVariable('ARTICLE_LINK', $article_link, true); $tpl->setVariable('ARTICLE_TITLE', date('l, F d, Y'), true); $tpl->setVariable('ARTICLE_EXCERPT', '', true); - $tpl->setVariable('ARTICLE_CONTENT', $doc->saveXML($node), true); + $tpl->setVariable('ARTICLE_CONTENT', $doc->saveHTML($node), true); $tpl->setVariable('ARTICLE_AUTHOR', '', true); $tpl->setVariable('ARTICLE_SOURCE_LINK', $site_url, true); @@ -153,4 +153,4 @@ class Af_Comics extends Plugin { return 2; } -}
\ No newline at end of file +} diff --git a/plugins/af_fsckportal/init.php b/plugins/af_fsckportal/init.php index 40ace5022..0fa58e9ed 100644 --- a/plugins/af_fsckportal/init.php +++ b/plugins/af_fsckportal/init.php @@ -37,7 +37,7 @@ class Af_Fsckportal extends Plugin { } } - $article["content"] = $doc->saveXML(); + $article["content"] = $doc->saveHTML(); } @@ -48,4 +48,4 @@ class Af_Fsckportal extends Plugin { return 2; } -}
\ No newline at end of file +} diff --git a/plugins/af_redditimgur/init.php b/plugins/af_redditimgur/init.php index d08dfa7a6..8074894fd 100755 --- a/plugins/af_redditimgur/init.php +++ b/plugins/af_redditimgur/init.php @@ -79,6 +79,7 @@ class Af_RedditImgur extends Plugin { private function inline_stuff($article, &$doc, $xpath, $debug = false) { $entries = $xpath->query('(//a[@href]|//img[@src])'); + $img_entries = $xpath->query("(//img[@src])"); $found = false; @@ -146,6 +147,51 @@ class Af_RedditImgur extends Plugin { } } + if (!$found && preg_match("/https?:\/\/v\.redd\.it\/(.*)$/i", $entry->getAttribute("href"), $matches)) { + + _debug("Handling as reddit inline video", $debug); + + $img = $img_entries->item(0); + + if ($img) { + $poster_url = $img->getAttribute("src"); + } else { + $poster_url = false; + } + + // Get original article URL from v.redd.it redirects + $source_article_url = $this->get_location($matches[0]); + _debug("Resolved ".$matches[0]." to ".$source_article_url, $debug); + + $source_stream = false; + + if ($source_article_url) { + $j = json_decode(fetch_file_contents($source_article_url.".json"), true); + + if ($j) { + foreach ($j as $listing) { + foreach ($listing["data"]["children"] as $child) { + if ($child["data"]["url"] == $matches[0]) { + try { + $source_stream = $child["data"]["media"]["reddit_video"]["fallback_url"]; + } + catch (Exception $e) { + } + break 2; + } + } + } + } + } + + if (!$source_stream) { + $source_stream = "https://v.redd.it/" . $matches[1] . "/DASH_600_K"; + } + + $this->handle_as_video($doc, $entry, $source_stream, $poster_url); + $found = 1; + } + if (!$found && preg_match("/https?:\/\/(www\.)?streamable.com\//i", $entry->getAttribute("href"))) { _debug("Handling as Streamable", $debug); @@ -364,7 +410,7 @@ class Af_RedditImgur extends Plugin { $node = $doc->getElementsByTagName('body')->item(0); if ($node && $found) { - $article["content"] = $doc->saveXML($node); + $article["content"] = $doc->saveHTML($node); } else if ($content_link) { $article = $this->readability($article, $content_link->getAttribute("href"), $doc, $xpath); } @@ -433,8 +479,8 @@ class Af_RedditImgur extends Plugin { } } - private function get_content_type($url, $useragent = SELF_USER_AGENT) { - $content_type = false; + private function get_header($url, $useragent = SELF_USER_AGENT, $header) { + $ret = false; if (function_exists("curl_init") && !defined("NO_CURL")) { $ch = curl_init($url); @@ -446,10 +492,18 @@ class Af_RedditImgur extends Plugin { curl_setopt($ch, CURLOPT_USERAGENT, $useragent); @curl_exec($ch); - $content_type = curl_getinfo($ch, CURLINFO_CONTENT_TYPE); + $ret = curl_getinfo($ch, $header); } - return $content_type; + return $ret; + } + + private function get_content_type($url, $useragent = SELF_USER_AGENT) { + return $this->get_header($url, $useragent, CURLINFO_CONTENT_TYPE); + } + + private function get_location($url, $useragent = SELF_USER_AGENT) { + return $this->get_header($url, $useragent, CURLINFO_EFFECTIVE_URL); } /** diff --git a/plugins/af_zz_imgproxy/init.php b/plugins/af_zz_imgproxy/init.php index c3b3f7fd5..41fec4ac5 100644 --- a/plugins/af_zz_imgproxy/init.php +++ b/plugins/af_zz_imgproxy/init.php @@ -199,7 +199,7 @@ class Af_Zz_ImgProxy extends Plugin { } } - if ($need_saving) $article["content"] = $doc->saveXML(); + if ($need_saving) $article["content"] = $doc->saveHTML(); return $article; } @@ -257,4 +257,4 @@ class Af_Zz_ImgProxy extends Plugin { function api_version() { return 2; } -}
\ No newline at end of file +} |