for use Insights Facebook
$conf['mogsize'] > for size image
$conf['moglocal'] > for local:og
$conf['mogsitename'] > for og:site_name
$conf['mogtwcard'] > for twitter:card
$conf['mogtwsite'] > for twitter:site
$conf['mogtwcreator'] > for twitter:creator
$conf['mogshowpa'] > for change meta og photo on photo or album page (obsolete)
$conf['mogshowpai'] > for change meta og photo on photo or album page
$conf['mogshowpaa'] > for change meta og photo on photo or album page
$conf['moglista'] > list album for meta og photo
type
1 : standart page
2 : photo
3 : Album
4 : AP
*/
if (!defined('PHPWG_ROOT_PATH'))
die('Hacking attempt!');
global $prefixeTable, $page, $conf;
define('metaog_DIR', basename(dirname(__FILE__)));
define('metaog_PATH', PHPWG_PLUGINS_PATH . metaog_DIR . '/');
define('METAOG_ADMIN',get_root_url().'admin.php?page=plugin-'.metaog_DIR);
if (!defined('METAOG_TABLE'))
define('METAOG_TABLE', $prefixeTable . 'metaog');
add_event_handler('loading_lang', 'metaog_loading_lang');
function metaog_loading_lang(){
load_language('plugin.lang', metaog_PATH);
}
// Plugin for admin
if (script_basename() == 'admin') {
include_once(dirname(__FILE__) . '/initadmin.php');
}
//Gestion des meta dans le header
add_event_handler('loc_end_page_header', 'add_metaog', 66);
function add_metaog(){
global $template, $page, $metaog, $conf, $protocol, $pwg_loaded_plugins;
if(isset($_SERVER['HTTPS'])){if($_SERVER['HTTPS'] == 'on'){$protocol="https://";}}
else{$protocol="http://";}
if (isset($pwg_loaded_plugins['ExtendedDescription'])){
add_event_handler('AP_render_content', 'get_user_language_desc');
}
$metaogurl=$protocol.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];
if (!empty($page['category']['id']) and empty($page['image_id'])){
$metaog = pwg_db_fetch_assoc(pwg_query("SELECT * FROM " . METAOG_TABLE . " WHERE type = 3 AND idobj = '".$page['category']['id']."';"));
if(empty($metaog)){
$metaog['metaogtitle']='';
$metaog['metaogdescription']='';
$metaog['metaogimage']='';
}
$albums = pwg_db_fetch_assoc(pwg_query("SELECT * FROM " . CATEGORIES_TABLE . " WHERE id = '".$page['category']['id']."';"));
$metaog['type']="website";
if(empty($metaog['metaogtitle'])){$metaog['metaogtitle']=$albums['name'];}
if(empty($metaog['metaogdescription'])){
$metaog['metaogdescription']=$albums['comment'];}
if (isset($pwg_loaded_plugins['ExtendedDescription'])){
$metaog['metaogdescription']=trigger_change('AP_render_content', $metaog['metaogdescription']);
if( strstr($metaog['metaogdescription'],'')) {
$desc=explode('', $metaog['metaogdescription']);
$metaog['metaogdescription']=$desc[0];
}
if( strstr($metaog['metaogdescription'],'')) {
$desc=explode('', $metaog['metaogdescription']);
$metaog['metaogdescription']=$desc[0];
}
if( strstr($metaog['metaogdescription'],'')) {
$desc=explode('', $metaog['metaogdescription']);
$metaog['metaogdescription']=$desc[0];
}
}
if(empty($metaog['metaogimage'])){
if(isset($albums['representative_picture_id'])){
$images = pwg_db_fetch_assoc(pwg_query("SELECT id,path FROM " . IMAGES_TABLE . " WHERE id = '".$albums['representative_picture_id']."';"));
}
}else{
$images = pwg_db_fetch_assoc(pwg_query("SELECT id,path FROM " . IMAGES_TABLE . " WHERE id = '".$metaog['metaogimage']."';"));
}
if(isset($images)){
$metaog['metaogimage']=PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
if (file_exists($metaog['metaogimage']) AND $conf['mogsize']!='original'){
$metaog['metaogimage']=get_absolute_root_url().PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
}else{
$metaog['metaogimage']=get_absolute_root_url().substr($images['path'],2);
}
}
}else if (!empty($page['image_id'])) {
$metaog = pwg_db_fetch_assoc(pwg_query("SELECT * FROM " . METAOG_TABLE . " WHERE type = 2 AND idobj = '".$page['image_id']."';"));
if(empty($metaog)){
$metaog['metaogtitle']='';
$metaog['metaogdescription']='';
$metaog['metaogimage']='';
}
$images = pwg_db_fetch_assoc(pwg_query("SELECT * FROM " . IMAGES_TABLE . " WHERE id = '".$page['image_id']."';"));
$metaog['type']="website";
if(empty($metaog['metaogtitle'])){$metaog['metaogtitle']=$images['name'];}
if(empty($metaog['metaogdescription'])){$metaog['metaogdescription']=$images['comment'];}
if(!empty($metaog['metaogimage'])){
$images2 = pwg_db_fetch_assoc(pwg_query("SELECT id,path FROM " . IMAGES_TABLE . " WHERE id = '".$metaog['metaogimage']."';"));
$images['path']=$images2['path'];
}
$metaog['metaogimage']=PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
if (file_exists($metaog['metaogimage']) AND $conf['mogsize']!='original'){
$metaog['metaogimage']=get_absolute_root_url().PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
}else{
$metaog['metaogimage']=get_absolute_root_url().substr($images['path'],2);
}
}else if(isset($page['section']) and empty($page['category']['id'])) {
if($page['section'] == 'additional_page'){
$metaog = pwg_db_fetch_assoc(pwg_query("SELECT * FROM " . METAOG_TABLE . " WHERE type =4 AND page = '".$page['additional_page']['id']."';"));
}else{
$metaog = pwg_db_fetch_assoc(pwg_query("SELECT * FROM " . METAOG_TABLE . " WHERE type =1 AND page = '".$page['section']."';"));
}
if(empty($metaog)){
$metaog['metaogtitle']='';
$metaog['metaogdescription']='';
$metaog['metaogimage']='';
}
if(!empty($metaog['metaogimage'])){
$images = pwg_db_fetch_assoc(pwg_query("SELECT id,path FROM " . IMAGES_TABLE . " WHERE id = '".$metaog['metaogimage']."';"));
$metaog['metaogimage']=PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
if (file_exists($metaog['metaogimage']) AND $conf['mogsize']!='original'){
$metaog['metaogimage']=get_absolute_root_url().PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
}else{
$metaog['metaogimage']=get_absolute_root_url().substr($images['path'],2);
}
}
$metaog['type']="website";
}else if(script_basename() == 'tags' ||script_basename() == 'comments'||script_basename() == 'about'||script_basename() == 'search'||script_basename() == 'notification'){
$metaog = pwg_db_fetch_assoc(pwg_query("SELECT * FROM " . METAOG_TABLE . " WHERE type = 1 AND page = '".script_basename()."';"));
if(empty($metaog)){
$metaog['metaogtitle']='';
$metaog['metaogdescription']='';
$metaog['metaogimage']='';
}
if(!empty($metaog['metaogimage']) AND $conf['mogsize']!='original'){
$images = pwg_db_fetch_assoc(pwg_query("SELECT id,path FROM " . IMAGES_TABLE . " WHERE id = '".$metaog['metaogimage']."';"));
$metaog['metaogimage']=PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
if (file_exists($metaog['metaogimage'])){
$metaog['metaogimage']=get_absolute_root_url().PWG_DERIVATIVE_DIR.substr($images['path'], 2, -4)."-".$conf['mogsize'].substr($images['path'],-4);
}else{
$metaog['metaogimage']=get_absolute_root_url().substr($images['path'],2);
}
}
$metaog['type']="website";
}else{
$metaog['type']="website";
$metaog['metaogtitle']=$template->get_template_vars('PAGE_TITLE');
$metaog['metaogdescription']=$template->get_template_vars('INFO_FILE');
}
// og:url
if (!empty($metaogurl)) {
$template->append('head_elements', '');
}
// og:type
if (!empty($metaog['type'])) {
$template->append('head_elements', '');
}
// og:title
if (!empty($metaog['metaogtitle'])) {
$template->append('head_elements', '');
}
// og:description
if (!empty($metaog['metaogdescription'])) {
$template->append('head_elements', '');
}
// og:image
if (!empty($metaog['metaogimage'])) {
$metaog['metaogimagetype']=substr($metaog['metaogimage'],-3);
if($metaog['metaogimagetype']=='jpg'){$metaog['metaogimagetype']='jpeg';}
$template->append('head_elements', '');
$template->append('head_elements', '');
}
// og:app_id
if (!empty($conf['fb:app_id'])) {
$template->append('head_elements', '');
}
// og:local
if (!empty($conf['moglocal'])) {
$template->append('head_elements', '');
}
// og:site_name
if (!empty($conf['mogsitename'])) {
$template->append('head_elements', '');
}
// twitter:card
if (!empty($conf['mogtwcard'])) {
$template->append('head_elements', '');
}
// twitter:site
if (!empty($conf['mogtwsite'])) {
$template->append('head_elements', '');
}
// twitter:creator
if (!empty($conf['mogtwcreator'])) {
$template->append('head_elements', '');
}
}
//adminmenu
add_event_handler('tabsheet_before_select', 'metaogalbum_tabsheet_before_select', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
function metaogalbum_tabsheet_before_select($sheets, $id){
if ($id == 'album'){
$sheets['metaogalbum'] = array(
'caption' => ''.l10n('Open Graph'),
'url' => get_root_url().'admin.php?page=plugin-meta_og-album&cat_id='.$_GET['cat_id'],
);
}
return $sheets;
}
?>