source: extensions/comments_blacklist/main.inc.php @ 18651

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

handle empty file case, check COA and GuestBook

File size: 2.6 KB
Line 
1<?php 
2/*
3Plugin Name: Comments Blacklist
4Version: auto
5Description: Define a list of words which are not authorized in a comment.
6Plugin URI: http://piwigo.org/ext/extension_view.php?eid=637
7Author: Mistic
8Author URI: http://www.strangeplanet.fr
9*/
10
11defined('PHPWG_ROOT_PATH') or die('Hacking attempt!');
12
13defined('COMM_BLACKLIST_ID') or define('COMM_BLACKLIST_ID', basename(dirname(__FILE__)));
14define('COMM_BLACKLIST_PATH' ,   PHPWG_PLUGINS_PATH . COMM_BLACKLIST_ID . '/');
15define('COMM_BLACKLIST_ADMIN',   get_root_url() . 'admin.php?page=plugin-' . COMM_BLACKLIST_ID);
16define('COMM_BLACKLIST_FILE',    PWG_LOCAL_DIR . 'comments_blacklist.txt');
17define('COMM_BLACKLIST_VERSION', 'auto');
18
19
20add_event_handler('init', 'comm_blacklist_init');
21
22if (defined('IN_ADMIN'))
23{
24  add_event_handler('get_admin_plugin_menu_links', 'comm_blacklist_admin_plugin_menu_links');
25 
26  function comm_blacklist_admin_plugin_menu_links($menu) 
27  {
28    array_push($menu, array(
29      'NAME' => 'Comments Blacklist',
30      'URL' => COMM_BLACKLIST_ADMIN,
31    ));
32    return $menu;
33  }
34}
35else
36{
37  add_event_handler('user_comment_check', 'comm_blacklist_user_comment_check', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
38  add_event_handler('user_comment_check_albums', 'comm_blacklist_user_comment_check', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
39  add_event_handler('user_comment_check_guestbook', 'comm_blacklist_user_comment_check', EVENT_HANDLER_PRIORITY_NEUTRAL, 2);
40  include_once(COMM_BLACKLIST_PATH . 'include/functions.inc.php');
41}
42
43
44/**
45 * plugin initialization
46 */
47function comm_blacklist_init()
48{
49  global $conf, $pwg_loaded_plugins;
50 
51  // apply upgrade if needed
52  if (
53    COMM_BLACKLIST_VERSION == 'auto' or 
54    $pwg_loaded_plugins[COMM_BLACKLIST_ID]['version'] == 'auto' or
55    version_compare($pwg_loaded_plugins[COMM_BLACKLIST_ID]['version'], COMM_BLACKLIST_VERSION, '<')
56  )
57  {
58    include_once(COMM_BLACKLIST_PATH . 'include/install.inc.php');
59    comm_blacklist_install();
60   
61    if ( $pwg_loaded_plugins[COMM_BLACKLIST_ID]['version'] != 'auto' and COMM_BLACKLIST_VERSION != 'auto' )
62    {
63      $query = '
64UPDATE '. PLUGINS_TABLE .'
65SET version = "'. COMM_BLACKLIST_VERSION .'"
66WHERE id = "'. COMM_BLACKLIST_ID .'"';
67      pwg_query($query);
68     
69      $pwg_loaded_plugins[COMM_BLACKLIST_ID]['version'] = COMM_BLACKLIST_VERSION;
70     
71      if (defined('IN_ADMIN'))
72      {
73        $_SESSION['page_infos'][] = 'Comments Blacklist updated to version '. COMM_BLACKLIST_VERSION;
74      }
75    }
76  }
77 
78  // load plugin language file
79  load_language('plugin.lang', COMM_BLACKLIST_PATH);
80 
81  // prepare plugin configuration
82  $conf['comments_blacklist'] = unserialize($conf['comments_blacklist']);
83}
84
85
86?>
Note: See TracBrowser for help on using the repository browser.