source: extensions/UserCollections/main.inc.php @ 20097

Revision 20097, 3.3 KB checked in by mistic100, 7 years ago (diff)

full compatibility with Gthumb+, improve some code

Line 
1<?php 
2/*
3Plugin Name: User Collections
4Version: auto
5Description: Registered users can select pictures from the gallery and save them into collections, like advanced favorites.
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=615
7Author: Mistic
8Author URI: http://www.strangeplanet.fr
9*/
10
11defined('PHPWG_ROOT_PATH') or die('Hacking attempt!');
12
13global $conf, $prefixeTable;
14
15defined('USER_COLLEC_ID') or define('USER_COLLEC_ID', basename(dirname(__FILE__)));
16define('USER_COLLEC_PATH',       PHPWG_PLUGINS_PATH . USER_COLLEC_ID . '/');
17define('COLLECTIONS_TABLE',      $prefixeTable.'collections');
18define('COLLECTION_IMAGES_TABLE',$prefixeTable.'collection_images');
19define('USER_COLLEC_ADMIN',      get_root_url() . 'admin.php?page=plugin-' . USER_COLLEC_ID);
20define('USER_COLLEC_PUBLIC',     get_absolute_root_url() . make_index_url(array('section' => 'collections')) . '/');
21define('USER_COLLEC_VERSION',    'auto');
22
23add_event_handler('init', 'user_collections_init');
24
25add_event_handler('ws_add_methods', 'user_collections_ws_add_methods');
26
27if (defined('IN_ADMIN'))
28{
29  add_event_handler('get_admin_plugin_menu_links', 'user_collections_admin_menu');
30}
31else
32{
33  // collections page
34  add_event_handler('loc_end_section_init', 'user_collections_section_init');
35  add_event_handler('loc_end_index', 'user_collections_page', EVENT_HANDLER_PRIORITY_NEUTRAL-10);
36
37  // thumbnails actions
38  add_event_handler('loc_end_index', 'user_collections_index_actions');
39  add_event_handler('loc_end_index_thumbnails', 'user_collections_thumbnails_list', EVENT_HANDLER_PRIORITY_NEUTRAL-10, 2);
40
41  // picture action
42  add_event_handler('loc_end_picture', 'user_collections_picture_page');
43
44  // menu
45  add_event_handler('blockmanager_register_blocks', 'user_collections_add_menublock');
46  add_event_handler('blockmanager_apply', 'user_collections_applymenu');
47}
48
49require(USER_COLLEC_PATH . 'include/ws_functions.inc.php');
50require(USER_COLLEC_PATH . 'include/functions.inc.php');
51require(USER_COLLEC_PATH . 'include/UserCollection.class.php');
52require(USER_COLLEC_PATH . 'include/events.inc.php');
53
54
55/**
56 * update plugin & load language
57 */
58function user_collections_init()
59{
60  global $pwg_loaded_plugins, $conf;
61 
62  if (
63    USER_COLLEC_VERSION == 'auto' or
64    $pwg_loaded_plugins[USER_COLLEC_ID]['version'] == 'auto' or
65    version_compare($pwg_loaded_plugins[USER_COLLEC_ID]['version'], USER_COLLEC_VERSION, '<')
66  )
67  {
68    include_once(USER_COLLEC_PATH . 'include/install.inc.php');
69    user_collections_install();
70   
71    if ( $pwg_loaded_plugins[USER_COLLEC_ID]['version'] != 'auto' and USER_COLLEC_VERSION != 'auto' )
72    {
73      $query = '
74UPDATE '. PLUGINS_TABLE .'
75SET version = "'. USER_COLLEC_VERSION .'"
76WHERE id = "'. USER_COLLEC_ID .'"';
77      pwg_query($query);
78     
79      $pwg_loaded_plugins[USER_COLLEC_ID]['version'] = USER_COLLEC_VERSION;
80     
81      if (defined('IN_ADMIN'))
82      {
83        $_SESSION['page_infos'][] = 'UserCollections updated to version '. USER_COLLEC_VERSION;
84      }
85    }
86  }
87 
88  load_language('plugin.lang', USER_COLLEC_PATH);
89 
90  $conf['user_collections'] = unserialize($conf['user_collections']);
91}
92
93/**
94 * admin plugins menu
95 */
96function user_collections_admin_menu($menu) 
97{
98  array_push($menu, array(
99    'NAME' => 'User Collections',
100    'URL' => USER_COLLEC_ADMIN,
101  ));
102  return $menu;
103}
104
105?>
Note: See TracBrowser for help on using the repository browser.