/** * @since unknown */ public static function find($where = '1 = 1', $order = 'id', $offset = false, $results = false) { global $wpdb; switch ($order) { case 'titleza': $order = "ad_title DESC"; break; case 'titleaz': $order = "ad_title ASC"; break; case 'awaitingapproval': $order = "disabled DESC, ad_key DESC"; break; case 'paidfirst': $order = "payment_status DESC, ad_key DESC"; break; case 'mostrecent': $order = "ad_startdate DESC"; break; case 'oldest': $order = "ad_startdate ASC"; break; case 'renewed': $order = 'renewed_date DESC, ad_startdate DESC'; break; case 'featured': $order = "is_featured_ad DESC, ad_startdate DESC"; break; case 'flagged': $order = "ad_startdate DESC"; $where .= ' AND flagged = 1 '; break; default: $order = 'ad_id DESC'; break; } $query = "SELECT * FROM " . AWPCP_TABLE_ADS . " WHERE {$where} "; $query .= "ORDER BY {$order} "; if ($offset !== false && $results !== false) { $query .= "LIMIT {$offset},{$results}"; } $items = $wpdb->get_results($query); $results = array(); foreach ($items as $item) { $results[] = AWPCP_Ad::from_object($item); } return $results; }