PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.6.1
Tutor LMS – eLearning and online course solution v3.6.1
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 1 year ago cache 2 years ago classes 1 year ago ecommerce 1 year ago helpers 1 year ago includes 1 year ago languages 1 year ago models 1 year ago restapi 1 year ago templates 1 year ago traits 1 year ago vendor 1 year ago views 1 year ago readme.txt 1 year ago tutor.php 1 year ago
tutor.php
152 lines
1 <?php
2 /**
3 * Plugin Name: Tutor LMS
4 * Plugin URI: https://tutorlms.com
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: 3.6.1
8 * Author URI: https://themeum.com
9 * Requires PHP: 7.4
10 * Requires at least: 5.3
11 * Tested up to: 6.8
12 * License: GPLv2 or later
13 * Text Domain: tutor
14 *
15 * @package Tutor
16 */
17
18 defined( 'ABSPATH' ) || exit;
19
20 require_once __DIR__ . '/vendor/autoload.php';
21
22 /**
23 * Constants for tutor plugin.
24 */
25 define( 'TUTOR_VERSION', '3.6.1' );
26 define( 'TUTOR_FILE', __FILE__ );
27
28 // Load text domain.
29 add_action( 'init', fn () => load_plugin_textdomain( 'tutor', false, basename( __DIR__ ) . '/languages' ) );
30
31
32 if ( ! function_exists( 'tutor' ) ) {
33 /**
34 * Tutor helper function.
35 *
36 * @since 1.0.0
37 *
38 * @return object
39 */
40 function tutor() {
41 if ( isset( $GLOBALS['tutor_plugin_info'] ) ) {
42 return $GLOBALS['tutor_plugin_info'];
43 }
44
45 $path = plugin_dir_path( TUTOR_FILE );
46 $has_pro = defined( 'TUTOR_PRO_VERSION' );
47
48 // Prepare the basepath.
49 $home_url = get_home_url();
50 $parsed = parse_url( $home_url );
51 $base_path = ( is_array( $parsed ) && isset( $parsed['path'] ) ) ? $parsed['path'] : '/';
52 $base_path = rtrim( $base_path, '/' ) . '/';
53 // Get current URL.
54 $current_url = trailingslashit( $home_url ) . substr( $_SERVER['REQUEST_URI'], strlen( $base_path ) );//phpcs:ignore
55
56 $info = array(
57 'path' => $path,
58 'url' => plugin_dir_url( TUTOR_FILE ),
59 'icon_dir' => plugin_dir_url( TUTOR_FILE ) . 'assets/images/images-v2/icons/',
60 'v2_img_dir' => plugin_dir_url( TUTOR_FILE ) . 'assets/images/images-v2/',
61 'current_url' => $current_url,
62 'basename' => plugin_basename( TUTOR_FILE ),
63 'basepath' => $base_path,
64 'version' => TUTOR_VERSION,
65 'nonce_action' => 'tutor_nonce_action',
66 'nonce' => '_tutor_nonce',
67 'course_post_type' => apply_filters( 'tutor_course_post_type', 'courses' ),
68 'bundle_post_type' => apply_filters( 'tutor_bundle_post_type', 'course-bundle' ),
69 'lesson_post_type' => apply_filters( 'tutor_lesson_post_type', 'lesson' ),
70 'instructor_role' => apply_filters( 'tutor_instructor_role', 'tutor_instructor' ),
71 'template_path' => apply_filters( 'tutor_template_path', 'tutor/' ),
72 'has_pro' => apply_filters( 'tutor_has_pro', $has_pro ),
73 // @since v2.0.6.
74 'topics_post_type' => apply_filters( 'tutor_topics_post_type', 'topics' ),
75 'announcement_post_type' => apply_filters( 'tutor_announcement_post_type', 'tutor_announcements' ),
76 'assignment_post_type' => apply_filters( 'tutor_assignment_post_type', 'tutor_assignments' ),
77 'enrollment_post_type' => apply_filters( 'tutor_enrollment_post_type', 'tutor_enrolled' ),
78 'quiz_post_type' => apply_filters( 'tutor_quiz_post_type', 'tutor_quiz' ),
79 'zoom_post_type' => apply_filters( 'tutor_zoom_meeting_post_type', 'tutor_zoom_meeting' ),
80 'meet_post_type' => apply_filters( 'tutor_google_meeting_post_type', 'tutor-google-meet' ),
81 );
82
83 $GLOBALS['tutor_plugin_info'] = (object) $info;
84 return $GLOBALS['tutor_plugin_info'];
85 }
86 }
87
88 /**
89 * Load core classes.
90 *
91 * @since 1.0.0
92 */
93 ! class_exists( 'Tutor' ) && require_once 'classes/Tutor.php';
94 ! class_exists( '\TUTOR\Utils' ) && require_once 'classes/Utils.php';
95
96 if ( ! function_exists( 'tutor_utils' ) ) {
97 /**
98 * Access tutor utils functions
99 *
100 * @since 1.0.0
101 *
102 * @return \TUTOR\Utils
103 */
104 function tutor_utils() {
105 if ( ! isset( $GLOBALS['tutor_utils_object'] ) ) {
106 // Use runtime cache.
107 $GLOBALS['tutor_utils_object'] = new \TUTOR\Utils();
108 }
109
110 return $GLOBALS['tutor_utils_object'];
111 }
112 }
113
114
115 if ( ! function_exists( 'tutils' ) ) {
116 /**
117 * Alias of tutor_utils()
118 *
119 * @since 1.3.4
120 *
121 * @return \TUTOR\Utils
122 */
123 function tutils() {
124 return tutor_utils();
125 }
126 }
127
128 /**
129 * Do some task during activation
130 *
131 * @since 1.5.2
132 * @since 2.6.2 Uninstall hook registered
133 */
134 register_activation_hook( TUTOR_FILE, array( '\TUTOR\Tutor', 'tutor_activate' ) );
135 register_deactivation_hook( TUTOR_FILE, array( '\TUTOR\Tutor', 'tutor_deactivation' ) );
136 register_uninstall_hook( TUTOR_FILE, array( '\TUTOR\Tutor', 'tutor_uninstall' ) );
137
138 if ( ! function_exists( 'tutor_lms' ) ) {
139 /**
140 * Run main instance of the Tutor
141 *
142 * @since 1.2.0
143 *
144 * @return null|\TUTOR\Tutor
145 */
146 function tutor_lms() {
147 return \TUTOR\Tutor::instance();
148 }
149 }
150
151 $GLOBALS['tutor'] = tutor_lms();
152