PluginProbe
Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export / 2.0
Export All Posts, Products, Orders & Users | WP Ultimate Exporter | WordPress CSV Export v2.0
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.0, at exportExtensions/learnpress.php

259 lines 13.2 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 //$get_answer_data = unserialize($question_options['answer_data']);
171 if(empty($question_option['is_true'])){
172 $question_option['is_true'] = 'no';
173 }
174
175 $option_value .= $question_option['title'] .'|'. $question_option['is_true'] . '->';
176 }
177 $get_option_value .= rtrim($option_value, '->') . ',';
178 }
179
180 LearnPressExport::$export_instance->data[$id]['question_title'] = rtrim($get_question_title, ',');
181 LearnPressExport::$export_instance->data[$id]['question_description'] = rtrim($get_question_content, ',');
182 LearnPressExport::$export_instance->data[$id]['_lp_mark'] = rtrim($get_question_mark, ', ');
183 LearnPressExport::$export_instance->data[$id]['_lp_explanation'] = rtrim($get_question_explanation, ',');
184 LearnPressExport::$export_instance->data[$id]['_lp_hint'] = rtrim($get_question_hint, ',');
185 LearnPressExport::$export_instance->data[$id]['_lp_type'] = rtrim($get_question_type, ',');
186 LearnPressExport::$export_instance->data[$id]['question_options'] = rtrim($get_option_value, ',');
187
188 }
189
190 public function getQuestionData($id){
191 global $wpdb;
192 $get_quiz_id = $wpdb->get_var("SELECT quiz_id FROM {$wpdb->prefix}learnpress_quiz_questions WHERE question_id = $id ");
193
194 $get_question_options = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}learnpress_question_answers WHERE question_id = $id ", ARRAY_A);
195 $option_value = '';
196 foreach($get_question_options as $question_options){
197 //$get_answer_data = unserialize($question_options['answer_data']);
198 if(empty($question_options['is_true'])){
199 $question_options['is_true'] = 'no';
200 }
201 $option_value .= $question_options['title'] .'|'. $question_options['is_true'] . '->';
202 }
203
204 if(!empty($get_quiz_id)){
205 $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' ");
206 if(!empty($get_section_id)){
207 $get_section_name = $wpdb->get_var("SELECT section_name FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
208 $get_section_course_id = $wpdb->get_var("SELECT section_course_id FROM {$wpdb->prefix}learnpress_sections WHERE section_id = $get_section_id ");
209
210 LearnPressExport::$export_instance->data[$id]['curriculum_name'] = $get_section_name;
211 LearnPressExport::$export_instance->data[$id]['course_id'] = $get_section_course_id;
212 }
213 LearnPressExport::$export_instance->data[$id]['quiz_id'] = $get_quiz_id;
214 }
215
216 LearnPressExport::$export_instance->data[$id]['question_options'] = rtrim($option_value, '->');
217 }
218 public function getOrderData($id){
219 global $wpdb;
220
221 $order_status = $wpdb->get_var("SELECT post_status FROM {$wpdb->prefix}posts WHERE ID = $id ");
222 $order_date = $wpdb->get_var("SELECT post_date FROM {$wpdb->prefix}posts WHERE ID = $id ");
223 $order_total = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_order_total' ");
224 $order_subtotal = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_order_subtotal' ");
225 $user_id = $wpdb->get_var("SELECT meta_value FROM {$wpdb->prefix}postmeta WHERE post_id = $id AND meta_key = '_user_id' ");
226
227 $get_order_items = $wpdb->get_results("SELECT order_item_id FROM {$wpdb->prefix}learnpress_order_items WHERE order_id = $id ",ARRAY_A);
228 $course_id = '';
229 $item_quantity = '';
230 $item_total = '';
231 $item_subtotal = '';
232 foreach($get_order_items as $get_order_values){
233 $order_item_id = $get_order_values['order_item_id'];
234
235 $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' ") . ', ';
236 $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' ") . ', ';
237 $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' ") . ', ';
238 $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' ") . ', ';
239 }
240
241 LearnPressExport::$export_instance->data[$id]['order_status'] = $order_status;
242 LearnPressExport::$export_instance->data[$id]['order_date'] = $order_date;
243 LearnPressExport::$export_instance->data[$id]['_order_total'] = $order_total;
244 LearnPressExport::$export_instance->data[$id]['_order_subtotal'] = $order_subtotal;
245 LearnPressExport::$export_instance->data[$id]['user_id'] = $user_id;
246 LearnPressExport::$export_instance->data[$id]['item_id'] = rtrim($course_id, ', ');
247 LearnPressExport::$export_instance->data[$id]['item_quantity'] = rtrim($item_quantity, ', ');
248 LearnPressExport::$export_instance->data[$id]['_item_total'] = rtrim($item_total, ', ');
249 LearnPressExport::$export_instance->data[$id]['_item_subtotal'] = rtrim($item_subtotal, ', ');
250 }
251
252 }
253
254
255
256
257
258 global $learnpress_exp_class;
259 $learnpress_exp_class = new LearnPressExport();