PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / 5.5.7
WPML Multilingual & Multicurrency for WooCommerce v5.5.7
5.5.7 5.3.8 5.3.9 5.4.3 5.4.4 5.4.5 5.5.1 5.5.1.1 5.5.2.2 5.5.2.3 5.5.3 5.5.3.1 5.5.4 5.5.5 5.5.6 trunk 0.9 1.0 1.1 1.2 1.3 1.4 1.5 2.0 2.2 2.3 2.3.1 2.3.2 3.0 3.0.1 3.1 3.2 3.2.1 3.2.2 3.3 3.3.1 3.3.2 3.3.3 3.3.4 3.4 3.4.1 3.4.2 3.4.3 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.5.5 3.6 3.6.1 3.6.10 3.6.11 3.6.2 3.6.3 3.6.4 3.6.5 3.6.5.1 3.6.6 3.6.7 3.6.8 3.6.9 3.7 3.7.1 3.7.10 3.7.11 3.7.12 3.7.13 3.7.14 3.7.15 3.7.16 3.7.2 3.7.3 3.7.4 3.7.5 3.7.6 3.7.7 3.7.8 3.7.9 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.9.0 3.9.1 3.9.1.1 3.9.2 3.9.3 3.9.4 3.9.5 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.10.0 4.10.1 4.10.2 4.10.3 4.10.4 4.11.2 4.11.3.2 4.11.5 4.11.6 4.12.1 4.12.4 4.12.5 4.12.6 4.2.0 4.2.0.1 4.2.1 4.2.1.1 4.2.10 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.7.1 4.2.8 4.2.8.1 4.2.9 4.3.0 4.3.1 4.3.2 4.3.2.1 4.3.3 4.3.4 4.3.5 4.3.6 4.3.7 4.4.0 4.4.1 4.4.2 4.4.2.1 4.5.0 4.6.0 4.6.1 4.6.2 4.6.2.1 4.6.3 4.6.5 4.6.6 4.6.7 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.7.5 4.7.6 4.7.7 4.7.8 4.7.9 4.8.0 4.9.0 4.9.1 5.0.1 5.0.2 5.1.1 5.1.2 5.1.3 5.2.0 5.2.1 5.3.2 5.3.3.1 5.3.4 5.3.5 5.3.6 5.3.7
woocommerce-multilingual / classes / Reviews / Translations / Mapper.php
woocommerce-multilingual / classes / Reviews / Translations Last commit date
Factory.php 2 weeks ago FrontEndHooks.php 2 weeks ago Mapper.php 2 weeks ago
Mapper.php
47 lines
1 <?php
2
3 namespace WCML\Reviews\Translations;
4
5 class Mapper {
6
7 private $wpdb;
8
9 public function __construct( \wpdb $wpdb ) {
10 $this->wpdb = $wpdb;
11 }
12
13 public function registerMissingReviewStrings() {
14 foreach ( $this->getUnregisteredReviews() as $review ) {
15 FrontEndHooks::registerReviewString( $review );
16 }
17 }
18
19 public function countMissingReviewStrings() {
20 return count( $this->getUnregisteredReviews() );
21 }
22
23 private function getUnregisteredReviews() {
24 $sql = "
25 SELECT c.comment_ID,
26 c.comment_post_ID,
27 c.comment_content,
28 c.comment_type,
29 tr.language_code,
30 st.name,
31 st.value
32 FROM {$this->wpdb->comments} AS c
33 LEFT JOIN {$this->wpdb->prefix}icl_translations AS tr
34 ON tr.element_id = c.comment_post_ID AND tr.element_type = 'post_product'
35 LEFT JOIN {$this->wpdb->prefix}icl_strings AS st
36 ON c.comment_content = st.value
37 AND st.context = '" . FrontEndHooks::CONTEXT . "'
38 LEFT JOIN {$this->wpdb->comments} AS review_parent
39 ON review_parent.comment_ID = c.comment_post_ID and review_parent.comment_type = '" . FrontEndHooks::COMMENT_TYPE_REVIEW . "'
40 WHERE st.name IS null
41 AND (c.comment_type = '" . FrontEndHooks::COMMENT_TYPE_REVIEW . "' OR (c.comment_type = '" . FrontEndHooks::COMMENT_TYPE_REPLY . "' AND review_parent.comment_id is not null))
42 ";
43
44 return (array) $this->wpdb->get_results( $sql );
45 }
46 }
47