source: extensions/FacebookPlug/Plugin/include/index.inc.php @ 8400

Last change on this file since 8400 was 8395, checked in by rub, 14 years ago

Add Open Graph Meta (Like Plugin Facebook Integration)

  • Property svn:eol-style set to LF
File size: 4.0 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | FacebookPlug - a Piwigo Plugin                                        |
4// | Copyright (C) 2010 Ruben ARNAUD - rub@piwigo.org                      |
5// +-----------------------------------------------------------------------+
6// | This program is free software; you can redistribute it and/or modify  |
7// | it under the terms of the GNU General Public License as published by  |
8// | the Free Software Foundation                                          |
9// |                                                                       |
10// | This program is distributed in the hope that it will be useful, but   |
11// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
12// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
13// | General Public License for more details.                              |
14// |                                                                       |
15// | You should have received a copy of the GNU General Public License     |
16// | along with this program; if not, write to the Free Software           |
17// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
18// | USA.                                                                  |
19// +-----------------------------------------------------------------------+
20
21if (!defined('PHPWG_ROOT_PATH'))
22{
23  die('Hacking attempt!');
24}
25
26function fbp_blockmanager_register_blocks( $menu_ref_arr )
27{
28  global $conf;
29 
30  $menu = & $menu_ref_arr[0];
31  if ($menu->get_id() != 'menubar')
32    return;
33
34  if ($conf['fbp']['social_plugin_activity_feed']['enabled'])
35  {
36    $menu->register_block(new RegisteredBlock('mbFBP_activity_feed', 'social.plugin.activity.feed', 'FacebookPlug'));
37  }
38  if ($conf['fbp']['social_plugin_like_box']['enabled'])
39  {
40    $menu->register_block(new RegisteredBlock('mbFBP_like_box', 'social.plugin.like.box', 'FacebookPlug'));
41  }
42}
43
44function fbp_blockmanager_apply($menu_ref_arr)
45{
46  global $template;
47
48  $menu = & $menu_ref_arr[0];
49
50  foreach (array('mbFBP_activity_feed', 'mbFBP_like_box') as $mbFBPId)
51  {
52    if ($block = $menu->get_block($mbFBPId))
53    {
54      $template->set_template_dir(FBP_DIR.'/tpl/');
55      $block->template = $block->get_block()->get_name().'.tpl';
56    }
57  }
58}
59
60function fbp_loc_begin_index()
61{
62  global $page;
63
64  set_make_full_url();
65  $page['fbp']['og']['url'] = duplicate_index_url(array(''), array('start', 'flat', 'chronology_date', 'chronology_field', 'chronology_style', 'chronology_view'));
66  unset_make_full_url();
67}
68
69function fbp_loc_begin_index_category_thumbnails($categories)
70{
71  global $page;
72
73  if (count($categories) > 0)
74  {
75    include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
76    $category = reset($categories);
77    $query = '
78SELECT id, path, tn_ext
79FROM '.IMAGES_TABLE.'
80WHERE id = '.$category['representative_picture_id'].'
81;';
82    $result = pwg_query($query);
83    if($row = pwg_db_fetch_assoc($result))
84    {
85      set_make_full_url();
86      $page['fbp']['og']['url_image'] = get_element_url($row);
87      unset_make_full_url();
88    }
89  }
90}
91
92function fbp_loc_begin_index_thumbnails($pictures)
93{
94  global $page;
95
96  if (count($pictures) > 0)
97  {
98    include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
99    $picture = reset($pictures);
100    set_make_full_url();
101    $page['fbp']['og']['url_image'] = get_element_url($picture);
102    unset_make_full_url();
103  }
104}
105
106if ($conf['fbp']['social_plugin_activity_feed']['enabled'] or $conf['fbp']['social_plugin_like_box']['enabled'])
107{
108  add_event_handler('blockmanager_register_blocks', 'fbp_blockmanager_register_blocks', EVENT_HANDLER_PRIORITY_NEUTRAL);
109  add_event_handler('blockmanager_apply', 'fbp_blockmanager_apply');
110}
111
112add_event_handler('loc_begin_index', 'fbp_loc_begin_index');
113add_event_handler('loc_begin_index_category_thumbnails', 'fbp_loc_begin_index_category_thumbnails', EVENT_HANDLER_PRIORITY_NEUTRAL, 1);
114add_event_handler('loc_begin_index_thumbnails', 'fbp_loc_begin_index_thumbnails', EVENT_HANDLER_PRIORITY_NEUTRAL, 1);
115
116?>
Note: See TracBrowser for help on using the repository browser.