PluginProbe
ShopBuilder – WooCommerce Builder For Elementor / 1.1.2
ShopBuilder – WooCommerce Builder For Elementor v1.1.2
3.4.2 3.4.1 3.4.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.10 2.1.11 2.1.12 2.1.13 2.1.14 2.1.15 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 All 63 releases
shopbuilder / app / Helpers / Installation.php

Installation.php in ShopBuilder – WooCommerce Builder For Elementor 1.1.2, at app/Helpers/Installation.php

73 lines 2.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace RadiusTheme\SB\Helpers;
4
5 // Do not allow directly accessing this file.
6 use RadiusTheme\SB\Models\DataModel;
7 use RadiusTheme\SB\Models\Settings;
8
9 if ( ! defined( 'ABSPATH' ) ) {
10 exit( 'This script cannot be accessed directly.' );
11 }
12
13 class Installation {
14
15 public static function init(){
16 add_action( 'init', [ __CLASS__, 'check_version' ], 5 );
17 }
18
19 public static function check_version() {
20 if ( version_compare( get_option( 'rtsb_version' ), RTSB_VERSION, '<' ) ) {
21 self::activate();
22 }
23 }
24
25 public static function activate() {
26 if ( ! is_blog_installed() ) {
27 return;
28 }
29
30 // Check if we are not already running this routine.
31 if ( 'yes' === get_transient( 'rtsb_installing' ) ) {
32 return;
33 }
34
35 // If we made it till here nothing is running yet, lets set the transient now.
36 set_transient( 'rtsb_installing', 'yes', MINUTE_IN_SECONDS * 10 );
37
38 if ( ! get_option( 'rtsb_version' ) ) {
39 self::set_default_options();
40 }
41
42 self::update_rtsb_version();
43
44 delete_transient( 'rtsb_installing' );
45 }
46
47 private static function update_rtsb_version() {
48 update_option( 'rtsb_version', RTSB_VERSION );
49 }
50
51 public static function deactivation() { }
52
53 public static function set_default_options(){
54 $sections = Settings::instance()->get_sections();
55 foreach ( $sections as $sections_id => $section ) {
56 $rawOptions = [];
57 if ( ! empty( $section['list'] ) ) {
58 foreach ( $section['list'] as $blocks_id => $blocks) {
59 if( ! empty( $blocks['active'] ) ){
60 $rawOptions['active'] = $blocks['active'];
61 }
62 foreach ( $blocks['fields'] as $field_id => $field) {
63 $type = 'array' === gettype( $field['value'] ) ? [] : '' ;
64 $rawOptions[$field_id] = ! empty( $field['value'] ) ? $field['value'] : $type;
65 }
66 Fns::set_options( $sections_id, $blocks_id, $rawOptions );
67 }
68 }
69 }
70 }
71
72
73 }