Your IP : 216.73.216.240


Current Path : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Html/
Upload File :
Current File : /home/juvelize/saulnois/tmp/install_695d2cf0b4957/src/View/Html/TfOg.php

<?php
/*
* @package		Tech Fry Library
* @license		https://www.gnu.org/licenses/gpl-3.0.en.html
*/

namespace TechFry\Library\View\Html;

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Uri\Uri;

class TfOg
{
    public static function add_tags($data = array())
    {
        // $data - title, type, image, description
        // type - website, article, product, video, book, profile

        $data = (array) $data;

        // Do not add open graph if image is not available
        if (!isset($data['image']) || empty($data['image']))
        {
            return false;
        }

        $doc = Factory::getDocument();
        $property = 'property';
        $uri = Uri::getInstance();

        // 1. Title
        $doc->setMetaData('og:title', $data['title'], $property);

        // 2. Type
        if (!isset($data['type']) || empty($data['type']))
        {
            $data['type'] = 'article';
        }
        $doc->setMetaData('og:type', $data['type'], $property);

        // 3. Image
        $img = HTMLHelper::cleanImageURL($data['image']);
        $image_size = filesize(JPATH_ROOT . '/' . $img->url);
            
        if ($image_size > 0)
        {
            $doc->setMetaData('og:image', $uri->base() . $img->url, $property);
        }
        
        // 4. Url
        $doc->setMetaData('og:url', $uri, $property);

        // 5. Description
        $description = HTMLHelper::_('string.truncate', strip_tags($data['description']), 300);
        $doc->setMetaData('og:description', $description, $property);
        
        return true;
    }    
}