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 / Models / DataModel.php

DataModel.php in ShopBuilder – WooCommerce Builder For Elementor 1.1.2, at app/Models/DataModel.php

62 lines 1.1 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\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 }