PluginProbe
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress / 5.1.92
Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress v5.1.92
5.6.11 5.6.10 5.6.9 5.6.8 5.6.7 5.6.6 5.6.5 5.6.4 5.6.3 5.6.2 5.6.1 5.6.0 5.5.2 5.5.1 5.5.0 5.4.2 trunk 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 All 48 releases
latepoint / lib / misc / step.php
step.php
70 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /*
3 * Copyright (c) 2024 LatePoint LLC. All rights reserved.
4 */
5
6 namespace LatePoint\Misc;
7
8 class Step {
9 public string $code;
10 public string $label;
11 public string $side_panel_heading;
12 public string $side_panel_description;
13 public string $main_panel_heading;
14 public string $main_panel_content_before;
15 public string $main_panel_content_after;
16 public string $side_panel_custom_image_id;
17
18
19 function __construct( $args = [] ) {
20 $allowed_props = static::allowed_props();
21 foreach ( $args as $key => $arg ) {
22 if ( in_array( $key, $allowed_props ) ) {
23 $this->$key = $arg;
24 }
25 }
26 }
27
28 public function get_image_url_for_side_panel() : string {
29 if ( $this->is_using_custom_image_for_side_panel() ) {
30 return \OsImageHelper::get_image_url_by_id( $this->side_panel_custom_image_id, 'thumbnail', '' );
31 }else{
32 return '';
33 }
34 }
35
36 public function get_default_image_html_for_side_panel() {
37 return \OsStepsHelper::get_default_side_panel_image_html_for_step_code( $this->code );
38 }
39
40
41 public function is_using_custom_image_for_side_panel(): bool {
42 return ! empty( $this->side_panel_custom_image_id );
43 }
44
45 public static function create_from_settings( string $step_code, array $step_settings ): Step {
46 return new Step( [
47 'code' => $step_code,
48 'label' => \OsStepsHelper::get_step_label_by_code( $step_code ),
49 'side_panel_heading' => $step_settings['side_panel_heading'] ?? '',
50 'side_panel_description' => $step_settings['side_panel_description'] ?? '',
51 'main_panel_heading' => $step_settings['main_panel_heading'] ?? '',
52 'main_panel_content_before' => $step_settings['main_panel_content_before'] ?? '',
53 'main_panel_content_after' => $step_settings['main_panel_content_after'] ?? '',
54 'side_panel_custom_image_id' => $step_settings['side_panel_custom_image_id'] ?? '',
55 ] );
56 }
57
58 public static function allowed_props(): array {
59 return [
60 'code',
61 'label',
62 'side_panel_heading',
63 'side_panel_description',
64 'main_panel_heading',
65 'main_panel_content_before',
66 'main_panel_content_after',
67 'side_panel_custom_image_id',
68 ];
69 }
70 }