source: trunk/plugins/c13y_upgrade/initialize.inc.php @ 22597

Last change on this file since 22597 was 19703, checked in by plg, 12 years ago

update Piwigo headers to 2013 (the end of the world didn't occur as expected on r12922)

  • Property svn:eol-style set to LF
File size: 3.4 KB
Line 
1<?php
2// +-----------------------------------------------------------------------+
3// | Piwigo - a PHP based photo gallery                                    |
4// +-----------------------------------------------------------------------+
5// | Copyright(C) 2008-2013 Piwigo Team                  http://piwigo.org |
6// | Copyright(C) 2003-2008 PhpWebGallery Team    http://phpwebgallery.net |
7// | Copyright(C) 2002-2003 Pierrick LE GALL   http://le-gall.net/pierrick |
8// +-----------------------------------------------------------------------+
9// | This program is free software; you can redistribute it and/or modify  |
10// | it under the terms of the GNU General Public License as published by  |
11// | the Free Software Foundation                                          |
12// |                                                                       |
13// | This program is distributed in the hope that it will be useful, but   |
14// | WITHOUT ANY WARRANTY; without even the implied warranty of            |
15// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU      |
16// | General Public License for more details.                              |
17// |                                                                       |
18// | You should have received a copy of the GNU General Public License     |
19// | along with this program; if not, write to the Free Software           |
20// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
21// | USA.                                                                  |
22// +-----------------------------------------------------------------------+
23
24if (!defined('PHPWG_ROOT_PATH'))
25{
26  die('Hacking attempt!');
27}
28
29add_event_handler('list_check_integrity', 'c13y_upgrade');
30
31function c13y_upgrade($c13y)
32{
33  global $conf;
34
35  load_language('plugin.lang', dirname(__FILE__).'/');
36
37  $to_deactivate = true;
38
39  /* Check user with same e-mail */
40  $query = '
41select
42  count(*)
43from
44  '.USERS_TABLE.'
45where
46  '.$conf['user_fields']['email'].' is not null
47group by
48  upper('.$conf['user_fields']['email'].')
49having count(*) > 1
50limit 1
51;';
52
53  if (pwg_db_fetch_row(pwg_query($query)))
54  {
55    $to_deactivate = false;
56    $c13y->add_anomaly(
57      l10n('c13y_dbl_email_user'),
58      null,
59      null,
60      l10n('c13y_correction_dbl_email_user'));
61  }
62
63  /* Check plugin included in Piwigo sources */
64  $included_plugins = array('dew', 'UpToDate', 'PluginsManager', 'LinkRoot');
65  $query = '
66select
67  id
68from
69  '.PLUGINS_TABLE.'
70where
71  id in ('.
72    implode(
73      ',',
74      array_map(
75        create_function('$s', 'return "\'".$s."\'";'),
76        $included_plugins
77        )
78      )
79      .')
80;';
81
82  $result = pwg_query($query);
83  while ($row = pwg_db_fetch_assoc($result))
84  {
85    $to_deactivate = false;
86
87    $uninstall_msg_link =
88      '<a href="'.
89      PHPWG_ROOT_PATH.
90      'admin.php?page=plugins_list&amp;plugin='.$row['id'].'&amp;action=uninstall'.
91      '" onclick="window.open(this.href, \'\'); return false;">'.
92      sprintf(l10n('c13y_correction_obsolete_plugin'), $row['id']).'</a>';
93
94    $c13y->add_anomaly(
95      l10n('c13y_obsolete_plugin'),
96      null,
97      null,
98      $uninstall_msg_link);
99  }
100
101  /* Check if this plugin must be deactivate */
102  if ($to_deactivate)
103  {
104    $query = '
105REPLACE INTO '.PLUGINS_TABLE.'
106(id, state)
107VALUES (\'c13y_upgrade\', \'inactive\')
108;';
109    pwg_query($query);
110
111  global $page;
112  $page['infos'][] = l10n('c13y_upgrade_no_anomaly');
113  }
114}
115
116?>
Note: See TracBrowser for help on using the repository browser.