PluginProbe
Order Tracking – WordPress Status Tracking Plugin / 3.2.2
Order Tracking – WordPress Status Tracking Plugin v3.2.2
3.5.4 3.5.3 3.5.2 3.5.1 3.5.0 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.2.0 3.2.1 3.2.2 3.2.3 3.2.4 3.2.5 3.3.0 3.3.1 3.3.10 3.3.11 3.3.12 3.3.13 3.3.14 3.3.15 All 235 releases
order-tracking / includes / Permissions.class.php

Permissions.class.php in Order Tracking – WordPress Status Tracking Plugin 3.2.2, at includes/Permissions.class.php

74 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( !defined( 'ABSPATH' ) ) exit;
3
4 if ( !class_exists( 'ewdotpPermissions' ) ) {
5 /**
6 * Class to handle plugin permissions for Order Tracking
7 *
8 * @since 3.0.0
9 */
10 class ewdotpPermissions {
11
12 private $plugin_permissions;
13 private $permission_level;
14
15 public function __construct() {
16
17 $this->plugin_permissions = array(
18 'customers' => 2,
19 'sales_reps' => 2,
20 'customer_orders' => 2,
21 'custom_fields' => 2,
22 'styling' => 2,
23 'premium' => 2,
24 'woocommerce' => 2,
25 'zendesk' => 2,
26 'import' => 2,
27 'export' => 2,
28 'statuses' => 2,
29 'locations' => 2,
30 'payments' => 2,
31 'labelling' => 2,
32 );
33 }
34
35 public function set_permissions() {
36 global $ewd_otp_controller;
37
38 if ( is_array( get_option( 'ewd-otp-permission-level' ) ) ) { return; }
39
40 if ( ! empty( get_option( 'ewd-otp-permission-level' ) ) ) {
41
42 update_option( 'ewd-otp-permission-level', array( get_option( 'ewd-otp-permission-level' ) ) );
43
44 return;
45 }
46
47 $this->permission_level = get_option( 'EWD_OTP_Full_Version' ) == 'Yes' ? 2 : 1;
48
49 update_option( 'ewd-otp-permission-level', array( $this->permission_level ) );
50 }
51
52 public function get_permission_level() {
53
54 if ( ! is_array( get_option( 'ewd-otp-permission-level' ) ) ) { $this->set_permissions(); }
55
56 $permissions_array = get_option( 'ewd-otp-permission-level' );
57
58 $this->permission_level = is_array( $permissions_array ) ? reset( $permissions_array ) : $permissions_array;
59 }
60
61 public function check_permission( $permission_type = '' ) {
62
63 if ( ! $this->permission_level ) { $this->get_permission_level(); }
64
65 return ( array_key_exists( $permission_type, $this->plugin_permissions ) ? ( $this->permission_level >= $this->plugin_permissions[$permission_type] ? true : false ) : false );
66 }
67
68 public function update_permissions() {
69
70 $this->permission_level = get_option( 'ewd-otp-permission-level' );
71 }
72 }
73
74 }