From 0427378a0531e3d568a6ae60266d49318ff2310b Mon Sep 17 00:00:00 2001 From: Piotr Przybylski Date: Tue, 2 Aug 2011 23:13:39 +0200 Subject: [PATCH 1/2] Allow to use noclick class on table level --- js/functions.js | 2 +- libraries/display_change_password.lib.php | 6 ++--- libraries/tbl_properties.inc.php | 6 ++--- server_collations.php | 6 ++--- server_engines.php | 6 ++--- server_status.php | 30 +++++++++++------------ server_variables.php | 6 ++--- 7 files changed, 31 insertions(+), 31 deletions(-) diff --git a/js/functions.js b/js/functions.js index bc94a89610..287195dcce 100644 --- a/js/functions.js +++ b/js/functions.js @@ -597,7 +597,7 @@ $(document).ready(function() { * next pages reached via AJAX); a tr may have the class noclick to remove * this behavior. */ - $('tr.odd:not(.noclick), tr.even:not(.noclick)').live('click',function(e) { + $('table:not(.noclick) tr.odd:not(.noclick), table:not(.noclick) tr.even:not(.noclick)').live('click',function(e) { // do not trigger when clicked on anchor if ($(e.target).is('a, img, a *')) { return; diff --git a/libraries/display_change_password.lib.php b/libraries/display_change_password.lib.php index 4dcb2c9070..48444a6326 100644 --- a/libraries/display_change_password.lib.php +++ b/libraries/display_change_password.lib.php @@ -27,14 +27,14 @@ $chg_evt_handler = (PMA_USR_BROWSER_AGENT == 'IE' && PMA_USR_BROWSER_VER >= 5) }?>
- - +
+ - +
diff --git a/libraries/tbl_properties.inc.php b/libraries/tbl_properties.inc.php index f4ade94bc8..7208ea37db 100644 --- a/libraries/tbl_properties.inc.php +++ b/libraries/tbl_properties.inc.php @@ -622,7 +622,7 @@ if (is_array($content_cells) && is_array($header_cells)) { // last row is for javascript insert //$empty_row = array_pop($content_cells); - echo ''; + echo '
'; echo ''; if ($display_type == 'horizontal') { @@ -636,7 +636,7 @@ if (is_array($content_cells) && is_array($header_cells)) { $odd_row = true; foreach ($content_cells as $content_row) { - echo ''; + echo ''; $odd_row = ! $odd_row; if (is_array($content_row)) { @@ -652,7 +652,7 @@ if (is_array($content_cells) && is_array($header_cells)) { $i = 0; $odd_row = true; foreach ($header_cells as $header_val) { - echo ''; + echo ''; $odd_row = ! $odd_row; ?> diff --git a/server_collations.php b/server_collations.php index ccd41d41d3..71508be791 100644 --- a/server_collations.php +++ b/server_collations.php @@ -49,7 +49,7 @@ require_once './libraries/mysql_charsets.lib.php'; * Outputs the result */ echo '
' . "\n" - . '
' . __('Structure') . PMA_showMySQLDocu('SQL-Syntax', 'CREATE_TABLE') . '
' . "\n" + . '
' . "\n" . '' . "\n" . ' ' . "\n" . '' . "\n"; @@ -61,7 +61,7 @@ foreach ($mysql_charsets as $current_charset) { if ($i >= $table_row_count / 2) { $i = 0; echo '
' . __('Collation') . '' . __('Description') . '
' . "\n" - . '' . "\n" + . '
' . "\n" . '' . "\n" . ' ' . "\n" . '' . "\n"; @@ -78,7 +78,7 @@ foreach ($mysql_charsets as $current_charset) { $odd_row = true; foreach ($mysql_collations[$current_charset] as $current_collation) { $i++; - echo '' . "\n" + echo '
' . __('Collation') . '' . __('Description') . '
' . "\n" . '' . "\n" . '' . "\n" . ' ' . "\n" @@ -64,7 +64,7 @@ if (empty($_REQUEST['engine']) */ $odd_row = true; foreach (PMA_StorageEngine::getStorageEngines() as $engine => $details) { - echo 'get('BLOBSTREAMING_PLUGINS_EXIST')) { // Special case for PBMS daemon which is not listed as an engine - echo '' . "\n" . ' - '; - } - foreach ($target_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ''; - echo ''; - } - echo '
' . __('Storage Engine') . '' . __('Description') . '
+ @@ -799,7 +799,7 @@ function printQueryStatistics() { $other_sum += $value; else $chart_json[$name] = $value; ?> - + - - '; + + $rows[] = array( + 'src_table_name' => $matching_tables[$i], + 'dst_table_name' => $matching_tables[$i], + 'btn_type' => 'M', + 'btn_structure' => $btn_structure_params, + 'btn_data' => $btn_data_params + ); } /** * Displays the tables' names present in source but missing from target */ for ($j = 0; $j < count($source_tables_uncommon); $j++) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ' '; - - echo ' - '; + $rows[] = $row; } foreach ($target_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ''; - echo ''; + $rows[] = array( + 'src_table_name' => '', + 'dst_table_name' => $tbl_nc_name); } /** * Displays the target tables names */ - echo '
- +
@@ -896,7 +896,7 @@ function printServerTraffic() { - + - + - +
- +
@@ -942,14 +942,14 @@ function printServerTraffic() { - + - + @@ -963,7 +963,7 @@ function printServerTraffic() { 0, 2, true) . '%' : '--- '; ?> - + @@ -977,7 +977,7 @@ function printServerTraffic() { 0, 2, true) . '%' : '--- '; ?> - + @@ -1007,7 +1007,7 @@ function printServerTraffic() { * Displays the page */ ?> -
--- ---
+
@@ -1046,7 +1046,7 @@ function printServerTraffic() { $url_params['kill'] = $process['Id']; $kill_process = 'server_status.php' . PMA_generate_common_url($url_params); ?> - + @@ -1251,7 +1251,7 @@ function printVariablesTable() { ); ?> -
+
@@ -1269,7 +1269,7 @@ function printVariablesTable() { foreach ($server_status as $name => $value) { $odd_row = !$odd_row; ?> - + + + +
; - +
+ - + From 54fbcaa1403e9d97e41fb28c1751f6051037a295 Mon Sep 17 00:00:00 2001 From: Piotr Przybylski Date: Tue, 2 Aug 2011 23:30:51 +0200 Subject: [PATCH 2/2] Server synchronize: * change icons to 16x16 * fix tables layout * merge 'Source' and 'Target' tables --- js/server_synchronize.js | 24 +- libraries/server_synchronize.lib.php | 85 +++--- server_synchronize.php | 283 +++++++----------- themes/original/img/new_data.jpg | Bin 1925 -> 0 bytes themes/original/img/new_data.png | Bin 0 -> 1187 bytes themes/original/img/new_data_hovered.jpg | Bin 1558 -> 0 bytes themes/original/img/new_data_hovered.png | Bin 0 -> 1187 bytes themes/original/img/new_data_selected.jpg | Bin 1450 -> 0 bytes themes/original/img/new_data_selected.png | Bin 0 -> 1173 bytes .../img/new_data_selected_hovered.jpg | Bin 1456 -> 0 bytes .../img/new_data_selected_hovered.png | Bin 0 -> 1178 bytes themes/original/img/new_struct.jpg | Bin 1118 -> 0 bytes themes/original/img/new_struct.png | Bin 0 -> 1219 bytes themes/original/img/new_struct_hovered.jpg | Bin 1643 -> 0 bytes themes/original/img/new_struct_hovered.png | Bin 0 -> 1220 bytes themes/original/img/new_struct_selected.jpg | Bin 1431 -> 0 bytes themes/original/img/new_struct_selected.png | Bin 0 -> 1189 bytes .../img/new_struct_selected_hovered.jpg | Bin 1463 -> 0 bytes .../img/new_struct_selected_hovered.png | Bin 0 -> 1210 bytes themes/pmahomme/img/new_data.jpg | Bin 1925 -> 0 bytes themes/pmahomme/img/new_data.png | Bin 0 -> 1187 bytes themes/pmahomme/img/new_data_hovered.jpg | Bin 1558 -> 0 bytes themes/pmahomme/img/new_data_hovered.png | Bin 0 -> 1187 bytes themes/pmahomme/img/new_data_selected.jpg | Bin 1450 -> 0 bytes themes/pmahomme/img/new_data_selected.png | Bin 0 -> 1173 bytes .../img/new_data_selected_hovered.jpg | Bin 1456 -> 0 bytes .../img/new_data_selected_hovered.png | Bin 0 -> 1178 bytes themes/pmahomme/img/new_struct.jpg | Bin 1118 -> 0 bytes themes/pmahomme/img/new_struct.png | Bin 0 -> 1219 bytes themes/pmahomme/img/new_struct_hovered.jpg | Bin 1643 -> 0 bytes themes/pmahomme/img/new_struct_hovered.png | Bin 0 -> 1220 bytes themes/pmahomme/img/new_struct_selected.jpg | Bin 1431 -> 0 bytes themes/pmahomme/img/new_struct_selected.png | Bin 0 -> 1189 bytes .../img/new_struct_selected_hovered.jpg | Bin 1463 -> 0 bytes .../img/new_struct_selected_hovered.png | Bin 0 -> 1210 bytes 35 files changed, 175 insertions(+), 217 deletions(-) delete mode 100644 themes/original/img/new_data.jpg create mode 100644 themes/original/img/new_data.png delete mode 100644 themes/original/img/new_data_hovered.jpg create mode 100644 themes/original/img/new_data_hovered.png delete mode 100644 themes/original/img/new_data_selected.jpg create mode 100644 themes/original/img/new_data_selected.png delete mode 100644 themes/original/img/new_data_selected_hovered.jpg create mode 100644 themes/original/img/new_data_selected_hovered.png delete mode 100644 themes/original/img/new_struct.jpg create mode 100644 themes/original/img/new_struct.png delete mode 100644 themes/original/img/new_struct_hovered.jpg create mode 100644 themes/original/img/new_struct_hovered.png delete mode 100644 themes/original/img/new_struct_selected.jpg create mode 100644 themes/original/img/new_struct_selected.png delete mode 100644 themes/original/img/new_struct_selected_hovered.jpg create mode 100644 themes/original/img/new_struct_selected_hovered.png delete mode 100644 themes/pmahomme/img/new_data.jpg create mode 100644 themes/pmahomme/img/new_data.png delete mode 100644 themes/pmahomme/img/new_data_hovered.jpg create mode 100644 themes/pmahomme/img/new_data_hovered.png delete mode 100644 themes/pmahomme/img/new_data_selected.jpg create mode 100644 themes/pmahomme/img/new_data_selected.png delete mode 100644 themes/pmahomme/img/new_data_selected_hovered.jpg create mode 100644 themes/pmahomme/img/new_data_selected_hovered.png delete mode 100644 themes/pmahomme/img/new_struct.jpg create mode 100644 themes/pmahomme/img/new_struct.png delete mode 100644 themes/pmahomme/img/new_struct_hovered.jpg create mode 100644 themes/pmahomme/img/new_struct_hovered.png delete mode 100644 themes/pmahomme/img/new_struct_selected.jpg create mode 100644 themes/pmahomme/img/new_struct_selected.png delete mode 100644 themes/pmahomme/img/new_struct_selected_hovered.jpg create mode 100644 themes/pmahomme/img/new_struct_selected_hovered.png diff --git a/js/server_synchronize.js b/js/server_synchronize.js index 1dfd3d2387..2cc03652fe 100644 --- a/js/server_synchronize.js +++ b/js/server_synchronize.js @@ -33,17 +33,17 @@ function showDetails(i, update_size, insert_size, remove_size, insert_index, rem // The image source is changed when the showDetails function is called. if ($img.hasClass('selected')) { if ($img.hasClass('struct_img')) { - $img.attr('src', pmaThemeImage + 'new_struct_selected.jpg'); + $img.attr('src', pmaThemeImage + 'new_struct_selected.png'); } if ($img.hasClass('data_img')) { - $img.attr('src', pmaThemeImage + 'new_data_selected.jpg'); + $img.attr('src', pmaThemeImage + 'new_data_selected.png'); } } else { if ($img.hasClass('struct_img')) { - $img.attr('src', pmaThemeImage + 'new_struct.jpg'); + $img.attr('src', pmaThemeImage + 'new_struct.png'); } if ($img.hasClass('data_img')) { - $img.attr('src', pmaThemeImage + 'new_data.jpg'); + $img.attr('src', pmaThemeImage + 'new_data.png'); } } @@ -347,9 +347,9 @@ $(document).ready(function() { var $img = $(this); $img.addClass('hover'); if ($img.hasClass('selected')) { - $img.attr('src', pmaThemeImage + 'new_struct_selected_hovered.jpg'); + $img.attr('src', pmaThemeImage + 'new_struct_selected_hovered.png'); } else { - $img.attr('src', pmaThemeImage + 'new_struct_hovered.jpg'); + $img.attr('src', pmaThemeImage + 'new_struct_hovered.png'); } }, function() { @@ -357,9 +357,9 @@ $(document).ready(function() { var $img = $(this); $img.removeClass('hover'); if ($img.hasClass('selected')) { - $img.attr('src', pmaThemeImage + 'new_struct_selected.jpg'); + $img.attr('src', pmaThemeImage + 'new_struct_selected.png'); } else { - $img.attr('src', pmaThemeImage + 'new_struct.jpg'); + $img.attr('src', pmaThemeImage + 'new_struct.png'); } } ); @@ -370,9 +370,9 @@ $(document).ready(function() { var $img = $(this); $img.addClass('hover'); if ($img.hasClass('selected')) { - $img.attr('src', pmaThemeImage + 'new_data_selected_hovered.jpg'); + $img.attr('src', pmaThemeImage + 'new_data_selected_hovered.png'); } else { - $img.attr('src', pmaThemeImage + 'new_data_hovered.jpg'); + $img.attr('src', pmaThemeImage + 'new_data_hovered.png'); } }, function() { @@ -380,9 +380,9 @@ $(document).ready(function() { var $img = $(this); $img.removeClass('hover'); if ($img.hasClass('selected')) { - $img.attr('src', pmaThemeImage + 'new_data_selected.jpg'); + $img.attr('src', pmaThemeImage + 'new_data_selected.png'); } else { - $img.attr('src', pmaThemeImage + 'new_data.jpg'); + $img.attr('src', pmaThemeImage + 'new_data.png'); } } ); diff --git a/libraries/server_synchronize.lib.php b/libraries/server_synchronize.lib.php index 12cea2a70e..b7b332c2bf 100644 --- a/libraries/server_synchronize.lib.php +++ b/libraries/server_synchronize.lib.php @@ -1287,66 +1287,75 @@ function PMA_displayQuery($query) { } /** - * PMA_syncDisplayHeaderSource() shows the header for source database + * PMA_syncDisplayHeaderCompare() shows the header for source database * - * @param string $src_db source db name + * @param string $src_db source db name + * @param string $trg_db target db name * @return nothing */ -function PMA_syncDisplayHeaderSource($src_db) { - echo '
'; +function PMA_syncDisplayHeaderCompare($src_db, $trg_db) { + echo '
'; - echo '
@@ -118,7 +118,7 @@ echo __('Session value') . ' / ' . __('Global value'); $odd_row = true; foreach ($serverVars as $name => $value) { ?> -
$value) { if (isset($serverVarsSession[$name]) && $serverVarsSession[$name] != $value) { ?>
()
'; + echo '
'; echo ''; - echo ''; echo ''; - echo ''; -} - -/** - * PMA_syncDisplayHeaderTargetAndMatchingTables() shows the header for target database and the matching tables - * - * @param string $trg_db target db name - * @param array $matching_tables - * @return boolean $odd_row current value of this toggle - */ -function PMA_syncDisplayHeaderTargetAndMatchingTables($trg_db, $matching_tables) { - echo '
' . __('Source database') . ': ' . $src_db . '
('; + echo '
' . __('Source database') . ': ' . htmlspecialchars($src_db) . '
('; if ('cur' == $_SESSION['src_type']) { echo __('Current server'); } else { - echo __('Remote server') . ' ' . $_SESSION['src_server']['host']; + echo __('Remote server') . ' ' . htmlspecialchars($_SESSION['src_server']['host']); } echo ')
' . __('Difference') . '
'; - echo ''; - echo ''; echo ''; - $odd_row = false; - foreach ($matching_tables as $tbl_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ''; - echo ''; - } - return $odd_row; } /** - * PMA_syncDisplayBeginTableRow() displays the TR tag for alternating colors + * Prints table row * - * @param boolean $odd_row current status of the toggle - * @return boolean $odd_row final status of the toggle + * $rows contains following keys: + * - src_table_name - source server table name + * - dst_table_name - target server table name + * - btn_type - 'M' or 'U' + * - btn_structure - null or arguments for showDetails in server_synchronize.js (without img_obj and table_name): + * i, update_size, insert_size, remove_size, insert_index, remove_index + * + * @param array $rows */ -function PMA_syncDisplayBeginTableRow($odd_row) { - $odd_row = ! $odd_row; - echo ''; - return $odd_row; +function PMA_syncDisplayDataCompare($rows) { + global $pmaThemeImage; + + $odd_row = true; + foreach ($rows as $row) { + echo ''; + echo ''; + $odd_row = !$odd_row; + } } /** diff --git a/server_synchronize.php b/server_synchronize.php index 6c23d97281..8f79897c73 100644 --- a/server_synchronize.php +++ b/server_synchronize.php @@ -251,33 +251,32 @@ if ((isset($_REQUEST['submit_connect']))) { /** * Displays the sub-heading and icons showing Structure Synchronization and Data Synchronization */ - echo '' - . PMA_generate_common_hidden_inputs('', ''); - echo '
' . __('Target database') . ': '. $trg_db . '
('; + echo '
' . __('Target database') . ': '. htmlspecialchars($trg_db) . '
('; if ('cur' == $_SESSION['trg_type']) { echo __('Current server'); } else { - echo __('Remote server') . ' ' . $_SESSION['trg_server']['host']; + echo __('Remote server') . ' ' . htmlspecialchars($_SESSION['trg_server']['host']); } echo ')
' . htmlspecialchars($tbl_name) . '
' . htmlspecialchars($row['src_table_name']) . ''; + if (isset($row['btn_structure']) && $row['btn_structure']) { + // parameters: i, update_size, insert_size, remove_size, insert_index, remove_index + $p = $row['btn_structure']; + $p[0] = $row['btn_type'] . 'S' . $p[0]; + echo 'Structure '; + } + if (isset($row['btn_data']) && $row['btn_data']) { + // parameters: i, update_size, insert_size, remove_size, insert_index, remove_index + $p = $row['btn_data']; + $p[0] = $row['btn_type'] . 'D' . $p[0]; + echo 'Data'; + } + echo '' . htmlspecialchars($row['dst_table_name']) . '
+ ?> + + +
- '; - echo ''; - echo ' -
' - . '' - . __('Structure Synchronization') - .'' - . '' - . __('Data Synchronization') - . '
'; - +
+ + + + + +
+ ' . htmlspecialchars($matching_tables[$i]) . '
'; + /** * Calculating the number of alter columns, number of columns to be added, number of columns to be removed, * number of index to be added and removed. @@ -331,86 +325,70 @@ if ((isset($_REQUEST['submit_connect']))) { $num_add_index += sizeof($alter_indexes_array[$i]); $num_remove_index += sizeof($alter_indexes_array[$i]); } + + $btn_structure_params = null; + $btn_data_params = null; + /** * Display the red button of structure synchronization if there exists any structure difference or index difference. */ if (($num_alter_cols > 0) || ($num_insert_cols > 0) || ($num_remove_cols > 0) || ($num_add_index > 0) || ($num_remove_index > 0)) { - - echo '' . __('Click to select') . ''; + $btn_structure_params = array($i, $num_alter_cols, $num_insert_cols, + $num_remove_cols, $num_add_index, $num_remove_index); } + /** * Display the green button of data synchronization if there exists any data difference. */ if (isset($update_array[$i]) || isset($insert_array[$i])) { if (isset($update_array[$i][0][$matching_tables_keys[$i][0]]) || isset($insert_array[$i][0][$matching_tables_keys[$i][0]])) { - - echo '' . __('Click to select') . ''; + $btn_data_params = array($i, $num_of_updates, $num_of_insertions, null, null, null); } } - echo '
+ ' . htmlspecialchars($source_tables_uncommon[$j]) . '' . __('Click to select') . ''; - - if ($row_count[$j] > 0) - { - echo '' . __('Click to select') . ''; + $row = array( + 'src_table_name' => '+ ' . $source_tables_uncommon[$j], + 'dst_table_name' => $source_tables_uncommon[$j] . ' (' . __('not present') . ')', + 'btn_type' => 'U', + 'btn_structure' => array($j, null, null, null, null, null), + 'btn_data' => null + ); + if ($row_count[$j] > 0) { + $row['btn_data'] = array($j, null, $row_count[$j], null, null, null); } - echo '
     
'; - - $odd_row = PMA_syncDisplayHeaderTargetAndMatchingTables($trg_db, $matching_tables); - foreach ($source_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo '
' . htmlspecialchars($tbl_nc_name) . ' (' . __('not present') . ')
- ' . htmlspecialchars($tbl_nc_name) . '
'; - echo ''; + PMA_syncDisplayDataCompare($rows); + echo '
+ +
'; /** * This "list" div will contain a table and each row will depict information about structure/data diffrence in tables. * Rows will be generated dynamically as soon as the colored buttons "D" or "S" are clicked. */ - echo '
+ echo '
@@ -433,7 +411,7 @@ if ((isset($_REQUEST['submit_connect']))) {
-
'; +
'; /** * This fieldset displays the checkbox to confirm deletion of previous rows from target tables */ @@ -700,13 +678,9 @@ if (isset($_REQUEST['Table_ids'])) { echo '' . PMA_generate_common_hidden_inputs('', ''); - PMA_syncDisplayHeaderSource($src_db); - $odd_row = false; + PMA_syncDisplayHeaderCompare($src_db, $trg_db); + $rows = array(); for($i = 0; $i < count($matching_tables); $i++) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo '' . htmlspecialchars($matching_tables[$i]) . ' - '; - $num_alter_cols = 0; $num_insert_cols = 0; $num_remove_cols = 0; @@ -729,11 +703,12 @@ if (isset($_REQUEST['Table_ids'])) { $num_remove_index = sizeof($remove_indexes_array[$i]); } + $btn_structure_params = null; + $btn_data_params = null; + if (($num_alter_cols > 0) || ($num_insert_cols > 0) || ($num_remove_cols > 0) || ($num_add_index > 0) || ($num_remove_index > 0)) { - echo '' . __('Click to select') . ''; + $btn_structure_params = array($i, $num_alter_cols, $num_insert_cols, + $num_remove_cols, $num_add_index, $num_remove_index); } if (!(in_array($i, $matching_table_data_diff))) { @@ -757,18 +732,20 @@ if (isset($_REQUEST['Table_ids'])) { } if ((isset($matching_tables_keys[$i][0]) && isset($update_array[$i][0][$matching_tables_keys[$i][0]])) - || (isset($matching_tables_keys[$i][0]) && isset($insert_array[$i][0][$matching_tables_keys[$i][0]]))) { - echo '' . __('Click to select') . ''; + || (isset($matching_tables_keys[$i][0]) && isset($insert_array[$i][0][$matching_tables_keys[$i][0]]))) { + $btn_data_params = array($i, $num_of_updates, $num_of_insertions, + null, null, null); } } else { unset($update_array[$i]); unset($insert_array[$i]); } - echo ' - '; + $rows[] = array( + 'src_table_name' => $matching_tables[$i], + 'btn_type' => 'M', + 'btn_structure' => $btn_structure_params, + 'btn_data' => $btn_data_params + ); } /** * placing updated value of arrays in session @@ -778,37 +755,39 @@ if (isset($_REQUEST['Table_ids'])) { $_SESSION['insert_array'] = $insert_array; for ($j = 0; $j < count($source_tables_uncommon); $j++) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ' + ' . htmlspecialchars($source_tables_uncommon[$j]) . ' - '; + $btn_structure_params = null; + $btn_data_params = null; + /** * Display the difference only when it has not been applied */ if (!(in_array($j, $uncommon_table_structure_diff))) { if (isset($uncommon_tables[$j])) { - echo '' . __('Click to select') . '' .' '; + $btn_structure_params = array($j, null, null, null, null, null); } + $dst_table_name = $source_tables_uncommon[$j] . ' (' . __('not present') . ')'; } else { unset($uncommon_tables[$j]); + $dst_table_name = $source_tables_uncommon[$j]; } /** * Display the difference only when it has not been applied */ if (!(in_array($j, $uncommon_table_data_diff))) { - if (isset($row_count[$j]) && ($row_count > 0)) { - echo '' . __('Click to select') . ''; + if (isset($row_count[$j]) && ($row_count[$j] > 0)) { + $btn_data_params = array($j, null, $row_count[$j], null, null, null); } } else { unset($row_count[$j]); } - echo ' - '; + $rows[] = array( + 'src_table_name' => $source_tables_uncommon[$j], + 'dst_table_name' => $dst_table_name, + 'btn_type' => 'U', + 'btn_structure' => $btn_structure_params, + 'btn_data' => $btn_data_params + ); } /** * placing the latest values of arrays in session @@ -822,39 +801,21 @@ if (isset($_REQUEST['Table_ids'])) { * Displaying the target database tables */ foreach ($target_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo '      '; - echo ''; - } - echo ''; - $odd_row = PMA_syncDisplayHeaderTargetAndMatchingTables($trg_db, $matching_tables); - foreach ($source_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - if (in_array($tbl_nc_name, $uncommon_tables)) { - echo '' . htmlspecialchars($tbl_nc_name) . ' (' . __('not present') . ')'; - } else { - echo '' . htmlspecialchars($tbl_nc_name) . ''; - } - echo ' - '; - } - foreach ($target_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ' - ' . htmlspecialchars($tbl_nc_name) . ''; - echo ''; + $rows[] = array( + 'src_table_name' => '', + 'dst_table_name' => $tbl_nc_name); } + PMA_syncDisplayDataCompare($rows); echo ' - '; + + '; /** * This "list" div will contain a table and each row will depict information about structure/data diffrence in tables. * Rows will be generated dynamically as soon as the colored buttons "D" or "S" are clicked. */ - echo '
'; - + echo '
'; echo ' @@ -876,7 +837,7 @@ if (isset($_REQUEST['Table_ids'])) {
-
'; +
'; /** * This fieldset displays the checkbox to confirm deletion of previous rows from target tables @@ -938,40 +899,28 @@ if (isset($_REQUEST['synchronize_db'])) { /** * Displaying all the tables of source and target database and now no difference is there. */ - PMA_syncDisplayHeaderSource($src_db); - - $odd_row = false; - for($i = 0; $i < count($matching_tables); $i++) - { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo '' . htmlspecialchars($matching_tables[$i]) . ' - - '; - } - for ($j = 0; $j < count($source_tables_uncommon); $j++) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ' + ' . htmlspecialchars($source_tables_uncommon[$j]) . ' '; - echo ' - '; - } - foreach ($target_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo '      '; - echo ''; - } - echo ''; - $odd_row = PMA_syncDisplayHeaderTargetAndMatchingTables($trg_db, $matching_tables); - foreach ($source_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo '' . htmlspecialchars($tbl_nc_name) . ' - '; - } - foreach ($target_tables_uncommon as $tbl_nc_name) { - $odd_row = PMA_syncDisplayBeginTableRow($odd_row); - echo ' ' . htmlspecialchars($tbl_nc_name) . ''; - echo ''; - } - echo ' '; + PMA_syncDisplayHeaderCompare($src_db, $trg_db); + $rows = array(); + for ($i = 0; $i < count($matching_tables); $i++) + { + $rows[] = array( + 'src_table_name' => $matching_tables[$i], + 'dst_table_name' => $matching_tables[$i]); + } + foreach ($source_tables_uncommon as $tbl_nc_name) { + $rows[] = array( + 'src_table_name' => '+ ' + $tbl_nc_name, + 'dst_table_name' => $tbl_nc_name); + } + foreach ($target_tables_uncommon as $tbl_nc_name) { + $rows[] = array( + 'src_table_name' => '', + 'dst_table_name' => $tbl_nc_name); + } + PMA_syncDisplayDataCompare($rows); + echo ' + + '; /** * connecting the source and target servers @@ -1114,7 +1063,7 @@ if (isset($_REQUEST['synchronize_db'])) { $database_header .= PMA_showHint(PMA_sanitize(sprintf('%sAllowArbitraryServer%s', '[a@./Documentation.html#AllowArbitraryServer@_blank]', '[/a]'))); ?> - +
diff --git a/themes/original/img/new_data.jpg b/themes/original/img/new_data.jpg deleted file mode 100644 index 08d30d34a728e7c558c9fb97b7e34063b4ae1eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1925 zcmbV~d0Z1m6vtO6%^M#)qPl{#mbz8)3R$EZ|2Lp^;1-5{cQh6eL=6WvE%ZzWMs zlwyEUvAL4}`6O)n;rlfwFcI@-xJpPGH z!MXD}U*zUp$S=55a=EnZ%GGP--&EbI{dmWt*di(l+7Cjsgk4nZK zKY2R->$3^jwEV@4;-zx-m5vJm=xZ#(|05TT;3DbH0Ml_Hq!hwX8ku72OkJ>g6Bdsp{I%6|#y6ZrXf!Pw*QG1yVZI0~UfgSx{WPgGE%_Ro&h(Pb6K)J);_$icxqR`!pZ z8l>x_7XvN?RF;Eslk?+Dyq8%yu6cJ61o_zLd=8 zBPn%imp^7*Ay+@ieV(zkCirR9bDQhuckS<6+M_rp6z_QXZb8EO$vd+R!oyq$-e9P# zxet1VXU}F3IP#T|MNKQZf%d_WT^-J!9D@KeOzoCXZ$!uJdq1g>{2SBIE#l;%{S&;n zGoqHj4(pfxL#r&4Ejvu7H{6|UQn{t?QbtL-tui_wF!2sa7N#y+=XLY?=&&W{>>B%i zLEQaZ?6d3~i;-hp*uo=M8%It-FrD*=sl5+D8w9V?@zT_M$4m>M=)?!L@!L(JtR_Bj zqi@@Cy4ccV&+5n_?;Gv~ccj(o$@-Jm#}dOmmyh;^ggBIyFRe&+R|qDA{k;)IC2TyX z$Xd-(@>QPQhh=e+H>LzLH;g6w&NR4c?fNE#(&rV@q%5e(_*96znd>67}T^ycz&#OXa+!TtFxHFTZF;}QG z1u?SaJ?0X}R!g;u_@^or>uYle4AqW%6j{sCKCSnDr1H2ay**faZ+1*;3xVb;_nEB^ z0zoVH4g^mN8sC>;Jh^(D@k2sw4Be5JQ`T47S$N08RQ@EzhavdpRQCt%J7pH0*SuT~ zaO#tfv0trs@v#n9+i5a0tknLZaZO1&eQckRvazYgdeKiW*jSK#XYp+tZ~5AL#Ux7C z{Ovnq&MwO#SQ!v>1}8zF@_>Ml_)OmX#jk7`ac`x*5U}*|`C7VW3If;u$s#W=J7A`XPRmQrXpqtl-V|xc#@6=UK<=3d3jcoiN2yd+c zp+D}gAtwZ~+brG+v^(wzCv{Qt!>%{s8eQXyHLqpt&nNd!>%tX zv$FOgQfV3YwM=E6gn2SA4+7&Ck^9<2I6F1F!B{rjHnga^v5wa%ZePK_^?3kUo zlbM_SNgf(h2pTVkIG*WO^K^X7e;;n8-!p*|1v)%MQYBKrIiuT1CuHqSD< zCS)?s?m1P;<`@OLhzWBrpu-4cA_6A_Ly{zQGa?iq4@F)O1A-(6MHxb7|6!?`YmCcz zHNCGzS8=vXh$HiStybe|K@PhUybz5>eGX9!P>X=qu!&X=*j`tYK}DYKnhr6s&G?Mk z7@j6^mU_Aug5_kh2gJ6wpD3C#zOFgEz(L-!{J3_lJ(5TNxN)epS8Od+~kj1nTQll^;1(Qk&3N(C}NJM&6 zC7h6Yq)@QQaTr#KM1%; zv9jVKjbOKkaiv)SxiTi$D`SUI3Snl%v<+PI{L9&kRYk5@MMm1i7PFgO**ru&DE?Q} zdsyTDWQ?cI@P29ht5lj>wEq0*LE+QILF*u!_KQm!s`p0(N$G9_j+o_rcY2Y@15B88uO?e@i~wc=UDH(U$A|G&%Q-_0tnW zf9%|SrnY|^$yHi5x4t@Z1opo3$SLE^&g;bwZ=Sk! zfAv;yeYRaV-)I**vZM1~&VBsniSl>dec95T?abxji?@G$>*doeN5SalPu}}^k^9a6 OZDdk|>T2?p*Zu|~Pl3Sz literal 0 HcmV?d00001 diff --git a/themes/original/img/new_data_hovered.jpg b/themes/original/img/new_data_hovered.jpg deleted file mode 100644 index c385872addae2d7e33f78a2ef7d19f1cb5726118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1558 zcmbV~X;c$u6o$XaB$EWN5?P9&6#)T7s$y6@6$(g%a0-GNDio33fXG1u1`3HFLM9}(R0^^^Ijm>^yuGaf2>^fqDntMfRxzfm5JVG1G6^A)i3mc{CXuz&3#)XrwRF^t`X=v3aReA9Xb};j zM)IE$dJ9lUzyz4WkQu;HAeaK7ZCDQ=g2tZu&1e>cgYg7}h}qD_1hu-DeHg|}6EMe^ zIvu+X@D#!lQ(HGg&p(W4mZ-lz<9IR2+`X#RAmF}y1ucAECRxkyW22>13rnk&tE}zp z9UPsUH+XFFq;K}}W^CQIof-Jmj-ZIhsOXs8tl0hRq~rsfl+;66hqH6OJ@Q@tiId-- zDkwaC=3>dE(#vJ#S1N8)*VNY4|J2ZUTh!Lx(Rt^t_(5;q!$*&wJnfeb%U+C(zWjCU zH^tQSo3}Hw%HQYITo8cYV`2FpxhNPHPW=stYAy(O01KFcCz#qIOWgd4VTpQX>oZ9D z?#GL(TFK_L0J%Z!2agy2Rhh)h@-$1;0j*0P}6oR zh^;rD2!@u+%QDB`KKE;DG5CcoFb>%q6h|^Mcgt72NXZ{ehNA=r@sX#J?!uNeH>IUK z*3IFCb3(0+J?+L4RX`wl4^O7=8Y!A6i9i9V+qb1}fv+;<6i643rz;AE6Ea5X5AEo+ zUj*4)Ut?2JNVjO<48$Mza%P&B6<0d8^YuAhS<2qUCr6Ts895J2whx|-eqCZY`}!jP zU{AHMlW>^Z8uuKAKAXso|W^6XBh+fha2(ZEb(d1?PD#5SAWK_|~u%3fDR&AW5k z`b{R*4oeoXnB4Wf!g$L=<*|(+7lTm{8(bK)E6VFufV56_-J!~8;0tBND_6PLr1n(0 zJ%7Q&uCbCV^powi9-eDpCIl6I{rQg%elWb!v3T1xZpGu+_DJV@F?rpC%Y=Ow#;&xN zPc;VxhrDsUWMcCTPhz*VywY#b<&7#Kp8qa9XZ-ZB6sl{&+zETeoZn39!eybYJV82{ z>te)_4Lz^VWAhBVqduD`y;p5f$gGQIkJ^QE!^_I&n_tQJS)uYRp-Rh*ljGOqlS4fd zL|KR)vq3J&s>u!U+4NXQNH6z@Gw)k=QQ6_W|FLUNje5bTw^nqNtW;BQ_EzrF;_66=%hs zOh-XmdYnQwbK(5(%PcnUFjq&pzf|eiI``?%1^pz;+tRykNAM+B}lqjDRrOmp^FI%BtB#EhPMgf6?kwIj1G2cnHjdD_+XlxwrQK3Y;vYE zE$Vg^wCaQUpeT65BE{{p3L-vKYr!pEK&qhP>dNjSK6t|mEG+~is%O~(1&JFA?0m-#9)WLSjbIh;YwxS%?ait4Bd(n(Wo zfoZ7fT|eJ|wG>sZ8`&JrrRpRNnSRx?@fS^-ped?$b!Z>05(K`uq@P>_~4p@ox5gdrz>-OwdIAqN!^goQv%jsuQ_52Ddfe(wmN>(DrSV0nl(tCydDE%FCyS}pffnf(hcw3Bw_E#3Q#Cf!W#hSRbvN%_fAG)! zrrw_h{~dVu{_UEMRZpKkIWe+-%b|RIUjDToEA8UJ!CmJc^qm|2z5mwXLjwoU-j>~G zw~Rc$aO~>7&Z9=*cw4r!PEx_x*x1Z!YV`fk-v36biG-6>qS@j@Jo;$C4th?-?TU&^ zJsU3^T=8-2^-H+$OyJ|d!%h*`G%dR`mQb?{_|YfW#O9e=vAR&f${&PO&^_`>w3zl&Fib) U+ za@`RWSi&{95g^z?e>%)D3^Db<6LMimA7QHhx`)P!Q_|LK6>VRcE?6U22QCyKptKR{ zcnJIf3S}V(9Z}jC7#*1m2FAddIBs&njD-_s1dg-JS!Qh7V8$_LbLfJ8$--8YiD67O zffJ^d{}ia}fXf0afFp)D0hEhiT!iX^H9(jqdGusVhM*XOi4#zUIc#XPgz_;Aie^H^ zu=@yn4j5dfm7}{KZXFg&IHlTncX^@so+k zr_Y{ir(e&!nVlnlpQpJHfGuFb_>Wv%$c571fS|b$Gy^)uWiTDxaVx(tA~x09$s?C# zv-wnIqtc8g2-hr$JJ`>*<$J1EX=yYQ*}ntJ`(I>l!T#oY066eJM7bCj2!T$e%xQ}` zk+Y|i=gBe zn$-)8D}K|3&QTyQn>43@#hX_Y5JX(h9+U|+A|dJAKC4MIUQSM_H};+;t(A(VSKSAS zjeJt5F139g{q8-_Ei)rNA+jSER}VcBJDss}Ebt@pHiVTAG)E6b*PTsI_cxlqJ%G@V zhAax)9!$^nGIZ$ub+Ay{EA|T=NX6J-S)Nx2A@$WZ6g0H_w6Qy+Zr7d88}9qeeKIV> zNh2;b7j4`*p2>aaBFS*iC`}Wd=2nE*Q{eg4ewTiuTV%Oj`K#g3bWfY%waB}uLQ*yD zJXEdSt|D#1z;w=3#fViVqP}ulBH3a(xSCeLetl2>pgnRCsC6aIW(0v zmC&=LXdtd~ru~ALx7Q~wsSmAt7Zh7A^$b@58 zg_;A^Cn>;qOg_`O8M_p=Ql9$ctL0J;t#3)8T8K*>hCDys9k^3Iu&O2hhfh50Y=f5G mEdIqY6s@0Nw=><=xh}Dh;iuaIjs6quI;O}b(zid6y8j2G);)Rv diff --git a/themes/original/img/new_data_selected.png b/themes/original/img/new_data_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..39aa50fc3b9dbfe6d3e5405bf16f523f96424b00 GIT binary patch literal 1173 zcmbVMO-K|`93N811TDm%I@B;pMYKC_X4f5e*sXSFc5}hCZQaUC&^YsS2c3D-%(GpU zz`hPCWS~$Ul(0fb2o1ELgIzpy=mSEMJ}!2VGCbLJd!w#(kb(wg-q-K<`+vOue{Q83 zPgRufE2k)`B2h1=$+*jX%Sy=ih-YUL8TR5>Gj2kyIH%Z(g{OpgK4N}U6)?L z5Ji<}dZrmSCmTc+8D7Q3c=Luu*c25yk+&4J9b&o#w&`Y=S$Q$b(7G08&etYE(vo0S zukW^DQ+H!V?QU0t8gt?}9m&T>CMWqFG;xI!zT@S&q zlF3bB)7eNANg110ESB>E)-c?-*3b@4!{2UfiFPtw7G%@VL7lcr?xXc!kxX*;cSA0a zcq5*+b#f_6hm6!t1DZG?hZ%C>)pSkd83~JaGHpNXU^){v&?-sqzLWD^1;>UY+^AJ6=!1N{*kMGcr@Tgv!9=q0jj#H`sVZA#Zvc2k%%?QPofvE{Q@jxjYa?f literal 0 HcmV?d00001 diff --git a/themes/original/img/new_data_selected_hovered.jpg b/themes/original/img/new_data_selected_hovered.jpg deleted file mode 100644 index a34ba219448fe3997b4f13dfa10cbf0adf79064a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1456 zcmex=|iA%5&sV`2y!sUGbl1MDlsq#GBOJ? z{yzfbGcdA(od*gTFkob2W?^Mx2Refrs9>uA(D}^FKu5CzT?|xR3zTPI5o8roG<0MW z4oqZMDikqloVbuf*=gfJ(V&YTRE(2~nmD<{#3dx9RMpfqG__1j&CD$Muc{znDOAzz*^kBU3pLGYhh?DjKp0IR>&P778mFHFAhJODfgMW&l8v;cQq(mrpHV$ay$OV zME$Mv{cklN#Q({9-~SgB&bUP8-)Z?xf!{9Kf91KV{Vx8-??>jH|M=^U@0YAouaJDJ zc&+5F|KZo^#pTP77AOnd@s#e}v|3;5NXh!^7TddjG^?L^*mm&RlcweDc@efz?;hQ3 zQCPC>{51BroWBFU|DA8c{G%ph?|+7;swp*rKaM|=@BYuQG5q+6n)nB+b-6=6oNwKF zSMAqzziadU-3zngDeqP(w%xv$yMrt;}4LG{cWe>&3r*n~iV(Gt^x4TeM&8d++(@>>ll0 zpSvwnqC8*MdnYqPN`r+(eOtjC+n#ww>#U|sYPmXP>esj&Rdds9`O8~H0^|Gc%Bugr F2>|FgG?f4V diff --git a/themes/original/img/new_data_selected_hovered.png b/themes/original/img/new_data_selected_hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..7105a2d289ccf48b7f983edab27fa5eba95647be GIT binary patch literal 1178 zcmbVLO-K}B7#>Tbq(6u#rD&Ku6u3J-`!nv~Cc87cwba_SyO0z_vooLW;Ld#0%;(N1 zkywY2ymVRUVA9PnN~l{>LLy0EmpoV(g&@#F5lI~a`$k>sAO#J~d_VI(&-4BcX4+5h zsc)<&2x3p_jFiRee(&A69e+>w_T})>fD#=j2Ro4?TY!kEumH%EE_Z<}kk#I6GoY0q zwyRpc19ha&2@2HxvS;IWbrYirqP5L6Wu+S+vH-d?BT9XK{*od!HA-C!rJ1xTf}(b& z&jPu=_Po;9twdC+?G)MS3Yb6#NG4sqWY~fmrPg=_y!WnYid-{6-BD`Ysg87p6rlyk zke~4>Oqe0Vte*`8d7f`3Ifi9uhND@|$MQme6Bvfvcqpu9shvVrN^WT3Q5_@UKBvyn)|>- zNo?2~iNYzPUD>2rKSS%f7uTA#jk4gk8(Ui2`Cb#ySzyB+OTqQ%JYEIk-2Gk1GsNBq z=PeBvMJ`ED>Cu6KQc{${fBdSZ3S3eQN)aZ^2jXIaVR86OEEaBXZH;e&xH$5vP| z91e4}Mn(b3WQ`T5Do$>HJQv9YnKsj21V<)NXW+1c6g@$r$75!~E`LSc1v zwW+CTWo6}va<>hW!;}=uyYJE4nZ37|-L;tysaIDj75DXOfAP@Wx>|euqjPxv*>L=F z%g4sX+{3R=&tILYDSzp%t&_H8oQ8=9H3RkTx7y|>+ipC)Utjz=a)8;@{Aq93z`}>4 sKb}V#9^P@DJ-T%7`}OZ{P9Ce-LEK(GSa|T_ohMDC67ACC_|==g02D)#T>t<8 literal 0 HcmV?d00001 diff --git a/themes/original/img/new_struct.jpg b/themes/original/img/new_struct.jpg deleted file mode 100644 index 283a5e9698bcb4adc5853bc8dab3871770b5e155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1118 zcmeAS@N?(olHy`uVBq!ia0vp^${@_a3?wz#owI=yV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8sR3IQAU|?YIpF!=vr1gI_xBte0{~cof`(^x(Dfyq>_`j<6fA^gKb5{Ldx9k7m z)BkVX|Ns9#P}e9J4S``00;TS6K>0|b#5JNMI6tkVJh3R1As{g`uSCz!HAJDzSkKsO z3K#kx*pqTWvN& zCFtpUw~Jh^XBze|doIAunf8-&W7&xV(dS)bUMVJDp2;(9_05Lq=UVF8?{4|DENN!u z*5X*TC(mwf*zzZX|8Hs7*Qs@B?CN!G6VJ`4`?hh*H}=C{je@0;uDt<8k*BMl%Q~lo FCIEDhrXBzQ diff --git a/themes/original/img/new_struct.png b/themes/original/img/new_struct.png new file mode 100644 index 0000000000000000000000000000000000000000..14f7969712129c9033c513b054c22f9d06e8a13d GIT binary patch literal 1219 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 diff --git a/themes/original/img/new_struct_hovered.png b/themes/original/img/new_struct_hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..5746ac16660a67e1cd001be538e29cc48e7daebb GIT binary patch literal 1220 zcmbVMU1$_n6rNzI#a8d$Cp%;lcV~8WB^#IB#cVOs%+B0o$7JSC zX70L^6if)oLz~qqO`*05(vlVxe_9L*l3EZfif!6T6icxMX=tA!La}|?-bu1)AA&*$ zX71nlzVDoK&zW~J9oyHh+qjORsP(BGN|uZ-`0q1o$ahQN`5YNu#)$&Xp&ndO9Z1D= zRD>X9s=Y7^Ref;aI&7h+HM)^6;6l1x(vZohz76A z$|}iaEwYNzC5&x}Wh<2mQwcK2>1FvyB;s=jLV#EV+(8SgUcho2>kJBXHOH{Afh^!N zszp@BQJQ$V6oP4|(<{W5yPPPJGS*XVmS;HDH2t_1tzDdj|GKfNwVNNbA)AFRDmxmv zkDkUlnB?y9LcSsKM%v{V!8ohAs(7Iiy6muo#TX363Y>bFo;s zS&^G!VzU?u);U(g%HeQCmbp+|78RaPaLtLN7*|4y5ac6DQi#>DDa*yGrNO$cL3Ed~ zMD;OPNp_%$k&{QLzg_{E62izWAsfiKCeUeEI;yz-3lG8^kT7ZTHUws?uW;r@!gjf&J2%UGb`U% z-jq|GIr{OLE`5IN$XJ_vXK;M-&8}HI{QLO(e;qz?@4&=#_0X@w)!SFTe)RBRtyXJX zOVvJ@$~l$yi1gbjC6@Po>YBa&(&)D5p8Eb~>s1$wBkJ|Jt@gPe^}S#G4Illy`K^YhsgYfq?pJG{`M)J9mFQ5;#=A%V E0apB`N&o-= literal 0 HcmV?d00001 diff --git a/themes/original/img/new_struct_selected.jpg b/themes/original/img/new_struct_selected.jpg deleted file mode 100644 index 16b2b8cb3db90f42d1603e4872f3a7d9f05f7ef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1431 zcmbVKYfuwc6uz6yW|Ke%f<}po$U^}wL`a1C%=ichGZ>_R3ROT9jaV5)At(@eBUO}Q z6{U#a0}#gw@{&40XtV`KF;INa3WOB3BD%3WQWDtS4Q>6?A8pT_bMAL`&pr41_AL37 z>;vXLp5C4SK@boI7a-LjLoAa<0^sev5HJA%3@{7900L1E^x1#nZ4f&msPQ=sVpoI) z%;63X0tB6^kA)aT5n~M?$)hl(t}y0*?SA3XeFt4Ohy&)u3S0#4;9>>>PF6x5KY_J? z25BJ(6={^wQ7U3|I!b3?42IEh7L$Rqa0Y{E!ep^2gUHl`ZAv9nlc}RL3`H?E&cKZ& z|0$5ofWrjVzy?KZ0gZ#89E4QD93YsH9`$96hR{$t#=s#B6If7V4(X#PB#lAFusRXG z2Xqc*VdJ`*F>PZwZo7ZFTXJqO({4?rg6pp$>;>Boq_EgCW?J%Q&0pZ)=(JF{#NFeQ zrOVc?6MK5C_xAZTATVgt<}JYyJ9b9y+AZA^bMR1XoGkuuYFc_mX4bLnFY``+b>?jT zx$`BLE?>D?T2_9o>Q;44ZC(BChL-P?ckg}wLu*?{=Z{^FpFDlmt?t+SGVtQ%t6yJh z-~To|GCHRFeVo#T0CY+gjQ^;M19j1;8Q_#Igcb)K<~CQobaew$_#e_ZC*ZYy6LzIA$Aai_-1m~{x$@lcg`?BSPBxb0ueIls)x&K7+ibNu{+1g^Hp!ZmJ z&6yKrTVGj($Rx_~3pxCu>Zq}UCd*r7uOts;=)6;wUA{MBeZF1EH#UbYQ<8Kz3Ct$m zkw6gmO!s7TP-`{>6ME#tO+!>a2~vZS@U9hB#Mr&YS&bdT@3`)j(aX)4;FD?qteRcFuH7Nd`ml7PFUC}l2B8+U@gf}<%|lz8|^NOX3OdHu-;w@r_?w7qat z(Ksod9>{%S#9R*^`Ror|A~w$e diff --git a/themes/original/img/new_struct_selected.png b/themes/original/img/new_struct_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..618ba8124210d6ec37deacbb0d2ed4232de6a5a9 GIT binary patch literal 1189 zcmbVMT}TvB6dtmoBrE98f@qi|!rGmm)t%kJE!UadT4>F7H{BqpaptOn&fIb4+OFEe z_TxheNhyU9LK^v?1XlWDoLJ?$GghWBu9d)e-DQIBk{+;uE=bZbUxl&Pn zBrkVYE4cWsK}VJ8YDQ5@EwlxzVasKRPMMs&Fr#DJ_eH$DR; z1d*d^i6lx!j|mFY-LhljPU|N2CWw;5X;W6}0V1nGt!4zM*|Bko)YJe~RUBoarU>e^ zqb(MQx0EN8mU_jnQil(bC20Wz=m5!NT5m9HAswI=a0NVfwrPr7FhTVJYB8u}w1O0& z1;}DI<5CzeLwZ>^>nY-S{vgRQEJHIK&2lc57d)K6FyzuhVKz&x5n@t!i3_g+R2@R5 zK+~yI%ANAKp;b$>e!t(r;5ZkyaM{fUlG853-kU{`fUQ`Xi8N@C4x(HQn^1tlkuIj7 zo6+bpuwgG13YUyd%O=gb8Cut!ycVo&6a&A*Skc-}G@F2q0UI`13cin;y;)~myT21T zhBzAGxTWDsksBnaH0i)V5h+076Su0V0v8sGBtPTjJ!N8uVR8CQFzEG3VsVi7@kO32 z#!9}T*XtKW##bit63d1dUntC%NktOpVf|8=3ub*IhK*!H0a;!R^Dg=FfAtka3&;ps z2?!gq3aF@q2-i<-X z#=+2zH2#oEb_?sznJx<-FP2*e7`R_7+!*HTk56$^RaG2Igff{-Z*OmRcXxYx`_$Cb zz`%fIS)HAo!^6YV)6+9EGp((yV`F23gM(dNT@w=%9UUEQZEd=)4-F0V_xJbp_4V}h zOioT>iO5W@I=e3vQt-8%N=KnbHDO36V!-0pR zrG>lCg>sql!Z%yaT=)vN-MCwQ@ABzW>wWRcjc?!Gd~0`}Uz1Pl$ZWs1>w4+9^W%tw L%BA~dXD|K&{*jh{ literal 0 HcmV?d00001 diff --git a/themes/original/img/new_struct_selected_hovered.jpg b/themes/original/img/new_struct_selected_hovered.jpg deleted file mode 100644 index 77a53715d4df5bb38d5bff0d8a2edc990a7eeb06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1463 zcmex=xo=LsQGd)Xdz%(#qMz)y>_* z(^ba{);9$Fa6T9o^={>(dhU!U-`;gg*V?x3$uW`CmvWz}`#gaua#w@0WqQm6Be&y! zOw`{x-~U$gLHwVr_x*oC;fzaU{+*WJ6!`6u{a2o=+ON;w5I%mN!-nyre&pUCb5}=Z z+-kkosJgx7kN?USkN(|u+h6Xmd5?Nu%b({BMx2bjbvuvli9aG~m(F9xw_Qcl!n)|- ztLx=rXB1gg%PKhjF0{{*`_HiXc|$#a*Yy2=maOUTvX}Vd{IUL<){me3-G4+=7iP_q z{IG5JlKW9FZ(Y8B`_ysAzKDwDSG%LCsdlDz^RA%`*`*-on{|ut0^PA)(Ki2o^ z+Xz0MtzBDH9i88GPhdy?*_}K+hfY1yxX2{fK{(4&yM+(^`GHa zTV_c?zjz^E;mq^AJ!{Xi`{mu)5VdsK#;!yQjn#{P*?c;_{qJX2tFAw@@0r`rkyZH5 za7^dl$#`Go{|o_pgZB0Oom-zV*ZG0m$~Dn`FNgX0SQ{dR)?84fzuKbUcS|EB$i_cz;bk?-B&8~6NhoZuzht+K-LA4I<` zHXpQKgQGeMX>#g@cl>L!E zKmJFs@qdO-yH?f2{by)u0{X)6&3}f}{Eq!>_37uOGiJG-@2pW?eLM4(TJr80+sOd#)3?~^13jQc->@`V4Cad}w)-!Fwrl`&#F5Yt82XIOFO!S_Ef zw4ukD>ya$T+A{1nt`0k}d$_Bh4G(BBow;(E?(`%gU_z|Yo>{V7$%`|Gx)PcD+Z;n5 zLhwMGIdZBeo1@ zSJKC}$SThCV{A(tSE*FkN|;4XAIHaHF<(OvLIe?Vhb*jmA(~s*A?czNA$Bk3bZehrVTpqe;(9y_! z^j>U|N$wtR$OjT{q}LpST#8y!kTz&S3ulx#Lrz%T&?O-)w<|Fa6~jq61$YuZNF<^i ziX2IZ9b$X9sc{-tjz(j$4CJINDmwIf_+*j!}ks+Ce6Lm|e*@#d=uy zuc(i>`v1uoN1WmO()d@YG`C3o`O}laCySHTffnf(hcw15RBt0qW#q0EQq^j8ZEbCS zetu+Rq|s>1%*>R_<*lu)v9Yo3?d{3Q$zristJRj4mKGNmXJ=>E*VlJ;cIx%|+}zyM z)YSO+_~_{9!otGp>ME)7m6es{<>l$=>Ak(Zjg5^`sdR8~(AwI%zrVlfmHppBC8Hz? z-sYP>XP){ncQ&y4XksG&wR^ty*9-Nw+~uv^+J%?ye3kt4LjA`Ij)*Nc)W$Qv-MjR} z8UF5P!M2;#sc(~i-tYMQ;r;!o4B)T7J1b3%>c{yI21h qf8)kGyNzc*y2pL|d)LD=fC@f1|LCok?`#qms7$I$xs`nPgTDcN`K(s} literal 0 HcmV?d00001 diff --git a/themes/pmahomme/img/new_data.jpg b/themes/pmahomme/img/new_data.jpg deleted file mode 100644 index 08d30d34a728e7c558c9fb97b7e34063b4ae1eb4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1925 zcmbV~d0Z1m6vtO6%^M#)qPl{#mbz8)3R$EZ|2Lp^;1-5{cQh6eL=6WvE%ZzWMs zlwyEUvAL4}`6O)n;rlfwFcI@-xJpPGH z!MXD}U*zUp$S=55a=EnZ%GGP--&EbI{dmWt*di(l+7Cjsgk4nZK zKY2R->$3^jwEV@4;-zx-m5vJm=xZ#(|05TT;3DbH0Ml_Hq!hwX8ku72OkJ>g6Bdsp{I%6|#y6ZrXf!Pw*QG1yVZI0~UfgSx{WPgGE%_Ro&h(Pb6K)J);_$icxqR`!pZ z8l>x_7XvN?RF;Eslk?+Dyq8%yu6cJ61o_zLd=8 zBPn%imp^7*Ay+@ieV(zkCirR9bDQhuckS<6+M_rp6z_QXZb8EO$vd+R!oyq$-e9P# zxet1VXU}F3IP#T|MNKQZf%d_WT^-J!9D@KeOzoCXZ$!uJdq1g>{2SBIE#l;%{S&;n zGoqHj4(pfxL#r&4Ejvu7H{6|UQn{t?QbtL-tui_wF!2sa7N#y+=XLY?=&&W{>>B%i zLEQaZ?6d3~i;-hp*uo=M8%It-FrD*=sl5+D8w9V?@zT_M$4m>M=)?!L@!L(JtR_Bj zqi@@Cy4ccV&+5n_?;Gv~ccj(o$@-Jm#}dOmmyh;^ggBIyFRe&+R|qDA{k;)IC2TyX z$Xd-(@>QPQhh=e+H>LzLH;g6w&NR4c?fNE#(&rV@q%5e(_*96znd>67}T^ycz&#OXa+!TtFxHFTZF;}QG z1u?SaJ?0X}R!g;u_@^or>uYle4AqW%6j{sCKCSnDr1H2ay**faZ+1*;3xVb;_nEB^ z0zoVH4g^mN8sC>;Jh^(D@k2sw4Be5JQ`T47S$N08RQ@EzhavdpRQCt%J7pH0*SuT~ zaO#tfv0trs@v#n9+i5a0tknLZaZO1&eQckRvazYgdeKiW*jSK#XYp+tZ~5AL#Ux7C z{Ovnq&MwO#SQ!v>1}8zF@_>Ml_)OmX#jk7`ac`x*5U}*|`C7VW3If;u$s#W=J7A`XPRmQrXpqtl-V|xc#@6=UK<=3d3jcoiN2yd+c zp+D}gAtwZ~+brG+v^(wzCv{Qt!>%{s8eQXyHLqpt&nNd!>%tX zv$FOgQfV3YwM=E6gn2SA4+7&Ck^9<2I6F1F!B{rjHnga^v5wa%ZePK_^?3kUo zlbM_SNgf(h2pTVkIG*WO^K^X7e;;n8-!p*|1v)%MQYBKrIiuT1CuHqSD< zCS)?s?m1P;<`@OLhzWBrpu-4cA_6A_Ly{zQGa?iq4@F)O1A-(6MHxb7|6!?`YmCcz zHNCGzS8=vXh$HiStybe|K@PhUybz5>eGX9!P>X=qu!&X=*j`tYK}DYKnhr6s&G?Mk z7@j6^mU_Aug5_kh2gJ6wpD3C#zOFgEz(L-!{J3_lJ(5TNxN)epS8Od+~kj1nTQll^;1(Qk&3N(C}NJM&6 zC7h6Yq)@QQaTr#KM1%; zv9jVKjbOKkaiv)SxiTi$D`SUI3Snl%v<+PI{L9&kRYk5@MMm1i7PFgO**ru&DE?Q} zdsyTDWQ?cI@P29ht5lj>wEq0*LE+QILF*u!_KQm!s`p0(N$G9_j+o_rcY2Y@15B88uO?e@i~wc=UDH(U$A|G&%Q-_0tnW zf9%|SrnY|^$yHi5x4t@Z1opo3$SLE^&g;bwZ=Sk! zfAv;yeYRaV-)I**vZM1~&VBsniSl>dec95T?abxji?@G$>*doeN5SalPu}}^k^9a6 OZDdk|>T2?p*Zu|~Pl3Sz literal 0 HcmV?d00001 diff --git a/themes/pmahomme/img/new_data_hovered.jpg b/themes/pmahomme/img/new_data_hovered.jpg deleted file mode 100644 index c385872addae2d7e33f78a2ef7d19f1cb5726118..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1558 zcmbV~X;c$u6o$XaB$EWN5?P9&6#)T7s$y6@6$(g%a0-GNDio33fXG1u1`3HFLM9}(R0^^^Ijm>^yuGaf2>^fqDntMfRxzfm5JVG1G6^A)i3mc{CXuz&3#)XrwRF^t`X=v3aReA9Xb};j zM)IE$dJ9lUzyz4WkQu;HAeaK7ZCDQ=g2tZu&1e>cgYg7}h}qD_1hu-DeHg|}6EMe^ zIvu+X@D#!lQ(HGg&p(W4mZ-lz<9IR2+`X#RAmF}y1ucAECRxkyW22>13rnk&tE}zp z9UPsUH+XFFq;K}}W^CQIof-Jmj-ZIhsOXs8tl0hRq~rsfl+;66hqH6OJ@Q@tiId-- zDkwaC=3>dE(#vJ#S1N8)*VNY4|J2ZUTh!Lx(Rt^t_(5;q!$*&wJnfeb%U+C(zWjCU zH^tQSo3}Hw%HQYITo8cYV`2FpxhNPHPW=stYAy(O01KFcCz#qIOWgd4VTpQX>oZ9D z?#GL(TFK_L0J%Z!2agy2Rhh)h@-$1;0j*0P}6oR zh^;rD2!@u+%QDB`KKE;DG5CcoFb>%q6h|^Mcgt72NXZ{ehNA=r@sX#J?!uNeH>IUK z*3IFCb3(0+J?+L4RX`wl4^O7=8Y!A6i9i9V+qb1}fv+;<6i643rz;AE6Ea5X5AEo+ zUj*4)Ut?2JNVjO<48$Mza%P&B6<0d8^YuAhS<2qUCr6Ts895J2whx|-eqCZY`}!jP zU{AHMlW>^Z8uuKAKAXso|W^6XBh+fha2(ZEb(d1?PD#5SAWK_|~u%3fDR&AW5k z`b{R*4oeoXnB4Wf!g$L=<*|(+7lTm{8(bK)E6VFufV56_-J!~8;0tBND_6PLr1n(0 zJ%7Q&uCbCV^powi9-eDpCIl6I{rQg%elWb!v3T1xZpGu+_DJV@F?rpC%Y=Ow#;&xN zPc;VxhrDsUWMcCTPhz*VywY#b<&7#Kp8qa9XZ-ZB6sl{&+zETeoZn39!eybYJV82{ z>te)_4Lz^VWAhBVqduD`y;p5f$gGQIkJ^QE!^_I&n_tQJS)uYRp-Rh*ljGOqlS4fd zL|KR)vq3J&s>u!U+4NXQNH6z@Gw)k=QQ6_W|FLUNje5bTw^nqNtW;BQ_EzrF;_66=%hs zOh-XmdYnQwbK(5(%PcnUFjq&pzf|eiI``?%1^pz;+tRykNAM+B}lqjDRrOmp^FI%BtB#EhPMgf6?kwIj1G2cnHjdD_+XlxwrQK3Y;vYE zE$Vg^wCaQUpeT65BE{{p3L-vKYr!pEK&qhP>dNjSK6t|mEG+~is%O~(1&JFA?0m-#9)WLSjbIh;YwxS%?ait4Bd(n(Wo zfoZ7fT|eJ|wG>sZ8`&JrrRpRNnSRx?@fS^-ped?$b!Z>05(K`uq@P>_~4p@ox5gdrz>-OwdIAqN!^goQv%jsuQ_52Ddfe(wmN>(DrSV0nl(tCydDE%FCyS}pffnf(hcw3Bw_E#3Q#Cf!W#hSRbvN%_fAG)! zrrw_h{~dVu{_UEMRZpKkIWe+-%b|RIUjDToEA8UJ!CmJc^qm|2z5mwXLjwoU-j>~G zw~Rc$aO~>7&Z9=*cw4r!PEx_x*x1Z!YV`fk-v36biG-6>qS@j@Jo;$C4th?-?TU&^ zJsU3^T=8-2^-H+$OyJ|d!%h*`G%dR`mQb?{_|YfW#O9e=vAR&f${&PO&^_`>w3zl&Fib) U+ za@`RWSi&{95g^z?e>%)D3^Db<6LMimA7QHhx`)P!Q_|LK6>VRcE?6U22QCyKptKR{ zcnJIf3S}V(9Z}jC7#*1m2FAddIBs&njD-_s1dg-JS!Qh7V8$_LbLfJ8$--8YiD67O zffJ^d{}ia}fXf0afFp)D0hEhiT!iX^H9(jqdGusVhM*XOi4#zUIc#XPgz_;Aie^H^ zu=@yn4j5dfm7}{KZXFg&IHlTncX^@so+k zr_Y{ir(e&!nVlnlpQpJHfGuFb_>Wv%$c571fS|b$Gy^)uWiTDxaVx(tA~x09$s?C# zv-wnIqtc8g2-hr$JJ`>*<$J1EX=yYQ*}ntJ`(I>l!T#oY066eJM7bCj2!T$e%xQ}` zk+Y|i=gBe zn$-)8D}K|3&QTyQn>43@#hX_Y5JX(h9+U|+A|dJAKC4MIUQSM_H};+;t(A(VSKSAS zjeJt5F139g{q8-_Ei)rNA+jSER}VcBJDss}Ebt@pHiVTAG)E6b*PTsI_cxlqJ%G@V zhAax)9!$^nGIZ$ub+Ay{EA|T=NX6J-S)Nx2A@$WZ6g0H_w6Qy+Zr7d88}9qeeKIV> zNh2;b7j4`*p2>aaBFS*iC`}Wd=2nE*Q{eg4ewTiuTV%Oj`K#g3bWfY%waB}uLQ*yD zJXEdSt|D#1z;w=3#fViVqP}ulBH3a(xSCeLetl2>pgnRCsC6aIW(0v zmC&=LXdtd~ru~ALx7Q~wsSmAt7Zh7A^$b@58 zg_;A^Cn>;qOg_`O8M_p=Ql9$ctL0J;t#3)8T8K*>hCDys9k^3Iu&O2hhfh50Y=f5G mEdIqY6s@0Nw=><=xh}Dh;iuaIjs6quI;O}b(zid6y8j2G);)Rv diff --git a/themes/pmahomme/img/new_data_selected.png b/themes/pmahomme/img/new_data_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..39aa50fc3b9dbfe6d3e5405bf16f523f96424b00 GIT binary patch literal 1173 zcmbVMO-K|`93N811TDm%I@B;pMYKC_X4f5e*sXSFc5}hCZQaUC&^YsS2c3D-%(GpU zz`hPCWS~$Ul(0fb2o1ELgIzpy=mSEMJ}!2VGCbLJd!w#(kb(wg-q-K<`+vOue{Q83 zPgRufE2k)`B2h1=$+*jX%Sy=ih-YUL8TR5>Gj2kyIH%Z(g{OpgK4N}U6)?L z5Ji<}dZrmSCmTc+8D7Q3c=Luu*c25yk+&4J9b&o#w&`Y=S$Q$b(7G08&etYE(vo0S zukW^DQ+H!V?QU0t8gt?}9m&T>CMWqFG;xI!zT@S&q zlF3bB)7eNANg110ESB>E)-c?-*3b@4!{2UfiFPtw7G%@VL7lcr?xXc!kxX*;cSA0a zcq5*+b#f_6hm6!t1DZG?hZ%C>)pSkd83~JaGHpNXU^){v&?-sqzLWD^1;>UY+^AJ6=!1N{*kMGcr@Tgv!9=q0jj#H`sVZA#Zvc2k%%?QPofvE{Q@jxjYa?f literal 0 HcmV?d00001 diff --git a/themes/pmahomme/img/new_data_selected_hovered.jpg b/themes/pmahomme/img/new_data_selected_hovered.jpg deleted file mode 100644 index a34ba219448fe3997b4f13dfa10cbf0adf79064a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1456 zcmex=|iA%5&sV`2y!sUGbl1MDlsq#GBOJ? z{yzfbGcdA(od*gTFkob2W?^Mx2Refrs9>uA(D}^FKu5CzT?|xR3zTPI5o8roG<0MW z4oqZMDikqloVbuf*=gfJ(V&YTRE(2~nmD<{#3dx9RMpfqG__1j&CD$Muc{znDOAzz*^kBU3pLGYhh?DjKp0IR>&P778mFHFAhJODfgMW&l8v;cQq(mrpHV$ay$OV zME$Mv{cklN#Q({9-~SgB&bUP8-)Z?xf!{9Kf91KV{Vx8-??>jH|M=^U@0YAouaJDJ zc&+5F|KZo^#pTP77AOnd@s#e}v|3;5NXh!^7TddjG^?L^*mm&RlcweDc@efz?;hQ3 zQCPC>{51BroWBFU|DA8c{G%ph?|+7;swp*rKaM|=@BYuQG5q+6n)nB+b-6=6oNwKF zSMAqzziadU-3zngDeqP(w%xv$yMrt;}4LG{cWe>&3r*n~iV(Gt^x4TeM&8d++(@>>ll0 zpSvwnqC8*MdnYqPN`r+(eOtjC+n#ww>#U|sYPmXP>esj&Rdds9`O8~H0^|Gc%Bugr F2>|FgG?f4V diff --git a/themes/pmahomme/img/new_data_selected_hovered.png b/themes/pmahomme/img/new_data_selected_hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..7105a2d289ccf48b7f983edab27fa5eba95647be GIT binary patch literal 1178 zcmbVLO-K}B7#>Tbq(6u#rD&Ku6u3J-`!nv~Cc87cwba_SyO0z_vooLW;Ld#0%;(N1 zkywY2ymVRUVA9PnN~l{>LLy0EmpoV(g&@#F5lI~a`$k>sAO#J~d_VI(&-4BcX4+5h zsc)<&2x3p_jFiRee(&A69e+>w_T})>fD#=j2Ro4?TY!kEumH%EE_Z<}kk#I6GoY0q zwyRpc19ha&2@2HxvS;IWbrYirqP5L6Wu+S+vH-d?BT9XK{*od!HA-C!rJ1xTf}(b& z&jPu=_Po;9twdC+?G)MS3Yb6#NG4sqWY~fmrPg=_y!WnYid-{6-BD`Ysg87p6rlyk zke~4>Oqe0Vte*`8d7f`3Ifi9uhND@|$MQme6Bvfvcqpu9shvVrN^WT3Q5_@UKBvyn)|>- zNo?2~iNYzPUD>2rKSS%f7uTA#jk4gk8(Ui2`Cb#ySzyB+OTqQ%JYEIk-2Gk1GsNBq z=PeBvMJ`ED>Cu6KQc{${fBdSZ3S3eQN)aZ^2jXIaVR86OEEaBXZH;e&xH$5vP| z91e4}Mn(b3WQ`T5Do$>HJQv9YnKsj21V<)NXW+1c6g@$r$75!~E`LSc1v zwW+CTWo6}va<>hW!;}=uyYJE4nZ37|-L;tysaIDj75DXOfAP@Wx>|euqjPxv*>L=F z%g4sX+{3R=&tILYDSzp%t&_H8oQ8=9H3RkTx7y|>+ipC)Utjz=a)8;@{Aq93z`}>4 sKb}V#9^P@DJ-T%7`}OZ{P9Ce-LEK(GSa|T_ohMDC67ACC_|==g02D)#T>t<8 literal 0 HcmV?d00001 diff --git a/themes/pmahomme/img/new_struct.jpg b/themes/pmahomme/img/new_struct.jpg deleted file mode 100644 index 283a5e9698bcb4adc5853bc8dab3871770b5e155..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1118 zcmeAS@N?(olHy`uVBq!ia0vp^${@_a3?wz#owI=yV{wqX6T`Z5GB1G~mUKs7M+SzC z{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fHRz`)E9 z;1l8sR3IQAU|?YIpF!=vr1gI_xBte0{~cof`(^x(Dfyq>_`j<6fA^gKb5{Ldx9k7m z)BkVX|Ns9#P}e9J4S``00;TS6K>0|b#5JNMI6tkVJh3R1As{g`uSCz!HAJDzSkKsO z3K#kx*pqTWvN& zCFtpUw~Jh^XBze|doIAunf8-&W7&xV(dS)bUMVJDp2;(9_05Lq=UVF8?{4|DENN!u z*5X*TC(mwf*zzZX|8Hs7*Qs@B?CN!G6VJ`4`?hh*H}=C{je@0;uDt<8k*BMl%Q~lo FCIEDhrXBzQ diff --git a/themes/pmahomme/img/new_struct.png b/themes/pmahomme/img/new_struct.png new file mode 100644 index 0000000000000000000000000000000000000000..14f7969712129c9033c513b054c22f9d06e8a13d GIT binary patch literal 1219 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 diff --git a/themes/pmahomme/img/new_struct_hovered.png b/themes/pmahomme/img/new_struct_hovered.png new file mode 100644 index 0000000000000000000000000000000000000000..5746ac16660a67e1cd001be538e29cc48e7daebb GIT binary patch literal 1220 zcmbVMU1$_n6rNzI#a8d$Cp%;lcV~8WB^#IB#cVOs%+B0o$7JSC zX70L^6if)oLz~qqO`*05(vlVxe_9L*l3EZfif!6T6icxMX=tA!La}|?-bu1)AA&*$ zX71nlzVDoK&zW~J9oyHh+qjORsP(BGN|uZ-`0q1o$ahQN`5YNu#)$&Xp&ndO9Z1D= zRD>X9s=Y7^Ref;aI&7h+HM)^6;6l1x(vZohz76A z$|}iaEwYNzC5&x}Wh<2mQwcK2>1FvyB;s=jLV#EV+(8SgUcho2>kJBXHOH{Afh^!N zszp@BQJQ$V6oP4|(<{W5yPPPJGS*XVmS;HDH2t_1tzDdj|GKfNwVNNbA)AFRDmxmv zkDkUlnB?y9LcSsKM%v{V!8ohAs(7Iiy6muo#TX363Y>bFo;s zS&^G!VzU?u);U(g%HeQCmbp+|78RaPaLtLN7*|4y5ac6DQi#>DDa*yGrNO$cL3Ed~ zMD;OPNp_%$k&{QLzg_{E62izWAsfiKCeUeEI;yz-3lG8^kT7ZTHUws?uW;r@!gjf&J2%UGb`U% z-jq|GIr{OLE`5IN$XJ_vXK;M-&8}HI{QLO(e;qz?@4&=#_0X@w)!SFTe)RBRtyXJX zOVvJ@$~l$yi1gbjC6@Po>YBa&(&)D5p8Eb~>s1$wBkJ|Jt@gPe^}S#G4Illy`K^YhsgYfq?pJG{`M)J9mFQ5;#=A%V E0apB`N&o-= literal 0 HcmV?d00001 diff --git a/themes/pmahomme/img/new_struct_selected.jpg b/themes/pmahomme/img/new_struct_selected.jpg deleted file mode 100644 index 16b2b8cb3db90f42d1603e4872f3a7d9f05f7ef3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1431 zcmbVKYfuwc6uz6yW|Ke%f<}po$U^}wL`a1C%=ichGZ>_R3ROT9jaV5)At(@eBUO}Q z6{U#a0}#gw@{&40XtV`KF;INa3WOB3BD%3WQWDtS4Q>6?A8pT_bMAL`&pr41_AL37 z>;vXLp5C4SK@boI7a-LjLoAa<0^sev5HJA%3@{7900L1E^x1#nZ4f&msPQ=sVpoI) z%;63X0tB6^kA)aT5n~M?$)hl(t}y0*?SA3XeFt4Ohy&)u3S0#4;9>>>PF6x5KY_J? z25BJ(6={^wQ7U3|I!b3?42IEh7L$Rqa0Y{E!ep^2gUHl`ZAv9nlc}RL3`H?E&cKZ& z|0$5ofWrjVzy?KZ0gZ#89E4QD93YsH9`$96hR{$t#=s#B6If7V4(X#PB#lAFusRXG z2Xqc*VdJ`*F>PZwZo7ZFTXJqO({4?rg6pp$>;>Boq_EgCW?J%Q&0pZ)=(JF{#NFeQ zrOVc?6MK5C_xAZTATVgt<}JYyJ9b9y+AZA^bMR1XoGkuuYFc_mX4bLnFY``+b>?jT zx$`BLE?>D?T2_9o>Q;44ZC(BChL-P?ckg}wLu*?{=Z{^FpFDlmt?t+SGVtQ%t6yJh z-~To|GCHRFeVo#T0CY+gjQ^;M19j1;8Q_#Igcb)K<~CQobaew$_#e_ZC*ZYy6LzIA$Aai_-1m~{x$@lcg`?BSPBxb0ueIls)x&K7+ibNu{+1g^Hp!ZmJ z&6yKrTVGj($Rx_~3pxCu>Zq}UCd*r7uOts;=)6;wUA{MBeZF1EH#UbYQ<8Kz3Ct$m zkw6gmO!s7TP-`{>6ME#tO+!>a2~vZS@U9hB#Mr&YS&bdT@3`)j(aX)4;FD?qteRcFuH7Nd`ml7PFUC}l2B8+U@gf}<%|lz8|^NOX3OdHu-;w@r_?w7qat z(Ksod9>{%S#9R*^`Ror|A~w$e diff --git a/themes/pmahomme/img/new_struct_selected.png b/themes/pmahomme/img/new_struct_selected.png new file mode 100644 index 0000000000000000000000000000000000000000..618ba8124210d6ec37deacbb0d2ed4232de6a5a9 GIT binary patch literal 1189 zcmbVMT}TvB6dtmoBrE98f@qi|!rGmm)t%kJE!UadT4>F7H{BqpaptOn&fIb4+OFEe z_TxheNhyU9LK^v?1XlWDoLJ?$GghWBu9d)e-DQIBk{+;uE=bZbUxl&Pn zBrkVYE4cWsK}VJ8YDQ5@EwlxzVasKRPMMs&Fr#DJ_eH$DR; z1d*d^i6lx!j|mFY-LhljPU|N2CWw;5X;W6}0V1nGt!4zM*|Bko)YJe~RUBoarU>e^ zqb(MQx0EN8mU_jnQil(bC20Wz=m5!NT5m9HAswI=a0NVfwrPr7FhTVJYB8u}w1O0& z1;}DI<5CzeLwZ>^>nY-S{vgRQEJHIK&2lc57d)K6FyzuhVKz&x5n@t!i3_g+R2@R5 zK+~yI%ANAKp;b$>e!t(r;5ZkyaM{fUlG853-kU{`fUQ`Xi8N@C4x(HQn^1tlkuIj7 zo6+bpuwgG13YUyd%O=gb8Cut!ycVo&6a&A*Skc-}G@F2q0UI`13cin;y;)~myT21T zhBzAGxTWDsksBnaH0i)V5h+076Su0V0v8sGBtPTjJ!N8uVR8CQFzEG3VsVi7@kO32 z#!9}T*XtKW##bit63d1dUntC%NktOpVf|8=3ub*IhK*!H0a;!R^Dg=FfAtka3&;ps z2?!gq3aF@q2-i<-X z#=+2zH2#oEb_?sznJx<-FP2*e7`R_7+!*HTk56$^RaG2Igff{-Z*OmRcXxYx`_$Cb zz`%fIS)HAo!^6YV)6+9EGp((yV`F23gM(dNT@w=%9UUEQZEd=)4-F0V_xJbp_4V}h zOioT>iO5W@I=e3vQt-8%N=KnbHDO36V!-0pR zrG>lCg>sql!Z%yaT=)vN-MCwQ@ABzW>wWRcjc?!Gd~0`}Uz1Pl$ZWs1>w4+9^W%tw L%BA~dXD|K&{*jh{ literal 0 HcmV?d00001 diff --git a/themes/pmahomme/img/new_struct_selected_hovered.jpg b/themes/pmahomme/img/new_struct_selected_hovered.jpg deleted file mode 100644 index 77a53715d4df5bb38d5bff0d8a2edc990a7eeb06..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1463 zcmex=xo=LsQGd)Xdz%(#qMz)y>_* z(^ba{);9$Fa6T9o^={>(dhU!U-`;gg*V?x3$uW`CmvWz}`#gaua#w@0WqQm6Be&y! zOw`{x-~U$gLHwVr_x*oC;fzaU{+*WJ6!`6u{a2o=+ON;w5I%mN!-nyre&pUCb5}=Z z+-kkosJgx7kN?USkN(|u+h6Xmd5?Nu%b({BMx2bjbvuvli9aG~m(F9xw_Qcl!n)|- ztLx=rXB1gg%PKhjF0{{*`_HiXc|$#a*Yy2=maOUTvX}Vd{IUL<){me3-G4+=7iP_q z{IG5JlKW9FZ(Y8B`_ysAzKDwDSG%LCsdlDz^RA%`*`*-on{|ut0^PA)(Ki2o^ z+Xz0MtzBDH9i88GPhdy?*_}K+hfY1yxX2{fK{(4&yM+(^`GHa zTV_c?zjz^E;mq^AJ!{Xi`{mu)5VdsK#;!yQjn#{P*?c;_{qJX2tFAw@@0r`rkyZH5 za7^dl$#`Go{|o_pgZB0Oom-zV*ZG0m$~Dn`FNgX0SQ{dR)?84fzuKbUcS|EB$i_cz;bk?-B&8~6NhoZuzht+K-LA4I<` zHXpQKgQGeMX>#g@cl>L!E zKmJFs@qdO-yH?f2{by)u0{X)6&3}f}{Eq!>_37uOGiJG-@2pW?eLM4(TJr80+sOd#)3?~^13jQc->@`V4Cad}w)-!Fwrl`&#F5Yt82XIOFO!S_Ef zw4ukD>ya$T+A{1nt`0k}d$_Bh4G(BBow;(E?(`%gU_z|Yo>{V7$%`|Gx)PcD+Z;n5 zLhwMGIdZBeo1@ zSJKC}$SThCV{A(tSE*FkN|;4XAIHaHF<(OvLIe?Vhb*jmA(~s*A?czNA$Bk3bZehrVTpqe;(9y_! z^j>U|N$wtR$OjT{q}LpST#8y!kTz&S3ulx#Lrz%T&?O-)w<|Fa6~jq61$YuZNF<^i ziX2IZ9b$X9sc{-tjz(j$4CJINDmwIf_+*j!}ks+Ce6Lm|e*@#d=uy zuc(i>`v1uoN1WmO()d@YG`C3o`O}laCySHTffnf(hcw15RBt0qW#q0EQq^j8ZEbCS zetu+Rq|s>1%*>R_<*lu)v9Yo3?d{3Q$zristJRj4mKGNmXJ=>E*VlJ;cIx%|+}zyM z)YSO+_~_{9!otGp>ME)7m6es{<>l$=>Ak(Zjg5^`sdR8~(AwI%zrVlfmHppBC8Hz? z-sYP>XP){ncQ&y4XksG&wR^ty*9-Nw+~uv^+J%?ye3kt4LjA`Ij)*Nc)W$Qv-MjR} z8UF5P!M2;#sc(~i-tYMQ;r;!o4B)T7J1b3%>c{yI21h qf8)kGyNzc*y2pL|d)LD=fC@f1|LCok?`#qms7$I$xs`nPgTDcN`K(s} literal 0 HcmV?d00001