Example #1
0
 /**
  * Callback function for url preg_replace_callback
  *
  * @param array $matches An array of matches
  * @return string
  */
 public static function callbackUrl($matches)
 {
     if (empty($matches[2])) {
         return $matches[0];
     }
     $text = $matches[2];
     if (elgg_get_plugin_setting('linkify_url_titles', 'hypeScraper', true)) {
         $data = hypeapps_scrape($text, true);
         $text = !empty($data['title']) ? $data['title'] : $text;
     }
     return $matches[1] . elgg_format_element('a', array('class' => 'scraper-url', 'href' => $matches[2], 'data-qualifier' => 'url', 'rel' => 'nofollow'), $text);
 }
Example #2
0
<?php

$href = elgg_extract('href', $vars);
$iframe = elgg_extract('iframe', $vars) || elgg_is_xhr();
$data = hypeapps_scrape($url);
if (!$data) {
    return;
}
$title = $data['title'];
if ($iframe) {
    $layout = elgg_view('output/player', ['href' => $href]);
} else {
    $content = elgg_view('output/card', ['href' => $href, 'full_view' => true]);
    $layout = elgg_view_layout('content', ['filter' => false, 'title' => $title, 'content' => $content]);
}
$shell = $iframe ? 'iframe' : 'default';
echo elgg_view_page($title, $layout, $shell);
Example #3
0
<?php

$href = elgg_extract('href', $vars);
$data = hypeapps_scrape($href);
if (!$data) {
    return;
}
if (empty($data) || empty($data['url'])) {
    return;
}
$meta = (object) $data;
$icon_url = elgg_extract('thumbnail_url', $data);
if (!$icon_url) {
    $icon_url = elgg_get_simplecache_url('framework/scraper/placeholder.png');
}
$module = elgg_extract('module', $vars, 'scraper-card');
$classes = array(elgg_extract('class', $vars));
$classes[] = 'scraper-card-block';
$classes[] = 'clearfix';
if ($meta->provider_name) {
    $classes[] = 'scraper-card-' . preg_replace('/[^a-z0-9\\-]/i', '-', strtolower($meta->provider_name));
}
if (($meta->type == 'image' || $meta->type == 'photo') && $icon_url) {
    $vars['src'] = $icon_url;
    $vars['class'] = 'sraper-card-photo';
    $img = elgg_view('output/img', $vars);
    $body = elgg_view('output/url', array('href' => $href, 'text' => $img));
} else {
    $body .= '<h3>' . $meta->title . '</h3>';
    $body .= elgg_view('output/url', array('text' => parse_url($meta->url, PHP_URL_HOST), 'href' => $meta->url, 'class' => 'scraper-card-link'));
    $body .= elgg_view('output/longtext', array('value' => elgg_get_excerpt($meta->description), 'class' => 'scraper-card-description'));
Example #4
0
 /**
  * Output metatags for a URL
  *
  * @param string $hook   'extract:meta'
  * @param string $type   'embed'
  * @param array  $return Metatags
  * @param array  $params Hook params
  * @return array
  */
 public static function getCard($hook, $type, $return, $params)
 {
     $url = elgg_extract('url', $params);
     return hypeapps_scrape($url);
 }