48 lines
1015 B
PHP
48 lines
1015 B
PHP
<?php
|
|
|
|
/**
|
|
* Class WPML_TP_TM_Jobs
|
|
*
|
|
* @author OnTheGoSystems
|
|
*/
|
|
class WPML_TP_TM_Jobs {
|
|
|
|
const CACHE_BATCH_ID = 'wpml_tp_tm_jobs_batch_id';
|
|
|
|
/** @var wpdb $wpdb */
|
|
private $wpdb;
|
|
|
|
/**
|
|
* WPML_TF_Rating_TP_API constructor.
|
|
*
|
|
* @param wpdb $wpdb
|
|
*/
|
|
public function __construct( wpdb $wpdb ) {
|
|
$this->wpdb = $wpdb;
|
|
}
|
|
|
|
/**
|
|
* @param int $job_id
|
|
*
|
|
* @return null|string
|
|
*/
|
|
public function get_batch_id( $job_id ) {
|
|
$cached_batch_id = wp_cache_get( $job_id, self::CACHE_BATCH_ID );
|
|
|
|
if ( $cached_batch_id ) {
|
|
return $cached_batch_id;
|
|
}
|
|
|
|
$query = "SELECT tb.tp_id FROM {$this->wpdb->prefix}icl_translation_batches AS tb
|
|
LEFT JOIN {$this->wpdb->prefix}icl_translation_status AS ts ON tb.id = ts.batch_id
|
|
LEFT JOIN {$this->wpdb->prefix}icl_translate_job AS tj ON ts.rid = tj.rid
|
|
WHERE tj.job_id = %d";
|
|
|
|
$batch_id = $this->wpdb->get_var( $this->wpdb->prepare( $query, $job_id ) );
|
|
|
|
wp_cache_set( $job_id, $batch_id, self::CACHE_BATCH_ID );
|
|
|
|
return $batch_id;
|
|
}
|
|
}
|