Real Testimonials - Version 2.5.5

Version Description

  • May 17, 2022 =
  • Tested: WordPress 6.0 compatibility.
  • Fix: Deprecated warning of Elementor block.
  • Fix: Image height is distorted with Twenty Twenty-Two.
Download this release

Release Info

Developer shapedplugin
Plugin Icon 128x128 Real Testimonials
Version 2.5.5
Comparing to
See all releases

Code changes from version 2.5.4 to 2.5.5

readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: shapedplugin, rubel_miah, khalilu, shamimmiashuhagh
3
  Donate link: http://shapedplugin.com/donate
4
  Tags: testimonial, testimonials, testimonial showcase, testimonials showcase, testimonial slider, testimonials slider, testimonial carousel, testimonial front-end submission form, testimonials widget, easy testimonial, testimonial rotator, random testimonials, custom testimonial, collect testimonials, social proof, simple testimonial plugin, best testimonials showcase plugin, free testimonial, customers reviews, real testimonials
5
  Requires at least: 4.0
6
- Tested up to: 5.9.3
7
- Stable tag: 2.5.4
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -318,6 +318,11 @@ Thank you!
318
 
319
  == Changelog ==
320
 
 
 
 
 
 
321
  = 2.5.4 - Apr 23, 2022 =
322
  * Fix: Some assets of the Real Testimonial admin panel are not loaded properly in a few websites as that hosting directory is different.
323
 
3
  Donate link: http://shapedplugin.com/donate
4
  Tags: testimonial, testimonials, testimonial showcase, testimonials showcase, testimonial slider, testimonials slider, testimonial carousel, testimonial front-end submission form, testimonials widget, easy testimonial, testimonial rotator, random testimonials, custom testimonial, collect testimonials, social proof, simple testimonial plugin, best testimonials showcase plugin, free testimonial, customers reviews, real testimonials
5
  Requires at least: 4.0
6
+ Tested up to: 6.0
7
+ Stable tag: 2.5.5
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
318
 
319
  == Changelog ==
320
 
321
+ = 2.5.5 - May 17, 2022 =
322
+ * Tested: WordPress 6.0 compatibility.
323
+ * Fix: Deprecated warning of Elementor block.
324
+ * Fix: Image height is distorted with Twenty Twenty-Two.
325
+
326
  = 2.5.4 - Apr 23, 2022 =
327
  * Fix: Some assets of the Real Testimonial admin panel are not loaded properly in a few websites as that hosting directory is different.
328
 
src/Admin/DBUpdates.php CHANGED
@@ -32,6 +32,7 @@ class DBUpdates {
32
  '2.1.5' => 'updates/update-2.1.5.php',
33
  '2.2.5' => 'updates/update-2.2.5.php',
34
  '2.2.10' => 'updates/update-2.2.10.php',
 
35
  );
36
 
37
  /**
32
  '2.1.5' => 'updates/update-2.1.5.php',
33
  '2.2.5' => 'updates/update-2.2.5.php',
34
  '2.2.10' => 'updates/update-2.2.10.php',
35
+ '2.5.5' => 'updates/update-2.5.5.php',
36
  );
37
 
38
  /**
src/Admin/ElementAddons/Sp_Testimonial_Free_Shortcode_Widget.php CHANGED
@@ -28,7 +28,7 @@ class Sp_Testimonial_Free_Shortcode_Widget extends \Elementor\Widget_Base {
28
  * @return string Widget name.
29
  */
30
  public function get_name() {
31
- return 'real_testimonial_free_shortcode';
32
  }
33
 
34
  /**
@@ -105,7 +105,7 @@ class Sp_Testimonial_Free_Shortcode_Widget extends \Elementor\Widget_Base {
105
  );
106
 
107
  $this->add_control(
108
- 'sp_testimonial_free_shortcode',
109
  array(
110
  'label' => __( 'Real Testimonial Shortcode(s)', 'testimonial-free' ),
111
  'type' => \Elementor\Controls_Manager::SELECT2,
@@ -128,7 +128,7 @@ class Sp_Testimonial_Free_Shortcode_Widget extends \Elementor\Widget_Base {
128
  protected function render() {
129
 
130
  $settings = $this->get_settings_for_display();
131
- $sp_testimonial_shortcode = $settings['sp_testimonial_free_shortcode'];
132
 
133
  if ( '' === $sp_testimonial_shortcode ) {
134
  echo '<div style="text-align: center; margin-top: 0; padding: 10px" class="elementor-add-section-drag-title">Select a shortcode</div>';
28
  * @return string Widget name.
29
  */
30
  public function get_name() {
31
+ return 'real_testimonial_Pro_shortcode';
32
  }
33
 
34
  /**
105
  );
106
 
107
  $this->add_control(
108
+ 'sp_testimonial_pro_shortcode',
109
  array(
110
  'label' => __( 'Real Testimonial Shortcode(s)', 'testimonial-free' ),
111
  'type' => \Elementor\Controls_Manager::SELECT2,
128
  protected function render() {
129
 
130
  $settings = $this->get_settings_for_display();
131
+ $sp_testimonial_shortcode = $settings['sp_testimonial_pro_shortcode'];
132
 
133
  if ( '' === $sp_testimonial_shortcode ) {
134
  echo '<div style="text-align: center; margin-top: 0; padding: 10px" class="elementor-add-section-drag-title">Select a shortcode</div>';
src/Admin/ElementAddons_Deprecated/Sp_Testimonial_Free_Shortcode_Widget_Deprecated.php ADDED
@@ -0,0 +1,172 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Framework options.class file.
4
+ *
5
+ * @link https://shapedplugin.com
6
+ * @since 2.0.0
7
+ *
8
+ * @package Testimonial_free
9
+ * @subpackage Testimonial_free/Admin
10
+ */
11
+
12
+ namespace ShapedPlugin\TestimonialFree\Admin\ElementAddons_Deprecated;
13
+
14
+ use ShapedPlugin\TestimonialFree\Frontend\Helper;
15
+
16
+ /**
17
+ * Elementor real testimonial free shortcode Widget.
18
+ *
19
+ * @since 2.5.2
20
+ */
21
+ class Sp_Testimonial_Free_Shortcode_Widget_Deprecated extends \Elementor\Widget_Base {
22
+ /**
23
+ * Get widget name.
24
+ *
25
+ * @since 2.5.2
26
+ * @access public
27
+ *
28
+ * @return string Widget name.
29
+ */
30
+ public function get_name() {
31
+ return 'real_testimonial_free_shortcode';
32
+ }
33
+
34
+ /**
35
+ * Get widget title.
36
+ *
37
+ * @since 2.5.2
38
+ * @access public
39
+ *
40
+ * @return string Widget title.
41
+ */
42
+ public function get_title() {
43
+ return __( 'Real Testimonial Deprecated', 'testimonial-free' );
44
+ }
45
+
46
+ /**
47
+ * Get widget icon.
48
+ *
49
+ * @since 2.5.2
50
+ * @access public
51
+ *
52
+ * @return string Widget icon.
53
+ */
54
+ public function get_icon() {
55
+ return 'icon-rt';
56
+ }
57
+
58
+ /**
59
+ * Get widget categories.
60
+ *
61
+ * @since 2.5.2
62
+ * @access public
63
+ *
64
+ * @return array Widget categories.
65
+ */
66
+ public function get_categories() {
67
+ return array( 'deprecated' );
68
+ }
69
+
70
+ /**
71
+ * Get all post list.
72
+ *
73
+ * @since 2.5.2
74
+ * @return array
75
+ */
76
+ public function sprtp_post_list() {
77
+ $post_list = array();
78
+ $sprtp_posts = new \WP_Query(
79
+ array(
80
+ 'post_type' => 'spt_shortcodes',
81
+ 'post_status' => 'publish',
82
+ 'posts_per_page' => 9999,
83
+ )
84
+ );
85
+
86
+ $posts = $sprtp_posts->posts;
87
+ foreach ( $posts as $post ) {
88
+ $post_list[ $post->ID ] = $post->post_title;
89
+ }
90
+ krsort( $post_list );
91
+ return $post_list;
92
+ }
93
+
94
+ /**
95
+ * Controls register.
96
+ *
97
+ * @return void
98
+ */
99
+ protected function register_controls() {
100
+ $this->start_controls_section(
101
+ 'content_section',
102
+ array(
103
+ 'label' => __( 'Content', 'testimonial-free' ),
104
+ 'tab' => \Elementor\Controls_Manager::TAB_CONTENT,
105
+ )
106
+ );
107
+
108
+ $this->add_control(
109
+ 'sp_testimonial_free_shortcode',
110
+ array(
111
+ 'label' => __( 'Real Testimonial Shortcode(s)', 'testimonial-free' ),
112
+ 'type' => \Elementor\Controls_Manager::SELECT2,
113
+ 'label_block' => true,
114
+ 'default' => '',
115
+ 'options' => $this->sprtp_post_list(),
116
+ )
117
+ );
118
+
119
+ $this->add_control(
120
+ 'deprecated_notice',
121
+ array(
122
+ 'type' => \Elementor\Controls_Manager::DEPRECATED_NOTICE,
123
+ 'widget' => 'Real Testimonial Deprecated',
124
+ 'since' => '2.5.5',
125
+ 'last' => '2.5.8',
126
+ 'plugin' => 'Real Testimonials',
127
+ 'replacement' => 'Real Testimonials Pro',
128
+ 'content_classes' => 'sp-real-testimonial-deprecated',
129
+ )
130
+ );
131
+
132
+ $this->end_controls_section();
133
+
134
+ }
135
+
136
+ /**
137
+ * Render testimonial shortcode widget output on the frontend.
138
+ *
139
+ * @since 2.5.2
140
+ * @access protected
141
+ */
142
+ protected function render() {
143
+
144
+ $settings = $this->get_settings_for_display();
145
+ $sp_testimonial_shortcode = $settings['sp_testimonial_free_shortcode'];
146
+
147
+ if ( '' === $sp_testimonial_shortcode ) {
148
+ echo '<div style="text-align: center; margin-top: 0; padding: 10px" class="elementor-add-section-drag-title">Select a shortcode</div>';
149
+ return;
150
+ }
151
+
152
+ $generator_id = $sp_testimonial_shortcode;
153
+
154
+ if ( \Elementor\Plugin::$instance->editor->is_edit_mode() ) {
155
+ $post_id = $generator_id;
156
+ $setting_options = get_option( 'sp_testimonial_pro_options' );
157
+ $shortcode_data = get_post_meta( $post_id, 'sp_tpro_shortcode_options', true );
158
+ $main_section_title = get_the_title( $post_id );
159
+ Helper::sp_testimonial_html_show( $post_id, $setting_options, $shortcode_data, $main_section_title );
160
+ ?>
161
+ <script>
162
+ jQuery('#sp-testimonial-preloader-' + <?php echo esc_attr( $generator_id ); ?>).animate({ opacity: 0, zIndex: -99 }, 600);
163
+ </script>
164
+ <script src="<?php echo esc_url( SP_TFREE_URL . 'Frontend/assets/js/sp-slick-active.min.js' ); ?>" ></script>
165
+ <?php
166
+ } else {
167
+ echo do_shortcode( '[sp_testimonial id="' . $generator_id . '"]' );
168
+ }
169
+
170
+ }
171
+
172
+ }
src/Admin/GutenbergBlock/Sp_Testimonial_Free_Gutenberg_Block_Init.php CHANGED
@@ -70,6 +70,7 @@ if ( ! class_exists( 'Sp_Testimonial_Free_Gutenberg_Block_Init' ) ) {
70
  wp_enqueue_style( 'tfree-style', SP_TFREE_URL . 'Frontend/assets/css/style.min.css', array(), SP_TFREE_VERSION );
71
 
72
  }
 
73
  /**
74
  * Shortcode list.
75
  *
@@ -124,7 +125,7 @@ if ( ! class_exists( 'Sp_Testimonial_Free_Gutenberg_Block_Init' ) ) {
124
  * Register Gutenberg block on server-side.
125
  */
126
  register_block_type(
127
- 'sp-testimonial-free/shortcode',
128
  array(
129
  'attributes' => array(
130
  'shortcode' => array(
70
  wp_enqueue_style( 'tfree-style', SP_TFREE_URL . 'Frontend/assets/css/style.min.css', array(), SP_TFREE_VERSION );
71
 
72
  }
73
+
74
  /**
75
  * Shortcode list.
76
  *
125
  * Register Gutenberg block on server-side.
126
  */
127
  register_block_type(
128
+ 'sp-testimonial-pro/shortcode',
129
  array(
130
  'attributes' => array(
131
  'shortcode' => array(
src/Admin/GutenbergBlock/build/index.asset.php ADDED
@@ -0,0 +1 @@
 
1
+ <?php return array('dependencies' => array('wp-block-editor', 'wp-element', 'wp-escape-html'), 'version' => '8286649224e4b55f0c9a76a27e09899b');
src/Admin/GutenbergBlock/build/index.js CHANGED
@@ -1,344 +1 @@
1
- /******/ (function() { // webpackBootstrap
2
- /******/ "use strict";
3
- /******/ var __webpack_modules__ = ({
4
-
5
- /***/ "./src/shortcode/blockIcon.js":
6
- /*!************************************!*\
7
- !*** ./src/shortcode/blockIcon.js ***!
8
- \************************************/
9
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
10
-
11
- __webpack_require__.r(__webpack_exports__);
12
- /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/escape-html */ "@wordpress/escape-html");
13
- /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_0__);
14
- const el = wp.element.createElement;
15
-
16
- const icons = {};
17
- icons.sprtfIcon = el('img', {
18
- src: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_0__.escapeAttribute)(sp_testimonial_free.url + 'Admin/GutenbergBlock/assets/real-testimonials-logo.svg')
19
- });
20
- /* harmony default export */ __webpack_exports__["default"] = (icons);
21
-
22
- /***/ }),
23
-
24
- /***/ "./src/shortcode/dynamicShortcode.js":
25
- /*!*******************************************!*\
26
- !*** ./src/shortcode/dynamicShortcode.js ***!
27
- \*******************************************/
28
- /***/ (function(__unused_webpack_module, __webpack_exports__, __webpack_require__) {
29
-
30
- __webpack_require__.r(__webpack_exports__);
31
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
32
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
33
- /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/escape-html */ "@wordpress/escape-html");
34
- /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__);
35
-
36
-
37
- /**
38
- * Shortcode select component.
39
- */
40
-
41
- const {
42
- __
43
- } = wp.i18n;
44
- const {
45
- Fragment
46
- } = wp.element;
47
- const el = wp.element.createElement;
48
-
49
- const DynamicShortcodeInput = _ref => {
50
- let {
51
- attributes: {
52
- shortcode
53
- },
54
- shortCodeList,
55
- shortcodeUpdate
56
- } = _ref;
57
- return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, el('div', {
58
- className: 'sprtf-gutenberg-shortcode editor-styles-wrapper'
59
- }, el('select', {
60
- className: 'sprtf-shortcode-selector',
61
- onChange: e => shortcodeUpdate(e),
62
- value: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__.escapeAttribute)(shortcode)
63
- }, el('option', {
64
- value: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__.escapeAttribute)('0')
65
- }, (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__.escapeHTML)(__('-- Select a view (shortcode) --', 'testimonial-pro'))), shortCodeList.map(shortcode => {
66
- var title = shortcode.title.length > 30 ? shortcode.title.substring(0, 25) + '.... #(' + shortcode.id + ')' : shortcode.title + ' #(' + shortcode.id + ')';
67
- return el('option', {
68
- value: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__.escapeAttribute)(shortcode.id.toString()),
69
- key: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__.escapeAttribute)(shortcode.id.toString())
70
- }, (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_1__.escapeHTML)(title));
71
- }))));
72
- };
73
-
74
- /* harmony default export */ __webpack_exports__["default"] = (DynamicShortcodeInput);
75
-
76
- /***/ }),
77
-
78
- /***/ "@wordpress/block-editor":
79
- /*!*************************************!*\
80
- !*** external ["wp","blockEditor"] ***!
81
- \*************************************/
82
- /***/ (function(module) {
83
-
84
- module.exports = window["wp"]["blockEditor"];
85
-
86
- /***/ }),
87
-
88
- /***/ "@wordpress/element":
89
- /*!*********************************!*\
90
- !*** external ["wp","element"] ***!
91
- \*********************************/
92
- /***/ (function(module) {
93
-
94
- module.exports = window["wp"]["element"];
95
-
96
- /***/ }),
97
-
98
- /***/ "@wordpress/escape-html":
99
- /*!************************************!*\
100
- !*** external ["wp","escapeHtml"] ***!
101
- \************************************/
102
- /***/ (function(module) {
103
-
104
- module.exports = window["wp"]["escapeHtml"];
105
-
106
- /***/ })
107
-
108
- /******/ });
109
- /************************************************************************/
110
- /******/ // The module cache
111
- /******/ var __webpack_module_cache__ = {};
112
- /******/
113
- /******/ // The require function
114
- /******/ function __webpack_require__(moduleId) {
115
- /******/ // Check if module is in cache
116
- /******/ var cachedModule = __webpack_module_cache__[moduleId];
117
- /******/ if (cachedModule !== undefined) {
118
- /******/ return cachedModule.exports;
119
- /******/ }
120
- /******/ // Create a new module (and put it into the cache)
121
- /******/ var module = __webpack_module_cache__[moduleId] = {
122
- /******/ // no module.id needed
123
- /******/ // no module.loaded needed
124
- /******/ exports: {}
125
- /******/ };
126
- /******/
127
- /******/ // Execute the module function
128
- /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
129
- /******/
130
- /******/ // Return the exports of the module
131
- /******/ return module.exports;
132
- /******/ }
133
- /******/
134
- /************************************************************************/
135
- /******/ /* webpack/runtime/compat get default export */
136
- /******/ !function() {
137
- /******/ // getDefaultExport function for compatibility with non-harmony modules
138
- /******/ __webpack_require__.n = function(module) {
139
- /******/ var getter = module && module.__esModule ?
140
- /******/ function() { return module['default']; } :
141
- /******/ function() { return module; };
142
- /******/ __webpack_require__.d(getter, { a: getter });
143
- /******/ return getter;
144
- /******/ };
145
- /******/ }();
146
- /******/
147
- /******/ /* webpack/runtime/define property getters */
148
- /******/ !function() {
149
- /******/ // define getter functions for harmony exports
150
- /******/ __webpack_require__.d = function(exports, definition) {
151
- /******/ for(var key in definition) {
152
- /******/ if(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {
153
- /******/ Object.defineProperty(exports, key, { enumerable: true, get: definition[key] });
154
- /******/ }
155
- /******/ }
156
- /******/ };
157
- /******/ }();
158
- /******/
159
- /******/ /* webpack/runtime/hasOwnProperty shorthand */
160
- /******/ !function() {
161
- /******/ __webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }
162
- /******/ }();
163
- /******/
164
- /******/ /* webpack/runtime/make namespace object */
165
- /******/ !function() {
166
- /******/ // define __esModule on exports
167
- /******/ __webpack_require__.r = function(exports) {
168
- /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
169
- /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
170
- /******/ }
171
- /******/ Object.defineProperty(exports, '__esModule', { value: true });
172
- /******/ };
173
- /******/ }();
174
- /******/
175
- /************************************************************************/
176
- var __webpack_exports__ = {};
177
- // This entry need to be wrapped in an IIFE because it need to be isolated against other modules in the chunk.
178
- !function() {
179
- /*!**********************!*\
180
- !*** ./src/index.js ***!
181
- \**********************/
182
- __webpack_require__.r(__webpack_exports__);
183
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/element */ "@wordpress/element");
184
- /* harmony import */ var _wordpress_element__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_element__WEBPACK_IMPORTED_MODULE_0__);
185
- /* harmony import */ var _shortcode_blockIcon__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./shortcode/blockIcon */ "./src/shortcode/blockIcon.js");
186
- /* harmony import */ var _shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./shortcode/dynamicShortcode */ "./src/shortcode/dynamicShortcode.js");
187
- /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @wordpress/escape-html */ "@wordpress/escape-html");
188
- /* harmony import */ var _wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__);
189
- /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @wordpress/block-editor */ "@wordpress/block-editor");
190
- /* harmony import */ var _wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__);
191
-
192
-
193
-
194
-
195
-
196
- const {
197
- __
198
- } = wp.i18n;
199
- const {
200
- registerBlockType
201
- } = wp.blocks;
202
- const {
203
- PanelBody,
204
- PanelRow
205
- } = wp.components;
206
- const {
207
- Fragment
208
- } = wp.element;
209
- const ServerSideRender = wp.serverSideRender;
210
- const el = wp.element.createElement;
211
- /**
212
- * Register: aa Gutenberg Block.
213
- */
214
-
215
- registerBlockType("sp-testimonial-free/shortcode", {
216
- title: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(__("Real Testimonials", "testimonial-free")),
217
- description: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(__("Use Real Testimonials to insert a view shortcode (testimonials) in your page", "testimonial-free")),
218
- icon: _shortcode_blockIcon__WEBPACK_IMPORTED_MODULE_1__["default"].sprtfIcon,
219
- category: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)("common"),
220
- supports: {
221
- html: true
222
- },
223
- edit: props => {
224
- const {
225
- attributes,
226
- setAttributes
227
- } = props;
228
- var shortCodeList = sp_testimonial_free.shortCodeList;
229
-
230
- let scriptLoad = shortcodeId => {
231
- let sprtfBlockLoaded = false;
232
- let sprtfBlockLoadedInterval = setInterval(function () {
233
- let uniqId = jQuery("#sp-testimonial-free-wrapper-" + shortcodeId).parents().attr("id");
234
-
235
- if (document.getElementById(uniqId)) {
236
- jQuery.getScript(sp_testimonial_free.loadScript);
237
- jQuery('#sp-testimonial-preloader-' + shortcodeId).css({
238
- 'opacity': 0,
239
- 'display': 'none'
240
- });
241
- jQuery('#sp-testimonial-free-' + shortcodeId).animate({
242
- opacity: 1
243
- }, 600);
244
- sprtfBlockLoaded = true;
245
- uniqId = "";
246
- }
247
-
248
- if (sprtfBlockLoaded) {
249
- clearInterval(sprtfBlockLoadedInterval);
250
- }
251
-
252
- if (0 == shortcodeId) {
253
- clearInterval(sprtfBlockLoadedInterval);
254
- }
255
- }, 10);
256
- };
257
-
258
- let updateShortcode = updateShortcode => {
259
- setAttributes({
260
- shortcode: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(updateShortcode.target.value)
261
- });
262
- };
263
-
264
- let shortcodeUpdate = e => {
265
- updateShortcode(e);
266
- let shortcodeId = (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(e.target.value);
267
- scriptLoad(shortcodeId);
268
- };
269
-
270
- document.addEventListener("readystatechange", event => {
271
- if (event.target.readyState === "complete") {
272
- let shortcodeId = (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(attributes.shortcode);
273
- scriptLoad(shortcodeId);
274
- }
275
- });
276
-
277
- if (attributes.preview) {
278
- return el('div', {
279
- className: 'sprtf_shortcode_block_preview_image'
280
- }, el('img', {
281
- src: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(sp_testimonial_free.url + "Admin/GutenbergBlock/assets/rt-block-preview.svg")
282
- }));
283
- }
284
-
285
- if (shortCodeList.length === 0) {
286
- return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, el("div", {
287
- className: "components-placeholder components-placeholder is-large sprtf_block_shortcode"
288
- }, el("div", {
289
- className: "components-placeholder__label"
290
- }, el("img", {
291
- className: 'block-editor-block-icon',
292
- src: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(sp_testimonial_free.url + 'Admin/GutenbergBlock/assets/real-testimonials-logo.svg')
293
- }), el("h4", {}, (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(__("Real Testimonials", "testimonial-free")))), el("div", {
294
- className: "sprtf_block_shortcode_text"
295
- }, (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(__("No view shortcode found. ", "testimonial-free")), el("a", {
296
- href: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(sp_testimonial_free.link)
297
- }, (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(__("Create a view now!", "testimonial-free"))))));
298
- }
299
-
300
- if (!attributes.shortcode || attributes.shortcode == 0) {
301
- return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelBody, {
302
- title: "Select a view (shortcode)"
303
- }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelRow, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__["default"], {
304
- attributes: attributes,
305
- shortCodeList: shortCodeList,
306
- shortcodeUpdate: shortcodeUpdate
307
- })))), el('div', {
308
- className: 'components-placeholder components-placeholder is-large sprtf_block_shortcode'
309
- }, el('div', {
310
- className: 'components-placeholder__label'
311
- }, el('img', {
312
- className: 'block-editor-block-icon',
313
- src: (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeAttribute)(sp_testimonial_free.url + 'Admin/GutenbergBlock/assets/real-testimonials-logo.svg')
314
- }), (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(__("Real Testimonial", "testimonial-free"))), el('div', {
315
- className: 'components-placeholder__instructions'
316
- }, (0,_wordpress_escape_html__WEBPACK_IMPORTED_MODULE_3__.escapeHTML)(__("Select a view (shortcode)", "testimonial-free"))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__["default"], {
317
- attributes: attributes,
318
- shortCodeList: shortCodeList,
319
- shortcodeUpdate: shortcodeUpdate
320
- })));
321
- }
322
-
323
- return (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(Fragment, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_wordpress_block_editor__WEBPACK_IMPORTED_MODULE_4__.InspectorControls, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelBody, {
324
- title: "Real Testimonials Block Settings"
325
- }, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(PanelRow, null, (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(_shortcode_dynamicShortcode__WEBPACK_IMPORTED_MODULE_2__["default"], {
326
- attributes: attributes,
327
- shortCodeList: shortCodeList,
328
- shortcodeUpdate: shortcodeUpdate
329
- })))), (0,_wordpress_element__WEBPACK_IMPORTED_MODULE_0__.createElement)(ServerSideRender, {
330
- block: "sp-testimonial-free/shortcode",
331
- attributes: attributes
332
- }));
333
- },
334
-
335
- save() {
336
- // Rendering in PHP
337
- return null;
338
- }
339
-
340
- });
341
- }();
342
- /******/ })()
343
- ;
344
- //# sourceMappingURL=index.js.map
1
+ !function(){"use strict";var e=window.wp.element,t=window.wp.escapeHtml;const s=wp.element.createElement,o={};o.sprtfIcon=s("img",{src:(0,t.escapeAttribute)(sp_testimonial_free.url+"Admin/GutenbergBlock/assets/real-testimonials-logo.svg")});var r=o;const{__:__}=wp.i18n,{Fragment:a}=wp.element,l=wp.element.createElement;var i=s=>{let{attributes:{shortcode:o},shortCodeList:r,shortcodeUpdate:i}=s;return(0,e.createElement)(a,null,l("div",{className:"sprtf-gutenberg-shortcode editor-styles-wrapper"},l("select",{className:"sprtf-shortcode-selector",onChange:e=>i(e),value:(0,t.escapeAttribute)(o)},l("option",{value:(0,t.escapeAttribute)("0")},(0,t.escapeHTML)(__("-- Select a view (shortcode) --","testimonial-pro"))),r.map((e=>{var s=e.title.length>30?e.title.substring(0,25)+".... #("+e.id+")":e.title+" #("+e.id+")";return l("option",{value:(0,t.escapeAttribute)(e.id.toString()),key:(0,t.escapeAttribute)(e.id.toString())},(0,t.escapeHTML)(s))})))))},n=window.wp.blockEditor;const{__:c}=wp.i18n,{registerBlockType:p}=wp.blocks,{PanelBody:m,PanelRow:d}=wp.components,{Fragment:u}=wp.element,h=wp.serverSideRender,b=wp.element.createElement;p("sp-testimonial-pro/shortcode",{title:(0,t.escapeHTML)(c("Real Testimonials","testimonial-free")),description:(0,t.escapeHTML)(c("Use Real Testimonials to insert a view shortcode (testimonials) in your page","testimonial-free")),icon:r.sprtfIcon,category:(0,t.escapeHTML)("common"),supports:{html:!0},edit:s=>{const{attributes:o,setAttributes:r}=s;var a=sp_testimonial_free.shortCodeList;let l=e=>{let t=!1,s=setInterval((function(){let o=jQuery("#sp-testimonial-free-wrapper-"+e).parents().attr("id");document.getElementById(o)&&(jQuery.getScript(sp_testimonial_free.loadScript),jQuery("#sp-testimonial-preloader-"+e).css({opacity:0,display:"none"}),jQuery("#sp-testimonial-free-"+e).animate({opacity:1},600),t=!0,o=""),t&&clearInterval(s),0==e&&clearInterval(s)}),10)},p=e=>{var s;s=e,r({shortcode:(0,t.escapeAttribute)(s.target.value)});let o=(0,t.escapeAttribute)(e.target.value);l(o)};return document.addEventListener("readystatechange",(e=>{if("complete"===e.target.readyState){let e=(0,t.escapeAttribute)(o.shortcode);l(e)}})),o.preview?b("div",{className:"sprtf_shortcode_block_preview_image"},b("img",{src:(0,t.escapeAttribute)(sp_testimonial_free.url+"Admin/GutenbergBlock/assets/rt-block-preview.svg")})):0===a.length?(0,e.createElement)(u,null,b("div",{className:"components-placeholder components-placeholder is-large sprtf_block_shortcode"},b("div",{className:"components-placeholder__label"},b("img",{className:"block-editor-block-icon",src:(0,t.escapeAttribute)(sp_testimonial_free.url+"Admin/GutenbergBlock/assets/real-testimonials-logo.svg")}),b("h4",{},(0,t.escapeHTML)(c("Real Testimonials","testimonial-free")))),b("div",{className:"sprtf_block_shortcode_text"},(0,t.escapeHTML)(c("No view shortcode found. ","testimonial-free")),b("a",{href:(0,t.escapeAttribute)(sp_testimonial_free.link)},(0,t.escapeHTML)(c("Create a view now!","testimonial-free")))))):o.shortcode&&0!=o.shortcode?(0,e.createElement)(u,null,(0,e.createElement)(n.InspectorControls,null,(0,e.createElement)(m,{title:"Real Testimonials Block Settings"},(0,e.createElement)(d,null,(0,e.createElement)(i,{attributes:o,shortCodeList:a,shortcodeUpdate:p})))),(0,e.createElement)(h,{block:"sp-testimonial-pro/shortcode",attributes:o})):(0,e.createElement)(u,null,(0,e.createElement)(n.InspectorControls,null,(0,e.createElement)(m,{title:"Select a view (shortcode)"},(0,e.createElement)(d,null,(0,e.createElement)(i,{attributes:o,shortCodeList:a,shortcodeUpdate:p})))),b("div",{className:"components-placeholder components-placeholder is-large sprtf_block_shortcode"},b("div",{className:"components-placeholder__label"},b("img",{className:"block-editor-block-icon",src:(0,t.escapeAttribute)(sp_testimonial_free.url+"Admin/GutenbergBlock/assets/real-testimonials-logo.svg")}),(0,t.escapeHTML)(c("Real Testimonial","testimonial-free"))),b("div",{className:"components-placeholder__instructions"},(0,t.escapeHTML)(c("Select a view (shortcode)","testimonial-free"))),(0,e.createElement)(i,{attributes:o,shortCodeList:a,shortcodeUpdate:p})))},save:()=>null})}();
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
src/Admin/Sp_Testimonial_Free_Element_Shortcode_Block.php CHANGED
@@ -1,6 +1,6 @@
1
  <?php
2
  /**
3
- * Framework options.class file.
4
  *
5
  * @link https://shapedplugin.com
6
  * @since 2.0.0
@@ -113,7 +113,7 @@ class Sp_Testimonial_Free_Element_Shortcode_Block {
113
  */
114
  public function init() {
115
  // Add Plugin actions.
116
- add_action( 'elementor/widgets/widgets_registered', array( $this, 'init_widgets' ) );
117
  }
118
 
119
  /**
@@ -127,7 +127,7 @@ class Sp_Testimonial_Free_Element_Shortcode_Block {
127
  */
128
  public function init_widgets() {
129
  // Register widget.
130
- \Elementor\Plugin::instance()->widgets_manager->register_widget_type( new ElementAddons\Sp_Testimonial_Free_Shortcode_Widget() );
131
 
132
  }
133
 
1
  <?php
2
  /**
3
+ * The elementor block of the plugin.
4
  *
5
  * @link https://shapedplugin.com
6
  * @since 2.0.0
113
  */
114
  public function init() {
115
  // Add Plugin actions.
116
+ add_action( 'elementor/widgets/register', array( $this, 'init_widgets' ) );
117
  }
118
 
119
  /**
127
  */
128
  public function init_widgets() {
129
  // Register widget.
130
+ \Elementor\Plugin::instance()->widgets_manager->register( new ElementAddons\Sp_Testimonial_Free_Shortcode_Widget() );
131
 
132
  }
133
 
src/Admin/Sp_Testimonial_Free_Element_Shortcode_Block_Deprecated.php ADDED
@@ -0,0 +1,136 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Framework options.class file.
4
+ *
5
+ * @link https://shapedplugin.com
6
+ * @since 2.0.0
7
+ *
8
+ * @package Testimonial_free
9
+ * @subpackage Testimonial_free/Admin
10
+ */
11
+
12
+ namespace ShapedPlugin\TestimonialFree\Admin;
13
+
14
+ /**
15
+ * Elementor shortcode block.
16
+ */
17
+ class Sp_Testimonial_Free_Element_Shortcode_Block_Deprecated {
18
+ /**
19
+ * Instance
20
+ *
21
+ * @since 2.5.2
22
+ *
23
+ * @access private
24
+ * @static
25
+ *
26
+ * @var Sp_Testimonial_Free_Element_Shortcode_Block_Deprecated The single instance of the class.
27
+ */
28
+ private static $_instance = null;
29
+
30
+ /**
31
+ * Instance
32
+ *
33
+ * Ensures only one instance of the class is loaded or can be loaded.
34
+ *
35
+ * @since 2.5.2
36
+ *
37
+ * @access public
38
+ * @static
39
+ *
40
+ * @return Elementor_Test_Extension An instance of the class.
41
+ */
42
+ public static function instance() {
43
+
44
+ if ( is_null( self::$_instance ) ) {
45
+ self::$_instance = new self();
46
+ }
47
+ return self::$_instance;
48
+
49
+ }
50
+
51
+ /**
52
+ * Constructor
53
+ *
54
+ * @since 2.5.2
55
+ *
56
+ * @access public
57
+ */
58
+ public function __construct() {
59
+ $this->on_plugins_loaded();
60
+ add_action( 'wp_enqueue_scripts', array( $this, 'sprtp_block_enqueue_scripts' ) );
61
+ add_action( 'elementor/editor/before_enqueue_scripts', array( $this, 'sprtp_element_block_icon' ) );
62
+ }
63
+
64
+ /**
65
+ * Elementor block icon.
66
+ *
67
+ * @since 2.5.2
68
+ * @return void
69
+ */
70
+ public function sprtp_element_block_icon() {
71
+ wp_enqueue_style( 'sprtp_element_block_icon', SP_TFREE_URL . 'Admin/assets/css/fontello.min.css', array(), SP_TFREE_VERSION, 'all' );
72
+ }
73
+
74
+ /**
75
+ * Register the JavaScript for the elementor block area.
76
+ *
77
+ * @since 2.5.2
78
+ */
79
+ public function sprtp_block_enqueue_scripts() {
80
+
81
+ // JS Files.
82
+ wp_enqueue_script( 'tfree-slick-min-js', SP_TFREE_URL . 'Frontend/assets/js/slick.min.js', array( 'jquery' ), SP_TFREE_VERSION, true );
83
+ wp_enqueue_script( 'tfree-slick-active', SP_TFREE_URL . 'Frontend/assets/js/sp-slick-active.min.js', array( 'jquery' ), SP_TFREE_VERSION, true );
84
+ }
85
+
86
+ /**
87
+ * On Plugins Loaded
88
+ *
89
+ * Checks if Elementor has loaded, and performs some compatibility checks.
90
+ * If All checks pass, inits the plugin.
91
+ *
92
+ * Fired by `plugins_loaded` action hook.
93
+ *
94
+ * @since 2.5.2
95
+ *
96
+ * @access public
97
+ */
98
+ public function on_plugins_loaded() {
99
+ add_action( 'elementor/init', array( $this, 'init' ) );
100
+ }
101
+
102
+ /**
103
+ * Initialize the plugin
104
+ *
105
+ * Load the plugin only after Elementor (and other plugins) are loaded.
106
+ * Load the files required to run the plugin.
107
+ *
108
+ * Fired by `plugins_loaded` action hook.
109
+ *
110
+ * @since 2.5.2
111
+ *
112
+ * @access public
113
+ */
114
+ public function init() {
115
+ // Add Plugin actions.
116
+ add_action( 'elementor/widgets/register', array( $this, 'init_widgets' ) );
117
+ }
118
+
119
+ /**
120
+ * Init Widgets
121
+ *
122
+ * Include widgets files and register them
123
+ *
124
+ * @since 2.5.2
125
+ *
126
+ * @access public
127
+ */
128
+ public function init_widgets() {
129
+ // Register widget.
130
+ \Elementor\Plugin::instance()->widgets_manager->register( new ElementAddons_Deprecated\Sp_Testimonial_Free_Shortcode_Widget_Deprecated() );
131
+
132
+ }
133
+
134
+ }
135
+
136
+ Sp_Testimonial_Free_Element_Shortcode_Block_Deprecated::instance();
src/Admin/updates/update-2.5.5.php ADDED
@@ -0,0 +1,33 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ /**
3
+ * Update version for gutenberg block.
4
+ */
5
+ update_option( 'testimonial_version', '2.5.5' );
6
+ update_option( 'testimonial_db_version', '2.5.5' );
7
+
8
+ $args = new \WP_Query(
9
+ array(
10
+ 'post_type' => array( 'page' ),
11
+ 'post_status' => 'publish',
12
+ 'posts_per_page' => '300',
13
+ )
14
+ );
15
+ $post_ids = wp_list_pluck( $args->posts, 'ID' );
16
+
17
+ if ( count( $post_ids ) > 0 ) {
18
+ add_filter( 'wp_revisions_to_keep', '__return_false' );
19
+ foreach ( $post_ids as $post_key => $pid ) {
20
+ $post_data = get_post( $pid );
21
+ $post_content = isset( $post_data->post_content ) ? $post_data->post_content : '';
22
+ if ( ! empty( $post_content ) && ( strpos( $post_content, 'wp:sp-testimonial-free' ) !== false ) ) {
23
+ $post_content = preg_replace( '/wp:sp-testimonial-free/i', 'wp:sp-testimonial-pro', $post_content );
24
+
25
+ $gutenberg_post = array(
26
+ 'ID' => $pid,
27
+ 'post_content' => $post_content,
28
+ );
29
+ // Update the post into the database.
30
+ wp_update_post( $gutenberg_post );
31
+ }
32
+ }
33
+ }
src/Frontend/Frontend.php CHANGED
@@ -56,7 +56,7 @@ class Frontend {
56
  /**
57
  * Shortcode render.
58
  *
59
- * @param array $attributes Schortcode attributes.
60
  *
61
  * @return string
62
  * @since 2.0
56
  /**
57
  * Shortcode render.
58
  *
59
+ * @param array $attributes Shortcode attributes.
60
  *
61
  * @return string
62
  * @since 2.0
src/Frontend/assets/css/style.css CHANGED
@@ -1,9 +1,10 @@
1
  .sp-testimonial-free-section * {
2
  box-sizing: border-box;
3
  }
4
- div.sp-testimonial-free-section {
 
5
  display: none;
6
- }
7
 
8
  div.sp-testimonial-free-section .slick-list {
9
  margin-right: -24px;
@@ -117,6 +118,8 @@ div.sp-testimonial-free-section.slick-initialized {
117
  -webkit-border-radius: 50%;
118
  -moz-border-radius: 50%;
119
  border-radius: 50%;
 
 
120
  }
121
 
122
  .theme-twentytwentyone .sp-testimonial-free-section .sp-testimonial-client-image img {
@@ -151,10 +154,12 @@ div.sp-testimonial-free-section.slick-initialized {
151
  border: 0;
152
  display: block;
153
  }
154
- .sp-testimonial-free-section .slick-dots li button:focus{
 
155
  outline-offset: unset;
156
  outline: none;
157
  }
 
158
  /* Nav */
159
  .sp-testimonial-free-section .slick-prev,
160
  .sp-testimonial-free-section .slick-next {
1
  .sp-testimonial-free-section * {
2
  box-sizing: border-box;
3
  }
4
+
5
+ /* div.sp-testimonial-free-section {
6
  display: none;
7
+ } */
8
 
9
  div.sp-testimonial-free-section .slick-list {
10
  margin-right: -24px;
118
  -webkit-border-radius: 50%;
119
  -moz-border-radius: 50%;
120
  border-radius: 50%;
121
+ max-width: 100%;
122
+ height: auto;
123
  }
124
 
125
  .theme-twentytwentyone .sp-testimonial-free-section .sp-testimonial-client-image img {
154
  border: 0;
155
  display: block;
156
  }
157
+
158
+ .sp-testimonial-free-section .slick-dots li button:focus {
159
  outline-offset: unset;
160
  outline: none;
161
  }
162
+
163
  /* Nav */
164
  .sp-testimonial-free-section .slick-prev,
165
  .sp-testimonial-free-section .slick-next {
src/Frontend/assets/css/style.min.css CHANGED
@@ -1 +1 @@
1
- .sp-testimonial-free-section *{box-sizing:border-box}div.sp-testimonial-free-section{display:none}div.sp-testimonial-free-section .slick-list{margin-right:-24px}div.sp-testimonial-free-section.slick-initialized{display:block}.sp-testimonial-free-section .slick-dots li.slick-active button:focus,.sp-testimonial-free-section .sp-testimonial-item:focus{outline:0}.sp-testimonial-free-section .sp-testimonial-item{text-align:center;padding-right:24px;will-change:transform}#poststuff .sp-testimonial-free-wrapper h2.sp-testimonial-free-section-title,.sp-testimonial-free-wrapper h2.sp-testimonial-free-section-title{margin:0;padding:0;margin-bottom:50px;font-size:25px;line-height:22px;font-weight:600;font-style:normal;text-align:center}.sp-testimonial-free-section .sp-testimonial-title{margin:0 0 18px 0}.sp-testimonial-free-section .sp-testimonial-title h3{font-size:20px;line-height:30px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:600;font-style:normal;padding:0;margin:0}.sp-testimonial-free-section .sp-testimonial-client-testimonial,.sp-testimonial-free-section .sp-testimonial-client-testimonial p{font-size:16px;line-height:26px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:400;font-style:normal;margin:0 0 20px 0}#sp_tpro-preview-box .sp-testimonial-free-section .sp-testimonial-client-testimonial{margin:0 20px 20px 0}.sp-testimonial-free-section .sp-testimonial-client-testimonial .sp-testimonial-content{display:inline;margin:0;padding:0}.sp-testimonial-free-section .sp-testimonial-client-name{font-size:16px;line-height:24px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:700;font-style:normal;margin:0 0 8px 0;padding:0}.sp-testimonial-free-section .sp-testimonial-client-rating{margin:0 0 6px 0;text-align:center;line-height:1}.sp-testimonial-free-section .sp-testimonial-client-rating i.fa{font-size:19px;margin-right:-1px}.sp-testimonial-free-section .sp-testimonial-client-designation{font-size:16px;line-height:24px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:400;font-style:normal}.sp-testimonial-free-section .sp-testimonial-client-image{margin:0 0 22px 0}.sp-testimonial-free-section .sp-testimonial-client-image img{display:inline-block;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%}.theme-twentytwentyone .sp-testimonial-free-section .sp-testimonial-client-image img{width:auto!important}.sp-testimonial-free-section .slick-dots{margin:0;margin-top:20px;padding:0;list-style:none;text-align:center}.sp-testimonial-free-section .slick-dots li{display:inline-block;border:0;padding:0;width:13px;height:13px;margin:3px;overflow:hidden}.sp-testimonial-free-section .slick-dots li button{border-radius:50%;text-indent:-999px;width:13px;height:13px;padding:0;border:0;display:block}.sp-testimonial-free-section .slick-dots li button:focus{outline-offset:unset;outline:0}.sp-testimonial-free-section .slick-next,.sp-testimonial-free-section .slick-prev{top:50%;font-size:20px;line-height:32px;display:block;width:32px;padding:0;cursor:pointer;outline:0;position:absolute;text-align:center;z-index:22;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;transition:all .3s ease;transform:translateY(-50px)}.sp-testimonial-free-section .slick-prev{left:0}.sp-testimonial-free-section .slick-next{right:0}.sp-testimonial-free-wrapper{position:relative;overflow:hidden}.sp-testimonial-preloader{background-color:#fff;background-repeat:no-repeat;background-position:center center;position:absolute;z-index:90;width:100%;height:100%;text-align:center;top:0;left:0;right:0;border:0}.sp-testimonial-preloader img{position:relative;top:50%;display:inline-block;margin-top:-16px}
1
+ .sp-testimonial-free-section *{box-sizing:border-box}div.sp-testimonial-free-section .slick-list{margin-right:-24px}div.sp-testimonial-free-section.slick-initialized{display:block}.sp-testimonial-free-section .slick-dots li.slick-active button:focus,.sp-testimonial-free-section .sp-testimonial-item:focus{outline:0}.sp-testimonial-free-section .sp-testimonial-item{text-align:center;padding-right:24px;will-change:transform}#poststuff .sp-testimonial-free-wrapper h2.sp-testimonial-free-section-title,.sp-testimonial-free-wrapper h2.sp-testimonial-free-section-title{margin:0;padding:0;margin-bottom:50px;font-size:25px;line-height:22px;font-weight:600;font-style:normal;text-align:center}.sp-testimonial-free-section .sp-testimonial-title{margin:0 0 18px 0}.sp-testimonial-free-section .sp-testimonial-title h3{font-size:20px;line-height:30px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:600;font-style:normal;padding:0;margin:0}.sp-testimonial-free-section .sp-testimonial-client-testimonial,.sp-testimonial-free-section .sp-testimonial-client-testimonial p{font-size:16px;line-height:26px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:400;font-style:normal;margin:0 0 20px 0}#sp_tpro-preview-box .sp-testimonial-free-section .sp-testimonial-client-testimonial{margin:0 20px 20px 0}.sp-testimonial-free-section .sp-testimonial-client-testimonial .sp-testimonial-content{display:inline;margin:0;padding:0}.sp-testimonial-free-section .sp-testimonial-client-name{font-size:16px;line-height:24px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:700;font-style:normal;margin:0 0 8px 0;padding:0}.sp-testimonial-free-section .sp-testimonial-client-rating{margin:0 0 6px 0;text-align:center;line-height:1}.sp-testimonial-free-section .sp-testimonial-client-rating i.fa{font-size:19px;margin-right:-1px}.sp-testimonial-free-section .sp-testimonial-client-designation{font-size:16px;line-height:24px;text-transform:none;text-align:center;letter-spacing:normal;font-weight:400;font-style:normal}.sp-testimonial-free-section .sp-testimonial-client-image{margin:0 0 22px 0}.sp-testimonial-free-section .sp-testimonial-client-image img{display:inline-block;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;max-width:100%;height:auto}.theme-twentytwentyone .sp-testimonial-free-section .sp-testimonial-client-image img{width:auto!important}.sp-testimonial-free-section .slick-dots{margin:0;margin-top:20px;padding:0;list-style:none;text-align:center}.sp-testimonial-free-section .slick-dots li{display:inline-block;border:0;padding:0;width:13px;height:13px;margin:3px;overflow:hidden}.sp-testimonial-free-section .slick-dots li button{border-radius:50%;text-indent:-999px;width:13px;height:13px;padding:0;border:0;display:block}.sp-testimonial-free-section .slick-dots li button:focus{outline-offset:unset;outline:0}.sp-testimonial-free-section .slick-next,.sp-testimonial-free-section .slick-prev{top:50%;font-size:20px;line-height:32px;display:block;width:32px;padding:0;cursor:pointer;outline:0;position:absolute;text-align:center;z-index:22;-webkit-transition:all .3s ease;-moz-transition:all .3s ease;transition:all .3s ease;transform:translateY(-50px)}.sp-testimonial-free-section .slick-prev{left:0}.sp-testimonial-free-section .slick-next{right:0}.sp-testimonial-free-wrapper{position:relative;overflow:hidden}.sp-testimonial-preloader{background-color:#fff;background-repeat:no-repeat;background-position:center center;position:absolute;z-index:90;width:100%;height:100%;text-align:center;top:0;left:0;right:0;border:0}.sp-testimonial-preloader img{position:relative;top:50%;display:inline-block;margin-top:-16px}
src/Includes/TestimonialFree.php CHANGED
@@ -18,6 +18,7 @@ use ShapedPlugin\TestimonialFree\Frontend\Frontend;
18
  use ShapedPlugin\TestimonialFree\Frontend\Views\Deprecated_Shortcodes;
19
  use ShapedPlugin\TestimonialFree\Admin\Sp_Testimonial_Free_Gutenberg_Block;
20
  use ShapedPlugin\TestimonialFree\Admin\Sp_Testimonial_Free_Element_Shortcode_Block;
 
21
 
22
  // If this file is called directly, abort.
23
  if ( ! defined( 'WPINC' ) ) {
@@ -117,6 +118,7 @@ class TestimonialFree {
117
  * @return void
118
  */
119
  public function init_actions() {
 
120
  add_action( 'plugins_loaded', array( $this, 'load_text_domain' ) );
121
  add_action( 'manage_spt_shortcodes_posts_custom_column', array( $this, 'add_shortcode_form' ), 10, 2 );
122
  add_action( 'manage_spt_testimonial_posts_custom_column', array( $this, 'add_testimonial_extra_column' ), 10, 2 );
@@ -143,6 +145,7 @@ class TestimonialFree {
143
  require_once ABSPATH . 'wp-admin/includes/plugin.php';
144
  if ( ( is_plugin_active( 'elementor/elementor.php' ) || is_plugin_active_for_network( 'elementor/elementor.php' ) ) ) {
145
  new Sp_Testimonial_Free_Element_Shortcode_Block();
 
146
  }
147
  }
148
 
18
  use ShapedPlugin\TestimonialFree\Frontend\Views\Deprecated_Shortcodes;
19
  use ShapedPlugin\TestimonialFree\Admin\Sp_Testimonial_Free_Gutenberg_Block;
20
  use ShapedPlugin\TestimonialFree\Admin\Sp_Testimonial_Free_Element_Shortcode_Block;
21
+ use ShapedPlugin\TestimonialFree\Admin\Sp_Testimonial_Free_Element_Shortcode_Block_Deprecated;
22
 
23
  // If this file is called directly, abort.
24
  if ( ! defined( 'WPINC' ) ) {
118
  * @return void
119
  */
120
  public function init_actions() {
121
+
122
  add_action( 'plugins_loaded', array( $this, 'load_text_domain' ) );
123
  add_action( 'manage_spt_shortcodes_posts_custom_column', array( $this, 'add_shortcode_form' ), 10, 2 );
124
  add_action( 'manage_spt_testimonial_posts_custom_column', array( $this, 'add_testimonial_extra_column' ), 10, 2 );
145
  require_once ABSPATH . 'wp-admin/includes/plugin.php';
146
  if ( ( is_plugin_active( 'elementor/elementor.php' ) || is_plugin_active_for_network( 'elementor/elementor.php' ) ) ) {
147
  new Sp_Testimonial_Free_Element_Shortcode_Block();
148
+ new Sp_Testimonial_Free_Element_Shortcode_Block_Deprecated();
149
  }
150
  }
151
 
testimonial-free.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Real Testimonials
13
  * Plugin URI: https://shapedplugin.com/real-testimonials/?ref=1
14
  * Description: Most Customizable and Powerful Testimonials Showcase Plugin for WordPress that allows you to manage and display Testimonials or Reviews on any page or widget.
15
- * Version: 2.5.4
16
  * Author: ShapedPlugin
17
  * Author URI: https://shapedplugin.com/
18
  * Text Domain: testimonial-free
@@ -37,7 +37,7 @@ function is_testimonial_pro_active() {
37
  }
38
 
39
  define( 'SP_TFREE_NAME', 'Real Testimonials' );
40
- define( 'SP_TFREE_VERSION', '2.5.4' );
41
  define( 'SP_TFREE_PATH', plugin_dir_path( __FILE__ ) . 'src/' );
42
  define( 'SP_TFREE_URL', plugin_dir_url( __FILE__ ) . 'src/' );
43
  define( 'SP_TFREE_BASENAME', plugin_basename( __FILE__ ) );
12
  * Plugin Name: Real Testimonials
13
  * Plugin URI: https://shapedplugin.com/real-testimonials/?ref=1
14
  * Description: Most Customizable and Powerful Testimonials Showcase Plugin for WordPress that allows you to manage and display Testimonials or Reviews on any page or widget.
15
+ * Version: 2.5.5
16
  * Author: ShapedPlugin
17
  * Author URI: https://shapedplugin.com/
18
  * Text Domain: testimonial-free
37
  }
38
 
39
  define( 'SP_TFREE_NAME', 'Real Testimonials' );
40
+ define( 'SP_TFREE_VERSION', '2.5.5' );
41
  define( 'SP_TFREE_PATH', plugin_dir_path( __FILE__ ) . 'src/' );
42
  define( 'SP_TFREE_URL', plugin_dir_url( __FILE__ ) . 'src/' );
43
  define( 'SP_TFREE_BASENAME', plugin_basename( __FILE__ ) );