Diff: STRATO-apps/wordpress_03/app/wp-content/plugins/tutor-pro/tools/importers/ReviewImporter.php

Keine Baseline-Datei – Diff nur gegen leer.
Zur Liste
1 -
1 + <?php
2 + /**
3 + * Review Importer
4 + *
5 + * @package TutorPro\Tools
6 + * @author Themeum<support@themeum.com>
7 + * @link https://themeum.com
8 + * @since 3.8.1
9 + */
10 +
11 + namespace TutorPro\Tools;
12 +
13 + use Tutor\Helpers\QueryHelper;
14 + use TUTOR\Input;
15 +
16 + if ( ! defined( 'ABSPATH' ) ) {
17 + exit;
18 + }
19 +
20 + /**
21 + * ReviewImporter class
22 + */
23 + class ReviewImporter {
24 +
25 + /**
26 + * Insert tutor course reviews.
27 + *
28 + * @since 3.8.1
29 + *
30 + * @param array $review_data the course review data.
31 + *
32 + * @return int|\WP_Error
33 + */
34 + public function insert_reviews( array $review_data ) {
35 +
36 + $content_map = ContentMapHandler::get_content_map();
37 + $courses_map = $content_map['courses'] ?? null;
38 + $user_map = $content_map['users'] ?? null;
39 +
40 + unset( $content_map );
41 +
42 + $reviews = $review_data['review'] ?? null;
43 + $review_meta = $review_data['review_meta'] ?? null;
44 +
45 + unset( $review_data['review'] );
46 + unset( $review_data['review_meta'] );
47 +
48 + $course_id = $reviews['comment_post_ID'] ?? 0;
49 + $user_id = $reviews['user_id'] ?? 0;
50 +
51 + $course_map = $courses_map[ $course_id ] ?? null;
52 +
53 + if ( $course_map ) {
54 + $course_id = $course_map['course_id'] ?? $course_id;
55 + unset( $courses_map );
56 + }
57 +
58 + if ( isset( $user_map[ $user_id ] ) ) {
59 + $user_id = $user_map[ $user_id ];
60 + unset( $user_map );
61 + }
62 +
63 + unset( $reviews['comment_ID'] );
64 +
65 + $reviews['comment_post_ID'] = $course_id;
66 + $reviews['user_id'] = $user_id;
67 +
68 + $review_id = wp_insert_comment( $reviews );
69 +
70 + if ( ! $review_id ) {
71 + return new \WP_Error( 'review_insert_failed', __( 'Error inserting course review', 'tutor-pro' ) );
72 + }
73 +
74 + if ( isset( $review_meta['tutor_rating'] ) ) {
75 + update_comment_meta( $review_id, 'tutor_rating', $review_meta['tutor_rating'][0] ?? 0 );
76 + }
77 +
78 + unset( $reviews );
79 + unset( $review_meta );
80 +
81 + return $review_id;
82 + }
83 + }
84 +