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 / controllers / default_agent_controller.php

default_agent_controller.php in Appointment Booking Plugin – LatePoint | Calendar & Scheduling for WordPress 5.1.92, at lib/controllers/default_agent_controller.php

89 lines 2.9 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 if ( ! defined( 'ABSPATH' ) ) {
7 exit; // Exit if accessed directly.
8 }
9
10
11 if ( ! class_exists( 'OsDefaultAgentController' ) ) :
12
13
14 class OsDefaultAgentController extends OsController {
15
16
17
18 function __construct(){
19 parent::__construct();
20
21 $this->views_folder = plugin_dir_path( __FILE__ ) . '../views/default_agent/';
22 $this->vars['page_header'] = OsMenuHelper::get_menu_items_by_id( 'agents' );
23 $this->vars['breadcrumbs'][] = array('label' => __('Agent', 'latepoint'), 'link' => OsRouterHelper::build_link(OsRouterHelper::build_route_name('agents', 'index') ) );
24 }
25
26
27
28 /*
29 Edit agent
30 */
31
32 public function edit_form(){
33 $agent = OsAgentHelper::get_default_agent();
34
35 if(!OsAuthHelper::get_current_user()->check_if_allowed_record_id($agent->id, 'agent')) $this->access_not_allowed();
36
37 $this->vars['page_header'] = __('Agents', 'latepoint');
38 $this->vars['breadcrumbs'][] = array('label' => __('Agents', 'latepoint'), 'link' => false );
39
40 if($agent->id){
41
42 $this->vars['agent'] = $agent;
43
44 }
45
46 $this->format_render(__FUNCTION__);
47 }
48
49
50 public function update(){
51 $is_new_record = (isset($this->params['agent']['id']) && $this->params['agent']['id']) ? false : true;
52
53 $this->check_nonce($is_new_record ? 'new_agent' : 'edit_agent_'. $this->params['agent']['id']);
54 $agent = new OsAgentModel();
55 $agent->set_data($this->params['agent']);
56 $agent->set_features($this->params['agent']['features']);
57 $extra_response_vars = array();
58
59 if($agent->save() && (empty($this->params['agent']['services']) || $agent->save_locations_and_services($this->params['agent']['services']))){
60 if($is_new_record){
61 $response_html = __('Agent Created. ID:', 'latepoint') . $agent->id;
62 OsActivitiesHelper::create_activity(array('code' => 'agent_create', 'agent_id' => $agent->id));
63 }else{
64 $response_html = __('Agent Updated. ID:', 'latepoint') . $agent->id;
65 OsActivitiesHelper::create_activity(array('code' => 'agent_update', 'agent_id' => $agent->id));
66 }
67 $status = LATEPOINT_STATUS_SUCCESS;
68 // save schedules
69 if($this->params['is_custom_schedule'] == 'on'){
70 $agent->save_custom_schedule($this->params['work_periods']);
71 }elseif($this->params['is_custom_schedule'] == 'off'){
72 $agent->delete_custom_schedule();
73 }
74 $extra_response_vars['record_id'] = $agent->id;
75 do_action('latepoint_agent_saved', $agent, $is_new_record, $this->params['agent']);
76 }else{
77 $response_html = $agent->get_error_messages();
78 $status = LATEPOINT_STATUS_ERROR;
79 }
80 if($this->get_return_format() == 'json'){
81 $this->send_json(array('status' => $status, 'message' => $response_html) + $extra_response_vars);
82 }
83 }
84
85
86 }
87
88
89 endif;