Ninja Tables – WP Data Table Plugin for WordPress - Version 4.1.12

Version Description

Download this release

Release Info

Developer techjewel
Plugin Icon 128x128 Ninja Tables – WP Data Table Plugin for WordPress
Version 4.1.12
Comparing to
See all releases

Code changes from version 4.1.11 to 4.1.12

admin/DeactivationMessage.php CHANGED
@@ -47,11 +47,7 @@ class DeactivationMessage
47
  }
48
  $reasons = $this->getReasons();
49
  $slug = $this->slug;
50
- ob_start();
51
  include 'partials/deactive_form.php';
52
- $message = ob_get_clean();
53
-
54
- echo $message;
55
  }
56
 
57
  public function getReasons() {
@@ -104,4 +100,4 @@ class DeactivationMessage
104
  $whitelist = array('127.0.0.1', '::1');
105
  return in_array($this->get_request_from(), $whitelist);
106
  }
107
- }
47
  }
48
  $reasons = $this->getReasons();
49
  $slug = $this->slug;
 
50
  include 'partials/deactive_form.php';
 
 
 
51
  }
52
 
53
  public function getReasons() {
100
  $whitelist = array('127.0.0.1', '::1');
101
  return in_array($this->get_request_from(), $whitelist);
102
  }
103
+ }
admin/NinjaTablesAdmin.php CHANGED
@@ -585,13 +585,11 @@ class NinjaTablesAdmin
585
  public function saveCustomCSSJS()
586
  {
587
  $tableId = intval($_REQUEST['table_id']);
588
- $data = ninja_tables_sanitize_array($_REQUEST);
589
-
590
- $css = $data['custom_css'];
591
  $css = wp_strip_all_tags($css);
592
  update_post_meta($tableId, '_ninja_tables_custom_css', $css);
593
 
594
- do_action('ninja_tables_custom_code_before_save', $data);
595
 
596
  wp_send_json_success(array(
597
  'message' => 'Code successfully saved'
@@ -642,10 +640,13 @@ class NinjaTablesAdmin
642
 
643
  if (isset($_REQUEST['columns'])) {
644
  $rawColumns = ninja_tables_sanitize_array($_REQUEST['columns']);
645
-
646
  if ($rawColumns && is_array($rawColumns)) {
647
  foreach ($rawColumns as $column) {
648
  foreach ($column as $column_index => $column_value) {
 
 
 
649
  if (is_int($column_value)) {
650
  $column[$column_index] = intval($column_value);
651
  } else {
@@ -845,6 +846,7 @@ class NinjaTablesAdmin
845
  public function storeData()
846
  {
847
  $tableId = intval($_REQUEST['table_id']);
 
848
  $row = ninja_tables_sanitize_array($_REQUEST['row']);
849
  $formattedRow = array();
850
 
@@ -1163,7 +1165,7 @@ class NinjaTablesAdmin
1163
  select_error: '<?php _e('Please select a table'); ?>',
1164
  insert_text: '<?php _e('Insert Shortcode', 'ninja-tables'); ?>',
1165
  tables: <?php echo json_encode($tables);?>,
1166
- logo: <?php echo json_encode(NINJA_TABLES_DIR_URL . 'assets/img/ninja-table-editor-button-2x.png');?>
1167
  }
1168
  </script>
1169
  <?php
585
  public function saveCustomCSSJS()
586
  {
587
  $tableId = intval($_REQUEST['table_id']);
588
+ $css = sanitize_textarea_field($_REQUEST['custom_css']);
 
 
589
  $css = wp_strip_all_tags($css);
590
  update_post_meta($tableId, '_ninja_tables_custom_css', $css);
591
 
592
+ do_action('ninja_tables_custom_code_before_save', $_REQUEST);
593
 
594
  wp_send_json_success(array(
595
  'message' => 'Code successfully saved'
640
 
641
  if (isset($_REQUEST['columns'])) {
642
  $rawColumns = ninja_tables_sanitize_array($_REQUEST['columns']);
643
+ $provider = ninja_table_get_data_provider($tableId);
644
  if ($rawColumns && is_array($rawColumns)) {
645
  foreach ($rawColumns as $column) {
646
  foreach ($column as $column_index => $column_value) {
647
+ if ($provider === 'google-csv' && gettype($column_value) === 'string') {
648
+ $column_value = htmlspecialchars_decode($column_value);
649
+ }
650
  if (is_int($column_value)) {
651
  $column[$column_index] = intval($column_value);
652
  } else {
846
  public function storeData()
847
  {
848
  $tableId = intval($_REQUEST['table_id']);
849
+ ninja_tables_allowed_css_properties();
850
  $row = ninja_tables_sanitize_array($_REQUEST['row']);
851
  $formattedRow = array();
852
 
1165
  select_error: '<?php _e('Please select a table'); ?>',
1166
  insert_text: '<?php _e('Insert Shortcode', 'ninja-tables'); ?>',
1167
  tables: <?php echo json_encode($tables);?>,
1168
+ logo: '<?php echo NINJA_TABLES_DIR_URL . 'assets/img/ninja-table-editor-button-2x.png'; ?>'
1169
  }
1170
  </script>
1171
  <?php
admin/partials/deactive_form.php CHANGED
@@ -1,4 +1,4 @@
1
- <div class="ninja-deactivation-feedback <?php esc_attr_e($slug); ?>_modal no-confirmation-message">
2
  <div class="ninja-modal-dialog">
3
  <div class="ninja-modal-header"><h4>Quick feedback</h4></div>
4
  <div class="ninja-modal-body">
@@ -10,15 +10,15 @@
10
  <li class="reason">
11
  <label>
12
  <span>
13
- <input class="<?php esc_attr_e(($reason['has_custom']) ? 'has_custom' : ''); ?>" type="radio" name="selected-reason" value="<?php esc_attr_e($reason_key); ?>">
14
  </span>
15
- <span><?php esc_attr_e($reason['label']); ?></span>
16
  </label>
17
  <?php if($reason['has_custom']): ?>
18
  <div class="ninja_custom_feedback">
19
  <label>
20
- <span><?php esc_attr_e($reason['custom_label']); ?></span>
21
- <input type="text" name="<?php esc_attr_e($reason_key); ?>_custom" placeholder="<?php esc_attr_e($reason['custom_placeholder']); ?>" />
22
  </label>
23
  </div>
24
  <?php endif; ?>
@@ -37,10 +37,10 @@
37
  <script type="text/javascript">
38
  jQuery(document).ready(function ($) {
39
 
40
- jQuery('tr[data-slug="<?php esc_attr_e($slug);?>"]').on('click', '.deactivate a', function (e) {
41
  e.preventDefault();
42
- $('.<?php esc_attr_e($slug); ?>_modal').addClass('active');
43
- $('.<?php esc_attr_e($slug); ?>_modal a.ninja_action_deactivate').attr('href', $(this).attr('href'));
44
  });
45
 
46
  $('.ninja_action_close').on('click', function(e) {
@@ -48,14 +48,14 @@
48
  $('.ninja-deactivation-feedback').removeClass('active');
49
  });
50
 
51
- $('.<?php esc_attr_e($slug); ?>_modal input[name="selected-reason"').on('change', function (e) {
52
  e.preventDefault();
53
  $('a.ninja_action_deactivate').text('Submit & Deactive').addClass('has_feedback');
54
  $('.ninja_custom_feedback').removeClass('active');
55
  $(this).closest('.reason').find('.ninja_custom_feedback').addClass('active');
56
  });
57
 
58
- $('.<?php esc_attr_e($slug); ?>_modal .ninja-modal-footer').on('click', 'a.ninja_action_deactivate.has_feedback', function (e) {
59
  e.preventDefault();
60
  var redirectLink = $(this).attr('href');
61
 
@@ -63,7 +63,7 @@
63
  var custom_message = $('input[name="'+reason+'_custom"]').val();
64
  $(this).text('Deactivating...').attr('disabled', true);
65
  jQuery.post(ajaxurl, {
66
- action: '<?php esc_attr_e($slug); ?>_deactivate_feedback',
67
  reason: reason,
68
  custom_message: custom_message
69
  })
@@ -160,4 +160,4 @@
160
  padding: 5px 10px;
161
  }
162
 
163
- </style>
1
+ <div class="ninja-deactivation-feedback <?php echo esc_attr($slug); ?>_modal no-confirmation-message">
2
  <div class="ninja-modal-dialog">
3
  <div class="ninja-modal-header"><h4>Quick feedback</h4></div>
4
  <div class="ninja-modal-body">
10
  <li class="reason">
11
  <label>
12
  <span>
13
+ <input class="<?php echo esc_attr(($reason['has_custom']) ? 'has_custom' : ''); ?>" type="radio" name="selected-reason" value="<?php echo esc_attr($reason_key); ?>">
14
  </span>
15
+ <span><?php echo esc_attr($reason['label']); ?></span>
16
  </label>
17
  <?php if($reason['has_custom']): ?>
18
  <div class="ninja_custom_feedback">
19
  <label>
20
+ <span><?php echo esc_attr($reason['custom_label']); ?></span>
21
+ <input type="text" name="<?php echo esc_attr($reason_key); ?>_custom" placeholder="<?php echo esc_attr($reason['custom_placeholder']); ?>" />
22
  </label>
23
  </div>
24
  <?php endif; ?>
37
  <script type="text/javascript">
38
  jQuery(document).ready(function ($) {
39
 
40
+ jQuery('tr[data-slug="<?php echo esc_attr($slug);?>"]').on('click', '.deactivate a', function (e) {
41
  e.preventDefault();
42
+ $('.<?php echo esc_attr($slug); ?>_modal').addClass('active');
43
+ $('.<?php echo esc_attr($slug); ?>_modal a.ninja_action_deactivate').attr('href', $(this).attr('href'));
44
  });
45
 
46
  $('.ninja_action_close').on('click', function(e) {
48
  $('.ninja-deactivation-feedback').removeClass('active');
49
  });
50
 
51
+ $('.<?php echo esc_attr($slug); ?>_modal input[name="selected-reason"').on('change', function (e) {
52
  e.preventDefault();
53
  $('a.ninja_action_deactivate').text('Submit & Deactive').addClass('has_feedback');
54
  $('.ninja_custom_feedback').removeClass('active');
55
  $(this).closest('.reason').find('.ninja_custom_feedback').addClass('active');
56
  });
57
 
58
+ $('.<?php echo esc_attr($slug); ?>_modal .ninja-modal-footer').on('click', 'a.ninja_action_deactivate.has_feedback', function (e) {
59
  e.preventDefault();
60
  var redirectLink = $(this).attr('href');
61
 
63
  var custom_message = $('input[name="'+reason+'_custom"]').val();
64
  $(this).text('Deactivating...').attr('disabled', true);
65
  jQuery.post(ajaxurl, {
66
+ action: '<?php echo esc_attr($slug); ?>_deactivate_feedback',
67
  reason: reason,
68
  custom_message: custom_message
69
  })
160
  padding: 5px 10px;
161
  }
162
 
163
+ </style>
includes/libs/Lead/LeadFlow.php CHANGED
@@ -99,16 +99,16 @@ class LeadFlow {
99
  public function showNotices() {
100
  foreach ( $this->notices as $notice ) {
101
  ?>
102
- <div data-notice_id="<?php esc_attr_e($notice['id']); ?>"
103
- class="notice notice-<?php esc_attr_e($notice['type']); ?> mn-notices mn-has-title">
104
  <?php if ( $notice['title'] ): ?>
105
- <label class="mn-plugin-title"><?php esc_html_e($notice['title']); ?></label>
106
  <?php endif; ?>
107
  <div class="mn-close">
108
  <i class="dashicons dashicons-no" title="Dismiss"></i><span>Dismiss</span>
109
  </div>
110
  <div class="mn-notice-body">
111
- <?php esc_html_e($notice['message']); ?>
112
  </div>
113
  </div>
114
  <?php
99
  public function showNotices() {
100
  foreach ( $this->notices as $notice ) {
101
  ?>
102
+ <div data-notice_id="<?php echo esc_attr($notice['id']); ?>"
103
+ class="notice notice-<?php echo esc_attr($notice['type']); ?> mn-notices mn-has-title">
104
  <?php if ( $notice['title'] ): ?>
105
+ <label class="mn-plugin-title"><?php echo esc_html($notice['title']); ?></label>
106
  <?php endif; ?>
107
  <div class="mn-close">
108
  <i class="dashicons dashicons-no" title="Dismiss"></i><span>Dismiss</span>
109
  </div>
110
  <div class="mn-notice-body">
111
+ <?php echo esc_html($notice['message']); ?>
112
  </div>
113
  </div>
114
  <?php
includes/libs/TableDrivers/NinjaFooTable.php CHANGED
@@ -87,7 +87,7 @@ class NinjaFooTable
87
  $css = self::generateCustomColorCSS($tableArray, $extra_css);
88
  if ($css) {
89
  add_action('ninja_tables_after_table_print', function () use ($css) {
90
- echo $css;
91
  });
92
  }
93
  }
@@ -536,7 +536,7 @@ class NinjaFooTable
536
  if (!$ownOnly && $isHtmlCacheEnabled) {
537
  $cachedTableData = self::getTableCachedHTML($tableId, $table_vars);
538
  if ($cachedTableData) {
539
- echo $cachedTableData;
540
  return;
541
  }
542
  }
@@ -561,7 +561,7 @@ class NinjaFooTable
561
  update_post_meta($tableId, '__last_ninja_table_last_cached_time', time());
562
  }
563
  update_post_meta($tableId, '__ninja_cached_table_html', $tableHtml);
564
- echo $tableHtml;
565
  return;
566
  }
567
 
@@ -660,7 +660,7 @@ class NinjaFooTable
660
  add_action('wp_footer', function () use ($vars, $table_id, $table_instance_name) {
661
  ?>
662
  <script type="text/javascript">
663
- window['<?php echo $table_instance_name;?>'] = <?php echo $vars; ?>
664
  </script>
665
  <?php
666
  });
@@ -707,7 +707,7 @@ class NinjaFooTable
707
  $atts_string .= $att_name . '="' . $att . '" ';
708
  }
709
  }
710
- return (string)$atts_string;
711
  }
712
 
713
  public static function getFormattedColumn($column, $index, $settings, $globalSorting, $sortingType)
87
  $css = self::generateCustomColorCSS($tableArray, $extra_css);
88
  if ($css) {
89
  add_action('ninja_tables_after_table_print', function () use ($css) {
90
+ echo $css; // WPCS: XSS ok.
91
  });
92
  }
93
  }
536
  if (!$ownOnly && $isHtmlCacheEnabled) {
537
  $cachedTableData = self::getTableCachedHTML($tableId, $table_vars);
538
  if ($cachedTableData) {
539
+ echo $cachedTableData; // WPCS: XSS ok.
540
  return;
541
  }
542
  }
561
  update_post_meta($tableId, '__last_ninja_table_last_cached_time', time());
562
  }
563
  update_post_meta($tableId, '__ninja_cached_table_html', $tableHtml);
564
+ echo $tableHtml; // WPCS: XSS ok.
565
  return;
566
  }
567
 
660
  add_action('wp_footer', function () use ($vars, $table_id, $table_instance_name) {
661
  ?>
662
  <script type="text/javascript">
663
+ window['<?php echo esc_attr($table_instance_name);?>'] = <?php echo $vars; // WPCS: XSS ok. ?>
664
  </script>
665
  <?php
666
  });
707
  $atts_string .= $att_name . '="' . $att . '" ';
708
  }
709
  }
710
+ return (string) $atts_string;
711
  }
712
 
713
  public static function getFormattedColumn($column, $index, $settings, $globalSorting, $sortingType)
includes/libs/TableDrivers/views/ninja_foo_table.php CHANGED
@@ -1,5 +1,5 @@
1
- <div id="footable_parent_<?php esc_attr_e($table_id); ?>"
2
- class="footable_parent ninja_table_wrapper loading_ninja_table wp_table_data_press_parent <?php esc_attr_e($settings['css_lib']); ?> <?php esc_attr_e($tableHasColor); ?>">
3
  <?php if (isset($settings['show_title']) && $settings['show_title']) : ?>
4
  <?php do_action('ninja_tables_before_table_title', $table); ?>
5
  <h3 class="table_title footable_title"><?php echo esc_attr($table->post_title); ?></h3>
@@ -13,16 +13,16 @@
13
  $table); ?>
14
  <?php endif; ?>
15
  <?php do_action('ninja_tables_before_table_print', $table, $table_vars); ?>
16
- <table data-ninja_table_instance="<?php esc_attr_e($table_instance_name); ?>" <?php echo($foo_table_attributes); ?>
17
  id="footable_<?php echo intval($table_id); ?>"
18
- data-unique_identifier="<?php esc_attr_e($tableArray['uniqueID']); ?>"
19
- class=" foo-table ninja_footable foo_table_<?php echo intval($table_id); ?> <?php esc_attr_e($tableArray['uniqueID']); ?> <?php echo esc_attr($table_classes); ?>">
20
  <?php if ($tableCaption): ?>
21
- <caption><?php esc_attr_e($tableCaption); ?></caption>
22
  <?php endif; ?>
23
  <colgroup>
24
  <?php foreach ($formatted_columns as $index => $column) : ?>
25
- <col class="ninja_column_<?php esc_attr_e($index . ' ' . $column['breakpoints']); ?>">
26
  <?php endforeach; ?>
27
  </colgroup>
28
  <?php do_action('ninja_tables_inside_table_render', $table, $table_vars); ?>
1
+ <div id="footable_parent_<?php echo esc_attr($table_id); ?>"
2
+ class="footable_parent ninja_table_wrapper loading_ninja_table wp_table_data_press_parent <?php echo esc_attr($settings['css_lib']); ?> <?php echo esc_attr($tableHasColor); ?>">
3
  <?php if (isset($settings['show_title']) && $settings['show_title']) : ?>
4
  <?php do_action('ninja_tables_before_table_title', $table); ?>
5
  <h3 class="table_title footable_title"><?php echo esc_attr($table->post_title); ?></h3>
13
  $table); ?>
14
  <?php endif; ?>
15
  <?php do_action('ninja_tables_before_table_print', $table, $table_vars); ?>
16
+ <table data-ninja_table_instance="<?php echo esc_attr($table_instance_name); ?>" <?php echo $foo_table_attributes; // WPCS: XSS ok. ?>
17
  id="footable_<?php echo intval($table_id); ?>"
18
+ data-unique_identifier="<?php echo esc_attr($tableArray['uniqueID']); ?>"
19
+ class=" foo-table ninja_footable foo_table_<?php echo intval($table_id); ?> <?php echo esc_attr($tableArray['uniqueID']); ?> <?php echo esc_attr($table_classes); ?>">
20
  <?php if ($tableCaption): ?>
21
+ <caption><?php echo esc_attr($tableCaption); ?></caption>
22
  <?php endif; ?>
23
  <colgroup>
24
  <?php foreach ($formatted_columns as $index => $column) : ?>
25
+ <col class="ninja_column_<?php echo esc_attr($index . ' ' . $column['breakpoints']); ?>">
26
  <?php endforeach; ?>
27
  </colgroup>
28
  <?php do_action('ninja_tables_inside_table_render', $table, $table_vars); ?>
includes/libs/TableDrivers/views/ninja_footable_css.php CHANGED
@@ -1,80 +1,79 @@
1
- <style id="ninja_table_custom_css_<?php esc_attr_e($tableId); ?>" type="text/css">
2
- <?php $css_prefix = esc_attr($css_prefix); ?>
3
  <?php if($fonts):?>
4
- <?php echo $css_prefix; ?> {
5
- font-family: <?php esc_attr_e($fonts['table_font_family']);?>;
6
- font-size: <?php esc_attr_e($fonts['table_font_size']);?>px;
7
  }
8
  <?php endif;?>
9
  <?php if($colors): ?>
10
- <?php echo $css_prefix; ?>,
11
- <?php echo $css_prefix; ?> table {
12
- background-color: <?php esc_attr_e($colors['table_color_primary']); ?> !important;
13
- color: <?php esc_attr_e($colors['table_color_secondary']); ?> !important;
14
- border-color: <?php esc_attr_e($colors['table_color_border']); ?> !important;
15
  }
16
- <?php echo $css_prefix; ?> thead tr.footable-filtering th {
17
- background-color: <?php esc_attr_e($colors['table_search_color_primary']); ?> !important;
18
- color: <?php esc_attr_e($colors['table_search_color_secondary']); ?> !important;
19
  }
20
- <?php echo $css_prefix; ?>:not(.hide_all_borders) thead tr.footable-filtering th {
21
  <?php if($colors['table_search_color_border']): ?>
22
- border : 1px solid <?php esc_attr_e($colors['table_search_color_border']); ?> !important;
23
  <?php else: ?>
24
  border : 1px solid transparent !important;
25
  <?php endif; ?>
26
  }
27
- <?php echo $css_prefix; ?> .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
28
- background-color: <?php esc_attr_e($colors['table_search_color_secondary']); ?> !important;
29
- color: <?php esc_attr_e($colors['table_search_color_primary']); ?> !important;
30
  }
31
- <?php echo $css_prefix; ?> tr.footable-header, <?php echo $css_prefix; ?> tr.footable-header th, .colored_table table.ninja_table_pro.inverted.table.footable-details tbody tr th {
32
- background-color: <?php esc_attr_e($colors['table_header_color_primary']); ?> !important;
33
- color: <?php esc_attr_e($colors['table_color_header_secondary']); ?> !important;
34
  }
35
  <?php if($colors['table_color_header_border']) : ?>
36
- <?php echo $css_prefix; ?>:not(.hide_all_borders) tr.footable-header th, <?php echo $css_prefix; ?>:not(.hide_all_borders) tbody tr th {
37
- border-color: <?php esc_attr_e($colors['table_color_header_border']); ?> !important;
38
  }
39
  <?php endif; ?>
40
 
41
  <?php if(isset($colors['table_color_border']) && $colors['table_color_border']) : ?>
42
- <?php echo $css_prefix; ?>:not(.hide_all_borders) tbody tr td {
43
- border-color: <?php esc_attr_e($colors['table_color_border']); ?> !important;
44
  }
45
  <?php endif; ?>
46
- <?php echo $css_prefix; ?> tbody tr:hover {
47
- background-color: <?php esc_attr_e($colors['table_color_primary_hover']); ?> !important;
48
- color: <?php esc_attr_e($colors['table_color_secondary_hover']); ?> !important;
49
  }
50
- <?php echo $css_prefix; ?> tbody tr:hover td {
51
- border-color: <?php esc_attr_e($colors['table_color_border_hover']); ?> !important;
52
  }
53
  <?php if(isset($colors['alternate_color_status']) && $colors['alternate_color_status'] == 'yes'): ?>
54
- <?php echo $css_prefix; ?> tbody tr:nth-child(even) {
55
- background-color: <?php esc_attr_e($colors['table_alt_color_primary']); ?> !important;
56
- color: <?php esc_attr_e($colors['table_alt_color_secondary']); ?> !important;
57
  }
58
- <?php echo $css_prefix; ?> tbody tr:nth-child(odd) {
59
- background-color: <?php esc_attr_e($colors['table_alt_2_color_primary']); ?> !important;
60
- color: <?php esc_attr_e($colors['table_alt_2_color_secondary']); ?> !important;
61
  }
62
- <?php echo $css_prefix; ?> tbody tr:nth-child(even):hover {
63
- background-color: <?php esc_attr_e($colors['table_alt_color_hover']); ?> !important;
64
  }
65
- <?php echo $css_prefix; ?> tbody tr:nth-child(odd):hover {
66
- background-color: <?php esc_attr_e($colors['table_alt_2_color_hover']); ?> !important;
67
  }
68
  <?php endif; ?>
69
 
70
- <?php echo $css_prefix; ?> tfoot .footable-paging {
71
- background-color: <?php esc_attr_e($colors['table_footer_bg']); ?> !important;
72
  }
73
- <?php echo $css_prefix; ?> tfoot .footable-paging .footable-page.active a {
74
- background-color: <?php esc_attr_e($colors['table_footer_active']); ?> !important;
75
  }
76
- <?php echo $css_prefix; ?>:not(.hide_all_borders) tfoot tr.footable-paging td {
77
- border-color: <?php esc_attr_e($colors['table_footer_border']); ?> !important;
78
  }
79
  <?php endif; ?>
80
  <?php if($cellStyles): ?>
@@ -83,79 +82,78 @@
83
  $cell = maybe_unserialize($cellStyle->settings);
84
  $cellPrefix = $css_prefix.'.ninja_footable.ninja_table_pro tbody tr.nt_row_id_'.$cellStyle->id;
85
  ?>
86
- <?php esc_attr_e($cellPrefix)?> {
87
- <?php if(@$cell['row_bg']): ?>background: <?php esc_attr_e($cell['row_bg'].'!important;'); endif; ?>
88
- <?php if(@$cell['text_color']): ?>color: <?php esc_attr_e($cell['text_color'].'!important;'); endif; ?>}
89
  <?php if($cell && isset($cell['cell']) && is_array($cell['cell'])) : foreach ($cell['cell'] as $cell_key => $values): ?>
90
  <?php $specCellPrefix = $cellPrefix.' .ninja_clmn_nm_'.$cell_key; ?>
91
- <?php esc_attr_e($specCellPrefix) ?> {
92
  <?php foreach ($values as $value_key => $value){ ?>
93
- <?php if($value): esc_attr_e($value_key); ?> : <?php esc_attr_e($value.';'); endif; ?>
94
  <?php } ?>
95
  }
96
- <?php esc_attr_e($specCellPrefix) ?> > * { color: inherit }
97
  <?php endforeach; endif; // end of if(is_array($cell['cell'])) ?>
98
  <?php endforeach; ?>
99
  <?php endif; ?>
100
 
101
  <?php if($hasStackable): ?>
102
- <?php echo $css_prefix; ?>.ninja_stacked_table > tbody, <?php echo $css_prefix; ?>.ninja_stacked_table {
103
  background: transparent !important;
104
  }
105
  <?php if ($colors) : ?>
106
- <?php echo $css_prefix; ?>.ninja_stacked_table .footable-details tbody {
107
- background-color: <?php esc_attr_e($colors['table_color_primary']); ?> !important;
108
- color: <?php esc_attr_e($colors['table_color_secondary']); ?> !important;
109
- border-color: <?php esc_attr_e($colors['table_color_border']); ?> !important;
110
- }
111
- <?php esc_attr_e($stackPrefix); ?> thead tr.footable-filtering th {
112
- background-color: <?php esc_attr_e($colors['table_search_color_primary']); ?> !important;
113
- color: <?php esc_attr_e($colors['table_search_color_secondary']); ?> !important;
114
  }
115
- <?php esc_attr_e($stackPrefix); ?>:not(.hide_all_borders) thead tr.footable-filtering th {
116
  <?php if($colors['table_search_color_border']): ?>
117
- border : 1px solid <?php esc_attr_e($colors['table_search_color_border']); ?> !important;
118
  <?php else: ?>
119
  border : 1px solid transparent !important;
120
  <?php endif; ?>
121
  }
122
- <?php esc_attr_e($stackPrefix); ?> .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
123
- background-color: <?php esc_attr_e($colors['table_search_color_secondary']); ?> !important;
124
- color: <?php esc_attr_e($colors['table_search_color_primary']); ?> !important;
125
  }
126
- <?php esc_attr_e($stackPrefix); ?> tr.footable-header, <?php esc_attr_e($stackPrefix); ?> tr.footable-header th {
127
- background-color: <?php esc_attr_e($colors['table_header_color_primary']); ?> !important;
128
- color: <?php esc_attr_e($colors['table_color_header_secondary']); ?> !important;
129
  }
130
  <?php endif; ?>
131
  <?php if(isset($colors['table_color_header_border']) && $colors['table_color_header_border']) : ?>
132
- <?php esc_attr_e($stackPrefix); ?>:not(.hide_all_borders) tr.footable-header th {
133
- border-color: <?php esc_attr_e($colors['table_color_header_border']); ?> !important;
134
  }
135
  <?php endif; ?>
136
 
137
  <?php if(isset($colors['table_color_border']) && $colors['table_color_border']) : ?>
138
- <?php echo $css_prefix; ?>:not(.hide_all_borders) tbody tr td table {
139
- border-color: <?php esc_attr_e($colors['table_color_border']); ?> !important;
140
  }
141
  <?php endif; ?>
142
  <?php if(isset($css_prefix['alternate_color_status']) && $css_prefix['alternate_color_status'] == 'yes'): ?>
143
- <?php esc_attr_e($stackPrefix); ?> tbody tr:nth-child(even) {
144
- background-color: <?php esc_attr_e($colors['table_alt_color_primary']); ?>;
145
- color: <?php esc_attr_e($colors['table_alt_color_secondary']); ?>;
146
  }
147
- <?php esc_attr_e($stackPrefix); ?> tbody tr:nth-child(odd) {
148
- background-color: <?php esc_attr_e($colors['table_alt_2_color_primary']); ?>;
149
- color: <?php esc_attr_e($colors['table_alt_2_color_secondary']); ?>;
150
  }
151
- <?php esc_attr_e($stackPrefix); ?> tbody tr:nth-child(even):hover {
152
- background-color: <?php esc_attr_e($colors['table_alt_color_hover']); ?>;
153
  }
154
- <?php esc_attr_e($stackPrefix); ?> tbody tr:nth-child(odd):hover {
155
- background-color: <?php esc_attr_e($colors['table_alt_2_color_hover']); ?>;
156
  }
157
  <?php endif; ?>
158
  <?php endif; ?>
159
-
160
- <?php esc_attr_e($custom_css); ?>
161
  </style>
1
+ <style id="ninja_table_custom_css_<?php echo esc_attr($tableId); ?>" type="text/css">
 
2
  <?php if($fonts):?>
3
+ <?php echo esc_attr($css_prefix); ?> {
4
+ font-family: <?php echo esc_attr($fonts['table_font_family']);?>;
5
+ font-size: <?php echo esc_attr($fonts['table_font_size']);?>px;
6
  }
7
  <?php endif;?>
8
  <?php if($colors): ?>
9
+ <?php echo esc_attr($css_prefix); ?>,
10
+ <?php echo esc_attr($css_prefix); ?> table {
11
+ background-color: <?php echo esc_attr($colors['table_color_primary']); ?> !important;
12
+ color: <?php echo esc_attr($colors['table_color_secondary']); ?> !important;
13
+ border-color: <?php echo esc_attr($colors['table_color_border']); ?> !important;
14
  }
15
+ <?php echo esc_attr($css_prefix); ?> thead tr.footable-filtering th {
16
+ background-color: <?php echo esc_attr($colors['table_search_color_primary']); ?> !important;
17
+ color: <?php echo esc_attr($colors['table_search_color_secondary']); ?> !important;
18
  }
19
+ <?php echo esc_attr($css_prefix); ?>:not(.hide_all_borders) thead tr.footable-filtering th {
20
  <?php if($colors['table_search_color_border']): ?>
21
+ border : 1px solid <?php echo esc_attr($colors['table_search_color_border']); ?> !important;
22
  <?php else: ?>
23
  border : 1px solid transparent !important;
24
  <?php endif; ?>
25
  }
26
+ <?php echo esc_attr($css_prefix); ?> .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
27
+ background-color: <?php echo esc_attr($colors['table_search_color_secondary']); ?> !important;
28
+ color: <?php echo esc_attr($colors['table_search_color_primary']); ?> !important;
29
  }
30
+ <?php echo esc_attr($css_prefix); ?> tr.footable-header, <?php echo esc_attr($css_prefix); ?> tr.footable-header th, .colored_table table.ninja_table_pro.inverted.table.footable-details tbody tr th {
31
+ background-color: <?php echo esc_attr($colors['table_header_color_primary']); ?> !important;
32
+ color: <?php echo esc_attr($colors['table_color_header_secondary']); ?> !important;
33
  }
34
  <?php if($colors['table_color_header_border']) : ?>
35
+ <?php echo esc_attr($css_prefix); ?>:not(.hide_all_borders) tr.footable-header th, <?php echo esc_attr($css_prefix); ?>:not(.hide_all_borders) tbody tr th {
36
+ border-color: <?php echo esc_attr($colors['table_color_header_border']); ?> !important;
37
  }
38
  <?php endif; ?>
39
 
40
  <?php if(isset($colors['table_color_border']) && $colors['table_color_border']) : ?>
41
+ <?php echo esc_attr($css_prefix); ?>:not(.hide_all_borders) tbody tr td {
42
+ border-color: <?php echo esc_attr($colors['table_color_border']); ?> !important;
43
  }
44
  <?php endif; ?>
45
+ <?php echo esc_attr($css_prefix); ?> tbody tr:hover {
46
+ background-color: <?php echo esc_attr($colors['table_color_primary_hover']); ?> !important;
47
+ color: <?php echo esc_attr($colors['table_color_secondary_hover']); ?> !important;
48
  }
49
+ <?php echo esc_attr($css_prefix); ?> tbody tr:hover td {
50
+ border-color: <?php echo esc_attr($colors['table_color_border_hover']); ?> !important;
51
  }
52
  <?php if(isset($colors['alternate_color_status']) && $colors['alternate_color_status'] == 'yes'): ?>
53
+ <?php echo esc_attr($css_prefix); ?> tbody tr:nth-child(even) {
54
+ background-color: <?php echo esc_attr($colors['table_alt_color_primary']); ?> !important;
55
+ color: <?php echo esc_attr($colors['table_alt_color_secondary']); ?> !important;
56
  }
57
+ <?php echo esc_attr($css_prefix); ?> tbody tr:nth-child(odd) {
58
+ background-color: <?php echo esc_attr($colors['table_alt_2_color_primary']); ?> !important;
59
+ color: <?php echo esc_attr($colors['table_alt_2_color_secondary']); ?> !important;
60
  }
61
+ <?php echo esc_attr($css_prefix); ?> tbody tr:nth-child(even):hover {
62
+ background-color: <?php echo esc_attr($colors['table_alt_color_hover']); ?> !important;
63
  }
64
+ <?php echo esc_attr($css_prefix); ?> tbody tr:nth-child(odd):hover {
65
+ background-color: <?php echo esc_attr($colors['table_alt_2_color_hover']); ?> !important;
66
  }
67
  <?php endif; ?>
68
 
69
+ <?php echo esc_attr($css_prefix); ?> tfoot .footable-paging {
70
+ background-color: <?php echo esc_attr($colors['table_footer_bg']); ?> !important;
71
  }
72
+ <?php echo esc_attr($css_prefix); ?> tfoot .footable-paging .footable-page.active a {
73
+ background-color: <?php echo esc_attr($colors['table_footer_active']); ?> !important;
74
  }
75
+ <?php echo esc_attr($css_prefix); ?>:not(.hide_all_borders) tfoot tr.footable-paging td {
76
+ border-color: <?php echo esc_attr($colors['table_footer_border']); ?> !important;
77
  }
78
  <?php endif; ?>
79
  <?php if($cellStyles): ?>
82
  $cell = maybe_unserialize($cellStyle->settings);
83
  $cellPrefix = $css_prefix.'.ninja_footable.ninja_table_pro tbody tr.nt_row_id_'.$cellStyle->id;
84
  ?>
85
+ <?php echo esc_attr($cellPrefix)?> {
86
+ <?php if(@$cell['row_bg']): ?>background: <?php echo esc_attr($cell['row_bg'].'!important;'); endif; ?>
87
+ <?php if(@$cell['text_color']): ?>color: <?php echo esc_attr($cell['text_color'].'!important;'); endif; ?>}
88
  <?php if($cell && isset($cell['cell']) && is_array($cell['cell'])) : foreach ($cell['cell'] as $cell_key => $values): ?>
89
  <?php $specCellPrefix = $cellPrefix.' .ninja_clmn_nm_'.$cell_key; ?>
90
+ <?php echo esc_attr($specCellPrefix) ?> {
91
  <?php foreach ($values as $value_key => $value){ ?>
92
+ <?php if($value): echo esc_attr($value_key); ?> : <?php echo esc_attr($value.';'); endif; ?>
93
  <?php } ?>
94
  }
95
+ <?php echo esc_attr($specCellPrefix) ?> > * { color: inherit }
96
  <?php endforeach; endif; // end of if(is_array($cell['cell'])) ?>
97
  <?php endforeach; ?>
98
  <?php endif; ?>
99
 
100
  <?php if($hasStackable): ?>
101
+ <?php echo esc_attr($css_prefix); ?>.ninja_stacked_table > tbody, <?php echo esc_attr($css_prefix); ?>.ninja_stacked_table {
102
  background: transparent !important;
103
  }
104
  <?php if ($colors) : ?>
105
+ <?php echo esc_attr($css_prefix); ?>.ninja_stacked_table .footable-details tbody {
106
+ background-color: <?php echo esc_attr($colors['table_color_primary']); ?> !important;
107
+ color: <?php echo esc_attr($colors['table_color_secondary']); ?> !important;
108
+ border-color: <?php echo esc_attr($colors['table_color_border']); ?> !important;
109
+ }
110
+ <?php echo esc_attr($stackPrefix); ?> thead tr.footable-filtering th {
111
+ background-color: <?php echo esc_attr($colors['table_search_color_primary']); ?> !important;
112
+ color: <?php echo esc_attr($colors['table_search_color_secondary']); ?> !important;
113
  }
114
+ <?php echo esc_attr($stackPrefix); ?>:not(.hide_all_borders) thead tr.footable-filtering th {
115
  <?php if($colors['table_search_color_border']): ?>
116
+ border : 1px solid <?php echo esc_attr($colors['table_search_color_border']); ?> !important;
117
  <?php else: ?>
118
  border : 1px solid transparent !important;
119
  <?php endif; ?>
120
  }
121
+ <?php echo esc_attr($stackPrefix); ?> .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
122
+ background-color: <?php echo esc_attr($colors['table_search_color_secondary']); ?> !important;
123
+ color: <?php echo esc_attr($colors['table_search_color_primary']); ?> !important;
124
  }
125
+ <?php echo esc_attr($stackPrefix); ?> tr.footable-header, <?php echo esc_attr($stackPrefix); ?> tr.footable-header th {
126
+ background-color: <?php echo esc_attr($colors['table_header_color_primary']); ?> !important;
127
+ color: <?php echo esc_attr($colors['table_color_header_secondary']); ?> !important;
128
  }
129
  <?php endif; ?>
130
  <?php if(isset($colors['table_color_header_border']) && $colors['table_color_header_border']) : ?>
131
+ <?php echo esc_attr($stackPrefix); ?>:not(.hide_all_borders) tr.footable-header th {
132
+ border-color: <?php echo esc_attr($colors['table_color_header_border']); ?> !important;
133
  }
134
  <?php endif; ?>
135
 
136
  <?php if(isset($colors['table_color_border']) && $colors['table_color_border']) : ?>
137
+ <?php echo esc_attr($css_prefix); ?>:not(.hide_all_borders) tbody tr td table {
138
+ border-color: <?php echo esc_attr($colors['table_color_border']); ?> !important;
139
  }
140
  <?php endif; ?>
141
  <?php if(isset($css_prefix['alternate_color_status']) && $css_prefix['alternate_color_status'] == 'yes'): ?>
142
+ <?php echo esc_attr($stackPrefix); ?> tbody tr:nth-child(even) {
143
+ background-color: <?php echo esc_attr($colors['table_alt_color_primary']); ?>;
144
+ color: <?php echo esc_attr($colors['table_alt_color_secondary']); ?>;
145
  }
146
+ <?php echo esc_attr($stackPrefix); ?> tbody tr:nth-child(odd) {
147
+ background-color: <?php echo esc_attr($colors['table_alt_2_color_primary']); ?>;
148
+ color: <?php echo esc_attr($colors['table_alt_2_color_secondary']); ?>;
149
  }
150
+ <?php echo esc_attr($stackPrefix); ?> tbody tr:nth-child(even):hover {
151
+ background-color: <?php echo esc_attr($colors['table_alt_color_hover']); ?>;
152
  }
153
+ <?php echo esc_attr($stackPrefix); ?> tbody tr:nth-child(odd):hover {
154
+ background-color: <?php echo esc_attr($colors['table_alt_2_color_hover']); ?>;
155
  }
156
  <?php endif; ?>
157
  <?php endif; ?>
158
+ <?php echo $custom_css; // WPCS: XSS ok. ?>
 
159
  </style>
includes/ninja_tables-global-functions.php CHANGED
@@ -261,6 +261,7 @@ function ninja_tables_allowed_html_tags() {
261
  'name' => [],
262
  'value' => [],
263
  'type' => [],
 
264
  ];
265
  // select
266
  $tags['select'] = [
@@ -278,10 +279,42 @@ function ninja_tables_allowed_html_tags() {
278
  $tags['style'] = [
279
  'types' => [],
280
  ];
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
281
 
282
  return apply_filters('ninja_tables/allowed_html_tags', $tags);
283
  }
284
 
 
 
 
 
 
 
 
 
 
 
 
 
285
  if (!function_exists('ninja_tables_sanitize_array')) {
286
  function ninja_tables_sanitize_array(array $array)
287
  {
@@ -908,7 +941,7 @@ function ninjaTablePreloadFont () {
908
  add_action('wp_head', function () {
909
  $preloadFontUrl = NINJA_TABLES_DIR_URL . "assets/fonts/ninja-tables.woff2?" . NINJA_TABLES_PRELOAD_FONT_VERSION;
910
  ?>
911
- <link rel="preload" as="font" href="<?php esc_attr_e($preloadFontUrl) ?>" type="font/woff2" crossorigin="anonymous">
912
  <?php
913
  }, 99);
914
  }
261
  'name' => [],
262
  'value' => [],
263
  'type' => [],
264
+ 'src' => []
265
  ];
266
  // select
267
  $tags['select'] = [
279
  $tags['style'] = [
280
  'types' => [],
281
  ];
282
+ // iframe
283
+ $tags['iframe'] = [
284
+ 'width' => [],
285
+ 'height' => [],
286
+ 'src' => [],
287
+ 'srcdoc' => [],
288
+ 'title' => [],
289
+ 'frameborder' => [],
290
+ 'allow' => [],
291
+ 'class' => [],
292
+ 'id' => [],
293
+ 'allowfullscreen' => [],
294
+ 'style' => [],
295
+ ];
296
+ // form
297
+ $tags['form'] = [
298
+ 'target' => [],
299
+ 'action' => [],
300
+ 'method' => [],
301
+ ];
302
 
303
  return apply_filters('ninja_tables/allowed_html_tags', $tags);
304
  }
305
 
306
+ function ninja_tables_allowed_css_properties() {
307
+ add_filter( 'safe_style_css', function( $styles ) {
308
+ $style_tags = ['display', 'opacity', 'visibility'];
309
+ $style_tags = apply_filters('ninja_tables/allowed_css_properties', $style_tags);
310
+
311
+ foreach ($style_tags as $tag) {
312
+ $styles[] = $tag;
313
+ }
314
+ return $styles;
315
+ } );
316
+ }
317
+
318
  if (!function_exists('ninja_tables_sanitize_array')) {
319
  function ninja_tables_sanitize_array(array $array)
320
  {
941
  add_action('wp_head', function () {
942
  $preloadFontUrl = NINJA_TABLES_DIR_URL . "assets/fonts/ninja-tables.woff2?" . NINJA_TABLES_PRELOAD_FONT_VERSION;
943
  ?>
944
+ <link rel="preload" as="font" href="<?php echo esc_url($preloadFontUrl) ?>" type="font/woff2" crossorigin="anonymous">
945
  <?php
946
  }, 99);
947
  }
languages/ninja-tables-fr_CA.mo ADDED
Binary file
languages/ninja-tables-fr_CA.po ADDED
@@ -0,0 +1,715 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Ninja Tables\n"
4
+ "POT-Creation-Date: 2022-02-15 08:28-0500\n"
5
+ "PO-Revision-Date: 2022-02-17 04:25+0000\n"
6
+ "Last-Translator: \n"
7
+ "Language-Team: French (Canada)\n"
8
+ "Language: fr_CA\n"
9
+ "MIME-Version: 1.0\n"
10
+ "Content-Type: text/plain; charset=UTF-8\n"
11
+ "Content-Transfer-Encoding: 8bit\n"
12
+ "X-Generator: Loco https://localise.biz/\n"
13
+ "X-Poedit-Basepath: ..\n"
14
+ "Plural-Forms: nplurals=2; plural=(n > 1);\n"
15
+ "X-Poedit-Flags-xgettext: --add-comments=translators:\n"
16
+ "X-Poedit-WPHeader: ninja-tables.php\n"
17
+ "X-Poedit-SourceCharset: UTF-8\n"
18
+ "X-Poedit-KeywordsList: __;_e;_n:1,2;_x:1,2c;_ex:1,2c;_nx:4c,1,2;esc_attr__;"
19
+ "esc_attr_e;esc_attr_x:1,2c;esc_html__;esc_html_e;esc_html_x:1,2c;_n_noop:1,2;"
20
+ "_nx_noop:3c,1,2;__ngettext_noop:1,2\n"
21
+ "X-Poedit-SearchPath-0: .\n"
22
+ "X-Poedit-SearchPathExcluded-0: *.min.js\n"
23
+ "Report-Msgid-Bugs-To: \n"
24
+ "X-Loco-Version: 2.5.8; wp-5.9"
25
+
26
+ #: admin/NinjaTablesAdmin.php:560 svn/trunk/admin/NinjaTablesAdmin.php:560
27
+ msgid " successfully."
28
+ msgstr "avec succès."
29
+
30
+ #: admin/NinjaTablesAdmin.php:185 svn/trunk/admin/NinjaTablesAdmin.php:185
31
+ msgid "<span style=\"color:#f39c12;\">Get Pro</span>"
32
+ msgstr "<span style=\"color:#f39c12;\">Obtenez Pro</span>"
33
+
34
+ #: includes/I18nStrings.php:36 svn/trunk/includes/I18nStrings.php:36
35
+ msgid "Activate Ninja Tables Pro"
36
+ msgstr "Activer Ninja Tables Pro"
37
+
38
+ #: includes/I18nStrings.php:29 svn/trunk/includes/I18nStrings.php:29
39
+ msgid "Activate Ninja Tables Pro Add-on plugin to unlock this feature"
40
+ msgstr ""
41
+ "Activer le plugin Ninja Tables Pro Add-on pour débloquer cette fonctionnalité"
42
+
43
+ #: includes/I18nStrings.php:51 svn/trunk/includes/I18nStrings.php:51
44
+ msgid "Add"
45
+ msgstr "Ajouter"
46
+
47
+ #: admin/NinjaTablesAdmin.php:177 svn/trunk/admin/NinjaTablesAdmin.php:177
48
+ msgid "Add Chart"
49
+ msgstr "Ajouter un graphique"
50
+
51
+ #: includes/I18nStrings.php:72 svn/trunk/includes/I18nStrings.php:72
52
+ msgid "Add Column"
53
+ msgstr "Ajouter une colonne"
54
+
55
+ #: includes/I18nStrings.php:49 svn/trunk/includes/I18nStrings.php:49
56
+ msgid "Add Data"
57
+ msgstr "Ajouter des données"
58
+
59
+ #: includes/I18nStrings.php:13 admin/NinjaTablesAdmin.php:88
60
+ #: svn/trunk/includes/I18nStrings.php:13
61
+ #: svn/trunk/admin/NinjaTablesAdmin.php:88
62
+ msgid "Add New Table"
63
+ msgstr "Ajouter une nouvelle table"
64
+
65
+ #: includes/I18nStrings.php:11 admin/NinjaTablesAdmin.php:87
66
+ #: svn/trunk/includes/I18nStrings.php:11
67
+ #: svn/trunk/admin/NinjaTablesAdmin.php:87
68
+ msgid "Add Table"
69
+ msgstr "Ajouter une table"
70
+
71
+ #: includes/I18nStrings.php:99 svn/trunk/includes/I18nStrings.php:99
72
+ msgid "Additional CSS"
73
+ msgstr "CSS supplémentaire"
74
+
75
+ #: includes/I18nStrings.php:10 admin/NinjaTablesAdmin.php:1635
76
+ #: svn/trunk/includes/I18nStrings.php:10
77
+ #: svn/trunk/admin/NinjaTablesAdmin.php:1643
78
+ msgid "All Tables"
79
+ msgstr "Toutes les tables"
80
+
81
+ #: includes/I18nStrings.php:62 svn/trunk/includes/I18nStrings.php:62
82
+ msgid "Always show in all devices"
83
+ msgstr "Toujours afficher dans tous les appareils"
84
+
85
+ #: includes/I18nStrings.php:48 svn/trunk/includes/I18nStrings.php:48
86
+ msgid "Apply"
87
+ msgstr "Appliquer"
88
+
89
+ #: includes/I18nStrings.php:56 svn/trunk/includes/I18nStrings.php:56
90
+ msgid "Are you sure to delete this?"
91
+ msgstr "Etes-vous sûr de vouloir supprimer ceci?"
92
+
93
+ #: includes/I18nStrings.php:71 svn/trunk/includes/I18nStrings.php:71
94
+ msgid "Available Columns"
95
+ msgstr "Colonnes disponibles"
96
+
97
+ #: includes/I18nStrings.php:46 svn/trunk/includes/I18nStrings.php:46
98
+ msgid "Bulk Actions"
99
+ msgstr "Actions groupées"
100
+
101
+ #: includes/I18nStrings.php:50 svn/trunk/includes/I18nStrings.php:50
102
+ msgid "Cancel"
103
+ msgstr "Annuler"
104
+
105
+ #: includes/I18nStrings.php:57 svn/trunk/includes/I18nStrings.php:57
106
+ msgid "cancel"
107
+ msgstr "Annuler"
108
+
109
+ #: admin/NinjaTablesAdmin.php:165 admin/NinjaTablesAdmin.php:171
110
+ #: svn/trunk/admin/NinjaTablesAdmin.php:165
111
+ #: svn/trunk/admin/NinjaTablesAdmin.php:171
112
+ msgid "Charts"
113
+ msgstr "Chartes"
114
+
115
+ #: includes/I18nStrings.php:30 svn/trunk/includes/I18nStrings.php:30
116
+ msgid "Check all"
117
+ msgstr "Choisir tout"
118
+
119
+ #: includes/I18nStrings.php:54 svn/trunk/includes/I18nStrings.php:54
120
+ msgid "Click here"
121
+ msgstr "Cliquer ici"
122
+
123
+ #: includes/I18nStrings.php:74 svn/trunk/includes/I18nStrings.php:74
124
+ msgid "Column Key"
125
+ msgstr "Clé de colonne"
126
+
127
+ #: includes/I18nStrings.php:73 svn/trunk/includes/I18nStrings.php:73
128
+ msgid "Column Name"
129
+ msgstr "Nom de colonne"
130
+
131
+ #: includes/I18nStrings.php:58 svn/trunk/includes/I18nStrings.php:58
132
+ msgid "confirm"
133
+ msgstr "confirmer"
134
+
135
+ #: includes/I18nStrings.php:20 svn/trunk/includes/I18nStrings.php:20
136
+ msgid "CSV - Comma-separated values"
137
+ msgstr "CSV - Valeurs séparées par des virgules"
138
+
139
+ #: includes/NinjaTableImport.php:284
140
+ #: svn/trunk/includes/NinjaTableImport.php:284
141
+ msgid "CSV File is not valid"
142
+ msgstr "Le fichier CSV n’est pas valide"
143
+
144
+ #: includes/I18nStrings.php:104 svn/trunk/includes/I18nStrings.php:104
145
+ msgid "CSV Header Structure"
146
+ msgstr "Structure d’en-tête CSV"
147
+
148
+ #: includes/I18nStrings.php:43 svn/trunk/includes/I18nStrings.php:43
149
+ msgid "Custom CSS"
150
+ msgstr "CSS Personnalisé"
151
+
152
+ #: includes/I18nStrings.php:75 svn/trunk/includes/I18nStrings.php:75
153
+ msgid "Data Type"
154
+ msgstr "Type de données"
155
+
156
+ #: includes/I18nStrings.php:68 svn/trunk/includes/I18nStrings.php:68
157
+ msgid "Date Field"
158
+ msgstr "Date Champ"
159
+
160
+ #: includes/I18nStrings.php:78 svn/trunk/includes/I18nStrings.php:78
161
+ msgid "Date Format"
162
+ msgstr "Format de date"
163
+
164
+ #: includes/I18nStrings.php:33 svn/trunk/includes/I18nStrings.php:33
165
+ msgid "Deactivate License"
166
+ msgstr "Désactiver la licence"
167
+
168
+ #: includes/I18nStrings.php:19 svn/trunk/includes/I18nStrings.php:19
169
+ msgid "Delete"
170
+ msgstr "Supprimer"
171
+
172
+ #: includes/I18nStrings.php:47 svn/trunk/includes/I18nStrings.php:47
173
+ msgid "Delete Entries"
174
+ msgstr "Supprimer des entrées"
175
+
176
+ #: includes/I18nStrings.php:39 svn/trunk/includes/I18nStrings.php:39
177
+ msgid "Documentation"
178
+ msgstr "Documentation"
179
+
180
+ #: includes/I18nStrings.php:105 svn/trunk/includes/I18nStrings.php:105
181
+ msgid "Download Sample CSV"
182
+ msgstr "Télécharger un exemple de CSV"
183
+
184
+ #: includes/I18nStrings.php:18 svn/trunk/includes/I18nStrings.php:18
185
+ msgid "Duplicate"
186
+ msgstr "Dupliquer"
187
+
188
+ #: includes/I18nStrings.php:16 admin/NinjaTablesAdmin.php:89
189
+ #: svn/trunk/includes/I18nStrings.php:16
190
+ #: svn/trunk/admin/NinjaTablesAdmin.php:89
191
+ msgid "Edit"
192
+ msgstr "Modifier"
193
+
194
+ #: admin/NinjaTablesAdmin.php:90 svn/trunk/admin/NinjaTablesAdmin.php:90
195
+ #: includes/libs/TableDrivers/views/ninja_foo_table.php:40
196
+ #: svn/trunk/includes/libs/TableDrivers/views/ninja_foo_table.php:40
197
+ msgid "Edit Table"
198
+ msgstr "Modifier le tableau"
199
+
200
+ #: includes/I18nStrings.php:91 svn/trunk/includes/I18nStrings.php:91
201
+ msgid "Enable sorting of the table by the visitor"
202
+ msgstr "Activer le tri de la table par le visiteur"
203
+
204
+ #: includes/I18nStrings.php:90 svn/trunk/includes/I18nStrings.php:90
205
+ msgid "Enable the visitor to filter or search the table."
206
+ msgstr "Permettez au visiteur de filtrer ou de rechercher la table."
207
+
208
+ #: includes/I18nStrings.php:35 svn/trunk/includes/I18nStrings.php:35
209
+ msgid "Enter your license key"
210
+ msgstr ""
211
+ "Entrez votre clé de licence et votre courrier électronique et cliquez sur "
212
+ "retourner. Une clé valide est requise pour les mises à jour."
213
+
214
+ #: includes/I18nStrings.php:100 svn/trunk/includes/I18nStrings.php:100
215
+ msgid "Export Table"
216
+ msgstr "Tableau d’exportation"
217
+
218
+ #: includes/I18nStrings.php:82 svn/trunk/includes/I18nStrings.php:82
219
+ msgid "Extra Classes"
220
+ msgstr "Classes supplémentaires"
221
+
222
+ #: includes/I18nStrings.php:95 svn/trunk/includes/I18nStrings.php:95
223
+ msgid "Extra CSS Class for the table"
224
+ msgstr "Classe CSS supplémentaire pour la table"
225
+
226
+ #: includes/I18nStrings.php:86 svn/trunk/includes/I18nStrings.php:86
227
+ msgid "Filterable"
228
+ msgstr "Filtrables"
229
+
230
+ #: includes/I18nStrings.php:98 svn/trunk/includes/I18nStrings.php:98
231
+ msgid "Footer Colors"
232
+ msgstr "Couleurs du pied de page"
233
+
234
+ #: includes/I18nStrings.php:38 svn/trunk/includes/I18nStrings.php:38
235
+ msgid ""
236
+ "For any type of query which was not covered in our documentation, Please "
237
+ "submit a support ticket ticket"
238
+ msgstr ""
239
+ "Pour tout type de requête qui n’était pas couvert dans notre documentation, "
240
+ "Veuillez soumettre un ticket de support"
241
+
242
+ #: includes/I18nStrings.php:87 svn/trunk/includes/I18nStrings.php:87
243
+ msgid "Header HTML Content"
244
+ msgstr "Contenu HTML de l’en-tête"
245
+
246
+ #: includes/I18nStrings.php:9 admin/NinjaTablesAdmin.php:218
247
+ #: svn/trunk/includes/I18nStrings.php:9
248
+ #: svn/trunk/admin/NinjaTablesAdmin.php:218
249
+ msgid "Help"
250
+ msgstr "Aide"
251
+
252
+ #: includes/I18nStrings.php:7 svn/trunk/includes/I18nStrings.php:7
253
+ msgid "Home"
254
+ msgstr "Accueil"
255
+
256
+ #: includes/I18nStrings.php:66 svn/trunk/includes/I18nStrings.php:66
257
+ msgid "HTML Field"
258
+ msgstr "Champ HTML"
259
+
260
+ #. Author URI of the plugin
261
+ msgid "https://wpmanageninja.com/"
262
+ msgstr "https://wpmanageninja.com/"
263
+
264
+ #. URI of the plugin
265
+ msgid "https://wpmanageninja.com/downloads/ninja-tables-pro-add-on/"
266
+ msgstr "https://wpmanageninja.com/downloads/ninja-tables-pro-add-on/"
267
+
268
+ #: includes/I18nStrings.php:23 admin/NinjaTablesAdmin.php:148
269
+ #: svn/trunk/includes/I18nStrings.php:23
270
+ #: svn/trunk/admin/NinjaTablesAdmin.php:148
271
+ msgid "Import"
272
+ msgstr "Importer"
273
+
274
+ #: includes/I18nStrings.php:44 svn/trunk/includes/I18nStrings.php:44
275
+ msgid "Import - Export"
276
+ msgstr "Importer / Exporter"
277
+
278
+ #: includes/I18nStrings.php:28 svn/trunk/includes/I18nStrings.php:28
279
+ msgid "Import Format:"
280
+ msgstr "Format d’importation :"
281
+
282
+ #: includes/I18nStrings.php:103 svn/trunk/includes/I18nStrings.php:103
283
+ msgid "Import from CSV"
284
+ msgstr "Importer à partir de CSV"
285
+
286
+ #: includes/I18nStrings.php:12 svn/trunk/includes/I18nStrings.php:12
287
+ msgid "Import Table"
288
+ msgstr "Table d’importation"
289
+
290
+ #: includes/I18nStrings.php:101 svn/trunk/includes/I18nStrings.php:101
291
+ msgid "Import Table Data"
292
+ msgstr "Importer des données de table"
293
+
294
+ #: includes/I18nStrings.php:59 svn/trunk/includes/I18nStrings.php:59
295
+ msgid "Initial Hidden Mobile"
296
+ msgstr "Mobile caché initial"
297
+
298
+ #: includes/I18nStrings.php:60 svn/trunk/includes/I18nStrings.php:60
299
+ msgid "Initial Hidden Mobile and Tab"
300
+ msgstr "Mobile caché initial et onglet"
301
+
302
+ #: includes/I18nStrings.php:61 svn/trunk/includes/I18nStrings.php:61
303
+ msgid "Initial Hidden Mobile, Tab and Regular Computers"
304
+ msgstr "Ordinateurs mobiles cachés initiaux, onglets et réguliers"
305
+
306
+ #: admin/NinjaTablesAdmin.php:1162 svn/trunk/admin/NinjaTablesAdmin.php:1170
307
+ msgid "Insert Ninja Tables Shortcode"
308
+ msgstr "Insérer des tables Ninja Shortcode"
309
+
310
+ #: admin/NinjaTablesAdmin.php:1164 svn/trunk/admin/NinjaTablesAdmin.php:1172
311
+ msgid "Insert Shortcode"
312
+ msgstr "Insérer code abrégé"
313
+
314
+ #: admin/NinjaTablesAdmin.php:706 svn/trunk/admin/NinjaTablesAdmin.php:714
315
+ msgid "Invalid Table to Delete"
316
+ msgstr "Tableau non valide à supprimer"
317
+
318
+ #: includes/I18nStrings.php:22 svn/trunk/includes/I18nStrings.php:22
319
+ msgid "JSON - Exported From Ninja Tables"
320
+ msgstr "JSON - Exporté à partir de tables Ninja"
321
+
322
+ #: includes/I18nStrings.php:21 svn/trunk/includes/I18nStrings.php:21
323
+ msgid "JSON - JavaScript Object Notation"
324
+ msgstr "JSON - Notation d’objet JavaScript"
325
+
326
+ #: includes/I18nStrings.php:25 svn/trunk/includes/I18nStrings.php:25
327
+ msgid "License"
328
+ msgstr "Licence"
329
+
330
+ #: includes/I18nStrings.php:34 svn/trunk/includes/I18nStrings.php:34
331
+ msgid "Licensing"
332
+ msgstr "Accréditation"
333
+
334
+ #: includes/I18nStrings.php:83 svn/trunk/includes/I18nStrings.php:83
335
+ msgid "Max Width"
336
+ msgstr "Largeur maximum"
337
+
338
+ #: includes/I18nStrings.php:84 svn/trunk/includes/I18nStrings.php:84
339
+ msgid "Maximum Width"
340
+ msgstr "Largeur maximale"
341
+
342
+ #: admin/NinjaTablesAdmin.php:91 svn/trunk/admin/NinjaTablesAdmin.php:91
343
+ msgid "New Table"
344
+ msgstr "Nouveau tableau"
345
+
346
+ #. Name of the plugin
347
+ #: includes/I18nStrings.php:6 admin/NinjaTablesAdmin.php:73
348
+ #: admin/NinjaTablesAdmin.php:84 admin/NinjaTablesAdmin.php:86
349
+ #: svn/trunk/includes/I18nStrings.php:6 svn/trunk/admin/NinjaTablesAdmin.php:73
350
+ #: svn/trunk/admin/NinjaTablesAdmin.php:84
351
+ #: svn/trunk/admin/NinjaTablesAdmin.php:86
352
+ msgid "Ninja Tables"
353
+ msgstr "Ninja Tables"
354
+
355
+ #: admin/NinjaTablesAdmin.php:124 svn/trunk/admin/NinjaTablesAdmin.php:124
356
+ msgid "NinjaTables"
357
+ msgstr "NinjaTables"
358
+
359
+ #: includes/I18nStrings.php:26 svn/trunk/includes/I18nStrings.php:26
360
+ msgid ""
361
+ "NinjaTables can import tables from existing data, like from a CSV or JSON "
362
+ "file. You can also import existing tables from the other WordPress table "
363
+ "plugins."
364
+ msgstr ""
365
+ "NinjaTables peut importer des tables à partir de données existantes, comme à "
366
+ "partir d’un fichier CSV ou JSON. Vous pouvez également importer des tables "
367
+ "existantes à partir des autres plugins de table WordPress."
368
+
369
+ #: includes/NinjaTableImport.php:26 svn/trunk/includes/NinjaTableImport.php:26
370
+ msgid "No appropriate driver found for the import format."
371
+ msgstr "Aucun pilote approprié n’a été trouvé pour le format d’importation."
372
+
373
+ #: public/dataProviders/FluentFormProvider.php:84
374
+ #: svn/trunk/public/dataProviders/FluentFormProvider.php:84
375
+ msgid "No fields were selected."
376
+ msgstr "Aucun champ n’a été sélectionné."
377
+
378
+ #: includes/libs/TableDrivers/NinjaFooTable.php:64
379
+ #: includes/libs/TableDrivers/NinjaFooTable.php:328
380
+ #: svn/trunk/includes/libs/TableDrivers/NinjaFooTable.php:64
381
+ #: svn/trunk/includes/libs/TableDrivers/NinjaFooTable.php:328
382
+ msgid "No Result Found"
383
+ msgstr "Aucun résultat trouvé"
384
+
385
+ #: admin/NinjaTablesAdmin.php:95 svn/trunk/admin/NinjaTablesAdmin.php:95
386
+ msgid "No Table Found"
387
+ msgstr "Aucune table trouvée"
388
+
389
+ #: admin/NinjaTablesAdmin.php:96 svn/trunk/admin/NinjaTablesAdmin.php:96
390
+ msgid "No Table Found in Trash"
391
+ msgstr "Aucune table trouvée dans la corbeille"
392
+
393
+ #: includes/libs/Migrations/NinjaTablesSupsysticTableMigration.php:24
394
+ #: svn/trunk/includes/libs/Migrations/NinjaTablesSupsysticTableMigration.php:24
395
+ msgid "No Table Found with the selected table"
396
+ msgstr "Aucune table trouvée avec la table sélectionnée"
397
+
398
+ #: includes/libs/Migrations/NinjaTablesUltimateTableMigration.php:21
399
+ #: svn/trunk/includes/libs/Migrations/NinjaTablesUltimateTableMigration.php:21
400
+ msgid "No Ultimate Table Found with the selected table"
401
+ msgstr "Aucune table ultime trouvée avec la table sélectionnée"
402
+
403
+ #: includes/ninja_tables-global-functions.php:947
404
+ #: svn/trunk/includes/ninja_tables-global-functions.php:917
405
+ msgid "Nonce verification failed, please try again."
406
+ msgstr "Vérification Nonce a échoué, s'il vous plaît essayer à nouveau."
407
+
408
+ #: includes/I18nStrings.php:67 svn/trunk/includes/I18nStrings.php:67
409
+ msgid "Numeric Value"
410
+ msgstr "Valeur numérique"
411
+
412
+ #: includes/I18nStrings.php:92 svn/trunk/includes/I18nStrings.php:92
413
+ msgid "Pagination Items Per Page"
414
+ msgstr "Éléments de pagination par page"
415
+
416
+ #: includes/I18nStrings.php:93 svn/trunk/includes/I18nStrings.php:93
417
+ msgid "Pagination Position"
418
+ msgstr "Position de pagination"
419
+
420
+ #: admin/NinjaTablesAdmin.php:97 svn/trunk/admin/NinjaTablesAdmin.php:97
421
+ msgid "Parent Table"
422
+ msgstr "Table parente"
423
+
424
+ #: includes/I18nStrings.php:24 svn/trunk/includes/I18nStrings.php:24
425
+ msgid "Permission"
426
+ msgstr "Permission"
427
+
428
+ #: includes/NinjaTableImport.php:295
429
+ #: svn/trunk/includes/NinjaTableImport.php:295
430
+ msgid "Please set table configuration first"
431
+ msgstr "Veuillez d’abord définir la configuration de la table"
432
+
433
+ #: includes/NinjaTableImport.php:121
434
+ #: svn/trunk/includes/NinjaTableImport.php:121
435
+ msgid "Please upload valid CSV"
436
+ msgstr "Veuillez télécharger un fichier CSV valide"
437
+
438
+ #: includes/NinjaTableImport.php:309
439
+ #: svn/trunk/includes/NinjaTableImport.php:309
440
+ msgid "Please use the provided CSV header structure font face."
441
+ msgstr ""
442
+ "Veuillez utiliser la face de police de la structure d’en-tête CSV fournie."
443
+
444
+ #: includes/I18nStrings.php:37 svn/trunk/includes/I18nStrings.php:37
445
+ msgid "Plugin Documentation and Help"
446
+ msgstr "Documentation et aide du plugin"
447
+
448
+ #: includes/I18nStrings.php:17 svn/trunk/includes/I18nStrings.php:17
449
+ msgid "Preview"
450
+ msgstr "Aperçu"
451
+
452
+ #: public/views/frameless/show_review.php:9
453
+ #: svn/trunk/public/views/frameless/show_review.php:9
454
+ msgid "Preview Table"
455
+ msgstr "Tableau d’aperçu"
456
+
457
+ #: includes/I18nStrings.php:102 svn/trunk/includes/I18nStrings.php:102
458
+ msgid "Replace Existing Data"
459
+ msgstr "Remplacer les données existantes"
460
+
461
+ #: includes/I18nStrings.php:76 svn/trunk/includes/I18nStrings.php:76
462
+ msgid "Responsive Breakpoint"
463
+ msgstr "Point d'arrêt adaptatif "
464
+
465
+ #: includes/I18nStrings.php:94 svn/trunk/includes/I18nStrings.php:94
466
+ msgid "Row Details (Responsive drawer)"
467
+ msgstr "Détails de la ligne (tiroir réactif)"
468
+
469
+ #: includes/libs/TableDrivers/NinjaFooTable.php:63
470
+ #: includes/libs/TableDrivers/NinjaFooTable.php:326
471
+ #: svn/trunk/includes/libs/TableDrivers/NinjaFooTable.php:63
472
+ #: svn/trunk/includes/libs/TableDrivers/NinjaFooTable.php:326
473
+ msgid "Search"
474
+ msgstr "Recherche"
475
+
476
+ #: includes/libs/TableDrivers/NinjaFooTable.php:62
477
+ #: includes/libs/TableDrivers/NinjaFooTable.php:324
478
+ #: svn/trunk/includes/libs/TableDrivers/NinjaFooTable.php:62
479
+ #: svn/trunk/includes/libs/TableDrivers/NinjaFooTable.php:324
480
+ msgid "Search in"
481
+ msgstr "Recherche dans"
482
+
483
+ #: admin/NinjaTablesAdmin.php:94 svn/trunk/admin/NinjaTablesAdmin.php:94
484
+ msgid "Search Table"
485
+ msgstr "Tableau de recherche"
486
+
487
+ #: includes/I18nStrings.php:80 svn/trunk/includes/I18nStrings.php:80
488
+ msgid "Select a Format"
489
+ msgstr "Sélectionner un format"
490
+
491
+ #: admin/NinjaTablesAdmin.php:1185 svn/trunk/admin/NinjaTablesAdmin.php:1193
492
+ msgid "Select a Table"
493
+ msgstr "Sélectionner un tableau"
494
+
495
+ #: admin/NinjaTablesAdmin.php:1161 svn/trunk/admin/NinjaTablesAdmin.php:1169
496
+ msgid "Select a Table to insert"
497
+ msgstr "Sélectionnez un tableau à insérer"
498
+
499
+ #: includes/I18nStrings.php:45 svn/trunk/includes/I18nStrings.php:45
500
+ msgid "Select bulk action"
501
+ msgstr "Sélectionnez l’action groupée"
502
+
503
+ #: includes/I18nStrings.php:69 svn/trunk/includes/I18nStrings.php:69
504
+ msgid "Select Field"
505
+ msgstr "Sélectionné un champ"
506
+
507
+ #: includes/I18nStrings.php:27 svn/trunk/includes/I18nStrings.php:27
508
+ msgid "Select file:"
509
+ msgstr "Sélectionner le fichier"
510
+
511
+ #: includes/I18nStrings.php:81 svn/trunk/includes/I18nStrings.php:81
512
+ msgid "Select Items"
513
+ msgstr "Veuillez sélectionner quelques articles."
514
+
515
+ #: admin/NinjaTablesAdmin.php:1578 admin/NinjaTablesAdmin.php:1624
516
+ #: admin/NinjaTablesAdmin.php:1657 svn/trunk/admin/NinjaTablesAdmin.php:1586
517
+ #: svn/trunk/admin/NinjaTablesAdmin.php:1632
518
+ #: svn/trunk/admin/NinjaTablesAdmin.php:1665
519
+ msgid "Settings successfully updated"
520
+ msgstr "Mise à jour réussie des paramètres"
521
+
522
+ #: includes/I18nStrings.php:15 svn/trunk/includes/I18nStrings.php:15
523
+ msgid "ShortCode"
524
+ msgstr "Ajouter le Shortcode"
525
+
526
+ #: includes/I18nStrings.php:89 svn/trunk/includes/I18nStrings.php:89
527
+ msgid "Show Table Description"
528
+ msgstr "Afficher la description du tableau"
529
+
530
+ #: includes/I18nStrings.php:88 svn/trunk/includes/I18nStrings.php:88
531
+ msgid "Show Table Title"
532
+ msgstr "Afficher le titre de la table"
533
+
534
+ #: includes/I18nStrings.php:64 svn/trunk/includes/I18nStrings.php:64
535
+ msgid "Single Line Text Field"
536
+ msgstr "Champ de texte d’une seule ligne"
537
+
538
+ #: includes/NinjaTableImport.php:138
539
+ #: svn/trunk/includes/NinjaTableImport.php:138
540
+ msgid "Something is wrong when parsing the csv"
541
+ msgstr "Quelque chose ne va pas lors de l’analyse du csv"
542
+
543
+ #: includes/I18nStrings.php:79 svn/trunk/includes/I18nStrings.php:79
544
+ msgid "Standard"
545
+ msgstr "Standard"
546
+
547
+ #: includes/NinjaTableImport.php:158 includes/NinjaTableImport.php:184
548
+ #: includes/NinjaTableImport.php:251
549
+ #: svn/trunk/includes/NinjaTableImport.php:158
550
+ #: svn/trunk/includes/NinjaTableImport.php:184
551
+ #: svn/trunk/includes/NinjaTableImport.php:251
552
+ msgid "Successfully added a table."
553
+ msgstr "Ajout réussi d’une table."
554
+
555
+ #: admin/NinjaTablesAdmin.php:1015 svn/trunk/admin/NinjaTablesAdmin.php:1023
556
+ msgid "Successfully deleted data."
557
+ msgstr "Données supprimées avec succès."
558
+
559
+ #: admin/NinjaTablesAdmin.php:724 svn/trunk/admin/NinjaTablesAdmin.php:732
560
+ msgid "Successfully deleted the table."
561
+ msgstr "Suppression réussie de la table."
562
+
563
+ #: admin/NinjaTablesAdmin.php:1298 svn/trunk/admin/NinjaTablesAdmin.php:1306
564
+ msgid "Successfully duplicated table."
565
+ msgstr "Table dupliquée avec succès."
566
+
567
+ #: includes/NinjaTableImport.php:73 svn/trunk/includes/NinjaTableImport.php:73
568
+ msgid ""
569
+ "Successfully imported. Please go to all tables and review your newly "
570
+ "imported table."
571
+ msgstr ""
572
+ "Importé avec succès. S’il vous plaît aller à toutes les tables et revoir "
573
+ "votre table nouvellement importée."
574
+
575
+ #: admin/NinjaTablesAdmin.php:927 svn/trunk/admin/NinjaTablesAdmin.php:935
576
+ msgid "Successfully saved the data."
577
+ msgstr "Enregistrement réussi des données."
578
+
579
+ #: admin/NinjaTablesAdmin.php:680 svn/trunk/admin/NinjaTablesAdmin.php:688
580
+ msgid "Successfully updated configuration."
581
+ msgstr "Configuration mise à jour avec succès."
582
+
583
+ #: includes/NinjaTableImport.php:349
584
+ #: svn/trunk/includes/NinjaTableImport.php:349
585
+ msgid "Successfully uploaded data."
586
+ msgstr "Données téléchargées avec succès."
587
+
588
+ #: admin/NinjaTablesAdmin.php:85 svn/trunk/admin/NinjaTablesAdmin.php:85
589
+ msgid "Table"
590
+ msgstr "Tableau de prix"
591
+
592
+ #: includes/I18nStrings.php:97 svn/trunk/includes/I18nStrings.php:97
593
+ msgid "Table Body Colors"
594
+ msgstr "Couleurs du corps de la table"
595
+
596
+ #: includes/I18nStrings.php:41 svn/trunk/includes/I18nStrings.php:41
597
+ msgid "Table Configuration"
598
+ msgstr "Table Configuration"
599
+
600
+ #: includes/I18nStrings.php:42 svn/trunk/includes/I18nStrings.php:42
601
+ msgid "Table Design"
602
+ msgstr "Conception de table"
603
+
604
+ #: includes/I18nStrings.php:96 svn/trunk/includes/I18nStrings.php:96
605
+ msgid "Table Header Colors"
606
+ msgstr "Couleurs d’en-tête du tableau"
607
+
608
+ #: includes/I18nStrings.php:40 svn/trunk/includes/I18nStrings.php:40
609
+ msgid "Table Rows"
610
+ msgstr "Lignes de table"
611
+
612
+ #: admin/NinjaTablesAdmin.php:140 svn/trunk/admin/NinjaTablesAdmin.php:140
613
+ msgid "Tables"
614
+ msgstr "Tables"
615
+
616
+ #: includes/NinjaTableImport.php:262
617
+ #: svn/trunk/includes/NinjaTableImport.php:262
618
+ #: includes/libs/Migrations/NinjaTablesMigration.php:22
619
+ #: svn/trunk/includes/libs/Migrations/NinjaTablesMigration.php:22
620
+ msgid "Temporary table description"
621
+ msgstr "Description de la table temporaire"
622
+
623
+ #: includes/NinjaTableImport.php:261
624
+ #: svn/trunk/includes/NinjaTableImport.php:261
625
+ #: includes/libs/Migrations/NinjaTablesMigration.php:19
626
+ #: svn/trunk/includes/libs/Migrations/NinjaTablesMigration.php:19
627
+ msgid "Temporary table name"
628
+ msgstr "Nom de table temporaire"
629
+
630
+ #: includes/I18nStrings.php:85 svn/trunk/includes/I18nStrings.php:85
631
+ msgid "Text Align"
632
+ msgstr "Alignement du texte"
633
+
634
+ #: includes/I18nStrings.php:65 svn/trunk/includes/I18nStrings.php:65
635
+ msgid "Text Area"
636
+ msgstr "Zone de texte"
637
+
638
+ #. Description of the plugin
639
+ msgid ""
640
+ "The Easiest & Fastest Responsive Table Plugin on WordPress. Multiple "
641
+ "templates, drag-&-drop live table builder, multiple color scheme, and styles."
642
+ msgstr ""
643
+ "Le plugin de table réactif le plus simple et le plus rapide sur WordPress. "
644
+ "Plusieurs modèles, générateur de tables en direct par glisser-déposer, "
645
+ "plusieurs jeux de couleurs et styles."
646
+
647
+ #: admin/NinjaTablesAdmin.php:548 svn/trunk/admin/NinjaTablesAdmin.php:548
648
+ msgid "The name field is required."
649
+ msgstr "Le champ de nom est obligatoire."
650
+
651
+ #: public/dataProviders/FluentFormProvider.php:77
652
+ #: svn/trunk/public/dataProviders/FluentFormProvider.php:77
653
+ msgid "The title field is required."
654
+ msgstr "Le champ de titre est obligatoire."
655
+
656
+ #: includes/I18nStrings.php:14 svn/trunk/includes/I18nStrings.php:14
657
+ msgid "Title"
658
+ msgstr "Titre"
659
+
660
+ #: includes/I18nStrings.php:55 svn/trunk/includes/I18nStrings.php:55
661
+ msgid "to view the upgrade guide."
662
+ msgstr "pour afficher le guide de mise à niveau."
663
+
664
+ #: includes/I18nStrings.php:8 admin/NinjaTablesAdmin.php:156
665
+ #: svn/trunk/includes/I18nStrings.php:8
666
+ #: svn/trunk/admin/NinjaTablesAdmin.php:156
667
+ msgid "Tools"
668
+ msgstr "Outils"
669
+
670
+ #: includes/I18nStrings.php:63 svn/trunk/includes/I18nStrings.php:63
671
+ msgid "Totally hidden on all devices"
672
+ msgstr "Totalement caché sur tous les appareils"
673
+
674
+ #: includes/I18nStrings.php:77 svn/trunk/includes/I18nStrings.php:77
675
+ msgid "Update"
676
+ msgstr "Mettre à jour"
677
+
678
+ #: includes/I18nStrings.php:70 svn/trunk/includes/I18nStrings.php:70
679
+ msgid "Update Configuration"
680
+ msgstr "Configuration de la mise à jour"
681
+
682
+ #: includes/I18nStrings.php:52 svn/trunk/includes/I18nStrings.php:52
683
+ msgid "Upgrade Notice"
684
+ msgstr "Avis de mise à niveau"
685
+
686
+ #: admin/NinjaTablesAdmin.php:92 admin/NinjaTablesAdmin.php:93
687
+ #: svn/trunk/admin/NinjaTablesAdmin.php:92
688
+ #: svn/trunk/admin/NinjaTablesAdmin.php:93
689
+ msgid "View Table"
690
+ msgstr "Voir le tableau"
691
+
692
+ #. Author of the plugin
693
+ msgid "WPManageNinja LLC"
694
+ msgstr "WPManageNinja LLC"
695
+
696
+ #: includes/NinjaTableImport.php:211
697
+ #: svn/trunk/includes/NinjaTableImport.php:211
698
+ msgid "You have a faulty JSON file. Please export a new one."
699
+ msgstr "Vous avez un fichier JSON défectueux. Veuillez en exporter un nouveau."
700
+
701
+ #: includes/I18nStrings.php:31 svn/trunk/includes/I18nStrings.php:31
702
+ msgid "Your License is Active"
703
+ msgstr "Votre licence est activée"
704
+
705
+ #: includes/I18nStrings.php:32 svn/trunk/includes/I18nStrings.php:32
706
+ msgid "Your license is active! Enjoy Ninja Tables Pro Add On"
707
+ msgstr "Votre licence est active! Profitez de Ninja Tables Pro Add On"
708
+
709
+ #: includes/I18nStrings.php:53 svn/trunk/includes/I18nStrings.php:53
710
+ msgid ""
711
+ "Your Ninja Tables Pro plugin is outdated. Please upgrade to its latest "
712
+ "version."
713
+ msgstr ""
714
+ "Votre plugin Ninja Tables Pro est obsolète. Veuillez passer à sa dernière "
715
+ "version."
ninja-tables.php CHANGED
@@ -16,7 +16,7 @@
16
  * Plugin Name: Ninja Tables
17
  * Plugin URI: https://wpmanageninja.com/downloads/ninja-tables-pro-add-on/
18
  * Description: The Easiest & Fastest Responsive Table Plugin on WordPress. Multiple templates, drag-&-drop live table builder, multiple color scheme, and styles.
19
- * Version: 4.1.11
20
  * Author: WPManageNinja LLC
21
  * Author URI: https://wpmanageninja.com/
22
  * License: GPL-2.0+
@@ -33,7 +33,7 @@ if (!defined('WPINC')) {
33
  define('NINJA_TABLES_DIR_URL', plugin_dir_url(__FILE__));
34
  define('NINJA_TABLES_DIR_PATH', plugin_dir_path(__FILE__));
35
  define('NINJA_TABLES_PUBLIC_DIR_URL', NINJA_TABLES_DIR_URL . 'public/');
36
- define('NINJA_TABLES_VERSION', '4.1.11');
37
  define('NINJA_TABLES_ASSET_VERSION', '3.1.0');
38
  define('NINJA_TABLES_PRELOAD_FONT_VERSION', "1a82860cb5286f7833a2c33fbdd1d76c");
39
 
16
  * Plugin Name: Ninja Tables
17
  * Plugin URI: https://wpmanageninja.com/downloads/ninja-tables-pro-add-on/
18
  * Description: The Easiest & Fastest Responsive Table Plugin on WordPress. Multiple templates, drag-&-drop live table builder, multiple color scheme, and styles.
19
+ * Version: 4.1.12
20
  * Author: WPManageNinja LLC
21
  * Author URI: https://wpmanageninja.com/
22
  * License: GPL-2.0+
33
  define('NINJA_TABLES_DIR_URL', plugin_dir_url(__FILE__));
34
  define('NINJA_TABLES_DIR_PATH', plugin_dir_path(__FILE__));
35
  define('NINJA_TABLES_PUBLIC_DIR_URL', NINJA_TABLES_DIR_URL . 'public/');
36
+ define('NINJA_TABLES_VERSION', '4.1.12');
37
  define('NINJA_TABLES_ASSET_VERSION', '3.1.0');
38
  define('NINJA_TABLES_PRELOAD_FONT_VERSION', "1a82860cb5286f7833a2c33fbdd1d76c");
39
 
public/NinjaTablePublic.php CHANGED
@@ -455,7 +455,7 @@ class NinjaTablePublic
455
  NinjaFooTable::$tableCssStatuses[$tableId] = true;
456
 
457
  add_action('wp_head', function () use ($css) {
458
- echo $css;
459
  }, 99);
460
  }
461
  }
455
  NinjaFooTable::$tableCssStatuses[$tableId] = true;
456
 
457
  add_action('wp_head', function () use ($css) {
458
+ echo $css; // WPCS: XSS ok.
459
  }, 99);
460
  }
461
  }
public/views/frameless/show_review.php CHANGED
@@ -21,7 +21,7 @@
21
  <div class="nt_preview_header_title">
22
  <ul>
23
  <li>
24
- [ninja_tables id="<?php esc_attr_e($table_id); ?>"]
25
  </li>
26
  </ul>
27
  </div>
@@ -38,11 +38,11 @@
38
  <div class="nt_preview_fotter">
39
  <p class="nt_preview_fotter_text">You are seeing preview version of Ninja Tables. This table is only accessible for Admin users. Other users
40
  may not access this page. To use this for in a page please use the following shortcode: [ninja_tables
41
- id='<?php esc_attr_e($table_id) ?>']</p>
42
  </div>
43
  </div>
44
  <?php
45
  wp_footer();
46
  ?>
47
  </body>
48
- </html>
21
  <div class="nt_preview_header_title">
22
  <ul>
23
  <li>
24
+ [ninja_tables id="<?php echo esc_attr($table_id); ?>"]
25
  </li>
26
  </ul>
27
  </div>
38
  <div class="nt_preview_fotter">
39
  <p class="nt_preview_fotter_text">You are seeing preview version of Ninja Tables. This table is only accessible for Admin users. Other users
40
  may not access this page. To use this for in a page please use the following shortcode: [ninja_tables
41
+ id='<?php echo esc_attr($table_id) ?>']</p>
42
  </div>
43
  </div>
44
  <?php
45
  wp_footer();
46
  ?>
47
  </body>
48
+ </html>
public/views/table_inner_html.php CHANGED
@@ -20,7 +20,7 @@ $hasImageFunction = function_exists('nt_parse_image_column');
20
  $header_row = '<th scope="col" ' . $colspan . ' class="' . implode(' ', (array)$table_column['classes']) . ' ' . $table_column['breakpoints'] . '">' . do_shortcode($table_column['title']) . '</th>' . $header_row;
21
  ?>
22
  <?php $counter = 1; endforeach; ?>
23
- <?php echo $header_row; ?>
24
  </tr>
25
  </thead>
26
  <tbody>
@@ -40,7 +40,7 @@ if ($table_rows && count($table_columns)):
40
  $row_class = 'ninja_table_row_' . $row_index;
41
  $row_class .= ' nt_row_id_' . $rowId;
42
  ?>
43
- <tr data-row_id="<?php esc_attr_e($rowId); ?>" class="<?php esc_attr_e($row_class); ?>">
44
  <?php
45
  $colSpanCounter = 1; // Make the colspan counter 1 at first
46
  foreach ($table_columns as $index => $table_column) {
@@ -91,7 +91,7 @@ if ($table_rows && count($table_columns)):
91
  $colSpanCounter = 1;
92
  // we are reseting the colspan counter value here because the colspan is done for this iteration
93
  }
94
- echo $row;
95
  ?>
96
  </tr>
97
  <?php endforeach; ?>
20
  $header_row = '<th scope="col" ' . $colspan . ' class="' . implode(' ', (array)$table_column['classes']) . ' ' . $table_column['breakpoints'] . '">' . do_shortcode($table_column['title']) . '</th>' . $header_row;
21
  ?>
22
  <?php $counter = 1; endforeach; ?>
23
+ <?php echo $header_row; // WPCS: XSS ok. ?>
24
  </tr>
25
  </thead>
26
  <tbody>
40
  $row_class = 'ninja_table_row_' . $row_index;
41
  $row_class .= ' nt_row_id_' . $rowId;
42
  ?>
43
+ <tr data-row_id="<?php echo esc_attr($rowId); ?>" class="<?php echo esc_attr($row_class); ?>">
44
  <?php
45
  $colSpanCounter = 1; // Make the colspan counter 1 at first
46
  foreach ($table_columns as $index => $table_column) {
91
  $colSpanCounter = 1;
92
  // we are reseting the colspan counter value here because the colspan is done for this iteration
93
  }
94
+ echo $row; // WPCS: XSS ok.
95
  ?>
96
  </tr>
97
  <?php endforeach; ?>
readme.txt CHANGED
@@ -5,7 +5,7 @@ Tags: table builder, table plugin, wpdatatables, wordpress tables, table grid, c
5
  Requires at least: 4.5
6
  Requires PHP: 5.4 or greater
7
  Tested up to: 5.9
8
- Stable tag: 4.1.11
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
@@ -315,6 +315,10 @@ Yes, you can connect your Google spreadsheets to your WordPress table plugin by
315
 
316
  == Changelog ==
317
 
 
 
 
 
318
  =4.1.11 (Date: February 01, 2022) =
319
  - Adds global font style
320
  - Fixes number range filter reset issue
5
  Requires at least: 4.5
6
  Requires PHP: 5.4 or greater
7
  Tested up to: 5.9
8
+ Stable tag: 4.1.12
9
  License: GPLv2 or later
10
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
11
 
315
 
316
  == Changelog ==
317
 
318
+ =4.1.12 (Date: March 11, 2022) =
319
+ * Fix Data _esc issues
320
+ * UI improvements
321
+
322
  =4.1.11 (Date: February 01, 2022) =
323
  - Adds global font style
324
  - Fixes number range filter reset issue