Ejemplo n.º 1
0
function setTitle()
{
    $easyset = AKEasyset::getInstance();
    $doc = JFactory::getDocument();
    $config = JFactory::getConfig();
    $siteName = $config->get('sitename');
    $view = JRequest::getVar('view');
    $title = $doc->getTitle();
    // fix for YOOTheme
    $title = explode('|', $title);
    $title = $title[0];
    if (AKHelper::isHome()) {
        $easyset->_siteTitle = $config->get('sitename');
    } else {
        $separator = trim($easyset->params->get('titleSeparator'));
        $replace['{%SITE%}'] = $siteName;
        $replace['{%TITLE%}'] = $title;
        if ('category' == $view || 'categories' == $view) {
            $replace['{%CATEGORY%}'] = '';
        } else {
            $replace['{%CATEGORY%}'] = $easyset->_catName;
        }
        $siteTitle = strtr($easyset->params->get('titleFix'), $replace);
        $siteTitle = explode('|', $siteTitle);
        foreach ($siteTitle as $k => $v) {
            if (!trim($v)) {
                unset($siteTitle[$k]);
                continue;
            }
            $siteTitle[$k] = trim($siteTitle[$k]);
        }
        $siteTitle = implode(" {$separator} ", $siteTitle);
        $easyset->_siteTitle = $siteTitle;
    }
}
Ejemplo n.º 2
0
function setMeta($article, $easyset)
{
    if ($easyset->app->isAdmin()) {
        return;
    }
    static $first_article = true;
    if (!$first_article) {
        return;
    }
    $doc = JFactory::getDocument();
    $config = JFactory::getConfig();
    if (AKHelper::isHome()) {
        $easyset->_metaDesc = $config->get('MetaDesc');
    } else {
        $metaDesc = $article->text;
        $metaDesc = strip_tags($metaDesc);
        $metaDesc = trim($metaDesc);
        $metaDesc = JString::substr($metaDesc, 0, $easyset->params->get('maxMetaChar', 250));
        $easyset->_metaDesc = $metaDesc;
    }
    //if($easyset->params->get('getMeta')) $doc->setDescription('123123123');
    $first_article = false;
}
Ejemplo n.º 3
0
function setContentMeta($article, $easyset)
{
    $metaDesc = null;
    // This function just need execute one time.
    static $first_article = true;
    if (!$first_article) {
        return;
    }
    $doc = JFactory::getDocument();
    $config = JFactory::getConfig();
    // get menu meta, if nonexists, use article meta
    if (isset($article->params) && $article->params instanceof JRegistry && isset($article->metadesc)) {
        $metaDesc = $article->params->get('menu-meta_description', $article->metadesc);
    }
    // get meta
    if (AKHelper::isHome()) {
        $easyset->_metaDesc = $config->get('MetaDesc');
    } elseif ($metaDesc) {
        $easyset->_metaDesc = $metaDesc;
        $article->metadesc = '';
    } else {
        // get meta from article content
        $metaDesc = $article->text;
        $metaDesc = strip_tags($metaDesc);
        $metaDesc = preg_replace('/\\{.*\\}/', '', $metaDesc);
        // filter plgin like:{rsform 1}
        // remove line
        $metaDesc = str_replace("\r\n", '', $metaDesc);
        $metaDesc = str_replace(" ", '', $metaDesc);
        $metaDesc = trim($metaDesc);
        $metaDesc = JString::substr($metaDesc, 0, $easyset->params->get('maxMetaChar', 250));
        // remove latest word
        $metaDesc = trim($metaDesc);
        $metaDesc = explode(' ', $metaDesc);
        $latestWord = array_pop($metaDesc);
        if (strlen($latestWord) > 10) {
            $metaDesc[] = $latestWord;
        }
        $metaDesc = implode(' ', $metaDesc);
        // rebuild paragraph
        $easyset->_metaDesc = $metaDesc;
    }
    // save article and category data to easyset
    $view = JRequest::getVar('view');
    $cat_table = JPath::clean(JPATH_ROOT . '/libraries/joomla/database/table/category.php');
    if (JFile::exists($cat_table)) {
        include_once $cat_table;
    }
    $cat = JTable::getInstance('Category');
    if ('category' == $view || 'categories' == $view) {
        $cat->load(JRequest::getVar('id'));
        $easyset->_catName = $cat->title;
        // Set default metadesc if exists.
        if ($cat->metadesc) {
            $easyset->_metaDesc = $cat->metadesc;
        }
    } elseif ('article' == $view) {
        $cat->load($article->catid);
        $easyset->_catName = $cat->title;
    }
    $easyset->category = $cat;
    $easyset->article = $article;
    $first_article = false;
}
Ejemplo n.º 4
0
function setDocument($easyset)
{
    if ($easyset->app->isAdmin()) {
        return;
    }
    $doc = JFactory::getDocument();
    if ($doc->getType() != 'html') {
        return;
    }
    $config = JFactory::getConfig();
    $siteName = $config->get('sitename');
    if ($easyset->params->get('getMeta')) {
        if (AKHelper::isHome()) {
            $doc->setDescription($config->get('MetaDesc'));
        } else {
            $doc->setDescription($easyset->_metaDesc);
        }
    }
    // SEO Title
    $easyset->getFunction('seo.setTitle');
    if ($easyset->params->get('titleFix') && $easyset->_siteTitle) {
        $doc->setTitle($easyset->_siteTitle);
    }
    //set Generator
    if ($easyset->params->get('generator')) {
        $doc->setGenerator($easyset->params->get('generator'));
    }
    // set Open Graph
    if ($easyset->params->get('openGraph', 1)) {
        $meta = array();
        // og:image
        if (AK::isHome()) {
            if ($easyset->params->get('ogDefaultImage')) {
                $meta[] = '<meta property="og:image" content="' . AK::_('uri.pathAddHost', $easyset->params->get('ogDefaultImage')) . '"/>';
            }
        } elseif ($easyset->ogImage) {
            $meta[] = '<meta property="og:image" content="' . $easyset->ogImage . '"/>';
        }
        // others
        $url = $doc->getBase() ? $doc->getBase() : AK::_('uri.current', true);
        $admin_id = $easyset->params->get('ogAdminId');
        $page_id = $easyset->params->get('ogPageId');
        $app_id = $easyset->params->get('ogAppId');
        $meta[] = '<meta property="og:title" content="' . $doc->getTitle() . '"/>';
        $meta[] = '<meta property="og:site_name" content="' . $siteName . '"/>';
        $meta[] = '<meta property="og:description" content="' . $easyset->_metaDesc . '"/>';
        $meta[] = '<meta property="og:url" content="' . $url . '"/>';
        // admin, page, user ids
        if ($admin_id) {
            $meta[] = '<meta property="fb:admins" content="' . $admin_id . '"/>';
        }
        if ($page_id) {
            $meta[] = '<meta property="fb:page_id" content="' . $page_id . '"/>';
        }
        if ($app_id) {
            $meta[] = '<meta property="fb:app_id" content="' . $app_id . '"/>';
        }
        foreach ($meta as $v) {
            $doc->addCustomTag($v);
        }
    }
}