PluginProbe
JetFormBuilder — Dynamic Blocks Form Builder / 3.6.6
JetFormBuilder — Dynamic Blocks Form Builder v3.6.6
3.6.6.1 3.6.6 3.6.5.4 3.6.5.3 3.6.5.2 3.6.5.1 3.6.5 3.6.4.2 3.6.4.1 3.6.4 3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 All 134 releases
jetformbuilder / includes / db-queries / views / view-base-count-trait.php

view-base-count-trait.php in JetFormBuilder — Dynamic Blocks Form Builder 3.6.6, at includes/db-queries/views/view-base-count-trait.php

50 lines 869 B
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3
4 namespace Jet_Form_Builder\Db_Queries\Views;
5
6 use Jet_Form_Builder\Exceptions\Query_Builder_Exception;
7
8 // If this file is called directly, abort.
9 if ( ! defined( 'WPINC' ) ) {
10 die;
11 }
12
13 trait View_Base_Count_Trait {
14
15 /**
16 * @return array[]
17 */
18 public function select_columns(): array {
19 return array(
20 array(
21 'as' => sprintf( 'COUNT( %s ) as total', $this->column( 'id' ) ),
22 ),
23 );
24 }
25
26 public function limit(): array {
27 return array( 1 );
28 }
29
30 public function prepare_row( $value ) {
31 return (int) $value;
32 }
33
34 public function get_count(): int {
35 try {
36 return (int) $this->query()
37 ->query_var();
38
39 } catch ( Query_Builder_Exception $exception ) {
40 return 0;
41 }
42 }
43
44 public static function count( $args = array() ) {
45 $filters = $args['filters'] ?? $args;
46
47 return ( new static() )->set_filters( $filters )->get_count();
48 }
49 }
50