Version Description
(Released: September 15, 2021) = * Bug Fixed: Security issue on ajax calls
Download this release
Release Info
Developer | catchthemes |
Plugin | Catch IDs |
Version | 2.4 |
Comparing to | |
See all releases |
Code changes from version 2.3 to 2.4
- catch-ids.php +32 -20
- js/catch-ids.js +64 -59
- languages/catch-ids.pot +9 -1
- partials/catch-ids-display.php +2 -1
- partials/display-dashboard.php +72 -71
- readme.txt +3 -0
catch-ids.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* Plugin Name: Catch IDs
|
16 |
* Plugin URI: https://catchplugins.com/plugins/catch-ids/
|
17 |
* Description: Catch IDs is a simple and light weight plugin to show the Post ID, Page ID, Media ID, Links ID, Category ID, Tag ID and User ID in the Admin Section Table. This plugin was initially develop to support our themes features slider. Then we thought that this will be helpful to all the WordPress Admin Users. Just activate and catch IDs in your page, post, category, tag and media pages.
|
18 |
-
* Version: 2.
|
19 |
* Author: Catch Plugins
|
20 |
* Author URI: catchplugins.com
|
21 |
* License: GPL-3.0+
|
@@ -53,7 +53,7 @@ if ( ! defined( 'ABSPATH' ) ) {
|
|
53 |
|
54 |
|
55 |
// Define Version
|
56 |
-
define( 'CATCH_IDS_VERSION', '2.
|
57 |
|
58 |
// The URL of the directory that contains the plugin
|
59 |
if ( ! defined( 'CATCH_IDS_URL' ) ) {
|
@@ -346,20 +346,26 @@ add_action( 'admin_enqueue_scripts', 'catchids_enqueue_scripts' );
|
|
346 |
add_action( 'wp_ajax_catchids_switch', 'catchids_switch' );
|
347 |
if ( ! function_exists( 'catchids_switch' ) ) :
|
348 |
function catchids_switch() {
|
349 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
350 |
|
351 |
-
|
352 |
|
353 |
-
|
354 |
|
355 |
-
|
356 |
|
357 |
-
|
358 |
-
|
359 |
-
|
360 |
-
|
|
|
361 |
}
|
362 |
-
|
363 |
wp_die(); // this is required to terminate immediately and return a proper response
|
364 |
}
|
365 |
endif; // catchids_switch
|
@@ -367,20 +373,26 @@ endif; // catchids_switch
|
|
367 |
add_action( 'wp_ajax_ctp_switch', 'ctp_switch' );
|
368 |
if ( ! function_exists( 'ctp_switch' ) ) :
|
369 |
function ctp_switch() {
|
370 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
371 |
|
372 |
-
|
373 |
|
374 |
-
|
375 |
|
376 |
-
|
377 |
|
378 |
-
|
379 |
-
|
380 |
-
|
381 |
-
|
|
|
382 |
}
|
383 |
-
|
384 |
wp_die(); // this is required to terminate immediately and return a proper response
|
385 |
}
|
386 |
endif; // catchids_switch
|
15 |
* Plugin Name: Catch IDs
|
16 |
* Plugin URI: https://catchplugins.com/plugins/catch-ids/
|
17 |
* Description: Catch IDs is a simple and light weight plugin to show the Post ID, Page ID, Media ID, Links ID, Category ID, Tag ID and User ID in the Admin Section Table. This plugin was initially develop to support our themes features slider. Then we thought that this will be helpful to all the WordPress Admin Users. Just activate and catch IDs in your page, post, category, tag and media pages.
|
18 |
+
* Version: 2.4
|
19 |
* Author: Catch Plugins
|
20 |
* Author URI: catchplugins.com
|
21 |
* License: GPL-3.0+
|
53 |
|
54 |
|
55 |
// Define Version
|
56 |
+
define( 'CATCH_IDS_VERSION', '2.4' );
|
57 |
|
58 |
// The URL of the directory that contains the plugin
|
59 |
if ( ! defined( 'CATCH_IDS_URL' ) ) {
|
346 |
add_action( 'wp_ajax_catchids_switch', 'catchids_switch' );
|
347 |
if ( ! function_exists( 'catchids_switch' ) ) :
|
348 |
function catchids_switch() {
|
349 |
+
if ( ! wp_verify_nonce( $_POST['security'], 'catch_ids_nonce' ) ) {
|
350 |
+
wp_die( esc_html__( 'Unauthorized access!', 'catch-ids' ) );
|
351 |
+
} else {
|
352 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
353 |
+
wp_die( esc_html__( 'Permission denied!', 'catch-ids' ) );
|
354 |
+
}
|
355 |
+
$value = ( 'true' == $_POST['value'] ) ? 1 : 0;
|
356 |
|
357 |
+
$option_name = $_POST['option_name'];
|
358 |
|
359 |
+
$option_value = catchids_get_options( 'catchids_options' );
|
360 |
|
361 |
+
$option_value[ $option_name ] = $value;
|
362 |
|
363 |
+
if ( update_option( 'catchids_options', $option_value ) ) {
|
364 |
+
echo $value;
|
365 |
+
} else {
|
366 |
+
esc_html_e( 'Connection Error. Please try again.', 'catch-ids' );
|
367 |
+
}
|
368 |
}
|
|
|
369 |
wp_die(); // this is required to terminate immediately and return a proper response
|
370 |
}
|
371 |
endif; // catchids_switch
|
373 |
add_action( 'wp_ajax_ctp_switch', 'ctp_switch' );
|
374 |
if ( ! function_exists( 'ctp_switch' ) ) :
|
375 |
function ctp_switch() {
|
376 |
+
if ( ! wp_verify_nonce( $_POST['security'], 'catch_ids_tabs_nonce' ) ) {
|
377 |
+
wp_die( esc_html__( 'Unauthorized access!', 'catch-ids' ) );
|
378 |
+
} else {
|
379 |
+
if ( ! current_user_can( 'manage_options' ) ) {
|
380 |
+
wp_die( esc_html__( 'Permission denied!', 'catch-ids' ) );
|
381 |
+
}
|
382 |
+
$value = ( 'true' == $_POST['value'] ) ? 1 : 0;
|
383 |
|
384 |
+
$option_name = $_POST['option_name'];
|
385 |
|
386 |
+
$option_value = catchids_get_options( 'catchids_options' );
|
387 |
|
388 |
+
$option_value[ $option_name ] = $value;
|
389 |
|
390 |
+
if ( update_option( 'catchids_options', $option_value ) ) {
|
391 |
+
echo $value;
|
392 |
+
} else {
|
393 |
+
esc_html_e( 'Connection Error. Please try again.', 'catch-ids' );
|
394 |
+
}
|
395 |
}
|
|
|
396 |
wp_die(); // this is required to terminate immediately and return a proper response
|
397 |
}
|
398 |
endif; // catchids_switch
|
js/catch-ids.js
CHANGED
@@ -1,63 +1,66 @@
|
|
1 |
-
(function(
|
2 |
'use strict';
|
3 |
|
4 |
-
$(function() {
|
5 |
-
|
6 |
/* For Input Switch */
|
7 |
-
$(
|
8 |
-
var loader = $(
|
9 |
-
|
10 |
loader.show();
|
11 |
-
|
12 |
-
var main_control = $(
|
|
|
13 |
var data = {
|
14 |
-
|
15 |
-
|
16 |
-
|
|
|
17 |
};
|
18 |
|
19 |
-
$.post(
|
20 |
-
response = $.trim(
|
21 |
|
22 |
-
if (
|
23 |
-
main_control.parent().parent().addClass(
|
24 |
-
main_control.parent().parent().removeClass(
|
25 |
-
} else if(
|
26 |
-
main_control.parent().parent().addClass(
|
27 |
-
main_control.parent().parent().removeClass(
|
28 |
} else {
|
29 |
-
alert(
|
30 |
}
|
31 |
-
|
32 |
loader.hide();
|
33 |
});
|
34 |
});
|
35 |
/* For Input Switch End */
|
36 |
|
37 |
/* CPT switch */
|
38 |
-
$(
|
39 |
-
var loader = $(
|
40 |
-
|
41 |
loader.show();
|
42 |
-
|
43 |
-
var main_control = $(
|
|
|
44 |
var data = {
|
45 |
-
|
46 |
-
|
47 |
-
|
|
|
48 |
};
|
49 |
|
50 |
-
$.post(
|
51 |
-
response = $.trim(
|
52 |
|
53 |
-
if (
|
54 |
-
main_control.parent().parent().addClass(
|
55 |
-
main_control.parent().parent().removeClass(
|
56 |
-
} else if(
|
57 |
-
main_control.parent().parent().addClass(
|
58 |
-
main_control.parent().parent().removeClass(
|
59 |
} else {
|
60 |
-
alert(
|
61 |
}
|
62 |
loader.hide();
|
63 |
});
|
@@ -65,29 +68,31 @@
|
|
65 |
/* CPT switch End */
|
66 |
});
|
67 |
|
68 |
-
$(function() {
|
|
|
|
|
|
|
|
|
|
|
69 |
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
|
74 |
-
|
75 |
-
$('.nav-tab').removeClass('nav-tab-active');
|
76 |
-
$('.wpcatchtab').removeClass('active').fadeOut(0);
|
77 |
|
78 |
-
|
79 |
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
});
|
86 |
-
});
|
87 |
-
|
88 |
-
// jQuery Match Height init for sidebar spots
|
89 |
-
$(document).ready(function() {
|
90 |
-
$('.catchp-sidebar-spot .sidebar-spot-inner, .col-2 .catchp-lists li, .col-3 .catchp-lists li').matchHeight();
|
91 |
-
});
|
92 |
|
93 |
-
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
(function ($) {
|
2 |
'use strict';
|
3 |
|
4 |
+
$(function () {
|
|
|
5 |
/* For Input Switch */
|
6 |
+
$('.catchids-input-switch').on('click', function () {
|
7 |
+
var loader = $(this).parent().next();
|
8 |
+
|
9 |
loader.show();
|
10 |
+
|
11 |
+
var main_control = $(this);
|
12 |
+
var catchids_nonce = main_control.prev('input').val();
|
13 |
var data = {
|
14 |
+
action: 'catchids_switch',
|
15 |
+
value: this.checked,
|
16 |
+
security: catchids_nonce,
|
17 |
+
option_name: main_control.attr('rel'),
|
18 |
};
|
19 |
|
20 |
+
$.post(ajaxurl, data, function (response) {
|
21 |
+
response = $.trim(response);
|
22 |
|
23 |
+
if ('1' == response) {
|
24 |
+
main_control.parent().parent().addClass('active');
|
25 |
+
main_control.parent().parent().removeClass('inactive');
|
26 |
+
} else if ('0' == response) {
|
27 |
+
main_control.parent().parent().addClass('inactive');
|
28 |
+
main_control.parent().parent().removeClass('active');
|
29 |
} else {
|
30 |
+
alert(response);
|
31 |
}
|
32 |
+
|
33 |
loader.hide();
|
34 |
});
|
35 |
});
|
36 |
/* For Input Switch End */
|
37 |
|
38 |
/* CPT switch */
|
39 |
+
$('.ctp-switch').on('click', function () {
|
40 |
+
var loader = $(this).parent().next();
|
41 |
+
|
42 |
loader.show();
|
43 |
+
|
44 |
+
var main_control = $(this);
|
45 |
+
var catchids_tabs_nonce = main_control.prev('input').val();
|
46 |
var data = {
|
47 |
+
action: 'ctp_switch',
|
48 |
+
value: this.checked,
|
49 |
+
security: catchids_tabs_nonce,
|
50 |
+
option_name: main_control.attr('rel'),
|
51 |
};
|
52 |
|
53 |
+
$.post(ajaxurl, data, function (response) {
|
54 |
+
response = $.trim(response);
|
55 |
|
56 |
+
if ('1' == response) {
|
57 |
+
main_control.parent().parent().addClass('active');
|
58 |
+
main_control.parent().parent().removeClass('inactive');
|
59 |
+
} else if ('0' == response) {
|
60 |
+
main_control.parent().parent().addClass('inactive');
|
61 |
+
main_control.parent().parent().removeClass('active');
|
62 |
} else {
|
63 |
+
alert(response);
|
64 |
}
|
65 |
loader.hide();
|
66 |
});
|
68 |
/* CPT switch End */
|
69 |
});
|
70 |
|
71 |
+
$(function () {
|
72 |
+
// Tabs
|
73 |
+
$('.catchp_widget_settings .nav-tab-wrapper a').on(
|
74 |
+
'click',
|
75 |
+
function (e) {
|
76 |
+
e.preventDefault();
|
77 |
|
78 |
+
if (!$(this).hasClass('ui-state-active')) {
|
79 |
+
$('.nav-tab').removeClass('nav-tab-active');
|
80 |
+
$('.wpcatchtab').removeClass('active').fadeOut(0);
|
81 |
|
82 |
+
$(this).addClass('nav-tab-active');
|
|
|
|
|
83 |
|
84 |
+
var anchorAttr = $(this).attr('href');
|
85 |
|
86 |
+
$(anchorAttr).addClass('active').fadeOut(0).fadeIn(500);
|
87 |
+
}
|
88 |
+
}
|
89 |
+
);
|
90 |
+
});
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
91 |
|
92 |
+
// jQuery Match Height init for sidebar spots
|
93 |
+
$(document).ready(function () {
|
94 |
+
$(
|
95 |
+
'.catchp-sidebar-spot .sidebar-spot-inner, .col-2 .catchp-lists li, .col-3 .catchp-lists li'
|
96 |
+
).matchHeight();
|
97 |
+
});
|
98 |
+
})(jQuery);
|
languages/catch-ids.pot
CHANGED
@@ -5,7 +5,7 @@ msgid ""
|
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: Catch Ids\n"
|
7 |
"Report-Msgid-Bugs-To: https://wordpress.org/tags/catch-ids\n"
|
8 |
-
"POT-Creation-Date: 2021-
|
9 |
"PO-Revision-Date: 2016-12-07 22:52-0500\n"
|
10 |
"Last-Translator: Pratik Shrestha <pratik@catchplugins.com>\n"
|
11 |
"Language-Team: Catch Plugins <info@catchplugins.com>\n"
|
@@ -36,6 +36,14 @@ msgstr ""
|
|
36 |
msgid "Settings"
|
37 |
msgstr ""
|
38 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
39 |
#: ../includes/CatchThemesThemePlugin.php:154
|
40 |
msgid "Themes by CatchThemes"
|
41 |
msgstr ""
|
5 |
msgstr ""
|
6 |
"Project-Id-Version: Catch Ids\n"
|
7 |
"Report-Msgid-Bugs-To: https://wordpress.org/tags/catch-ids\n"
|
8 |
+
"POT-Creation-Date: 2021-09-15 22:31-0700\n"
|
9 |
"PO-Revision-Date: 2016-12-07 22:52-0500\n"
|
10 |
"Last-Translator: Pratik Shrestha <pratik@catchplugins.com>\n"
|
11 |
"Language-Team: Catch Plugins <info@catchplugins.com>\n"
|
36 |
msgid "Settings"
|
37 |
msgstr ""
|
38 |
|
39 |
+
#: ../catch-ids.php:350 ../catch-ids.php:377
|
40 |
+
msgid "Unauthorized access!"
|
41 |
+
msgstr ""
|
42 |
+
|
43 |
+
#: ../catch-ids.php:353 ../catch-ids.php:380
|
44 |
+
msgid "Permission denied!"
|
45 |
+
msgstr ""
|
46 |
+
|
47 |
#: ../includes/CatchThemesThemePlugin.php:154
|
48 |
msgid "Themes by CatchThemes"
|
49 |
msgstr ""
|
partials/catch-ids-display.php
CHANGED
@@ -47,6 +47,7 @@
|
|
47 |
<td>
|
48 |
<div class="module-header <?php echo $options['theme_plugin_tabs'] ? 'active' : 'inactive'; ?>">
|
49 |
<div class="switch">
|
|
|
50 |
<input type="checkbox" id="catchids_options[theme_plugin_tabs]" class="ctp-switch" rel="theme_plugin_tabs" <?php checked( true, $options['theme_plugin_tabs'] ); ?> >
|
51 |
<label for="catchids_options[theme_plugin_tabs]"></label>
|
52 |
</div>
|
@@ -55,7 +56,7 @@
|
|
55 |
</td>
|
56 |
</tr>
|
57 |
</table>
|
58 |
-
|
59 |
</div>
|
60 |
</div><!-- .content-wrapper -->
|
61 |
|
47 |
<td>
|
48 |
<div class="module-header <?php echo $options['theme_plugin_tabs'] ? 'active' : 'inactive'; ?>">
|
49 |
<div class="switch">
|
50 |
+
<input type="hidden" name="catch_ids_tabs_nonce" id="catch_ids_tabs_nonce" value="<?php echo esc_attr( wp_create_nonce( 'catch_ids_tabs_nonce' ) ); ?>" />
|
51 |
<input type="checkbox" id="catchids_options[theme_plugin_tabs]" class="ctp-switch" rel="theme_plugin_tabs" <?php checked( true, $options['theme_plugin_tabs'] ); ?> >
|
52 |
<label for="catchids_options[theme_plugin_tabs]"></label>
|
53 |
</div>
|
56 |
</td>
|
57 |
</tr>
|
58 |
</table>
|
59 |
+
|
60 |
</div>
|
61 |
</div><!-- .content-wrapper -->
|
62 |
|
partials/display-dashboard.php
CHANGED
@@ -14,80 +14,81 @@
|
|
14 |
?>
|
15 |
|
16 |
<div id="catch-ids" class="catchids-main">
|
17 |
-
|
18 |
-
|
19 |
-
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
|
|
40 |
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
</div> <!-- Main Content-->
|
14 |
?>
|
15 |
|
16 |
<div id="catch-ids" class="catchids-main">
|
17 |
+
<div class="content-wrapper">
|
18 |
+
<div class="header">
|
19 |
+
<h2><?php esc_html_e( 'Settings', 'catch-infinite-scroll-pro' ); ?></h2>
|
20 |
+
</div> <!-- .Header -->
|
21 |
+
<div class="content">
|
22 |
+
<div class="module-container catch-ids-options">
|
23 |
+
<?php
|
24 |
+
$options = catchids_get_options();
|
25 |
+
$post_types = catchids_get_all_post_types();
|
26 |
+
foreach ( $post_types as $key => $value ) :
|
27 |
+
?>
|
28 |
+
<!-- Custom Post Types -->
|
29 |
+
<div id="module-<?php echo $key; ?>" class="catch-modules">
|
30 |
+
<div class="module-header <?php echo $options[ $key ] ? 'active' : 'inactive'; ?>">
|
31 |
+
<h3 class="module-title"><?php esc_html_e( $value, 'catch-ids' ); ?></h3>
|
32 |
+
<div class="switch">
|
33 |
+
<input type="hidden" name="catch_ids_nonce" id="catch_ids_nonce" value="<?php echo esc_attr( wp_create_nonce( 'catch_ids_nonce' ) ); ?>" />
|
34 |
+
<input type="checkbox" id="catchids_options[<?php echo $key; ?>]" class="catchids-input-switch" rel="<?php echo $key; ?>" <?php checked( true, $options[ $key ] ); ?> >
|
35 |
+
<label for="catchids_options[<?php echo $key; ?>]"></label>
|
36 |
+
</div>
|
37 |
+
<div class="loader"></div>
|
38 |
+
</div><!-- .module-header -->
|
39 |
+
</div><!-- .catch-modules -->
|
40 |
+
<?php endforeach; ?>
|
41 |
|
42 |
+
<!-- Media -->
|
43 |
+
<div id="module-<?php echo 'media'; ?>" class="catch-modules">
|
44 |
+
<div class="module-header <?php echo $options['media'] ? 'active' : 'inactive'; ?>">
|
45 |
+
<h3 class="module-title"><?php esc_html_e( 'Media', 'catch-ids' ); ?></h3>
|
46 |
+
<div class="switch">
|
47 |
+
<input type="checkbox" id="catchids_options[media]" class="catchids-input-switch" rel="media" <?php checked( true, $options['media'] ); ?> >
|
48 |
+
<label for="catchids_options[media]"></label>
|
49 |
+
</div>
|
50 |
+
<div class="loader"></div>
|
51 |
+
</div><!-- .module-header -->
|
52 |
+
</div><!-- .catch-modules -->
|
53 |
|
54 |
+
<!-- Categories -->
|
55 |
+
<div id="module-<?php echo 'category'; ?>" class="catch-modules">
|
56 |
+
<div class="module-header <?php echo $options['category'] ? 'active' : 'inactive'; ?>">
|
57 |
+
<h3 class="module-title"><?php esc_html_e( 'Categories', 'catch-ids' ); ?></h3>
|
58 |
+
<div class="switch">
|
59 |
+
<input type="checkbox" id="catchids_options[category]" class="catchids-input-switch" rel="category" <?php checked( true, $options['category'] ); ?> >
|
60 |
+
<label for="catchids_options[category]"></label>
|
61 |
+
</div>
|
62 |
+
<div class="loader"></div>
|
63 |
+
</div><!-- .module-header -->
|
64 |
+
</div><!-- .catch-modules -->
|
65 |
|
66 |
+
<!-- Users -->
|
67 |
+
<div id="module-<?php echo 'user'; ?>" class="catch-modules">
|
68 |
+
<div class="module-header <?php echo $options['user'] ? 'active' : 'inactive'; ?>">
|
69 |
+
<h3 class="module-title"><?php esc_html_e( 'Users', 'catch-ids' ); ?></h3>
|
70 |
+
<div class="switch">
|
71 |
+
<input type="checkbox" id="catchids_options[user]" class="catchids-input-switch" rel="user" <?php checked( true, $options['user'] ); ?> >
|
72 |
+
<label for="catchids_options[user]"></label>
|
73 |
+
</div>
|
74 |
+
<div class="loader"></div>
|
75 |
+
</div><!-- .module-header -->
|
76 |
+
</div><!-- .catch-modules -->
|
77 |
|
78 |
+
<!-- Comments -->
|
79 |
+
<div id="module-<?php echo 'comment'; ?>" class="catch-modules">
|
80 |
+
<div class="module-header <?php echo $options['comment'] ? 'active' : 'inactive'; ?>">
|
81 |
+
<h3 class="module-title"><?php esc_html_e( 'Comments', 'catch-ids' ); ?></h3>
|
82 |
+
<div class="switch">
|
83 |
+
<input type="checkbox" id="catchids_options[comment]" class="catchids-input-switch" rel="comment" <?php checked( true, $options['comment'] ); ?> >
|
84 |
+
<label for="catchids_options[comment]"></label>
|
85 |
+
</div>
|
86 |
+
<div class="loader"></div>
|
87 |
+
</div><!-- .module-header -->
|
88 |
+
</div><!-- .catch-modules -->
|
89 |
|
90 |
+
</div><!-- .module-container -->
|
91 |
+
|
92 |
+
</div><!-- .content -->
|
93 |
+
</div> <!-- .content-wrapper -->
|
94 |
</div> <!-- Main Content-->
|
readme.txt
CHANGED
@@ -51,6 +51,9 @@ Not so easy way (via FTP) :
|
|
51 |
|
52 |
== Changelog ==
|
53 |
|
|
|
|
|
|
|
54 |
= 2.3 (Released: July 23, 2021) =
|
55 |
* Compatibility check up to version 5.8
|
56 |
|
51 |
|
52 |
== Changelog ==
|
53 |
|
54 |
+
= 2.4 (Released: September 15, 2021) =
|
55 |
+
* Bug Fixed: Security issue on ajax calls
|
56 |
+
|
57 |
= 2.3 (Released: July 23, 2021) =
|
58 |
* Compatibility check up to version 5.8
|
59 |
|