60 lines
1.2 KiB
PHP
60 lines
1.2 KiB
PHP
<?php
|
|
|
|
class WPML_ST_DB_Mappers_Strings {
|
|
/**
|
|
* @var wpdb
|
|
*/
|
|
private $wpdb;
|
|
|
|
/**
|
|
* @param wpdb $wpdb
|
|
*/
|
|
public function __construct( wpdb $wpdb ) {
|
|
$this->wpdb = $wpdb;
|
|
}
|
|
|
|
/**
|
|
* @param string $context
|
|
*
|
|
* @return array
|
|
*/
|
|
public function get_all_by_context( $context ) {
|
|
$where = strpos( $context, '%' ) === false ? '=' : 'LIKE';
|
|
$query = "
|
|
SELECT * FROM {$this->wpdb->prefix}icl_strings
|
|
WHERE context {$where} %s
|
|
";
|
|
|
|
$query = $this->wpdb->prepare( $query, esc_sql( $context ) );
|
|
|
|
return $this->wpdb->get_results( $query, ARRAY_A );
|
|
}
|
|
|
|
/**
|
|
* Get a single string row by its domain and value
|
|
*
|
|
* @param string $domain
|
|
* @param string $value
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getByDomainAndValue( $domain, $value ) {
|
|
$sql = "SELECT * FROM {$this->wpdb->prefix}icl_strings WHERE `context` = %s and `value` = %s";
|
|
|
|
return $this->wpdb->get_row( $this->wpdb->prepare( $sql, $domain, $value ) );
|
|
}
|
|
|
|
/**
|
|
* Get a single string row by its id
|
|
*
|
|
* @param int $id
|
|
*
|
|
* @return array
|
|
*/
|
|
public function getById( $id ) {
|
|
$sql = "SELECT * FROM {$this->wpdb->prefix}icl_strings WHERE id = %d";
|
|
|
|
return $this->wpdb->get_row( $this->wpdb->prepare( $sql, $id ) );
|
|
}
|
|
}
|