class-wpml-tm-ate-job-data-fallback-action.php
891 Bytes
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
<?php
use WPML\TM\ATE\JobRecords;
class WPML_TM_ATE_Job_Data_Fallback implements IWPML_Action {
/** @var WPML_TM_ATE_API */
private $ate_api;
/**
* @param WPML_TM_ATE_API $ate_api
*/
public function __construct( WPML_TM_ATE_API $ate_api ) {
$this->ate_api = $ate_api;
}
public function add_hooks() {
add_filter( 'wpml_tm_ate_job_data_fallback', array( $this, 'get_data_from_api' ), 10, 2 );
}
/**
* @param array $data
* @param int $wpml_job_id
*
* @return array
*/
public function get_data_from_api( array $data, $wpml_job_id ) {
$response = $this->ate_api->get_jobs_by_wpml_ids( array( $wpml_job_id ) );
if ( ! $response || is_wp_error( $response ) ) {
return $data;
}
if ( ! isset( $response->{$wpml_job_id}->ate_job_id ) ) {
return $data;
}
return array( JobRecords::FIELD_ATE_JOB_ID => $response->{$wpml_job_id}->ate_job_id );
}
}