PluginProbe
Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export / 2.12
Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export v2.12
3.0 2.24.2 2.24.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 2.0 2.0.1 2.1 2.1.1 2.1.2 2.10 2.11 2.12 2.13 2.14 2.15 2.16 2.16.1 2.16.2 All 96 releases
wp-ultimate-exporter / exportExtensions / LearnPress.php

LearnPress.php in Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export 2.12, at exportExtensions/LearnPress.php

258 lines 13.0 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * WP Ultimate Exporter plugin file.
4 *
5 * Copyright (C) 2010-2020, Smackcoders Inc - info@smackcoders.com
6 */
7 namespace Smackcoders\SMEXP;
8
9 if ( ! defined( 'ABSPATH' ) )
10 exit; // Exit if accessed directly
11
12 /**
13 * Class LearnPressExport
14 * @package Smackcoders\SMEXP
15 */
16
17 class LearnPressExport extends ExportExtension{
18
19 protected static $instance = null,$export_instance;
20 public static function getInstance() {
21 if ( null == self::$instance ) {
22 self::$instance = new self;
23 LearnPressExport::$export_instance = ExportExtension::getInstance();
24 }
25 return self::$instance;
26 }
27
28 /**
29 * CustomerReviewExport constructor.
30 */
31 public function __construct() {
32 $this->plugin = Plugin::getInstance();
33 }
34
35 public function getCourseData($id)
36 {
37 global $wpdb;
38
39 $get_section_details = $wpdb->get_results("SELECT section_id, section_name, section_description FROM {$wpdb->prefix}learnpress_sections WHERE section_course_id = $id ", ARRAY_A);
40 $section_names = '';
41 $section_descriptions = '';
42 $get_lesson_name = '';
43 $get_lesson_description = '';
44 $get_lesson_duration = '';
45 $get_lesson_preview = '';
46 $get_quiz_name = '';
47 $get_quiz_description = '';
48 $get_quiz_meta = [];
49
50 foreach($get_section_details as $section_details){
51 $section_names .= $section_details['section_name'] . '|';
52 $section_descriptions .= $section_details['section_description'] . '|';
53
54 $section_id = $section_details['section_id'];
55 $get_section_item_details = $wpdb->get_results("SELECT item_id, item_type FROM {$wpdb->prefix}learnpress_section_items WHERE section_id = $section_id ", ARRAY_A);
56
57 $lesson_name = '';
58 $lesson_description = '';
59 $quiz_name = '';
60 $quiz_description = '';
61 $lesson_duration = '';
62 $lesson_preview = '';
63 $quiz_metas = [];
64
65 foreach($get_section_item_details as $section_item_details){
66 $section_item_id = $section_item_details['item_id'];
67 if($section_item_details['item_type'] == 'lp_lesson'){
68 $lesson_name .= $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $section_item_id ") . ', ';
69 $lesson_description .= $wpdb->get_var("SELECT post_content FROM {$wpdb->prefix}posts WHERE ID = $section_item_id "). ', ';
70 $lesson_duration .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $section_item_id AND meta_key = '_lp_duration' ") . ', ';
71 $lesson_preview .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $section_item_id AND meta_key = '_lp_preview' ") . ', ';
72 }
73 elseif($section_item_details['item_type'] == 'lp_quiz'){
74 $quiz_name .= $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $section_item_id ") . ', ';
75 $quiz_description .= $wpdb->get_var("SELECT post_content FROM {$wpdb->prefix}posts WHERE ID = $section_item_id "). ', ';
76
77 $quiz_meta = $wpdb->get_results("SELECT meta_key, meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $section_item_id AND meta_key LIKE '_lp_%' ", ARRAY_A);
78 foreach($quiz_meta as $quiz_meta_values){
79 $quiz_key = $quiz_meta_values['meta_key'];
80 $quiz_value = $quiz_meta_values['meta_value'] . ', ';
81
82 if($quiz_key != '_lp_hidden_questions'){
83 if($quiz_key == '_lp_retake_count'){
84 $quiz_key = '_lp_quiz_retake_count';
85 }
86 $quiz_metas[$quiz_key] = $quiz_value;
87 }
88 }
89 }
90 }
91
92 $get_lesson_name .= rtrim($lesson_name, ', ') . '|';
93 $get_lesson_description .= rtrim($lesson_description, ', ') . '|';
94 $get_quiz_name .= rtrim($quiz_name, ', ') . '|';
95 $get_quiz_description .= rtrim($quiz_description, ', ') . '|';
96 $get_lesson_duration .= rtrim($lesson_duration, ', ') . '|';
97 $get_lesson_preview .= rtrim($lesson_preview, ', ') . '|';
98
99 foreach($quiz_metas as $quiz_meta_keys => $quiz_meta_values){
100 $get_quiz_meta[$quiz_meta_keys] = rtrim($quiz_meta_values, ', ') . '|';
101 }
102 }
103
104 LearnPressExport::$export_instance->data[$id]['curriculum_name'] = rtrim($section_names, '|');
105 LearnPressExport::$export_instance->data[$id]['curriculum_description'] = rtrim($section_descriptions, '|');
106 LearnPressExport::$export_instance->data[$id]['lesson_name'] = rtrim($get_lesson_name, '|');
107 LearnPressExport::$export_instance->data[$id]['lesson_description'] = rtrim($get_lesson_description, '|');
108 LearnPressExport::$export_instance->data[$id]['quiz_name'] = rtrim($get_quiz_name, '|');
109 LearnPressExport::$export_instance->data[$id]['quiz_description'] = rtrim($get_quiz_description, '|');
110 LearnPressExport::$export_instance->data[$id]['_lp_lesson_duration'] = rtrim($get_lesson_duration, '|');
111 LearnPressExport::$export_instance->data[$id]['_lp_preview'] = rtrim($get_lesson_preview, '|');
112
113 foreach($get_quiz_meta as $get_quiz_meta_keys => $get_quiz_meta_values){
114 LearnPressExport::$export_instance->data[$id][$get_quiz_meta_keys] = rtrim($get_quiz_meta_values, '|');
115 }
116 }
117
118 public function getLessonData($id){
119 global $wpdb;
120 $lesson_duration = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_lp_duration' ");
121 LearnPressExport::$export_instance->data[$id]['_lp_lesson_duration'] = $lesson_duration;
122
123 $get_section_id = $wpdb->get_var("SELECT section_id FROM {$wpdb->prefix}learnpress_section_items WHERE item_id = $id AND item_type = 'lp_lesson' ");
124 if(!empty($get_section_id)){
125 $get_section_name = $wpdb->get_var("SELECT section_name FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
126 $get_section_course_id = $wpdb->get_var("SELECT section_course_id FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
127
128 LearnPressExport::$export_instance->data[$id]['curriculum_name'] = $get_section_name;
129 LearnPressExport::$export_instance->data[$id]['course_id'] = $get_section_course_id;
130 }
131 }
132
133
134 public function getQuizData($id){
135 global $wpdb;
136 $quiz_retake_count = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_lp_retake_count' ");
137 LearnPressExport::$export_instance->data[$id]['_lp_quiz_retake_count'] = $quiz_retake_count;
138
139 $get_section_id = $wpdb->get_var("SELECT section_id FROM {$wpdb->prefix}learnpress_section_items WHERE item_id = $id AND item_type = 'lp_quiz' ");
140 if(!empty($get_section_id)){
141 $get_section_name = $wpdb->get_var("SELECT section_name FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
142 $get_section_course_id = $wpdb->get_var("SELECT section_course_id FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
143
144 LearnPressExport::$export_instance->data[$id]['curriculum_name'] = $get_section_name;
145 LearnPressExport::$export_instance->data[$id]['course_id'] = $get_section_course_id;
146 }
147
148 $get_question_title = '';
149 $get_question_content = '';
150 $get_question_mark = '';
151 $get_question_explanation = '';
152 $get_question_hint = '';
153 $get_question_type = '';
154 $get_option_value = '';
155
156 $get_question_ids = $wpdb->get_results("SELECT question_id FROM {$wpdb->prefix}learnpress_quiz_questions WHERE quiz_id = $id ", ARRAY_A);
157 foreach($get_question_ids as $question_ids){
158 $question_id = $question_ids['question_id'];
159 $get_question_title .= $wpdb->get_var("SELECT post_title FROM {$wpdb->prefix}posts WHERE ID = $question_id ") . ',';
160 $get_question_content .= $wpdb->get_var("SELECT post_content FROM {$wpdb->prefix}posts WHERE ID = $question_id ") . ',';
161
162 $get_question_mark .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_mark' ") . ', ';
163 $get_question_explanation .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_explanation' ") . ',';
164 $get_question_hint .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_hint' ") . ',';
165 $get_question_type .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $question_id AND meta_key = '_lp_type' ") . ',';
166
167 $get_question_options = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}learnpress_question_answers WHERE question_id = $question_id ", ARRAY_A);
168 $option_value = '';
169 foreach($get_question_options as $question_option){
170 if(empty($question_option['is_true'])){
171 $question_option['is_true'] = 'no';
172 }
173
174 $option_value .= $question_option['title'] .'|'. $question_option['is_true'] . '->';
175 }
176 $get_option_value .= rtrim($option_value, '->') . ',';
177 }
178
179 LearnPressExport::$export_instance->data[$id]['question_title'] = rtrim($get_question_title, ',');
180 LearnPressExport::$export_instance->data[$id]['question_description'] = rtrim($get_question_content, ',');
181 LearnPressExport::$export_instance->data[$id]['_lp_mark'] = rtrim($get_question_mark, ', ');
182 LearnPressExport::$export_instance->data[$id]['_lp_explanation'] = rtrim($get_question_explanation, ',');
183 LearnPressExport::$export_instance->data[$id]['_lp_hint'] = rtrim($get_question_hint, ',');
184 LearnPressExport::$export_instance->data[$id]['_lp_type'] = rtrim($get_question_type, ',');
185 LearnPressExport::$export_instance->data[$id]['question_options'] = rtrim($get_option_value, ',');
186
187 }
188
189 public function getQuestionData($id){
190 global $wpdb;
191 $get_quiz_id = $wpdb->get_var("SELECT quiz_id FROM {$wpdb->prefix}learnpress_quiz_questions WHERE question_id = $id ");
192
193 $get_question_options = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}learnpress_question_answers WHERE question_id = $id ", ARRAY_A);
194 $option_value = '';
195 foreach($get_question_options as $question_options){
196 if(empty($question_options['is_true'])){
197 $question_options['is_true'] = 'no';
198 }
199 $option_value .= $question_options['title'] .'|'. $question_options['is_true'] . '->';
200 }
201
202 if(!empty($get_quiz_id)){
203 $get_section_id = $wpdb->get_var("SELECT section_id FROM {$wpdb->prefix}learnpress_section_items WHERE item_id = $get_quiz_id AND item_type = 'lp_quiz' ");
204 if(!empty($get_section_id)){
205 $get_section_name = $wpdb->get_var("SELECT section_name FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
206 $get_section_course_id = $wpdb->get_var("SELECT section_course_id FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
207
208 LearnPressExport::$export_instance->data[$id]['curriculum_name'] = $get_section_name;
209 LearnPressExport::$export_instance->data[$id]['course_id'] = $get_section_course_id;
210 }
211 LearnPressExport::$export_instance->data[$id]['quiz_id'] = $get_quiz_id;
212 }
213
214 LearnPressExport::$export_instance->data[$id]['question_options'] = rtrim($option_value, '->');
215 }
216 public function getOrderData($id){
217 global $wpdb;
218
219 $order_status = $wpdb->get_var("SELECT post_status FROM {$wpdb->prefix}posts WHERE ID = $id ");
220 $order_date = $wpdb->get_var("SELECT post_date FROM {$wpdb->prefix}posts WHERE ID = $id ");
221 $order_total = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_order_total' ");
222 $order_subtotal = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_order_subtotal' ");
223 $user_id = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_user_id' ");
224
225 $get_order_items = $wpdb->get_results("SELECT order_item_id FROM {$wpdb->prefix}learnpress_order_items WHERE order_id = $id ",ARRAY_A);
226 $course_id = '';
227 $item_quantity = '';
228 $item_total = '';
229 $item_subtotal = '';
230 foreach($get_order_items as $get_order_values){
231 $order_item_id = $get_order_values['order_item_id'];
232
233 $course_id .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_course_id' ") . ', ';
234 $item_quantity .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_quantity' ") . ', ';
235 $item_total .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_subtotal' ") . ', ';
236 $item_subtotal .= $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}learnpress_order_itemmeta WHERE learnpress_order_item_id = $order_item_id AND meta_key = '_total' ") . ', ';
237 }
238
239 LearnPressExport::$export_instance->data[$id]['order_status'] = $order_status;
240 LearnPressExport::$export_instance->data[$id]['order_date'] = $order_date;
241 LearnPressExport::$export_instance->data[$id]['_order_total'] = $order_total;
242 LearnPressExport::$export_instance->data[$id]['_order_subtotal'] = $order_subtotal;
243 LearnPressExport::$export_instance->data[$id]['user_id'] = $user_id;
244 LearnPressExport::$export_instance->data[$id]['item_id'] = rtrim($course_id, ', ');
245 LearnPressExport::$export_instance->data[$id]['item_quantity'] = rtrim($item_quantity, ', ');
246 LearnPressExport::$export_instance->data[$id]['_item_total'] = rtrim($item_total, ', ');
247 LearnPressExport::$export_instance->data[$id]['_item_subtotal'] = rtrim($item_subtotal, ', ');
248 }
249
250 }
251
252
253
254
255
256 global $learnpress_exp_class;
257 $learnpress_exp_class = new LearnPressExport();
258