<?php

namespace um\admin\core;



// Exit if accessed directly.

if ( ! defined( 'ABSPATH' ) ) exit;



if ( ! class_exists( 'um\admin\core\Admin_Forms_Settings' ) ) {





	/**

	 * Class Admin_Forms_Settings

	 * @package um\admin\core

	 */

	class Admin_Forms_Settings extends Admin_Forms {



		/**

		 * Admin_Forms constructor.

		 * @param bool $form_data

		 */

		function __construct( $form_data = false ) {



			parent::__construct( $form_data );



		}





		/**

		 * Get field value

		 *

		 * @param array $field_data

		 * @param string $i

		 * @return string|array

		 */

		function get_field_value( $field_data, $i = '' ) {

			$default = isset( $field_data['default' . $i] ) ? $field_data['default' . $i] : UM()->options()->get_default( $field_data['id' . $i] );



			if ( $field_data['type'] == 'checkbox' || $field_data['type'] == 'multi_checkbox' ) {

				if ( isset( $field_data['value' . $i] ) ) {

					return $field_data['value' . $i];

				} else {

					$value = UM()->options()->get( $field_data['id' . $i] );

					$value = is_string( $value ) ? stripslashes( $value ) : $value;

					return '' !== $value ? $value : $default;

				}

			} else {

				if ( isset( $field_data['value' . $i] ) ) {

					return $field_data['value'. $i];

				} else {

					$value = UM()->options()->get( $field_data['id' . $i] );

					$value = is_string( $value ) ? stripslashes( $value ) : $value;

					return isset( $value ) ? $value : $default;

				}

			}

		}



	}

}