activities_controller.php
1 month ago
auth_controller.php
3 months ago
booking_form_settings_controller.php
3 months ago
bookings_controller.php
12 hours ago
calendars_controller.php
3 months ago
carts_controller.php
12 hours ago
controller.php
3 months ago
customer_cabinet_controller.php
2 months ago
customers_controller.php
12 hours ago
dashboard_controller.php
2 months ago
default_agent_controller.php
3 months ago
events_controller.php
3 months ago
form_fields_controller.php
1 week ago
integrations_controller.php
3 months ago
invoices_controller.php
12 hours ago
manage_booking_by_key_controller.php
3 months ago
manage_order_by_key_controller.php
3 months ago
notifications_controller.php
3 months ago
orders_controller.php
12 hours ago
pro_controller.php
2 weeks ago
process_jobs_controller.php
3 months ago
processes_controller.php
1 month ago
razorpay_connect_controller.php
1 week ago
search_controller.php
3 months ago
services_controller.php
3 months ago
settings_controller.php
2 months ago
steps_controller.php
2 weeks ago
stripe_connect_controller.php
1 week ago
support_topics_controller.php
3 months ago
todos_controller.php
3 months ago
transactions_controller.php
12 hours ago
wizard_controller.php
1 week ago
form_fields_controller.php
62 lines
| 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( 'OsFormFieldsController' ) ) : |
| 12 | |
| 13 | |
| 14 | class OsFormFieldsController extends OsController { |
| 15 | |
| 16 | |
| 17 | function __construct() { |
| 18 | parent::__construct(); |
| 19 | |
| 20 | $this->views_folder = LATEPOINT_VIEWS_ABSPATH . 'settings/'; |
| 21 | $this->vars['page_header'] = OsMenuHelper::get_menu_items_by_id( 'form_fields' ); |
| 22 | $this->vars['breadcrumbs'][] = array( |
| 23 | 'label' => __( 'Form Fields', 'latepoint' ), |
| 24 | 'link' => OsRouterHelper::build_link( OsRouterHelper::build_route_name( 'form_fields', 'default_form_fields' ) ), |
| 25 | ); |
| 26 | } |
| 27 | |
| 28 | public function default_form_fields() { |
| 29 | $this->vars['page_header'] = OsMenuHelper::get_menu_items_by_id( 'form_fields' ); |
| 30 | $this->vars['default_fields'] = OsSettingsHelper::get_default_fields_for_customer(); |
| 31 | |
| 32 | $this->format_render( __FUNCTION__ ); |
| 33 | } |
| 34 | |
| 35 | public function update_default_fields() { |
| 36 | $this->check_nonce( 'update_default_fields' ); |
| 37 | $updated_fields = $this->params['default_fields']; |
| 38 | $default_fields = OsSettingsHelper::get_default_fields_for_customer(); |
| 39 | $fields_to_save = []; |
| 40 | foreach ( $default_fields as $name => $default_field ) { |
| 41 | $default_field['width'] = $updated_fields[ $name ]['width']; |
| 42 | $default_field['required'] = ( $updated_fields[ $name ]['required'] == 'off' ) ? false : true; |
| 43 | $default_field['active'] = ( $updated_fields[ $name ]['active'] ) ? true : false; |
| 44 | $fields_to_save[ $name ] = $default_field; |
| 45 | } |
| 46 | OsSettingsHelper::save_setting_by_name( 'default_fields_for_customer', wp_json_encode( $fields_to_save ) ); |
| 47 | if ( ! empty( $fields_to_save['email'] ) || $fields_to_save['email']['active'] || $fields_to_save['email']['active'] ) { |
| 48 | // if email field is disabled or not required - disabled wordpress login for customers |
| 49 | OsSettingsHelper::save_setting_by_name( 'wp_users_as_customers', LATEPOINT_VALUE_OFF ); |
| 50 | } |
| 51 | if ( $this->get_return_format() == 'json' ) { |
| 52 | $this->send_json( |
| 53 | array( |
| 54 | 'status' => LATEPOINT_STATUS_SUCCESS, |
| 55 | 'message' => __( 'Default Fields Updated', 'latepoint' ), |
| 56 | ) |
| 57 | ); |
| 58 | } |
| 59 | } |
| 60 | } |
| 61 | endif; |
| 62 |