PluginProbe
Tutor LMS – eLearning and online course solution / 1.9.4
Tutor LMS – eLearning and online course solution v1.9.4
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/Tools.php +84 -103 3.9.151.9.4 View file →
@@ -1,146 +1,127 @@
1 1 <?php
2 -/**
3 - * Options for TutorLMS
4 - *
5 - * @package Tutor\Tools
6 - * @author Themeum <support@themeum.com>
7 - * @link https://themeum.com
8 - * @since 1.0.0
9 - */
10 2
11 3 namespace TUTOR;
12 4
13 -if ( ! defined( 'ABSPATH' ) ) {
5 +if ( ! defined( 'ABSPATH' ) )
14 6 exit;
15 -}
16 7
17 -use TUTOR\Input;
18 8
19 -/**
20 - * Tools class
21 - *
22 - * @since 1.0.0
23 - */
24 9 class Tools {
25 10
26 - /**
27 - * Register hooks
28 - *
29 - * @since 1.0.0
30 - */
31 11 public function __construct() {
32 - add_action( 'tutor_action_regenerate_tutor_pages', array( $this, 'regenerate_tutor_pages' ) );
12 + //add_action('tutor_once_in_day_run_schedule', array($this, 'delete_auto_draft_posts'));
13 + add_action('tutor_action_regenerate_tutor_pages', array($this, 'regenerate_tutor_pages'));
33 14
34 - add_action( 'tutor_option_save_after', array( $this, 'tutor_option_save_after' ) );
35 - add_action( 'init', array( $this, 'check_if_maintenance' ) );
36 15
37 - add_action( 'admin_init', array( $this, 'redirect_to_wizard_page' ) );
16 + add_action('tutor_option_save_after', array($this, 'tutor_option_save_after'));
17 + add_action('init', array($this, 'check_if_maintenance'));
18 +
19 + /**
20 + * Add setup wizard link in the tools menu
21 + * @since v.1.5.7
22 + */
23 + add_filter('tutor_tool_pages', array($this, 'tutor_tool_pages_add_wizard'));
24 + add_action('admin_init', array($this, 'redirect_to_wizard_page'));
25 + add_filter('login_errors', array($this, 'login_error_message'));
38 26 }
39 27
40 28 /**
41 - * Re-Generate Tutor Missing Pages
42 - *
43 - * @since 1.4.3
29 + * Custom Login Error Message
30 + * @since v.1.6.0
44 31 */
45 - public function regenerate_tutor_pages() {
46 - tutor_utils()->checking_nonce();
32 + public function login_error_message($error) {
33 + $error_message = get_tutor_option('login_error_message');
34 + if($error_message){
35 + $pos = strpos($error, 'incorrect');
36 + if (is_int($pos)) {
37 + $error = $error_message;
38 + }
39 + }
40 + return $error;
41 + }
47 42
48 - $tutor_pages = tutor_utils()->tutor_pages();
49 43
50 - foreach ( $tutor_pages as $page ) {
51 - $visible = tutor_utils()->array_get( 'page_visible', $page );
52 - $page_title = tutor_utils()->array_get( 'page_name', $page );
53 - $option_key = tutor_utils()->array_get( 'option_key', $page );
54 - $page_id = tutor_utils()->array_get( 'page_id', $page );
44 + /**
45 + * Re-Generate Tutor Missing Pages
46 + * @since v.1.4.3
47 + */
48 + public function regenerate_tutor_pages(){
49 + tutils()->checking_nonce();
55 50
56 - $page_content = '';
57 - if ( 'tutor_login_page' === $option_key ) {
58 - $page_content = '[tutor_login]';
59 - }
51 + $tutor_pages = tutils()->tutor_pages();
52 +
53 + foreach ($tutor_pages as $page){
54 + $visible = tutils()->array_get('page_visible', $page);
55 + $page_title = tutils()->array_get('page_name', $page);
56 + $option_key = tutils()->array_get('option_key', $page);
60 57
61 - if ( 'membership_pricing_page_id' === $option_key ) {
62 - $page_content = '[tutor_membership_pricing]';
63 - }
64 -
65 - if ( ! $visible ) {
58 + if ( ! $visible){
66 59 $page_arg = array(
67 - 'ID' => $page_id,
68 - 'post_title' => $page_title,
69 - 'post_content' => $page_content,
70 - 'post_type' => 'page',
71 - 'post_status' => 'publish',
60 + 'post_title' => $page_title,
61 + 'post_content' => '',
62 + 'post_type' => 'page',
63 + 'post_status' => 'publish',
72 64 );
73 - $page_id = wp_insert_post( $page_arg );
74 - update_tutor_option( $option_key, $page_id );
65 + $page_id = wp_insert_post( $page_arg );
66 + update_tutor_option($option_key, $page_id);
75 67 }
76 68 }
77 69 }
78 70
79 71 /**
80 - * Handler after tutor option save
81 - *
82 - * @since 1.0.0
83 - *
84 - * @return void
72 + * Enable Maintenance Mode
85 73 */
86 - public function tutor_option_save_after() {
87 - $maintenance_mode = (bool) get_tutor_option( 'enable_tutor_maintenance_mode' );
88 - if ( $maintenance_mode ) {
89 - tutor_maintenance_mode( true );
90 - } else {
74 +
75 + public function tutor_option_save_after(){
76 + $maintenance_mode = (bool) get_tutor_option('enable_tutor_maintenance_mode');
77 + if ($maintenance_mode){
78 + tutor_maintenance_mode(true);
79 + }else{
91 80 tutor_maintenance_mode();
92 81 }
93 82 }
94 83
95 - /**
96 - * Check if maintenance mode
97 - *
98 - * @since 1.0.0
99 - *
100 - * @return void
101 - */
102 - public function check_if_maintenance() {
103 - if ( ! is_admin() && ! $this->is_wplogin() ) {
84 + public function check_if_maintenance(){
85 + if ( ! is_admin() && ! $this->is_wplogin()) {
104 86 $maintenance_mode = (bool) get_tutor_option( 'enable_tutor_maintenance_mode' );
105 - if ( false === $maintenance_mode || current_user_can( 'administrator' ) ) {
87 + if ( ! $maintenance_mode){
106 88 return;
107 89 }
90 +
108 91 header( 'Retry-After: 600' );
109 - include tutor()->path . 'views/maintenance.php';
92 + include tutor()->path.'views/maintenance.php';
110 93 die();
111 94 }
112 95 }
113 96
114 - /**
115 - * Check if wp_login
116 - *
117 - * @since 1.0.0
118 - *
119 - * @return boolean
120 - */
121 - public function is_wplogin() {
122 - $abs_path = str_replace( array( '\\', '/' ), DIRECTORY_SEPARATOR, ABSPATH );
123 - return (
124 - ( in_array( $abs_path . 'wp-login.php', get_included_files() ) || in_array( $abs_path . 'wp-register.php', get_included_files() ) )
125 - ||
126 - ( isset( $GLOBALS['pagenow'] ) && 'wp-login.php' === $GLOBALS['pagenow'] )
127 - ||
128 - ( isset( $_SERVER['PHP_SELF'] ) && '/wp-login.php' === $_SERVER['PHP_SELF'] )
129 - );
97 + function is_wplogin(){
98 + $ABSPATH_MY = str_replace(array('\\','/'), DIRECTORY_SEPARATOR, ABSPATH);
99 + return ((in_array($ABSPATH_MY.'wp-login.php', get_included_files()) || in_array($ABSPATH_MY.'wp-register.php', get_included_files()) ) || (isset($_GLOBALS['pagenow']) && $GLOBALS['pagenow'] === 'wp-login.php') || $_SERVER['PHP_SELF']== '/wp-login.php');
130 100 }
131 101
132 - /**
133 - * Redirect to setup wizard page if any one click on the menu from tools page
134 - *
135 - * @since 1.5.7
136 - *
137 - * @return void
138 - */
139 - public function redirect_to_wizard_page() {
140 - if ( Input::get( 'page' ) === 'tutor-tools' && Input::get( 'sub_page' ) === 'tutor-setup' ) {
141 - wp_safe_redirect( admin_url( 'admin.php?page=tutor-setup' ) );
142 - exit();
143 - }
144 - }
102 + /**
103 + * @param $pages
104 + * @return mixed
105 + *
106 + * Add Setup wizard menu
107 + *
108 + * @since v.1.5.7
109 + */
145 110
146 -}
111 + public function tutor_tool_pages_add_wizard($pages){
112 + $pages['tutor-setup'] = __('Setup Wizard', 'tutor');
113 + return $pages;
114 + }
115 +
116 + /**
117 + * Redirect to setup wizard page if any one click on the menu from tools page
118 + * @since v.1.5.7
119 + */
120 + public function redirect_to_wizard_page(){
121 + if (tutils()->array_get('page', $_GET) === 'tutor-tools' && tutils()->array_get('sub_page', $_GET) === 'tutor-setup' ){
122 + exit(wp_redirect(admin_url('admin.php?page=tutor-setup')));
123 + }
124 + }
125 +
126 +
127 +}