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
← All changes | app/Models/DataModel.php +62 -63 2.1.71.1.2 View file →
@@ -1,63 +1,62 @@
1 -<?php
2 -
3 -namespace RadiusTheme\SB\Models;
4 -
5 -// Do not allow directly accessing this file.
6 -if ( ! defined( 'ABSPATH' ) ) {
7 - exit( 'This script cannot be accessed directly.' );
8 -}
9 -
10 -class DataModel {
11 - private $db_key;
12 - private static $instances = [];
13 -
14 - private function __construct( $source ) {
15 - $this->set_db_key( $source );
16 - }
17 -
18 - public static function source( $source = 'settings' ) {
19 - if ( ! isset( self::$instances[ $source ] ) ) {
20 - self::$instances[ $source ] = new self( $source );
21 - }
22 -
23 - return self::$instances[ $source ];
24 - }
25 -
26 - private function set_db_key( $source ) {
27 - $this->db_key = 'rtsb_' . $source;
28 - }
29 -
30 - public function get_option( $key, $default = null, $cache = true ) {
31 - if ( $cache && isset( $GLOBALS[ $this->db_key ] ) ) {
32 - $db = $GLOBALS[ $this->db_key ];
33 - } else {
34 - $db = get_option( $this->db_key, [] );
35 - $GLOBALS[ $this->db_key ] = $db;
36 - }
37 - return $db[ $key ] ?? $default;
38 - }
39 -
40 - public function set_option( $key, $value ) {
41 - $db = get_option( $this->db_key, [] );
42 -
43 - if ( is_object( $db ) ) {
44 - $db = (array) $db;
45 - }
46 -
47 - if ( ! is_array( $db ) ) {
48 - $db = [];
49 - }
50 -
51 - $db[ $key ] = $value;
52 -
53 - return update_option( $this->db_key, $db );
54 - }
55 -
56 - public function delete_option( $key ) {
57 - $db = get_option( $this->db_key, [] );
58 - if ( isset( $db[ $key ] ) ) {
59 - unset( $db[ $key ] );
60 - }
61 - return update_option( $this->db_key, $db );
62 - }
63 -}
1 +<?php
2 +
3 +namespace RadiusTheme\SB\Models;
4 +
5 +// Do not allow directly accessing this file.
6 +if ( ! defined( 'ABSPATH' ) ) {
7 + exit( 'This script cannot be accessed directly.' );
8 +}
9 +
10 +class DataModel {
11 + private $db_key;
12 + private static $instance;
13 +
14 + public static function source( $source = 'settings' ) {
15 + if ( ! self::$instance ) {
16 + self::$instance = new self();
17 + }
18 +
19 + self::$instance->set_db_key( $source );
20 +
21 + return self::$instance;
22 + }
23 +
24 + private function set_db_key( $source ) {
25 + $this->db_key = 'rtsb_' . $source;
26 + }
27 +
28 + public function get_option( $key, $default = null ) {
29 +
30 + $db = get_option( $this->db_key, [] );
31 +
32 + return isset( $db[ $key ] ) ? $db[ $key ] : $default;
33 + }
34 +
35 + public function set_option( $key, $value ) {
36 +
37 + $db = get_option( $this->db_key, [] );
38 +
39 + if ( is_object( $db ) ) {
40 + $db = (array) $db;
41 + }
42 +
43 + if ( ! is_array( $db ) ) {
44 + $db = [];
45 + }
46 +
47 + $db[ $key ] = $value;
48 +
49 + return update_option( $this->db_key, $db );
50 + }
51 +
52 + public function delete_option( $key ) {
53 +
54 + $db = get_option( $this->db_key, [] );
55 +
56 + if ( isset( $db[ $key ] ) ) {
57 + unset( $db[ $key ] );
58 + }
59 +
60 + return true;
61 + }
62 +}