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)); }
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)); }
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)); }