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