Файловый менеджер - Редактировать - /home/goldin10/public_html/getoutyourbox.com/wp-content/plugins/caldera-forms/classes/query/paginated.php
Error occurred
Назад
<?php use \calderawp\CalderaFormsQuery\Features\FeatureContainer as Queries; use \calderawp\CalderaFormsQuery\Select\SelectQueryBuilder; use \calderawp\CalderaFormsQuery\Select\EntryValues as EntryValueSelect; /** * Class Caldera_Forms_Query_Paginated * * Does paginated queries. Shows all values. */ class Caldera_Forms_Query_Paginated implements Caldera_Forms_Query_Paginates { /** * CalderaFormsQueries FeatureContainer * * @since 1.7.0 * * @var Queries|null */ private $queries; /** * Current page of results * * @since 1.7.0 * * @var int */ private $page; /** * Current limit/per page value * * @since 1.7.0 * * @var int */ private $limit; /** * Form configuration * * @since 1.7.0 * * * @var array */ private $form; /** * Entry IDs of this form * * @since 1.7.0 * * @var array */ private $entry_ids; /** * Caldera_Forms_Query_Paginated constructor. * * @since 1.7.0 * * @param array $form The form configuration * @param Queries|null $queries Optional. Caldera Forms Query Tool feature container. Default is null. * @param int $page Optional. Page of results to get. Default is 1. * @param int $limit Optional. Total entries per page of results. Default is 25. */ public function __construct(array $form, Queries $queries = null, $page = 1, $limit = 25 ) { $this->queries = is_null($queries) ? \calderawp\CalderaFormsQueries\CalderaFormsQueries() : $queries; $this->form = $form; $this->page = $this->set_page( $page ); $this->set_limit( $limit ); } /** * Select by entry IDs * * @since 1.7.0 * * @param array $ids List of entry ids to select by * * @return array */ public function select_by_entry_ids( array $ids ) { $entries = $this ->get_queries_container() ->collectResults( $this ->select( $this ->queries ->getQueries() ->entrySelect() ->in( $ids ) ) ); return $entries; } /** @inheritdoc */ public function select_values_for_form( EntryValueSelect $entry_value_select ) { if (! empty( $this->get_entry_ids_of_form() )) { $entry_value_select ->in($this->get_entry_ids_of_form(), 'entry_id') ->addPagination($this->get_page(), $this->get_limit()); $results = $this->select($entry_value_select); }else{ $results = []; } $fields = new Caldera_Forms_Entry_Fields( $this->form, $results ); return $fields; } /** @inheritdoc */ public function get_queries_container(){ return $this ->queries; } /** @inheritdoc */ public function get_page() { return ! is_numeric( $this->page) ? 1 :$this->page; } /** @inheritdoc */ public function get_limit() { return ! is_numeric( $this->limit) ? 25 :$this->limit; } /** @inheritdoc */ public function set_page($page) { $this->page = caldera_forms_validate_number( $page, 1, 20000 ); return $this; } /** @inheritdoc */ public function set_limit($limit) { $this->limit = caldera_forms_validate_number( $limit, 25, 100 ); return $this; } /** * Get entry IDs of all entries of this form * * Acts as lazy-setter for entry_ids property * * @since 1.7.0 * * @return array */ protected function get_entry_ids_of_form(){ if( ! $this->entry_ids ){ $this->find_entry_ids_of_form(); } return $this->entry_ids; } /** * Finds the entry IDs of all entries of this form by querying the database * * Acts as setter for entry_ids property * * @since 1.7.0 * * @return array */ protected function find_entry_ids_of_form() { $real_page = $this->page; $real_limit = $this->limit; $this->page = 1; $this->limit = $this->find_count(); $results = $this->select_all(); $this->page = $real_page; $this->limit = $real_limit; if( empty( $results ) ){ $this->entry_ids = []; }else{ foreach ( $results as $result ){ $this->entry_ids[] = intval($result->id); } sort($this->entry_ids ); } return $this->entry_ids; } /** * Find total number of entries for this form * * @since 1.7.0 * * @return int */ protected function find_count() { return Caldera_Forms_Entry_Bulk::count($this->form[ 'ID' ] ); } /** * Get results of select query * * @since 1.7.0 * * @param SelectQueryBuilder $query * * @return stdClass[] */ protected function select(SelectQueryBuilder $query ) { return $this->queries->getQueries()->select( $query ); } /** * Queries for all entries of this form, given current pagination * * @since 1.7.0 * * @return stdClass[] */ public function select_all() { $entry_select = $this->queries ->getQueries() ->entrySelect() ->is('form_id', $this->form['ID']) ->addPagination($this->get_page(), $this->get_limit()); return $this->select($entry_select); } }
| ver. 1.4 |
Github
|
.
| PHP 7.2.34 | Генерация страницы: 0.1 |
proxy
|
phpinfo
|
Настройка