PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.8
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.8
4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 4.2.0 All 139 releases
← All changes | inc/admin/class-lp-updater.php +125 -125 4.3.94.4.8 View file →
@@ -1,125 +1,125 @@
1 -<?php
2 -
3 -/**
4 - * Class LP_Updater
5 - *
6 - * Update helper class providing update functions
7 - *
8 - * @author ThimPress
9 - * @package LearnPress/Classes
10 - * @version 3.0.0
11 - */
12 -class LP_Updater {
13 - /**
14 - * Map version upgrade.
15 - *
16 - * @var array
17 - */
18 - public $db_map_version = array();
19 -
20 - /**
21 - * LP_Updater constructor.
22 - */
23 - protected function __construct() {
24 - $this->db_map_version = apply_filters(
25 - 'lp/upgrade/db/map_version',
26 - array(
27 - '3' => 4, // DB v3 need up DB v4
28 - '4' => 5, // DB v4 need up DB v5
29 - '5' => 6, // DB v4 need up DB v6
30 - )
31 - );
32 - }
33 -
34 - /**
35 - * Check LP Database need upgrade.
36 - *
37 - * @return bool|int
38 - * @author tungnx
39 - * @version 1.0.1
40 - * @since 4.0.0
41 - */
42 - public function check_lp_db_need_upgrade() {
43 - if ( ! current_user_can( 'administrator' ) ) {
44 - return false;
45 - }
46 -
47 - $db_current_version = (int) get_option( LP_KEY_DB_VERSION, 0 );
48 - /*if ( ! $db_current_version ) {
49 - return false;
50 - }*/
51 -
52 - $db_require_version = LearnPress::instance()->db_version;
53 - if ( version_compare( $db_require_version, $db_current_version, '<=' ) ) {
54 - return false;
55 - }
56 -
57 - if ( array_key_exists( $db_current_version, $this->db_map_version ) ) {
58 - return $this->db_map_version[ $db_current_version . '' ];
59 - }
60 -
61 - /**
62 - * For case not have key "learnpress_db_version" on DB, still have columns of learnpress.
63 - * After a long time, need remove fix fast
64 - */
65 - $lp_db = LP_Database::getInstance();
66 - $check_tb_lp_order_items_exists = $lp_db->check_table_exists( $lp_db->tb_lp_order_items );
67 - $check_tb_lp_user_item_results_exists = $lp_db->check_table_exists( $lp_db->tb_lp_user_item_results );
68 - $check_col_item_id_on_lp_order_items = $lp_db->check_col_table( $lp_db->tb_lp_order_items, 'item_id' );
69 -
70 - if ( $check_tb_lp_order_items_exists && ( ! $check_tb_lp_user_item_results_exists || ! $check_col_item_id_on_lp_order_items ) ) {
71 - update_option( LP_KEY_DB_VERSION, 3 );
72 -
73 - return $this->db_map_version['3'];
74 - }
75 -
76 - // End.
77 -
78 - return false;
79 - }
80 -
81 - /**
82 - * Load file upgrade database.
83 - *
84 - * @return null|object
85 - * @author tungnx
86 - * @version 1.0.1
87 - * @since 4.0.0
88 - */
89 - public function load_file_version_upgrade_db() {
90 - $class_handle = null;
91 - $db_version_up_to = $this->check_lp_db_need_upgrade();
92 -
93 - if ( $db_version_up_to ) {
94 - $file_update = LP_PLUGIN_PATH . 'inc/updates/learnpress-upgrade-' . $db_version_up_to . '.php';
95 -
96 - if ( file_exists( $file_update ) ) {
97 - include_once $file_update;
98 - $name_class_handle_upgrade = 'LP_Upgrade_' . $db_version_up_to;
99 -
100 - if ( class_exists( $name_class_handle_upgrade )
101 - && is_callable( array( $name_class_handle_upgrade, 'get_instance' ) ) ) {
102 - $class_handle = $name_class_handle_upgrade::get_instance();
103 - }
104 - }
105 - }
106 -
107 - return $class_handle;
108 - }
109 -
110 - /**
111 - * Get singleton instance of the class.
112 - *
113 - * @return bool|LP_Updater
114 - */
115 - public static function instance() {
116 - static $instance;
117 - if ( is_null( $instance ) ) {
118 - $instance = new self();
119 - }
120 -
121 - return $instance;
122 - }
123 -}
124 -
125 -return LP_Updater::instance();
1 +<?php
2 +
3 +/**
4 + * Class LP_Updater
5 + *
6 + * Update helper class providing update functions
7 + *
8 + * @author ThimPress
9 + * @package LearnPress/Classes
10 + * @version 3.0.0
11 + */
12 +class LP_Updater {
13 + /**
14 + * Map version upgrade.
15 + *
16 + * @var array
17 + */
18 + public $db_map_version = array();
19 +
20 + /**
21 + * LP_Updater constructor.
22 + */
23 + protected function __construct() {
24 + $this->db_map_version = apply_filters(
25 + 'lp/upgrade/db/map_version',
26 + array(
27 + '3' => 4, // DB v3 need up DB v4
28 + '4' => 5, // DB v4 need up DB v5
29 + '5' => 6, // DB v4 need up DB v6
30 + )
31 + );
32 + }
33 +
34 + /**
35 + * Check LP Database need upgrade.
36 + *
37 + * @return bool|int
38 + * @author tungnx
39 + * @version 1.0.1
40 + * @since 4.0.0
41 + */
42 + public function check_lp_db_need_upgrade() {
43 + if ( ! current_user_can( 'administrator' ) ) {
44 + return false;
45 + }
46 +
47 + $db_current_version = (int) get_option( LP_KEY_DB_VERSION, 0 );
48 + /*if ( ! $db_current_version ) {
49 + return false;
50 + }*/
51 +
52 + $db_require_version = LearnPress::instance()->db_version;
53 + if ( version_compare( $db_require_version, $db_current_version, '<=' ) ) {
54 + return false;
55 + }
56 +
57 + if ( array_key_exists( $db_current_version, $this->db_map_version ) ) {
58 + return $this->db_map_version[ $db_current_version . '' ];
59 + }
60 +
61 + /**
62 + * For case not have key "learnpress_db_version" on DB, still have columns of learnpress.
63 + * After a long time, need remove fix fast
64 + */
65 + $lp_db = LP_Database::getInstance();
66 + $check_tb_lp_order_items_exists = $lp_db->check_table_exists( $lp_db->tb_lp_order_items );
67 + $check_tb_lp_user_item_results_exists = $lp_db->check_table_exists( $lp_db->tb_lp_user_item_results );
68 + $check_col_item_id_on_lp_order_items = $lp_db->check_col_table( $lp_db->tb_lp_order_items, 'item_id' );
69 +
70 + if ( $check_tb_lp_order_items_exists && ( ! $check_tb_lp_user_item_results_exists || ! $check_col_item_id_on_lp_order_items ) ) {
71 + update_option( LP_KEY_DB_VERSION, 3 );
72 +
73 + return $this->db_map_version['3'];
74 + }
75 +
76 + // End.
77 +
78 + return false;
79 + }
80 +
81 + /**
82 + * Load file upgrade database.
83 + *
84 + * @return null|object
85 + * @author tungnx
86 + * @version 1.0.1
87 + * @since 4.0.0
88 + */
89 + public function load_file_version_upgrade_db() {
90 + $class_handle = null;
91 + $db_version_up_to = $this->check_lp_db_need_upgrade();
92 +
93 + if ( $db_version_up_to ) {
94 + $file_update = LP_PLUGIN_PATH . 'inc/updates/learnpress-upgrade-' . $db_version_up_to . '.php';
95 +
96 + if ( file_exists( $file_update ) ) {
97 + include_once $file_update;
98 + $name_class_handle_upgrade = 'LP_Upgrade_' . $db_version_up_to;
99 +
100 + if ( class_exists( $name_class_handle_upgrade )
101 + && is_callable( array( $name_class_handle_upgrade, 'get_instance' ) ) ) {
102 + $class_handle = $name_class_handle_upgrade::get_instance();
103 + }
104 + }
105 + }
106 +
107 + return $class_handle;
108 + }
109 +
110 + /**
111 + * Get singleton instance of the class.
112 + *
113 + * @return bool|LP_Updater
114 + */
115 + public static function instance() {
116 + static $instance;
117 + if ( is_null( $instance ) ) {
118 + $instance = new self();
119 + }
120 +
121 + return $instance;
122 + }
123 +}
124 +
125 +return LP_Updater::instance();