Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor/classes/Config.php
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
<?php
2
+
/**
3
+
* Tutor Config
4
+
*
5
+
* @package Tutor
6
+
* @author Themeum <support@themeum.com>
7
+
* @link https://themeum.com
8
+
* @since 3.7.0
9
+
*/
10
+
11
+
namespace TUTOR;
12
+
13
+
if ( ! defined( 'ABSPATH' ) ) {
14
+
exit;
15
+
}
16
+
17
+
/**
18
+
* Config Class
19
+
*
20
+
* @since 3.7.0
21
+
*/
22
+
class Config extends Singleton {
23
+
/**
24
+
* All settings.
25
+
*
26
+
* @since 3.7.0
27
+
*
28
+
* @var array
29
+
*/
30
+
private array $settings = array();
31
+
32
+
/**
33
+
* Constructor function
34
+
*
35
+
* @since 3.7.0
36
+
*/
37
+
public function __construct() {
38
+
$path = plugin_dir_path( TUTOR_FILE );
39
+
$has_pro = defined( 'TUTOR_PRO_VERSION' );
40
+
41
+
// Prepare the basepath.
42
+
$home_url = get_home_url();
43
+
$parsed = parse_url( $home_url );
44
+
$base_path = ( is_array( $parsed ) && isset( $parsed['path'] ) ) ? $parsed['path'] : '/';
45
+
$base_path = rtrim( $base_path, '/' ) . '/';
46
+
// Get current URL.
47
+
$current_url = trailingslashit( $home_url ) . substr( $_SERVER['REQUEST_URI'], strlen( $base_path ) );//phpcs:ignore
48
+
49
+
$this->settings = array(
50
+
'path' => $path,
51
+
'url' => plugin_dir_url( TUTOR_FILE ),
52
+
'icon_dir' => plugin_dir_url( TUTOR_FILE ) . 'assets/images/images-v2/icons/',
53
+
'v2_img_dir' => plugin_dir_url( TUTOR_FILE ) . 'assets/images/images-v2/',
54
+
'current_url' => $current_url,
55
+
'basename' => plugin_basename( TUTOR_FILE ),
56
+
'basepath' => $base_path,
57
+
'version' => TUTOR_VERSION,
58
+
'nonce_action' => 'tutor_nonce_action',
59
+
'nonce' => '_tutor_nonce',
60
+
'course_post_type' => apply_filters( 'tutor_course_post_type', 'courses' ),
61
+
'bundle_post_type' => apply_filters( 'tutor_bundle_post_type', 'course-bundle' ),
62
+
'lesson_post_type' => apply_filters( 'tutor_lesson_post_type', 'lesson' ),
63
+
'instructor_role' => apply_filters( 'tutor_instructor_role', 'tutor_instructor' ),
64
+
'template_path' => apply_filters( 'tutor_template_path', 'tutor/' ),
65
+
'has_pro' => apply_filters( 'tutor_has_pro', $has_pro ),
66
+
// @since v2.0.6.
67
+
'topics_post_type' => apply_filters( 'tutor_topics_post_type', 'topics' ),
68
+
'announcement_post_type' => apply_filters( 'tutor_announcement_post_type', 'tutor_announcements' ),
69
+
'assignment_post_type' => apply_filters( 'tutor_assignment_post_type', 'tutor_assignments' ),
70
+
'enrollment_post_type' => apply_filters( 'tutor_enrollment_post_type', 'tutor_enrolled' ),
71
+
'quiz_post_type' => apply_filters( 'tutor_quiz_post_type', 'tutor_quiz' ),
72
+
'zoom_post_type' => apply_filters( 'tutor_zoom_meeting_post_type', 'tutor_zoom_meeting' ),
73
+
'meet_post_type' => apply_filters( 'tutor_google_meeting_post_type', 'tutor-google-meet' ),
74
+
);
75
+
}
76
+
77
+
/**
78
+
* Get a config value as property.
79
+
*
80
+
* @since 3.7.0
81
+
*
82
+
* @param string $key key.
83
+
*
84
+
* @return mixed
85
+
*/
86
+
public function __get( string $key ) {
87
+
if ( ! array_key_exists( $key, $this->settings ) ) {
88
+
tutor_log( "Warning: Config property {$key} does not exist." );
89
+
return null;
90
+
}
91
+
return $this->settings[ $key ];
92
+
}
93
+
94
+
/**
95
+
* Get all settings
96
+
*
97
+
* @since 3.7.0
98
+
*
99
+
* @return array
100
+
*/
101
+
public function all(): array {
102
+
return $this->settings;
103
+
}
104
+
}
105
+