[Back] <?php
/*
* Copyright (c) 2024 LatePoint LLC. All rights reserved.
*/
if (!defined('ABSPATH')) {
exit; // Exit if accessed directly.
}
if (!class_exists('OsFormFieldsController')) :
class OsFormFieldsController extends OsController {
function __construct() {
parent::__construct();
$this->views_folder = LATEPOINT_VIEWS_ABSPATH . 'settings/';
$this->vars['page_header'] = OsMenuHelper::get_menu_items_by_id('form_fields');
$this->vars['breadcrumbs'][] = array('label' => __('Form Fields', 'latepoint'), 'link' => OsRouterHelper::build_link(OsRouterHelper::build_route_name('form_fields', 'default_form_fields')));
}
public function default_form_fields() {
$this->vars['page_header'] = OsMenuHelper::get_menu_items_by_id('form_fields');
$this->vars['default_fields'] = OsSettingsHelper::get_default_fields_for_customer();
$this->format_render(__FUNCTION__);
}
public function update_default_fields() {
$updated_fields = $this->params['default_fields'];
$default_fields = OsSettingsHelper::get_default_fields_for_customer();
$fields_to_save = [];
foreach ($default_fields as $name => $default_field) {
$default_field['width'] = $updated_fields[$name]['width'];
$default_field['required'] = ($updated_fields[$name]['required'] == 'off') ? false : true;
$default_field['active'] = ($updated_fields[$name]['active']) ? true : false;
$fields_to_save[$name] = $default_field;
}
OsSettingsHelper::save_setting_by_name('default_fields_for_customer', wp_json_encode($fields_to_save));
if(!empty($fields_to_save['email']) || $fields_to_save['email']['active'] || $fields_to_save['email']['active']){
// if email field is disabled or not required - disabled wordpress login for customers
OsSettingsHelper::save_setting_by_name('wp_users_as_customers', LATEPOINT_VALUE_OFF);
}
if ($this->get_return_format() == 'json') {
$this->send_json(array('status' => LATEPOINT_STATUS_SUCCESS, 'message' => __('Default Fields Updated', 'latepoint')));
}
}
}
endif;