function onBeforeDisplayContent( &$article, &$params, $limitstart ){ //this may fire fron a component other than com_content if(!file_exists(JPATH_SITE.DS.'plugins'.DS.'system'.DS.'myApiConnectFacebook.php') || ( !array_key_exists('category',$article) && !array_key_exists('showK2Plugins',$params) )){ return; } if((@$article->id != '') && (@$_POST['fb_sig_api_key'] == '') && class_exists('plgSystemmyApiOpenGraph')){ $row = & JTable::getInstance('content'); $row->load($article->id); $attribs = new JParameter($row->attribs); if($attribs->get('ogimage','') == ''){ $attribs->set('ogimage',plgContentmyApiOpenGraphContent::getContentImage($article->text)); $row->attribs = $attribs->toString(); $row->bind($row); $row->store(); } //Set open graph tags if(JRequest::getVar('view','','get') == 'article' || (JRequest::getVar('option','','get') == 'com_k2' && JRequest::getVar('view','','get') == 'item')){ if(isset($article->slug)){ require_once(JPATH_SITE.DS.'components'.DS.'com_content'.DS.'helpers'.DS.'route.php'); $link = ContentHelperRoute::getArticleRoute($article->slug, $article->catslug, $article->sectionid); }elseif(method_exists('K2HelperRoute','getItemRoute')){ $link = K2HelperRoute::getItemRoute($article->id.':'.urlencode($article->alias),$article->catid.':'.urlencode($article->category->alias)); }else{ error_log('myApi unable to calculate link for the article id '.$article->id); return; } $u =& JURI::getInstance( JURI::base().$link ); $port = ($u->getPort() == '') ? '' : ":".$u->getPort(); $articleURL = 'http://'.$u->getHost().$port.$u->getPath().'?'.$u->getQuery(); $rawText = strip_tags($article->introtext); $newTags = array(); $newTags['og:title'] = $article->title; $newTags['og:description'] = (strlen($rawText) > 247) ? substr($rawText,0,247).'...' : $rawText; $newTags['og:type'] = 'article'; $newTags['og:author'] = (is_object($article->author)) ? $article->author->name : $article->author; $newTags['og:url'] = $articleURL; if($attribs->get('ogimage','0') != '0') $newTags['og:image'] = $attribs->get('ogimage'); plgSystemmyApiOpenGraph::setTags($newTags); } } }
function setTags($array){ plgSystemmyApiOpenGraph::$ogptags = array_merge(plgSystemmyApiOpenGraph::$ogptags, $array); }