Premium Portfolio Features for Phlox theme - Version 1.6.0

Version Description

Download this release

Release Info

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

Code changes from version 1.5.0 to 1.6.0

README.txt CHANGED
@@ -7,7 +7,7 @@ Tags: page-builder, elementor, siteorigin, auxin, phlox, averta, fullwidth, maso
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
  Tested up to: 4.9.6
10
- Stable tag: 1.5.0
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
@@ -120,6 +120,9 @@ Bugs can be reported in our [support forums](http://wordpress.org/tags/auxin-por
120
 
121
  == Changelog ==
122
 
 
 
 
123
  = Version 1.5.0 / (15.05.2018) =
124
  - [Improvement]: Bug fix and under the hood improvements.
125
 
@@ -192,5 +195,5 @@ Bugs can be reported in our [support forums](http://wordpress.org/tags/auxin-por
192
 
193
  == Upgrade Notice ==
194
 
195
- = 1.5.0 =
196
- - [Improvement]: Bug fix and prformance Improvement.
7
  Requires PHP: 5.4
8
  Requires at least: 4.6
9
  Tested up to: 4.9.6
10
+ Stable tag: 1.6.0
11
  License: GPLv3
12
  License URI: http://www.gnu.org/licenses/gpl.html
13
 
120
 
121
  == Changelog ==
122
 
123
+ = Version 1.6.0 / (26.05.2018) =
124
+ - [Improvement]: Three new elements for Elementor page builder added.
125
+
126
  = Version 1.5.0 / (15.05.2018) =
127
  - [Improvement]: Bug fix and under the hood improvements.
128
 
195
 
196
  == Upgrade Notice ==
197
 
198
+ = 1.6.0 =
199
+ - [Improvement]: Three new elements for Elementor page builder added.
auxin-portfolio.php CHANGED
@@ -12,7 +12,7 @@
12
  * Plugin Name: Phlox Portfolio
13
  * Plugin URI: http://averta.net/phlox/
14
  * Description: Showcase your projects beautifully in Phlox theme
15
- * Version: 1.5.0
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.1.3', // 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
  )
@@ -69,7 +69,7 @@ if( is_admin() || false === get_transient( 'auxpfo_plugin_requirements_check' )
69
  'name' => __('Phlox', 'auxin-portfolio'), // The theme name.
70
  'id' => 'phlox', // The theme id name.
71
  'update_link' => 'themes.php?theme=phlox',
72
- 'version' => '2.1.0', // E.g. 1.0.0. If set, the active theme must be this version or higher.
73
  'is_callable' => '', // If set, this callable will be be checked for availability to determine if a theme is active.
74
  'file_required' => get_template_directory() . '/auxin-content/init/const.php'
75
  )
12
  * Plugin Name: Phlox Portfolio
13
  * Plugin URI: http://averta.net/phlox/
14
  * Description: Showcase your projects beautifully in Phlox theme
15
+ * Version: 1.6.0
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.1.9', // 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
  )
69
  'name' => __('Phlox', 'auxin-portfolio'), // The theme name.
70
  'id' => 'phlox', // The theme id name.
71
  'update_link' => 'themes.php?theme=phlox',
72
+ 'version' => '2.1.7', // E.g. 1.0.0. If set, the active theme must be this version or higher.
73
  'is_callable' => '', // If set, this callable will be be checked for availability to determine if a theme is active.
74
  'file_required' => get_template_directory() . '/auxin-content/init/const.php'
75
  )
includes/define.php CHANGED
@@ -15,7 +15,7 @@ if( ! defined( 'THEME_NAME' ) ){
15
 
16
 
17
 
18
- define( 'AUXPFO_VERSION' , '1.5.0' );
19
 
20
  define( 'AUXPFO_SLUG' , 'auxin-portfolio' );
21
 
15
 
16
 
17
 
18
+ define( 'AUXPFO_VERSION' , '1.6.0' );
19
 
20
  define( 'AUXPFO_SLUG' , 'auxin-portfolio' );
21
 
includes/elements/elementor/class-auxpfo-elementor-elements.php ADDED
@@ -0,0 +1,216 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <?php
2
+ namespace Auxin\Plugin\Portfolio\Elementor;
3
+
4
+ /**
5
+ * Auxin Elementor Elements
6
+ *
7
+ * Custom Elementor extension.
8
+ *
9
+ *
10
+ * @package Auxin
11
+ * @license LICENSE.txt
12
+ * @author
13
+ * @link http://averta.net/phlox/
14
+ * @copyright (c) 2010-2018
15
+ */
16
+
17
+ if ( ! defined( 'ABSPATH' ) ) {
18
+ exit; // Exit if accessed directly.
19
+ }
20
+
21
+ /**
22
+ * Main Auxin Elementor Elements Class
23
+ *
24
+ * The main class that initiates and runs the plugin.
25
+ *
26
+ * @since 1.0.0
27
+ */
28
+ final class Elements {
29
+
30
+
31
+ /**
32
+ * Default elementor dit path
33
+ *
34
+ * @since 1.0.0
35
+ *
36
+ * @var string The defualt path to elementor dir on this plugin.
37
+ */
38
+ private $dir_path = '';
39
+
40
+
41
+ /**
42
+ * Instance
43
+ *
44
+ * @since 1.0.0
45
+ *
46
+ * @access private
47
+ * @static
48
+ *
49
+ * @var Auxin_Elementor_Core_Elements The single instance of the class.
50
+ */
51
+ private static $_instance = null;
52
+
53
+ /**
54
+ * Instance
55
+ *
56
+ * Ensures only one instance of the class is loaded or can be loaded.
57
+ *
58
+ * @since 1.0.0
59
+ *
60
+ * @access public
61
+ * @static
62
+ *
63
+ * @return Auxin_Elementor_Core_Elements An instance of the class.
64
+ */
65
+ public static function instance() {
66
+ if ( is_null( self::$_instance ) ) {
67
+ self::$_instance = new self();
68
+ }
69
+ return self::$_instance;
70
+ }
71
+
72
+ /**
73
+ * Constructor
74
+ *
75
+ * @since 1.0.0
76
+ *
77
+ * @access public
78
+ */
79
+ public function __construct() {
80
+ add_action( 'plugins_loaded', array( $this, 'init' ) );
81
+ }
82
+
83
+ /**
84
+ * Initialize the plugin
85
+ *
86
+ * Load the plugin only after Elementor (and other plugins) are loaded.
87
+ *
88
+ * Fired by `plugins_loaded` action hook.
89
+ *
90
+ * @since 1.0.0
91
+ *
92
+ * @access public
93
+ */
94
+ public function init() {
95
+
96
+ // Check if Elementor installed and activated
97
+ if ( ! did_action( 'elementor/loaded' ) ) {
98
+ return;
99
+ }
100
+
101
+ // Define elementor dir path
102
+ $this->dir_path = AUXPFO_INC_DIR . '/elements/elementor';
103
+
104
+ // Include core files
105
+ $this->includes();
106
+
107
+ // Add required hooks
108
+ $this->hooks();
109
+ }
110
+
111
+ /**
112
+ * Include Files
113
+ *
114
+ * Load required core files.
115
+ *
116
+ * @since 1.0.0
117
+ *
118
+ * @access public
119
+ */
120
+ public function includes() {
121
+
122
+ }
123
+
124
+ /**
125
+ * Add hooks
126
+ *
127
+ * Add required hooks for extending the Elementor.
128
+ *
129
+ * @since 1.0.0
130
+ *
131
+ * @access public
132
+ */
133
+ public function hooks() {
134
+
135
+ // Register controls, widgets, and categories
136
+ add_action( 'auxin/core_elements/elementor/widgets_list', array( $this, 'register_widgets' ) );
137
+
138
+ // Register Widget Styles
139
+ // add_action( 'elementor/frontend/after_enqueue_styles' , array( $this, 'widget_styles' ) );
140
+
141
+ // Register Widget Scripts
142
+ // add_action( 'elementor/frontend/after_register_scripts' , array( $this, 'widget_scripts' ) );
143
+
144
+ // Register Admin Scripts
145
+ // add_action( 'elementor/editor/before_enqueue_scripts' , array( $this, 'editor_scripts' ) );
146
+ }
147
+
148
+ /**
149
+ * Register widgets
150
+ *
151
+ * Register all widgets which are in widgets list.
152
+ *
153
+ * @access public
154
+ */
155
+ public function register_widgets( $widgets ) {
156
+
157
+ $widgets['410'] = array(
158
+ 'file' => $this->dir_path . '/recent-portfolios-grid.php',
159
+ 'class' => __NAMESPACE__ . '\Elements\Recent_Portfolios_Grid'
160
+ );
161
+
162
+ $widgets['420'] = array(
163
+ 'file' => $this->dir_path . '/recent-portfolios-masonry.php',
164
+ 'class' => __NAMESPACE__ . '\Elements\Recent_Portfolios_Masonry'
165
+ );
166
+
167
+ $widgets['430'] = array(
168
+ 'file' => $this->dir_path . '/recent-portfolios-tile.php',
169
+ 'class' => __NAMESPACE__ . '\Elements\Recent_Portfolios_Tile'
170
+ );
171
+
172
+ return $widgets;
173
+ }
174
+
175
+ /**
176
+ * Enqueue styles.
177
+ *
178
+ * Enqueue all the frontend styles.
179
+ *
180
+ * @since 1.0.0
181
+ *
182
+ * @access public
183
+ */
184
+ public function widget_styles() {
185
+
186
+ }
187
+
188
+ /**
189
+ * Enqueue scripts.
190
+ *
191
+ * Enqueue all the frontend scripts.
192
+ *
193
+ * @since 1.0.0
194
+ *
195
+ * @access public
196
+ */
197
+ public function widget_scripts() {
198
+
199
+ }
200
+
201
+ /**
202
+ * Enqueue scripts.
203
+ *
204
+ * Enqueue all the backend scripts.
205
+ *
206
+ * @since 1.0.0
207
+ *
208
+ * @access public
209
+ */
210
+ public function editor_scripts() {
211
+ // Elementor Custom Style
212
+ }
213
+
214
+ }
215
+
216
+ Elements::instance();
includes/elements/elementor/recent-portfolios-grid.php ADDED
@@ -0,0 +1,1001 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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\Group_Control_Image_Size;
8
+ use Elementor\Group_Control_Typography;
9
+ use Elementor\Scheme_Color;
10
+ use Elementor\Scheme_Typography;
11
+ use Elementor\Utils;
12
+ use Elementor\Control_Media;
13
+ use Elementor\Group_Control_Border;
14
+
15
+
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit; // Exit if accessed directly.
18
+ }
19
+
20
+ /**
21
+ * Elementor 'Recent_Portfolios_Grid' widget.
22
+ *
23
+ * Elementor widget that displays an 'Recent_Portfolios_Grid' with lightbox.
24
+ *
25
+ * @since 1.0.0
26
+ */
27
+ class Recent_Portfolios_Grid extends Widget_Base {
28
+
29
+ /**
30
+ * Get widget name.
31
+ *
32
+ * Retrieve 'Recent_Portfolios_Grid' widget name.
33
+ *
34
+ * @since 1.0.0
35
+ * @access public
36
+ *
37
+ * @return string Widget name.
38
+ */
39
+ public function get_name() {
40
+ return 'aux_recent_portfolios_grid';
41
+ }
42
+
43
+ /**
44
+ * Get widget title.
45
+ *
46
+ * Retrieve 'Recent_Portfolios_Grid' widget title.
47
+ *
48
+ * @since 1.0.0
49
+ * @access public
50
+ *
51
+ * @return string Widget title.
52
+ */
53
+ public function get_title() {
54
+ return __('Grid Portfolios', 'auxin-portfolio' );
55
+ }
56
+
57
+ /**
58
+ * Get widget icon.
59
+ *
60
+ * Retrieve 'Recent_Portfolios_Grid' widget icon.
61
+ *
62
+ * @since 1.0.0
63
+ * @access public
64
+ *
65
+ * @return string Widget icon.
66
+ */
67
+ public function get_icon() {
68
+ return 'eicon-posts-grid';
69
+ }
70
+
71
+ /**
72
+ * Get widget categories.
73
+ *
74
+ * Retrieve 'Recent_Portfolios_Grid' widget icon.
75
+ *
76
+ * @since 1.0.0
77
+ * @access public
78
+ *
79
+ * @return string Widget icon.
80
+ */
81
+ public function get_categories() {
82
+ return array( 'auxin-portfolio' );
83
+ }
84
+
85
+ /**
86
+ * Retrieve the terms in a given taxonomy or list of taxonomies.
87
+ *
88
+ * Retrieve 'Recent_Portfolios_Grid' widget icon.
89
+ *
90
+ * @since 1.0.0
91
+ * @access public
92
+ *
93
+ * @return string Widget icon.
94
+ */
95
+ public function get_terms() {
96
+ // Get terms
97
+ $terms = get_terms(
98
+ array(
99
+ 'taxonomy' => 'portfolio-cat',
100
+ 'orderby' => 'count',
101
+ 'hide_empty' => true
102
+ )
103
+ );
104
+
105
+ // Then create a list
106
+ $list = array( ' ' => __('All Categories', 'auxin-portfolio' ) ) ;
107
+
108
+ if ( ! is_wp_error( $terms ) && is_array( $terms ) ){
109
+ foreach ( $terms as $key => $value ) {
110
+ $list[$value->term_id] = $value->name;
111
+ }
112
+ }
113
+
114
+ return $list;
115
+ }
116
+
117
+ /**
118
+ * Register 'Recent_Portfolios_Grid' widget controls.
119
+ *
120
+ * Adds different input fields to allow the user to change and customize the widget settings.
121
+ *
122
+ * @since 1.0.0
123
+ * @access protected
124
+ */
125
+ protected function _register_controls() {
126
+
127
+ /*-------------------------------------------------------------------*/
128
+ /* Layout TAB
129
+ /*-------------------------------------------------------------------*/
130
+
131
+ $this->start_controls_section(
132
+ 'layout_section',
133
+ array(
134
+ 'label' => __('Layout', 'auxin-portfolio' ),
135
+ 'tab' => Controls_Manager::TAB_LAYOUT
136
+ )
137
+ );
138
+
139
+ $this->add_responsive_control(
140
+ 'columns',
141
+ array(
142
+ 'label' => __( 'Columns', 'auxin-portfolio' ),
143
+ 'type' => Controls_Manager::SELECT,
144
+ 'default' => '4',
145
+ 'tablet_default' => 'inherit',
146
+ 'mobile_default' => '1',
147
+ 'options' => array(
148
+ 'inherit' => __( 'Inherited from larger', 'auxin-portfolio' ),
149
+ '1' => '1',
150
+ '2' => '2',
151
+ '3' => '3',
152
+ '4' => '4',
153
+ '5' => '5',
154
+ '6' => '6'
155
+ ),
156
+ 'frontend_available' => true
157
+ )
158
+ );
159
+
160
+ $this->add_control(
161
+ 'display_title',
162
+ array(
163
+ 'label' => __('Display title', 'auxin-portfolio' ),
164
+ 'type' => Controls_Manager::SWITCHER,
165
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
166
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
167
+ 'default' => 'yes'
168
+ )
169
+ );
170
+
171
+ $this->add_control(
172
+ 'show_info',
173
+ array(
174
+ 'label' => __('Display categories','auxin-portfolio' ),
175
+ 'type' => Controls_Manager::SWITCHER,
176
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
177
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
178
+ 'default' => 'yes'
179
+ )
180
+ );
181
+
182
+ $this->add_control(
183
+ 'display_like',
184
+ array(
185
+ 'label' => __('Display like button', 'auxin-portfolio' ),
186
+ 'type' => Controls_Manager::SWITCHER,
187
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
188
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
189
+ 'default' => 'no'
190
+ )
191
+ );
192
+
193
+ $this->add_control(
194
+ 'deeplink',
195
+ array(
196
+ 'label' => __('Deeplink', 'auxin-portfolio' ),
197
+ 'description' => __('Enables the deeplink feature, it updates URL based on page and filter status.', 'auxin-portfolio' ),
198
+ 'type' => Controls_Manager::SWITCHER,
199
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
200
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
201
+ 'default' => 'no'
202
+ )
203
+ );
204
+
205
+ $this->add_control(
206
+ 'deeplink_slug',
207
+ array(
208
+ 'label' => __('Deeplink slug', 'auxin-portfolio' ),
209
+ 'description' => __('Specifies the deeplink slug value in address bar.', 'auxin-portfolio' ),
210
+ 'type' => Controls_Manager::TEXT,
211
+ 'default' => '',
212
+ 'condition' => array(
213
+ 'deeplink' => 'yes'
214
+ )
215
+ )
216
+ );
217
+
218
+ $this->end_controls_section();
219
+
220
+ /*-------------------------------------------------------------------*/
221
+ /* Content TAB
222
+ /*-------------------------------------------------------------------*/
223
+
224
+ /* Query Section
225
+ /*-------------------------------------*/
226
+
227
+ $this->start_controls_section(
228
+ 'query_section',
229
+ array(
230
+ 'label' => __('Query', 'auxin-portfolio' ),
231
+ )
232
+ );
233
+
234
+ $this->add_control(
235
+ 'cat',
236
+ array(
237
+ 'label' => __('Categories', 'auxin-portfolio'),
238
+ 'description' => __('Specifies a category that you want to show posts from it.', 'auxin-portfolio' ),
239
+ 'type' => Controls_Manager::SELECT2,
240
+ 'multiple' => true,
241
+ 'options' => $this->get_terms(),
242
+ 'default' => array( ' ' ),
243
+ )
244
+ );
245
+
246
+ $this->add_control(
247
+ 'num',
248
+ array(
249
+ 'label' => __('Number of posts to show', 'auxin-portfolio'),
250
+ 'label_block' => true,
251
+ 'type' => Controls_Manager::NUMBER,
252
+ 'default' => '',
253
+ 'min' => 1,
254
+ 'step' => 1
255
+ )
256
+ );
257
+
258
+ $this->add_control(
259
+ 'exclude_without_media',
260
+ array(
261
+ 'label' => __('Exclude posts without media','auxin-portfolio' ),
262
+ 'type' => Controls_Manager::SWITCHER,
263
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
264
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
265
+ 'default' => 'yes'
266
+ )
267
+ );
268
+
269
+ $this->add_control(
270
+ 'order_by',
271
+ array(
272
+ 'label' => __('Order by', 'auxin-portfolio'),
273
+ 'type' => Controls_Manager::SELECT,
274
+ 'default' => 'date',
275
+ 'options' => array(
276
+ 'date' => __('Date', 'auxin-portfolio'),
277
+ 'menu_order date' => __('Menu Order', 'auxin-portfolio'),
278
+ 'title' => __('Title', 'auxin-portfolio'),
279
+ 'ID' => __('ID', 'auxin-portfolio'),
280
+ 'rand' => __('Random', 'auxin-portfolio'),
281
+ 'comment_count' => __('Comments', 'auxin-portfolio'),
282
+ 'modified' => __('Date Modified', 'auxin-portfolio'),
283
+ 'author' => __('Author', 'auxin-portfolio'),
284
+ 'post__in' => __('Inserted Post IDs', 'auxin-portfolio')
285
+ ),
286
+ )
287
+ );
288
+
289
+ $this->add_control(
290
+ 'order',
291
+ array(
292
+ 'label' => __('Order', 'auxin-portfolio'),
293
+ 'type' => Controls_Manager::SELECT,
294
+ 'default' => 'DESC',
295
+ 'options' => array(
296
+ 'DESC' => __('Descending', 'auxin-portfolio'),
297
+ 'ASC' => __('Ascending', 'auxin-portfolio'),
298
+ ),
299
+ )
300
+ );
301
+
302
+ $this->add_control(
303
+ 'only_posts__in',
304
+ array(
305
+ 'label' => __('Only portfolios','auxin-portfolio' ),
306
+ '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' ),
307
+ 'type' => Controls_Manager::TEXT
308
+ )
309
+ );
310
+
311
+ $this->add_control(
312
+ 'include',
313
+ array(
314
+ 'label' => __('Include portfolios','auxin-portfolio' ),
315
+ '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' ),
316
+ 'type' => Controls_Manager::TEXT
317
+ )
318
+ );
319
+
320
+ $this->add_control(
321
+ 'exclude',
322
+ array(
323
+ 'label' => __('Exclude portfolios','auxin-portfolio' ),
324
+ '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' ),
325
+ 'type' => Controls_Manager::TEXT
326
+ )
327
+ );
328
+
329
+ $this->add_control(
330
+ 'offset',
331
+ array(
332
+ 'label' => __('Start offset','auxin-portfolio' ),
333
+ 'description' => __('Number of portfolios to display or pass over.', 'auxin-portfolio' ),
334
+ 'type' => Controls_Manager::NUMBER,
335
+ 'default' => ''
336
+ )
337
+ );
338
+
339
+ $this->end_controls_section();
340
+
341
+ /*-------------------------------------------------------------------*/
342
+ /* Settings TAB
343
+ /*-------------------------------------------------------------------*/
344
+
345
+ /* Filters Section
346
+ /*-------------------------------------*/
347
+
348
+ $this->start_controls_section(
349
+ 'filters_section',
350
+ array(
351
+ 'label' => __('Filters', 'auxin-portfolio' ),
352
+ 'tab' => Controls_Manager::TAB_SETTINGS
353
+ )
354
+ );
355
+
356
+ $this->add_control(
357
+ 'show_filters',
358
+ array(
359
+ 'label' => __('Display filters','auxin-portfolio' ),
360
+ 'type' => Controls_Manager::SWITCHER,
361
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
362
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
363
+ 'return_value' => 'yes',
364
+ 'default' => 'yes'
365
+ )
366
+ );
367
+
368
+ $this->add_control(
369
+ 'filter_by',
370
+ array(
371
+ 'label' => __('Filter By', 'auxin-portfolio'),
372
+ 'description' => __('Filter by categories or tags', 'auxin-portfolio' ),
373
+ 'type' => Controls_Manager::SELECT,
374
+ 'default' => 'portfolio-cat',
375
+ 'options' => array(
376
+ 'portfolio-filter' => __('Filter', 'auxin-portfolio'),
377
+ 'portfolio-cat' => __('Category', 'auxin-portfolio'),
378
+ 'portfolio-tag' => __('Tag', 'auxin-portfolio')
379
+ ),
380
+ 'condition' => array(
381
+ 'show_filters' => 'yes'
382
+ )
383
+ )
384
+ );
385
+
386
+ $this->add_control(
387
+ 'filter_align',
388
+ array(
389
+ 'label' => __('Filter Control Alignment', 'auxin-portfolio'),
390
+ 'description' => __('Filter by categories or tags', 'auxin-portfolio' ),
391
+ 'type' => Controls_Manager::CHOOSE,
392
+ 'style_items' => 'max-width:30%;',
393
+ 'default' => 'aux-left',
394
+ 'options' => array(
395
+ 'aux-left' => array(
396
+ 'title' => __( 'Left', 'auxin-portfolio' ),
397
+ 'icon' => 'fa fa-align-left',
398
+ ),
399
+ 'aux-center' => array(
400
+ 'title' => __( 'Center', 'auxin-portfolio' ),
401
+ 'icon' => 'fa fa-align-center',
402
+ ),
403
+ 'aux-right' => array(
404
+ 'title' => __( 'Right', 'auxin-portfolio' ),
405
+ 'icon' => 'fa fa-align-right',
406
+ )
407
+ ),
408
+ 'devices' => array('desktop'),
409
+ 'condition' => array(
410
+ 'show_filters' => 'yes'
411
+ )
412
+ )
413
+ );
414
+
415
+ $this->add_control(
416
+ 'filter_style',
417
+ array(
418
+ 'label' => __('Filter Buttom Style', 'auxin-portfolio'),
419
+ 'description' => __('Style of filter buttons.', 'auxin-portfolio' ),
420
+ 'type' => 'aux-visual-select',
421
+ 'default' => 'aux-slideup',
422
+ 'style_items' => 'max-width:200px;',
423
+ 'options' => array(
424
+ 'aux-slideup' => array(
425
+ 'label' => __('Slide up' , 'auxin-portfolio'),
426
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterSlideUp2.webm webm'
427
+ ),
428
+ 'aux-fill' => array(
429
+ 'label' => __('Fill' , 'auxin-portfolio'),
430
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterFill.webm webm'
431
+ ),
432
+ 'aux-cube' => array(
433
+ 'label' => __('Cube' , 'auxin-portfolio'),
434
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterCube.webm webm'
435
+ ),
436
+ 'aux-underline' => array(
437
+ 'label' => __('Underline' , 'auxin-portfolio'),
438
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.mp4 mp4'
439
+ ),
440
+ 'aux-overlay' => array(
441
+ 'label' => __('Float frame' , 'auxin-portfolio'),
442
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterFloatFrame.webm webm'
443
+ ),
444
+ 'aux-bordered' => array(
445
+ 'label' => __('Borderd' , 'auxin-portfolio'),
446
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterBordered.mp4 mp4'
447
+ ),
448
+ 'aux-overlay aux-underline-anim' => array(
449
+ 'label' => __('Float underline' , 'auxin-portfolio'),
450
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.webm webm'
451
+ ),
452
+ 'aux-dropdown-filter' => array(
453
+ 'label' => __('DropDown' , 'auxin-portfolio'),
454
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.webm webm'
455
+ )
456
+ ),
457
+ 'condition' => array(
458
+ 'show_filters' => 'yes'
459
+ )
460
+ )
461
+ );
462
+
463
+ $this->end_controls_section();
464
+
465
+ /* Transition Section
466
+ /*-------------------------------------*/
467
+
468
+ $this->start_controls_section(
469
+ 'transition_section',
470
+ array(
471
+ 'label' => __('Transition', 'auxin-portfolio' ),
472
+ 'tab' => Controls_Manager::TAB_SETTINGS
473
+ )
474
+ );
475
+
476
+ $this->add_control(
477
+ 'reveal_transition_duration',
478
+ array(
479
+ 'label' => __('Transition duration on reveal','auxin-portfolio' ),
480
+ 'description' => __('The transition duration while the element is going to be appeared (milliseconds).'),
481
+ 'label_block' => true,
482
+ 'type' => Controls_Manager::NUMBER,
483
+ 'default' => '600'
484
+ )
485
+ );
486
+
487
+ $this->add_control(
488
+ 'reveal_between_delay',
489
+ array(
490
+ 'label' => __('Delay between reveal','auxin-portfolio' ),
491
+ 'description' => __('The delay between each sequence of revealing transitions (milliseconds).'),
492
+ 'label_block' => true,
493
+ 'type' => Controls_Manager::NUMBER,
494
+ 'default' => '60'
495
+ )
496
+ );
497
+
498
+ $this->add_control(
499
+ 'hide_transition_duration',
500
+ array(
501
+ 'label' => __('Transition duration on hide','auxin-portfolio' ),
502
+ 'description' => __('The transition duration while the element is going to be hidden (milliseconds).'),
503
+ 'label_block' => true,
504
+ 'type' => Controls_Manager::NUMBER,
505
+ 'default' => '600'
506
+ )
507
+ );
508
+
509
+ $this->add_control(
510
+ 'hide_between_delay',
511
+ array(
512
+ 'label' => __('Delay between hide','auxin-portfolio' ),
513
+ 'description' => __('The delay between each sequence of hiding transitions (milliseconds).'),
514
+ 'label_block' => true,
515
+ 'type' => Controls_Manager::NUMBER,
516
+ 'default' => '30'
517
+ )
518
+ );
519
+
520
+ $this->end_controls_section();
521
+
522
+ /* Pagination Section
523
+ /*-------------------------------------*/
524
+
525
+ $this->start_controls_section(
526
+ 'paginate_section',
527
+ array(
528
+ 'label' => __('Paginate', 'auxin-portfolio' ),
529
+ 'tab' => Controls_Manager::TAB_SETTINGS
530
+ )
531
+ );
532
+
533
+ $this->add_control(
534
+ 'paginate',
535
+ array(
536
+ 'label' => __('Paginate','auxin-portfolio' ),
537
+ 'description' => __('Paginates the portfolio items', 'auxin-portfolio' ),
538
+ 'type' => Controls_Manager::SWITCHER,
539
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
540
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
541
+ 'default' => 'yes'
542
+ )
543
+ );
544
+
545
+ $this->add_control(
546
+ 'perpage',
547
+ array(
548
+ 'label' => __('Items number perpage', 'auxin-portfolio' ),
549
+ 'label_block' => true,
550
+ 'type' => Controls_Manager::NUMBER,
551
+ 'default' => '8',
552
+ 'condition' => array(
553
+ 'paginate' => 'yes'
554
+ )
555
+ )
556
+ );
557
+
558
+ $this->add_control(
559
+ 'loadmore_type',
560
+ array(
561
+ 'label' => __('Load More Type','auxin-portfolio' ),
562
+ 'type' => 'aux-visual-select',
563
+ 'options' => array(
564
+ '' => array(
565
+ 'label' => __('None', 'auxin-portfolio' ),
566
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-none.svg'
567
+ ),
568
+ 'scroll' => array(
569
+ 'label' => __('Infinite Scroll', 'auxin-portfolio' ),
570
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-infinite.svg'
571
+ ),
572
+ 'next' => array(
573
+ 'label' => __('Next Button', 'auxin-portfolio' ),
574
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-button.svg'
575
+ ),
576
+ 'next-prev' => array(
577
+ 'label' => __('Next Prev', 'auxin-portfolio' ),
578
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-next-prev.svg'
579
+ )
580
+ ),
581
+ 'default' => '',
582
+ 'condition' => array(
583
+ 'paginate' => 'no'
584
+ )
585
+ )
586
+ );
587
+
588
+ $this->add_control(
589
+ 'loadmore_label',
590
+ array(
591
+ 'label' => __('Load More Label', 'auxin-portfolio' ),
592
+ 'type' => Controls_Manager::SELECT,
593
+ 'default' => 'text',
594
+ 'options' => array(
595
+ 'text' => __('Text', 'auxin-portfolio'),
596
+ 'arrow' => __('Arrow', 'auxin-portfolio'),
597
+ 'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
598
+ ),
599
+ 'condition' => array(
600
+ 'paginate' => 'no'
601
+ )
602
+ )
603
+ );
604
+
605
+ $this->end_controls_section();
606
+
607
+ /*-------------------------------------------------------------------*/
608
+ /* Style TAB
609
+ /*-------------------------------------------------------------------*/
610
+
611
+ /* Image Section
612
+ /*-------------------------------------*/
613
+
614
+ $this->start_controls_section(
615
+ 'image_style_section',
616
+ array(
617
+ 'label' => __( 'Image', 'auxin-portfolio' ),
618
+ 'tab' => Controls_Manager::TAB_STYLE
619
+ )
620
+ );
621
+
622
+ $this->add_control(
623
+ 'space',
624
+ array(
625
+ 'label' => __('Space', 'auxin-portfolio' ),
626
+ 'description' => __('Specifies space between items in pixels.', 'auxin-portfolio' ),
627
+ 'type' => Controls_Manager::SLIDER,
628
+ 'range' => array(
629
+ 'px' => array(
630
+ 'max' => 100
631
+ )
632
+ )
633
+ )
634
+ );
635
+
636
+ $this->add_control(
637
+ 'image_aspect_ratio',
638
+ array(
639
+ 'label' => __('Image aspect ratio', 'auxin-portfolio'),
640
+ 'type' => Controls_Manager::SELECT,
641
+ 'default' => '0.75',
642
+ 'options' => array(
643
+ '0.75' => __('Horizontal 4:3' , 'auxin-portfolio'),
644
+ '0.56' => __('Horizontal 16:9', 'auxin-portfolio'),
645
+ '1.00' => __('Square 1:1' , 'auxin-portfolio'),
646
+ '1.33' => __('Vertical 3:4' , 'auxin-portfolio')
647
+ )
648
+ )
649
+ );
650
+
651
+ $this->add_control(
652
+ 'item_style',
653
+ array(
654
+ 'label' => __('Hover Type','auxin-portfolio' ),
655
+ 'description' => __('Move your mouse over each item in order to preview the hover effect.','auxin-portfolio' ),
656
+ 'style_items' => 'max-width:48%; min-height:90px;',
657
+ 'type' => 'aux-visual-select',
658
+ 'options' => array(
659
+ 'classic' => array(
660
+ 'label' => __('No animation' , 'auxin-portfolio'),
661
+ 'image' => AUXPFO_ADMIN_URL . '/assets/images/ClassicLightbox.png'
662
+ ),
663
+ 'classic-lightbox' => array(
664
+ 'label' => __('Classic with lightbox style 1' , 'auxin-portfolio'),
665
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/ClassicLightbox1.webm webm'
666
+ ),
667
+ 'classic-lightbox-boxed' => array(
668
+ 'label' => __('Classic with lightbox style 2' , 'auxin-portfolio'),
669
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/ClassicLightbox2.webm webm'
670
+ ),
671
+ 'overlay' => array(
672
+ 'label' => __('Overlay title style 1', 'auxin-portfolio'),
673
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitle1.webm webm'
674
+ ),
675
+ 'overlay-boxed' => array(
676
+ 'label' => __('Overlay title style 2', 'auxin-portfolio'),
677
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitle2.webm webm'
678
+ ),
679
+ 'overlay-lightbox' => array(
680
+ 'label' => __('Overlay title with lightbox style 1', 'auxin-portfolio'),
681
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitleLightbox1.webm webm'
682
+ ),
683
+ 'overlay-lightbox-boxed' => array(
684
+ 'label' => __('Overlay title with lightbox style 2', 'auxin-portfolio'),
685
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitleLightbox2.webm webm'
686
+ )
687
+ ),
688
+ 'default' => 'classic'
689
+ )
690
+ );
691
+
692
+ $this->add_control(
693
+ 'img_border_radius',
694
+ array(
695
+ 'label' => __( 'Border Radius', 'auxin-portfolio' ),
696
+ 'type' => Controls_Manager::DIMENSIONS,
697
+ 'size_units' => array( 'px', '%' ),
698
+ 'selectors' => array(
699
+ '{{WRAPPER}} .aux-media-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
700
+ )
701
+ )
702
+ );
703
+
704
+ $this->end_controls_section();
705
+
706
+
707
+ /* Title Section
708
+ /*-------------------------------------*/
709
+
710
+ $this->start_controls_section(
711
+ 'title_style_section',
712
+ array(
713
+ 'label' => __( 'Title', 'auxin-portfolio' ),
714
+ 'tab' => Controls_Manager::TAB_STYLE,
715
+ 'conditions' => array(
716
+ 'relation' => 'or',
717
+ 'terms' => array(
718
+ array(
719
+ 'name' => 'display_title',
720
+ 'operator' => '===',
721
+ 'value' => 'yes',
722
+ )
723
+ ),
724
+ ),
725
+ )
726
+ );
727
+
728
+ // Title heading
729
+
730
+ $this->start_controls_tabs( 'title_colors' );
731
+
732
+ $this->start_controls_tab(
733
+ 'title_color_normal',
734
+ array(
735
+ 'label' => __( 'Normal' , 'auxin-portfolio' ),
736
+ 'condition' => array(
737
+ 'display_title' => 'yes'
738
+ )
739
+ )
740
+ );
741
+
742
+ $this->add_control(
743
+ 'title_color',
744
+ array(
745
+ 'label' => __( 'Color', 'auxin-portfolio' ),
746
+ 'type' => Controls_Manager::COLOR,
747
+ 'selectors' => array(
748
+ '{{WRAPPER}} .aux-portfolio-item-title a' => 'color: {{VALUE}};',
749
+ ),
750
+ 'condition' => array(
751
+ 'display_title' => 'yes'
752
+ )
753
+ )
754
+ );
755
+
756
+ $this->end_controls_tab();
757
+
758
+ $this->start_controls_tab(
759
+ 'title_color_hover',
760
+ array(
761
+ 'label' => __( 'Hover' , 'auxin-portfolio' ),
762
+ 'condition' => array(
763
+ 'display_title' => 'yes'
764
+ )
765
+ )
766
+ );
767
+
768
+ $this->add_control(
769
+ 'title_hover_color',
770
+ array(
771
+ 'label' => __( 'Color', 'auxin-portfolio' ),
772
+ 'type' => Controls_Manager::COLOR,
773
+ 'selectors' => array(
774
+ '{{WRAPPER}} .aux-portfolio-item-title a:hover' => 'color:{{VALUE}};',
775
+ ),
776
+ 'condition' => array(
777
+ 'display_title' => 'yes'
778
+ )
779
+ )
780
+ );
781
+
782
+ $this->end_controls_tab();
783
+
784
+ $this->end_controls_tabs();
785
+
786
+ $this->add_group_control(
787
+ Group_Control_Typography::get_type(),
788
+ array(
789
+ 'name' => 'title_typography',
790
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
791
+ 'selector' => '{{WRAPPER}} .aux-portfolio-item-title',
792
+ 'condition' => array(
793
+ 'display_title' => 'yes'
794
+ )
795
+ )
796
+ );
797
+
798
+ $this->add_responsive_control(
799
+ 'title_margin_bottom',
800
+ array(
801
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
802
+ 'type' => Controls_Manager::SLIDER,
803
+ 'range' => array(
804
+ 'px' => array(
805
+ 'max' => 100,
806
+ ),
807
+ ),
808
+ 'selectors' => array(
809
+ '{{WRAPPER}} .aux-portfolio-item-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
810
+ ),
811
+ 'condition' => array(
812
+ 'display_title' => 'yes'
813
+ )
814
+ )
815
+ );
816
+
817
+ $this->end_controls_section();
818
+
819
+
820
+ /* Categories Section
821
+ /*-------------------------------------*/
822
+
823
+ $this->start_controls_section(
824
+ 'info_style_section',
825
+ array(
826
+ 'label' => __( 'Categories', 'auxin-portfolio' ),
827
+ 'tab' => Controls_Manager::TAB_STYLE,
828
+ 'conditions' => array(
829
+ 'relation' => 'or',
830
+ 'terms' => array(
831
+ array(
832
+ 'name' => 'show_info',
833
+ 'operator' => '===',
834
+ 'value' => 'yes',
835
+ )
836
+ ),
837
+ ),
838
+ )
839
+ );
840
+
841
+ $this->start_controls_tabs( 'info_colors' );
842
+
843
+ $this->start_controls_tab(
844
+ 'info_color_normal',
845
+ array(
846
+ 'label' => __( 'Normal' , 'auxin-portfolio' ),
847
+ 'condition' => array(
848
+ 'show_info' => 'yes'
849
+ )
850
+ )
851
+ );
852
+
853
+ $this->add_control(
854
+ 'info_color',
855
+ array(
856
+ 'label' => __( 'Color', 'auxin-portfolio' ),
857
+ 'type' => Controls_Manager::COLOR,
858
+ 'selectors' => array(
859
+ '{{WRAPPER}} .entry-tax a' => 'color: {{VALUE}};',
860
+ ),
861
+ 'condition' => array(
862
+ 'show_info' => 'yes'
863
+ )
864
+ )
865
+ );
866
+
867
+ $this->end_controls_tab();
868
+
869
+ $this->start_controls_tab(
870
+ 'info_color_hover',
871
+ array(
872
+ 'label' => __( 'Hover' , 'auxin-portfolio' ),
873
+ 'condition' => array(
874
+ 'show_info' => 'yes'
875
+ )
876
+ )
877
+ );
878
+
879
+ $this->add_control(
880
+ 'info_hover_color',
881
+ array(
882
+ 'label' => __( 'Color', 'auxin-portfolio' ),
883
+ 'type' => Controls_Manager::COLOR,
884
+ 'selectors' => array(
885
+ '{{WRAPPER}} .entry-tax a:hover' => 'color: {{VALUE}};',
886
+ ),
887
+ 'condition' => array(
888
+ 'show_info' => 'yes'
889
+ )
890
+ )
891
+ );
892
+
893
+ $this->end_controls_tab();
894
+
895
+ $this->end_controls_tabs();
896
+
897
+ $this->add_group_control(
898
+ Group_Control_Typography::get_type(),
899
+ array(
900
+ 'name' => 'info_typography',
901
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
902
+ 'selector' => '{{WRAPPER}} .entry-tax',
903
+ 'condition' => array(
904
+ 'show_info' => 'yes'
905
+ )
906
+ )
907
+ );
908
+
909
+ $this->add_responsive_control(
910
+ 'info_margin_bottom',
911
+ array(
912
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
913
+ 'type' => Controls_Manager::SLIDER,
914
+ 'range' => array(
915
+ 'px' => array(
916
+ 'max' => 100
917
+ )
918
+ ),
919
+ 'selectors' => array(
920
+ '{{WRAPPER}} .entry-tax' => 'margin-bottom: {{SIZE}}{{UNIT}};'
921
+ ),
922
+ 'condition' => array(
923
+ 'show_info' => 'yes'
924
+ )
925
+ )
926
+ );
927
+
928
+ $this->add_responsive_control(
929
+ 'info_spacing_between',
930
+ array(
931
+ 'label' => __( 'Space between metas', 'auxin-portfolio' ),
932
+ 'type' => Controls_Manager::SLIDER,
933
+ 'range' => array(
934
+ 'px' => array(
935
+ 'max' => 30
936
+ )
937
+ ),
938
+ 'selectors' => array(
939
+ '{{WRAPPER}} .entry-tax a:after' => 'margin-right: {{SIZE}}{{UNIT}}; margin-left: {{SIZE}}{{UNIT}};'
940
+ )
941
+ )
942
+ );
943
+
944
+ $this->end_controls_section();
945
+ }
946
+
947
+ /**
948
+ * Render image box widget output on the frontend.
949
+ *
950
+ * Written in PHP and used to generate the final HTML.
951
+ *
952
+ * @since 1.0.0
953
+ * @access protected
954
+ */
955
+ protected function render() {
956
+
957
+ $settings = $this->get_settings_for_display();
958
+
959
+ $args = array(
960
+ 'cat' => $settings['cat'],
961
+ 'num' => $settings['num'],
962
+ 'only_posts__in' => $settings['only_posts__in'],
963
+ 'include' => $settings['include'],
964
+ 'exclude' => $settings['exclude'],
965
+ 'offset' => $settings['offset'],
966
+ 'order_by' => $settings['order_by'],
967
+ 'order' => $settings['order'],
968
+ 'exclude_without_media' => $settings['exclude_without_media'],
969
+ 'display_like' => $settings['display_like'],
970
+ 'deeplink' => $settings['deeplink'],
971
+ 'deeplink_slug' => $settings['deeplink_slug'],
972
+ 'show_filters' => $settings['show_filters'],
973
+ 'filter_by' => $settings['filter_by'],
974
+ 'filter_style' => $settings['filter_style'],
975
+ 'filter_align' => $settings['filter_align'],
976
+ 'reveal_transition_duration' => $settings['reveal_transition_duration'],
977
+ 'reveal_between_delay' => $settings['reveal_between_delay'],
978
+ 'hide_transition_duration' => $settings['hide_transition_duration'],
979
+ 'hide_between_delay' => $settings['hide_between_delay'],
980
+
981
+ 'item_style' => $settings['item_style'],
982
+
983
+ 'paginate' => $settings['paginate'],
984
+ 'perpage' => $settings['perpage'],
985
+ 'show_title' => $settings['display_title'],
986
+ 'show_info' => $settings['show_info'],
987
+ 'image_aspect_ratio' => $settings['image_aspect_ratio'],
988
+ 'space' => $settings['space']['size'],
989
+ 'desktop_cnum' => $settings['columns'],
990
+ 'tablet_cnum' => $settings['columns_tablet'],
991
+ 'phone_cnum' => $settings['columns_mobile'],
992
+ 'layout' => 'grid',
993
+
994
+ 'loadmore_type' => $settings['loadmore_type'],
995
+ 'loadmore_label' => $settings['loadmore_label']
996
+ );
997
+
998
+ echo auxin_widget_recent_portfolios_grid_callback( $args );
999
+ }
1000
+
1001
+ }
includes/elements/elementor/recent-portfolios-masonry.php ADDED
@@ -0,0 +1,1016 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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\Group_Control_Image_Size;
8
+ use Elementor\Group_Control_Typography;
9
+ use Elementor\Scheme_Color;
10
+ use Elementor\Scheme_Typography;
11
+ use Elementor\Utils;
12
+ use Elementor\Control_Media;
13
+ use Elementor\Group_Control_Border;
14
+
15
+
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit; // Exit if accessed directly.
18
+ }
19
+
20
+ /**
21
+ * Elementor 'Recent_Portfolios_Masonry' widget.
22
+ *
23
+ * Elementor widget that displays an 'Recent_Portfolios_Masonry' with lightbox.
24
+ *
25
+ * @since 1.0.0
26
+ */
27
+ class Recent_Portfolios_Masonry extends Widget_Base {
28
+
29
+ /**
30
+ * Get widget name.
31
+ *
32
+ * Retrieve 'Recent_Portfolios_Masonry' widget name.
33
+ *
34
+ * @since 1.0.0
35
+ * @access public
36
+ *
37
+ * @return string Widget name.
38
+ */
39
+ public function get_name() {
40
+ return 'aux_recent_portfolios_masonry';
41
+ }
42
+
43
+ /**
44
+ * Get widget title.
45
+ *
46
+ * Retrieve 'Recent_Portfolios_Masonry' widget title.
47
+ *
48
+ * @since 1.0.0
49
+ * @access public
50
+ *
51
+ * @return string Widget title.
52
+ */
53
+ public function get_title() {
54
+ return __('Masonry Portfolios', 'auxin-portfolio' );
55
+ }
56
+
57
+ /**
58
+ * Get widget icon.
59
+ *
60
+ * Retrieve 'Recent_Portfolios_Masonry' widget icon.
61
+ *
62
+ * @since 1.0.0
63
+ * @access public
64
+ *
65
+ * @return string Widget icon.
66
+ */
67
+ public function get_icon() {
68
+ return 'eicon-posts-masonry';
69
+ }
70
+
71
+ /**
72
+ * Get widget categories.
73
+ *
74
+ * Retrieve 'Recent_Portfolios_Masonry' widget icon.
75
+ *
76
+ * @since 1.0.0
77
+ * @access public
78
+ *
79
+ * @return string Widget icon.
80
+ */
81
+ public function get_categories() {
82
+ return array( 'auxin-portfolio' );
83
+ }
84
+
85
+ /**
86
+ * Retrieve the terms in a given taxonomy or list of taxonomies.
87
+ *
88
+ * Retrieve 'Recent_Portfolios_Masonry' widget icon.
89
+ *
90
+ * @since 1.0.0
91
+ * @access public
92
+ *
93
+ * @return string Widget icon.
94
+ */
95
+ public function get_terms() {
96
+ // Get terms
97
+ $terms = get_terms(
98
+ array(
99
+ 'taxonomy' => 'portfolio-cat',
100
+ 'orderby' => 'count',
101
+ 'hide_empty' => true
102
+ )
103
+ );
104
+
105
+ // Then create a list
106
+ $list = array( ' ' => __('All Categories', 'auxin-portfolio' ) ) ;
107
+
108
+ if ( ! is_wp_error( $terms ) && is_array( $terms ) ){
109
+ foreach ( $terms as $key => $value ) {
110
+ $list[$value->term_id] = $value->name;
111
+ }
112
+ }
113
+
114
+ return $list;
115
+ }
116
+
117
+ /**
118
+ * Register 'Recent_Portfolios_Masonry' widget controls.
119
+ *
120
+ * Adds different input fields to allow the user to change and customize the widget settings.
121
+ *
122
+ * @since 1.0.0
123
+ * @access protected
124
+ */
125
+ protected function _register_controls() {
126
+
127
+ /*-------------------------------------------------------------------*/
128
+ /* Layout TAB
129
+ /*-------------------------------------------------------------------*/
130
+
131
+ $this->start_controls_section(
132
+ 'layout_section',
133
+ array(
134
+ 'label' => __('Layout', 'auxin-portfolio' ),
135
+ 'tab' => Controls_Manager::TAB_LAYOUT
136
+ )
137
+ );
138
+
139
+ $this->add_responsive_control(
140
+ 'columns',
141
+ array(
142
+ 'label' => __( 'Columns', 'auxin-portfolio' ),
143
+ 'type' => Controls_Manager::SELECT,
144
+ 'default' => '4',
145
+ 'tablet_default' => 'inherit',
146
+ 'mobile_default' => '1',
147
+ 'options' => array(
148
+ 'inherit' => __( 'Inherited from larger', 'auxin-portfolio' ),
149
+ '1' => '1',
150
+ '2' => '2',
151
+ '3' => '3',
152
+ '4' => '4',
153
+ '5' => '5',
154
+ '6' => '6'
155
+ ),
156
+ 'frontend_available' => true
157
+ )
158
+ );
159
+
160
+ $this->add_control(
161
+ 'display_title',
162
+ array(
163
+ 'label' => __('Display title', 'auxin-portfolio' ),
164
+ 'type' => Controls_Manager::SWITCHER,
165
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
166
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
167
+ 'default' => 'yes'
168
+ )
169
+ );
170
+
171
+ $this->add_control(
172
+ 'show_info',
173
+ array(
174
+ 'label' => __('Display Categories','auxin-portfolio' ),
175
+ 'type' => Controls_Manager::SWITCHER,
176
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
177
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
178
+ 'default' => 'yes'
179
+ )
180
+ );
181
+
182
+ $this->add_control(
183
+ 'display_like',
184
+ array(
185
+ 'label' => __('Display like button', 'auxin-portfolio' ),
186
+ 'type' => Controls_Manager::SWITCHER,
187
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
188
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
189
+ 'default' => 'no'
190
+ )
191
+ );
192
+
193
+ $this->add_control(
194
+ 'deeplink',
195
+ array(
196
+ 'label' => __('Deeplink', 'auxin-portfolio' ),
197
+ 'description' => __('Enables the deeplink feature, it updates URL based on page and filter status.', 'auxin-portfolio' ),
198
+ 'type' => Controls_Manager::SWITCHER,
199
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
200
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
201
+ 'default' => 'no'
202
+ )
203
+ );
204
+
205
+ $this->add_control(
206
+ 'deeplink_slug',
207
+ array(
208
+ 'label' => __('Deeplink slug', 'auxin-portfolio' ),
209
+ 'description' => __('Specifies the deeplink slug value in address bar.', 'auxin-portfolio' ),
210
+ 'type' => Controls_Manager::TEXT,
211
+ 'default' => '',
212
+ 'condition' => array(
213
+ 'deeplink' => 'yes'
214
+ )
215
+ )
216
+ );
217
+
218
+ $this->end_controls_section();
219
+
220
+ /*-------------------------------------------------------------------*/
221
+ /* Content TAB
222
+ /*-------------------------------------------------------------------*/
223
+
224
+ /* Query Section
225
+ /*-------------------------------------*/
226
+
227
+ $this->start_controls_section(
228
+ 'query_section',
229
+ array(
230
+ 'label' => __('Query', 'auxin-portfolio' ),
231
+ )
232
+ );
233
+
234
+ $this->add_control(
235
+ 'cat',
236
+ array(
237
+ 'label' => __('Categories', 'auxin-portfolio'),
238
+ 'description' => __('Specifies a category that you want to show posts from it.', 'auxin-portfolio' ),
239
+ 'type' => Controls_Manager::SELECT2,
240
+ 'multiple' => true,
241
+ 'options' => $this->get_terms(),
242
+ 'default' => array( ' ' ),
243
+ )
244
+ );
245
+
246
+ $this->add_control(
247
+ 'num',
248
+ array(
249
+ 'label' => __('Number of posts to show', 'auxin-portfolio'),
250
+ 'label_block' => true,
251
+ 'type' => Controls_Manager::NUMBER,
252
+ 'default' => '',
253
+ 'min' => 1,
254
+ 'step' => 1
255
+ )
256
+ );
257
+
258
+ $this->add_control(
259
+ 'exclude_without_media',
260
+ array(
261
+ 'label' => __('Exclude posts without media','auxin-portfolio' ),
262
+ 'type' => Controls_Manager::SWITCHER,
263
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
264
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
265
+ 'return_value' => 'yes',
266
+ 'default' => 'yes'
267
+ )
268
+ );
269
+
270
+ $this->add_control(
271
+ 'order_by',
272
+ array(
273
+ 'label' => __('Order by', 'auxin-portfolio'),
274
+ 'type' => Controls_Manager::SELECT,
275
+ 'default' => 'date',
276
+ 'options' => array(
277
+ 'date' => __('Date', 'auxin-portfolio'),
278
+ 'menu_order date' => __('Menu Order', 'auxin-portfolio'),
279
+ 'title' => __('Title', 'auxin-portfolio'),
280
+ 'ID' => __('ID', 'auxin-portfolio'),
281
+ 'rand' => __('Random', 'auxin-portfolio'),
282
+ 'comment_count' => __('Comments', 'auxin-portfolio'),
283
+ 'modified' => __('Date Modified', 'auxin-portfolio'),
284
+ 'author' => __('Author', 'auxin-portfolio'),
285
+ 'post__in' => __('Inserted Post IDs', 'auxin-portfolio')
286
+ ),
287
+ )
288
+ );
289
+
290
+ $this->add_control(
291
+ 'order',
292
+ array(
293
+ 'label' => __('Order', 'auxin-portfolio'),
294
+ 'type' => Controls_Manager::SELECT,
295
+ 'default' => 'DESC',
296
+ 'options' => array(
297
+ 'DESC' => __('Descending', 'auxin-portfolio'),
298
+ 'ASC' => __('Ascending', 'auxin-portfolio'),
299
+ ),
300
+ )
301
+ );
302
+
303
+ $this->add_control(
304
+ 'only_posts__in',
305
+ array(
306
+ 'label' => __('Only portfolios','auxin-portfolio' ),
307
+ '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' ),
308
+ 'type' => Controls_Manager::TEXT
309
+ )
310
+ );
311
+
312
+ $this->add_control(
313
+ 'include',
314
+ array(
315
+ 'label' => __('Include portfolios','auxin-portfolio' ),
316
+ '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' ),
317
+ 'type' => Controls_Manager::TEXT
318
+ )
319
+ );
320
+
321
+ $this->add_control(
322
+ 'exclude',
323
+ array(
324
+ 'label' => __('Exclude portfolios','auxin-portfolio' ),
325
+ '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' ),
326
+ 'type' => Controls_Manager::TEXT
327
+ )
328
+ );
329
+
330
+ $this->add_control(
331
+ 'offset',
332
+ array(
333
+ 'label' => __('Start offset','auxin-portfolio' ),
334
+ 'description' => __('Number of portfolios to display or pass over.', 'auxin-portfolio' ),
335
+ 'type' => Controls_Manager::NUMBER,
336
+ 'default' => ''
337
+ )
338
+ );
339
+
340
+ $this->end_controls_section();
341
+
342
+ /*-------------------------------------------------------------------*/
343
+ /* Settings TAB
344
+ /*-------------------------------------------------------------------*/
345
+
346
+ /* Filters Section
347
+ /*-------------------------------------*/
348
+
349
+ $this->start_controls_section(
350
+ 'filters_section',
351
+ array(
352
+ 'label' => __('Filters', 'auxin-portfolio' ),
353
+ 'tab' => Controls_Manager::TAB_SETTINGS
354
+ )
355
+ );
356
+
357
+ $this->add_control(
358
+ 'show_filters',
359
+ array(
360
+ 'label' => __('Display filters','auxin-portfolio' ),
361
+ 'type' => Controls_Manager::SWITCHER,
362
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
363
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
364
+ 'return_value' => 'yes',
365
+ 'default' => 'yes'
366
+ )
367
+ );
368
+
369
+ $this->add_control(
370
+ 'filter_by',
371
+ array(
372
+ 'label' => __('Filter By', 'auxin-portfolio'),
373
+ 'description' => __('Filter by categories or tags', 'auxin-portfolio' ),
374
+ 'type' => Controls_Manager::SELECT,
375
+ 'default' => 'portfolio-cat',
376
+ 'options' => array(
377
+ 'portfolio-filter' => __('Filter', 'auxin-portfolio'),
378
+ 'portfolio-cat' => __('Category', 'auxin-portfolio'),
379
+ 'portfolio-tag' => __('Tag', 'auxin-portfolio')
380
+ ),
381
+ 'condition' => array(
382
+ 'show_filters' => 'yes'
383
+ )
384
+ )
385
+ );
386
+
387
+ $this->add_control(
388
+ 'filter_align',
389
+ array(
390
+ 'label' => __('Filter Control Alignment', 'auxin-portfolio'),
391
+ 'description' => __('Filter by categories or tags', 'auxin-portfolio' ),
392
+ 'type' => Controls_Manager::CHOOSE,
393
+ 'style_items' => 'max-width:30%;',
394
+ 'default' => 'aux-left',
395
+ 'options' => array(
396
+ 'aux-left' => array(
397
+ 'title' => __( 'Left', 'auxin-portfolio' ),
398
+ 'icon' => 'fa fa-align-left',
399
+ ),
400
+ 'aux-center' => array(
401
+ 'title' => __( 'Center', 'auxin-portfolio' ),
402
+ 'icon' => 'fa fa-align-center',
403
+ ),
404
+ 'aux-right' => array(
405
+ 'title' => __( 'Right', 'auxin-portfolio' ),
406
+ 'icon' => 'fa fa-align-right',
407
+ )
408
+ ),
409
+ 'devices' => array('desktop'),
410
+ 'condition' => array(
411
+ 'show_filters' => 'yes'
412
+ )
413
+ )
414
+ );
415
+
416
+ $this->add_control(
417
+ 'filter_style',
418
+ array(
419
+ 'label' => __('Filter Buttom Style', 'auxin-portfolio'),
420
+ 'description' => __('Style of filter buttons.', 'auxin-portfolio' ),
421
+ 'type' => 'aux-visual-select',
422
+ 'default' => 'aux-slideup',
423
+ 'style_items' => 'max-width:200px;',
424
+ 'options' => array(
425
+ 'aux-slideup' => array(
426
+ 'label' => __('Slide up' , 'auxin-portfolio'),
427
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterSlideUp2.webm webm'
428
+ ),
429
+ 'aux-fill' => array(
430
+ 'label' => __('Fill' , 'auxin-portfolio'),
431
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterFill.webm webm'
432
+ ),
433
+ 'aux-cube' => array(
434
+ 'label' => __('Cube' , 'auxin-portfolio'),
435
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterCube.webm webm'
436
+ ),
437
+ 'aux-underline' => array(
438
+ 'label' => __('Underline' , 'auxin-portfolio'),
439
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.mp4 mp4'
440
+ ),
441
+ 'aux-overlay' => array(
442
+ 'label' => __('Float frame' , 'auxin-portfolio'),
443
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterFloatFrame.webm webm'
444
+ ),
445
+ 'aux-bordered' => array(
446
+ 'label' => __('Borderd' , 'auxin-portfolio'),
447
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterBordered.mp4 mp4'
448
+ ),
449
+ 'aux-overlay aux-underline-anim' => array(
450
+ 'label' => __('Float underline' , 'auxin-portfolio'),
451
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.webm webm'
452
+ ),
453
+ 'aux-dropdown-filter' => array(
454
+ 'label' => __('DropDown' , 'auxin-portfolio'),
455
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.webm webm'
456
+ )
457
+ ),
458
+ 'condition' => array(
459
+ 'show_filters' => 'yes'
460
+ )
461
+ )
462
+ );
463
+
464
+ $this->end_controls_section();
465
+
466
+ /* Transition Section
467
+ /*-------------------------------------*/
468
+
469
+ $this->start_controls_section(
470
+ 'transition_section',
471
+ array(
472
+ 'label' => __('Transition', 'auxin-portfolio' ),
473
+ 'tab' => Controls_Manager::TAB_SETTINGS
474
+ )
475
+ );
476
+
477
+ $this->add_control(
478
+ 'reveal_transition_duration',
479
+ array(
480
+ 'label' => __('Transition duration on reveal','auxin-portfolio' ),
481
+ 'description' => __('The transition duration while the element is going to be appeared (milliseconds).'),
482
+ 'label_block' => true,
483
+ 'type' => Controls_Manager::NUMBER,
484
+ 'default' => '600'
485
+ )
486
+ );
487
+
488
+ $this->add_control(
489
+ 'reveal_between_delay',
490
+ array(
491
+ 'label' => __('Delay between reveal','auxin-portfolio' ),
492
+ 'description' => __('The delay between each sequence of revealing transitions (milliseconds).'),
493
+ 'label_block' => true,
494
+ 'type' => Controls_Manager::NUMBER,
495
+ 'default' => '60'
496
+ )
497
+ );
498
+
499
+ $this->add_control(
500
+ 'hide_transition_duration',
501
+ array(
502
+ 'label' => __('Transition duration on hide','auxin-portfolio' ),
503
+ 'description' => __('The transition duration while the element is going to be hidden (milliseconds).'),
504
+ 'label_block' => true,
505
+ 'type' => Controls_Manager::NUMBER,
506
+ 'default' => '600'
507
+ )
508
+ );
509
+
510
+ $this->add_control(
511
+ 'hide_between_delay',
512
+ array(
513
+ 'label' => __('Delay between hide','auxin-portfolio' ),
514
+ 'description' => __('The delay between each sequence of hiding transitions (milliseconds).'),
515
+ 'label_block' => true,
516
+ 'type' => Controls_Manager::NUMBER,
517
+ 'default' => '30'
518
+ )
519
+ );
520
+
521
+ $this->end_controls_section();
522
+
523
+ /* Pagination Section
524
+ /*-------------------------------------*/
525
+
526
+ $this->start_controls_section(
527
+ 'paginate_section',
528
+ array(
529
+ 'label' => __('Paginate', 'auxin-portfolio' ),
530
+ 'tab' => Controls_Manager::TAB_SETTINGS
531
+ )
532
+ );
533
+
534
+ $this->add_control(
535
+ 'paginate',
536
+ array(
537
+ 'label' => __('Paginate','auxin-portfolio' ),
538
+ 'description' => __('Paginates the portfolio items', 'auxin-portfolio' ),
539
+ 'type' => Controls_Manager::SWITCHER,
540
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
541
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
542
+ 'default' => 'yes'
543
+ )
544
+ );
545
+
546
+ $this->add_control(
547
+ 'perpage',
548
+ array(
549
+ 'label' => __('Items number perpage', 'auxin-portfolio' ),
550
+ 'label_block' => true,
551
+ 'type' => Controls_Manager::NUMBER,
552
+ 'default' => '10',
553
+ 'condition' => array(
554
+ 'paginate' => 'yes'
555
+ )
556
+ )
557
+ );
558
+
559
+ $this->add_control(
560
+ 'loadmore_type',
561
+ array(
562
+ 'label' => __('Load More Type','auxin-portfolio' ),
563
+ 'type' => 'aux-visual-select',
564
+ 'options' => array(
565
+ '' => array(
566
+ 'label' => __('None', 'auxin-portfolio' ),
567
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-none.svg'
568
+ ),
569
+ 'scroll' => array(
570
+ 'label' => __('Infinite Scroll', 'auxin-portfolio' ),
571
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-infinite.svg'
572
+ ),
573
+ 'next' => array(
574
+ 'label' => __('Next Button', 'auxin-portfolio' ),
575
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-button.svg'
576
+ ),
577
+ 'next-prev' => array(
578
+ 'label' => __('Next Prev', 'auxin-portfolio' ),
579
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-next-prev.svg'
580
+ )
581
+ ),
582
+ 'default' => '',
583
+ 'condition' => array(
584
+ 'paginate' => 'no'
585
+ )
586
+ )
587
+ );
588
+
589
+ $this->add_control(
590
+ 'loadmore_label',
591
+ array(
592
+ 'label' => __('Load More Label', 'auxin-portfolio' ),
593
+ 'type' => Controls_Manager::SELECT,
594
+ 'default' => 'text',
595
+ 'options' => array(
596
+ 'text' => __('Text', 'auxin-portfolio'),
597
+ 'arrow' => __('Arrow', 'auxin-portfolio'),
598
+ 'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
599
+ ),
600
+ 'condition' => array(
601
+ 'paginate' => 'no'
602
+ )
603
+ )
604
+ );
605
+
606
+ $this->add_control(
607
+ 'loadmore_per_page',
608
+ array(
609
+ 'label' => __('Load More Per Page', 'auxin-portfolio' ),
610
+ 'type' => Controls_Manager::NUMBER,
611
+ 'default' => '',
612
+ 'condition' => array(
613
+ 'paginate' => 'no'
614
+ )
615
+ )
616
+ );
617
+
618
+ $this->end_controls_section();
619
+
620
+ /*-------------------------------------------------------------------*/
621
+ /* Style TAB
622
+ /*-------------------------------------------------------------------*/
623
+
624
+ /* Image Section
625
+ /*-------------------------------------*/
626
+
627
+ $this->start_controls_section(
628
+ 'image_style_section',
629
+ array(
630
+ 'label' => __( 'Image', 'auxin-portfolio' ),
631
+ 'tab' => Controls_Manager::TAB_STYLE
632
+ )
633
+ );
634
+
635
+ $this->add_control(
636
+ 'space',
637
+ array(
638
+ 'label' => __('Space', 'auxin-portfolio' ),
639
+ 'description' => __('Specifies space between items in pixels.', 'auxin-portfolio' ),
640
+ 'type' => Controls_Manager::SLIDER,
641
+ 'range' => array(
642
+ 'px' => array(
643
+ 'max' => 100
644
+ )
645
+ )
646
+ )
647
+ );
648
+
649
+ /*
650
+ $this->add_control(
651
+ 'image_aspect_ratio',
652
+ array(
653
+ 'label' => __('Image aspect ratio', 'auxin-portfolio'),
654
+ 'type' => Controls_Manager::SELECT,
655
+ 'default' => '0.75',
656
+ 'options' => array(
657
+ '0.75' => __('Horizontal 4:3' , 'auxin-portfolio'),
658
+ '0.56' => __('Horizontal 16:9', 'auxin-portfolio'),
659
+ '1.00' => __('Square 1:1' , 'auxin-portfolio'),
660
+ '1.33' => __('Vertical 3:4' , 'auxin-portfolio')
661
+ )
662
+ )
663
+ );
664
+ */
665
+
666
+ $this->add_control(
667
+ 'item_style',
668
+ array(
669
+ 'label' => __('Hover Type','auxin-portfolio' ),
670
+ 'description' => __('Move your mouse over each item in order to preview the hover effect.','auxin-portfolio' ),
671
+ 'type' => 'aux-visual-select',
672
+ 'style_items' => 'max-width:48%; min-height:90px;',
673
+ 'options' => array(
674
+ 'classic' => array(
675
+ 'label' => __('No animation' , 'auxin-portfolio'),
676
+ 'image' => AUXPFO_ADMIN_URL . '/assets/images/ClassicLightbox.png'
677
+ ),
678
+ 'classic-lightbox' => array(
679
+ 'label' => __('Classic with lightbox style 1' , 'auxin-portfolio'),
680
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/ClassicLightbox1.webm webm'
681
+ ),
682
+ 'classic-lightbox-boxed' => array(
683
+ 'label' => __('Classic with lightbox style 2' , 'auxin-portfolio'),
684
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/ClassicLightbox2.webm webm'
685
+ ),
686
+ 'overlay' => array(
687
+ 'label' => __('Overlay title style 1', 'auxin-portfolio'),
688
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitle1.webm webm'
689
+ ),
690
+ 'overlay-boxed' => array(
691
+ 'label' => __('Overlay title style 2', 'auxin-portfolio'),
692
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitle2.webm webm'
693
+ ),
694
+ 'overlay-lightbox' => array(
695
+ 'label' => __('Overlay title with lightbox style 1', 'auxin-portfolio'),
696
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitleLightbox1.webm webm'
697
+ ),
698
+ 'overlay-lightbox-boxed' => array(
699
+ 'label' => __('Overlay title with lightbox style 2', 'auxin-portfolio'),
700
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/OverlayTitleLightbox2.webm webm'
701
+ )
702
+ ),
703
+ 'default' => 'classic'
704
+ )
705
+ );
706
+
707
+ $this->add_control(
708
+ 'img_border_radius',
709
+ array(
710
+ 'label' => __( 'Border Radius', 'auxin-portfolio' ),
711
+ 'type' => Controls_Manager::DIMENSIONS,
712
+ 'size_units' => array( 'px', '%' ),
713
+ 'selectors' => array(
714
+ '{{WRAPPER}} .aux-media-image' => 'border-radius: {{TOP}}{{UNIT}} {{RIGHT}}{{UNIT}} {{BOTTOM}}{{UNIT}} {{LEFT}}{{UNIT}} !important;',
715
+ )
716
+ )
717
+ );
718
+
719
+ $this->end_controls_section();
720
+
721
+
722
+ /* Title Section
723
+ /*-------------------------------------*/
724
+
725
+ $this->start_controls_section(
726
+ 'title_style_section',
727
+ array(
728
+ 'label' => __( 'Title', 'auxin-portfolio' ),
729
+ 'tab' => Controls_Manager::TAB_STYLE,
730
+ 'conditions' => array(
731
+ 'relation' => 'or',
732
+ 'terms' => array(
733
+ array(
734
+ 'name' => 'display_title',
735
+ 'operator' => '===',
736
+ 'value' => 'yes',
737
+ )
738
+ ),
739
+ ),
740
+ )
741
+ );
742
+
743
+ // Title heading
744
+
745
+ $this->start_controls_tabs( 'title_colors' );
746
+
747
+ $this->start_controls_tab(
748
+ 'title_color_normal',
749
+ array(
750
+ 'label' => __( 'Normal' , 'auxin-portfolio' ),
751
+ 'condition' => array(
752
+ 'display_title' => 'yes'
753
+ )
754
+ )
755
+ );
756
+
757
+ $this->add_control(
758
+ 'title_color',
759
+ array(
760
+ 'label' => __( 'Color', 'auxin-portfolio' ),
761
+ 'type' => Controls_Manager::COLOR,
762
+ 'selectors' => array(
763
+ '{{WRAPPER}} .aux-portfolio-item-title a' => 'color: {{VALUE}};',
764
+ ),
765
+ 'condition' => array(
766
+ 'display_title' => 'yes'
767
+ )
768
+ )
769
+ );
770
+
771
+ $this->end_controls_tab();
772
+
773
+ $this->start_controls_tab(
774
+ 'title_color_hover',
775
+ array(
776
+ 'label' => __( 'Hover' , 'auxin-portfolio' ),
777
+ 'condition' => array(
778
+ 'display_title' => 'yes'
779
+ )
780
+ )
781
+ );
782
+
783
+ $this->add_control(
784
+ 'title_hover_color',
785
+ array(
786
+ 'label' => __( 'Color', 'auxin-portfolio' ),
787
+ 'type' => Controls_Manager::COLOR,
788
+ 'selectors' => array(
789
+ '{{WRAPPER}} .aux-portfolio-item-title a:hover' => 'color:{{VALUE}};',
790
+ ),
791
+ 'condition' => array(
792
+ 'display_title' => 'yes'
793
+ )
794
+ )
795
+ );
796
+
797
+ $this->end_controls_tab();
798
+
799
+ $this->end_controls_tabs();
800
+
801
+ $this->add_group_control(
802
+ Group_Control_Typography::get_type(),
803
+ array(
804
+ 'name' => 'title_typography',
805
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
806
+ 'selector' => '{{WRAPPER}} .aux-portfolio-item-title',
807
+ 'condition' => array(
808
+ 'display_title' => 'yes'
809
+ )
810
+ )
811
+ );
812
+
813
+ $this->add_responsive_control(
814
+ 'title_margin_bottom',
815
+ array(
816
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
817
+ 'type' => Controls_Manager::SLIDER,
818
+ 'range' => array(
819
+ 'px' => array(
820
+ 'max' => 100,
821
+ ),
822
+ ),
823
+ 'selectors' => array(
824
+ '{{WRAPPER}} .aux-portfolio-item-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
825
+ ),
826
+ 'condition' => array(
827
+ 'display_title' => 'yes'
828
+ )
829
+ )
830
+ );
831
+
832
+ $this->end_controls_section();
833
+
834
+
835
+ /* Categories Section
836
+ /*-------------------------------------*/
837
+
838
+ $this->start_controls_section(
839
+ 'info_style_section',
840
+ array(
841
+ 'label' => __( 'Categories', 'auxin-portfolio' ),
842
+ 'tab' => Controls_Manager::TAB_STYLE,
843
+ 'conditions' => array(
844
+ 'relation' => 'or',
845
+ 'terms' => array(
846
+ array(
847
+ 'name' => 'show_info',
848
+ 'operator' => '===',
849
+ 'value' => 'yes',
850
+ )
851
+ ),
852
+ ),
853
+ )
854
+ );
855
+
856
+ $this->start_controls_tabs( 'info_colors' );
857
+
858
+ $this->start_controls_tab(
859
+ 'info_color_normal',
860
+ array(
861
+ 'label' => __( 'Normal' , 'auxin-portfolio' ),
862
+ 'condition' => array(
863
+ 'show_info' => 'yes'
864
+ )
865
+ )
866
+ );
867
+
868
+ $this->add_control(
869
+ 'info_color',
870
+ array(
871
+ 'label' => __( 'Color', 'auxin-portfolio' ),
872
+ 'type' => Controls_Manager::COLOR,
873
+ 'selectors' => array(
874
+ '{{WRAPPER}} .entry-tax a' => 'color: {{VALUE}};',
875
+ ),
876
+ 'condition' => array(
877
+ 'show_info' => 'yes'
878
+ )
879
+ )
880
+ );
881
+
882
+ $this->end_controls_tab();
883
+
884
+ $this->start_controls_tab(
885
+ 'info_color_hover',
886
+ array(
887
+ 'label' => __( 'Hover' , 'auxin-portfolio' ),
888
+ 'condition' => array(
889
+ 'show_info' => 'yes'
890
+ )
891
+ )
892
+ );
893
+
894
+ $this->add_control(
895
+ 'info_hover_color',
896
+ array(
897
+ 'label' => __( 'Color', 'auxin-portfolio' ),
898
+ 'type' => Controls_Manager::COLOR,
899
+ 'selectors' => array(
900
+ '{{WRAPPER}} .entry-tax a:hover' => 'color: {{VALUE}};',
901
+ ),
902
+ 'condition' => array(
903
+ 'show_info' => 'yes'
904
+ )
905
+ )
906
+ );
907
+
908
+ $this->end_controls_tab();
909
+
910
+ $this->end_controls_tabs();
911
+
912
+ $this->add_group_control(
913
+ Group_Control_Typography::get_type(),
914
+ array(
915
+ 'name' => 'info_typography',
916
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
917
+ 'selector' => '{{WRAPPER}} .entry-tax',
918
+ 'condition' => array(
919
+ 'show_info' => 'yes'
920
+ )
921
+ )
922
+ );
923
+
924
+ $this->add_responsive_control(
925
+ 'info_margin_bottom',
926
+ array(
927
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
928
+ 'type' => Controls_Manager::SLIDER,
929
+ 'range' => array(
930
+ 'px' => array(
931
+ 'max' => 100
932
+ )
933
+ ),
934
+ 'selectors' => array(
935
+ '{{WRAPPER}} .entry-tax' => 'margin-bottom: {{SIZE}}{{UNIT}};'
936
+ ),
937
+ 'condition' => array(
938
+ 'show_info' => 'yes'
939
+ )
940
+ )
941
+ );
942
+
943
+ $this->add_responsive_control(
944
+ 'info_spacing_between',
945
+ array(
946
+ 'label' => __( 'Space between metas', 'auxin-portfolio' ),
947
+ 'type' => Controls_Manager::SLIDER,
948
+ 'range' => array(
949
+ 'px' => array(
950
+ 'max' => 30
951
+ )
952
+ ),
953
+ 'selectors' => array(
954
+ '{{WRAPPER}} .entry-tax a:after' => 'margin-right: {{SIZE}}{{UNIT}}; margin-left: {{SIZE}}{{UNIT}};'
955
+ )
956
+ )
957
+ );
958
+
959
+ $this->end_controls_section();
960
+ }
961
+
962
+ /**
963
+ * Render image box widget output on the frontend.
964
+ *
965
+ * Written in PHP and used to generate the final HTML.
966
+ *
967
+ * @since 1.0.0
968
+ * @access protected
969
+ */
970
+ protected function render() {
971
+
972
+ $settings = $this->get_settings_for_display();
973
+
974
+ $args = array(
975
+ 'cat' => $settings['cat'],
976
+ 'num' => $settings['num'],
977
+ 'only_posts__in' => $settings['only_posts__in'],
978
+ 'include' => $settings['include'],
979
+ 'exclude' => $settings['exclude'],
980
+ 'offset' => $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' => $settings['reveal_transition_duration'],
992
+ 'reveal_between_delay' => $settings['reveal_between_delay'],
993
+ 'hide_transition_duration' => $settings['hide_transition_duration'],
994
+ 'hide_between_delay' => $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' => $settings['space']['size'],
1004
+ 'desktop_cnum' => $settings['columns'],
1005
+ 'tablet_cnum' => $settings['columns_tablet'],
1006
+ 'phone_cnum' => $settings['columns_mobile'],
1007
+ 'layout' => 'masonry',
1008
+
1009
+ 'loadmore_type' => $settings['loadmore_type'],
1010
+ 'loadmore_label' => $settings['loadmore_label']
1011
+ );
1012
+
1013
+ echo auxin_widget_recent_portfolios_grid_callback( $args );
1014
+ }
1015
+
1016
+ }
includes/elements/elementor/recent-portfolios-tile.php ADDED
@@ -0,0 +1,953 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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\Group_Control_Image_Size;
8
+ use Elementor\Group_Control_Typography;
9
+ use Elementor\Scheme_Color;
10
+ use Elementor\Scheme_Typography;
11
+ use Elementor\Utils;
12
+ use Elementor\Control_Media;
13
+ use Elementor\Group_Control_Border;
14
+
15
+
16
+ if ( ! defined( 'ABSPATH' ) ) {
17
+ exit; // Exit if accessed directly.
18
+ }
19
+
20
+ /**
21
+ * Elementor 'Recent_Portfolios_Tile' widget.
22
+ *
23
+ * Elementor widget that displays an 'Recent_Portfolios_Tile' with lightbox.
24
+ *
25
+ * @since 1.0.0
26
+ */
27
+ class Recent_Portfolios_Tile extends Widget_Base {
28
+
29
+ /**
30
+ * Get widget name.
31
+ *
32
+ * Retrieve 'Recent_Portfolios_Tile' widget name.
33
+ *
34
+ * @since 1.0.0
35
+ * @access public
36
+ *
37
+ * @return string Widget name.
38
+ */
39
+ public function get_name() {
40
+ return 'aux_recent_portfolios_tile';
41
+ }
42
+
43
+ /**
44
+ * Get widget title.
45
+ *
46
+ * Retrieve 'Recent_Portfolios_Tile' widget title.
47
+ *
48
+ * @since 1.0.0
49
+ * @access public
50
+ *
51
+ * @return string Widget title.
52
+ */
53
+ public function get_title() {
54
+ return __('Tiles Portfolios', 'auxin-portfolio' );
55
+ }
56
+
57
+ /**
58
+ * Get widget icon.
59
+ *
60
+ * Retrieve 'Recent_Portfolios_Tile' widget icon.
61
+ *
62
+ * @since 1.0.0
63
+ * @access public
64
+ *
65
+ * @return string Widget icon.
66
+ */
67
+ public function get_icon() {
68
+ return 'eicon-posts-group';
69
+ }
70
+
71
+ /**
72
+ * Get widget categories.
73
+ *
74
+ * Retrieve 'Recent_Portfolios_Tile' widget icon.
75
+ *
76
+ * @since 1.0.0
77
+ * @access public
78
+ *
79
+ * @return string Widget icon.
80
+ */
81
+ public function get_categories() {
82
+ return array( 'auxin-portfolio' );
83
+ }
84
+
85
+ /**
86
+ * Retrieve the terms in a given taxonomy or list of taxonomies.
87
+ *
88
+ * Retrieve 'Recent_Portfolios_Tile' widget icon.
89
+ *
90
+ * @since 1.0.0
91
+ * @access public
92
+ *
93
+ * @return string Widget icon.
94
+ */
95
+ public function get_terms() {
96
+ // Get terms
97
+ $terms = get_terms(
98
+ array(
99
+ 'taxonomy' => 'portfolio-cat',
100
+ 'orderby' => 'count',
101
+ 'hide_empty' => true
102
+ )
103
+ );
104
+
105
+ // Then create a list
106
+ $list = array( ' ' => __('All Categories', 'auxin-portfolio' ) ) ;
107
+
108
+ if ( ! is_wp_error( $terms ) && is_array( $terms ) ){
109
+ foreach ( $terms as $key => $value ) {
110
+ $list[$value->term_id] = $value->name;
111
+ }
112
+ }
113
+
114
+ return $list;
115
+ }
116
+
117
+ /**
118
+ * Register 'Recent_Portfolios_Tile' widget controls.
119
+ *
120
+ * Adds different input fields to allow the user to change and customize the widget settings.
121
+ *
122
+ * @since 1.0.0
123
+ * @access protected
124
+ */
125
+ protected function _register_controls() {
126
+
127
+ /*-------------------------------------------------------------------*/
128
+ /* Layout TAB
129
+ /*-------------------------------------------------------------------*/
130
+
131
+ $this->start_controls_section(
132
+ 'layout_section',
133
+ array(
134
+ 'label' => __('Layout', 'auxin-portfolio' ),
135
+ 'tab' => Controls_Manager::TAB_LAYOUT
136
+ )
137
+ );
138
+
139
+ $this->add_control(
140
+ 'tile_style_pattern',
141
+ array(
142
+ 'label' => __('Post tile styles','auxin-portfolio' ),
143
+ 'description' => __('Move your mouse over each item in order to preview the hover effect.','auxin-portfolio' ),
144
+ 'style_items' => 'max-width:31%;',
145
+ 'type' => 'aux-visual-select',
146
+ 'options' => array(
147
+ 'default' => array(
148
+ 'label' => __( 'Default', 'auxin-portfolio' ),
149
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-5.svg'
150
+ ),
151
+ 'pattern-1' => array(
152
+ 'label' => __( 'Pattern 1', 'auxin-portfolio' ),
153
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-3.svg'
154
+ ),
155
+ 'pattern-2' => array(
156
+ 'label' => __( 'Pattern 2', 'auxin-portfolio' ),
157
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-6.svg'
158
+ ),
159
+ 'pattern-3' => array(
160
+ 'label' => __( 'Pattern 3', 'auxin-portfolio' ),
161
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-7.svg'
162
+ ),
163
+ 'pattern-4' => array(
164
+ 'label' => __( 'Pattern 4', 'auxin-portfolio' ),
165
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-8.svg'
166
+ ),
167
+ 'pattern-5' => array(
168
+ 'label' => __( 'Pattern 5', 'auxin-portfolio' ),
169
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-4.svg'
170
+ ),
171
+ 'pattern-6' => array(
172
+ 'label' => __('Pattern 6', 'auxin-portfolio' ),
173
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-1.svg'
174
+ ),
175
+ 'pattern-7' => array(
176
+ 'label' => __('Pattern 7', 'auxin-portfolio' ),
177
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-2.svg'
178
+ ),
179
+ 'pattern-8' => array(
180
+ 'label' => __('Pattern 8', 'auxin-portfolio' ),
181
+ 'image' => AUXELS_ADMIN_URL . '/assets/images/visual-select/tile-2.svg'
182
+ )
183
+ ),
184
+ 'default' => 'default'
185
+ )
186
+ );
187
+
188
+ $this->add_control(
189
+ 'display_title',
190
+ array(
191
+ 'label' => __('Display title', 'auxin-portfolio' ),
192
+ 'type' => Controls_Manager::SWITCHER,
193
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
194
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
195
+ 'default' => 'yes'
196
+ )
197
+ );
198
+
199
+ $this->add_control(
200
+ 'show_info',
201
+ array(
202
+ 'label' => __('Display Categories','auxin-portfolio' ),
203
+ 'type' => Controls_Manager::SWITCHER,
204
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
205
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
206
+ 'default' => 'yes'
207
+ )
208
+ );
209
+
210
+ $this->add_control(
211
+ 'deeplink',
212
+ array(
213
+ 'label' => __('Deeplink', 'auxin-portfolio' ),
214
+ 'description' => __('Enables the deeplink feature, it updates URL based on page and filter status.', 'auxin-portfolio' ),
215
+ 'type' => Controls_Manager::SWITCHER,
216
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
217
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
218
+ 'default' => 'no'
219
+ )
220
+ );
221
+
222
+ $this->add_control(
223
+ 'deeplink_slug',
224
+ array(
225
+ 'label' => __('Deeplink slug', 'auxin-portfolio' ),
226
+ 'description' => __('Specifies the deeplink slug value in address bar.', 'auxin-portfolio' ),
227
+ 'type' => Controls_Manager::TEXT,
228
+ 'default' => '',
229
+ 'condition' => array(
230
+ 'deeplink' => 'yes'
231
+ )
232
+ )
233
+ );
234
+
235
+ $this->end_controls_section();
236
+
237
+ /*-------------------------------------------------------------------*/
238
+ /* Content TAB
239
+ /*-------------------------------------------------------------------*/
240
+
241
+ /* Query Section
242
+ /*-------------------------------------*/
243
+
244
+ $this->start_controls_section(
245
+ 'query_section',
246
+ array(
247
+ 'label' => __('Query', 'auxin-portfolio' ),
248
+ )
249
+ );
250
+
251
+ $this->add_control(
252
+ 'cat',
253
+ array(
254
+ 'label' => __('Categories', 'auxin-portfolio'),
255
+ 'description' => __('Specifies a category that you want to show posts from it.', 'auxin-portfolio' ),
256
+ 'type' => Controls_Manager::SELECT2,
257
+ 'multiple' => true,
258
+ 'options' => $this->get_terms(),
259
+ 'default' => array( ' ' ),
260
+ )
261
+ );
262
+
263
+ $this->add_control(
264
+ 'num',
265
+ array(
266
+ 'label' => __('Number of posts to show', 'auxin-portfolio'),
267
+ 'label_block' => true,
268
+ 'type' => Controls_Manager::NUMBER,
269
+ 'default' => '',
270
+ 'min' => 1,
271
+ 'step' => 1
272
+ )
273
+ );
274
+
275
+ $this->add_control(
276
+ 'exclude_without_media',
277
+ array(
278
+ 'label' => __('Exclude posts without media','auxin-portfolio' ),
279
+ 'type' => Controls_Manager::SWITCHER,
280
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
281
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
282
+ 'return_value' => 'yes',
283
+ 'default' => 'yes'
284
+ )
285
+ );
286
+
287
+ $this->add_control(
288
+ 'order_by',
289
+ array(
290
+ 'label' => __('Order by', 'auxin-portfolio'),
291
+ 'type' => Controls_Manager::SELECT,
292
+ 'default' => 'date',
293
+ 'options' => array(
294
+ 'date' => __('Date', 'auxin-portfolio'),
295
+ 'menu_order date' => __('Menu Order', 'auxin-portfolio'),
296
+ 'title' => __('Title', 'auxin-portfolio'),
297
+ 'ID' => __('ID', 'auxin-portfolio'),
298
+ 'rand' => __('Random', 'auxin-portfolio'),
299
+ 'comment_count' => __('Comments', 'auxin-portfolio'),
300
+ 'modified' => __('Date Modified', 'auxin-portfolio'),
301
+ 'author' => __('Author', 'auxin-portfolio'),
302
+ 'post__in' => __('Inserted Post IDs', 'auxin-portfolio')
303
+ ),
304
+ )
305
+ );
306
+
307
+ $this->add_control(
308
+ 'order',
309
+ array(
310
+ 'label' => __('Order', 'auxin-portfolio'),
311
+ 'type' => Controls_Manager::SELECT,
312
+ 'default' => 'DESC',
313
+ 'options' => array(
314
+ 'DESC' => __('Descending', 'auxin-portfolio'),
315
+ 'ASC' => __('Ascending', 'auxin-portfolio'),
316
+ ),
317
+ )
318
+ );
319
+
320
+ $this->add_control(
321
+ 'only_posts__in',
322
+ array(
323
+ 'label' => __('Only portfolios','auxin-portfolio' ),
324
+ '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' ),
325
+ 'type' => Controls_Manager::TEXT
326
+ )
327
+ );
328
+
329
+ $this->add_control(
330
+ 'include',
331
+ array(
332
+ 'label' => __('Include portfolios','auxin-portfolio' ),
333
+ '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' ),
334
+ 'type' => Controls_Manager::TEXT
335
+ )
336
+ );
337
+
338
+ $this->add_control(
339
+ 'exclude',
340
+ array(
341
+ 'label' => __('Exclude portfolios','auxin-portfolio' ),
342
+ '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' ),
343
+ 'type' => Controls_Manager::TEXT
344
+ )
345
+ );
346
+
347
+ $this->add_control(
348
+ 'offset',
349
+ array(
350
+ 'label' => __('Start offset','auxin-portfolio' ),
351
+ 'description' => __('Number of portfolios to display or pass over.', 'auxin-portfolio' ),
352
+ 'type' => Controls_Manager::NUMBER,
353
+ 'default' => ''
354
+ )
355
+ );
356
+
357
+ $this->end_controls_section();
358
+
359
+ /*-------------------------------------------------------------------*/
360
+ /* Settings TAB
361
+ /*-------------------------------------------------------------------*/
362
+
363
+ /* Filters Section
364
+ /*-------------------------------------*/
365
+
366
+ $this->start_controls_section(
367
+ 'filters_section',
368
+ array(
369
+ 'label' => __('Filters', 'auxin-portfolio' ),
370
+ 'tab' => Controls_Manager::TAB_SETTINGS
371
+ )
372
+ );
373
+
374
+ $this->add_control(
375
+ 'show_filters',
376
+ array(
377
+ 'label' => __('Display filters','auxin-portfolio' ),
378
+ 'type' => Controls_Manager::SWITCHER,
379
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
380
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
381
+ 'return_value' => 'yes',
382
+ 'default' => 'yes'
383
+ )
384
+ );
385
+
386
+ $this->add_control(
387
+ 'filter_by',
388
+ array(
389
+ 'label' => __('Filter By', 'auxin-portfolio'),
390
+ 'description' => __('Filter by categories or tags', 'auxin-portfolio' ),
391
+ 'type' => Controls_Manager::SELECT,
392
+ 'default' => 'portfolio-cat',
393
+ 'options' => array(
394
+ 'portfolio-filter' => __('Filter', 'auxin-portfolio'),
395
+ 'portfolio-cat' => __('Category', 'auxin-portfolio'),
396
+ 'portfolio-tag' => __('Tag', 'auxin-portfolio')
397
+ ),
398
+ 'condition' => array(
399
+ 'show_filters' => 'yes'
400
+ )
401
+ )
402
+ );
403
+
404
+ $this->add_control(
405
+ 'filter_align',
406
+ array(
407
+ 'label' => __('Filter Control Alignment', 'auxin-portfolio'),
408
+ 'description' => __('Filter by categories or tags', 'auxin-portfolio' ),
409
+ 'type' => Controls_Manager::CHOOSE,
410
+ 'style_items' => 'max-width:30%;',
411
+ 'default' => 'aux-left',
412
+ 'options' => array(
413
+ 'aux-left' => array(
414
+ 'title' => __( 'Left', 'auxin-portfolio' ),
415
+ 'icon' => 'fa fa-align-left',
416
+ ),
417
+ 'aux-center' => array(
418
+ 'title' => __( 'Center', 'auxin-portfolio' ),
419
+ 'icon' => 'fa fa-align-center',
420
+ ),
421
+ 'aux-right' => array(
422
+ 'title' => __( 'Right', 'auxin-portfolio' ),
423
+ 'icon' => 'fa fa-align-right',
424
+ )
425
+ ),
426
+ 'devices' => array('desktop'),
427
+ 'condition' => array(
428
+ 'show_filters' => 'yes'
429
+ )
430
+ )
431
+ );
432
+
433
+ $this->add_control(
434
+ 'filter_style',
435
+ array(
436
+ 'label' => __('Filter Buttom Style', 'auxin-portfolio'),
437
+ 'description' => __('Style of filter buttons.', 'auxin-portfolio' ),
438
+ 'type' => 'aux-visual-select',
439
+ 'default' => 'aux-slideup',
440
+ 'style_items' => 'max-width:200px;',
441
+ 'options' => array(
442
+ 'aux-slideup' => array(
443
+ 'label' => __('Slide up' , 'auxin-portfolio'),
444
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterSlideUp2.webm webm'
445
+ ),
446
+ 'aux-fill' => array(
447
+ 'label' => __('Fill' , 'auxin-portfolio'),
448
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterFill.webm webm'
449
+ ),
450
+ 'aux-cube' => array(
451
+ 'label' => __('Cube' , 'auxin-portfolio'),
452
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterCube.webm webm'
453
+ ),
454
+ 'aux-underline' => array(
455
+ 'label' => __('Underline' , 'auxin-portfolio'),
456
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.mp4 mp4'
457
+ ),
458
+ 'aux-overlay' => array(
459
+ 'label' => __('Float frame' , 'auxin-portfolio'),
460
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterFloatFrame.webm webm'
461
+ ),
462
+ 'aux-bordered' => array(
463
+ 'label' => __('Borderd' , 'auxin-portfolio'),
464
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterBordered.mp4 mp4'
465
+ ),
466
+ 'aux-overlay aux-underline-anim' => array(
467
+ 'label' => __('Float underline' , 'auxin-portfolio'),
468
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.webm webm'
469
+ ),
470
+ 'aux-dropdown-filter' => array(
471
+ 'label' => __('DropDown' , 'auxin-portfolio'),
472
+ 'video_src' => AUXPFO_ADMIN_URL . '/assets/images/preview/FilterUnderline.webm webm'
473
+ )
474
+ ),
475
+ 'condition' => array(
476
+ 'show_filters' => 'yes'
477
+ )
478
+ )
479
+ );
480
+
481
+ $this->end_controls_section();
482
+
483
+ /* Transition Section
484
+ /*-------------------------------------*/
485
+
486
+ $this->start_controls_section(
487
+ 'transition_section',
488
+ array(
489
+ 'label' => __('Transition', 'auxin-portfolio' ),
490
+ 'tab' => Controls_Manager::TAB_SETTINGS
491
+ )
492
+ );
493
+
494
+ $this->add_control(
495
+ 'reveal_transition_duration',
496
+ array(
497
+ 'label' => __('Transition duration on reveal','auxin-portfolio' ),
498
+ 'description' => __('The transition duration while the element is going to be appeared (milliseconds).'),
499
+ 'label_block' => true,
500
+ 'type' => Controls_Manager::NUMBER,
501
+ 'default' => '600'
502
+ )
503
+ );
504
+
505
+ $this->add_control(
506
+ 'reveal_between_delay',
507
+ array(
508
+ 'label' => __('Delay between reveal','auxin-portfolio' ),
509
+ 'description' => __('The delay between each sequence of revealing transitions (milliseconds).'),
510
+ 'label_block' => true,
511
+ 'type' => Controls_Manager::NUMBER,
512
+ 'default' => '60'
513
+ )
514
+ );
515
+
516
+ $this->add_control(
517
+ 'hide_transition_duration',
518
+ array(
519
+ 'label' => __('Transition duration on hide','auxin-portfolio' ),
520
+ 'description' => __('The transition duration while the element is going to be hidden (milliseconds).'),
521
+ 'label_block' => true,
522
+ 'type' => Controls_Manager::NUMBER,
523
+ 'default' => '600'
524
+ )
525
+ );
526
+
527
+ $this->add_control(
528
+ 'hide_between_delay',
529
+ array(
530
+ 'label' => __('Delay between hide','auxin-portfolio' ),
531
+ 'description' => __('The delay between each sequence of hiding transitions (milliseconds).'),
532
+ 'label_block' => true,
533
+ 'type' => Controls_Manager::NUMBER,
534
+ 'default' => '30'
535
+ )
536
+ );
537
+
538
+ $this->end_controls_section();
539
+
540
+ /* Pagination Section
541
+ /*-------------------------------------*/
542
+
543
+ $this->start_controls_section(
544
+ 'paginate_section',
545
+ array(
546
+ 'label' => __('Paginate', 'auxin-portfolio' ),
547
+ 'tab' => Controls_Manager::TAB_SETTINGS
548
+ )
549
+ );
550
+
551
+ $this->add_control(
552
+ 'paginate',
553
+ array(
554
+ 'label' => __('Paginate','auxin-portfolio' ),
555
+ 'description' => __('Paginates the portfolio items', 'auxin-portfolio' ),
556
+ 'type' => Controls_Manager::SWITCHER,
557
+ 'label_on' => __( 'On', 'auxin-portfolio' ),
558
+ 'label_off' => __( 'Off', 'auxin-portfolio' ),
559
+ 'default' => 'yes'
560
+ )
561
+ );
562
+
563
+ $this->add_control(
564
+ 'perpage',
565
+ array(
566
+ 'label' => __('Items number perpage', 'auxin-portfolio' ),
567
+ 'label_block' => true,
568
+ 'type' => Controls_Manager::NUMBER,
569
+ 'default' => '11',
570
+ 'condition' => array(
571
+ 'paginate' => 'yes'
572
+ )
573
+ )
574
+ );
575
+
576
+ $this->add_control(
577
+ 'loadmore_type',
578
+ array(
579
+ 'label' => __('Load More Type','auxin-portfolio' ),
580
+ 'type' => 'aux-visual-select',
581
+ 'options' => array(
582
+ '' => array(
583
+ 'label' => __('None', 'auxin-portfolio' ),
584
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-none.svg'
585
+ ),
586
+ 'scroll' => array(
587
+ 'label' => __('Infinite Scroll', 'auxin-portfolio' ),
588
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-infinite.svg'
589
+ ),
590
+ 'next' => array(
591
+ 'label' => __('Next Button', 'auxin-portfolio' ),
592
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-button.svg'
593
+ ),
594
+ 'next-prev' => array(
595
+ 'label' => __('Next Prev', 'auxin-portfolio' ),
596
+ 'image' => AUXIN_URL . 'images/visual-select/load-more-next-prev.svg'
597
+ )
598
+ ),
599
+ 'default' => '',
600
+ 'condition' => array(
601
+ 'paginate' => 'no'
602
+ )
603
+ )
604
+ );
605
+
606
+ $this->add_control(
607
+ 'loadmore_label',
608
+ array(
609
+ 'label' => __('Load More Label', 'auxin-portfolio' ),
610
+ 'type' => Controls_Manager::SELECT,
611
+ 'default' => 'text',
612
+ 'options' => array(
613
+ 'text' => __('Text', 'auxin-portfolio'),
614
+ 'arrow' => __('Arrow', 'auxin-portfolio'),
615
+ 'text-arrow' => __('Text & Arrow', 'auxin-portfolio')
616
+ ),
617
+ 'condition' => array(
618
+ 'paginate' => 'no'
619
+ )
620
+ )
621
+ );
622
+
623
+ $this->end_controls_section();
624
+
625
+ /*-------------------------------------------------------------------*/
626
+ /* Style TAB
627
+ /*-------------------------------------------------------------------*/
628
+
629
+ /* Image Section
630
+ /*-------------------------------------*/
631
+
632
+ $this->start_controls_section(
633
+ 'image_style_section',
634
+ array(
635
+ 'label' => __( 'Image', 'auxin-portfolio' ),
636
+ 'tab' => Controls_Manager::TAB_STYLE
637
+ )
638
+ );
639
+
640
+ $this->add_control(
641
+ 'tiles_item_style',
642
+ array(
643
+ 'label' => __('Tiles hover type', 'auxin-portfolio'),
644
+ 'label_block' => true,
645
+ 'type' => Controls_Manager::SELECT,
646
+ 'default' => 'overlay',
647
+ 'options' => array(
648
+ 'overlay' => __('Overlay title style 1', 'auxin-portfolio' ),
649
+ 'overlay-boxed' => __('Overlay title style 2', 'auxin-portfolio' ),
650
+ 'overlay-lightbox' => __('Overlay title with lightbox style 1', 'auxin-portfolio' ),
651
+ 'overlay-lightbox-boxed' => __('Overlay title with lightbox style 2', 'auxin-portfolio' )
652
+ )
653
+ )
654
+ );
655
+
656
+ $this->end_controls_section();
657
+
658
+
659
+ /* Title Section
660
+ /*-------------------------------------*/
661
+
662
+ $this->start_controls_section(
663
+ 'title_style_section',
664
+ array(
665
+ 'label' => __( 'Title', 'auxin-portfolio' ),
666
+ 'tab' => Controls_Manager::TAB_STYLE,
667
+ 'conditions' => array(
668
+ 'relation' => 'or',
669
+ 'terms' => array(
670
+ array(
671
+ 'name' => 'display_title',
672
+ 'operator' => '===',
673
+ 'value' => 'yes',
674
+ )
675
+ ),
676
+ ),
677
+ )
678
+ );
679
+
680
+ // Title heading
681
+
682
+ $this->start_controls_tabs( 'title_colors' );
683
+
684
+ $this->start_controls_tab(
685
+ 'title_color_normal',
686
+ array(
687
+ 'label' => __( 'Normal' , 'auxin-portfolio' ),
688
+ 'condition' => array(
689
+ 'display_title' => 'yes'
690
+ )
691
+ )
692
+ );
693
+
694
+ $this->add_control(
695
+ 'title_color',
696
+ array(
697
+ 'label' => __( 'Color', 'auxin-portfolio' ),
698
+ 'type' => Controls_Manager::COLOR,
699
+ 'selectors' => array(
700
+ '{{WRAPPER}} .aux-portfolio-item-title a' => 'color: {{VALUE}};',
701
+ ),
702
+ 'condition' => array(
703
+ 'display_title' => 'yes'
704
+ )
705
+ )
706
+ );
707
+
708
+ $this->end_controls_tab();
709
+
710
+ $this->start_controls_tab(
711
+ 'title_color_hover',
712
+ array(
713
+ 'label' => __( 'Hover' , 'auxin-portfolio' ),
714
+ 'condition' => array(
715
+ 'display_title' => 'yes'
716
+ )
717
+ )
718
+ );
719
+
720
+ $this->add_control(
721
+ 'title_hover_color',
722
+ array(
723
+ 'label' => __( 'Color', 'auxin-portfolio' ),
724
+ 'type' => Controls_Manager::COLOR,
725
+ 'selectors' => array(
726
+ '{{WRAPPER}} .aux-portfolio-item-title a:hover' => 'color:{{VALUE}};',
727
+ ),
728
+ 'condition' => array(
729
+ 'display_title' => 'yes'
730
+ )
731
+ )
732
+ );
733
+
734
+ $this->end_controls_tab();
735
+
736
+ $this->end_controls_tabs();
737
+
738
+ $this->add_group_control(
739
+ Group_Control_Typography::get_type(),
740
+ array(
741
+ 'name' => 'title_typography',
742
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
743
+ 'selector' => '{{WRAPPER}} .aux-portfolio-item-title',
744
+ 'condition' => array(
745
+ 'display_title' => 'yes'
746
+ )
747
+ )
748
+ );
749
+
750
+ $this->add_responsive_control(
751
+ 'title_margin_bottom',
752
+ array(
753
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
754
+ 'type' => Controls_Manager::SLIDER,
755
+ 'range' => array(
756
+ 'px' => array(
757
+ 'max' => 100,
758
+ ),
759
+ ),
760
+ 'selectors' => array(
761
+ '{{WRAPPER}} .aux-portfolio-item-title' => 'margin-bottom: {{SIZE}}{{UNIT}};',
762
+ ),
763
+ 'condition' => array(
764
+ 'display_title' => 'yes'
765
+ )
766
+ )
767
+ );
768
+
769
+ $this->end_controls_section();
770
+
771
+
772
+ /* Post Info Section
773
+ /*-------------------------------------*/
774
+
775
+ $this->start_controls_section(
776
+ 'info_style_section',
777
+ array(
778
+ 'label' => __( 'Categories', 'auxin-portfolio' ),
779
+ 'tab' => Controls_Manager::TAB_STYLE,
780
+ 'conditions' => array(
781
+ 'relation' => 'or',
782
+ 'terms' => array(
783
+ array(
784
+ 'name' => 'show_info',
785
+ 'operator' => '===',
786
+ 'value' => 'yes',
787
+ )
788
+ ),
789
+ ),
790
+ )
791
+ );
792
+
793
+ $this->start_controls_tabs( 'info_colors' );
794
+
795
+ $this->start_controls_tab(
796
+ 'info_color_normal',
797
+ array(
798
+ 'label' => __( 'Normal' , 'auxin-portfolio' ),
799
+ 'condition' => array(
800
+ 'show_info' => 'yes'
801
+ )
802
+ )
803
+ );
804
+
805
+ $this->add_control(
806
+ 'info_color',
807
+ array(
808
+ 'label' => __( 'Color', 'auxin-portfolio' ),
809
+ 'type' => Controls_Manager::COLOR,
810
+ 'selectors' => array(
811
+ '{{WRAPPER}} .entry-tax a' => 'color: {{VALUE}};',
812
+ ),
813
+ 'condition' => array(
814
+ 'show_info' => 'yes'
815
+ )
816
+ )
817
+ );
818
+
819
+ $this->end_controls_tab();
820
+
821
+ $this->start_controls_tab(
822
+ 'info_color_hover',
823
+ array(
824
+ 'label' => __( 'Hover' , 'auxin-portfolio' ),
825
+ 'condition' => array(
826
+ 'show_info' => 'yes'
827
+ )
828
+ )
829
+ );
830
+
831
+ $this->add_control(
832
+ 'info_hover_color',
833
+ array(
834
+ 'label' => __( 'Color', 'auxin-portfolio' ),
835
+ 'type' => Controls_Manager::COLOR,
836
+ 'selectors' => array(
837
+ '{{WRAPPER}} .entry-tax a:hover' => 'color: {{VALUE}};',
838
+ ),
839
+ 'condition' => array(
840
+ 'show_info' => 'yes'
841
+ )
842
+ )
843
+ );
844
+
845
+ $this->end_controls_tab();
846
+
847
+ $this->end_controls_tabs();
848
+
849
+ $this->add_group_control(
850
+ Group_Control_Typography::get_type(),
851
+ array(
852
+ 'name' => 'info_typography',
853
+ 'scheme' => Scheme_Typography::TYPOGRAPHY_1,
854
+ 'selector' => '{{WRAPPER}} .entry-tax',
855
+ 'condition' => array(
856
+ 'show_info' => 'yes'
857
+ )
858
+ )
859
+ );
860
+
861
+ $this->add_responsive_control(
862
+ 'info_margin_bottom',
863
+ array(
864
+ 'label' => __( 'Bottom space', 'auxin-portfolio' ),
865
+ 'type' => Controls_Manager::SLIDER,
866
+ 'range' => array(
867
+ 'px' => array(
868
+ 'max' => 100
869
+ )
870
+ ),
871
+ 'selectors' => array(
872
+ '{{WRAPPER}} .entry-tax' => 'margin-bottom: {{SIZE}}{{UNIT}};'
873
+ ),
874
+ 'condition' => array(
875
+ 'show_info' => 'yes'
876
+ )
877
+ )
878
+ );
879
+
880
+ $this->add_responsive_control(
881
+ 'info_spacing_between',
882
+ array(
883
+ 'label' => __( 'Space between metas', 'auxin-portfolio' ),
884
+ 'type' => Controls_Manager::SLIDER,
885
+ 'range' => array(
886
+ 'px' => array(
887
+ 'max' => 30
888
+ )
889
+ ),
890
+ 'selectors' => array(
891
+ '{{WRAPPER}} .entry-tax a:after' => 'margin-right: {{SIZE}}{{UNIT}}; margin-left: {{SIZE}}{{UNIT}};'
892
+ )
893
+ )
894
+ );
895
+
896
+ $this->end_controls_section();
897
+ }
898
+
899
+ /**
900
+ * Render image box widget output on the frontend.
901
+ *
902
+ * Written in PHP and used to generate the final HTML.
903
+ *
904
+ * @since 1.0.0
905
+ * @access protected
906
+ */
907
+ protected function render() {
908
+
909
+ $settings = $this->get_settings_for_display();
910
+
911
+ $args = array(
912
+ 'cat' => $settings['cat'],
913
+ 'num' => $settings['num'],
914
+ 'only_posts__in' => $settings['only_posts__in'],
915
+ 'include' => $settings['include'],
916
+ 'exclude' => $settings['exclude'],
917
+ 'offset' => $settings['offset'],
918
+ 'order_by' => $settings['order_by'],
919
+ 'order' => $settings['order'],
920
+ 'exclude_without_media' => $settings['exclude_without_media'],
921
+ 'display_like' => false,
922
+ 'deeplink' => $settings['deeplink'],
923
+ 'deeplink_slug' => $settings['deeplink_slug'],
924
+ 'show_filters' => $settings['show_filters'],
925
+ 'filter_by' => $settings['filter_by'],
926
+ 'filter_style' => $settings['filter_style'],
927
+ 'filter_align' => $settings['filter_align'],
928
+ 'reveal_transition_duration' => $settings['reveal_transition_duration'],
929
+ 'reveal_between_delay' => $settings['reveal_between_delay'],
930
+ 'hide_transition_duration' => $settings['hide_transition_duration'],
931
+ 'hide_between_delay' => $settings['hide_between_delay'],
932
+
933
+ 'tile_style_pattern' => $settings['tile_style_pattern'],
934
+ 'tiles_item_style' => $settings['tiles_item_style'],
935
+
936
+ 'paginate' => $settings['paginate'],
937
+ 'perpage' => $settings['perpage'],
938
+ 'show_title' => $settings['display_title'],
939
+ 'show_info' => $settings['show_info'],
940
+ //'image_aspect_ratio' => $settings['image_aspect_ratio'],
941
+ // 'desktop_cnum' => $settings['columns'],
942
+ // 'tablet_cnum' => $settings['columns_tablet'],
943
+ // 'phone_cnum' => $settings['columns_mobile'],
944
+ 'layout' => 'tiles',
945
+
946
+ 'loadmore_type' => $settings['loadmore_type'],
947
+ 'loadmore_label' => $settings['loadmore_label']
948
+ );
949
+
950
+ echo auxin_widget_recent_portfolios_grid_callback( $args );
951
+ }
952
+
953
+ }
includes/elements/recent-portfolios-tile-carousel.php CHANGED
@@ -495,7 +495,6 @@ function auxin_widget_recent_portfolios_tiles_carousel_callback( $atts, $shortco
495
  'posts__in' => $only_posts__in, // only posts in this list
496
 
497
  'exclude_without_media' => $exclude_without_media,
498
- 'exclude_post_formats_in' => $exclude_post_formats_in
499
  );
500
 
501
  // ---------------------------------------------------------------------
@@ -569,7 +568,7 @@ function auxin_widget_recent_portfolios_tiles_carousel_callback( $atts, $shortco
569
  $carousel_attrs .= ' data-arrows="' . ('arrows' == $carousel_navigation_control ? 'true' : 'false') . '"';
570
  $carousel_attrs .= ' data-same-height="false"';
571
  $column_media_width = auxin_get_content_column_width( 4, 0, $content_width );
572
-
573
  $have_posts = $wp_query->have_posts();
574
 
575
  if( $have_posts ){
495
  'posts__in' => $only_posts__in, // only posts in this list
496
 
497
  'exclude_without_media' => $exclude_without_media,
 
498
  );
499
 
500
  // ---------------------------------------------------------------------
568
  $carousel_attrs .= ' data-arrows="' . ('arrows' == $carousel_navigation_control ? 'true' : 'false') . '"';
569
  $carousel_attrs .= ' data-same-height="false"';
570
  $column_media_width = auxin_get_content_column_width( 4, 0, $content_width );
571
+ $item_inner_classes = '';
572
  $have_posts = $wp_query->have_posts();
573
 
574
  if( $have_posts ){
includes/elements/recent-portfolios.php CHANGED
@@ -184,7 +184,7 @@ function auxin_get_recent_portfolios_master_array( $master_array ) {
184
  ),
185
  array(
186
  'heading' => __('Start offset','auxin-portfolio' ),
187
- 'description' => __('Number of post to displace or pass over.', 'auxin-portfolio' ),
188
  'param_name' => 'offset',
189
  'type' => 'textfield',
190
  'value' => '',
@@ -897,6 +897,15 @@ function auxin_widget_recent_portfolios_grid_callback( $atts, $shortcode_content
897
  $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
898
  extract( $result['parsed_atts'] );
899
 
 
 
 
 
 
 
 
 
 
900
  ob_start();
901
 
902
  if( gettype( $cat ) === "string" ) {
@@ -1013,7 +1022,7 @@ function auxin_widget_recent_portfolios_grid_callback( $atts, $shortcode_content
1013
  $frame_effect_classes = '';
1014
  $hover_classes = '';
1015
  $show_lightbox = false;
1016
- $tamplate_file = 'portfolio-column';
1017
  }
1018
 
1019
  // generate columns class
@@ -1103,9 +1112,7 @@ function auxin_widget_recent_portfolios_grid_callback( $atts, $shortcode_content
1103
  }
1104
 
1105
  echo ! $skip_wrappers ? sprintf( '<div id="%s" data-element-id="%s" class="%s" %s> %s', esc_attr( $isotope_id ), esc_attr( $universal_id ), esc_attr( $items_classes ), $isoxin_attrs, '<div class="aux-items-loading"><div class="aux-loading-loop"><svg class="aux-circle" width="100%" height="100%" viewBox="0 0 42 42"><circle class="aux-stroke-bg" r="20" cx="21" cy="21" fill="none"></circle><circle class="aux-progress" r="20" cx="21" cy="21" fill="none" transform="rotate(-90 21 21)"></circle></svg></div></div>' ) : '';
1106
- ?>
1107
 
1108
- <?php
1109
  while ( $wp_query->have_posts() ) {
1110
 
1111
  // break the loop if it is reached to the limit
@@ -1124,15 +1131,17 @@ function auxin_widget_recent_portfolios_grid_callback( $atts, $shortcode_content
1124
  $post_vars = auxpfo_get_portfolio_config(
1125
  $post,
1126
  array(
1127
- 'request_from' => 'archive',
1128
- 'media_width' => $phone_break_point,
1129
- 'media_size' => $item_pattern_info['size'],
1130
- 'upscale_image' => true,
1131
- 'preloadable_image' => true,
1132
- 'crop' => true,
1133
- 'add_image_hw' => false, // whether add width and height attr or not
1134
- 'image_sizes' => $item_pattern_info['image_sizes'],
1135
- 'srcset_sizes' => $item_pattern_info['srcset_sizes']
 
 
1136
  )
1137
  );
1138
 
@@ -1142,29 +1151,28 @@ function auxin_widget_recent_portfolios_grid_callback( $atts, $shortcode_content
1142
  $post_vars = auxpfo_get_portfolio_config(
1143
  $post,
1144
  array(
1145
- 'request_from' => 'archive',
1146
- 'media_width' => $phone_break_point,
1147
- 'media_size' => array( 'width' => $column_media_width, 'height' => $column_media_height ),
1148
- 'upscale_image' => true,
1149
- 'preloadable_image' => false,
1150
- 'crop' => $crop,
1151
- 'add_image_hw' => true, // whether add width and height attr or not
1152
- 'image_sizes' => array(
 
1153
  array( 'min' => '', 'max' => '767px', 'width' => '80vw' ),
1154
  array( 'min' => '768px', 'max' => '992px', 'width' => '40vw' ),
1155
  array( 'min' => '' , 'max' => '', 'width' => round( $column_media_width ) .'px' )
1156
  ),
1157
- 'srcset_sizes' => array(
1158
- array( 'width' => $column_media_width, 'height' => $column_media_height ),
1159
- array( 'width' => 2 * $column_media_width, 'height' => 2 * $column_media_height ),
1160
- array( 'width' => 4 * $column_media_width, 'height' => 4 * $column_media_height )
1161
- )
1162
  )
1163
  );
1164
  $item_classes = 'aux-col';
1165
  $item_inner_classes = '';
1166
  }
1167
 
 
 
1168
  extract( $post_vars );
1169
 
1170
  if ( !$has_attach ) {
184
  ),
185
  array(
186
  'heading' => __('Start offset','auxin-portfolio' ),
187
+ 'description' => __('Number of portfolios to display or pass over.', 'auxin-portfolio' ),
188
  'param_name' => 'offset',
189
  'type' => 'textfield',
190
  'value' => '',
897
  $result = auxin_get_widget_scafold( $atts, $default_atts, $shortcode_content );
898
  extract( $result['parsed_atts'] );
899
 
900
+ // Validate the boolean variables
901
+ $exclude_without_media = auxin_is_true( $exclude_without_media );
902
+ $display_like = auxin_is_true( $display_like );
903
+ $deeplink = auxin_is_true( $deeplink );
904
+ $show_filters = auxin_is_true( $show_filters );
905
+ $paginate = auxin_is_true( $paginate );
906
+ $show_title = auxin_is_true( $show_title );
907
+ $show_info = auxin_is_true( $show_info );
908
+
909
  ob_start();
910
 
911
  if( gettype( $cat ) === "string" ) {
1022
  $frame_effect_classes = '';
1023
  $hover_classes = '';
1024
  $show_lightbox = false;
1025
+ $tamplate_file = 'column';
1026
  }
1027
 
1028
  // generate columns class
1112
  }
1113
 
1114
  echo ! $skip_wrappers ? sprintf( '<div id="%s" data-element-id="%s" class="%s" %s> %s', esc_attr( $isotope_id ), esc_attr( $universal_id ), esc_attr( $items_classes ), $isoxin_attrs, '<div class="aux-items-loading"><div class="aux-loading-loop"><svg class="aux-circle" width="100%" height="100%" viewBox="0 0 42 42"><circle class="aux-stroke-bg" r="20" cx="21" cy="21" fill="none"></circle><circle class="aux-progress" r="20" cx="21" cy="21" fill="none" transform="rotate(-90 21 21)"></circle></svg></div></div>' ) : '';
 
1115
 
 
1116
  while ( $wp_query->have_posts() ) {
1117
 
1118
  // break the loop if it is reached to the limit
1131
  $post_vars = auxpfo_get_portfolio_config(
1132
  $post,
1133
  array(
1134
+ 'request_from' => 'archive',
1135
+ 'media_width' => $phone_break_point,
1136
+ 'media_size' => $item_pattern_info['size'],
1137
+ 'upscale_image' => true,
1138
+ 'preload_off' => true,
1139
+ 'preloadable' => true,
1140
+ 'preload_preview' => false,
1141
+ 'crop' => true,
1142
+ 'add_image_hw' => false, // whether add width and height attr or not
1143
+ 'image_sizes' => $item_pattern_info['image_sizes'],
1144
+ 'srcset_sizes' => $item_pattern_info['srcset_sizes']
1145
  )
1146
  );
1147
 
1151
  $post_vars = auxpfo_get_portfolio_config(
1152
  $post,
1153
  array(
1154
+ 'request_from' => 'archive',
1155
+ 'media_width' => $phone_break_point,
1156
+ 'media_size' => array( 'width' => $column_media_width, 'height' => $column_media_height ),
1157
+ 'preload_off' => true,
1158
+ 'preloadable' => true,
1159
+ 'preload_preview' => false,
1160
+ 'crop' => $crop,
1161
+ 'add_image_hw' => true, // whether add width and height attr or not
1162
+ 'image_sizes' => array(
1163
  array( 'min' => '', 'max' => '767px', 'width' => '80vw' ),
1164
  array( 'min' => '768px', 'max' => '992px', 'width' => '40vw' ),
1165
  array( 'min' => '' , 'max' => '', 'width' => round( $column_media_width ) .'px' )
1166
  ),
1167
+ 'srcset_sizes' => 'auto'
 
 
 
 
1168
  )
1169
  );
1170
  $item_classes = 'aux-col';
1171
  $item_inner_classes = '';
1172
  }
1173
 
1174
+ unset( $post_vars['show_title'] );
1175
+
1176
  extract( $post_vars );
1177
 
1178
  if ( !$has_attach ) {
includes/general-functions.php CHANGED
@@ -43,16 +43,18 @@ if ( ! function_exists('auxpfo_get_portfolio_config') ) {
43
  global $aux_content_width;
44
 
45
  $defaults = array(
46
- 'request_from' => 'archive',
47
- 'content_width' => '',
48
- 'upscale_image' => true,
49
- 'preloadable_image' => false,
50
- 'media_size' => '', // large, medium, thumbnail
51
- 'aspect_ratio' => 1,
52
- 'add_image_hw' => true, // whether to add with and height attrs to image
53
- 'image_sizes' => array(),
54
- 'srcset_sizes' => array(),
55
- 'crop' => true
 
 
56
  );
57
 
58
  $settings = wp_parse_args( $settings, $defaults );
@@ -188,13 +190,16 @@ if ( ! function_exists('auxpfo_get_portfolio_config') ) {
188
  $args['the_attach'] = auxin_get_the_post_responsive_thumbnail(
189
  $post->ID,
190
  array(
191
- 'size' => $size,
192
- 'crop' => $crop,
193
- 'preloadable' => $preloadable_image,
194
- 'add_hw' => $add_image_hw,
195
- 'image_sizes' => $image_sizes,
196
- 'srcset_sizes' => $srcset_sizes,
197
- 'upscale' => $upscale_image
 
 
 
198
  )
199
  );
200
  }
43
  global $aux_content_width;
44
 
45
  $defaults = array(
46
+ 'request_from' => 'archive',
47
+ 'content_width' => '',
48
+ 'preload_off' => true,
49
+ 'preloadable' => true,
50
+ 'preload_preview' => false,
51
+ 'media_size' => '', // large, medium, thumbnail
52
+ 'aspect_ratio' => 1,
53
+ 'add_image_hw' => true, // whether to add with and height attrs to image
54
+ 'image_sizes' => array(),
55
+ 'srcset_sizes' => array(),
56
+ 'upscale_image' => false,
57
+ 'crop' => true
58
  );
59
 
60
  $settings = wp_parse_args( $settings, $defaults );
190
  $args['the_attach'] = auxin_get_the_post_responsive_thumbnail(
191
  $post->ID,
192
  array(
193
+ 'size' => $size,
194
+ 'crop' => $crop,
195
+ 'preload_off' => $preload_off,
196
+ 'preloadable' => $preloadable,
197
+ 'preload_preview' => $preload_preview,
198
+ 'add_hw' => $add_image_hw,
199
+ 'image_sizes' => $image_sizes,
200
+ 'srcset_sizes' => $srcset_sizes,
201
+ 'upscale' => $upscale_image,
202
+ 'original_src' => false
203
  )
204
  );
205
  }
includes/index.php CHANGED
@@ -13,3 +13,5 @@ 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' );
 
 
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' );
public/templates/theme-parts/entry/portfolio-column-overlay.php CHANGED
@@ -1,6 +1,10 @@
1
  <?php
2
  $tile_skin_scheme = ! isset( $tile_skin ) || 'darken' === $tile_skin ? 'aux-white' : 'aux-black';
3
  $tile_skin_hover = ! isset( $tile_skin ) || 'darken' === $tile_skin ? 'aux-black' : 'aux-white';
 
 
 
 
4
  ?>
5
  <article <?php post_class( 'aux-item-overlay' . ' ' . $hover_classes . ' ' . $item_inner_classes ); ?> >
6
  <div class="entry-media <?php echo $frame_effect_classes . ' ' . $item_inner_classes ?>">
1
  <?php
2
  $tile_skin_scheme = ! isset( $tile_skin ) || 'darken' === $tile_skin ? 'aux-white' : 'aux-black';
3
  $tile_skin_hover = ! isset( $tile_skin ) || 'darken' === $tile_skin ? 'aux-black' : 'aux-white';
4
+
5
+ // validate the boolean variables
6
+ $show_title = auxin_is_true( $show_title );
7
+ $show_info = auxin_is_true( $show_info );
8
  ?>
9
  <article <?php post_class( 'aux-item-overlay' . ' ' . $hover_classes . ' ' . $item_inner_classes ); ?> >
10
  <div class="entry-media <?php echo $frame_effect_classes . ' ' . $item_inner_classes ?>">
public/templates/theme-parts/entry/portfolio-column.php CHANGED
@@ -1,8 +1,12 @@
1
  <?php
2
  // Add class name for custom styles
3
- $classic_item_class_name = auxin_get_option( 'show_portfolio_entry_box_colors' ) ? 'aux-entry-boxed' : '';
4
- ?>
5
 
 
 
 
 
 
6
  <article <?php post_class( $classic_item_class_name ); ?> >
7
  <div class="<?php echo $hover_classes ?>">
8
  <div class="entry-media <?php echo $frame_effect_classes ?>">
@@ -64,12 +68,6 @@
64
  }
65
  ?>
66
  </span>
67
- <?php if( ! empty($cat_terms) ){
68
- edit_post_link(__("Edit", 'auxin-portfolio'), '<i> | </i>', '');
69
- } else {
70
- edit_post_link(__("Edit", 'auxin-portfolio'), '', '');
71
- }
72
- ?>
73
  </div>
74
  <?php } ?>
75
  </div>
1
  <?php
2
  // Add class name for custom styles
3
+ $classic_item_class_name = auxin_get_option( 'show_portfolio_entry_box_colors' ) ? 'aux-entry-boxed' : '';
 
4
 
5
+ // validate the boolean variables
6
+ $show_title = auxin_is_true( $show_title );
7
+ $show_info = auxin_is_true( $show_info );
8
+ $show_lightbox = auxin_is_true( $show_lightbox );
9
+ ?>
10
  <article <?php post_class( $classic_item_class_name ); ?> >
11
  <div class="<?php echo $hover_classes ?>">
12
  <div class="entry-media <?php echo $frame_effect_classes ?>">
68
  }
69
  ?>
70
  </span>
 
 
 
 
 
 
71
  </div>
72
  <?php } ?>
73
  </div>
public/templates/theme-parts/entry/portfolio.php CHANGED
@@ -1,6 +1,10 @@
1
  <?php
2
  // Add class name for custom styles
3
- $classic_item_class_name = auxin_get_option( 'show_portfolio_entry_box_colors' ) ? 'aux-entry-boxed' : '';
 
 
 
 
4
  ?>
5
 
6
  <article <?php post_class( $classic_item_class_name ); ?> >
@@ -32,7 +36,7 @@
32
  wp_ulike( 'get', array( 'style' => 'wpulike-heart', 'wrapper_class' => 'aux-wpulike' ) );
33
  echo '</div>';
34
  }
35
- ?>
36
  <div class="entry-info">
37
  <span class="entry-tax">
38
  <?php // the_category(' '); we can use this template tag, but customizable way is needed! ?>
@@ -44,7 +48,6 @@
44
  }
45
  ?>
46
  </span>
47
- <?php edit_post_link(__("Edit", 'auxin-portfolio'), '<i> | </i>', ''); ?>
48
  </div>
49
 
50
  </div>
1
  <?php
2
  // Add class name for custom styles
3
+ $classic_item_class_name = auxin_get_option( 'show_portfolio_entry_box_colors' ) ? 'aux-entry-boxed' : '';
4
+
5
+ // validate the boolean variables
6
+ $show_title = auxin_is_true( $show_title );
7
+ $display_like = auxin_is_true( $display_like );
8
  ?>
9
 
10
  <article <?php post_class( $classic_item_class_name ); ?> >
36
  wp_ulike( 'get', array( 'style' => 'wpulike-heart', 'wrapper_class' => 'aux-wpulike' ) );
37
  echo '</div>';
38
  }
39
+ ?>
40
  <div class="entry-info">
41
  <span class="entry-tax">
42
  <?php // the_category(' '); we can use this template tag, but customizable way is needed! ?>
48
  }
49
  ?>
50
  </span>
 
51
  </div>
52
 
53
  </div>