diff options
author | rub <rub@piwigo.org> | 2008-02-13 20:13:12 +0000 |
---|---|---|
committer | rub <rub@piwigo.org> | 2008-02-13 20:13:12 +0000 |
commit | ea960a5563416318ec4bfc9da81af3d2e0f7ed85 (patch) | |
tree | 786a888a6b3385d4b1711f9d5eb66c20a3386ab1 | |
parent | 42b184eed3c3e33fc2476c986a8eb06a766bb4b8 (diff) |
Resolved issue 0000792: Admin "intro" : Integrity control bypass
Some sentences must be re-write ;-)
git-svn-id: http://piwigo.org/svn/trunk@2208 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r-- | admin/include/functions_check_integrity.inc.php | 248 | ||||
-rw-r--r-- | admin/maintenance.php | 9 | ||||
-rw-r--r-- | install/config.sql | 1 | ||||
-rw-r--r-- | install/db/66-database.php | 51 | ||||
-rw-r--r-- | language/en_UK/admin.lang.php | 15 | ||||
-rw-r--r-- | language/es_ES/admin.lang.php | 15 | ||||
-rw-r--r-- | language/fr_FR/admin.lang.php | 15 | ||||
-rw-r--r-- | language/nl_NL/admin.lang.php | 15 | ||||
-rw-r--r-- | plugins/c13y_upgrade/initialize.inc.php | 17 | ||||
-rw-r--r-- | template/yoga/admin/check_integrity.tpl | 78 | ||||
-rw-r--r-- | template/yoga/admin/maintenance.tpl | 4 |
11 files changed, 366 insertions, 102 deletions
diff --git a/admin/include/functions_check_integrity.inc.php b/admin/include/functions_check_integrity.inc.php index fb97681c4..fe57a02e7 100644 --- a/admin/include/functions_check_integrity.inc.php +++ b/admin/include/functions_check_integrity.inc.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | 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 | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -32,30 +32,51 @@ */ function check_integrity() { - global $page, $header_notes; + global $page, $header_notes, $conf; + + // Ignore list + $conf_c13y_ignore = unserialize($conf['c13y_ignore']); + if ( + is_array($conf_c13y_ignore) and + isset($conf_c13y_ignore['version']) and + ($conf_c13y_ignore['version'] == PHPWG_VERSION) and + is_array($conf_c13y_ignore['list']) + ) + { + $ignore_list_changed = false; + $page['check_integrity']['ignore_list'] = $conf_c13y_ignore['list']; + } + else + { + $ignore_list_changed = true; + $page['check_integrity']['ignore_list'] = array(); + } - add_event_handler('get_check_integrity', 'c13y_exif'); - add_event_handler('get_check_integrity', 'c13y_user'); + // Retrieve list + $page['check_integrity']['list'] = array(); + $page['check_integrity']['build_ignore_list'] = array(); - $page['check_integrity'] = array(); - $page['check_integrity'] = trigger_event('get_check_integrity', - $page['check_integrity']); + add_event_handler('list_check_integrity', 'c13y_exif'); + add_event_handler('list_check_integrity', 'c13y_user'); + trigger_action('list_check_integrity'); - if (count($page['check_integrity']) > 0) + // Information + if (count($page['check_integrity']['list']) > 0) { $header_notes[] = l10n_dec('c13y_anomaly_count', 'c13y_anomalies_count', - count($page['check_integrity'])); + count($page['check_integrity']['list'])); } + // Treatments if (!is_adviser()) { - if (isset($_POST['c13y_submit']) and isset($_POST['c13y_selection'])) + if (isset($_POST['c13y_submit_correction']) and isset($_POST['c13y_selection'])) { $corrected_count = 0; $not_corrected_count = 0; - foreach ($page['check_integrity'] as $i => $c13y) + foreach ($page['check_integrity']['list'] as $i => $c13y) { if (!empty($c13y['correction_fct']) and $c13y['is_callable'] and @@ -74,9 +95,9 @@ function check_integrity() { $args = array(); } - $page['check_integrity'][$i]['corrected'] = call_user_func_array($c13y['correction_fct'], $args); + $page['check_integrity']['list'][$i]['corrected'] = call_user_func_array($c13y['correction_fct'], $args); - if ($page['check_integrity'][$i]['corrected']) + if ($page['check_integrity']['list'][$i]['corrected']) { $corrected_count += 1; } @@ -100,6 +121,42 @@ function check_integrity() $not_corrected_count); } } + else + { + if (isset($_POST['c13y_submit_ignore']) and isset($_POST['c13y_selection'])) + { + $ignored_count = 0; + + foreach ($page['check_integrity']['list'] as $i => $c13y) + { + if (in_array($c13y['id'], $_POST['c13y_selection'])) + { + $page['check_integrity']['build_ignore_list'][] = $c13y['id']; + $page['check_integrity']['list'][$i]['ignored'] = true; + $ignored_count += 1; + } + } + + if ($ignored_count > 0) + { + $page['infos'][] = + l10n_dec('c13y_anomaly_ignored_count', 'c13y_anomalies_ignored_count', + $ignored_count); + } + } + } + } + + $ignore_list_changed = + ( + ($ignore_list_changed) or + (count(array_diff($page['check_integrity']['ignore_list'], $page['check_integrity']['build_ignore_list'])) > 0) or + (count(array_diff($page['check_integrity']['build_ignore_list'], $page['check_integrity']['ignore_list'])) > 0) + ); + + if ($ignore_list_changed) + { + c13y_update_conf($page['check_integrity']['build_ignore_list']); } } @@ -113,14 +170,18 @@ function display_check_integrity() { global $template, $page; - $show_submit = false; + $check_automatic_correction = false; + $submit_automatic_correction = false; + $submit_ignore = false; - if (isset($page['check_integrity']) and count($page['check_integrity']) > 0) + if (isset($page['check_integrity']['list']) and count($page['check_integrity']['list']) > 0) { $template->set_filenames(array('check_integrity' => 'admin/check_integrity.tpl')); - foreach ($page['check_integrity'] as $i => $c13y) + foreach ($page['check_integrity']['list'] as $i => $c13y) { + $can_select = false; + $template->assign_block_vars('c13y', array( 'CLASS' => ($i % 2 == 1) ? 'row2' : 'row1', @@ -128,48 +189,82 @@ function display_check_integrity() 'ANOMALY' => $c13y['anomaly'] )); - if (!empty($c13y['correction_fct'])) + + if (isset($c13y['ignored'])) { - if (isset($c13y['corrected'])) + if ($c13y['ignored']) { - if ($c13y['corrected']) + $template->assign_block_vars('c13y.ignore_msg', array()); + } + else + { + die('$c13y[\'ignored\'] cannot be false'); + } + } + else + { + if (!empty($c13y['correction_fct'])) + { + if (isset($c13y['corrected'])) { - $template->assign_block_vars('c13y.correction_success_fct', array()); + if ($c13y['corrected']) + { + $template->assign_block_vars('c13y.correction_success_fct', array()); + } + else + { + $template->assign_block_vars('c13y.correction_error_fct', + array('WIKI_FOROM_LINKS' => get_htlm_links_more_info())); + } + } + else if ($c13y['is_callable']) + { + $template->assign_block_vars('c13y.correction_fct', array()); + $template->assign_block_vars('c13y_link_check_automatic_correction.c13y_do_check', array('ID' => $c13y['id'])); + $submit_automatic_correction = true; + $can_select = true; } else { - $template->assign_block_vars('c13y.correction_error_fct', - array('WIKI_FOROM_LINKS' => get_htlm_links_more_info())); + $template->assign_block_vars('c13y.correction_bad_fct', array()); + $can_select = true; } } - else if ($c13y['is_callable']) + else + { + $can_select = true; + } + + if (!empty($c13y['correction_fct']) and !empty($c13y['correction_msg'])) { - $template->assign_block_vars('c13y.correction_fct', array()); - $show_submit = true; + $template->assign_block_vars('c13y.br', array()); } - else + + if (!empty($c13y['correction_msg']) and !isset($c13y['corrected'])) { - $template->assign_block_vars('c13y.correction_bad_fct', array()); + $template->assign_block_vars('c13y.correction_msg', + array( + 'DATA' => nl2br($c13y['correction_msg']) + )); } } - if (!empty($c13y['correction_fct']) and !empty($c13y['correction_msg'])) + if ($can_select) { - $template->assign_block_vars('c13y.br', array()); + $template->assign_block_vars('c13y.can_select', array()); + $submit_ignore = true; } + } - if (!empty($c13y['correction_msg']) and !isset($c13y['corrected'])) - { - $template->assign_block_vars('c13y.correction_msg', - array( - 'DATA' => nl2br($c13y['correction_msg']) - )); - } + if ($submit_automatic_correction) + { + $template->assign_block_vars('c13y_submit_automatic_correction', array()); } - if ($show_submit) + if ($submit_ignore) { - $template->assign_block_vars('c13y_submit', array()); + $template->assign_block_vars('c13y_link_check_uncheck', array()); + $template->assign_block_vars('c13y_submit_ignore', array()); } $template->concat_var_from_handle('ADMIN_CONTENT', 'check_integrity'); @@ -182,16 +277,53 @@ function display_check_integrity() * @param anomaly arguments * @return c13y anomaly array */ -function get_c13y($anomaly, $correction_fct = null, $correction_fct_args = null, $correction_msg = null) +function add_c13y($anomaly, $correction_fct = null, $correction_fct_args = null, $correction_msg = null) { - return - array( - 'id' => md5($anomaly.$correction_fct.serialize($correction_fct_args).$correction_msg), - 'anomaly' => $anomaly, - 'correction_fct' => $correction_fct, - 'correction_fct_args' => $correction_fct_args, - 'correction_msg' => $correction_msg, - 'is_callable' => is_callable($correction_fct)); + global $page; + + $id = md5($anomaly.$correction_fct.serialize($correction_fct_args).$correction_msg); + + if (in_array($id, $page['check_integrity']['ignore_list'])) + { + $page['check_integrity']['build_ignore_list'][] = $id; + } + else + { + $page['check_integrity']['list'][] = + array( + 'id' => $id, + 'anomaly' => $anomaly, + 'correction_fct' => $correction_fct, + 'correction_fct_args' => $correction_fct_args, + 'correction_msg' => $correction_msg, + 'is_callable' => is_callable($correction_fct)); + } +} + +/** + * Update table config + * + * @param ignore list array + * @return void + */ +function c13y_update_conf($ignore_list = array()) +{ + $conf_c13y_ignore = array(); + $conf_c13y_ignore['version'] = PHPWG_VERSION; + $conf_c13y_ignore['list'] = $ignore_list; + $query = 'update '.CONFIG_TABLE.' set value =\''.serialize($conf_c13y_ignore).'\'where param = \'c13y_ignore\';'; + pwg_query($query); +} + +/** + * Apply maintenance + * + * @param void + * @return void + */ +function c13y_maintenance() +{ + c13y_update_conf(); } /** @@ -216,10 +348,10 @@ function get_htlm_links_more_info() /** * Check exif * - * @param c13y anomalies array - * @return c13y anomalies array + * @param void + * @return void */ -function c13y_exif($c13y_array) +function c13y_exif() { global $conf; @@ -227,7 +359,7 @@ function c13y_exif($c13y_array) { if (($conf[$value]) and (!function_exists('read_exif_data'))) { - $c13y_array[] = get_c13y( + add_c13y( sprintf(l10n('c13y_exif_anomaly'), '$conf[\''.$value.'\']'), null, null, @@ -236,17 +368,15 @@ function c13y_exif($c13y_array) get_htlm_links_more_info()); } } - - return $c13y_array; } /** * Check user * - * @param c13y anomalies array - * @return c13y anomalies array + * @param void + * @return void */ -function c13y_user($c13y_array) +function c13y_user() { global $conf; @@ -290,18 +420,16 @@ where { if (!array_key_exists($id, $status)) { - $c13y_array[] = get_c13y(l10n($data['l10n_non_existent']), 'c13y_correction_user', + add_c13y(l10n($data['l10n_non_existent']), 'c13y_correction_user', array('id' => $id, 'action' => 'creation')); } else if (!empty($data['status']) and $status[$id] != $data['status']) { - $c13y_array[] = get_c13y(l10n($data['l10n_bad_status']), 'c13y_correction_user', + add_c13y(l10n($data['l10n_bad_status']), 'c13y_correction_user', array('id' => $id, 'action' => 'status')); } } - - return $c13y_array; } /** diff --git a/admin/maintenance.php b/admin/maintenance.php index 7ee5f84e5..4312e55b4 100644 --- a/admin/maintenance.php +++ b/admin/maintenance.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | 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 | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -97,6 +97,12 @@ DELETE do_maintenance_all_tables(); break; } + case 'c13y' : + { + include_once(PHPWG_ROOT_PATH.'admin/include/functions_check_integrity.inc.php'); + c13y_maintenance(); + break; + } default : { break; @@ -120,6 +126,7 @@ $template->assign_vars( 'U_MAINT_SESSIONS' => $start_url.'sessions', 'U_MAINT_FEEDS' => $start_url.'feeds', 'U_MAINT_DATABASE' => $start_url.'database', + 'U_MAINT_C13Y' => $start_url.'c13y', 'U_HELP' => PHPWG_ROOT_PATH.'popuphelp.php?page=maintenance', ) ); diff --git a/install/config.sql b/install/config.sql index 8d7db0307..01793eb94 100644 --- a/install/config.sql +++ b/install/config.sql @@ -24,3 +24,4 @@ INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('email_admin_on_c INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('email_admin_on_comment_validation','false','Send an email to the administrators when a comment requires validation'); INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('email_admin_on_picture_uploaded','false','Send an email to the administrators when a picture is uploaded'); INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('obligatory_user_mail_address','false','Mail address is obligatory for users'); +INSERT INTO phpwebgallery_config (param,value,comment) VALUES ('c13y_ignore',null,'List of ignored anomalies'); diff --git a/install/db/66-database.php b/install/db/66-database.php new file mode 100644 index 000000000..a76511578 --- /dev/null +++ b/install/db/66-database.php @@ -0,0 +1,51 @@ +<?php +// +-----------------------------------------------------------------------+ +// | PhpWebGallery - a PHP based picture gallery | +// | Copyright (C) 2002-2003 Pierrick LE GALL - pierrick@phpwebgallery.net | +// | Copyright (C) 2003-2008 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 = 'Add c13y_ignore config'; + +include_once(PHPWG_ROOT_PATH.'include/constants.php'); + +// +-----------------------------------------------------------------------+ +// | Upgrade content | +// +-----------------------------------------------------------------------+ + +$query = " +INSERT INTO ".CONFIG_TABLE." (param,value,comment) VALUES ('c13y_ignore',null,'List of ignored anomalies'); +"; +pwg_query($query); + +echo +"\n" +.'"'.$upgrade_description.'"'.' ended' +."\n" +; + +?> diff --git a/language/en_UK/admin.lang.php b/language/en_UK/admin.lang.php index a8e621d39..74320a59a 100644 --- a/language/en_UK/admin.lang.php +++ b/language/en_UK/admin.lang.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | 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 | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -616,7 +616,6 @@ $lang['c13y_Automatic_correction'] = 'Automatic correction'; $lang['c13y_Impossible_automatic_correction'] = 'Impossible automatic correction'; $lang['c13y_Correction_applied_success'] = 'Correction applied with success'; $lang['c13y_Correction_applied_error'] = 'Correction applied with error'; -$lang['c13y_Apply_selected_corrections'] = 'Apply selected corrections'; $lang['c13y_anomaly_count'] = '%d anomaly has been detected.'; $lang['c13y_anomalies_count'] = '%d anomalies has been detected.'; $lang['c13y_anomaly_corrected_count'] = '%d anomaly has been corrected.'; @@ -648,4 +647,16 @@ $lang['Level 1'] = 'Contacts'; $lang['Level 2'] = 'Friends'; $lang['Level 4'] = 'Family'; $lang['Level 8'] = 'Admins'; +$lang['c13y_maintenance'] = 'Reinitialize check integrity'; +$lang['c13y_check_all'] = 'Check all'; +$lang['c13y_uncheck_all'] = 'Uncheck all'; +$lang['c13y_check_auto'] = 'Check automatic corrections'; +$lang['c13y_submit_correction'] = 'Apply selected corrections'; +$lang['c13y_submit_ignore'] = 'Ignore selected anomalies'; +$lang['c13y_submit_refresh'] = 'Refresh'; +$lang['c13y_ignore_msg1'] = 'The anomaly will be ignored until next application version'; +$lang['c13y_ignore_msg2'] = 'Correction the anomaly will cancel the fact that it\'s ignored'; +$lang['c13y_anomaly_ignored_count'] = '%d anomaly has been ignored.'; +$lang['c13y_anomalies_ignored_count'] = '%d anomalies has been ignored.'; + ?> diff --git a/language/es_ES/admin.lang.php b/language/es_ES/admin.lang.php index 99b67424c..58054a686 100644 --- a/language/es_ES/admin.lang.php +++ b/language/es_ES/admin.lang.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | 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 | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -621,7 +621,6 @@ $lang['c13y_Automatic_correction'] = 'Corrección automática'; $lang['c13y_Impossible_automatic_correction'] = 'Corrección automática imposible'; $lang['c13y_Correction_applied_success'] = 'Corrección lograda'; $lang['c13y_Correction_applied_error'] = 'Corrección erronea'; -$lang['c13y_Apply_selected_corrections'] = 'Aplicar las correcciones seleccionadas'; $lang['c13y_anomaly_count'] = '%d anomalía ha sido detectada.'; $lang['c13y_anomalies_count'] = '%d anomalías han sido detectadas.'; $lang['c13y_anomaly_corrected_count'] = '%d anomalía ha sido corregida.'; @@ -654,4 +653,16 @@ $lang['Level 1'] = 'Contactos'; $lang['Level 2'] = 'Amigos'; $lang['Level 4'] = 'Familia'; $lang['Level 8'] = 'Admins'; +/* TODO */ $lang['c13y_maintenance'] = 'Reinitialize check integrity'; +$lang['c13y_check_all'] = 'Todo verificado'; +$lang['c13y_uncheck_all'] = 'Soltar todo'; +/* TODO */ $lang['c13y_check_auto'] = 'Check automatic corrections'; +$lang['c13y_submit_correction'] = 'Aplicar las correcciones seleccionadas'; +/* TODO */ $lang['c13y_submit_ignore'] = 'Ignore selected anomalies'; +/* TODO */ $lang['c13y_submit_refresh'] = 'Refresh'; +/* TODO */ $lang['c13y_ignore_msg1'] = 'The anomaly will be ignored until next application version'; +/* TODO */ $lang['c13y_ignore_msg2'] = 'Correction the anomaly will cancel the fact that it\'s ignored'; +/* TODO */ $lang['c13y_anomaly_ignored_count'] = '%d anomaly has been ignored.'; +/* TODO */ $lang['c13y_anomalies_ignored_count'] = '%d anomalies has been ignored.'; + ?> diff --git a/language/fr_FR/admin.lang.php b/language/fr_FR/admin.lang.php index af1a57ff6..2b3e2885b 100644 --- a/language/fr_FR/admin.lang.php +++ b/language/fr_FR/admin.lang.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | 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 | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -617,7 +617,6 @@ $lang['c13y_Automatic_correction'] = 'Correction automatique'; $lang['c13y_Impossible_automatic_correction'] = 'Correction automatique impossible'; $lang['c13y_Correction_applied_success'] = 'Correction appliquée avec succés'; $lang['c13y_Correction_applied_error'] = 'Correction appliquée avec erreur'; -$lang['c13y_Apply_selected_corrections'] = 'Appliquer les corrections sélectionnées'; $lang['c13y_anomaly_count'] = '%d anomalie a été détecté.'; $lang['c13y_anomalies_count'] = '%d anomalies ont été détectées.'; $lang['c13y_anomaly_corrected_count'] = '%d anomalie a été corrigée.'; @@ -650,4 +649,16 @@ $lang['Level 1'] = 'Contacts'; $lang['Level 2'] = 'Amis'; $lang['Level 4'] = 'Famille'; $lang['Level 8'] = 'Admins'; +$lang['c13y_maintenance'] = 'Réinitialiser les contrôles d\'intégrité'; +$lang['c13y_check_all'] = 'Tout cocher'; +$lang['c13y_uncheck_all'] = 'Tout décocher'; +$lang['c13y_check_auto'] = 'Cocher les corrections automatiques'; +$lang['c13y_submit_correction'] = 'Appliquer les corrections sélectionnées'; +$lang['c13y_submit_ignore'] = 'Ignorer les anomalies sélectionnées'; +$lang['c13y_submit_refresh'] = 'Rafraîchir'; +$lang['c13y_ignore_msg1'] = 'L\'anomalie sera ignorée jusqu\'à la prochaine version de l\'application'; +$lang['c13y_ignore_msg2'] = 'La correction de l\'anomalie annulera le fait qu\'elle soit ignorée'; +$lang['c13y_anomaly_ignored_count'] = '%d anomalie a été ignorée.'; +$lang['c13y_anomalies_ignored_count'] = '%d anomalies ont été ignorées.'; + ?> diff --git a/language/nl_NL/admin.lang.php b/language/nl_NL/admin.lang.php index 0de898b46..fb1f47b87 100644 --- a/language/nl_NL/admin.lang.php +++ b/language/nl_NL/admin.lang.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+ // | 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 | +// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net | // +-----------------------------------------------------------------------+ // | file : $Id$ // | last update : $Date$ @@ -622,7 +622,6 @@ $lang['c13y_Automatic_correction'] = 'Automatische correctie'; $lang['c13y_Impossible_automatic_correction'] = 'Onmogelijke automatische correctie'; $lang['c13y_Correction_applied_success'] = 'Correctie die met succes is toegepast'; $lang['c13y_Correction_applied_error'] = 'Correctie die met fout wordt toegepast'; -$lang['c13y_Apply_selected_corrections'] = 'Pas geselecteerde correcties toe'; $lang['c13y_anomaly_count'] = '%d Onregelmatigheid ontdekt.'; $lang['c13y_anomalies_count'] = '%d Onregelmatigheden ontdekt.'; $lang['c13y_anomaly_corrected_count'] = '%d Onregelmatigheid is gecorrigeerd.'; @@ -654,4 +653,16 @@ $lang['Level 1'] = 'Contacten'; $lang['Level 2'] = 'Vrienden'; $lang['Level 4'] = 'Familie'; $lang['Level 8'] = 'Admins'; +/* TODO */ $lang['c13y_maintenance'] = 'Reinitialize check integrity'; +$lang['c13y_check_all'] = 'Selecteer alles'; +$lang['c13y_uncheck_all'] = 'Deselecteer alles'; +/* TODO */ $lang['c13y_check_auto'] = 'Check automatic corrections'; +$lang['c13y_submit_correction'] = 'Pas geselecteerde correcties toe'; +/* TODO */ $lang['c13y_submit_ignore'] = 'Ignore selected anomalies'; +/* TODO */ $lang['c13y_submit_refresh'] = 'Refresh'; +/* TODO */ $lang['c13y_ignore_msg1'] = 'The anomaly will be ignored until next application version'; +/* TODO */ $lang['c13y_ignore_msg2'] = 'Correction the anomaly will cancel the fact that it\'s ignored'; +/* TODO */ $lang['c13y_anomaly_ignored_count'] = '%d anomaly has been ignored.'; +/* TODO */ $lang['c13y_anomalies_ignored_count'] = '%d anomalies has been ignored.'; + ?> diff --git a/plugins/c13y_upgrade/initialize.inc.php b/plugins/c13y_upgrade/initialize.inc.php index 7cb3f7191..7f0accc43 100644 --- a/plugins/c13y_upgrade/initialize.inc.php +++ b/plugins/c13y_upgrade/initialize.inc.php @@ -2,7 +2,7 @@ // +-----------------------------------------------------------------------+
// | 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 |
+// | Copyright (C) 2003-2008 PhpWebGallery Team - http://phpwebgallery.net |
// +-----------------------------------------------------------------------+
// | file : $Id$
// | last update : $Date$
@@ -29,15 +29,15 @@ if (!defined('PHPWG_ROOT_PATH')) die('Hacking attempt!');
}
-add_event_handler('get_check_integrity', 'c13y_upgrade');
+add_event_handler('list_check_integrity', 'c13y_upgrade');
-function c13y_upgrade($c13y_array)
+function c13y_upgrade()
{
global $conf;
load_language('plugin.lang', dirname(__FILE__).'/');
- $result = array();
+ $can_be_deactivate = true;
/* Check user with same e-mail */
$query = '
@@ -51,7 +51,8 @@ limit 0,1 if (mysql_fetch_array(pwg_query($query)))
{
- $result[] = get_c13y(
+ $can_be_deactivate = false;
+ add_c13y(
l10n('c13y_exif_dbl_email_user'),
null,
null,
@@ -60,7 +61,7 @@ limit 0,1 /* Check if this plugin must deactivate */
- if (count($result) === 0)
+ if ($can_be_deactivate)
{
$deactivate_msg_link =
'<a href="'.
@@ -69,15 +70,13 @@ limit 0,1 '" onclick="window.open(this.href, \'\'); return false;">'.
l10n('c13y_upgrade_deactivate').'</a>';
- $result[] = get_c13y(
+ add_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)
diff --git a/template/yoga/admin/check_integrity.tpl b/template/yoga/admin/check_integrity.tpl index 5523d0364..ebaedf91e 100644 --- a/template/yoga/admin/check_integrity.tpl +++ b/template/yoga/admin/check_integrity.tpl @@ -3,46 +3,76 @@ <dt>{lang:c13y_title}</dt> <dd> <ul> - <form method="post" name="preferences" action="{F_c13y_ACTION}"> + <form method="post" name="c13y" id="c13y" action="{F_c13y_ACTION}"> <fieldset> <table class="table2"> <tr class="throw"> + <th></th> <th>{lang:c13y_Anomaly}</th> <th>{lang:c13y_Correction}</th> </tr> <!-- BEGIN c13y --> <tr class="{c13y.CLASS}"> + <td> + <!-- BEGIN can_select --> + <input type="checkbox" name="c13y_selection[]" value="{c13y.ID}" {c13y.CHECKED} id="c13y_selection-{c13y.ID}" /><label for="c13y_selection-{c13y.ID}"></label> + <!-- END can_select --> + </td> <td><label for="c13y_selection-{c13y.ID}">{c13y.ANOMALY}</label></td> <td> - <!-- BEGIN correction_fct --> - <input type="checkbox" name="c13y_selection[]" value="{c13y.ID}" {c13y.CHECKED} id="c13y_selection-{c13y.ID}" /><label for="c13y_selection-{c13y.ID}"> {lang:c13y_Automatic_correction}</label> - <!-- END correction_fct --> - <!-- BEGIN correction_bad_fct --> - {lang:c13y_Impossible_automatic_correction} - <!-- END correction_bad_fct --> - <!-- BEGIN correction_success_fct --> - {lang:c13y_Correction_applied_success} - <!-- END correction_success_fct --> - <!-- BEGIN correction_error_fct --> - {lang:c13y_Correction_applied_error} - <BR /> - {c13y.correction_error_fct.WIKI_FOROM_LINKS} - <!-- END correction_error_fct --> - <!-- BEGIN br --> - <br /> - <!-- END br --> - <!-- BEGIN correction_msg --> - {c13y.correction_msg.DATA} - <!-- END correction_msg --> + <label for="c13y_selection-{c13y.ID}"> + <!-- BEGIN ignore_msg --> + {lang:c13y_ignore_msg1} + <br /> + {lang:c13y_ignore_msg2} + <!-- END ignore_msg --> + <!-- BEGIN correction_fct --> + {lang:c13y_Automatic_correction} + <!-- END correction_fct --> + <!-- BEGIN correction_bad_fct --> + {lang:c13y_Impossible_automatic_correction} + <!-- END correction_bad_fct --> + <!-- BEGIN correction_success_fct --> + {lang:c13y_Correction_applied_success} + <!-- END correction_success_fct --> + <!-- BEGIN correction_error_fct --> + {lang:c13y_Correction_applied_error} + <BR /> + {c13y.correction_error_fct.WIKI_FOROM_LINKS} + <!-- END correction_error_fct --> + <!-- BEGIN br --> + <br /> + <!-- END br --> + <!-- BEGIN correction_msg --> + {c13y.correction_msg.DATA} + <!-- END correction_msg --> + </label> </td> </tr> <!-- END c13y --> </table> - <!-- BEGIN c13y_submit --> + + <!-- BEGIN c13y_link_check_uncheck --> + <a href="#" onclick="SelectAll(document.getElementById('c13y')); return false;">{lang:c13y_check_all}</a> + / <a href="#" onclick="DeselectAll(document.getElementById('c13y')); return false;">{lang:c13y_uncheck_all}</a> + <!-- END c13y_link_check_uncheck --> + <!-- BEGIN c13y_link_check_automatic_correction --> + / <a href="#" onclick="DeselectAll(document.getElementById('c13y')); + <!-- BEGIN c13y_do_check --> + document.getElementById('c13y_selection-{c13y_link_check_automatic_correction.c13y_do_check.ID}').checked = true; + <!-- END c13y_do_check --> + return false;">{lang:c13y_check_auto}</a> + <!-- END c13y_link_check_automatic_correction --> <p> - <input class="submit" type="submit" value="{lang:c13y_Apply_selected_corrections}" name="c13y_submit" {TAG_INPUT_ENABLED} /> + <!-- BEGIN c13y_submit_automatic_correction --> + <input class="submit" type="submit" value="{lang:c13y_submit_correction}" name="c13y_submit_correction" {TAG_INPUT_ENABLED} /> + <!-- END c13y_submit_automatic_correction --> + <!-- BEGIN c13y_submit_ignore --> + <input class="submit" type="submit" value="{lang:c13y_submit_ignore}" name="c13y_submit_ignore" {TAG_INPUT_ENABLED} /> + <!-- END c13y_submit_ignore --> + <input class="submit" type="submit" value="{lang:c13y_submit_refresh}" name="c13y_submit_refresh" {TAG_INPUT_ENABLED} /> </p> - <!-- END c13y_submit --> + </fieldset> </form> </ul> diff --git a/template/yoga/admin/maintenance.tpl b/template/yoga/admin/maintenance.tpl index 12d07732a..4e9f504b8 100644 --- a/template/yoga/admin/maintenance.tpl +++ b/template/yoga/admin/maintenance.tpl @@ -18,3 +18,7 @@ <li><a href="{U_MAINT_SESSIONS}" {TAG_INPUT_ENABLED}>{lang:purge sessions}</a></li> <li><a href="{U_MAINT_FEEDS}" {TAG_INPUT_ENABLED}>{lang:purge never used notification feeds}</a></li> </ul> + +<ul> + <li><a href="{U_MAINT_C13Y}" {TAG_INPUT_ENABLED}>{lang:c13y_maintenance}</a></li> +</ul> |