This reverts commit
6525c19868a0511abaaac9d2ba452ba640899209.
The problem was not really about Instagram using Cross Origin Resource
Policy but probably more about Liferea not parsing the images URLs
correctly.
So revert the change, since this broke images in other feed readers
which do not support Data URLs, like for example newsboat.
- * Generate a data URL.
- */
- public static function generateDataURL($url) {
- $supported_content_types = [
- "image/gif",
- "image/jpeg",
- "image/png",
- ];
-
- $url_info = Tweeper::getUrlInfo($url);
- if (FALSE === $url_info) {
- trigger_error("Failed to retrieve info for URL: " . $url, E_USER_WARNING);
- return '';
- }
-
- $supported = in_array($url_info['content_type'], $supported_content_types);
- if (!$supported) {
- trigger_error("Unsupported data URL type \"" . $url_info['content_type'] . "\" for URL: " . $url_info['url'], E_USER_WARNING);
- return '';
- }
-
- $base64Data = base64_encode(file_get_contents($url));
- $dataURL = 'data: ' . $url_info['content_type'] . ';base64,' . $base64Data;
-
- return $dataURL;
- }
-
- /**
* Mimic the message from libxml.c::php_libxml_ctx_error_level()
*/
private static function logXmlError($error) {
* Mimic the message from libxml.c::php_libxml_ctx_error_level()
*/
private static function logXmlError($error) {
<xsl:template match="//edges/node">
<xsl:variable name="item-content-image" select="./display_url"/>
<xsl:template match="//edges/node">
<xsl:variable name="item-content-image" select="./display_url"/>
- <xsl:variable name="item-content-image-data" select="php:functionString('Tweeper\Tweeper::generateDataURL', $item-content-image)"/>
<xsl:variable name="item-content-caption" select="./edge_media_to_caption/edges/node/text"/>
<xsl:variable name="item-permalink" select="concat($BaseURL, '/p/', ./shortcode, '/')"/>
<item>
<xsl:variable name="item-content-caption" select="./edge_media_to_caption/edges/node/text"/>
<xsl:variable name="item-permalink" select="concat($BaseURL, '/p/', ./shortcode, '/')"/>
<item>
<xsl:value-of select="$item-content-caption"/>
</p><br />
<xsl:if test="$show-multimedia = 1">
<xsl:value-of select="$item-content-caption"/>
</p><br />
<xsl:if test="$show-multimedia = 1">
- <a href="{$item-permalink}"><img src="{$item-content-image-data}" style="max-width: 100%"/></a>
+ <a href="{$item-permalink}"><img src="{$item-content-image}" style="max-width: 100%"/></a>
</xsl:if>
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</description>
</xsl:if>
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</description>