Exemplo n.º 1
0
Arquivo: oembed.php Projeto: Mauru/red
function oembed_format_object($j)
{
    $a = get_app();
    $embedurl = $j->embedurl;
    $jhtml = oembed_iframe($j->embedurl, isset($j->width) ? $j->width : null, isset($j->height) ? $j->height : null);
    $ret = "<span class='oembed " . $j->type . "'>";
    switch ($j->type) {
        case "video":
            if (isset($j->thumbnail_url)) {
                $tw = isset($j->thumbnail_width) ? $j->thumbnail_width : 200;
                $th = isset($j->thumbnail_height) ? $j->thumbnail_height : 180;
                $tr = $tw / $th;
                $th = 120;
                $tw = $th * $tr;
                $tpl = get_markup_template('oembed_video.tpl');
                if (strstr($embedurl, 'youtu')) {
                    $embedurl = str_replace('http:', 'https:', $embedurl);
                    $j->thumbnail_url = str_replace('http:', 'https:', $j->thumbnail_url);
                    $jhtml = str_replace('http:', 'https:', $jhtml);
                    $j->html = str_replace('http:', 'https:', $j->html);
                }
                $ret .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl(), '$embedurl' => $embedurl, '$escapedhtml' => base64_encode($jhtml), '$tw' => $tw, '$th' => $th, '$turl' => $j->thumbnail_url));
            } else {
                $ret = $jhtml;
            }
            $ret .= "<br>";
            break;
        case "photo":
            $ret .= "<img width='" . $j->width . "' src='" . $j->url . "'>";
            //$ret.= "<img width='".$j->width."' height='".$j->height."' src='".$j->url."'>";
            $ret .= "<br>";
            break;
        case "link":
            //$ret = "<a href='".$embedurl."'>".$j->title."</a>";
            break;
        case "rich":
            // not so safe..
            $ret .= $jhtml;
            break;
    }
    // add link to source if not present in "rich" type
    if ($j->type != 'rich' || !strpos($j->html, $embedurl)) {
        $embedlink = isset($j->title) ? $j->title : $embedurl;
        $ret .= "<a href='{$embedurl}' rel='oembed'>{$embedlink}</a>";
        $ret .= "<br>";
        if (isset($j->author_name)) {
            $ret .= " by " . $j->author_name;
        }
        if (isset($j->provider_name)) {
            $ret .= " on " . $j->provider_name;
        }
    } else {
        // add <a> for html2bbcode conversion
        $ret .= "<a href='{$embedurl}' rel='oembed'/>";
    }
    $ret .= "<br style='clear:left'></span>";
    return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret));
}
Exemplo n.º 2
0
function oembed_format_object($j)
{
    require_once "mod/proxy.php";
    $a = get_app();
    $embedurl = $j->embedurl;
    $jhtml = oembed_iframe($j->embedurl, isset($j->width) ? $j->width : null, isset($j->height) ? $j->height : null);
    $ret = "<span class='oembed " . $j->type . "'>";
    switch ($j->type) {
        case "video":
            if (isset($j->thumbnail_url)) {
                $tw = isset($j->thumbnail_width) && intval($j->thumbnail_width) ? $j->thumbnail_width : 200;
                $th = isset($j->thumbnail_height) && intval($j->thumbnail_height) ? $j->thumbnail_height : 180;
                // make sure we don't attempt divide by zero, fallback is a 1:1 ratio
                $tr = $th ? $tw / $th : 1;
                $th = 120;
                $tw = $th * $tr;
                $tpl = get_markup_template('oembed_video.tpl');
                $ret .= replace_macros($tpl, array('$baseurl' => $a->get_baseurl(), '$embedurl' => $embedurl, '$escapedhtml' => base64_encode($jhtml), '$tw' => $tw, '$th' => $th, '$turl' => $j->thumbnail_url));
            } else {
                $ret = $jhtml;
            }
            $ret .= "<br>";
            break;
        case "photo":
            $ret .= "<img width='" . $j->width . "' src='" . proxy_url($j->url) . "'>";
            //$ret.= "<img width='".$j->width."' height='".$j->height."' src='".proxy_url($j->url)."'>";
            $ret .= "<br>";
            break;
        case "link":
            //$ret = "<a href='".$embedurl."'>".$j->title."</a>";
            break;
        case "rich":
            // not so safe..
            if (!get_config("system", "no_oembed_rich_content")) {
                $ret .= proxy_parse_html($jhtml);
            }
            break;
    }
    // add link to source if not present in "rich" type
    if ($j->type != 'rich' || !strpos($j->html, $embedurl)) {
        $ret .= "<h4>";
        if (isset($j->title)) {
            if (isset($j->provider_name)) {
                $ret .= $j->provider_name . ": ";
            }
            $embedlink = isset($j->title) ? $j->title : $embedurl;
            $ret .= "<a href='{$embedurl}' rel='oembed'>{$embedlink}</a>";
            if (isset($j->author_name)) {
                $ret .= " (" . $j->author_name . ")";
            }
        } elseif (isset($j->provider_name) or isset($j->author_name)) {
            $embedlink = "";
            if (isset($j->provider_name)) {
                $embedlink .= $j->provider_name;
            }
            if (isset($j->author_name)) {
                if ($embedlink != "") {
                    $embedlink .= ": ";
                }
                $embedlink .= $j->author_name;
            }
            if (trim($embedlink) == "") {
                $embedlink = $embedurl;
            }
            $ret .= "<a href='{$embedurl}' rel='oembed'>{$embedlink}</a>";
        }
        //if (isset($j->author_name)) $ret.=" by ".$j->author_name;
        //if (isset($j->provider_name)) $ret.=" on ".$j->provider_name;
        $ret .= "</h4>";
    } else {
        // add <a> for html2bbcode conversion
        $ret .= "<a href='{$embedurl}' rel='oembed'>{$embedurl}</a>";
        $ret .= "<br style='clear:left'>";
    }
    $ret .= "</span>";
    return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret));
}
Exemplo n.º 3
0
function oembed_format_object($j)
{
    $embedurl = $j['embedurl'];
    // logger('format: ' . print_r($j,true));
    $jhtml = oembed_iframe($j['embedurl'], isset($j['width']) ? $j['width'] : null, isset($j['height']) ? $j['height'] : null);
    $ret = "<span class='oembed " . $j['type'] . "'>";
    switch ($j['type']) {
        case "video":
            if (isset($j['thumbnail_url'])) {
                $tw = isset($j['thumbnail_width']) ? $j['thumbnail_width'] : 200;
                $th = isset($j['thumbnail_height']) ? $j['thumbnail_height'] : 180;
                $tr = $tw / $th;
                $th = 120;
                $tw = $th * $tr;
                $tpl = get_markup_template('oembed_video.tpl');
                if (strstr($embedurl, 'youtu') && strstr(z_root(), 'https:')) {
                    $embedurl = str_replace('http:', 'https:', $embedurl);
                    $j['thumbnail_url'] = str_replace('http:', 'https:', $j['thumbnail_url']);
                    $jhtml = str_replace('http:', 'https:', $jhtml);
                    $j['html'] = str_replace('http:', 'https:', $j['html']);
                }
                $ret .= replace_macros($tpl, array('$baseurl' => z_root(), '$embedurl' => $embedurl, '$escapedhtml' => base64_encode($jhtml), '$tw' => $tw, '$th' => $th, '$turl' => $j['thumbnail_url']));
            } else {
                $ret = $jhtml;
            }
            $ret .= "<br>";
            break;
        case "photo":
            $ret .= "<img width='" . $j['width'] . "' src='" . $j['url'] . "'>";
            $ret .= "<br>";
            break;
        case "link":
            if ($j['thumbnail_url']) {
                if (is_matrix_url($embedurl)) {
                    $embedurl = zid($embedurl);
                    $j['thumbnail_url'] = zid($j['thumbnail_url']);
                }
                $ret = '<a href="' . $embedurl . '" ><img src="' . $j['thumbnail_url'] . '" alt="thumbnail" /></a><br /><br />';
            }
            //$ret = "<a href='".$embedurl."'>".$j['title']."</a>";
            break;
        case "rich":
            // not so safe..
            $ret .= $jhtml;
            break;
    }
    // add link to source if not present in "rich" type
    if ($j['type'] != 'rich' || !strpos($j['html'], $embedurl)) {
        $embedlink = isset($j['title']) ? $j['title'] : $embedurl;
        $ret .= '<br />' . "<a href='{$embedurl}' rel='oembed'>{$embedlink}</a>";
        $ret .= "<br />";
        if (isset($j['author_name'])) {
            $ret .= t(' by ') . $j['author_name'];
        }
        if (isset($j['provider_name'])) {
            $ret .= t(' on ') . $j['provider_name'];
        }
    } else {
        // add <a> for html2bbcode conversion
        $ret .= "<br /><a href='{$embedurl}' rel='oembed'>{$embedurl}</a>";
    }
    $ret .= "<br style='clear:left'></span>";
    return mb_convert_encoding($ret, 'HTML-ENTITIES', mb_detect_encoding($ret));
}