HOME


Mini Shell 1.0
DIR: /home/dhnidqcz/pragmaticsng.org/wp-content/plugins/expire-users/includes/
Upload File :
Current File : /home/dhnidqcz/pragmaticsng.org/wp-content/plugins/expire-users/includes/query.php
<?php

class Expire_Users_Query {

	/**
	 * Query
	 *
	 * Pass simple expiry queries to return a User query.
	 * A simple API to save having to construct multiple 'meta_query'
	 * queries each time.
	 *
	 * @param   string|array   $args  Optional. The query variables.
	 * @return  WP_User_Query
	 */
	public static function query( $query = null ) {
		$query = Expire_Users_Query::prepare_query( $query );
		return new WP_User_Query( $query );
	}

	/**
	 * Prepare the query variables.
	 *
	 * @param  string|array  $args  Optional. The query variables.
	 */
	public static function prepare_query( $query = array() ) {
		$query = wp_parse_args( $query, array(
			'expired'              => false,
			'expired_date'         => '',
			'expired_date_compare' => '<'
		) );

		// Expired
		$query['meta_query'][] = array(
			'key'     => '_expire_user_expired',
			'value'   => $query['expired'] ? 'Y' : 'N',
			'compare' => '='
		);

		// Expired Date Compare
		if ( ! empty( $query['expired_date'] ) && is_numeric( $query['expired_date'] ) ) {
			$query['meta_query'][] = array(
				'key'     => '_expire_user_date',
				'value'   => $query['expired_date'],
				'compare' => $query['expired_date_compare'],
				'type'    => 'numeric'
			);
		}

		return $query;
	}

}