Changeset 31491 for extensions/meta/main.inc.php
- Timestamp:
- Mar 22, 2016, 11:25:43 AM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
extensions/meta/main.inc.php
r29429 r31491 1 1 <?php 2 3 2 /* 4 Plugin Name: meta 5 Version: auto 6 Description: Allows to add metadata 7 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=220 8 Author: ddtddt 9 Author URI: http://piwigo.org/ 10 */ 3 Plugin Name: meta 4 Version: auto 5 Description: Allows to add metadata 6 Plugin URI: http://piwigo.org/ext/extension_view.php?eid=220 7 Author: ddtddt 8 Author URI: http://temmii.com/piwigo/ 9 */ 10 11 // +-----------------------------------------------------------------------+ 12 // | meta plugin for Piwigo | 13 // +-----------------------------------------------------------------------+ 14 // | Copyright(C) 2008-2016 ddtddt http://temmii.com/piwigo/ | 15 // +-----------------------------------------------------------------------+ 16 // | This program is free software; you can redistribute it and/or modify | 17 // | it under the terms of the GNU General Public License as published by | 18 // | the Free Software Foundation | 19 // | | 20 // | This program is distributed in the hope that it will be useful, but | 21 // | WITHOUT ANY WARRANTY; without even the implied warranty of | 22 // | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | 23 // | General Public License for more details. | 24 // | | 25 // | You should have received a copy of the GNU General Public License | 26 // | along with this program; if not, write to the Free Software | 27 // | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, | 28 // | USA. | 29 // +-----------------------------------------------------------------------+ 11 30 12 31 if (!defined('PHPWG_ROOT_PATH')) … … 20 39 define('meta_img_TABLE', $prefixeTable . 'meta_img'); 21 40 define('meta_cat_TABLE', $prefixeTable . 'meta_cat'); 22 define('METAPERSO_TABLE', $prefixeTable . 'metaperso'); 23 define('META_AP_TABLE', $prefixeTable . 'meta_ap'); 41 if (!defined('METAPERSO_TABLE')) 42 define('METAPERSO_TABLE', $prefixeTable . 'metaperso'); 43 if (!defined('META_AP_TABLE')) 44 define('META_AP_TABLE', $prefixeTable . 'meta_ap'); 45 define('META_ADMIN',get_root_url().'admin.php?page=plugin-'.meta_DIR); 46 47 add_event_handler('loading_lang', 'meta_loading_lang'); 48 function meta_loading_lang(){ 49 load_language('plugin.lang', meta_PATH); 50 } 24 51 25 52 // Plugin for admin … … 35 62 add_event_handler('loc_after_page_header', 'set_meta_back'); 36 63 37 function Change_Meta() { 38 global $template; 39 $template->set_prefilter('header', 'upmata'); 40 41 $PAED = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';")); 42 if ($PAED['state'] == 'active') 43 add_event_handler('AP_render_content', 'get_user_language_desc'); 44 } 45 46 function upmata($content, &$smarty) { 47 $search = '#<meta name="description" content=".*?">#'; 48 49 $replacement = '<meta name="description" content="{$PLUG_META}">'; 50 51 return preg_replace($search, $replacement, $content); 52 } 53 54 function add_meta() { 55 global $template, $page, $meta_infos; 56 $meta_infos = array(); 57 $meta_infos['author'] = $template->get_template_vars('INFO_AUTHOR'); 58 $meta_infos['related_tags'] = $template->get_template_vars('related_tags'); 59 $meta_infos['info'] = $template->get_template_vars('INFO_FILE'); 60 $meta_infos['title'] = $template->get_template_vars('PAGE_TITLE'); 61 62 $query = ' 63 select id,metaname,metaval 64 FROM ' . meta_TABLE . ' 65 WHERE metaname IN (\'author\', \'keywords\', \'Description\', \'robots\') 66 ;'; 67 $result = pwg_query($query); 68 $meta = array(); 69 while ($row = pwg_db_fetch_assoc($result)) { 70 $meta[$row['metaname']] = $row['metaval']; 71 $metaED[$row['metaname']] = trigger_change('AP_render_content', $meta[$row['metaname']]); 64 function Change_Meta(){ 65 global $template; 66 $template->set_prefilter('header', 'upmata'); 67 $PAED = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ExtendedDescription';")); 68 if ($PAED['state'] == 'active') 69 add_event_handler('AP_render_content', 'get_user_language_desc'); 70 } 71 72 function upmata($content, &$smarty){ 73 $search = '#<meta name="description" content=".*?">#'; 74 $replacement = '<meta name="description" content="{$PLUG_META}">'; 75 return preg_replace($search, $replacement, $content); 76 } 77 78 function add_meta(){ 79 global $template, $page, $meta_infos; 80 $meta_infos = array(); 81 $meta_infos['author'] = $template->get_template_vars('INFO_AUTHOR'); 82 $meta_infos['related_tags'] = $template->get_template_vars('related_tags'); 83 $meta_infos['info'] = $template->get_template_vars('INFO_FILE'); 84 $meta_infos['title'] = $template->get_template_vars('PAGE_TITLE'); 85 86 $query = 'SELECT id,metaname,metaval FROM ' . meta_TABLE . ' WHERE metaname IN (\'author\', \'keywords\', \'Description\', \'robots\');'; 87 $result = pwg_query($query); 88 $meta = array(); 89 while ($row = pwg_db_fetch_assoc($result)){ 90 $meta[$row['metaname']] = $row['metaval']; 91 $metaED[$row['metaname']] = trigger_change('AP_render_content', $meta[$row['metaname']]); 92 } 93 94 // Authors 95 if (!empty($meta_infos['author']) and ! empty($metaED['author'])){ 96 $template->assign('INFO_AUTHOR', $meta_infos['author'] . ' - ' . $metaED['author']); 97 } elseif (!empty($metaED['author'])){ 98 $template->assign('INFO_AUTHOR', $metaED['author']); 99 } 100 101 // Keywords 102 if (!empty($metaED['keywords'])){ 103 $template->append('related_tags', array('name' => $metaED['keywords'])); 104 } 105 106 // Description 107 if (!empty($meta_infos['title']) and ! empty($meta_infos['info']) and ! empty($metaED['Description'])) { 108 $template->assign('PLUG_META', $meta_infos['title'] . ' - ' . $meta_infos['info'] . ', ' . $metaED['Description']); 109 } elseif (!empty($meta_infos['title']) and ! empty($metaED['Description'])) { 110 $template->assign('PLUG_META', $meta_infos['title'] . ' - ' . $metaED['Description']); 111 } elseif (!empty($metaED['Description'])) { 112 $template->assign('PLUG_META', $metaED['Description']); 113 } 114 115 // Robots 116 if (!empty($meta['robots'])) { 117 $template->append('head_elements', '<meta name="robots" content="' . $meta['robots'] . '">'); 118 } 119 120 //Metaperso 121 if (script_basename() !== 'admin') { 122 $metapersos = pwg_query("SELECT * FROM " . METAPERSO_TABLE . ";"); 123 124 if (pwg_db_num_rows($metapersos)) { 125 while ($metaperso = pwg_db_fetch_assoc($metapersos)) { 126 $items = array( 127 'METANAME' => $metaperso['metaname'], 128 'METAVAL' => $metaperso['metaval'], 129 'METATYPE' => $metaperso['metatype'] 130 ); 131 $template->append('metapersos', $items); 132 } 72 133 } 73 134 74 // Authors 75 if (!empty($meta_infos['author']) and ! empty($metaED['author'])) { 76 $template->assign('INFO_AUTHOR', $meta_infos['author'] . ' - ' . $metaED['author']); 77 } elseif (!empty($metaED['author'])) { 78 $template->assign('INFO_AUTHOR', $metaED['author']); 135 $template->set_filename('PERSO_META', realpath(meta_PATH . 'persometa.tpl')); 136 $template->append('head_elements', $template->parse('PERSO_META', true)); 137 } 138 139 $MPC = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ContactForm';")); 140 if ($MPC['state'] == 'active'){ 141 global $conf; 142 if (isset($page['section']) and $page['section'] == 'contact' and isset($conf['contactmeta']) and strpos($conf['contactmeta'], ',') !== false){ 143 $metacontact = explode(',', $conf['contactmeta']); 144 $metakeyED = trigger_change('AP_render_content', $metacontact[0]); 145 $metadesED = trigger_change('AP_render_content', $metacontact[1]); 146 if (!empty($metakeyED)){ 147 $template->append('related_tags', array('name' => $metakeyED)); 148 } 149 if (!empty($metadesED)){ 150 $template->assign('PLUG_META', $metadesED); 151 } 79 152 } 80 81 // Keywords 82 if (!empty($metaED['keywords'])) { 83 $template->append('related_tags', array('name' => $metaED['keywords'])); 153 } 154 155 $MAP = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'AdditionalPages';")); 156 if ($MAP['state'] == 'active') { 157 if (!empty($page['additional_page']['id'])) { 158 $lire = $page['additional_page']['id']; 159 $query = 'SELECT id, metaKeyap, metadesap FROM ' . META_AP_TABLE . ' WHERE id = \'' . $lire . '\';'; 160 $result = pwg_query($query); 161 $row = pwg_db_fetch_assoc($result); 162 $metaKeyapap = $row['metaKeyap']; 163 $metadesapap = $row['metadesap']; 164 $metaKeyapapED = trigger_change('AP_render_content', $metaKeyapap); 165 $metadesapED = trigger_change('AP_render_content', $metadesapap); 84 166 } 85 86 // Description 87 if (!empty($meta_infos['title']) and ! empty($meta_infos['info']) and ! empty($metaED['Description'])) { 88 $template->assign('PLUG_META', $meta_infos['title'] . ' - ' . $meta_infos['info'] . ', ' . $metaED['Description']); 89 } elseif (!empty($meta_infos['title']) and ! empty($metaED['Description'])) { 90 $template->assign('PLUG_META', $meta_infos['title'] . ' - ' . $metaED['Description']); 91 } elseif (!empty($metaED['Description'])) { 92 $template->assign('PLUG_META', $metaED['Description']); 93 } 94 95 // Robots 96 if (!empty($meta['robots'])) { 97 $template->append('head_elements', '<meta name="robots" content="' . $meta['robots'] . '">'); 98 } 99 100 //Metaperso 101 if (script_basename() !== 'admin') { 102 $metapersos = pwg_query("SELECT * FROM " . METAPERSO_TABLE . ";"); 103 104 if (pwg_db_num_rows($metapersos)) { 105 while ($metaperso = pwg_db_fetch_assoc($metapersos)) { 106 $items = array( 107 'METANAME' => $metaperso['metaname'], 108 'METAVAL' => $metaperso['metaval'], 109 'METATYPE' => $metaperso['metatype'] 110 ); 111 112 $template->append('metapersos', $items); 113 } 114 } 115 116 $template->set_filename('PERSO_META', realpath(meta_PATH . 'persometa.tpl')); 117 $template->append('head_elements', $template->parse('PERSO_META', true)); 118 } 119 120 $MPC = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'ContactForm';")); 121 if ($MPC['state'] == 'active') { 122 global $conf; 123 if (isset($page['section']) and $page['section'] == 'contact' and isset($conf['contactmeta']) and strpos($conf['contactmeta'], ',') !== false) { 124 $metacontact = explode(',', $conf['contactmeta']); 125 $metakeyED = trigger_change('AP_render_content', $metacontact[0]); 126 $metadesED = trigger_change('AP_render_content', $metacontact[1]); 127 if (!empty($metakeyED)) { 128 $template->append('related_tags', array('name' => $metakeyED)); 129 } 130 if (!empty($metadesED)) { 131 $template->assign('PLUG_META', $metadesED); 132 } 133 } 134 } 135 136 $MAP = pwg_db_fetch_assoc(pwg_query("SELECT state FROM " . PLUGINS_TABLE . " WHERE id = 'AdditionalPages';")); 137 if ($MAP['state'] == 'active') { 138 if (!empty($page['additional_page']['id'])) { 139 $lire = $page['additional_page']['id']; 140 $query = ' 141 select id, metaKeyap, metadesap 142 FROM ' . META_AP_TABLE . ' 143 WHERE id = \'' . $lire . '\' 144 ;'; 145 $result = pwg_query($query); 146 $row = pwg_db_fetch_assoc($result); 147 $metaKeyapap = $row['metaKeyap']; 148 $metadesapap = $row['metadesap']; 149 $metaKeyapapED = trigger_change('AP_render_content', $metaKeyapap); 150 $metadesapED = trigger_change('AP_render_content', $metadesapap); 151 } 152 if (isset($page['section']) and $page['section'] == 'additional_page') { 153 if (!empty($metaKeyapapED)) { 154 $template->append('related_tags', array('name' => $metaKeyapapED)); 155 } 156 if (!empty($metadesapED)) { 157 $template->assign('PLUG_META', $metadesapED); 158 } 159 } 160 } 167 if (isset($page['section']) and $page['section'] == 'additional_page') { 168 if (!empty($metaKeyapapED)) { 169 $template->append('related_tags', array('name' => $metaKeyapapED)); 170 } 171 if (!empty($metadesapED)) { 172 $template->assign('PLUG_META', $metadesapED); 173 } 174 } 175 } 161 176 } 162 177 163 178 function add_metacat() { 164 global $template, $page, $meta_infos; 165 //meta categories 166 if (!empty($page['category']['id'])) { 167 $query = ' 168 select id,metaKeycat 169 FROM ' . meta_cat_TABLE . ' 170 WHERE id = \'' . $page['category']['id'] . '\' 171 ;'; 172 $result = pwg_query($query); 173 $row = pwg_db_fetch_assoc($result); 174 $albumKeyED = trigger_change('AP_render_content', $row['metaKeycat']); 175 if (!empty($row['metaKeycat'])) { 176 $template->append('related_tags', array('name' => $albumKeyED)); 177 } 178 179 $query = ' 180 select id,metadescat 181 FROM ' . meta_cat_TABLE . ' 182 WHERE id = \'' . $page['category']['id'] . '\' 183 ;'; 184 $result = pwg_query($query); 185 $row = pwg_db_fetch_assoc($result); 186 $albumDesED = trigger_change('AP_render_content', $row['metadescat']); 187 if (!empty($row['metadescat'])) { 188 $template->assign('PLUG_META', $albumDesED); 189 } 190 } 191 } 192 193 function add_metaimg() { 194 global $template, $page, $meta_infos; 195 //meta images 196 if (!empty($page['image_id'])) { 197 $query = ' 198 select id,metaKeyimg 199 FROM ' . meta_img_TABLE . ' 200 WHERE id = \'' . $page['image_id'] . '\' 201 ;'; 202 $result = pwg_query($query); 203 $row = pwg_db_fetch_assoc($result); 204 $photoKeyED = trigger_change('AP_render_content', $row['metaKeyimg']); 205 if (!empty($row['metaKeyimg'])) { 206 $template->append('related_tags', array('name' => $photoKeyED)); 207 } 208 209 $query = ' 210 select id,metadesimg 211 FROM ' . meta_img_TABLE . ' 212 WHERE id = \'' . $page['image_id'] . '\' 213 ;'; 214 $result = pwg_query($query); 215 $row = pwg_db_fetch_assoc($result); 216 $photoDesED = trigger_change('AP_render_content', $row['metadesimg']); 217 if (!empty($row['metadesimg'])) { 218 $template->assign('PLUG_META', $photoDesED); 219 } else { 220 $meta_infosph = array(); 221 $meta_infosph['title'] = $template->get_template_vars('PAGE_TITLE'); 222 $meta_infosph['gt'] = $template->get_template_vars('GALLERY_TITLE'); 223 $meta_infosph['descimg'] = $template->get_template_vars('COMMENT_IMG'); 224 if (!empty($meta_infosph['descimg'])) { 225 $template->assign('PLUG_META', strip_tags($meta_infosph['descimg']) . ' - ' . $meta_infosph['title']); 226 } else { 227 $template->assign('PLUG_META', $meta_infosph['title'] . ' - ' . $meta_infosph['gt']); 228 } 229 } 230 } 231 } 232 233 function set_meta_back() { 234 global $template, $meta_infos; 235 $template->assign 236 (array 237 ( 238 'INFO_AUTHOR' => $meta_infos['author'], 239 'related_tags' => $meta_infos['related_tags'], 240 'INFO_FILE' => $meta_infos['info'], 241 ) 242 ); 179 global $template, $page, $meta_infos; 180 if (!empty($page['category']['id'])) { 181 $query = 'SELECT id,metaKeycat,metadescat FROM ' . meta_cat_TABLE . ' WHERE id = \'' . $page['category']['id'] . '\';'; 182 $result = pwg_query($query); 183 $row = pwg_db_fetch_assoc($result); 184 $albumKeyED = trigger_change('AP_render_content', $row['metaKeycat']); 185 if (!empty($row['metaKeycat'])) { 186 $template->append('related_tags', array('name' => $albumKeyED)); 187 } 188 $albumDesED = trigger_change('AP_render_content', $row['metadescat']); 189 if (!empty($row['metadescat'])) { 190 $template->assign('PLUG_META', $albumDesED); 191 } 192 } 193 } 194 195 function add_metaimg(){ 196 global $template, $page, $meta_infos; 197 if (!empty($page['image_id'])) { 198 $query = 'SELECT id,metaKeyimg,metadesimg FROM ' . meta_img_TABLE . ' WHERE id = \'' . $page['image_id'] . '\';'; 199 $result = pwg_query($query); 200 $row = pwg_db_fetch_assoc($result); 201 $photoKeyED = trigger_change('AP_render_content', $row['metaKeyimg']); 202 if (!empty($row['metaKeyimg'])) { 203 $template->append('related_tags', array('name' => $photoKeyED)); 204 } 205 $photoDesED = trigger_change('AP_render_content', $row['metadesimg']); 206 if (!empty($row['metadesimg'])) { 207 $template->assign('PLUG_META', $photoDesED); 208 }else{ 209 $meta_infosph = array(); 210 $meta_infosph['title'] = $template->get_template_vars('PAGE_TITLE'); 211 $meta_infosph['gt'] = $template->get_template_vars('GALLERY_TITLE'); 212 $meta_infosph['descimg'] = $template->get_template_vars('COMMENT_IMG'); 213 if (!empty($meta_infosph['descimg'])) { 214 $template->assign('PLUG_META', strip_tags($meta_infosph['descimg']) . ' - ' . $meta_infosph['title']); 215 }else{ 216 $template->assign('PLUG_META', $meta_infosph['title'] . ' - ' . $meta_infosph['gt']); 217 } 218 } 219 } 220 } 221 222 function set_meta_back(){ 223 global $template, $meta_infos; 224 $template->assign( 225 array( 226 'INFO_AUTHOR' => $meta_infos['author'], 227 'related_tags' => $meta_infos['related_tags'], 228 'INFO_FILE' => $meta_infos['info'], 229 ) 230 ); 243 231 } 244 232
Note: See TracChangeset
for help on using the changeset viewer.