source: extensions/FacebookPlug/Plugin/include/picture.inc.php @ 8366

Last change on this file since 8366 was 8366, checked in by rub, 13 years ago

Add an option to force Facebook initialization (new way to load include file)
Add help tips on config admin page

  • Property svn:eol-style set to LF
File size: 3.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_render_element_content($content, $current_picture)
27{
28  global $template, $user, $page, $conf, $picture;
29
30  if ($page['slideshow'] and $conf['fbp']['social_plugin_facepile']['enabled'])
31  {
32    $tpl = 'social.plugin.facepile';
33  }
34  else if (! $page['slideshow'])
35  {
36    if ($conf['fbp']['social_plugin_like_button']['enabled'])
37    {
38      $tpl = 'social.plugin.like.button';
39    }
40    else if ($conf['fbp']['social_plugin_comments']['enabled'])
41    {
42      $tpl = 'social.plugin.comments';
43    }
44  }
45
46  if (empty($tpl))
47  {
48    // nothing to do
49    return $content;
50  }
51
52  // define picture FB link
53  // Always use full url for FB social plugin
54  set_make_full_url();
55  if ($conf['fbp']['picture_url_type'] == 'image')
56  {
57    $fbp_url_picture = get_element_url($current_picture);
58  }
59  else
60  {
61    $fbp_url_picture = make_picture_url(array('image_id' => $page['image_id']));
62  }
63  unset_make_full_url();
64  $template->assign('fbp_url_picture', $fbp_url_picture);
65  $template->assign('fbp_urlencode_picture', urlencode($fbp_url_picture));
66
67  // XFBML implementation
68  $template->set_filename($tpl, FBP_DIR.'/tpl/'.$tpl.'.tpl');
69  $content .= $template->parse($tpl, true);
70
71  return $content;
72}
73
74function ftp_loc_end_section_init()
75{
76  global $conf;
77
78  if ($conf['fbp']['social_plugin_like_button']['enabled'] or $conf['fbp']['social_plugin_comments']['enabled'])
79  {
80    if ($conf['fbp']['allow_fb_access_private_page'])
81    {
82      global $user, $page;
83
84      // No restristion for facebook user
85      if (preg_match('/'.FBP_IP_FB. '/', $_SERVER["REMOTE_ADDR"]))
86      {
87        //Allow guest access
88        $conf['guest_access'] = true;
89        // No forbidden categorie
90        $user['forbidden_categories'] = '';
91        $user['level'] = max($conf['available_permission_levels']);
92        $page['rank_of'][$page['image_id']] = 0;
93        $page['items'] = array_flip($page['rank_of']);
94      }
95    }
96  }
97}
98
99if ($conf['fbp']['social_plugin_like_button']['enabled'] or $conf['fbp']['social_plugin_facepile']['enabled'] or $conf['fbp']['social_plugin_comments']['enabled'])
100{
101  //~ add_event_handler('loc_begin_picture', 'fbp_loc_begin_picture');
102  add_event_handler('render_element_content', 'fbp_render_element_content', EVENT_HANDLER_PRIORITY_NEUTRAL+1 /*in order to have picture content*/, 2);
103  //~ add_event_handler('loc_end_picture', 'fbp_loc_end_picture');
104  add_event_handler('loc_end_section_init', 'ftp_loc_end_section_init');
105}
106
107?>
Note: See TracBrowser for help on using the repository browser.