Skip to content

Commit

Permalink
Resolved 0000748: Name configuration of all the tables
Browse files Browse the repository at this point in the history
Resolved 0000750: Check anomalies after upgrade (Feature proposition)


git-svn-id: http://piwigo.org/svn/trunk@2096 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
rub committed Sep 19, 2007
1 parent 131cf74 commit e74e456
Show file tree
Hide file tree
Showing 14 changed files with 509 additions and 36 deletions.
37 changes: 37 additions & 0 deletions admin/include/functions_upgrade.php
Expand Up @@ -40,5 +40,42 @@ function check_upgrade()
}
}

// concerning upgrade, we use the default tables
function prepare_conf_upgrade()
{
global $conf, $prefixeTable;

$conf['tables']['categories_table'] = $prefixeTable.'categories';
$conf['tables']['comments_table'] = $prefixeTable.'comments';
$conf['tables']['config_table'] = $prefixeTable.'config';
$conf['tables']['favorites_table'] = $prefixeTable.'favorites';
$conf['tables']['group_access_table'] = $prefixeTable.'group_access';
$conf['tables']['groups_table'] = $prefixeTable.'groups';
$conf['tables']['history_table'] = $prefixeTable.'history';
$conf['tables']['history_summary_table'] = $prefixeTable.'history_summary';
$conf['tables']['image_category_table'] = $prefixeTable.'image_category';
$conf['tables']['images_table'] = $prefixeTable.'images';
$conf['tables']['sessions_table'] = $prefixeTable.'sessions';
$conf['tables']['sites_table'] = $prefixeTable.'sites';
$conf['tables']['user_access_table'] = $prefixeTable.'user_access';
$conf['tables']['user_group_table'] = $prefixeTable.'user_group';
$conf['tables']['users_table'] = $prefixeTable.'users';
$conf['tables']['user_infos_table'] = $prefixeTable.'user_infos';
$conf['tables']['user_feed_table'] = $prefixeTable.'user_feed';
$conf['tables']['waiting_table'] = $prefixeTable.'waiting';
$conf['tables']['image_metadata_table'] = $prefixeTable.'image_metadata';
$conf['tables']['rate_table'] = $prefixeTable.'rate';
$conf['tables']['user_cache_table'] = $prefixeTable.'user_cache';
$conf['tables']['user_cache_categories_table'] = $prefixeTable.'user_cache_categories';
$conf['tables']['caddie_table'] = $prefixeTable.'caddie';
$conf['tables']['upgrade_table'] = $prefixeTable.'upgrade';
$conf['tables']['search_table'] = $prefixeTable.'search';
$conf['tables']['user_mail_notification_table'] = $prefixeTable.'user_mail_notification';
$conf['tables']['tags_table'] = $prefixeTable.'tags';
$conf['tables']['image_tag_table'] = $prefixeTable.'image_tag';
$conf['tables']['plugins_table'] = $prefixeTable.'plugins';
$conf['tables']['web_services_access_table'] = $prefixeTable.'ws_access';
$conf['tables']['old_permalinks_table'] = $prefixeTable.'old_permalinks';
}

?>
39 changes: 36 additions & 3 deletions include/config_default.inc.php
Expand Up @@ -430,8 +430,10 @@
// users table ?
$conf['apache_authentication'] = false;

// users_table: which table is the reference for users? Can be a different
// table than PhpWebGallery table
// With $conf['tables'] you can use external tables
// For example with $conf['tables']['users_table']:
// which table is the reference for users? Can be a different
// table than PhpWebGallery table
//
// If you decide to use another table than the default one, you need to
// prepare your database by deleting some datas :
Expand All @@ -449,7 +451,38 @@
//
// All informations contained in these tables and column are related to
// phpwebgallery_users table.
$conf['users_table'] = $prefixeTable.'users';

$conf['tables']['categories_table'] = $prefixeTable.'categories';
$conf['tables']['comments_table'] = $prefixeTable.'comments';
$conf['tables']['config_table'] = $prefixeTable.'config';
$conf['tables']['favorites_table'] = $prefixeTable.'favorites';
$conf['tables']['group_access_table'] = $prefixeTable.'group_access';
$conf['tables']['groups_table'] = $prefixeTable.'groups';
$conf['tables']['history_table'] = $prefixeTable.'history';
$conf['tables']['history_summary_table'] = $prefixeTable.'history_summary';
$conf['tables']['image_category_table'] = $prefixeTable.'image_category';
$conf['tables']['images_table'] = $prefixeTable.'images';
$conf['tables']['sessions_table'] = $prefixeTable.'sessions';
$conf['tables']['sites_table'] = $prefixeTable.'sites';
$conf['tables']['user_access_table'] = $prefixeTable.'user_access';
$conf['tables']['user_group_table'] = $prefixeTable.'user_group';
$conf['tables']['users_table'] = $prefixeTable.'users';
$conf['tables']['user_infos_table'] = $prefixeTable.'user_infos';
$conf['tables']['user_feed_table'] = $prefixeTable.'user_feed';
$conf['tables']['waiting_table'] = $prefixeTable.'waiting';
$conf['tables']['image_metadata_table'] = $prefixeTable.'image_metadata';
$conf['tables']['rate_table'] = $prefixeTable.'rate';
$conf['tables']['user_cache_table'] = $prefixeTable.'user_cache';
$conf['tables']['user_cache_categories_table'] = $prefixeTable.'user_cache_categories';
$conf['tables']['caddie_table'] = $prefixeTable.'caddie';
$conf['tables']['upgrade_table'] = $prefixeTable.'upgrade';
$conf['tables']['search_table'] = $prefixeTable.'search';
$conf['tables']['user_mail_notification_table'] = $prefixeTable.'user_mail_notification';
$conf['tables']['tags_table'] = $prefixeTable.'tags';
$conf['tables']['image_tag_table'] = $prefixeTable.'image_tag';
$conf['tables']['plugins_table'] = $prefixeTable.'plugins';
$conf['tables']['web_services_access_table'] = $prefixeTable.'ws_access';
$conf['tables']['old_permalinks_table'] = $prefixeTable.'old_permalinks';

// user_fields : mapping between generic field names and table specific
// field names. For example, in PWG, the mail address is names
Expand Down
63 changes: 32 additions & 31 deletions include/constants.php
Expand Up @@ -45,35 +45,36 @@
define('ACCESS_WEBMASTER', 4);

// Table names
define('CATEGORIES_TABLE', $prefixeTable.'categories');
define('COMMENTS_TABLE', $prefixeTable.'comments');
define('CONFIG_TABLE', $prefixeTable.'config');
define('FAVORITES_TABLE', $prefixeTable.'favorites');
define('GROUP_ACCESS_TABLE', $prefixeTable.'group_access');
define('GROUPS_TABLE', $prefixeTable.'groups');
define('HISTORY_TABLE', $prefixeTable.'history');
define('HISTORY_SUMMARY_TABLE', $prefixeTable.'history_summary');
define('IMAGE_CATEGORY_TABLE', $prefixeTable.'image_category');
define('IMAGES_TABLE', $prefixeTable.'images');
define('SESSIONS_TABLE', $prefixeTable.'sessions');
define('SITES_TABLE', $prefixeTable.'sites');
define('USER_ACCESS_TABLE', $prefixeTable.'user_access');
define('USER_GROUP_TABLE', $prefixeTable.'user_group');
define('USERS_TABLE', $conf['users_table']);
define('USER_INFOS_TABLE', $prefixeTable.'user_infos');
define('USER_FEED_TABLE', $prefixeTable.'user_feed');
define('WAITING_TABLE', $prefixeTable.'waiting');
define('IMAGE_METADATA_TABLE', $prefixeTable.'image_metadata');
define('RATE_TABLE', $prefixeTable.'rate');
define('USER_CACHE_TABLE', $prefixeTable.'user_cache');
define('USER_CACHE_CATEGORIES_TABLE', $prefixeTable.'user_cache_categories');
define('CADDIE_TABLE', $prefixeTable.'caddie');
define('UPGRADE_TABLE', $prefixeTable.'upgrade');
define('SEARCH_TABLE', $prefixeTable.'search');
define('USER_MAIL_NOTIFICATION_TABLE', $prefixeTable.'user_mail_notification');
define('TAGS_TABLE', $prefixeTable.'tags');
define('IMAGE_TAG_TABLE', $prefixeTable.'image_tag');
define('PLUGINS_TABLE', $prefixeTable.'plugins');
define('WEB_SERVICES_ACCESS_TABLE', $prefixeTable.'ws_access');
define('OLD_PERMALINKS_TABLE', $prefixeTable.'old_permalinks');
define('CATEGORIES_TABLE', $conf['tables']['categories_table']);
define('COMMENTS_TABLE', $conf['tables']['comments_table']);
define('CONFIG_TABLE', $conf['tables']['config_table']);
define('FAVORITES_TABLE', $conf['tables']['favorites_table']);
define('GROUP_ACCESS_TABLE', $conf['tables']['group_access_table']);
define('GROUPS_TABLE', $conf['tables']['groups_table']);
define('HISTORY_TABLE', $conf['tables']['history_table']);
define('HISTORY_SUMMARY_TABLE', $conf['tables']['history_summary_table']);
define('IMAGE_CATEGORY_TABLE', $conf['tables']['image_category_table']);
define('IMAGES_TABLE', $conf['tables']['images_table']);
define('SESSIONS_TABLE', $conf['tables']['sessions_table']);
define('SITES_TABLE', $conf['tables']['sites_table']);
define('USER_ACCESS_TABLE', $conf['tables']['user_access_table']);
define('USER_GROUP_TABLE', $conf['tables']['user_group_table']);
define('USERS_TABLE', $conf['tables']['users_table']);
define('USER_INFOS_TABLE', $conf['tables']['user_infos_table']);
define('USER_FEED_TABLE', $conf['tables']['user_feed_table']);
define('WAITING_TABLE', $conf['tables']['waiting_table']);
define('IMAGE_METADATA_TABLE', $conf['tables']['image_metadata_table']);
define('RATE_TABLE', $conf['tables']['rate_table']);
define('USER_CACHE_TABLE', $conf['tables']['user_cache_table']);
define('USER_CACHE_CATEGORIES_TABLE', $conf['tables']['user_cache_categories_table']);
define('CADDIE_TABLE', $conf['tables']['caddie_table']);
define('UPGRADE_TABLE', $conf['tables']['upgrade_table']);
define('SEARCH_TABLE', $conf['tables']['search_table']);
define('USER_MAIL_NOTIFICATION_TABLE', $conf['tables']['user_mail_notification_table']);
define('TAGS_TABLE', $conf['tables']['tags_table']);
define('IMAGE_TAG_TABLE', $conf['tables']['image_tag_table']);
define('PLUGINS_TABLE', $conf['tables']['plugins_table']);
define('WEB_SERVICES_ACCESS_TABLE', $conf['tables']['web_services_access_table']);
define('OLD_PERMALINKS_TABLE', $conf['tables']['old_permalinks_table']);

?>
53 changes: 53 additions & 0 deletions install/db/64-database.php
@@ -0,0 +1,53 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation |
// | |
// | This program is distributed in the hope that it will be useful, but |
// | WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with this program; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA. |
// +-----------------------------------------------------------------------+

if (!defined('PHPWG_ROOT_PATH'))
{
die('Hacking attempt!');
}

$upgrade_description = 'Activation of c13_upgrade plugin';

include_once(PHPWG_ROOT_PATH.'include/constants.php');

// +-----------------------------------------------------------------------+
// | Upgrade content |
// +-----------------------------------------------------------------------+

$query = '
REPLACE INTO '.PLUGINS_TABLE.'
(id, state)
VALUES (\'c13y_upgrade\', \'active\')
;';
pwg_query($query);

echo
"\n"
.'"'.$upgrade_description.'"'.' ended'
."\n"
;

?>
33 changes: 33 additions & 0 deletions plugins/c13y_upgrade/index.php
@@ -0,0 +1,33 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation |
// | |
// | This program is distributed in the hope that it will be useful, but |
// | WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with this program; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA. |
// +-----------------------------------------------------------------------+

// Recursive call
$url = '../';
header( 'Request-URI: '.$url );
header( 'Content-Location: '.$url );
header( 'Location: '.$url );
exit();
?>
95 changes: 95 additions & 0 deletions plugins/c13y_upgrade/initialize.inc.php
@@ -0,0 +1,95 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation |
// | |
// | This program is distributed in the hope that it will be useful, but |
// | WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with this program; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA. |
// +-----------------------------------------------------------------------+

if (!defined('PHPWG_ROOT_PATH'))
{
die('Hacking attempt!');
}

add_event_handler('get_check_integrity', 'c13y_upgrade');

function c13y_upgrade($c13y_array)
{
global $lang, $conf;

include(get_language_filepath('plugin.lang.php', dirname(__FILE__).'/'));

$result = array();

if (isset($conf['users_table']))
{
$result[] = get_c13y(
l10n('c13y_upgrade_conf_users_table_msg'),
null,
null,
l10n('c13y_upgrade_conf_users_table_correction').
'<BR />'.
get_htlm_links_more_info());
}

if (count($result) === 0)
{
$deactivate_msg_link =
'<a href="'.
PHPWG_ROOT_PATH.
'admin.php?page=plugins&amp;plugin=c13y_upgrade&amp;action=deactivate'.
'" onclick="window.open(this.href, \'\'); return false;">'.
l10n('c13y_upgrade_deactivate').'</a>';

$result[] = get_c13y(
l10n('c13y_upgrade_no_anomaly'),
'c13y_upgrade_correction',
'deactivate_plugin',
$deactivate_msg_link
);
}

return array_merge($c13y_array, $result);
}

function c13y_upgrade_correction($action)
{
$result = false;

switch ($action)
{
case 'deactivate_plugin':
{
$query = '
REPLACE INTO '.PLUGINS_TABLE.'
(id, state)
VALUES (\'c13y_upgrade\', \'inactive\')
;';
pwg_query($query);
$result = true;
}
break;
}

return $result;
}

?>
33 changes: 33 additions & 0 deletions plugins/c13y_upgrade/language/en_UK.iso-8859-1/index.php
@@ -0,0 +1,33 @@
<?php
// +-----------------------------------------------------------------------+
// | PhpWebGallery - a PHP based picture gallery |
// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net |
// | Copyright (C) 2003-2007 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | file : $Id$
// | last update : $Date$
// | last modifier : $Author$
// | revision : $Revision$
// +-----------------------------------------------------------------------+
// | This program is free software; you can redistribute it and/or modify |
// | it under the terms of the GNU General Public License as published by |
// | the Free Software Foundation |
// | |
// | This program is distributed in the hope that it will be useful, but |
// | WITHOUT ANY WARRANTY; without even the implied warranty of |
// | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
// | General Public License for more details. |
// | |
// | You should have received a copy of the GNU General Public License |
// | along with this program; if not, write to the Free Software |
// | Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, |
// | USA. |
// +-----------------------------------------------------------------------+

// Recursive call
$url = '../';
header( 'Request-URI: '.$url );
header( 'Content-Location: '.$url );
header( 'Location: '.$url );
exit();
?>

0 comments on commit e74e456

Please sign in to comment.