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