source: extensions/Subscribe_to_comments/main.inc.php @ 21608

Last change on this file since 21608 was 21608, checked in by mistic100, 11 years ago

code clean, add admin list of all subscribers

File size: 2.9 KB
Line 
1<?php 
2/*
3Plugin Name: Subscribe To Comments
4Version: auto
5Description: This plugin allows to subscribe to comments by email.
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=587
7Author: Mistic
8Author URI: http://www.strangeplanet.fr
9*/
10
11if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
12
13global $prefixeTable;
14
15defined('SUBSCRIBE_TO_ID') or define('SUBSCRIBE_TO_ID', basename(dirname(__FILE__)));
16define('SUBSCRIBE_TO_PATH' ,   PHPWG_PLUGINS_PATH . SUBSCRIBE_TO_ID . '/');
17define('SUBSCRIBE_TO_TABLE',   $prefixeTable . 'subscribe_to_comments');
18define('SUBSCRIBE_TO_ADMIN',   get_root_url() . 'admin.php?page=plugin-' . SUBSCRIBE_TO_ID);
19define('SUBSCRIBE_TO_VERSION', 'auto');
20
21
22add_event_handler('init', 'stc_init');
23
24
25function stc_init()
26{
27  global $conf, $user, $pwg_loaded_plugins;
28 
29  // no comments on luciano
30  if ($user['theme'] == 'luciano') return;
31 
32  // apply upgrade if needed
33  if (
34    SUBSCRIBE_TO_VERSION == 'auto' or
35    $pwg_loaded_plugins[SUBSCRIBE_TO_ID]['version'] == 'auto' or
36    version_compare($pwg_loaded_plugins[SUBSCRIBE_TO_ID]['version'], SUBSCRIBE_TO_VERSION, '<')
37  )
38  {
39    include_once(SUBSCRIBE_TO_PATH . 'include/install.inc.php');
40    stc_install();
41   
42    if ( $pwg_loaded_plugins[SUBSCRIBE_TO_ID]['version'] != 'auto' and SUBSCRIBE_TO_VERSION != 'auto' )
43    {
44      $query = '
45UPDATE '. PLUGINS_TABLE .'
46SET version = "'. SUBSCRIBE_TO_VERSION .'"
47WHERE id = "'. SUBSCRIBE_TO_ID .'"';
48      pwg_query($query);
49     
50      $pwg_loaded_plugins[SUBSCRIBE_TO_ID]['version'] = SUBSCRIBE_TO_VERSION;
51     
52      if (defined('IN_ADMIN'))
53      {
54        $_SESSION['page_infos'][] = 'Subscribe to comments updated to version '. SUBSCRIBE_TO_VERSION;
55      }
56    }
57  }
58 
59  // load language and conf
60  load_language('plugin.lang', SUBSCRIBE_TO_PATH);
61  $conf['Subscribe_to_Comments'] = unserialize($conf['Subscribe_to_Comments']);
62 
63 
64  include_once(SUBSCRIBE_TO_PATH.'include/functions.inc.php');
65  include_once(SUBSCRIBE_TO_PATH.'include/subscribe_to_comments.inc.php');
66
67 
68  // send mails
69  add_event_handler('user_comment_insertion', 'stc_comment_insertion');
70  add_event_handler('user_comment_validation', 'stc_comment_validation', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
71
72  // subscribe
73  add_event_handler('loc_end_picture', 'stc_on_picture');
74  add_event_handler('loc_begin_coa', 'stc_on_album');
75
76  // management
77  add_event_handler('loc_end_section_init', 'stc_detect_section');
78  add_event_handler('loc_begin_page_header', 'stc_load_section');
79 
80  // items deletion
81  add_event_handler('begin_delete_elements', 'stc_delete_elements');
82  add_event_handler('delete_categories', 'stc_delete_categories');
83
84  // profile link
85  add_event_handler('loc_begin_profile', 'stc_profile_link');
86 
87  // config page
88  add_event_handler('get_admin_plugin_menu_links', 'stc_admin_menu');
89}
90
91
92function stc_admin_menu($menu) 
93{
94  array_push($menu, array(
95    'NAME' => 'Subscribe to Comments',
96    'URL' => SUBSCRIBE_TO_ADMIN,
97  ));
98  return $menu;
99}
100
101?>
Note: See TracBrowser for help on using the repository browser.