You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
1.0 KiB
48 lines
1.0 KiB
<?php
|
|
/**
|
|
* @package Polylang
|
|
*/
|
|
|
|
defined( 'ABSPATH' ) || exit;
|
|
|
|
/**
|
|
* Small set of tools to work with the database.
|
|
*
|
|
* @since 3.2
|
|
*/
|
|
class PLL_Db_Tools {
|
|
|
|
/**
|
|
* Changes an array of values into a comma separated list, ready to be used in a `IN ()` clause.
|
|
* Only string and integers and supported for now.
|
|
*
|
|
* @since 3.2
|
|
*
|
|
* @param (int|string)[] $values An array of values.
|
|
* @return string A comma separated list of values.
|
|
*/
|
|
public static function prepare_values_list( $values ) {
|
|
$values = array_map( array( __CLASS__, 'prepare_value' ), (array) $values );
|
|
|
|
return implode( ',', $values );
|
|
}
|
|
|
|
/**
|
|
* Wraps a value in escaped double quotes or casts as an integer.
|
|
* Only string and integers and supported for now.
|
|
*
|
|
* @since 3.2
|
|
*
|
|
* @global wpdb $wpdb
|
|
*
|
|
* @param int|string $value A value.
|
|
* @return int|string
|
|
*/
|
|
public static function prepare_value( $value ) {
|
|
if ( ! is_numeric( $value ) ) {
|
|
return $GLOBALS['wpdb']->prepare( '%s', $value );
|
|
}
|
|
|
|
return (int) $value;
|
|
}
|
|
}
|
|
|