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

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

Facebook_Integration plugin is inactivated when FacebookPlug is activating
Get representative image for category or random picture (and not only first picture)
Allow Facebook to access private index page

  • Property svn:eol-style set to LF
File size: 4.8 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']['url'] = duplicate_index_url(array(''), array('start', 'flat', 'chronology_date', 'chronology_field', 'chronology_style', 'chronology_view'));
66  unset_make_full_url();
67
68/*global $template;
69//$link_url = '<a name="fb_share" type="icon" share_url="{$fbp_page.url}"></a>
70$link_url = '<a name="fb_share" type="icon" share_url="'.$page['fbp']['url'].'" title="test"></a>
71<script src="http://static.ak.fbcdn.net/connect.php/js/FB.Share"
72        type="text/javascript">
73</script>
74';
75$template->concat(
76        'PLUGIN_INDEX_ACTIONS',
77        '<li>'.$link_url.'</li>');*/
78}
79
80function fbp_loc_begin_index_category_thumbnails($categories)
81{
82  global $page;
83
84  $C = count($categories);
85  if ($C > 0)
86  {
87    include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
88    //~ $category = reset($categories);
89    $category = $categories[rand(0, $C-1)];
90    if (is_numeric($category['representative_picture_id']))
91    {
92      $query = '
93SELECT id, path, tn_ext
94FROM '.IMAGES_TABLE.'
95WHERE id = '.$category['representative_picture_id'].'
96;';
97      $result = pwg_query($query);
98      if($row = pwg_db_fetch_assoc($result))
99      {
100        set_make_full_url();
101        $page['fbp']['url_image'] = get_thumbnail_url($row);
102        unset_make_full_url();
103      }
104    }
105  }
106}
107
108function fbp_loc_begin_index_thumbnails($pictures)
109{
110  global $page;
111
112  if (isset($page['category']['representative_picture_id']))
113  {
114    fbp_loc_begin_index_category_thumbnails(array($page['category']));
115  }
116  else
117  {
118    $C = count($pictures);
119    if ($C > 0)
120    {
121      include_once(PHPWG_ROOT_PATH.'include/functions_picture.inc.php');
122      $picture = reset($pictures);
123      $picture = $pictures[rand(0, $C-1)];
124      set_make_full_url();
125      $page['fbp']['url_image'] = get_thumbnail_url($picture);
126      unset_make_full_url();
127    }
128  }
129}
130
131if ($conf['fbp']['social_plugin_activity_feed']['enabled'] or $conf['fbp']['social_plugin_like_box']['enabled'])
132{
133  add_event_handler('blockmanager_register_blocks', 'fbp_blockmanager_register_blocks', EVENT_HANDLER_PRIORITY_NEUTRAL);
134  add_event_handler('blockmanager_apply', 'fbp_blockmanager_apply');
135}
136
137add_event_handler('loc_begin_index', 'fbp_loc_begin_index');
138add_event_handler('loc_begin_index_category_thumbnails', 'fbp_loc_begin_index_category_thumbnails', EVENT_HANDLER_PRIORITY_NEUTRAL, 1);
139add_event_handler('loc_begin_index_thumbnails', 'fbp_loc_begin_index_thumbnails', EVENT_HANDLER_PRIORITY_NEUTRAL, 1);
140
141?>
Note: See TracBrowser for help on using the repository browser.