PluginProbe
Tutor LMS – eLearning and online course solution / 1.2.13
Tutor LMS – eLearning and online course solution v1.2.13
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 +9 -129 3.9.151.2.13 View file →
@@ -1,146 +1,26 @@
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' ) ) {
14 - exit;
15 -}
16 5
17 -use TUTOR\Input;
18 -
19 -/**
20 - * Tools class
21 - *
22 - * @since 1.0.0
23 - */
24 6 class Tools {
25 7
26 - /**
27 - * Register hooks
28 - *
29 - * @since 1.0.0
30 - */
31 8 public function __construct() {
32 - add_action( 'tutor_action_regenerate_tutor_pages', array( $this, 'regenerate_tutor_pages' ) );
33 -
34 - add_action( 'tutor_option_save_after', array( $this, 'tutor_option_save_after' ) );
35 - add_action( 'init', array( $this, 'check_if_maintenance' ) );
36 -
37 - add_action( 'admin_init', array( $this, 'redirect_to_wizard_page' ) );
9 + add_action('tutor_once_in_day_run_schedule', array($this, 'delete_auto_draft_posts'));
38 10 }
39 11
40 12 /**
41 - * Re-Generate Tutor Missing Pages
42 - *
43 - * @since 1.4.3
13 + * Delete draft question schedule basis
44 14 */
45 - public function regenerate_tutor_pages() {
46 - tutor_utils()->checking_nonce();
15 + public function delete_auto_draft_posts() {
16 + global $wpdb;
47 17
48 - $tutor_pages = tutor_utils()->tutor_pages();
49 -
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 );
55 -
56 - $page_content = '';
57 - if ( 'tutor_login_page' === $option_key ) {
58 - $page_content = '[tutor_login]';
18 + $draft_questions_ids = $wpdb->get_col("SELECT ID from {$wpdb->posts} WHERE post_type = 'tutor_question' AND post_status = 'auto-draft' ");
19 + if (is_array($draft_questions_ids) && count($draft_questions_ids)){
20 + foreach ($draft_questions_ids as $draft_questions_id){
21 + wp_delete_post($draft_questions_id, true);
59 22 }
60 -
61 - if ( 'membership_pricing_page_id' === $option_key ) {
62 - $page_content = '[tutor_membership_pricing]';
63 - }
64 -
65 - if ( ! $visible ) {
66 - $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',
72 - );
73 - $page_id = wp_insert_post( $page_arg );
74 - update_tutor_option( $option_key, $page_id );
75 - }
76 23 }
77 24 }
78 25
79 - /**
80 - * Handler after tutor option save
81 - *
82 - * @since 1.0.0
83 - *
84 - * @return void
85 - */
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 {
91 - tutor_maintenance_mode();
92 - }
93 - }
94 -
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() ) {
104 - $maintenance_mode = (bool) get_tutor_option( 'enable_tutor_maintenance_mode' );
105 - if ( false === $maintenance_mode || current_user_can( 'administrator' ) ) {
106 - return;
107 - }
108 - header( 'Retry-After: 600' );
109 - include tutor()->path . 'views/maintenance.php';
110 - die();
111 - }
112 - }
113 -
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 - );
130 - }
131 -
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 - }
145 -
146 -}
26 +}