PluginProbe
Booktics – Appointment Booking Calendar for Service Businesses / 1.0.27
Booktics – Appointment Booking Calendar for Service Businesses v1.0.27
1.0.29 1.0.28 1.0.27 1.0.26 1.0.25 1.0.24 1.0.23 1.0.22 1.0.21 1.0.20 1.0.19 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.2 1.0.3 All 31 releases
← All changes | core/extensions/plugin-manager.php +113 -10 1.0.0 → 1.0.27 View file →
@@ -14,13 +14,17 @@
14 14 *
15 15 * @return bool True if installed, false otherwise.
16 16 */
17 17 public static function is_installed( string $slug ): bool {
18 + if ( ! function_exists( 'get_plugins' ) ) {
19 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
20 + }
21 +
18 22 $plugins = get_plugins();
19 23
20 24 if ( is_array( $plugins ) ) {
21 - foreach ( $plugins as $plugin ) {
22 - if ( $plugin['TextDomain'] === $slug ) {
25 + foreach ( $plugins as $plugin_path => $plugin ) {
26 + if ( strpos( $plugin_path, $slug . '/' ) === 0 ) {
23 27 return true;
24 28 }
25 29 }
26 30 }
@@ -60,11 +64,22 @@
60 64 include_once ABSPATH . 'wp-admin/includes/class-wp-upgrader.php';
61 65
62 66 $skin = new \Automatic_Upgrader_Skin();
63 67 $upgrader = new \Plugin_Upgrader( $skin );
64 - $download_link = isset( self::extensions()[ $slug ] ) ? self::extensions()[ $slug ]['download_link'] : null;
65 - $result = $upgrader->install( $download_link );
68 + $download_link = null;
69 + foreach ( self::extensions() as $extension ) {
70 + if ( $extension['slug'] === $slug && ! empty( $extension['download_link'] ) ) {
71 + $download_link = $extension['download_link'];
72 + break;
73 + }
74 + }
66 75
76 + if ( ! $download_link ) {
77 + return false;
78 + }
79 +
80 + $result = $upgrader->install( $download_link );
81 +
67 82 return (bool) $result;
68 83 }
69 84
70 85 /**
@@ -115,13 +130,17 @@
115 130 *
116 131 * @return string The path to the plugin file.
117 132 */
118 133 private static function get_plugin_path( string $slug ) {
134 + if ( ! function_exists( 'get_plugins' ) ) {
135 + require_once ABSPATH . 'wp-admin/includes/plugin.php';
136 + }
137 +
119 138 $plugins = get_plugins();
120 139
121 140 if ( is_array( $plugins ) ) {
122 141 foreach ( $plugins as $plugin_path => $plugin ) {
123 - if ( $plugin['TextDomain'] === $slug ) {
142 + if ( strpos( $plugin_path, $slug . '/' ) === 0 ) {
124 143 return $plugin_path;
125 144 }
126 145 }
127 146 }
@@ -186,9 +205,9 @@
186 205 'icon' => Extension_Icon::get( 'booktics-stripe-addon' ),
187 206 'notice' => '',
188 207 'demo_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-stripe-addon',
189 208 'settings_link' => '',
190 - 'doc_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-stripe-addon',
209 + 'doc_link' => 'https://docs.arraytics.com/docs/booktics/payment-type/how-to-configure-the-stripe-in-booktics/',
191 210 'download_link' => 'https://products.arraytics.com/booktics-addons/booktics-stripe-addon-1.0.0.zip',
192 211 ),
193 212 'booktics-google-calendar' => array(
194 213 'name' => 'booktics-google-calendar',
@@ -203,9 +222,9 @@
203 222 'icon' => Extension_Icon::get( 'booktics-google-calendar' ),
204 223 'notice' => '',
205 224 'demo_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-google-calendar',
206 225 'settings_link' => '',
207 - 'doc_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-google-calendar',
226 + 'doc_link' => 'https://docs.arraytics.com/docs/booktics/integration/how-to-integrate-google-calendar-with-booktics/',
208 227 'download_link' => 'https://products.arraytics.com/booktics-addons/booktics-google-calendar-1.0.0.zip',
209 228 ),
210 229 'booktics-outlook-calendar' => array(
211 230 'name' => 'booktics-outlook-calendar',
@@ -220,9 +239,9 @@
220 239 'icon' => Extension_Icon::get( 'booktics-outlook-calendar' ),
221 240 'notice' => '',
222 241 'demo_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-outlook-calendar-addon',
223 242 'settings_link' => '',
224 - 'doc_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-outlook-calendar-addon',
243 + 'doc_link' => 'https://docs.arraytics.com/docs/booktics/integration/how-to-integrate-outlook-calendar-with-booktics/',
225 244 'download_link' => 'https://products.arraytics.com/booktics-addons/booktics-outlook-calendar-addon-1.0.0.zip',
226 245 ),
227 246 'booktics-fluentcrm-addon' => array(
228 247 'name' => 'booktics-fluentcrm-addon',
@@ -237,9 +256,9 @@
237 256 'icon' => Extension_Icon::get( 'booktics-fluentcrm-addon' ),
238 257 'notice' => '',
239 258 'demo_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-fluentcrm-addon',
240 259 'settings_link' => '',
241 - 'doc_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-fluentcrm-addon',
260 + 'doc_link' => 'https://docs.arraytics.com/docs/booktics/',
242 261 'download_link' => 'https://products.arraytics.com/booktics-addons/booktics-fluentcrm-addon-1.0.0.zip',
243 262 ),
244 263 'booktics-paypal-addon' => array(
245 264 'name' => 'booktics-paypal-addon',
@@ -254,10 +273,94 @@
254 273 'icon' => Extension_Icon::get( 'booktics-paypal-addon' ),
255 274 'notice' => '',
256 275 'demo_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-paypal-addon',
257 276 'settings_link' => '',
258 - 'doc_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/integration/booktics-paypal-addon',
277 + 'doc_link' => 'https://docs.arraytics.com/docs/booktics/payment-type/how-to-configure-the-paypal-in-booktics-pro/',
259 278 'download_link' => 'https://products.arraytics.com/booktics-addons/booktics-paypal-addon-1.0.0.zip',
279 + ),
280 + 'eventin' => array(
281 + 'name' => 'eventin',
282 + 'slug' => 'wp-event-solution',
283 + 'type' => 'plugin',
284 + 'upgrade' => false,
285 + 'upgrade_link' => '',
286 + 'status' => 'off',
287 + 'is_pro' => false,
288 + 'title' => __( 'Eventin', 'booktics' ),
289 + 'description' => __( 'Best Free WordPress Event Calendar Plugin to manage booking, registration, RSVPs, schedule recurring events and sell event tickets with WooCommerce.', 'booktics' ),
290 + 'icon' => Extension_Icon::get( 'eventin' ),
291 + 'notice' => '',
292 + 'demo_link' => 'https://product.themewinter.com/eventin',
293 + 'settings_link' => '',
294 + 'doc_link' => 'https://support.themewinter.com/docs/plugins/docs/eventin/',
295 + 'download_link' => 'https://downloads.wordpress.org/plugin/wp-event-solution.latest-stable.zip',
296 + ),
297 + 'wp-cafe' => array(
298 + 'name' => 'wp-cafe',
299 + 'slug' => 'wp-cafe',
300 + 'type' => 'plugin',
301 + 'upgrade' => false,
302 + 'upgrade_link' => '',
303 + 'status' => 'off',
304 + 'is_pro' => false,
305 + 'title' => __( 'WPCafe', 'booktics' ),
306 + 'description' => __( 'WPCafe - A restaurant plugin to increase sales with an Online Ordering System, Delivery, Pickup, Food Menu, Reservations, and Table Management.', 'booktics' ),
307 + 'icon' => Extension_Icon::get( 'wpcafe' ),
308 + 'notice' => '',
309 + 'demo_link' => 'https://product.themewinter.com/wpcafe',
310 + 'settings_link' => '',
311 + 'doc_link' => 'https://support.themewinter.com/docs/plugins/docs/wp-cafe/',
312 + 'download_link' => 'https://downloads.wordpress.org/plugin/wp-cafe.latest-stable.zip',
313 + ),
314 + 'timetics' => array(
315 + 'name' => 'timetics',
316 + 'slug' => 'timetics',
317 + 'type' => 'plugin',
318 + 'upgrade' => false,
319 + 'upgrade_link' => '',
320 + 'status' => 'off',
321 + 'is_pro' => false,
322 + 'title' => __( 'WP Timetics', 'booktics' ),
323 + 'description' => __( 'Appointment Booking and Scheduling Calendar Plugin - WP Timetics', 'booktics' ),
324 + 'icon' => Extension_Icon::get( 'timetics' ),
325 + 'notice' => '',
326 + 'demo_link' => 'https://arraytics.com/timetics',
327 + 'settings_link' => '',
328 + 'doc_link' => 'https://docs.arraytics.com/docs/timetics/getting-started/',
329 + 'download_link' => 'https://downloads.wordpress.org/plugin/timetics.latest-stable.zip',
330 + ),
331 + 'aisentic' => array(
332 + 'name' => 'aisentic',
333 + 'slug' => 'aisentic',
334 + 'type' => 'plugin',
335 + 'upgrade' => false,
336 + 'upgrade_link' => '',
337 + 'status' => 'off',
338 + 'is_pro' => false,
339 + 'title' => __( 'Aisentic', 'booktics' ),
340 + 'description' => __( 'Your AI assistant for Booktics. Manage bookings, analyze schedules, and automate routine tasks using plain English.', 'booktics' ),
341 + 'icon' => '<svg width="155" height="35.838" viewBox="0 0 155 35.838" fill="none" xmlns="http://www.w3.org/2000/svg"><path width="40" height="40" rx="7.018" fill="#6443f9" d="M6.288 0H29.55A6.288 6.288 0 0 1 35.838 6.288V29.55A6.288 6.288 0 0 1 29.55 35.838H6.288A6.288 6.288 0 0 1 0 29.55V6.288A6.288 6.288 0 0 1 6.288 0z"/><path d="M17.919 3.772c0.609 0 1.193 0.244 1.623 0.676a2.303 2.303 0 0 1 0.216 3c-0.296 0.395 -0.71 0.685 -1.184 0.824v3.397h6.561c1.044 0 2.045 0.417 2.784 1.158a3.942 3.942 0 0 1 1.153 2.791v0.731h0.553a1.975 1.975 0 0 1 1.968 1.974v4.605c0 0.524 -0.207 1.026 -0.576 1.397a1.971 1.971 0 0 1 -1.392 0.578h-0.553v3.216a3.942 3.942 0 0 1 -1.153 2.792 3.942 3.942 0 0 1 -2.784 1.157h-14.434a3.942 3.942 0 0 1 -2.784 -1.157 3.942 3.942 0 0 1 -1.153 -2.791v-3.217h-0.553a1.971 1.971 0 0 1 -1.392 -0.578 1.971 1.971 0 0 1 -0.576 -1.396v-4.605c0 -0.524 0.207 -1.026 0.576 -1.396a1.971 1.971 0 0 1 1.392 -0.579h0.553v-0.731c0 -1.047 0.416 -2.052 1.153 -2.791a3.942 3.942 0 0 1 2.784 -1.158h6.561v-3.396a2.294 2.294 0 0 1 -1.64 -2.197c0 -0.61 0.242 -1.196 0.673 -1.628A2.294 2.294 0 0 1 17.919 3.772m-3.638 21.497a0.655 0.655 0 0 0 -0.908 0.787 0.663 0.663 0 0 0 0.31 0.384 9.291 9.291 0 0 0 8.472 0 0.659 0.659 0 0 0 -0.599 -1.171 8.028 8.028 0 0 1 -7.273 0m-0.627 -8.337a2.294 2.294 0 0 0 -1.623 0.675 2.308 2.308 0 0 0 0 3.258 2.294 2.294 0 0 0 3.92 -1.629c0 -0.611 -0.242 -1.197 -0.672 -1.629a2.294 2.294 0 0 0 -1.623 -0.675m8.529 0a2.294 2.294 0 0 0 -2.122 1.422 2.308 2.308 0 0 0 1.243 3.01 2.294 2.294 0 0 0 2.502 -0.499 2.308 2.308 0 0 0 0 -3.258 2.294 2.294 0 0 0 -1.624 -0.675" fill="#fff"/><path d="M148.257 29.181c-4.408 0 -7.453 -3.172 -7.453 -7.58 0 -4.407 3.044 -7.546 7.453 -7.546 2.569 0 4.661 1.141 5.929 2.949l-2.822 2.188c-0.507 -0.602 -1.395 -1.395 -3.012 -1.395 -2.188 0 -3.679 1.617 -3.679 3.805s1.491 3.805 3.679 3.805c1.617 0 2.474 -0.666 3.012 -1.331l2.822 2.123c-1.269 1.84 -3.361 2.982 -5.929 2.982m-14.589 -0.285v-13.69a0.896 0.896 0 0 1 0.896 -0.896h2.202a0.896 0.896 0 0 1 0.896 0.898l-0.03 13.688z" fill="currentColor"/><path d="M135.793 7.841a0.251 0.251 0 0 1 0.237 0.165l0.173 0.468c0.236 0.636 0.331 0.879 0.507 1.055s0.418 0.271 1.055 0.507l0.468 0.173a0.251 0.251 0 0 1 0 0.473l-0.468 0.173c-0.636 0.236 -0.879 0.332 -1.055 0.507s-0.271 0.418 -0.507 1.055l-0.173 0.469a0.252 0.252 0 0 1 -0.473 0l-0.173 -0.469c-0.236 -0.636 -0.332 -0.878 -0.507 -1.055 -0.176 -0.176 -0.418 -0.271 -1.055 -0.507l-0.469 -0.173a0.252 0.252 0 0 1 0 -0.473l0.469 -0.173c0.636 -0.236 0.879 -0.332 1.055 -0.507s0.271 -0.418 0.507 -1.055l0.173 -0.468a0.251 0.251 0 0 1 0.237 -0.165m-3.058 -1.344a0.251 0.251 0 0 1 0.237 0.165l0.074 0.201c0.106 0.285 0.136 0.352 0.184 0.4 0.048 0.048 0.116 0.079 0.4 0.185l0.201 0.073a0.253 0.253 0 0 1 0 0.473l-0.201 0.074c-0.285 0.106 -0.352 0.136 -0.4 0.184 -0.047 0.048 -0.078 0.116 -0.184 0.4l-0.074 0.201a0.252 0.252 0 0 1 -0.472 0l-0.074 -0.201c-0.106 -0.285 -0.136 -0.352 -0.185 -0.4s-0.115 -0.078 -0.4 -0.184l-0.201 -0.074a0.251 0.251 0 0 1 0 -0.473l0.201 -0.073c0.285 -0.106 0.352 -0.136 0.4 -0.185 0.048 -0.047 0.079 -0.115 0.185 -0.4l0.074 -0.201a0.251 0.251 0 0 1 0.236 -0.165" fill="#6443f9"/><path d="M127.903 28.895c-2.917 0 -4.281 -1.521 -4.281 -4.217v-7.356h-1.902V14.308h1.902v-3.575a0.896 0.896 0 0 1 0.896 -0.896h2.172a0.896 0.896 0 0 1 0.896 0.896v3.575h3.108v3.012h-3.108v6.722c0 1.713 1.046 1.776 1.967 1.776h0.983v3.076zm-22.202 0v-13.69a0.896 0.896 0 0 1 0.896 -0.896h2.172a0.896 0.896 0 0 1 0.896 0.896v0.499c1.11 -1.205 2.664 -1.617 4.091 -1.617 2.631 0 5.676 1.426 5.676 5.898v8.91h-3.964v-8.308c0 -2.569 -1.807 -3.172 -2.917 -3.172 -1.141 0 -2.886 0.603 -2.886 3.172v8.308zm-9.81 0.317c-4.472 0 -7.42 -3.266 -7.42 -7.61s2.854 -7.579 7.262 -7.579c4.344 0 7.008 3.234 7.008 7.58v1.078h-10.465c0.381 1.966 1.807 3.139 3.615 3.139 1.934 0 2.949 -0.887 3.457 -1.554l2.695 1.967c-1.269 1.838 -3.488 2.98 -6.152 2.98m-3.552 -9.037h6.691c-0.349 -1.713 -1.427 -3.013 -3.298 -3.013 -1.808 0 -3.013 1.174 -3.393 3.013M80.38 29.34c-3.584 0 -5.803 -1.744 -6.532 -3.519L76.541 24.012c0.349 0.824 2.061 2.157 3.9 2.157 1.364 0 2.093 -0.412 2.093 -1.364 0 -1.174 -1.871 -1.49 -3.012 -1.871s-5.042 -1.3 -5.042 -4.503c0 -3.107 2.726 -4.439 5.866 -4.439 3.172 0 5.295 1.491 6.025 3.076l-2.569 1.649c-0.444 -0.697 -2.029 -1.711 -3.584 -1.711 -1.299 0 -1.871 0.507 -1.871 1.236 0 1.174 1.808 1.49 2.949 1.871s5.105 1.395 5.105 4.534c0 3.076 -2.283 4.693 -6.025 4.693m-11.352 -17.185c-1.079 0 -2.189 -0.824 -2.189 -2.219 0 -1.364 1.111 -2.093 2.188 -2.093 1.046 0 2.189 0.729 2.189 2.093 0 1.395 -1.142 2.219 -2.188 2.219m-1.998 16.744V14.31h3.996l-0.032 14.586zM44.798 28.895 52.942 8.843a0.896 0.896 0 0 1 0.831 -0.559h1.9a0.896 0.896 0 0 1 0.831 0.56l8.113 20.051h-4.344l-1.332 -3.393h-8.467l-1.331 3.393zm7.167 -7.134h5.517l-2.76 -7.008z" fill="currentColor"/></svg>',
342 + 'notice' => '',
343 + 'demo_link' => '',
344 + 'settings_link' => '',
345 + 'doc_link' => 'https://support.themewinter.com/docs/plugins/docs/aisentic/',
346 + ),
347 + 'optiontics' => array(
348 + 'name' => 'optiontics',
349 + 'slug' => 'optiontics',
350 + 'type' => 'plugin',
351 + 'upgrade' => false,
352 + 'upgrade_link' => '',
353 + 'status' => 'off',
354 + 'is_pro' => false,
355 + 'title' => __( 'Optiontics', 'booktics' ),
356 + 'description' => __( 'Offer paid add-ons and extra options with every booking — services, extras, packages, or custom upgrades.', 'booktics' ),
357 + 'icon' => '<svg width="150px" height="40px" viewBox="0 0 155 27.5" fill="none" xmlns="http://www.w3.org/2000/svg"><path width="36" height="42" rx="5" fill="#F6F3FF" d="M3.125 0H19.375A3.125 3.125 0 0 1 22.5 3.125V23.125A3.125 3.125 0 0 1 19.375 26.25H3.125A3.125 3.125 0 0 1 0 23.125V3.125A3.125 3.125 0 0 1 3.125 0z"/><path x="3.375" y="3.5" width="29.25" height="10.5" rx="5.25" fill="#4A3BD6" d="M5.391 2.188H17.109A3.281 3.281 0 0 1 20.391 5.469V5.469A3.281 3.281 0 0 1 17.109 8.75H5.391A3.281 3.281 0 0 1 2.109 5.469V5.469A3.281 3.281 0 0 1 5.391 2.188z"/><path x="3.375" y="15.75" width="29.25" height="10.5" rx="5.25" fill="#6F33EC" d="M5.391 9.844H17.109A3.281 3.281 0 0 1 20.391 13.125V13.125A3.281 3.281 0 0 1 17.109 16.406H5.391A3.281 3.281 0 0 1 2.109 13.125V13.125A3.281 3.281 0 0 1 5.391 9.844z"/><path x="3.375" y="28" width="29.25" height="10.5" rx="5.25" fill="#1AB89C" d="M5.391 17.5H17.109A3.281 3.281 0 0 1 20.391 20.781V20.781A3.281 3.281 0 0 1 17.109 24.063H5.391A3.281 3.281 0 0 1 2.109 20.781V20.781A3.281 3.281 0 0 1 5.391 17.5z"/><path d="M5.274 3.879c0.833 0 1.523 0.703 1.523 1.589S6.107 7.056 5.274 7.056C4.44 7.056 3.75 6.354 3.75 5.468s0.69 -1.589 1.524 -1.589Z" stroke="white" stroke-width="0.46875"/><path cx="8.4375" cy="33.2487" rx="2.8125" ry="2.91667" fill="white" d="M7.031 20.78A1.758 1.823 0 0 1 5.273 22.603A1.758 1.823 0 0 1 3.516 20.78A1.758 1.823 0 0 1 7.031 20.78z"/><path cx="8.4375" cy="20.9987" rx="2.8125" ry="2.91667" fill="white" d="M7.031 13.124A1.758 1.823 0 0 1 5.273 14.947A1.758 1.823 0 0 1 3.516 13.124A1.758 1.823 0 0 1 7.031 13.124z"/><path d="m4.571 13.216 0.439 0.456 0.967 -1.094" stroke="#6F33EC" stroke-width="0.234375" stroke-linecap="round" stroke-linejoin="round"/><path d="M46.759 13.235q0 2.929 -1.11 4.984 -1.102 2.054 -3.008 3.138 -1.898 1.075 -4.266 1.075 -2.386 0 -4.284 -1.084t-2.999 -3.138q-1.102 -2.055 -1.102 -4.975 0 -2.928 1.102 -4.983 1.101 -2.054 2.999 -3.129Q35.989 4.037 38.375 4.037q2.369 0 4.266 1.084 1.906 1.075 3.008 3.129 1.11 2.055 1.11 4.983m-3.837 0q0 -1.897 -0.569 -3.2 -0.559 -1.302 -1.583 -1.975 -1.022 -0.674 -2.395 -0.674t-2.396 0.674q-1.023 0.673 -1.591 1.975 -0.559 1.303 -0.559 3.2t0.559 3.2q0.569 1.302 1.591 1.976 1.023 0.673 2.396 0.673t2.395 -0.673q1.022 -0.673 1.583 -1.976 0.569 -1.303 0.569 -3.2M49.494 27.223V8.759h3.672v2.256h0.166q0.244 -0.542 0.708 -1.102 0.472 -0.569 1.224 -0.944 0.761 -0.385 1.888 -0.385 1.469 0 2.711 0.769 1.241 0.761 1.984 2.3 0.743 1.529 0.743 3.837 0 2.247 -0.726 3.794 -0.717 1.539 -1.958 2.334 -1.233 0.787 -2.763 0.787 -1.084 0 -1.845 -0.359 -0.752 -0.358 -1.232 -0.9 -0.481 -0.551 -0.734 -1.111h-0.114v7.186zm3.646 -11.75q0 1.198 0.332 2.089 0.333 0.892 0.962 1.39 0.629 0.49 1.53 0.49 0.909 0 1.539 -0.498 0.629 -0.507 0.953 -1.399 0.332 -0.9 0.332 -2.072 0 -1.163 -0.323 -2.046 -0.324 -0.883 -0.953 -1.381 -0.63 -0.499 -1.547 -0.498 -0.909 0 -1.539 0.481 -0.621 0.481 -0.953 1.364 -0.332 0.883 -0.332 2.081m19.076 -6.714v2.798h-8.086v-2.797zm-6.251 -3.217h3.724v12.519q0 0.516 0.158 0.805 0.158 0.279 0.437 0.393 0.289 0.114 0.664 0.114 0.263 0 0.524 -0.044 0.263 -0.053 0.403 -0.079l0.586 2.771q-0.279 0.088 -0.787 0.201 -0.507 0.122 -1.232 0.149 -1.346 0.052 -2.361 -0.359 -1.005 -0.411 -1.565 -1.276 -0.559 -0.866 -0.551 -2.186zM74.641 22.188V8.759h3.724V22.188zm1.871 -15.159q-0.831 0 -1.425 -0.551 -0.586 -0.559 -0.586 -1.338 0 -0.769 0.586 -1.321 0.594 -0.559 1.425 -0.559t1.416 0.559q0.594 0.551 0.594 1.321 0 0.778 -0.594 1.338 -0.586 0.55 -1.416 0.55m10.904 15.422q-2.037 0 -3.523 -0.866 -1.478 -0.875 -2.282 -2.431 -0.804 -1.565 -0.804 -3.628 0 -2.081 0.804 -3.637 0.804 -1.564 2.282 -2.43 1.486 -0.875 3.523 -0.875 2.037 0 3.514 0.875 1.486 0.865 2.291 2.43 0.804 1.556 0.804 3.638 0 2.063 -0.804 3.628 -0.804 1.556 -2.291 2.431 -1.478 0.866 -3.514 0.866m0.018 -2.885q0.927 0 1.547 -0.525 0.621 -0.533 0.936 -1.451 0.323 -0.917 0.323 -2.089t-0.323 -2.089q-0.315 -0.917 -0.936 -1.451 -0.621 -0.533 -1.547 -0.533 -0.936 0 -1.574 0.533 -0.629 0.534 -0.953 1.451 -0.314 0.919 -0.314 2.089 0 1.172 0.314 2.089 0.324 0.919 0.953 1.451 0.638 0.525 1.574 0.525m12.737 -5.141V22.188h-3.724V8.759h3.549v2.369h0.157a3.75 3.75 0 0 1 1.495 -1.853q1.049 -0.691 2.544 -0.691 1.399 0 2.439 0.612t1.618 1.749q0.577 1.128 0.577 2.692V22.188h-3.724V14.302q0.008 -1.232 -0.63 -1.924 -0.637 -0.699 -1.757 -0.699 -0.752 0 -1.329 0.324 -0.569 0.324 -0.892 0.944 -0.315 0.613 -0.324 1.478m18.733 -5.665v2.797h-8.087v-2.797zm-6.251 -3.217h3.724v12.519q0 0.516 0.158 0.805 0.158 0.279 0.438 0.393 0.288 0.114 0.664 0.114 0.262 0 0.524 -0.044 0.263 -0.053 0.402 -0.079l0.586 2.771q-0.28 0.088 -0.787 0.201 -0.508 0.122 -1.233 0.149 -1.346 0.052 -2.36 -0.359 -1.006 -0.411 -1.565 -1.276 -0.56 -0.866 -0.551 -2.186zM121.331 22.188V8.759h3.724V22.188zm1.871 -15.159q-0.831 0 -1.425 -0.551 -0.586 -0.559 -0.586 -1.338 0 -0.769 0.586 -1.321 0.594 -0.559 1.425 -0.559t1.416 0.559q0.594 0.551 0.594 1.321 0 0.778 -0.594 1.338 -0.586 0.55 -1.416 0.55m10.904 15.422q-2.063 0 -3.549 -0.875 -1.478 -0.882 -2.272 -2.447 -0.787 -1.565 -0.787 -3.602 0 -2.063 0.796 -3.619 0.804 -1.565 2.281 -2.439 1.478 -0.883 3.515 -0.883 1.757 0 3.077 0.637 1.321 0.639 2.089 1.792 0.769 1.154 0.848 2.711h-3.514q-0.148 -1.006 -0.787 -1.618 -0.629 -0.621 -1.653 -0.621 -0.865 0 -1.512 0.472 -0.639 0.463 -0.997 1.355t-0.359 2.159q0 1.286 0.35 2.186 0.358 0.9 1.006 1.373 0.647 0.473 1.512 0.473 0.639 0 1.146 -0.263a2.219 2.219 0 0 0 0.848 -0.761q0.341 -0.506 0.446 -1.215h3.514q-0.088 1.539 -0.839 2.71 -0.742 1.163 -2.054 1.819 -1.311 0.656 -3.104 0.656m19.555 -9.862 -3.409 0.21a1.75 1.75 0 0 0 -0.376 -0.787 2 2 0 0 0 -0.761 -0.569q-0.463 -0.218 -1.11 -0.218 -0.866 0 -1.46 0.367 -0.594 0.358 -0.594 0.961 0 0.481 0.384 -2.666 0 -4.249 -1.111 -1.574 -1.119 -1.845 -3.043l3.663 -0.192q0.166 0.813 0.804 1.241 0.639 0.419 1.635 0.419 0.979 0 1.574 -0.376 0.603 -0.384 0.612 -0.988 -0.009 -0.508 -0.429 -0.831 -0.419 -0.332 -1.294 -0.506l-2.326 -0.464q-1.967 -0.394 -2.929 -1.364 -0.953 -0.971 -0.953 -2.474 0 -1.294 0.699 -2.229 0.708 -0.936 1.984 -1.442 1.286 -0.506 3.008 -0.507 2.544 0 4.004 1.075 1.469 1.076 1.714 2.929" fill="currentColor"/></svg>',
358 + 'notice' => '',
359 + 'demo_link' => '',
360 + 'settings_link' => '',
361 + 'doc_link' => 'https://support.themewinter.com/docs/plugins/plugin-docs/optiontics/how-to-create-product-options/',
362 + 'download_link' => 'https://github.com/themewinter/optiontics-public/releases/download/release/optiontics.zip',
260 363 ),
261 364 );
262 365 }
263 366 }