PluginProbe
Borderless – Addons and Templates for Elementor / 1.6.1
Borderless – Addons and Templates for Elementor v1.6.1
trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.2.1 1.2.2 1.2.3 All 78 releases
borderless / borderless.php

borderless.php in Borderless – Addons and Templates for Elementor 1.6.1, at borderless.php

263 lines 7.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /*
4 Plugin Name: Borderless
5 Plugin URI: https://visualmodo.com/borderless/
6 Description: One service packed with powerful tools to help you reach your purposes.
7 Version: 1.6.1
8 Author: Visualmodo
9 Author URI: https://visualmodo.com
10 License: GPLv3 or later
11 Text Domain: borderless
12 Domain Path: /languages
13 */
14
15 // don't load directly
16 defined( 'ABSPATH' ) || exit;
17
18
19 /*-----------------------------------------------------------------------------------*/
20 /* *. Borderless Constants
21 /*-----------------------------------------------------------------------------------*/
22
23 define( 'BORDERLESS__VERSION', '1.6.1' );
24 define( 'BORDERLESS__DIR', plugin_dir_path( __FILE__ ) );
25 define( 'BORDERLESS__URL', plugins_url( '/', __FILE__ ) );
26 define( 'BORDERLESS__INC', BORDERLESS__DIR . '/includes' );
27 define( 'BORDERLESS__ASSETS', BORDERLESS__URL . 'assets/' );
28 define( 'BORDERLESS__STYLES', BORDERLESS__ASSETS . 'styles/' );
29 define( 'BORDERLESS__SCRIPTS', BORDERLESS__ASSETS . 'scripts/' );
30 define( 'BORDERLESS__LIB', BORDERLESS__ASSETS . 'lib/' );
31 define( 'BORDERLESS__LIBRARY__DIR', BORDERLESS__DIR . '/includes/library/' );
32 define( 'BORDERLESS__LIBRARY__URL', BORDERLESS__URL . 'includes/library/' );
33 define( 'BORDERLESS__BLOCK_EDITOR', BORDERLESS__DIR . '/modules/block-editor' );
34 define( 'BORDERLESS__ELEMENTOR', BORDERLESS__DIR . '/modules/elementor' );
35 define( 'BORDERLESS__WPBAKERY', BORDERLESS__DIR . '/modules/wpbakery' );
36 define( 'BORDERLESS__LIBS', BORDERLESS__DIR . '/modules/libraries' );
37 define( 'BORDERLESS__RELATED_POSTS', BORDERLESS__DIR . '/modules/related-posts' );
38
39 /*-----------------------------------------------------------------------------------*/
40 /* *. Borderless Core
41 /*-----------------------------------------------------------------------------------*/
42
43 class Borderless {
44
45 /**
46 * The loader that's responsible for maintaining and registering all hooks that power
47 * the plugin.
48 *
49 * @since 1.0.0
50 * @access protected
51 * @var Borderless_Loader $loader Maintains and registers all hooks for the plugin.
52 */
53 protected $loader;
54
55 /**
56 * The unique identifier of this plugin.
57 *
58 * @since 1.0.0
59 * @access protected
60 * @var string $plugin_name The string used to uniquely identify this plugin.
61 */
62 protected $plugin_name;
63
64 /**
65 * The current version of the plugin.
66 *
67 * @since 1.0.0
68 * @access protected
69 * @var string $version The current version of the plugin.
70 */
71 protected $version;
72
73 /**
74 * Define the core functionality of the plugin.
75 *
76 * Set the plugin name and the plugin version that can be used throughout the plugin.
77 * Load the dependencies, define the locale, and set the hooks for the admin area and
78 * the public-facing side of the site.
79 *
80 * @since 1.0.0
81 */
82 public function __construct() {
83
84 if ( defined( 'BORDERLESS__VERSION' ) ) {
85 $this->version = BORDERLESS__VERSION;
86 } else {
87 $this->version = '1.0.0';
88 }
89 $this->plugin_name = 'borderless';
90
91 $this->borderless_load_dependencies();
92 $this->borderless_define_public_hooks();
93
94 }
95
96 /**
97 * Define the core functionality of the plugin.
98 *
99 * Set the plugin name and the plugin version that can be used throughout the plugin.
100 * Load the dependencies, define the locale, and set the hooks for the admin area and
101 * the public-facing side of the site.
102 *
103 * @since 1.0.0
104 */
105
106 public function borderless_load_dependencies() {
107
108 $options = get_option( 'borderless' );
109
110 $theme = wp_get_theme(get_template());
111
112 /**
113 * Dashboard Page.
114 */
115
116 require_once( BORDERLESS__INC . "/templates/dashboard.php" );
117
118 /**
119 * License Manager Page.
120 */
121
122 require_once( BORDERLESS__INC . "/templates/license.php" );
123
124 /**
125 * The class responsible for orchestrating the actions and filters of the
126 * core plugin.
127 */
128 require_once( BORDERLESS__INC . "/class-borderless-loader.php" );
129
130 /**
131 * The class responsible for defining all actions that occur in the public-facing
132 * side of the site.
133 */
134 require_once( BORDERLESS__INC . "/class-borderless-public.php" );
135
136 require_once( BORDERLESS__INC . "/templates/system-info.php" );
137 require_once( BORDERLESS__INC . "/icon-manager/icon-manager.php" );
138 require_once( BORDERLESS__INC . "/custom-post-types/custom-post-types.php" );
139 require_once( BORDERLESS__INC . "/svg/svg.php" );
140 require_once( BORDERLESS__BLOCK_EDITOR . "/contact-information/contact-information.php" );
141 require_once( BORDERLESS__BLOCK_EDITOR . "/social-icons/social-icons.php" );
142 require_once( BORDERLESS__BLOCK_EDITOR . "/spacer/spacer.php" );
143 require_once( BORDERLESS__ELEMENTOR . "/elementor.php" );
144 require_once( BORDERLESS__WPBAKERY . "/wpbakery.php" );
145 require_once( BORDERLESS__INC . "/helper.php" );
146 require_once( BORDERLESS__INC . "/custom-post-types/templates.php" );
147 require_once( BORDERLESS__LIBRARY__DIR . "templates/templates.php" );
148 require_once( BORDERLESS__LIBRARY__DIR . "importer.php" );
149
150 if ( isset( $options['related_posts'] ) ) {
151 require_once( BORDERLESS__RELATED_POSTS . "/related-posts.php" );
152 }
153
154 $this->loader = new Borderless_Loader();
155
156 }
157
158 /**
159 * Register all of the hooks related to the public-facing functionality
160 * of the plugin.
161 *
162 * @since 1.0.0
163 * @access private
164 */
165 private function borderless_define_public_hooks() {
166
167 $plugin_public = new Borderless_Public( $this->get_plugin_name(), $this->get_version() );
168
169 $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_styles' );
170 $this->loader->add_action( 'wp_enqueue_scripts', $plugin_public, 'enqueue_scripts' );
171
172 // Enqueue script for Gutenberg
173 add_action('enqueue_block_editor_assets', array($this, 'enqueue_gutenberg_button_script'));
174
175
176 function borderless_settings_colors() {
177 $options = get_option( 'borderless' );
178
179 ?>
180 <style type="text/css">
181
182 :root {
183 --borderless-color-primary: <?php echo esc_attr( $options['primary_color'], '#0000FF' ); ?>;
184 --borderless-secondary-primary: <?php echo esc_attr( $options['secondary_color'], '#FF6819' ); ?>;
185 --borderless-color-tertiary: <?php echo esc_attr( $options['tertiary_color'], '#3FCC14' ); ?>;
186 }
187
188 </style>
189 <?php
190
191 }
192 add_action( 'wp_head', 'borderless_settings_colors' );
193
194 }
195
196 /**
197 * Enqueue the script for the Gutenberg editor.
198 *
199 * @since 1.0.0
200 */
201 public function enqueue_gutenberg_button_script() {
202 wp_enqueue_script(
203 'borderless-ai-button',
204 BORDERLESS__SCRIPTS . 'ai-button.js',
205 array( 'wp-element', 'wp-components', 'wp-edit-post', 'wp-plugins' ), // Added 'wp-plugins' dependency
206 filemtime( BORDERLESS__DIR . 'assets/scripts/ai-button.js' ),
207 true
208 );
209 }
210
211 /**
212 * Run the loader to execute all of the hooks with WordPress.
213 *
214 * @since 1.0.0
215 */
216 public function run() {
217 $this->loader->run();
218 }
219
220 /**
221 * The name of the plugin used to uniquely identify it within the context of
222 * WordPress and to define internationalization functionality.
223 *
224 * @since 1.0.0
225 * @return string The name of the plugin.
226 */
227 public function get_plugin_name() {
228 return $this->plugin_name;
229 }
230
231 /**
232 * The reference to the class that orchestrates the hooks with the plugin.
233 *
234 * @since 1.0.0
235 * @return Borderless_Loader Orchestrates the hooks of the plugin.
236 */
237 public function get_loader() {
238 return $this->loader;
239 }
240
241 /**
242 * Retrieve the version number of the plugin.
243 *
244 * @since 1.0.0
245 * @return string The version number of the plugin.
246 */
247 public function get_version() {
248 return $this->version;
249 }
250
251 }
252
253 /*-----------------------------------------------------------------------------------*/
254 /* *. Borderless Init
255 /*-----------------------------------------------------------------------------------*/
256
257 function run_borderless() {
258
259 $plugin = new Borderless();
260 $plugin->run();
261
262 }
263 run_borderless();