PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.0.10
Tutor LMS – eLearning and online course solution v2.0.10
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 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 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / tutor.php
tutor Last commit date
assets 3 years ago cache 3 years ago classes 3 years ago helpers 3 years ago includes 3 years ago languages 3 years ago models 3 years ago restapi 4 years ago templates 3 years ago vendor 3 years ago views 3 years ago readme.txt 3 years ago tutor.php 3 years ago
tutor.php
169 lines
1 <?php
2 /**
3 * Plugin Name: Tutor LMS
4 * Plugin URI: https://www.themeum.com/product/tutor-lms/
5 * Description: Tutor is a complete solution for creating a Learning Management System in WordPress way. It can help you to create small to large scale online education site very conveniently. Power features like report, certificate, course preview, private file sharing make Tutor a robust plugin for any educational institutes.
6 * Author: Themeum
7 * Version: 2.0.10
8 * Author URI: https://themeum.com
9 * Requires at least: 5.3
10 * Tested up to: 6.0.2
11 * License: GPLv2 or later
12 * Text Domain: tutor
13 */
14
15 if ( ! defined( 'ABSPATH' ) ) {
16 exit;
17 }
18
19 require_once "vendor/autoload.php";
20
21 /**
22 * Defined the tutor main file
23 */
24 define( 'TUTOR_VERSION', '2.0.10' );
25 define( 'TUTOR_FILE', __FILE__ );
26
27 /**
28 * Load tutor text domain for translation
29 */
30 add_action(
31 'init',
32 function () {
33 load_plugin_textdomain( 'tutor', false, basename( dirname( __FILE__ ) ) . '/languages' );
34 }
35 );
36
37 /**
38 * Tutor Helper function
39 *
40 * @since v.1.0.0
41 */
42
43 if ( ! function_exists( 'tutor' ) ) {
44 /**
45 * Tutor variable and declarations
46 *
47 * @return object
48 */
49 function tutor() {
50 if ( isset( $GLOBALS['tutor_plugin_info'] ) ) {
51 return $GLOBALS['tutor_plugin_info'];
52 }
53
54 $path = plugin_dir_path( TUTOR_FILE );
55 $has_pro = defined( 'TUTOR_PRO_VERSION' );
56
57 // Prepare the basepath.
58 $home_url = get_home_url();
59 $parsed = parse_url($home_url);
60 $base_path = (is_array($parsed) && isset($parsed['path'])) ? $parsed['path'] : '/';
61 $base_path = rtrim($base_path, '/') . '/';
62 // Get current URL
63 $current_url = $home_url . '/' . substr($_SERVER['REQUEST_URI'], strlen($base_path));
64
65 $info = array(
66 'path' => $path,
67 'url' => plugin_dir_url( TUTOR_FILE ),
68 'icon_dir' => plugin_dir_url( TUTOR_FILE ) . 'assets/images/images-v2/icons/',
69 'v2_img_dir' => plugin_dir_url( TUTOR_FILE ) . 'assets/images/images-v2/',
70 'current_url' => $current_url,
71 'basename' => plugin_basename( TUTOR_FILE ),
72 'basepath' => $base_path,
73 'version' => TUTOR_VERSION,
74 'nonce_action' => 'tutor_nonce_action',
75 'nonce' => '_tutor_nonce',
76 'course_post_type' => apply_filters( 'tutor_course_post_type', 'courses' ),
77 'lesson_post_type' => apply_filters( 'tutor_lesson_post_type', 'lesson' ),
78 'instructor_role' => apply_filters( 'tutor_instructor_role', 'tutor_instructor' ),
79 'instructor_role_name' => apply_filters( 'tutor_instructor_role_name', __( 'Tutor Instructor', 'tutor' ) ),
80 'template_path' => apply_filters( 'tutor_template_path', 'tutor/' ),
81 'has_pro' => apply_filters( 'tutor_has_pro', $has_pro ),
82 // @since v2.0.6.
83 'topics_post_type' => apply_filters( 'tutor_topics_post_type', 'topics' ),
84 'announcement_post_type' => apply_filters( 'tutor_announcement_post_type', 'tutor_announcements' ),
85 'assignment_post_type' => apply_filters( 'tutor_assignment_post_type', 'tutor_assignments' ),
86 'enrollment_post_type' => apply_filters( 'tutor_enrollment_post_type', 'tutor_enrolled' ),
87 'quiz_post_type' => apply_filters( 'tutor_quiz_post_type', 'tutor_quiz' ),
88 'zoom_post_type' => apply_filters( 'tutor_zoom_meeting_post_type', 'tutor_zoom_meeting' ),
89 );
90
91 $GLOBALS['tutor_plugin_info'] = (object) $info;
92 return $GLOBALS['tutor_plugin_info'];
93 }
94 }
95
96 if ( ! class_exists( 'Tutor' ) ) {
97 include_once 'classes/Tutor.php';
98 }
99
100 /**
101 * Get all helper functions/methods
102 *
103 * @return \TUTOR\Utils
104 */
105
106 if ( ! class_exists( '\TUTOR\Utils' ) ) {
107 include_once 'classes/Utils.php';
108 }
109
110 if ( ! function_exists( 'tutor_utils' ) ) {
111 /**
112 * Access tutor utils functions
113 *
114 * @return \TUTOR\Utils
115 */
116 function tutor_utils() {
117 if ( ! isset( $GLOBALS['tutor_utils_object'] ) ) {
118 // Use runtime cache
119 $GLOBALS['tutor_utils_object'] = new \TUTOR\Utils();
120 }
121
122 return $GLOBALS['tutor_utils_object'];
123 }
124 }
125
126
127 if ( ! function_exists( 'tutils' ) ) {
128 /**
129 * Alis of tutor_utils()
130 *
131 * @return \TUTOR\Utils
132 *
133 * @since v.1.3.4
134 */
135 function tutils() {
136 return tutor_utils();
137 }
138 }
139
140 /**
141 * Do some task during activation
142 *
143 * @moved here from Tutor Class
144 * @since v.1.5.2
145 */
146 register_activation_hook( TUTOR_FILE, array( '\TUTOR\Tutor', 'tutor_activate' ) );
147 register_deactivation_hook( TUTOR_FILE, array( '\TUTOR\Tutor', 'tutor_deactivation' ) );
148
149 /**
150 * Run main instance of the Tutor
151 *
152 * @return null|\TUTOR\Tutor
153 *
154 * @since v.1.2.0
155 */
156 if ( ! function_exists( 'tutor_lms' ) ) {
157 function tutor_lms() {
158 return \TUTOR\Tutor::instance();
159 }
160 }
161
162 if ( ! function_exists( 'str_contains' ) ) {
163 function str_contains( string $haystack, string $needle ) {
164 return empty( $needle ) || strpos( $haystack, $needle ) !== false;
165 }
166 }
167 // add_action('plugins_loaded', 'tutor_lms');.
168 $GLOBALS['tutor'] = tutor_lms();
169