/** * Build the sql query. * * @since 1.0 * * @return string */ protected function build_sql() { $builder = new Builder(); $select = $this->parse_select(); $from = new From($this->table->get_table_name($GLOBALS['wpdb']), 'q'); $where = new Where(1, true, 1); if (($activation = $this->parse_activation()) !== null) { $where->qAnd($activation); } if (($release = $this->parse_release()) !== null) { $where->qAnd($release); } if (($update_date = $this->parse_update_date()) !== null) { $where->qAnd($update_date); } $order = $this->parse_order(); $limit = $this->parse_pagination(); $builder->append($select)->append($from); $builder->append($where); $builder->append($order); if ($limit !== null) { $builder->append($limit); } return $builder->build(); }
/** * Build the sql query. * * @since 1.0 * * @return string */ protected function build_sql() { $builder = new Builder(); $select = $this->parse_select(); $from = new From($this->table->get_table_name($GLOBALS['wpdb']), 'q'); $where = new Where(1, true, 1); if (($key = $this->parse_key()) !== null) { $where->qAnd($key); } if (($location = $this->parse_location()) !== null) { $where->qAnd($location); } if (($location_search = $this->parse_location_search()) !== null) { $where->qAnd($location_search); } if (($status = $this->parse_status()) !== null) { $where->qAnd($status); } if (($activation = $this->parse_activation()) !== null) { $where->qAnd($activation); } if (($deactivation = $this->parse_deactivation()) !== null) { $where->qAnd($deactivation); } if (($release = $this->parse_release()) !== null) { $where->qAnd($release); } $order = $this->parse_order(); $limit = $this->parse_pagination(); $builder->append($select)->append($from); if (($join = $this->parse_join()) !== null) { $builder->append($join); } $builder->append($where); $builder->append($order); if ($limit !== null) { $builder->append($limit); } return $builder->build(); }
/** * Build the sql query. * * @since 1.0 * * @return string */ protected function build_sql() { $builder = new Builder(); $select = $this->parse_select(); $from = new From($this->table->get_table_name($GLOBALS['wpdb']), 'q'); $where = new Where(1, true, 1); if (($product = $this->parse_product()) !== null) { $where->qAnd($product); } if (($download = $this->parse_download()) !== null) { $where->qAnd($download); } if (($status = $this->parse_status()) !== null) { $where->qAnd($status); } if (($type = $this->parse_type()) !== null) { $where->qAnd($type); } if (($version = $this->parse_version()) !== null) { $where->qAnd($version); } if (($version_search = $this->parse_version_search()) !== null) { $where->qAnd($version_search); } if (($changelog_search = $this->parse_changelog_search()) !== null) { $where->qAnd($changelog_search); } if (($start_date = $this->parse_start_date()) !== null) { $where->qAnd($start_date); } $order = $this->parse_order(); $limit = $this->parse_pagination(); $builder->append($select)->append($from); $builder->append($where); $builder->append($order); if ($limit !== null) { $builder->append($limit); } return $builder->build(); }
/** * Parse the search query. * * @since 1.0 * * @return Join|null */ protected function parse_customer_search() { if (empty($this->args['customer_search']) || empty($this->args['customer_search_columns'])) { return null; } $clause = esc_sql($this->args['customer_search']); $search_ids = new Where_Raw('u.ID = q.customer'); $white_list = $this->get_default_arg('customer_search_columns'); foreach ((array) $this->args['customer_search_columns'] as $column) { if (!in_array($column, $white_list)) { throw new \InvalidArgumentException("Invalid customer_search_column {$column}."); } if (!isset($search_where)) { $search_where = new Where("u.{$column}", 'LIKE', $clause); } else { /** * @var Where $search_where */ $search_where->qOr(new Where("u.{$column}", 'LIKE', $clause)); } } if (!isset($search_where)) { return null; } $search_ids->qAnd($search_where); return new Join(new From($GLOBALS['wpdb']->users, 'u'), $search_ids); }