PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.10
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.10
4.4.10 4.4.9.1 4.4.9 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 All 142 releases
← All changes | inc/Ajax/AddonsAjax.php +34 -9 4.4.9.1 → 4.4.10 View file →
@@ -43,12 +43,15 @@
43 43 /**
44 44 * Handle addon action: install, update, activate, deactivate, update-purchase.
45 45 *
46 46 * @return void
47 + * @since 4.4.9
48 + * @version 1.0.2
47 49 */
48 50 public function addon_action() {
49 51 $response = new Response();
50 52 $lp_file_system = LP_WP_Filesystem::instance();
53 + $message = '';
51 54
52 55 try {
53 56 if ( is_multisite() && ! is_super_admin() ) {
54 57 throw new Exception( __( 'You do not have permission.', 'learnpress' ) );
@@ -98,9 +101,9 @@
98 101 // Allow active key for site if site active on DB "updates" is empty.
99 102 $this->addon_service->active_site( $addon['slug'], $purchase_code );
100 103 }
101 104
102 - $purchase_info = $this->addon_service->validate_and_save_purchase_code(
105 + $purchase_info = $this->addon_service->get_addon_purchase_info(
103 106 $addon['slug'],
104 107 $purchase_code
105 108 );
106 109 // Download addon from ThimPress server.
@@ -122,8 +125,21 @@
122 125 if ( ! empty( $path_file ) ) {
123 126 $lp_file_system->lp_filesystem->delete( $path_file );
124 127 }
125 128
129 + $message = sprintf(
130 + /* translators: %s: addon name */
131 + __( 'Installed successfully %s', 'learnpress' ),
132 + $addon['name'] ?? ''
133 + );
134 + if ( 'update' === $action ) {
135 + $message = sprintf(
136 + /* translators: %s: addon name */
137 + __( 'Updated successfully %s', 'learnpress' ),
138 + $addon['name'] ?? ''
139 + );
140 + }
141 +
126 142 break;
127 143 case 'activate':
128 144 if ( ! current_user_can( 'activate_plugins' ) ) {
129 145 throw new Exception( __( 'You do not have permission to activate plugins.', 'learnpress' ) );
@@ -129,24 +145,33 @@
129 145 throw new Exception( __( 'You do not have permission to activate plugins.', 'learnpress' ) );
130 146 }
131 147
132 148 $this->addon_service->activate( $addon );
149 + $message = sprintf(
150 + /* translators: %s: addon name */
151 + __( 'Activated successfully %s', 'learnpress' ),
152 + $addon['name'] ?? ''
153 + );
133 154 break;
134 155 case 'deactivate':
135 156 $this->addon_service->deactivate( $addon );
157 + $message = sprintf(
158 + /* translators: %s: addon name */
159 + __( 'Deactivated successfully %s', 'learnpress' ),
160 + $addon['name'] ?? ''
161 + );
136 162 break;
137 163 case 'update-purchase':
138 - // If empty, try key old activated
139 - if ( empty( $purchase_code ) ) {
140 - $purchase_codes = lp_settings::get_option( $this->addon_service->key_purchase_addons, array() );
141 - $purchase_code = $purchase_codes[ $addon['slug'] ] ?? '';
142 - }
143 -
144 164 $this->addon_service->active_site(
145 165 $addon['slug'],
146 166 $purchase_code
147 167 );
148 - $purchase_info = $this->addon_service->validate_and_save_purchase_code( $addon['slug'], $purchase_code );
168 + $purchase_info = $this->addon_service->get_addon_purchase_info( $addon['slug'], $purchase_code );
169 + $message = sprintf(
170 + /* translators: %s: addon name */
171 + __( 'Updated purchase code successfully for %s', 'learnpress' ),
172 + $addon['name'] ?? ''
173 + );
149 174 break;
150 175 default:
151 176 break;
152 177 }
@@ -151,9 +176,9 @@
151 176 break;
152 177 }
153 178
154 179 $response->status = Response::STATUS_SUCCESS;
155 - $response->message = sprintf(
180 + $response->message = ! empty( $message ) ? $message : sprintf(
156 181 '"%s" %s %s',
157 182 $addon['name'] ?? '',
158 183 $action,
159 184 __( 'successfully', 'learnpress' )