PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / bookingpress / bookingpress.php
suretriggers / src / Integrations / bookingpress Last commit date
triggers 1 month ago bookingpress.php 1 month ago
bookingpress.php
88 lines
1 <?php
2 /**
3 * BookingPress core integrations file
4 *
5 * @since 1.0.0
6 * @package SureTrigger
7 */
8
9 namespace SureTriggers\Integrations\BookingPress;
10
11 use SureTriggers\Controllers\IntegrationsController;
12 use SureTriggers\Integrations\Integrations;
13 use SureTriggers\Traits\SingletonLoader;
14
15 /**
16 * Class BookingPress
17 *
18 * @package SureTriggers\Integrations\BookingPress
19 */
20 class BookingPress extends Integrations {
21
22 use SingletonLoader;
23
24 /**
25 * ID
26 *
27 * @var string
28 */
29 protected $id = 'BookingPress';
30
31 /**
32 * SureTrigger constructor.
33 */
34 public function __construct() {
35 $this->name = __( 'BookingPress', 'suretriggers' );
36 $this->description = __( 'BookingPress is an appointment booking plugin for WordPress that lets you create services, manage bookings, and handle payments.', 'suretriggers' );
37 parent::__construct();
38 }
39
40 /**
41 * Is Plugin depended plugin is installed or not.
42 *
43 * @return bool
44 */
45 public function is_plugin_installed() {
46 return defined( 'BOOKINGPRESS_VERSION' );
47 }
48
49 /**
50 * Get appointment context data from the database.
51 *
52 * @param int $appointment_id The bookingpress_appointment_booking_id.
53 * @return array
54 */
55 public static function get_appointment_context( $appointment_id ) {
56 global $wpdb;
57
58 $table = $wpdb->prefix . 'bookingpress_appointment_bookings';
59
60 $row = $wpdb->get_row(
61 $wpdb->prepare(
62 'SELECT * FROM ' . esc_sql( $table ) . ' WHERE bookingpress_appointment_booking_id = %d', // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
63 $appointment_id
64 ),
65 ARRAY_A
66 );
67
68 if ( empty( $row ) ) {
69 return [];
70 }
71
72 $status_labels = [
73 '1' => __( 'Approved', 'suretriggers' ),
74 '2' => __( 'Pending', 'suretriggers' ),
75 '3' => __( 'Canceled', 'suretriggers' ),
76 '4' => __( 'Rejected', 'suretriggers' ),
77 ];
78
79 $status_key = (string) $row['bookingpress_appointment_status'];
80 $row['appointment_status_label'] = isset( $status_labels[ $status_key ] ) ? $status_labels[ $status_key ] : $status_key;
81
82 return $row;
83 }
84
85 }
86
87 IntegrationsController::register( BookingPress::class );
88