PluginProbe
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment / 2.1.13
FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment v2.1.13
3.1.13 3.1.12 3.1.11 3.1.10 3.1.9 3.1.8 3.1.7 trunk 1.0.0 1.0.1 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 All 122 releases
firebox / Inc / Core / RESTAPI.php

RESTAPI.php in FireBox – WooCommerce Popup Builder, Exit Intent Popup, Email Optin & Cart Abandonment 2.1.13, at Inc/Core/RESTAPI.php

82 lines 1.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package FireBox
4 * @version 2.1.13 Free
5 *
6 * @author FirePlugins <info@fireplugins.com>
7 * @link https://www.fireplugins.com
8 * @copyright Copyright © 2024 FirePlugins All Rights Reserved
9 * @license GNU GPLv3 <http://www.gnu.org/licenses/gpl.html> or later
10 */
11
12 namespace FireBox\Core;
13
14 if (!defined('ABSPATH'))
15 {
16 exit; // Exit if accessed directly.
17 }
18
19 class RESTAPI
20 {
21 /**
22 * REST Route namespace
23 *
24 * @var string
25 */
26 private $namespace = 'fireplugins/firebox';
27
28 public function __construct()
29 {
30 // set api call used by gutenberg block to fetch all boxes
31 add_action('rest_api_init', [$this, 'init_block_api']);
32 }
33
34 /**
35 * Sets REST route used by Gutenberg block to fetch all boxes
36 *
37 * @return void
38 */
39 public function init_block_api()
40 {
41 register_rest_route(
42 $this->namespace,
43 'boxes',
44 [
45 'methods' => 'GET',
46 'callback' => [$this, 'get_boxes'],
47 'permission_callback' => function ()
48 {
49 return current_user_can('manage_options');
50 }
51 ]
52 );
53 }
54
55 /**
56 * Finds all boxes and returns them
57 *
58 * @return array
59 */
60 public function get_boxes()
61 {
62 $boxes = \FireBox\Core\Helpers\BoxHelper::getAllBoxes();
63 $boxes = $boxes->posts;
64
65 if (!count($boxes))
66 {
67 return [];
68 }
69
70 $data = [];
71
72 foreach ($boxes as $box)
73 {
74 $data[] = [
75 'id' => $box->ID,
76 'title' => $box->post_title
77 ];
78 }
79
80 return $data;
81 }
82 }