PluginProbe
Tutor LMS – eLearning and online course solution / 1.8.10
Tutor LMS – eLearning and online course solution v1.8.10
4.0.7 4.0.6 4.0.5 4.0.4 4.0.3 4.0.2 4.0.1 4.0.0 3.9.15 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 All 191 releases
← All changes | classes/Frontend.php +19 -123 trunk1.8.10 View file →
@@ -1,147 +1,43 @@
1 1 <?php
2 2 /**
3 - * Manage Frontend
3 + * Frontend class
4 4 *
5 + * @author: themeum
6 + * @author_uri: https://themeum.com
5 7 * @package Tutor
6 - * @author Themeum <support@themeum.com>
7 - * @link https://themeum.com
8 - * @since 1.5.2
8 + * @since v.1.5.2
9 9 */
10 10
11 +
11 12 namespace TUTOR;
12 13
13 -use Tutor\Models\CourseModel;
14 -
15 -if ( ! defined( 'ABSPATH' ) ) {
14 +if ( ! defined( 'ABSPATH' ) )
16 15 exit;
17 -}
18 16
19 -/**
20 - * Frontend class
21 - *
22 - * @since 1.5.2
23 - */
24 17 class Frontend {
25 18
26 - /**
27 - * Constructor
28 - *
29 - * @since 1.5.2
30 - * @return void
31 - */
32 19 public function __construct() {
33 - add_action( 'after_setup_theme', array( $this, 'remove_admin_bar' ) );
34 - add_filter( 'nav_menu_link_attributes', array( $this, 'add_menu_atts' ), 10, 3 );
35 - add_action( 'admin_init', array( $this, 'restrict_wp_admin_area' ) );
36 - add_action( 'tutor_before_course_builder_load', array( $this, 'restrict_wp_admin_area' ) );
20 + add_action('after_setup_theme', array($this, 'remove_admin_bar'));
37 21
38 - // Handle flash toast message for redirect_to util helper.
39 - add_action( 'wp_head', array( new Utils(), 'handle_flash_message' ), 999 );
40 -
41 - add_action( 'tutor_course/single/before/wrap', array( $this, 'do_auto_course_complete' ) );
42 - add_filter( 'body_class', array( $this, 'add_kids_mode_attribute' ) );
22 + add_action('wp_footer', array($this, 'tutor_login_form_popup'));
43 23 }
44 24
45 25 /**
46 - * Do auto course complete on course details page.
47 - *
48 - * @return void
26 + * Remove admin bar based on option
49 27 */
50 - public function do_auto_course_complete() {
51 - if ( ! is_user_logged_in() ) {
52 - return;
28 + function remove_admin_bar() {
29 + $hide_admin_bar_for_users = (bool) get_tutor_option('hide_admin_bar_for_users');
30 + if (!current_user_can('administrator') && !is_admin() && $hide_admin_bar_for_users) {
31 + show_admin_bar(false);
53 32 }
54 -
55 - $course_id = get_the_ID();
56 - $user_id = get_current_user_id();
57 -
58 - if ( CourseModel::can_autocomplete_course( $course_id, $user_id ) ) {
59 - CourseModel::mark_course_as_completed( $course_id, $user_id );
60 - Course::set_review_popup_data( $user_id, $course_id );
61 - }
62 33 }
63 34
64 - /**
65 - * Check current user has admin area access for tutor
66 - *
67 - * @since 2.0.7
68 - * @return boolean
69 - */
70 - private function has_admin_area_access() {
71 - $has_access = true;
72 - $user = new \WP_User( get_current_user_id() );
73 - $roles = $user->roles;
35 + public function tutor_login_form_popup(){
36 + if (!is_user_logged_in()) {
37 + tutor_login_form_popup();
38 + }
39 + }
74 40
75 - if ( ! in_array( 'administrator', $roles ) && ( in_array( 'subscriber', $roles ) || in_array( tutor()->instructor_role, $roles ) ) ) {
76 - $has_access = false;
77 - }
78 41
79 - return $has_access;
80 - }
81 42
82 - /**
83 - * PRO - Remove admin bar based on option
84 - *
85 - * @since 1.5.2
86 - * @return void
87 - */
88 - public function remove_admin_bar() {
89 - $hide_admin_bar_for_users = (bool) get_tutor_option( 'hide_admin_bar_for_users' );
90 - $has_access = $this->has_admin_area_access();
91 -
92 - if ( tutor()->has_pro && ! $has_access && $hide_admin_bar_for_users ) {
93 - show_admin_bar( false );
94 - }
95 - }
96 -
97 - /**
98 - * PRO - Restrict the WP admin area for student, instructor
99 - *
100 - * @since 1.5.2
101 - * @return void
102 - */
103 - public function restrict_wp_admin_area() {
104 - $hide_admin_bar_for_users = (bool) get_tutor_option( 'hide_admin_bar_for_users' );
105 - $has_access = $this->has_admin_area_access();
106 -
107 - if ( is_admin() && tutor()->has_pro && $hide_admin_bar_for_users && ! $has_access && ! wp_doing_ajax() ) {
108 - wp_die( esc_html__( 'Access Denied!', 'tutor' ) );
109 - }
110 - }
111 -
112 - /**
113 - * Add menu attributes
114 - *
115 - * @since 1.5.2
116 - *
117 - * @param mixed $atts attributes.
118 - * @param mixed $item item.
119 - * @param mixed $args arguments.
120 - *
121 - * @return array
122 - */
123 - public function add_menu_atts( $atts, $item, $args ) {
124 - $atts['onClick'] = 'return true';
125 - return $atts;
126 - }
127 -
128 - /**
129 - * Add kids mode data attribute to the <body> tag.
130 - *
131 - * Note: body_class filter only accepts class names, not attributes.
132 - *
133 - * @since 4.0.0
134 - *
135 - * @param array $classes Body classes.
136 - *
137 - * @return array
138 - */
139 - public function add_kids_mode_attribute( $classes ) {
140 - if ( ! tutor_utils()->is_kids_mode() ) {
141 - return $classes;
142 - }
143 -
144 - echo ' data-tutor-ui="kids"';
145 - return $classes;
146 - }
147 -}
43 +}