80 lines
1.5 KiB
PHP
80 lines
1.5 KiB
PHP
<?php
|
|
|
|
class WPML_ST_ICL_String_Translations extends WPML_WPDB_User {
|
|
|
|
private $table = 'icl_string_translations';
|
|
private $string_id = 0;
|
|
private $lang_code;
|
|
private $id;
|
|
|
|
/**
|
|
* WPML_ST_ICL_String_Translations constructor.
|
|
*
|
|
* @param wpdb $wpdb
|
|
* @param int $string_id
|
|
* @param string $lang_code
|
|
*/
|
|
public function __construct( &$wpdb, $string_id, $lang_code ) {
|
|
parent::__construct( $wpdb );
|
|
$string_id = (int) $string_id;
|
|
if ( $string_id > 0 && $lang_code ) {
|
|
$this->string_id = $string_id;
|
|
$this->lang_code = $lang_code;
|
|
} else {
|
|
throw new InvalidArgumentException(
|
|
'Invalid String ID: '
|
|
. $string_id . ' or language_code: ' . $lang_code
|
|
);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @return int|string
|
|
*/
|
|
public function translator_id() {
|
|
|
|
return $this->wpdb->get_var(
|
|
$this->wpdb->prepare(
|
|
" SELECT translator_id
|
|
FROM {$this->wpdb->prefix}{$this->table}
|
|
WHERE id = %d LIMIT 1",
|
|
$this->id()
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @return string
|
|
*/
|
|
public function value() {
|
|
|
|
return $this->wpdb->get_var(
|
|
$this->wpdb->prepare(
|
|
" SELECT value
|
|
FROM {$this->wpdb->prefix}{$this->table}
|
|
WHERE id = %d LIMIT 1",
|
|
$this->id()
|
|
)
|
|
);
|
|
}
|
|
|
|
/**
|
|
* @return int
|
|
*/
|
|
public function id() {
|
|
|
|
return (int) ( $this->id
|
|
? $this->id
|
|
: $this->wpdb->get_var(
|
|
$this->wpdb->prepare(
|
|
" SELECT id
|
|
FROM {$this->wpdb->prefix}{$this->table}
|
|
WHERE string_id = %d AND language = %s
|
|
LIMIT 1",
|
|
$this->string_id,
|
|
$this->lang_code
|
|
)
|
|
) );
|
|
}
|
|
}
|