}
/**
- * 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) {
<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: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>