PluginProbe ʕ •ᴥ•ʔ
WPML Multilingual & Multicurrency for WooCommerce / trunk
WPML Multilingual & Multicurrency for WooCommerce vtrunk
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 1 month ago FrontEndHooks.php 1 month ago Mapper.php 1 month 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