# bit-form/1.1.8/includes/Frontend/Form/View/Theme/DefaultTheme.php

Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator &amp; Custom Form Builder, version 1.1.8. 347 lines.

- Page: https://pluginprobe.com/plugins/bit-form/1.1.8/code/includes/Frontend/Form/View/Theme/DefaultTheme.php
- Raw: https://pluginprobe.com/plugins/bit-form/1.1.8/raw/includes/Frontend/Form/View/Theme/DefaultTheme.php
- Modified: 2021-01-24T12:48:52+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/bit-form/1.1.8/code/includes/Frontend/Form/View/Theme/DefaultTheme.php#L10-L20`.

```php
<?php

namespace BitCode\BitForm\Frontend\Form\View\Theme;

final class DefaultTheme extends ThemeBase
{
  protected function fileUp($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $name = esc_attr($field_name);
    $name .= isset($field->mul) ? '[]' : null;
    $isReqSym = empty($field->valid->req) ? null : ' *';
    $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    $lbl = isset($field->lbl) ? "<label class='fld-lbl fld-lbl-$formID' for='$rowID'>" . esc_html($field->lbl) . $isReqSym . "</label>" : "";
    $upBtnTxt = isset($field->upBtnTxt) ? "<span>" . esc_html($field->upBtnTxt) . "</span>" : "";
    $maxUpload =  isset($field->mxUp) ? "Max " . esc_html($field->mxUp) . " MB" : "";
    $req = isset($field->req) ? "required" : "";
    $mul = isset($field->mul) ? "multiple" : "";
    $extention = isset($field->exts) ? "accept='" . esc_attr($field->exts) . "'" : "";
    $err = isset($error) ? "<span style='color: #d52522'>" . esc_html($error) . "</span>" : "";
    return <<<FILEUPLOAD
          <div class="btcd-fld-itm $rowID $isHidden">
            <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="textarea">
              $lbl
              <div class="btcd-f-input">
                <div class="btcd-f-wrp">
                  <div class="btn-wrp">
                    <button class="btcd-inpBtn" type="button">
                      <svg viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg" width="15" height="15"><path d="M13.5 7.5l-5.757 5.757a4.243 4.243 0 01-6-6l5.929-5.929a2.828 2.828 0 014 4l-5.758 5.758a1.414 1.414 0 01-2-2L9.5 3.5" stroke="currentColor" /></svg>
                      $upBtnTxt
                    </button>
                  </div>
                  <span class="btcd-f-title">{__('No File Chosen', 'bitform')}</span>
                  <small class="f-max">$maxUpload</small>
                  <input id="$rowID" name="$name" $req $mul $extention $isDisabled type="file" />
                </div>
              </div>
              $err
            </div>
          </div>
FILEUPLOAD;
  }

  protected function submitBtns($field, $style, $field_id)
  {
    ob_start(); ?>
    <div class="<?php echo $style; ?>">
      <div>
        <div class="btcd-frm-sub <?php $field->align === 'center' ? $this->setSingleValuedAttribute('j-c-c') : ''; ?><?php $field->align === 'right' ? $this->setSingleValuedAttribute('j-c-e') : ''; ?>">
          <button class="btcd-sub-btn btcd-sub <?php $field->btnSiz === 'md' ? $this->setSingleValuedAttribute('btcd-btn-md') : ''; ?> <?php $field->fulW ? $this->setSingleValuedAttribute('ful-w') : ''; ?>" type="submit" <?php isset($field->name) ? $this->setAttribute('name', $field->name) : '' ?>><?php echo esc_html($field->subBtnTxt) ?></button>
          <?php //{'rstBtnTxt' in attr && <button className={`btcd-sub-btn btcd-rst ${attr.btnSiz === 'md' && 'btcd-btn-md'} ${attr.fulW && 'ful-w'}`} type="button">{attr.rstBtnTxt}</button>}
          ?>
          <?php if (!empty($field->rstBtnTxt)) : ?>
            <button class="btcd-sub-btn btcd-rst <?php $field->btnSiz === 'md' ? $this->setSingleValuedAttribute('btcd-btn-md') : ''; ?> <?php $field->fulW ? $this->setSingleValuedAttribute('ful-w') : ''; ?>" type="reset"><?php echo esc_html($field->rstBtnTxt) ?></button>
          <?php endif ?>
        </div>
      </div>
    </div>
  <?php
    return ob_get_clean();
  }

  protected function textField($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isReqSym = empty($field->valid->req) ? null : ' *';
    $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    $lbl = isset($field->lbl) ? "<label class='fld-lbl fld-lbl-$formID' for='$rowID'>" . esc_html($field->lbl) . $isReqSym . "</label>" : "";
    $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : "";
    $ph = isset($field->ph) ? "placeholder='" .  esc_attr($field->ph) . "'" : "";
    $mx = isset($field->mx) ? "max='" .  esc_attr($field->mx) . "'" : "";
    $mn = isset($field->mn) ? "mix='" .  esc_attr($field->mn) . "'" : "";
    $val = isset($value) ? "value='" .  esc_attr($value) . "'" : "";
    $required = isset($field->valid->req) ? "required" : "";
    $err = isset($error) ? "<span style='color: #d52522;'>" . $error . "</span>" : "";

    return <<<TEXTFIELD
      <div class="btcd-fld-itm $rowID $isHidden">
        <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="text-fld">
          $lbl
          <input id="$rowID" class="fld fld-$formID no-drg" type="$field->typ" $name $ph $mx $mn $val $required $isDisabled/>
          $err
        </div>
      </div>
TEXTFIELD;
  }

  protected function textArea($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isReqSym = empty($field->valid->req) ? null : ' *';
    $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    $lbl = isset($field->lbl) ? "<label class='fld-lbl fld-lbl-$formID' for='$rowID'>" . esc_html($field->lbl) . $isReqSym . "</label>" : "";
    $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : "";
    $ph = isset($field->ph) ? "placeholder='$field->ph'" : "";
    $val = isset($value) ? "value='$value'" : "";
    $required = isset($field->valid->req) ? "required" : "";
    $err = isset($error) ? "<span style='color: #d52522;'>" . esc_html($error) . "</span>" : "";

    return <<<TEXTAREA
      <div class="btcd-fld-itm $rowID $isHidden">
        <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="textarea">
          $lbl
          <textarea id="$rowID" class="fld fld-$formID no-drg" type="$field->typ" $name $ph $required $isDisabled>$val</textArea>
          $err
        </div>
      </div>
TEXTAREA;
  }

  protected function dropDown($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $defaultValue = $value == null ? [] : array_map('esc_html', $value);
    $isDisabled = empty($field->valid->disabled) ? null : 'msl-disabled';
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    $mul = isset($field->mul);
    $isReqSym = empty($field->valid->req) ? null : ' *';
    $lbl = isset($field->lbl) ? "<label class='fld-lbl fld-lbl-$formID' for='$rowID'>" . esc_html($field->lbl) . $isReqSym . "</label>" : "";
    $ph = isset($field->ph) ? "data-placeholder='$field->ph'" : "data-placeholder='Select...'";
    $val = "";
    if (isset($field->val)) {
      $dval = is_string($field->val) ? $field->val : implode(",", $field->val);
      $val = "value='$dval'";
    }
    $options = "";
    foreach ($field->opt as $selectOption) {
      $label = esc_html($selectOption->label);
      $value = esc_html($selectOption->value);
      //  preg_match('/asd 1/', $input_line, $output_array);
      $selected = in_array($value, $defaultValue) ? "msl-option-selected" : "";
      $options .= "<option title='$label' class='msl-option btcd-hidden  $selected' value='$value'>$label</option>";
    }

    $defaultValuePlacehold = "<div data-msl='true' $ph class='msl-input' contenteditable='true'></div>";
    if ($defaultValue !== null && sizeof($defaultValue) === 1 && !$mul) {
      $defaultValuePlacehold  = "<span class='msl-single-value' data-msl='true'>$defaultValue[0]</span>";
    }
    return <<<DROPDOWN
    <div class="btcd-fld-itm $rowID $isHidden">
      <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="select">
        $lbl
        <div class="msl-wrp msl-vars no-drg isDisabled" style="width: 100%;">
          <input name="$field_name" type="hidden" value="$val">
            <div data-msl="true" class="msl">
              <div data-msl="true" class="msl-input-wrp" tabindex="0">
                $defaultValuePlacehold
              </div>
              <div class="msl-actions msl-flx"><div role="button" aria-label="toggle-menu" class="msl-btn msl-arrow-btn msl-flx"></div></div></div>
              <div class="msl-options">
                $options
              </div>
            </div>
      </div>
    </div>
DROPDOWN;
  }

  protected function recaptcha($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }

    return <<<RECAPTCHA
      <div class="btcd-fld-itm $rowID $isHidden">
        <div class="btcd-flx j-c-c" style="min-height='inherit'">
        </div>
      </div>
RECAPTCHA;
  }

  protected function paypal($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }

    return <<<PAYPAL
    <div class="btcd-fld-itm $rowID $isHidden">
      <div class="fld-wrp fld-wrp-${formID}">
        <div style="width: auto; min-width: 150px; max-width: 750px; margin-left: auto; margin-right: auto;">
        </div>
      </div>
    </div>
PAYPAL;
  }

  protected function razorPay($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    ob_start(); ?>
    <div class="btcd-fld-itm <?php $this->setSingleValuedAttribute($rowID) ?><?php $isHidden ? $this->setSingleValuedAttribute($isHidden) : '' ?>">
      <div class="btcd-frm-sub <?php $field->align === 'center' ? $this->setSingleValuedAttribute('j-c-c') : ''; ?><?php $field->align === 'right' ? $this->setSingleValuedAttribute('j-c-e') : ''; ?>">
        <button class="btcd-sub-btn btcd-sub <?php $field->btnSiz === 'md' ? $this->setSingleValuedAttribute('btcd-btn-md') : ''; ?> <?php $field->fulW ? $this->setSingleValuedAttribute('ful-w') : ''; ?>" type="button" <?php isset($field->name) ? $this->setAttribute('name', $field->name) : '' ?>><?php echo esc_html($field->btnTxt) ?></button>
      </div>
    </div>
<?php
    return ob_get_clean();
  }

  protected function checkBox($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isReqSym = empty($field->valid->req) ? null : ' *';
    $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    $lbl = isset($field->lbl) ? "<label class='fld-lbl fld-lbl-$formID' for='$rowID'>" . esc_html($field->lbl) . $isReqSym . "</label>" : "";
    $round  = isset($field->round) ? "btcd-round" : "";
    $err = isset($error) ? "<span style='color: #d52522;'>" . esc_html($error) . "</span>" : "";

    $options = "";

    foreach ($field->opt as $checkBoxOption) {
      $name = isset($field_name) ? "name='" . esc_attr($field_name) . "[]" . "'" : "";
      $required = isset($checkBoxOption->req) ? "required" : "";
      $checked = isset($checkBoxOption->check) ? "checked" : "";
      $checkBoxOptionValue = esc_html($checkBoxOption->lbl);
      if ((!is_array($value) && strpos($value, $checkBoxOption->lbl) !== false) || (isset($value) && \is_array($value) && $checkBoxOption->lbl === $value[array_search($checkBoxOption->lbl, $value)])) {
        $checked = "checked";
      }
      $options .= <<<OPTION
        <label class="btcd-ck-wrp btcd-ck-wrp-$formID">
        <span>$checkBoxOption->lbl</span>
        <input type="checkbox" $checked $required $name value="$checkBoxOptionValue" $isDisabled/>
        <span class="btcd-mrk ck"></span>
        </label>
OPTION;
    }

    return <<<CHECKBOX
    <div class="btcd-fld-itm $rowID $isHidden">
      <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="textarea">
        $lbl
        <div class="no-drg fld btcd-ck-con $round">
        $options
        </div>
        $err
      </div>
    </div>
CHECKBOX;
  }

  protected function radioBox($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isReqSym = empty($field->valid->req) ? null : ' *';
    $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    $lbl = isset($field->lbl) ? "<label class='fld-lbl fld-lbl-$formID' for='$rowID'>" . esc_html($field->lbl) . $isReqSym . "</label>" : "";
    $round  = isset($field->round) ? "btcd-round" : "";
    $err = isset($error) ? "<span style='color: #d52522;'>" . esc_html($error) . "</span>" : "";

    $options = "";

    foreach ($field->opt as $checkBoxOption) {
      $name = isset($field_name) ? "name='" . esc_attr($field_name) . "'" : "";
      $required = isset($checkBoxOption->req) ? "required" : "";
      $optionValue = esc_html($checkBoxOption->lbl);
      $checked = "";
      if (isset($checkBoxOption->check)  || $checkBoxOption->lbl === $value) {
        $checked = "checked";
      }
      $options .= <<<OPTION
        <label class="btcd-ck-wrp btcd-ck-wrp-$formID">
          <span>$checkBoxOption->lbl</span>
          <input type="radio" $checked $required $name value="$optionValue" $isDisabled/>
          <span class="btcd-mrk rdo"></span>
        </label>
OPTION;
    }

    return <<<RADIOBOX
    <div class="btcd-fld-itm $rowID $isHidden">
      <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="textarea">
        $lbl
        <div class="no-drg fld btcd-ck-con $round">
        $options
        </div>
        $err
      </div>
    </div>
RADIOBOX;
  }

  protected function decisionBox($field, $rowID, $field_name, $error = null, $value = null, $formID)
  {
    $isRequired = !empty($field->valid->req) ? 'required' : '';
    $isReqSym = $isRequired ? null : ' *';
    $isChecked = !empty($field->valid->checked) ? 'checked' : '';
    $isDisabled = empty($field->valid->disabled) ? null : 'disabled';
    $value = $isChecked ? $field->msg->checked : $field->msg->unchecked;
    $isHidden = !empty($field->valid->hide) && $field->valid->hide ? 'btcd-hidden' : null;
    if (!empty($isHidden) && !$field->valid->hide) {
      $isHidden =  null;
    }
    $round  = isset($field->round) ? "btcd-round" : "";
    $err = isset($error) ? "<span style='color: #d52522;'>" . esc_html($error) . "</span>" : "";
    $size = $isRequired ? '1px' : '';

    return <<<DECISIONBOX
    <div class="btcd-fld-itm $rowID $isHidden">
      <div class="fld-wrp fld-wrp-$formID drag" btcd-fld="decision-box">
        <div class="no-drg fld fld-{$formID} btcd-ck-con $round">
        <label class="btcd-ck-wrp btcd-ck-wrp-{$formID}">
          <span class="tinymce-content frntend">
            {$field->info->lbl}
          </span>
          <input type="hidden" value="{$value}" name="{$field_name}" />
        </label>
        <input
            size="height: {$size}, width: {$size}"
            type="checkbox"
            $isDisabled
            $isRequired
            $isChecked
            value="{$value}"
          />
        <span class="btcd-mrk ck"></span>
        </div>
        $err
      </div>
    </div>
DECISIONBOX;
  }
}

```
