PluginProbe ʕ •ᴥ•ʔ
Kirki – Freeform Page Builder, Website Builder & Customizer / 6.2.5
Kirki – Freeform Page Builder, Website Builder & Customizer v6.2.5
6.3.0 6.2.5 6.2.4 6.2.3 6.2.2 6.2.1 6.2.0 6.1.1 6.1.0 6.0.14 6.0.13 6.0.12 6.0.11 6.0.10 6.0.9 6.0.8 6.0.7 6.0.6 6.0.5 6.0.4 6.0.3 6.0.2 6.0.1 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 4.0.19 4.0.20 4.0.21 4.0.22 4.0.23 4.0.24 4.1 4.2.0 5.0.0 5.1.0 5.1.1 5.2.0 5.2.1 5.2.2 5.2.3 6.0.0 trunk 3.0.40 3.0.41 3.0.42 3.0.43 3.0.44 3.0.45 3.1.0 3.1.1 3.1.2
kirki / app / Services / UtilityPageService.php
kirki / app / Services Last commit date
AppsService.php 1 month ago CollaborationCommentService.php 2 months ago CollaborationService.php 1 month ago CollectionItemService.php 3 weeks ago CollectionService.php 1 month ago ContentManagerTemplateBinder.php 1 month ago ContentManagerTemplateService.php 1 month ago EditorService.php 2 months ago FontService.php 2 weeks ago FormSubmissionService.php 1 week ago GlobalDataService.php 1 month ago MediaService.php 2 months ago PageService.php 1 month ago PageSettingsService.php 2 months ago PostService.php 1 month ago UtilityPageService.php 1 month ago
UtilityPageService.php
72 lines
1 <?php
2
3 namespace Kirki\App\Services;
4
5 defined('ABSPATH') || exit;
6
7 use Exception;
8 use Kirki\Ajax\Collection;
9 use Kirki\App\Constants\PageMetaKeys;
10 use Kirki\App\Constants\PostTypes;
11 use Kirki\App\Constants\UtilityPageType;
12 use Kirki\App\Models\Page as PageModel;
13 use Kirki\Framework\Database\Query\QueryBuilder;
14 use Kirki\Framework\Http\Response;
15
16 class UtilityPageService
17 {
18 /**
19 * Create a new instance of the service
20 * @return UtilityPageService
21 */
22 public static function create()
23 {
24 return new static();
25 }
26
27 /**
28 * Check if a utility page exists
29 *
30 * @param string $utility_type
31 *
32 * @return bool
33 */
34 public function exists(string $utility_type)
35 {
36 if (!in_array($utility_type, UtilityPageType::get_constant_values(), true)) {
37 throw new Exception(
38 /* translators: %s: Utility page type */
39 sprintf(esc_html__('Invalid utility page type: %s', 'kirki'), esc_html($utility_type)),
40 Response::UNPROCESSABLE_ENTITY
41 );
42 }
43
44 return PageModel::query()
45 ->exclude_trash()
46 ->where('post_type', '=', PostTypes::UTILITY)
47 ->where_has('meta', function (QueryBuilder $query) use ($utility_type) {
48 $query->where('meta_key', '=', PageMetaKeys::UTILITY_PAGE_TYPE)
49 ->where('meta_value', '=', $utility_type);
50 })
51 ->exists();
52 }
53
54 /**
55 * Get all utility pages
56 *
57 * @return Collection
58 */
59 public function get_utility_pages()
60 {
61 return PageModel::query()
62 ->with([
63 'meta' => function (QueryBuilder $query) {
64 $query->where('meta_key', '=', PageMetaKeys::UTILITY_PAGE_TYPE)
65 ->where_in('meta_value', UtilityPageType::get_constant_values());
66 }
67 ])
68 ->exclude_trash()
69 ->where('post_type', '=', PostTypes::UTILITY)
70 ->get();
71 }
72 }