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