<?php
/**
 * Landofcoder
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Landofcoder.com license that is
 * available through the world-wide-web at this URL:
 * https://landofcoder.com/terms
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade this extension to newer
 * version in the future.
 *
 * @category   Landofcoder
 * @package    Lof_Formbuilder
 * @copyright  Copyright (c) 2021 Landofcoder (https://www.landofcoder.com/)
 * @license    https://landofcoder.com/terms
 */

use Lof\Formbuilder\Helper\Data;
use Lof\Formbuilder\Helper\Fields;

$helper           = $this->helper(Fields::class);
$dataHelper       = $this->helper(Data::class);
$form             = $block->getForm();
$formData        = $this->getData('form_data');
$field            = $this->getData('field_data');
$fieldType       = $field['field_type'];
$label            = $block->filterMessage($field['label']);
$options          = $field['field_options'];
$required         = $field['required'];
$cid              = $dataHelper->getFieldId($field);
$fieldName       = $helper->getFieldPrefix() . $cid . $form->getId();
$fieldId          = $fieldName.uniqid();
$availableFields = $helper->getAvailableFields();
$fieldValidate   = $availableFields[$fieldType] ?? '';
$validates        = $fieldValidate;
$fieldHelp       = isset($options['description']) ? $block->filterMessage($options['description']) : '';
$inlineCss        = $field['inline_css'] ?? '';

$colorLabel       = isset($options['color_label']) ? 'color:'.$options['color_label'].';' : '';
$colorText       = isset($options['color_text']) ? 'color:'.$options['color_text'].';' : '';
$colorDescription = isset($options['color_description']) ? 'color:'.$options['color_description'].';' : '';
$backgroundColor = isset($options['background_color']) ? 'background-color:'.$options['background_color'].';' : '';

$fontSize           = isset($options['font_size']) ? 'font-size:'.(int)$options['font_size'].'px;' : '';
$fontStyle       = isset($options['font_style']) ? 'font-style:'.$options['font_style'].';' : '';
$fontWeight      = isset($options['font_weight']) ? 'font-weight:'.$options['font_weight'].';' : '';

if ($fieldValidate && is_array($fieldValidate)) {
    $validates = implode(" ", $fieldValidate);
}
$includeOtherOption = $options['include_other_option'] ?? 0;

$frameWorkCss   = '';
if (isset($field['frame_work_css'])) {
    $frameWorkCss      = $field['frame_work_css'];
}
if ($frameWorkCss == 'foundation') {
    $medium = 'columns medium-';
} else {
    $medium = 'col-sm-';
}
?>
<div class="subtemplate-wrapper" style="<?= $inlineCss ?>">
    <div class="row">
    <?php if ($label && $label != '') { ?>
        <div class="input-box-label <?= $medium;?>6">
            <label for="<?= $fieldId; ?>"  style="<?= $fontSize.$fontStyle.$fontWeight.$colorLabel; ?>" class="<?= (1 == $required) ? 'required' : ''; ?>"><?= $label; ?><?= (1 == $required) ? '<em>*</em>' : '';?></label>
        </div>
    <?php } ?>
    <div class="input-box <?= $medium;?>6">
        <div class="input-list" style="<?= $colorText.$backgroundColor; ?>" >
            <ul class="list-options">
                <?php if ($options['options']) {
                    foreach ($options['options'] as $key => $val) {
                        $itemLabel = $val['label'];
                        $itemChecked = $val['checked'];
                        if ($formData && isset($formData[$fieldName.$key]) && $formData[$fieldName.$key] == $itemLabel) {
                            $itemChecked = true;
                        }
                        if (!$includeOtherOption && ($key == (count($options['options']) - 1))) { ?>
                            <li>
                                <input type="checkbox" name="<?= $fieldName.$key.'[]'; ?>" id="<?= $fieldId.$key; ?>" title="<?= $fieldName; ?>" value="1" class="<?= (1 == $required) ? 'required-entry' : ''; ?>" <?= ($itemChecked) ? 'checked="checked"' : ''?>/> <label for="<?= $fieldName.$key; ?>"><?= $itemLabel; ?></label>
                            </li>
                            <?php } else { ?>
                                <li>
                                    <input type="checkbox" name="<?= $fieldName.$key.'[]' ?>" id="<?= $fieldId.$key; ?>" title="<?= $fieldName; ?>" value="1" <?= ($itemChecked) ? 'checked="checked"' : ''?>/> <label for="<?= $fieldName.$key; ?>"><?= $itemLabel; ?></label>
                                </li>
                                <?php }
                            } ?>
                            <?php } ?>
                        </ul>
                    </div>
                    <?php if ($fieldHelp) { ?>
                        <span class="help-block"><?= $fieldHelp; ?></span>
                        <?php } ?>
                    </div>
    </div>
</div>
