class-wpml-tm-job-elements-repository.php
1.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
class WPML_TM_Job_Elements_Repository {
/** @var wpdb */
private $wpdb;
/**
* @param wpdb $wpdb
*/
public function __construct( wpdb $wpdb ) {
$this->wpdb = $wpdb;
}
/**
* @param WPML_TM_Post_Job_Entity $job
*
* @return WPML_TM_Job_Element_Entity[]
*/
public function get_job_elements( WPML_TM_Post_Job_Entity $job ) {
$sql = "
SELECT translate.*
FROM {$this->wpdb->prefix}icl_translate translate
WHERE job_id = %d
";
$rowset = $this->wpdb->get_results( $this->wpdb->prepare( $sql, $job->get_translate_job_id() ) );
return is_array( $rowset )
? array_map( array( $this, 'build_element_entity' ), $rowset )
: [];
}
/**
* @param stdClass $raw_data
*
* @return WPML_TM_Job_Element_Entity
*/
private function build_element_entity( stdClass $raw_data ) {
return new WPML_TM_Job_Element_Entity(
$raw_data->tid,
$raw_data->content_id,
$raw_data->timestamp,
$raw_data->field_type,
$raw_data->field_format,
$raw_data->field_translate,
$raw_data->field_data,
$raw_data->field_data_translated,
$raw_data->field_finished
);
}
}