PluginProbe
Tutor LMS – eLearning and online course solution / 2.0.10
Tutor LMS – eLearning and online course solution v2.0.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 +28 -86 trunk2.0.10 View file →
@@ -1,79 +1,48 @@
1 1 <?php
2 2 /**
3 - * Manage Frontend
3 + * Frontend class
4 4 *
5 + * @author: themeum
6 + * @link: 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 14 if ( ! defined( 'ABSPATH' ) ) {
16 15 exit;
17 16 }
18 17
19 -/**
20 - * Frontend class
21 - *
22 - * @since 1.5.2
23 - */
24 18 class Frontend {
25 19
26 - /**
27 - * Constructor
28 - *
29 - * @since 1.5.2
30 - * @return void
31 - */
32 20 public function __construct() {
33 21 add_action( 'after_setup_theme', array( $this, 'remove_admin_bar' ) );
34 22 add_filter( 'nav_menu_link_attributes', array( $this, 'add_menu_atts' ), 10, 3 );
23 + // add_action('pre_get_posts', array($this, 'tutor_offset_courses'));
35 24 add_action( 'admin_init', array( $this, 'restrict_wp_admin_area' ) );
36 - add_action( 'tutor_before_course_builder_load', array( $this, 'restrict_wp_admin_area' ) );
37 -
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' ) );
43 25 }
44 26
45 - /**
46 - * Do auto course complete on course details page.
47 - *
48 - * @return void
49 - */
50 - public function do_auto_course_complete() {
51 - if ( ! is_user_logged_in() ) {
52 - return;
53 - }
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 - }
27 + function tutor_offset_courses($query){
28 + if (!is_admin() && $query->is_main_query() && is_archive(tutor()->course_post_type)) $query->set('offset', 0);
62 29 }
63 30
64 31 /**
65 32 * Check current user has admin area access for tutor
66 33 *
34 + * @return boolean
35 + *
67 36 * @since 2.0.7
68 - * @return boolean
69 37 */
70 38 private function has_admin_area_access() {
71 - $has_access = true;
72 - $user = new \WP_User( get_current_user_id() );
73 - $roles = $user->roles;
39 + $has_access = true;
40 + $user = new \WP_User( get_current_user_id() );
41 + $roles = $user->roles;
74 42
75 - if ( ! in_array( 'administrator', $roles ) && ( in_array( 'subscriber', $roles ) || in_array( tutor()->instructor_role, $roles ) ) ) {
43 + if ( ! in_array( 'administrator', $roles ) && ( in_array( 'subscriber', $roles ) || in_array( tutor()->instructor_role, $roles ) ) )
44 + {
76 45 $has_access = false;
77 46 }
78 47
79 48 return $has_access;
@@ -80,15 +49,12 @@
80 49 }
81 50
82 51 /**
83 52 * PRO - Remove admin bar based on option
84 - *
85 - * @since 1.5.2
86 - * @return void
87 53 */
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();
54 + function remove_admin_bar() {
55 + $hide_admin_bar_for_users = (bool) get_tutor_option( 'hide_admin_bar_for_users' );
56 + $has_access = $this->has_admin_area_access();
91 57
92 58 if ( tutor()->has_pro && ! $has_access && $hide_admin_bar_for_users ) {
93 59 show_admin_bar( false );
94 60 }
@@ -96,52 +62,28 @@
96 62
97 63 /**
98 64 * PRO - Restrict the WP admin area for student, instructor
99 65 *
100 - * @since 1.5.2
101 66 * @return void
102 67 */
103 68 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();
69 + $hide_admin_bar_for_users = (bool) get_tutor_option( 'hide_admin_bar_for_users' );
70 + $has_access = $this->has_admin_area_access();
106 71
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' ) );
72 + if ( tutor()->has_pro && $hide_admin_bar_for_users && ! $has_access && ! wp_doing_ajax() ) {
73 + wp_die( __( 'Access Denied!', 'tutor' ) );
109 74 }
110 75 }
111 76
112 77 /**
113 - * Add menu attributes
78 + * add_menu_atts
114 79 *
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
80 + * @param mixed $atts
81 + * @param mixed $item
82 + * @param mixed $args
83 + * @return void
122 84 */
123 - public function add_menu_atts( $atts, $item, $args ) {
85 + function add_menu_atts( $atts, $item, $args ) {
124 86 $atts['onClick'] = 'return true';
125 87 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 88 }
147 89 }