PluginProbe
Tutor LMS – eLearning and online course solution / 2.0.1
Tutor LMS – eLearning and online course solution v2.0.1
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
tutor / classes / Tools.php

Tools.php in Tutor LMS – eLearning and online course solution 2.0.1, at classes/Tools.php

105 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace TUTOR;
4
5 if ( ! defined( 'ABSPATH' ) )
6 exit;
7
8
9 class Tools {
10
11 public function __construct() {
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'));
14
15
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 }
26
27 /**
28 * Re-Generate Tutor Missing Pages
29 * @since v.1.4.3
30 */
31 public function regenerate_tutor_pages(){
32 tutor_utils()->checking_nonce();
33
34 $tutor_pages = tutor_utils()->tutor_pages();
35
36 foreach ($tutor_pages as $page){
37 $visible = tutor_utils()->array_get('page_visible', $page);
38 $page_title = tutor_utils()->array_get('page_name', $page);
39 $option_key = tutor_utils()->array_get('option_key', $page);
40
41 if ( ! $visible){
42 $page_arg = array(
43 'post_title' => $page_title,
44 'post_content' => '',
45 'post_type' => 'page',
46 'post_status' => 'publish',
47 );
48 $page_id = wp_insert_post( $page_arg );
49 update_tutor_option($option_key, $page_id);
50 }
51 }
52 }
53
54 public function tutor_option_save_after(){
55 $maintenance_mode = (bool) get_tutor_option('enable_tutor_maintenance_mode');
56 if ($maintenance_mode){
57 tutor_maintenance_mode(true);
58 }else{
59 tutor_maintenance_mode();
60 }
61 }
62
63 public function check_if_maintenance(){
64 if ( ! is_admin() && ! $this->is_wplogin()) {
65 $maintenance_mode = (bool) get_tutor_option('enable_tutor_maintenance_mode');
66 if ( false === $maintenance_mode || current_user_can('administrator') ){
67 return;
68 }
69 header( 'Retry-After: 600' );
70 include tutor()->path.'views/maintenance.php';
71 die();
72 }
73 }
74
75 function is_wplogin(){
76 $ABSPATH_MY = str_replace(array('\\','/'), DIRECTORY_SEPARATOR, ABSPATH);
77 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');
78 }
79
80 /**
81 * @param $pages
82 * @return mixed
83 *
84 * Add Setup wizard menu
85 *
86 * @since v.1.5.7
87 */
88
89 public function tutor_tool_pages_add_wizard($pages){
90 $pages['tutor-setup'] = __('Setup Wizard', 'tutor');
91 return $pages;
92 }
93
94 /**
95 * Redirect to setup wizard page if any one click on the menu from tools page
96 * @since v.1.5.7
97 */
98 public function redirect_to_wizard_page(){
99 if (tutor_utils()->array_get('page', $_GET) === 'tutor-tools' && tutor_utils()->array_get('sub_page', $_GET) === 'tutor-setup' ){
100 exit(wp_redirect(admin_url('admin.php?page=tutor-setup')));
101 }
102 }
103
104
105 }