PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.1.1
Tutor LMS – eLearning and online course solution v2.1.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 / classes / Gutenberg.php
tutor / classes Last commit date
Addons.php 3 years ago Admin.php 3 years ago Ajax.php 3 years ago Announcements.php 3 years ago Assets.php 3 years ago Backend_Page_Trait.php 3 years ago Course.php 3 years ago Course_Embed.php 3 years ago Course_Filter.php 3 years ago Course_List.php 3 years ago Course_Settings_Tabs.php 3 years ago Course_Widget.php 4 years ago Custom_Validation.php 4 years ago Dashboard.php 3 years ago FormHandler.php 4 years ago Frontend.php 3 years ago Gutenberg.php 3 years ago Input.php 3 years ago Instructor.php 4 years ago Instructors_List.php 3 years ago Lesson.php 3 years ago Options_V2.php 3 years ago Post_types.php 3 years ago Private_Course_Access.php 4 years ago Q_and_A.php 3 years ago Question_Answers_List.php 4 years ago Quiz.php 3 years ago Quiz_Attempts_List.php 3 years ago RestAPI.php 4 years ago Reviews.php 3 years ago Rewrite_Rules.php 4 years ago Shortcode.php 4 years ago Student.php 4 years ago Students_List.php 4 years ago Taxonomies.php 4 years ago Template.php 3 years ago Theme_Compatibility.php 5 years ago Tools.php 3 years ago Tools_V2.php 4 years ago Tutor.php 3 years ago TutorEDD.php 4 years ago Tutor_Base.php 5 years ago Tutor_List_Table.php 3 years ago Tutor_Setup.php 3 years ago Upgrader.php 4 years ago User.php 4 years ago Utils.php 3 years ago Video_Stream.php 4 years ago Withdraw.php 3 years ago Withdraw_Requests_List.php 3 years ago WooCommerce.php 3 years ago
Gutenberg.php
137 lines
1 <?php
2 /**
3 * Gutenberg class
4 *
5 * @author: themeum
6 * @author_uri: https://themeum.com
7 * @package Tutor
8 * @since v.1.0.0
9 */
10
11
12 namespace TUTOR;
13
14
15 if ( ! defined( 'ABSPATH' ) )
16 exit;
17
18 class Gutenberg {
19
20 public function __construct() {
21 if ( ! function_exists('register_block_type')){
22 return;
23 }
24
25 add_action( 'init', array($this, 'register_blocks') );
26 add_filter('block_categories_all', array($this, 'registering_new_block_category'), 10, 2);
27 add_action('wp_ajax_render_block_tutor', array($this, 'render_block_tutor'));
28 add_filter( 'rest_user_query', array($this, 'author_list_dropdown'), 10, 2 );
29 }
30
31 /**
32 * Bind author list on gutenberg editor mode
33 *
34 * @param array $prepared_args
35 * @param WP_REST_Request $request
36 *
37 * @return void
38 *
39 * @since 2.1.0
40 */
41 public function author_list_dropdown( $prepared_args, $request ) {
42 $url = $request->get_header('referer');
43 $parts = parse_url( $url );
44 parse_str( $parts['query'], $query );
45 $post_id = (int) $query['post'] ?? 0;
46
47 if ( ! $post_id ) {
48 return $prepared_args;
49 }
50
51 $post = get_post( $post_id );
52
53 if ( $post->post_type === tutor()->course_post_type && tutor_utils()->get_option( 'enable_gutenberg_course_edit' ) === true ){
54 // Modify the wp/v2/users endpoint request from gutenberg editor
55 unset( $prepared_args['who'] );
56 $prepared_args['role__in'] = array( 'administrator', 'tutor_instructor' );
57 }
58
59 return $prepared_args;
60 }
61
62 function register_blocks() {
63 global $pagenow;
64 if ( 'widgets.php' !== $pagenow ) {
65 wp_register_script(
66 'tutor-student-registration-block', tutor()->url . 'assets/js/lib/gutenberg_blocks.js', array( 'wp-blocks', 'wp-i18n', 'wp-element', 'wp-components', 'wp-editor' )
67 );
68 }
69
70 register_block_type( 'tutor-gutenberg/student-registration', array(
71 'editor_script' => 'tutor-student-registration-block',
72 'render_callback' => array($this, 'render_block_student_registration'),
73 ) );
74 /*
75 register_block_type( 'tutor-gutenberg/student-dashboard', array(
76 'editor_script' => 'tutor-student-registration-block',
77 'render_callback' => array($this, 'render_block_tutor_dashboard'),
78 ) );*/
79 register_block_type( 'tutor-gutenberg/instructor-registration', array(
80 'editor_script' => 'tutor-student-registration-block',
81 'render_callback' => array($this, 'render_block_tutor_instructor_registration_form'),
82 ) );
83
84 // Check if WP version is equal to or greater than 5.9.
85 global $wp_version;
86 if ( version_compare( $wp_version, '5.9', '>=' ) && function_exists( 'wp_is_block_theme' ) && wp_is_block_theme() ) {
87 wp_localize_script( 'tutor-student-registration-block', '_tutor_gutenberg_block_data', array(
88 'is_wp_version_5_9' => 'true',
89 ) );
90 } else {
91 wp_localize_script( 'tutor-student-registration-block', '_tutor_gutenberg_block_data', array(
92 'is_wp_version_5_9' => 'false',
93 ) );
94 }
95 }
96
97 public function registering_new_block_category($categories, $post ){
98 return array_merge(
99 array(
100 array(
101 'slug' => 'tutor',
102 'title' => __( 'Tutor LMS', 'tutor' ),
103 ),
104 ),
105 $categories
106 );
107 }
108
109 public function render_block_student_registration($args){
110 return do_shortcode("[tutor_student_registration_form]");
111 }
112 public function render_block_tutor_dashboard($args){
113 return do_shortcode("[tutor_dashboard]");
114 }
115 public function render_block_tutor_instructor_registration_form($args){
116 return do_shortcode("[tutor_instructor_registration_form]");
117 }
118
119 //For editor
120 public function render_block_tutor(){
121 tutor_utils()->checking_nonce();
122
123 $shortcode = sanitize_text_field($_POST['shortcode']);
124
125 $allowed_shortcode = array(
126 'tutor_instructor_registration_form',
127 'tutor_student_registration_form'
128 );
129
130 if(!in_array($shortcode, $allowed_shortcode)) {
131 wp_send_json_error( );
132 }
133
134 wp_send_json_success(do_shortcode("[{$shortcode}]"));
135 }
136
137 }