Premium Portfolio Features for Phlox theme - Version 1.6.9

Version Description

Download this release

Release Info

Developer averta
Plugin Icon 128x128 Premium Portfolio Features for Phlox theme
Version 1.6.9
Comparing to
See all releases

Code changes from version 1.6.8 to 1.6.9

README.txt CHANGED
@@ -7,7 +7,7 @@ Tags: phlox, gallery, elementor, siteorigin, portfolio, averta, auxin, fullwidth
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
  Tested up to: 4.9.7
10
- Stable tag: 1.6.8
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
@@ -136,6 +136,9 @@ Bugs can be reported in our [support forums](http://support.averta.net/en/item/p
136
 
137
  == Changelog ==
138
 
 
 
 
139
  = Version 1.6.7 / (05.07.2018) =
140
  - [New]: Adding custom CSS field to elementor elements.
141
  - [Fix]: Minor bugs fixed.
@@ -222,6 +225,5 @@ Bugs can be reported in our [support forums](http://support.averta.net/en/item/p
222
 
223
  == Upgrade Notice ==
224
 
225
- = 1.6.7 =
226
- - [New]: Adding custom CSS field to elementor elements.
227
  - [Fix]: Minor bugs fixed.
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
  Tested up to: 4.9.7
10
+ Stable tag: 1.6.9
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
136
 
137
  == Changelog ==
138
 
139
+ = Version 1.6.9 / (31.07.2018) =
140
+ - [Fix]: Minor bugs fixed.
141
+
142
  = Version 1.6.7 / (05.07.2018) =
143
  - [New]: Adding custom CSS field to elementor elements.
144
  - [Fix]: Minor bugs fixed.
225
 
226
  == Upgrade Notice ==
227
 
228
+ = 1.6.9 =
 
229
  - [Fix]: Minor bugs fixed.
auxin-portfolio.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Phlox Portfolio
13
  * Plugin URI: http://phlox.pro/
14
  * Description: Showcase your projects beautifully in Phlox theme
15
- * Version: 1.6.8
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * License: GPL2
@@ -51,7 +51,7 @@ if( is_admin() || false === get_transient( 'auxpfo_plugin_requirements_check' )
51
  'name' => __('Phlox Core Elements', 'auxin-portfolio'), // The plugin name.
52
  'basename' => 'auxin-elements/auxin-elements.php', // The plugin basename (typically the folder name and main php file)
53
  'required' => true, // If true, the user will be notified with a notice to install the plugin.
54
- 'version' => '2.2.10', // E.g. 1.0.0. If set, the active plugin must be this version or higher.
55
  'dependency' => true, // If true, and the plugin is activated, the plugin will be loaded before as a dependeny.
56
  'is_callable' => 'AUXELS' // If set, this callable will be be checked for availability to determine if a plugin is active.
57
  )
@@ -61,7 +61,7 @@ if( is_admin() || false === get_transient( 'auxpfo_plugin_requirements_check' )
61
  array(
62
  'name' => __('Phlox Pro', 'auxin-portfolio'), // The theme name.
63
  'id' => 'phlox-pro', // The theme id name.
64
- 'version' => '5.0.1', // E.g. 1.0.0. If set, the active theme must be this version or higher.
65
  'is_callable' => '', // If set, this callable will be be checked for availability to determine if a theme is active.
66
  'theme_requires_const' => 'AUXPFO_REQUIRED_VERSION',
67
  'file_required' => array( get_template_directory() . '/auxin-content/init/dependency.php', get_template_directory() . '/auxin-content/init/constant.php' )
@@ -70,7 +70,7 @@ if( is_admin() || false === get_transient( 'auxpfo_plugin_requirements_check' )
70
  'name' => __('Phlox', 'auxin-portfolio'), // The theme name.
71
  'id' => 'phlox', // The theme id name.
72
  'update_link' => 'themes.php?theme=phlox',
73
- 'version' => '2.2.12', // E.g. 1.0.0. If set, the active theme must be this version or higher.
74
  'is_callable' => '', // If set, this callable will be be checked for availability to determine if a theme is active.
75
  'theme_requires_const' => 'AUXPFO_REQUIRED_VERSION',
76
  'file_required' => array( get_template_directory() . '/auxin-content/init/dependency.php', get_template_directory() . '/auxin-content/init/constant.php' )
12
  * Plugin Name: Phlox Portfolio
13
  * Plugin URI: http://phlox.pro/
14
  * Description: Showcase your projects beautifully in Phlox theme
15
+ * Version: 1.6.9
16
  * Author: averta
17
  * Author URI: http://averta.net
18
  * License: GPL2
51
  'name' => __('Phlox Core Elements', 'auxin-portfolio'), // The plugin name.
52
  'basename' => 'auxin-elements/auxin-elements.php', // The plugin basename (typically the folder name and main php file)
53
  'required' => true, // If true, the user will be notified with a notice to install the plugin.
54
+ 'version' => '2.2.12', // E.g. 1.0.0. If set, the active plugin must be this version or higher.
55
  'dependency' => true, // If true, and the plugin is activated, the plugin will be loaded before as a dependeny.
56
  'is_callable' => 'AUXELS' // If set, this callable will be be checked for availability to determine if a plugin is active.
57
  )
61
  array(
62
  'name' => __('Phlox Pro', 'auxin-portfolio'), // The theme name.
63
  'id' => 'phlox-pro', // The theme id name.
64
+ 'version' => '5.0.5', // E.g. 1.0.0. If set, the active theme must be this version or higher.
65
  'is_callable' => '', // If set, this callable will be be checked for availability to determine if a theme is active.
66
  'theme_requires_const' => 'AUXPFO_REQUIRED_VERSION',
67
  'file_required' => array( get_template_directory() . '/auxin-content/init/dependency.php', get_template_directory() . '/auxin-content/init/constant.php' )
70
  'name' => __('Phlox', 'auxin-portfolio'), // The theme name.
71
  'id' => 'phlox', // The theme id name.
72
  'update_link' => 'themes.php?theme=phlox',
73
+ 'version' => '2.2.15', // E.g. 1.0.0. If set, the active theme must be this version or higher.
74
  'is_callable' => '', // If set, this callable will be be checked for availability to determine if a theme is active.
75
  'theme_requires_const' => 'AUXPFO_REQUIRED_VERSION',
76
  'file_required' => array( get_template_directory() . '/auxin-content/init/dependency.php', get_template_directory() . '/auxin-content/init/constant.php' )
includes/define.php CHANGED
@@ -15,7 +15,7 @@ if( ! defined( 'THEME_NAME' ) ){
15
 
16
 
17
 
18
- define( 'AUXPFO_VERSION' , '1.6.8' );
19
 
20
  define( 'AUXPFO_SLUG' , 'auxin-portfolio' );
21
 
15
 
16
 
17
 
18
+ define( 'AUXPFO_VERSION' , '1.6.9' );
19
 
20
  define( 'AUXPFO_SLUG' , 'auxin-portfolio' );
21
 
includes/elements/elementor/class-auxpfo-elementor-elements.php CHANGED
@@ -173,6 +173,10 @@ final class Elements {
173
  'file' => $this->dir_path . '/recent-portfolios-tile-carousel.php',
174
  'class' => __NAMESPACE__ . '\Elements\Recent_Portfolios_Tile_Carousel_Carousel'
175
  );
 
 
 
 
176
 
177
  return $widgets;
178
  }
173
  'file' => $this->dir_path . '/recent-portfolios-tile-carousel.php',
174
  'class' => __NAMESPACE__ . '\Elements\Recent_Portfolios_Tile_Carousel_Carousel'
175
  );
176
+ $widgets['450'] = array(
177
+ 'file' => $this->dir_path . '/recent-portfolios-grid-carousel.php',
178
+ 'class' => __NAMESPACE__ . '\Elements\Recent_Portfolios_Grid_Carousel'
179
+ );
180
 
181
  return $widgets;
182
  }
includes/elements/elementor/recent-portfolios-grid-carousel.php ADDED
@@ -0,0 +1,858 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Auxin\Plugin\Portfolio\Elementor\Elements;
3
+
4
+ use Elementor\Plugin;
5
+ use Elementor\Widget_Base;
6
+ use Elementor\Controls_Manager;
7
+ use Elementor\Post_CSS_File;
8
+ use Elementor\Group_Control_Image_Size;
9
+ use Elementor\Group_Control_Typography;
10
+ use Elementor\Scheme_Color;
11
+ use Elementor\Scheme_Typography;
12
+ use Elementor\Utils;
13
+ use Elementor\Control_Media;
14
+ use Elementor\Group_Control_Border;
15
+ use Elementor\Group_Control_Background;
16
+
17
+
18
+ if ( ! defined( 'ABSPATH' ) ) {
19
+ exit; // Exit if accessed directly.
20
+ }
21
+
22
+ /**
23
+ * Elementor 'Recent_Portfolios_Tile_Carousel' widget.
24
+ *
25
+ * Elementor widget that displays an 'Recent_Portfolios_Tile_Carousel' with lightbox.
26
+ *
27
+ * @since 1.0.0
28
+ */
29
+ class Recent_Portfolios_Grid_Carousel extends Widget_Base {
30
+
31
+ /**
32
+ * Get widget name.
33
+ *
34
+ * Retrieve 'Recent_Portfolios_Tile_Carousel' widget name.
35
+ *
36
+ * @since 1.0.0
37
+ * @access public
38
+ *
39
+ * @return string Widget name.
40
+ */
41
+ public function get_name() {
42
+ return 'aux_recent_portfolios_grid_carousel';
43
+ }
44
+
45
+ /**
46
+ * Get widget title.
47
+ *
48
+ * Retrieve 'Recent_Portfolios_Tile_Carousel' widget title.
49
+ *
50
+ * @since 1.0.0
51
+ * @access public
52
+ *
53
+ * @return string Widget title.
54
+ */
55
+ public function get_title() {
56
+ return __('Grid Carousel Portfolios', 'auxin-portfolio' );
57
+ }
58
+
59
+ /**
60
+ * Get widget icon.
61
+ *
62
+ * Retrieve 'Recent_Portfolios_Tile_Carousel' widget icon.
63
+ *
64
+ * @since 1.0.0
65
+ * @access public
66
+ *
67
+ * @return string Widget icon.
68
+ */
69
+ public function get_icon() {
70
+ return 'eicon-posts-carousel auxin-badge';
71
+ }
72
+
73
+ /**
74
+ * Get widget categories.
75
+ *
76
+ * Retrieve 'Recent_Portfolios_Tile_Carousel' widget icon.
77
+ *
78
+ * @since 1.0.0
79
+ * @access public
80
+ *
81
+ * @return string Widget icon.
82
+ */
83
+ public function get_categories() {
84
+ return array( 'auxin-portfolio' );
85
+ }
86
+
87
+ /**
88
+ * Retrieve the terms in a given taxonomy or list of taxonomies.
89
+ *
90
+ * Retrieve 'Recent_Portfolios_Tile_Carousel' widget icon.
91
+ *
92
+ * @since 1.0.0
93
+ * @access public
94
+ *
95
+ * @return string Widget icon.
96
+ */
97
+ public function get_terms() {
98
+ // Get terms
99
+ $terms = get_terms(
100
+ array(
101
+ 'taxonomy' => 'portfolio-cat',
102
+ 'orderby' => 'count',
103
+ 'hide_empty' => true
104
+ )
105
+ );
106
+
107
+ // Then create a list
108
+ $list = array( ' ' => __('All Categories', 'auxin-portfolio' ) ) ;
109
+
110
+ if ( ! is_wp_error( $terms ) && is_array( $terms ) ){
111
+ foreach ( $terms as $key => $value ) {
112
+ $list[$value->term_id] = $value->name;
113
+ }
114
+ }
115
+
116
+ return $list;
117
+ }
118
+
119
+ /**
120
+ * Register 'Recent_Portfolios_Tile_Carousel' widget controls.
121
+ *
122
+ * Adds different input fields to allow the user to change and customize the widget settings.
123
+ *
124
+ * @since 1.0.0
125
+ * @access protected
126
+ */
127
+ protected function _register_controls() {
128
+
129
+ /*-------------------------------------------------------------------*/
130
+ /* Layout TAB
131
+ /*-------------------------------------------------------------------*/
132
+
133
+ /* Layout Section
134
+ /*-------------------------------------*/
135
+
136
+ $this->start_controls_section(
137
+ 'layout_section',
138
+ array(
139
+ 'label' => __('Layout', 'auxin-portfolio' ),
140
+ 'tab' => Controls_Manager::TAB_LAYOUT
141
+ )
142
+ );
143
+
144
+ $this->add_responsive_control(
145
+ 'columns',
146
+ array(
147
+ 'label' => __( 'Columns', 'auxin-portfolio' ),
148
+ 'type' => Controls_Manager::SELECT,
149
+ 'default' => '4',
150
+ 'tablet_default' => 'inherit',
151
+ 'mobile_default' => '1',
152
+ 'options' => array(
153
+ 'inherit' => __( 'Inherited from larger', 'auxin-portfolio' ),
154
+ '1' => '1',
155
+ '2' => '2',
156
+ '3' => '3',
157
+ '4' => '4',
158
+ '5' => '5',
159
+ '6' => '6'
160
+ ),
161
+ 'frontend_available' => true
162
+ )
163
+ );
164
+
165
+ $this->add_control(
166
+ 'show_title',
167
+ array(
168
+ 'label' => __('Display title', 'auxin-portfolio' ),
169
+ 'type' => Controls_Manager::SWITCHER,
170
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
171
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
172
+ 'default' => 'yes'
173
+ )
174
+ );
175
+
176
+ $this->add_control(
177
+ 'show_info',
178
+ array(
179
+ 'label' => __('Display Info','auxin-portfolio' ),
180
+ 'type' => Controls_Manager::SWITCHER,
181
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
182
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
183
+ 'default' => 'yes'
184
+ )
185
+ );
186
+
187
+ $this->add_control(
188
+ 'display_like',
189
+ array(
190
+ 'label' => __('Display like button', 'auxin-portfolio' ),
191
+ 'type' => Controls_Manager::SWITCHER,
192
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
193
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
194
+ 'default' => 'no'
195
+ )
196
+ );
197
+
198
+ $this->add_control(
199
+ 'deeplink',
200
+ array(
201
+ 'label' => __('Deeplink', 'auxin-portfolio' ),
202
+ 'description' => __('Enables the deeplink feature, it updates URL based on page and filter status.', 'auxin-portfolio' ),
203
+ 'type' => Controls_Manager::SWITCHER,
204
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
205
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
206
+ 'default' => 'no'
207
+ )
208
+ );
209
+
210
+ $this->add_control(
211
+ 'deeplink_slug',
212
+ array(
213
+ 'label' => __('Deeplink slug', 'auxin-portfolio' ),
214
+ 'description' => __('Specifies the deeplink slug value in address bar.', 'auxin-portfolio' ),
215
+ 'type' => Controls_Manager::TEXT,
216
+ 'default' => '',
217
+ 'condition' => array(
218
+ 'deeplink' => 'yes'
219
+ )
220
+ )
221
+ );
222
+
223
+ $this->end_controls_section();
224
+
225
+ /* Carousel Section
226
+ /*-------------------------------------*/
227
+
228
+ $this->start_controls_section(
229
+ 'carousel_section',
230
+ array(
231
+ 'label' => __('Carousel', 'auxin-portfolio' ),
232
+ 'tab' => Controls_Manager::TAB_LAYOUT
233
+ )
234
+ );
235
+
236
+ $this->add_control(
237
+ 'carousel_navigation_control',
238
+ array(
239
+ 'label' => __('Navigation control', 'auxin-portfolio'),
240
+ 'type' => Controls_Manager::SELECT,
241
+ 'default' => 'bullets',
242
+ 'options' => array(
243
+ '' => __('None', 'auxin-portfolio'),
244
+ 'arrows' => __('Arrows', 'auxin-portfolio'),
245
+ 'bullets' => __('Bullets', 'auxin-portfolio')
246
+ )
247
+ )
248
+ );
249
+
250
+ $this->add_control(
251
+ 'button_style',
252
+ array(
253
+ 'label' => __('Button Navigation Style','auxin-portfolio' ),
254
+ 'type' => 'aux-visual-select',
255
+ 'default' => 'pattern-1',
256
+ 'options' => array(
257
+ 'pattern-1' => array(
258
+ 'label' => __('Pattern 1', 'auxin-portfolio' ),
259
+ 'image' => AUXIN_URL . 'images/visual-select/button-normal.svg'
260
+ ),
261
+ 'pattern-2' => array(
262
+ 'label' => __('Pattern 2', 'auxin-portfolio' ),
263
+ 'image' => AUXIN_URL . 'images/visual-select/button-curved.svg'
264
+ )
265
+ ),
266
+ 'condition' => array(
267
+ 'carousel_navigation_control' => array( 'arrows' ),
268
+ )
269
+ )
270
+ );
271
+
272
+ $this->add_control(
273
+ 'carousel_navigation',
274
+ array(
275
+ 'label' => __('Navigation type', 'auxin-portfolio'),
276
+ 'type' => Controls_Manager::SELECT,
277
+ 'default' => 'peritem',
278
+ 'options' => array(
279
+ 'peritem' => __('Move per column', 'auxin-portfolio'),
280
+ 'perpage' => __('Move per page', 'auxin-portfolio'),
281
+ 'scroll' => __('Smooth scroll', 'auxin-portfolio')
282
+ )
283
+ )
284
+ );
285
+
286
+ $this->add_control(
287
+ 'carousel_loop',
288
+ array(
289
+ 'label' => __('Loop navigation','auxin-portfolio' ),
290
+ 'type' => Controls_Manager::SWITCHER,
291
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
292
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
293
+ 'return_value' => 'yes',
294
+ 'default' => 'yes'
295
+ )
296
+ );
297
+
298
+ $this->add_control(
299
+ 'carousel_autoplay',
300
+ array(
301
+ 'label' => __('Autoplay carousel','auxin-portfolio' ),
302
+ 'type' => Controls_Manager::SWITCHER,
303
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
304
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
305
+ 'return_value' => 'yes',
306
+ 'default' => 'no'
307
+ )
308
+ );
309
+
310
+ $this->add_control(
311
+ 'carousel_autoplay_delay',
312
+ array(
313
+ 'label' => __( 'Autoplay delay', 'auxin-portfolio' ),
314
+ 'description' => __('Specifies the delay between auto-forwarding in seconds.', 'auxin-portfolio' ),
315
+ 'type' => Controls_Manager::NUMBER,
316
+ 'default' => '2'
317
+ )
318
+ );
319
+
320
+ $this->end_controls_section();
321
+
322
+ /* Transition Section
323
+ /*-------------------------------------*/
324
+
325
+ $this->start_controls_section(
326
+ 'transition_section',
327
+ array(
328
+ 'label' => __('Transition', 'auxin-portfolio' ),
329
+ 'tab' => Controls_Manager::TAB_SETTINGS
330
+ )
331
+ );
332
+
333
+ $this->add_control(
334
+ 'reveal_transition_duration',
335
+ array(
336
+ 'label' => __('Transition duration on reveal','auxin-portfolio' ),
337
+ 'description' => __('The transition duration while the element is going to be displayed (milliseconds).'),
338
+ 'label_block' => true,
339
+ 'type' => Controls_Manager::NUMBER,
340
+ 'default' => '600'
341
+ )
342
+ );
343
+
344
+ $this->add_control(
345
+ 'reveal_between_delay',
346
+ array(
347
+ 'label' => __('Delay between reveal','auxin-portfolio' ),
348
+ 'description' => __('The delay between each sequence of revealing transitions (milliseconds).'),
349
+ 'label_block' => true,
350
+ 'type' => Controls_Manager::NUMBER,
351
+ 'default' => '60'
352
+ )
353
+ );
354
+
355
+ $this->add_control(
356
+ 'hide_transition_duration',
357
+ array(
358
+ 'label' => __('Transition duration on hide','auxin-portfolio' ),
359
+ 'description' => __('The transition duration while the element is going to be hidden (milliseconds).'),
360
+ 'label_block' => true,
361
+ 'type' => Controls_Manager::NUMBER,
362
+ 'default' => '600'
363
+ )
364
+ );
365
+
366
+ $this->add_control(
367
+ 'hide_between_delay',
368
+ array(
369
+ 'label' => __('Delay between hide','auxin-portfolio' ),
370
+ 'description' => __('The delay between each sequence of hiding transitions (milliseconds).'),
371
+ 'label_block' => true,
372
+ 'type' => Controls_Manager::NUMBER,
373
+ 'default' => '30'
374
+ )
375
+ );
376
+
377
+ $this->end_controls_section();
378
+
379
+ /*-------------------------------------------------------------------*/
380
+ /* Content TAB
381
+ /*-------------------------------------------------------------------*/
382
+
383
+ /* Query Section
384
+ /*-------------------------------------*/
385
+
386
+ $this->start_controls_section(
387
+ 'query_section',
388
+ array(
389
+ 'label' => __('Query', 'auxin-portfolio' ),
390
+ )
391
+ );
392
+
393
+ $this->add_control(
394
+ 'cat',
395
+ array(
396
+ 'label' => __('Categories', 'auxin-portfolio'),
397
+ 'description' => __('Specifies a category that you want to show posts from it.', 'auxin-portfolio' ),
398
+ 'type' => Controls_Manager::SELECT2,
399
+ 'multiple' => true,
400
+ 'options' => $this->get_terms(),
401
+ 'default' => array( ' ' ),
402
+ )
403
+ );
404
+
405
+ $this->add_control(
406
+ 'num',
407
+ array(
408
+ 'label' => __('Number of portfolios to show in per page', 'auxin-portfolio'),
409
+ 'description' => __('Leave it empty to show all items', 'auxin-portfolio'),
410
+ 'label_block' => true,
411
+ 'type' => Controls_Manager::NUMBER,
412
+ 'default' => '5',
413
+ 'min' => 1,
414
+ 'step' => 1
415
+ )
416
+ );
417
+
418
+ $this->add_control(
419
+ 'exclude_without_media',
420
+ array(
421
+ 'label' => __('Exclude portfolios without media','auxin-portfolio' ),
422
+ 'type' => Controls_Manager::SWITCHER,
423
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
424
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
425
+ 'return_value' => 'yes',
426
+ 'default' => 'yes'
427
+ )
428
+ );
429
+
430
+ $this->add_control(
431
+ 'order_by',
432
+ array(
433
+ 'label' => __('Order by', 'auxin-portfolio'),
434
+ 'type' => Controls_Manager::SELECT,
435
+ 'default' => 'date',
436
+ 'options' => array(
437
+ 'date' => __('Date', 'auxin-portfolio'),
438
+ 'menu_order date' => __('Menu Order', 'auxin-portfolio'),
439
+ 'title' => __('Title', 'auxin-portfolio'),
440
+ 'ID' => __('ID', 'auxin-portfolio'),
441
+ 'rand' => __('Random', 'auxin-portfolio'),
442
+ 'comment_count' => __('Comments', 'auxin-portfolio'),
443
+ 'modified' => __('Date Modified', 'auxin-portfolio'),
444
+ 'author' => __('Author', 'auxin-portfolio'),
445
+ 'post__in' => __('Inserted Post IDs', 'auxin-portfolio')
446
+ ),
447
+ )
448
+ );
449
+
450
+ $this->add_control(
451
+ 'order',
452
+ array(
453
+ 'label' => __('Order', 'auxin-portfolio'),
454
+ 'type' => Controls_Manager::SELECT,
455
+ 'default' => 'DESC',
456
+ 'options' => array(
457
+ 'DESC' => __('Descending', 'auxin-portfolio'),
458
+ 'ASC' => __('Ascending', 'auxin-portfolio'),
459
+ ),
460
+ )
461
+ );
462
+
463
+ $this->add_control(
464
+ 'only_posts__in',
465
+ array(
466
+ 'label' => __('Only portfolios','auxin-portfolio' ),
467
+ 'description' => __('If you intend to display ONLY specific portfolios, you should specify the portfolios here. You have to insert the post IDs that are separated by comma (eg. 53,34,87,25).', 'auxin-portfolio' ),
468
+ 'type' => Controls_Manager::TEXT
469
+ )
470
+ );
471
+
472
+ $this->add_control(
473
+ 'include',
474
+ array(
475
+ 'label' => __('Include portfolios','auxin-portfolio' ),
476
+ 'description' => __('If you intend to include additional portfolios, you should specify the portfolios here. You have to insert the Post IDs that are separated by comma (eg. 53,34,87,25)', 'auxin-portfolio' ),
477
+ 'type' => Controls_Manager::TEXT
478
+ )
479
+ );
480
+
481
+ $this->add_control(
482
+ 'exclude',
483
+ array(
484
+ 'label' => __('Exclude portfolios','auxin-portfolio' ),
485
+ 'description' => __('If you intend to exclude specific portfolios from result, you should specify the portfolios here. You have to insert the Post IDs that are separated by comma (eg. 53,34,87,25)', 'auxin-portfolio' ),
486
+ 'type' => Controls_Manager::TEXT
487
+ )
488
+ );
489
+
490
+ $this->add_control(
491
+ 'offset',
492
+ array(
493
+ 'label' => __('Start offset','auxin-portfolio' ),
494
+ 'description' => __('Number of portfolios to display or pass over.', 'auxin-portfolio' ),
495
+ 'type' => Controls_Manager::NUMBER,
496
+ 'default' => ''
497
+ )
498
+ );
499
+
500
+ $this->end_controls_section();
501
+
502
+ /*-------------------------------------------------------------------*/
503
+ /* Style TAB
504
+ /*-------------------------------------------------------------------*/
505
+
506
+ /* Image Section
507
+ /*-------------------------------------*/
508
+
509
+ $this->start_controls_section(
510
+ 'image_style_section',
511
+ array(
512
+ 'label' => __( 'Image', 'auxin-portfolio' ),
513
+ 'tab' => Controls_Manager::TAB_STYLE
514
+ )
515
+ );
516
+
517
+ $this->add_control(
518
+ 'space',
519
+ array(
520
+ 'label' => __('Space', 'auxin-portfolio' ),
521
+ 'description' => __('Specifies space between items in pixels.', 'auxin-portfolio' ),
522
+ 'label_block' => true,
523
+ 'type' => Controls_Manager::NUMBER,
524
+ 'default' => '30',
525
+ 'min' => 0,
526
+ 'step' => 1
527
+ )
528
+ );
529
+
530
+ $this->add_control(
531
+ 'image_aspect_ratio',
532
+ array(
533
+ 'label' => __('Image aspect ratio', 'auxin-portfolio'),
534
+ 'type' => Controls_Manager::SELECT,
535
+ 'default' => '0.75',
536
+ 'options' => array(
537
+ '0.75' => __('Horizontal 4:3' , 'auxin-portfolio'),
538
+ '0.56' => __('Horizontal 16:9', 'auxin-portfolio'),
539
+ '1.00' => __('Square 1:1' , 'auxin-portfolio'),
540
+ '1.33' => __('Vertical 3:4' , 'auxin-portfolio')
541
+ )
542
+ )
543
+ );
544
+
545
+ $this->add_control(
546
+ 'item_style',
547
+ array(
548
+ 'label' => __('Hover Type','auxin-portfolio' ),
549
+ 'description' => __('Move your mouse over each item in order to preview the hover effect.','auxin-portfolio' ),
550
+ 'style_items' => 'max-width:48%; min-height:90px;',
551
+ 'type' => 'aux-visual-select',
552
+ 'options' => array(
553
+ 'classic' => array(
554
+ 'label' => __('No animation' , 'auxin-portfolio'),
555
+ 'image' => AUXPFO_ADMIN_URL . '/assets/images/ClassicLightbox.png'
556
+ ),
557
+ 'classic-lightbox' => array(
558
+ 'label' => __('Classic with lightbox style 1' , 'auxin-portfolio'),
559
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/ClassicLightbox1.webm webm'
560
+ ),
561
+ 'classic-lightbox-boxed' => array(
562
+ 'label' => __('Classic with lightbox style 2' , 'auxin-portfolio'),
563
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/ClassicLightbox2.webm webm'
564
+ ),
565
+ 'overlay' => array(
566
+ 'label' => __('Overlay title style 1', 'auxin-portfolio'),
567
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitle1.webm webm'
568
+ ),
569
+ 'overlay-boxed' => array(
570
+ 'label' => __('Overlay title style 2', 'auxin-portfolio'),
571
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitle2.webm webm'
572
+ ),
573
+ 'overlay-lightbox' => array(
574
+ 'label' => __('Overlay title with lightbox style 1', 'auxin-portfolio'),
575
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitleLightbox1.webm webm'
576
+ ),
577
+ 'overlay-lightbox-boxed' => array(
578
+ 'label' => __('Overlay title with lightbox style 2', 'auxin-portfolio'),
579
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitleLightbox2.webm webm'
580
+ )
581
+ ),
582
+ 'default' => 'classic'
583
+ )
584
+ );
585
+
586
+ $this->add_control(
587
+ 'img_border_radius',
588
+ array(
589
+ 'label' => __( 'Border Radius', 'auxin-portfolio' ),
590
+ 'type' => Controls_Manager::DIMENSIONS,
591
+ 'size_units' => array( 'px', '%' ),
592
+ 'selectors' => array(
593
+ '{{WRAPPER}} .aux-media-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
594
+ )
595
+ )
596
+ );
597
+
598
+
599
+ $this->add_group_control(
600
+ Group_Control_Background::get_type(),
601
+ array(
602
+ 'name' => 'item_hover_style',
603
+ 'label' => __( 'Background', 'auxin-portfolio' ),
604
+ 'types' => array( 'classic', 'gradient' ),
605
+ 'selector' => '{{WRAPPER}} .entry-media::after',
606
+ )
607
+ );
608
+
609
+ $this->end_controls_section();
610
+
611
+
612
+ /* Title Section
613
+ /*-------------------------------------*/
614
+
615
+ $this->start_controls_section(
616
+ 'title_style_section',
617
+ array(
618
+ 'label' => __( 'Title', 'auxin-portfolio' ),
619
+ 'tab' => Controls_Manager::TAB_STYLE,
620
+ 'condition' => array(
621
+ 'show_title' => 'yes'
622
+ )
623
+ )
624
+ );
625
+
626
+ // Title heading
627
+
628
+ $this->start_controls_tabs( 'title_colors' );
629
+
630
+ $this->start_controls_tab(
631
+ 'title_color_normal',
632
+ array(
633
+ 'label' => __( 'Normal' , 'auxin-portfolio' )
634
+ )
635
+ );
636
+
637
+ $this->add_control(
638
+ 'title_color',
639
+ array(
640
+ 'label' => __( 'Color', 'auxin-portfolio' ),
641
+ 'type' => Controls_Manager::COLOR,
642
+ 'selectors' => array(
643
+ '{{WRAPPER}} .aux-portfolio-item-title a, {{WRAPPER}} .entry-title a' => 'color: {{VALUE}};',
644
+ )
645
+ )
646
+ );
647
+
648
+ $this->end_controls_tab();
649
+
650
+ $this->start_controls_tab(
651
+ 'title_color_hover',
652
+ array(
653
+ 'label' => __( 'Hover' , 'auxin-portfolio' )
654
+ )
655
+ );
656
+
657
+ $this->add_control(
658
+ 'title_hover_color',
659
+ array(
660
+ 'label' => __( 'Color', 'auxin-portfolio' ),
661
+ 'type' => Controls_Manager::COLOR,
662
+ 'selectors' => array(
663
+ '{{WRAPPER}} .aux-portfolio-item-title a:hover, {{WRAPPER}} .entry-title a:hover' => 'color:{{VALUE}};',
664
+ )
665
+ )
666
+ );
667
+
668
+ $this->end_controls_tab();
669
+
670
+ $this->end_controls_tabs();
671
+
672
+ $this->add_group_control(
673
+ Group_Control_Typography::get_type(),
674
+ array(
675
+ 'name' => 'title_typography',
676
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
677
+ 'selector' => '{{WRAPPER}} .aux-portfolio-item-title, {{WRAPPER}} .entry-title'
678
+ )
679
+ );
680
+
681
+ $this->add_responsive_control(
682
+ 'title_margin_bottom',
683
+ array(
684
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
685
+ 'type' => Controls_Manager::SLIDER,
686
+ 'range' => array(
687
+ 'px' => array(
688
+ 'max' => 100,
689
+ ),
690
+ ),
691
+ 'selectors' => array(
692
+ '{{WRAPPER}} .aux-portfolio-item-title, {{WRAPPER}} .entry-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
693
+ )
694
+ )
695
+ );
696
+
697
+ $this->end_controls_section();
698
+
699
+
700
+ /* Categories Section
701
+ /*-------------------------------------*/
702
+
703
+ $this->start_controls_section(
704
+ 'info_style_section',
705
+ array(
706
+ 'label' => __( 'Info Meta', 'auxin-portfolio' ),
707
+ 'tab' => Controls_Manager::TAB_STYLE,
708
+ 'condition' => array(
709
+ 'show_info' => 'yes'
710
+ )
711
+ )
712
+ );
713
+
714
+ $this->start_controls_tabs( 'info_colors' );
715
+
716
+ $this->start_controls_tab(
717
+ 'info_color_normal',
718
+ array(
719
+ 'label' => __( 'Normal' , 'auxin-portfolio' ),
720
+ )
721
+ );
722
+
723
+ $this->add_control(
724
+ 'info_color',
725
+ array(
726
+ 'label' => __( 'Color', 'auxin-portfolio' ),
727
+ 'type' => Controls_Manager::COLOR,
728
+ 'selectors' => array(
729
+ '{{WRAPPER}} .entry-tax a' => 'color: {{VALUE}};',
730
+ )
731
+ )
732
+ );
733
+
734
+ $this->end_controls_tab();
735
+
736
+ $this->start_controls_tab(
737
+ 'info_color_hover',
738
+ array(
739
+ 'label' => __( 'Hover' , 'auxin-portfolio' ),
740
+ )
741
+ );
742
+
743
+ $this->add_control(
744
+ 'info_hover_color',
745
+ array(
746
+ 'label' => __( 'Color', 'auxin-portfolio' ),
747
+ 'type' => Controls_Manager::COLOR,
748
+ 'selectors' => array(
749
+ '{{WRAPPER}} .entry-tax a:hover' => 'color: {{VALUE}};',
750
+ )
751
+ )
752
+ );
753
+
754
+ $this->end_controls_tab();
755
+
756
+ $this->end_controls_tabs();
757
+
758
+ $this->add_group_control(
759
+ Group_Control_Typography::get_type(),
760
+ array(
761
+ 'name' => 'info_typography',
762
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
763
+ 'selector' => '{{WRAPPER}} .entry-tax'
764
+ )
765
+ );
766
+
767
+ $this->add_responsive_control(
768
+ 'info_margin_bottom',
769
+ array(
770
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
771
+ 'type' => Controls_Manager::SLIDER,
772
+ 'range' => array(
773
+ 'px' => array(
774
+ 'max' => 100
775
+ )
776
+ ),
777
+ 'selectors' => array(
778
+ '{{WRAPPER}} .entry-tax' => 'margin-bottom: {{SIZE}}{{UNIT}};'
779
+ )
780
+ )
781
+ );
782
+
783
+ $this->add_responsive_control(
784
+ 'info_spacing_between',
785
+ array(
786
+ 'label' => __( 'Space between metas', 'auxin-portfolio' ),
787
+ 'type' => Controls_Manager::SLIDER,
788
+ 'range' => array(
789
+ 'px' => array(
790
+ 'max' => 30
791
+ )
792
+ ),
793
+ 'selectors' => array(
794
+ '{{WRAPPER}} .entry-tax a:after' => 'margin-right: {{SIZE}}{{UNIT}}; margin-left: {{SIZE}}{{UNIT}};'
795
+ )
796
+ )
797
+ );
798
+
799
+ $this->end_controls_section();
800
+ }
801
+
802
+ /**
803
+ * Render image box widget output on the frontend.
804
+ *
805
+ * Written in PHP and used to generate the final HTML.
806
+ *
807
+ * @since 1.0.0
808
+ * @access protected
809
+ */
810
+ protected function render() {
811
+
812
+ $settings = $this->get_settings_for_display();
813
+
814
+ $args = array(
815
+ // Layout section
816
+ 'desktop_cnum' => $settings['columns'],
817
+ 'tablet_cnum' => $settings['columns_tablet'],
818
+ 'phone_cnum' => $settings['columns_mobile'],
819
+ 'show_title' => $settings['show_title'],
820
+ 'display_like' => $settings['display_like'],
821
+ 'show_info' => $settings['show_info'],
822
+ 'deeplink' => $settings['deeplink'],
823
+ 'deeplink_slug' => $settings['deeplink_slug'],
824
+
825
+ // Carousel section
826
+ 'carousel_navigation' => $settings['carousel_navigation'],
827
+ 'button_style' => $settings['button_style'],
828
+ 'carousel_navigation_control' => $settings['carousel_navigation_control'],
829
+ 'carousel_loop' => $settings['carousel_loop'],
830
+ 'carousel_autoplay' => $settings['carousel_autoplay'],
831
+ 'carousel_autoplay_delay' => $settings['carousel_autoplay_delay'],
832
+
833
+ 'reveal_transition_duration' => auxin_get_control_size( $settings['reveal_transition_duration'] ),
834
+ 'reveal_between_delay' => auxin_get_control_size( $settings['reveal_between_delay'] ),
835
+ 'hide_transition_duration' => auxin_get_control_size( $settings['hide_transition_duration'] ),
836
+ 'hide_between_delay' => auxin_get_control_size( $settings['hide_between_delay'] ),
837
+
838
+ // Query section
839
+ 'cat' => $settings['cat'],
840
+ 'num' => $settings['num'],
841
+ 'only_posts__in' => $settings['only_posts__in'],
842
+ 'include' => $settings['include'],
843
+ 'exclude' => $settings['exclude'],
844
+ 'offset' => $settings['offset'],
845
+ 'order_by' => $settings['order_by'],
846
+ 'order' => $settings['order'],
847
+ 'exclude_without_media' => $settings['exclude_without_media'],
848
+
849
+ 'image_aspect_ratio' => $settings['image_aspect_ratio'],
850
+ 'space' => auxin_get_control_size( $settings['space'] ),
851
+ 'item_style' => $settings['item_style'],
852
+
853
+ );
854
+
855
+ echo auxin_widget_recent_portfolios_grid_carousel_callback( $args );
856
+ }
857
+
858
+ }
includes/elements/elementor/recent-portfolios-grid.php CHANGED
@@ -582,7 +582,7 @@ class Recent_Portfolios_Grid extends Widget_Base {
582
  ),
583
  'default' => '',
584
  'condition' => array(
585
- 'paginate' => 'no'
586
  )
587
  )
588
  );
@@ -599,7 +599,7 @@ class Recent_Portfolios_Grid extends Widget_Base {
599
  'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
600
  ),
601
  'condition' => array(
602
- 'paginate' => 'no'
603
  )
604
  )
605
  );
@@ -953,6 +953,78 @@ class Recent_Portfolios_Grid extends Widget_Base {
953
  )
954
  );
955
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
956
  $this->end_controls_section();
957
 
958
  // Auxin hook for registering general controls
@@ -972,42 +1044,43 @@ class Recent_Portfolios_Grid extends Widget_Base {
972
  $settings = $this->get_settings_for_display();
973
 
974
  $args = array(
975
- 'cat' => $settings['cat'],
976
- 'num' => auxin_get_control_size( $settings['num'] ),
977
- 'only_posts__in' => $settings['only_posts__in'],
978
- 'include' => $settings['include'],
979
- 'exclude' => $settings['exclude'],
980
- 'offset' => auxin_get_control_size( $settings['offset'] ),
981
- 'order_by' => $settings['order_by'],
982
- 'order' => $settings['order'],
983
- 'exclude_without_media' => $settings['exclude_without_media'],
984
- 'display_like' => $settings['display_like'],
985
- 'deeplink' => $settings['deeplink'],
986
- 'deeplink_slug' => $settings['deeplink_slug'],
987
- 'show_filters' => $settings['show_filters'],
988
- 'filter_by' => $settings['filter_by'],
989
- 'filter_style' => $settings['filter_style'],
990
- 'filter_align' => $settings['filter_align'],
991
- 'reveal_transition_duration' => auxin_get_control_size( $settings['reveal_transition_duration'] ),
992
- 'reveal_between_delay' => auxin_get_control_size( $settings['reveal_between_delay'] ),
993
- 'hide_transition_duration' => auxin_get_control_size( $settings['hide_transition_duration'] ),
994
- 'hide_between_delay' => auxin_get_control_size( $settings['hide_between_delay'] ),
995
-
996
- 'item_style' => $settings['item_style'],
997
-
998
- 'paginate' => $settings['paginate'],
999
- 'perpage' => $settings['perpage'],
1000
- 'show_title' => $settings['display_title'],
1001
- 'show_info' => $settings['show_info'],
1002
- 'image_aspect_ratio' => $settings['image_aspect_ratio'],
1003
- 'space' => auxin_get_control_size( $settings['space'] ),
1004
- 'desktop_cnum' => $settings['columns'],
1005
- 'tablet_cnum' => $settings['columns_tablet'],
1006
- 'phone_cnum' => $settings['columns_mobile'],
1007
- 'layout' => 'grid',
1008
-
1009
- 'loadmore_type' => $settings['loadmore_type'],
1010
- 'loadmore_label' => $settings['loadmore_label']
 
1011
  );
1012
 
1013
  echo auxin_widget_recent_portfolios_grid_callback( $args );
582
  ),
583
  'default' => '',
584
  'condition' => array(
585
+ 'paginate!' => 'yes'
586
  )
587
  )
588
  );
599
  'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
600
  ),
601
  'condition' => array(
602
+ 'paginate!' => 'yes'
603
  )
604
  )
605
  );
953
  )
954
  );
955
 
956
+ $this->end_controls_section();
957
+
958
+
959
+ /* Wrapper Section
960
+ /*-------------------------------------*/
961
+
962
+ $this->start_controls_section(
963
+ 'wrapper_style_section',
964
+ array(
965
+ 'label' => __( 'Wrapper', 'auxin-portfolio' ),
966
+ 'tab' => Controls_Manager::TAB_STYLE,
967
+ )
968
+ );
969
+
970
+ $this->add_responsive_control(
971
+ 'wrapper_padding',
972
+ array(
973
+ 'label' => __( 'Padding', 'auxin-portfolio' ),
974
+ 'type' => Controls_Manager::DIMENSIONS,
975
+ 'size_units' => array( 'px', '%' ),
976
+ 'selectors' => array(
977
+ '{{WRAPPER}} .entry-main' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
978
+ )
979
+ )
980
+ );
981
+
982
+ $this->add_responsive_control(
983
+ 'item_margin_bottom',
984
+ array(
985
+ 'label' => __( 'Item Bottom space', 'auxin-portfolio' ),
986
+ 'type' => Controls_Manager::SLIDER,
987
+ 'range' => array(
988
+ 'px' => array(
989
+ 'max' => 100
990
+ )
991
+ ),
992
+ 'default' => array(
993
+ 'unit' => 'px',
994
+ 'size' => 30,
995
+ ),
996
+ 'selectors' => array(
997
+ '{{WRAPPER}} .aux-iso-item' => 'margin-bottom: {{SIZE}}{{UNIT}} !important;'
998
+ ),
999
+ )
1000
+ );
1001
+
1002
+ $this->add_group_control(
1003
+ Group_Control_Background::get_type(),
1004
+ array(
1005
+ 'name' => 'entry_box_bg_color',
1006
+ 'label' => __( 'Entry Box Background', 'auxin-portfolio' ),
1007
+ 'types' => array( 'classic'),
1008
+ 'condition' => array(
1009
+ 'item_style' => array('classic', 'classic-lightbox', 'classic-lightbox-boxed'),
1010
+ ),
1011
+ 'selector' => '{{WRAPPER}} .entry-main',
1012
+ )
1013
+ );
1014
+
1015
+ $this->add_group_control(
1016
+ Group_Control_Border::get_type(),
1017
+ array(
1018
+ 'name' => 'entry_box_border_color',
1019
+ 'label' => __( 'Entry Box Border Color', 'auxin-portfolio' ),
1020
+ 'condition' => array(
1021
+ 'item_style' => array('classic', 'classic-lightbox', 'classic-lightbox-boxed'),
1022
+ ),
1023
+ 'selector' => '{{WRAPPER}} .entry-main',
1024
+ )
1025
+ );
1026
+
1027
+
1028
  $this->end_controls_section();
1029
 
1030
  // Auxin hook for registering general controls
1044
  $settings = $this->get_settings_for_display();
1045
 
1046
  $args = array(
1047
+ 'cat' => $settings['cat'],
1048
+ 'num' => auxin_get_control_size( $settings['num'] ),
1049
+ 'only_posts__in' => $settings['only_posts__in'],
1050
+ 'include' => $settings['include'],
1051
+ 'exclude' => $settings['exclude'],
1052
+ 'offset' => auxin_get_control_size( $settings['offset'] ),
1053
+ 'order_by' => $settings['order_by'],
1054
+ 'order' => $settings['order'],
1055
+ 'exclude_without_media' => $settings['exclude_without_media'],
1056
+ 'display_like' => $settings['display_like'],
1057
+ 'deeplink' => $settings['deeplink'],
1058
+ 'deeplink_slug' => $settings['deeplink_slug'],
1059
+ 'show_filters' => $settings['show_filters'],
1060
+ 'filter_by' => $settings['filter_by'],
1061
+ 'filter_style' => $settings['filter_style'],
1062
+ 'filter_align' => $settings['filter_align'],
1063
+ 'reveal_transition_duration' => auxin_get_control_size( $settings['reveal_transition_duration'] ),
1064
+ 'reveal_between_delay' => auxin_get_control_size( $settings['reveal_between_delay'] ),
1065
+ 'hide_transition_duration' => auxin_get_control_size( $settings['hide_transition_duration'] ),
1066
+ 'hide_between_delay' => auxin_get_control_size( $settings['hide_between_delay'] ),
1067
+
1068
+ 'item_style' => $settings['item_style'],
1069
+
1070
+ 'paginate' => $settings['paginate'],
1071
+ 'perpage' => $settings['perpage'],
1072
+ 'show_title' => $settings['display_title'],
1073
+ 'show_info' => $settings['show_info'],
1074
+ 'image_aspect_ratio' => $settings['image_aspect_ratio'],
1075
+ 'space' => auxin_get_control_size( $settings['space'] ),
1076
+ 'desktop_cnum' => $settings['columns'],
1077
+ 'tablet_cnum' => $settings['columns_tablet'],
1078
+ 'phone_cnum' => $settings['columns_mobile'],
1079
+ 'layout' => 'grid',
1080
+
1081
+ 'loadmore_type' => $settings['loadmore_type'],
1082
+ 'loadmore_label' => $settings['loadmore_label'],
1083
+
1084
  );
1085
 
1086
  echo auxin_widget_recent_portfolios_grid_callback( $args );
includes/elements/elementor/recent-portfolios-masonry.php CHANGED
@@ -12,7 +12,7 @@ use Elementor\Scheme_Typography;
12
  use Elementor\Utils;
13
  use Elementor\Control_Media;
14
  use Elementor\Group_Control_Border;
15
-
16
 
17
  if ( ! defined( 'ABSPATH' ) ) {
18
  exit; // Exit if accessed directly.
@@ -582,7 +582,7 @@ class Recent_Portfolios_Masonry extends Widget_Base {
582
  ),
583
  'default' => '',
584
  'condition' => array(
585
- 'paginate' => 'no'
586
  )
587
  )
588
  );
@@ -599,7 +599,7 @@ class Recent_Portfolios_Masonry extends Widget_Base {
599
  'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
600
  ),
601
  'condition' => array(
602
- 'paginate' => 'no'
603
  )
604
  )
605
  );
@@ -611,7 +611,7 @@ class Recent_Portfolios_Masonry extends Widget_Base {
611
  'type' => Controls_Manager::NUMBER,
612
  'default' => '',
613
  'condition' => array(
614
- 'paginate' => 'no'
615
  )
616
  )
617
  );
@@ -956,6 +956,57 @@ class Recent_Portfolios_Masonry extends Widget_Base {
956
  )
957
  );
958
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
959
  $this->end_controls_section();
960
 
961
  // Auxin hook for registering general controls
@@ -975,42 +1026,43 @@ class Recent_Portfolios_Masonry extends Widget_Base {
975
  $settings = $this->get_settings_for_display();
976
 
977
  $args = array(
978
- 'cat' => $settings['cat'],
979
- 'num' => $settings['num'],
980
- 'only_posts__in' => $settings['only_posts__in'],
981
- 'include' => $settings['include'],
982
- 'exclude' => $settings['exclude'],
983
- 'offset' => $settings['offset'],
984
- 'order_by' => $settings['order_by'],
985
- 'order' => $settings['order'],
986
- 'exclude_without_media' => $settings['exclude_without_media'],
987
- 'display_like' => $settings['display_like'],
988
- 'deeplink' => $settings['deeplink'],
989
- 'deeplink_slug' => $settings['deeplink_slug'],
990
- 'show_filters' => $settings['show_filters'],
991
- 'filter_by' => $settings['filter_by'],
992
- 'filter_style' => $settings['filter_style'],
993
- 'filter_align' => $settings['filter_align'],
994
- 'reveal_transition_duration' => $settings['reveal_transition_duration'],
995
- 'reveal_between_delay' => $settings['reveal_between_delay'],
996
- 'hide_transition_duration' => $settings['hide_transition_duration'],
997
- 'hide_between_delay' => $settings['hide_between_delay'],
998
-
999
- 'item_style' => $settings['item_style'],
1000
-
1001
- 'paginate' => $settings['paginate'],
1002
- 'perpage' => $settings['perpage'],
1003
- 'show_title' => $settings['display_title'],
1004
- 'show_info' => $settings['show_info'],
1005
- //'image_aspect_ratio' => $settings['image_aspect_ratio'],
1006
- 'space' => $settings['space'],
1007
- 'desktop_cnum' => $settings['columns'],
1008
- 'tablet_cnum' => $settings['columns_tablet'],
1009
- 'phone_cnum' => $settings['columns_mobile'],
1010
- 'layout' => 'masonry',
1011
-
1012
- 'loadmore_type' => $settings['loadmore_type'],
1013
- 'loadmore_label' => $settings['loadmore_label']
 
1014
  );
1015
 
1016
  echo auxin_widget_recent_portfolios_grid_callback( $args );
12
  use Elementor\Utils;
13
  use Elementor\Control_Media;
14
  use Elementor\Group_Control_Border;
15
+ use Elementor\Group_Control_Background;
16
 
17
  if ( ! defined( 'ABSPATH' ) ) {
18
  exit; // Exit if accessed directly.
582
  ),
583
  'default' => '',
584
  'condition' => array(
585
+ 'paginate!' => 'yes'
586
  )
587
  )
588
  );
599
  'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
600
  ),
601
  'condition' => array(
602
+ 'paginate!' => 'yes'
603
  )
604
  )
605
  );
611
  'type' => Controls_Manager::NUMBER,
612
  'default' => '',
613
  'condition' => array(
614
+ 'paginate!' => 'yes'
615
  )
616
  )
617
  );
956
  )
957
  );
958
 
959
+ $this->end_controls_section();
960
+
961
+ /* Wrapper Section
962
+ /*-------------------------------------*/
963
+
964
+ $this->start_controls_section(
965
+ 'wrapper_style_section',
966
+ array(
967
+ 'label' => __( 'Wrapper', 'auxin-portfolio' ),
968
+ 'tab' => Controls_Manager::TAB_STYLE,
969
+ )
970
+ );
971
+
972
+ $this->add_responsive_control(
973
+ 'wrapper_padding',
974
+ array(
975
+ 'label' => __( 'Padding', 'auxin-portfolio' ),
976
+ 'type' => Controls_Manager::DIMENSIONS,
977
+ 'size_units' => array( 'px', '%' ),
978
+ 'selectors' => array(
979
+ '{{WRAPPER}} .entry-main' => 'padding: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
980
+ )
981
+ )
982
+ );
983
+
984
+ $this->add_group_control(
985
+ Group_Control_Background::get_type(),
986
+ array(
987
+ 'name' => 'entry_box_bg_color',
988
+ 'label' => __( 'Entry Box Background', 'auxin-portfolio' ),
989
+ 'types' => array( 'classic'),
990
+ 'condition' => array(
991
+ 'item_style' => array('classic', 'classic-lightbox', 'classic-lightbox-boxed'),
992
+ ),
993
+ 'selector' => '{{WRAPPER}} .entry-main',
994
+ )
995
+ );
996
+
997
+ $this->add_group_control(
998
+ Group_Control_Border::get_type(),
999
+ array(
1000
+ 'name' => 'entry_box_border_color',
1001
+ 'label' => __( 'Entry Box Border Color', 'auxin-portfolio' ),
1002
+ 'condition' => array(
1003
+ 'item_style' => array('classic', 'classic-lightbox', 'classic-lightbox-boxed'),
1004
+ ),
1005
+ 'selector' => '{{WRAPPER}} .entry-main',
1006
+ )
1007
+ );
1008
+
1009
+
1010
  $this->end_controls_section();
1011
 
1012
  // Auxin hook for registering general controls
1026
  $settings = $this->get_settings_for_display();
1027
 
1028
  $args = array(
1029
+ 'cat' => $settings['cat'],
1030
+ 'num' => $settings['num'],
1031
+ 'only_posts__in' => $settings['only_posts__in'],
1032
+ 'include' => $settings['include'],
1033
+ 'exclude' => $settings['exclude'],
1034
+ 'offset' => $settings['offset'],
1035
+ 'order_by' => $settings['order_by'],
1036
+ 'order' => $settings['order'],
1037
+ 'exclude_without_media' => $settings['exclude_without_media'],
1038
+ 'display_like' => $settings['display_like'],
1039
+ 'deeplink' => $settings['deeplink'],
1040
+ 'deeplink_slug' => $settings['deeplink_slug'],
1041
+ 'show_filters' => $settings['show_filters'],
1042
+ 'filter_by' => $settings['filter_by'],
1043
+ 'filter_style' => $settings['filter_style'],
1044
+ 'filter_align' => $settings['filter_align'],
1045
+ 'reveal_transition_duration' => $settings['reveal_transition_duration'],
1046
+ 'reveal_between_delay' => $settings['reveal_between_delay'],
1047
+ 'hide_transition_duration' => $settings['hide_transition_duration'],
1048
+ 'hide_between_delay' => $settings['hide_between_delay'],
1049
+
1050
+ 'item_style' => $settings['item_style'],
1051
+
1052
+ 'paginate' => $settings['paginate'],
1053
+ 'perpage' => $settings['perpage'],
1054
+ 'show_title' => $settings['display_title'],
1055
+ 'show_info' => $settings['show_info'],
1056
+ //'image_aspect_ratio' => $settings['image_aspect_ratio'],
1057
+ 'space' => $settings['space'],
1058
+ 'desktop_cnum' => $settings['columns'],
1059
+ 'tablet_cnum' => $settings['columns_tablet'],
1060
+ 'phone_cnum' => $settings['columns_mobile'],
1061
+ 'layout' => 'masonry',
1062
+
1063
+ 'loadmore_type' => $settings['loadmore_type'],
1064
+ 'loadmore_label' => $settings['loadmore_label'],
1065
+
1066
  );
1067
 
1068
  echo auxin_widget_recent_portfolios_grid_callback( $args );
includes/elements/elementor/recent-portfolios-tile.php CHANGED
@@ -600,7 +600,7 @@ class Recent_Portfolios_Tile extends Widget_Base {
600
  ),
601
  'default' => '',
602
  'condition' => array(
603
- 'paginate' => 'no'
604
  )
605
  )
606
  );
@@ -617,7 +617,7 @@ class Recent_Portfolios_Tile extends Widget_Base {
617
  'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
618
  ),
619
  'condition' => array(
620
- 'paginate' => 'no'
621
  )
622
  )
623
  );
600
  ),
601
  'default' => '',
602
  'condition' => array(
603
+ 'paginate!' => 'yes'
604
  )
605
  )
606
  );
617
  'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
618
  ),
619
  'condition' => array(
620
+ 'paginate!' => 'yes'
621
  )
622
  )
623
  );
includes/elements/recent-portfolios-grid-carousel.php ADDED
@@ -0,0 +1,301 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+
3
+ /**
4
+ * Element without loop and column
5
+ * The front-end output of this element is returned by the following function
6
+ *
7
+ * @param array $atts The array containing the parsed values from shortcode, it should be same as defined params above.
8
+ * @param string $shortcode_content The shorcode content
9
+ * @return string The output of element markup
10
+ */
11
+ function auxin_widget_recent_portfolios_grid_carousel_callback( $atts, $shortcode_content = null ){
12
+
13
+ // Defining default attributes
14
+ $default_atts = array(
15
+ 'title' => '', // header title
16
+ 'cat' => ' ',
17
+ 'num' => '8', // max generated entry
18
+ 'only_posts__in' => '', // display only these post IDs. array or string comma separated
19
+ 'include' => '', // include these post IDs in result too. array or string comma separated
20
+ 'exclude' => '', // exclude these post IDs from result. array or string comma separated
21
+ 'posts_per_page' => -1,
22
+ 'offset' => '',
23
+ 'paged' => '',
24
+ 'order_by' => 'date',
25
+ 'order' => 'DESC',
26
+ 'exclude_without_media' => 0,
27
+ 'display_like' => 1,
28
+ 'deeplink' => 0,
29
+ 'deeplink_slug' => uniqid('portfolio-'),
30
+ 'reveal_transition_duration' => '600',
31
+ 'reveal_between_delay' => '60',
32
+ 'hide_transition_duration' => '600',
33
+ 'hide_between_delay' => '30',
34
+ 'item_style' => 'classic',
35
+ 'perpage' => 10,
36
+ 'show_title' => 1,
37
+ 'show_info' => 1,
38
+ 'image_aspect_ratio' => 0.75,
39
+ 'space' => 30,
40
+ 'desktop_cnum' => 4,
41
+ 'tablet_cnum' => 'inherit',
42
+ 'phone_cnum' => '1',
43
+ 'tax_args' => '',
44
+ 'tag' => '',
45
+ 'carousel_space' => '30',
46
+ 'carousel_autoplay' => false,
47
+ 'carousel_autoplay_delay' => '2',
48
+ 'carousel_navigation' => 'peritem',
49
+ 'carousel_navigation_control' => 'arrows',
50
+ 'carousel_nav_control_pos' => 'center',
51
+ 'carousel_nav_control_skin' => 'boxed',
52
+ 'carousel_loop' => 1,
53
+ 'extra_classes' => '',
54
+ 'extra_column_classes' => '',
55
+ 'custom_el_id' => '',
56
+ 'universal_id' => '',
57
+ 'reset_query' => true,
58
+ 'use_wp_query' => false, // true to use the global wp_query, false to use internal custom query
59
+ 'wp_query_args' => array(), // additional wp_query args
60
+ 'loadmore_type' => '', // 'next' (more button), 'scroll', 'next-prev'
61
+ 'loadmore_label' => 'text',
62
+ 'loadmore_per_page' => '',
63
+ 'base' => 'aux_recent_portfolios_grid_carousel',
64
+ 'base_class' => 'aux-widget-recent-portfolios-carousel'
65
+ );
66
+
67
+ $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
68
+ extract( $result['parsed_atts'] );
69
+
70
+ // Validate the boolean variables
71
+ $exclude_without_media = auxin_is_true( $exclude_without_media );
72
+ $display_like = auxin_is_true( $display_like );
73
+ $deeplink = auxin_is_true( $deeplink );
74
+ $show_title = auxin_is_true( $show_title );
75
+ $show_info = auxin_is_true( $show_info );
76
+
77
+ ob_start();
78
+
79
+ if( gettype( $cat ) === "string" ) {
80
+ if( empty( $cat ) || $cat == " " ) {
81
+ $tax_args = array();
82
+ } else {
83
+ $tax_args = array(
84
+ array(
85
+ 'taxonomy' => 'portfolio-cat',
86
+ 'field' => 'term_id',
87
+ 'terms' => explode( ",", $cat)
88
+ )
89
+ );
90
+ }
91
+ }
92
+
93
+
94
+ global $wp_query;
95
+
96
+ if( ! $use_wp_query ) {
97
+ // create wp_query to get latest items -----------
98
+ $args = array(
99
+ 'post_type' => 'portfolio',
100
+ 'orderby' => $order_by,
101
+ 'order' => $order,
102
+ 'offset' => $offset,
103
+ 'paged' => $paged,
104
+ 'tax_query' => $tax_args,
105
+ 'post_status' => 'publish',
106
+ 'posts_per_page' => $num,
107
+ 'ignore_sticky_posts' => 1,
108
+
109
+ 'include_posts__in' => $include, // include posts in this list
110
+ 'posts__not_in' => $exclude, // exclude posts in this list
111
+ 'posts__in' => $only_posts__in, // only posts in this list
112
+
113
+ 'exclude_without_media' => $exclude_without_media
114
+ );
115
+
116
+ // ---------------------------------------------------------------------
117
+
118
+ // add the additional query args if available
119
+ if( $wp_query_args ){
120
+ $args = wp_parse_args( $args, $wp_query_args );
121
+ }
122
+
123
+ // pass the args through the auxin query parser
124
+ $wp_query = new WP_Query( auxin_parse_query_args( $args ) );
125
+ }
126
+
127
+ $post_counter = 0;
128
+ $items_classes = '';
129
+ $column_class = '';
130
+ $phone_break_point = 767;
131
+ $tablet_break_point = 992;
132
+
133
+ // widget header ------------------------------
134
+ echo $result['widget_header'];
135
+ echo $result['widget_title'];
136
+
137
+ // check item style and define related variables
138
+ switch ( $item_style ) {
139
+ case 'classic-lightbox':
140
+ $frame_effect_classes = 'aux-frame-darken aux-frame-zoom';
141
+ $hover_classes = 'aux-hover-active aux-hover-twoway';
142
+ $show_lightbox = true;
143
+ $template_file = 'column';
144
+ break;
145
+ case 'classic-lightbox-boxed':
146
+ $frame_effect_classes = 'aux-frame-boxed-darken aux-frame-zoom';
147
+ $hover_classes = 'aux-hover-active aux-hover-twoway';
148
+ $show_lightbox = true;
149
+ $template_file = 'column';
150
+ break;
151
+ case 'overlay':
152
+ $frame_effect_classes = 'aux-frame-darken aux-frame-zoom';
153
+ $hover_classes = 'aux-hover-active';
154
+ $show_lightbox = false;
155
+ $template_file = 'column-overlay';
156
+ break;
157
+ case 'overlay-boxed':
158
+ $frame_effect_classes = 'aux-frame-boxed-darken aux-frame-zoom';
159
+ $hover_classes = 'aux-hover-active';
160
+ $show_lightbox = false;
161
+ $template_file = 'column-overlay';
162
+ break;
163
+ case 'overlay-lightbox':
164
+ $frame_effect_classes = 'aux-frame-darken aux-frame-zoom';
165
+ $hover_classes = 'aux-hover-active aux-hover-twoway';
166
+ $show_lightbox = true;
167
+ $template_file = 'column-overlay';
168
+ break;
169
+ case 'overlay-lightbox-boxed':
170
+ $frame_effect_classes = 'aux-frame-boxed-darken aux-frame-zoom';
171
+ $hover_classes = 'aux-hover-active aux-hover-twoway';
172
+ $show_lightbox = true;
173
+ $template_file = 'column-overlay';
174
+ break;
175
+ default:
176
+ $frame_effect_classes = '';
177
+ $hover_classes = '';
178
+ $show_lightbox = false;
179
+ $template_file = 'column';
180
+ }
181
+
182
+ // generate columns class
183
+ $tablet_cnum = ('inherit' == $tablet_cnum ) ? $desktop_cnum : $tablet_cnum ;
184
+ $phone_cnum = ('inherit' == $phone_cnum ) ? $tablet_cnum : $phone_cnum;
185
+
186
+ $items_classes = 'aux-portfolio-carousel aux-portfolio-columns master-carousel aux-no-js aux-mc-before-init' . ' aux-' . $carousel_nav_control_pos . '-control';
187
+ $column_media_width = auxin_get_content_column_width( $desktop_cnum, $space, $content_width );
188
+
189
+ if ( $show_lightbox ) {
190
+ $items_classes .= ' aux-lightbox-gallery';
191
+ }
192
+
193
+ // genereate the master carousel attributes
194
+ $carousel_attrs = 'data-columns="' . esc_attr( $desktop_cnum ) . '"';
195
+ $carousel_attrs .= auxin_is_true( $carousel_autoplay ) ? ' data-autoplay="true"' : '';
196
+ $carousel_attrs .= auxin_is_true( $carousel_autoplay ) ? ' data-delay="' . esc_attr( $carousel_autoplay_delay ) . '"' : '';
197
+ $carousel_attrs .= ' data-navigation="' . esc_attr( $carousel_navigation ) . '"';
198
+ $carousel_attrs .= ' data-space="' . esc_attr( $carousel_space ). '"';
199
+ $carousel_attrs .= auxin_is_true( $carousel_autoplay ) ? ' data-loop="' . esc_attr( $carousel_loop ) . '"' : '';
200
+ $carousel_attrs .= ' data-wrap-controls="true"';
201
+ $carousel_attrs .= ' data-bullets="' . ('bullets' == $carousel_navigation_control ? 'true' : 'false') . '"';
202
+ $carousel_attrs .= ' data-bullet-class="aux-bullets aux-small aux-mask"';
203
+ $carousel_attrs .= ' data-arrows="' . ('arrows' == $carousel_navigation_control ? 'true' : 'false') . '"';
204
+ $carousel_attrs .= ' data-same-height="true"';
205
+
206
+ if ( 'inherit' != $tablet_cnum || 'inherit' != $phone_cnum ) {
207
+ $carousel_attrs .= ' data-responsive="'. esc_attr( ( 'inherit' != $tablet_cnum ? $tablet_break_point . ':' . $tablet_cnum . ',' : '' ).
208
+ ( 'inherit' != $phone_cnum ? $phone_break_point . ':' . $phone_cnum : '' ) ) . '"';
209
+ }
210
+
211
+ $have_posts = $wp_query->have_posts();
212
+
213
+ if( $have_posts ){
214
+
215
+ echo sprintf( '<div class="aux-mc-wrapper"><div data-element-id="%s" class="%s" %s>', esc_attr( $universal_id ), esc_attr( $items_classes ), $carousel_attrs );
216
+
217
+ while ( $wp_query->have_posts() ) {
218
+
219
+ $wp_query->the_post();
220
+ $post = $wp_query->post;
221
+ $column_class = 'aux-mc-item';
222
+ $item_inner_classes = '';
223
+
224
+ $post_vars = auxin_get_post_type_media_args(
225
+ $post,
226
+ array(
227
+ 'post_type' => 'portfolio',
228
+ 'request_from' => 'archive',
229
+ 'media_width' => $phone_break_point,
230
+ 'media_size' => array( 'width' => $column_media_width, 'height' => $column_media_width * $image_aspect_ratio ),
231
+ 'upscale_image' => true,
232
+ 'image_from_content' => ! $exclude_without_media, // whether to try to get image from content or not
233
+ 'add_image_hw' => false, // whether add width and height attr or not
234
+ 'no_gallery' => true,
235
+ 'preloadable' => true,
236
+ 'image_sizes' => 'auto',
237
+ 'srcset_sizes' => 'auto'
238
+ ),
239
+ $content_width
240
+ );
241
+ extract( $post_vars );
242
+
243
+ $lightbox_attrs = 'data-elementor-open-lightbox="no" ';
244
+ // Lightbox attributes
245
+ if ( $show_lightbox ) {
246
+ $attach_id = get_post_thumbnail_id($post->ID);
247
+ $image_primary_meta = wp_get_attachment_metadata( $attach_id );
248
+ $lightbox_attrs .= 'data-original-width="' . $image_primary_meta['width'] . '" data-original-height="' . $image_primary_meta['height'] . '" ' .
249
+ 'data-caption="' . auxin_attachment_caption( $attach_id ) . '"';
250
+ }
251
+
252
+ printf( '<div class="%s post-%s">', esc_attr( $column_class ), esc_attr( $post->ID ) );
253
+ include auxin_get_template_file( 'theme-parts/entry/portfolio', $template_file, AUXPFO()->template_path() );
254
+ echo '</div>';
255
+
256
+ }
257
+ if ( 'bullets' != $carousel_navigation_control ) {
258
+ if ( 'boxed' === $carousel_nav_control_skin ) :?>
259
+ <div class="aux-carousel-controls">
260
+ <div class="aux-next-arrow aux-arrow-nav aux-outline aux-hover-fill">
261
+ <span class="aux-svg-arrow aux-small-right"></span>
262
+ <span class="aux-hover-arrow aux-white aux-svg-arrow aux-small-right"></span>
263
+ </div>
264
+ <div class="aux-prev-arrow aux-arrow-nav aux-outline aux-hover-fill">
265
+ <span class="aux-svg-arrow aux-small-left"></span>
266
+ <span class="aux-hover-arrow aux-white aux-svg-arrow aux-small-left"></span>
267
+ </div>
268
+ </div>
269
+ <?php else : ?>
270
+ <div class="aux-carousel-controls">
271
+ <div class="aux-next-arrow">
272
+ <span class="aux-svg-arrow aux-l-right"></span>
273
+ </div>
274
+ <div class="aux-prev-arrow">
275
+ <span class="aux-svg-arrow aux-l-left"></span>
276
+
277
+ </div>
278
+ </div>
279
+ <?php endif;
280
+ }
281
+
282
+ echo '</div></div>';
283
+
284
+ } // End if have_posts
285
+
286
+
287
+ if( $reset_query ){
288
+ wp_reset_query();
289
+ }
290
+
291
+ // return false if no result found
292
+ if( ! $have_posts ){
293
+ ob_get_clean();
294
+ return false;
295
+ }
296
+
297
+ // widget footer ------------------------------
298
+ echo $result['widget_footer'];
299
+
300
+ return ob_get_clean();
301
+ }
includes/elements/recent-portfolios.php CHANGED
@@ -1048,7 +1048,7 @@ function auxin_widget_recent_portfolios_grid_callback( $atts, $shortcode_content
1048
  }
1049
 
1050
  // apply boxed style to items
1051
- $is_boxed = in_array( $item_style, array( 'classic', 'classic-lightbox', 'classic-lightbox-boxed' ) ) && ( $entry_background_color || $entry_border_color );
1052
 
1053
  $isoxin_attrs = 'data-lazyload="true" data-space="'.esc_attr( $space ).'" data-pagination="'. ( $paginate ? 'true' : 'false' ) . '" data-deeplink="'. ( $deeplink ? 'true' : 'false' ) . '"';
1054
  $isoxin_attrs .= ' data-slug="'. esc_attr( $deeplink_slug ).'" data-perpage="'.esc_attr( $perpage ).'" data-layout="'.esc_attr( $isotope_layout ).'"';
@@ -1190,11 +1190,12 @@ function auxin_widget_recent_portfolios_grid_callback( $atts, $shortcode_content
1190
  $item_classes .= ' aux-ajax-item';
1191
  }
1192
 
 
1193
  // Lightbox attributes
1194
  if ( $show_lightbox ) {
1195
  $attach_id = get_post_thumbnail_id($post->ID);
1196
  $image_primary_meta = wp_get_attachment_metadata( $attach_id );
1197
- $lightbox_attrs = 'data-original-width="' . $image_primary_meta['width'] . '" data-original-height="' . $image_primary_meta['height'] . '" ' .
1198
  'data-caption="' . auxin_attachment_caption( $attach_id ) . '"';
1199
  }
1200
 
1048
  }
1049
 
1050
  // apply boxed style to items
1051
+ $is_boxed = in_array( $item_style, array( 'classic', 'classic-lightbox', 'classic-lightbox-boxed' ) ) ;
1052
 
1053
  $isoxin_attrs = 'data-lazyload="true" data-space="'.esc_attr( $space ).'" data-pagination="'. ( $paginate ? 'true' : 'false' ) . '" data-deeplink="'. ( $deeplink ? 'true' : 'false' ) . '"';
1054
  $isoxin_attrs .= ' data-slug="'. esc_attr( $deeplink_slug ).'" data-perpage="'.esc_attr( $perpage ).'" data-layout="'.esc_attr( $isotope_layout ).'"';
1190
  $item_classes .= ' aux-ajax-item';
1191
  }
1192
 
1193
+ $lightbox_attrs = 'data-elementor-open-lightbox="no" ';
1194
  // Lightbox attributes
1195
  if ( $show_lightbox ) {
1196
  $attach_id = get_post_thumbnail_id($post->ID);
1197
  $image_primary_meta = wp_get_attachment_metadata( $attach_id );
1198
+ $lightbox_attrs .= 'data-original-width="' . $image_primary_meta['width'] . '" data-original-height="' . $image_primary_meta['height'] . '" ' .
1199
  'data-caption="' . auxin_attachment_caption( $attach_id ) . '"';
1200
  }
1201
 
includes/general-hooks.php CHANGED
@@ -1840,14 +1840,7 @@ function auxin_define_portfolio_theme_options( $fields_sections_list ){
1840
  'id' => 'portfolio_index_template_type',
1841
  'section' => 'portfolio-section-archive',
1842
  'dependency' => array(),
1843
- 'transport' => 'postMessage',
1844
- 'partial' => array(
1845
- 'selector' => '.post-type-archive-portfolio .aux-archive .content',
1846
- 'container_inclusive' => false,
1847
- 'render_callback' => function(){
1848
- auxpfo_get_template_part( 'theme-parts/loop', 'portfolio' );
1849
- }
1850
- ),
1851
  'choices' => array(
1852
  // default template
1853
  'grid-1' => array(
1840
  'id' => 'portfolio_index_template_type',
1841
  'section' => 'portfolio-section-archive',
1842
  'dependency' => array(),
1843
+ 'transport' => 'refresh',
 
 
 
 
 
 
 
1844
  'choices' => array(
1845
  // default template
1846
  'grid-1' => array(
includes/index.php CHANGED
@@ -13,5 +13,6 @@ include_once( 'classes/class-auxpfo-template-loader.php' );
13
  // load elements
14
  include_once( 'elements/recent-portfolios.php' );
15
  include_once( 'elements/recent-portfolios-tile-carousel.php' );
 
16
 
17
  include_once( 'elements/elementor/class-auxpfo-elementor-elements.php' );
13
  // load elements
14
  include_once( 'elements/recent-portfolios.php' );
15
  include_once( 'elements/recent-portfolios-tile-carousel.php' );
16
+ include_once( 'elements/recent-portfolios-grid-carousel.php' );
17
 
18
  include_once( 'elements/elementor/class-auxpfo-elementor-elements.php' );