From e74e4567495b5ef46866ba7d4040ff49c9ccfee7 Mon Sep 17 00:00:00 2001 From: rub Date: Wed, 19 Sep 2007 05:26:58 +0000 Subject: Resolved 0000748: Name configuration of all the tables Resolved 0000750: Check anomalies after upgrade (Feature proposition) git-svn-id: http://piwigo.org/svn/trunk@2096 68402e56-0260-453c-a942-63ccdbb3a9ee --- admin/include/functions_upgrade.php | 37 +++++++++ include/config_default.inc.php | 39 ++++++++- include/constants.php | 63 +++++++------- install/db/64-database.php | 53 ++++++++++++ plugins/c13y_upgrade/index.php | 33 ++++++++ plugins/c13y_upgrade/initialize.inc.php | 95 ++++++++++++++++++++++ .../language/en_UK.iso-8859-1/index.php | 33 ++++++++ .../language/en_UK.iso-8859-1/plugin.lang.php | 33 ++++++++ .../language/fr_FR.iso-8859-1/index.php | 33 ++++++++ .../language/fr_FR.iso-8859-1/plugin.lang.php | 33 ++++++++ plugins/c13y_upgrade/language/index.php | 33 ++++++++ plugins/c13y_upgrade/main.inc.php | 48 +++++++++++ upgrade.php | 10 ++- upgrade_feed.php | 2 + 14 files changed, 509 insertions(+), 36 deletions(-) create mode 100644 install/db/64-database.php create mode 100644 plugins/c13y_upgrade/index.php create mode 100644 plugins/c13y_upgrade/initialize.inc.php create mode 100644 plugins/c13y_upgrade/language/en_UK.iso-8859-1/index.php create mode 100644 plugins/c13y_upgrade/language/en_UK.iso-8859-1/plugin.lang.php create mode 100644 plugins/c13y_upgrade/language/fr_FR.iso-8859-1/index.php create mode 100644 plugins/c13y_upgrade/language/fr_FR.iso-8859-1/plugin.lang.php create mode 100644 plugins/c13y_upgrade/language/index.php create mode 100644 plugins/c13y_upgrade/main.inc.php diff --git a/admin/include/functions_upgrade.php b/admin/include/functions_upgrade.php index 843efa58e..7fe9db93b 100644 --- a/admin/include/functions_upgrade.php +++ b/admin/include/functions_upgrade.php @@ -40,5 +40,42 @@ if you want to 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'; +} ?> diff --git a/include/config_default.inc.php b/include/config_default.inc.php index 64ade722b..f14a9a0d2 100644 --- a/include/config_default.inc.php +++ b/include/config_default.inc.php @@ -430,8 +430,10 @@ $conf['die_on_sql_error'] = true; // 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 : @@ -449,7 +451,38 @@ $conf['apache_authentication'] = false; // // 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 diff --git a/include/constants.php b/include/constants.php index 8b211f631..308be5940 100644 --- a/include/constants.php +++ b/include/constants.php @@ -45,35 +45,36 @@ define('ACCESS_ADMINISTRATOR', 3); 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']); + ?> diff --git a/install/db/64-database.php b/install/db/64-database.php new file mode 100644 index 000000000..a8709e26f --- /dev/null +++ b/install/db/64-database.php @@ -0,0 +1,53 @@ + diff --git a/plugins/c13y_upgrade/index.php b/plugins/c13y_upgrade/index.php new file mode 100644 index 000000000..61741e9cb --- /dev/null +++ b/plugins/c13y_upgrade/index.php @@ -0,0 +1,33 @@ + diff --git a/plugins/c13y_upgrade/initialize.inc.php b/plugins/c13y_upgrade/initialize.inc.php new file mode 100644 index 000000000..f62e04974 --- /dev/null +++ b/plugins/c13y_upgrade/initialize.inc.php @@ -0,0 +1,95 @@ +'. + get_htlm_links_more_info()); + } + + if (count($result) === 0) + { + $deactivate_msg_link = + ''. + l10n('c13y_upgrade_deactivate').''; + + $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; +} + +?> diff --git a/plugins/c13y_upgrade/language/en_UK.iso-8859-1/index.php b/plugins/c13y_upgrade/language/en_UK.iso-8859-1/index.php new file mode 100644 index 000000000..61741e9cb --- /dev/null +++ b/plugins/c13y_upgrade/language/en_UK.iso-8859-1/index.php @@ -0,0 +1,33 @@ + diff --git a/plugins/c13y_upgrade/language/en_UK.iso-8859-1/plugin.lang.php b/plugins/c13y_upgrade/language/en_UK.iso-8859-1/plugin.lang.php new file mode 100644 index 000000000..8500dbe0e --- /dev/null +++ b/plugins/c13y_upgrade/language/en_UK.iso-8859-1/plugin.lang.php @@ -0,0 +1,33 @@ + diff --git a/plugins/c13y_upgrade/language/fr_FR.iso-8859-1/index.php b/plugins/c13y_upgrade/language/fr_FR.iso-8859-1/index.php new file mode 100644 index 000000000..61741e9cb --- /dev/null +++ b/plugins/c13y_upgrade/language/fr_FR.iso-8859-1/index.php @@ -0,0 +1,33 @@ + diff --git a/plugins/c13y_upgrade/language/fr_FR.iso-8859-1/plugin.lang.php b/plugins/c13y_upgrade/language/fr_FR.iso-8859-1/plugin.lang.php new file mode 100644 index 000000000..5552049e0 --- /dev/null +++ b/plugins/c13y_upgrade/language/fr_FR.iso-8859-1/plugin.lang.php @@ -0,0 +1,33 @@ + diff --git a/plugins/c13y_upgrade/language/index.php b/plugins/c13y_upgrade/language/index.php new file mode 100644 index 000000000..61741e9cb --- /dev/null +++ b/plugins/c13y_upgrade/language/index.php @@ -0,0 +1,33 @@ + diff --git a/plugins/c13y_upgrade/main.inc.php b/plugins/c13y_upgrade/main.inc.php new file mode 100644 index 000000000..26b7139a5 --- /dev/null +++ b/plugins/c13y_upgrade/main.inc.php @@ -0,0 +1,48 @@ + diff --git a/upgrade.php b/upgrade.php index 065db9983..4522fd839 100644 --- a/upgrade.php +++ b/upgrade.php @@ -37,8 +37,7 @@ include(PHPWG_ROOT_PATH . 'include/config_default.inc.php'); check_upgrade(); -// concerning upgrade, we use the default users table -$conf['users_table'] = $prefixeTable.'users'; +prepare_conf_upgrade(); include_once(PHPWG_ROOT_PATH.'include/constants.php'); define('PREFIX_TABLE', $prefixeTable); @@ -304,6 +303,13 @@ if you encounter any problem.' UPDATE '.USER_CACHE_TABLE.' SET need_update = \'true\' ;'; + + pwg_query($query); + $query = ' +REPLACE INTO '.PLUGINS_TABLE.' + (id, state) + VALUES (\'c13y_upgrade\', \'active\') +;'; pwg_query($query); } else diff --git a/upgrade_feed.php b/upgrade_feed.php index 4ca5bed24..1a67fd72a 100644 --- a/upgrade_feed.php +++ b/upgrade_feed.php @@ -38,6 +38,8 @@ include(PHPWG_ROOT_PATH.'include/mysql.inc.php'); // +-----------------------------------------------------------------------+ check_upgrade(); +prepare_conf_upgrade(); + define('PREFIX_TABLE', $prefixeTable); define('UPGRADES_PATH', PHPWG_ROOT_PATH.'install/db'); -- cgit v1.2.3