PHP 8.2.31
Preview: BlocksRenderer.php Size: 4.18 KB
/home/nshryvcy/himaltourism.com/wp-content/plugins/mailpoet/lib/Form/BlocksRenderer.php

<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing

namespace MailPoet\Form;

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


use MailPoet\Entities\FormEntity;
use MailPoet\Form\Block\Checkbox;
use MailPoet\Form\Block\Column;
use MailPoet\Form\Block\Columns;
use MailPoet\Form\Block\Date;
use MailPoet\Form\Block\Divider;
use MailPoet\Form\Block\Heading;
use MailPoet\Form\Block\Html;
use MailPoet\Form\Block\Image;
use MailPoet\Form\Block\Paragraph;
use MailPoet\Form\Block\Radio;
use MailPoet\Form\Block\Segment;
use MailPoet\Form\Block\Select;
use MailPoet\Form\Block\Submit;
use MailPoet\Form\Block\Text;
use MailPoet\Form\Block\Textarea;

class BlocksRenderer {
  /** @var Checkbox */
  private $checkbox;

  /** @var Date */
  private $date;

  /** @var Divider */
  private $divider;

  /** @var Html */
  private $html;

  /** @var Image */
  private $image;

  /** @var Radio */
  private $radio;

  /** @var Segment */
  private $segment;

  /** @var Select */
  private $select;

  /** @var Submit */
  private $submit;

  /** @var Text */
  private $text;

  /** @var Textarea */
  private $textarea;

  /** @var Column */
  private $column;

  /** @var Columns */
  private $columns;

  /** @var Heading */
  private $heading;

  /** @var Paragraph */
  private $paragraph;

  public function __construct(
    Checkbox $checkbox,
    Column $column,
    Columns $columns,
    Date $date,
    Divider $divider,
    Html $html,
    Image $image,
    Heading $heading,
    Paragraph $paragraph,
    Radio $radio,
    Segment $segment,
    Select $select,
    Submit $submit,
    Text $text,
    Textarea $textarea
  ) {
    $this->checkbox = $checkbox;
    $this->column = $column;
    $this->columns = $columns;
    $this->date = $date;
    $this->divider = $divider;
    $this->html = $html;
    $this->image = $image;
    $this->radio = $radio;
    $this->segment = $segment;
    $this->select = $select;
    $this->submit = $submit;
    $this->text = $text;
    $this->textarea = $textarea;
    $this->heading = $heading;
    $this->paragraph = $paragraph;
  }

  public function renderBlock(array $block, array $formSettings, ?int $formId): string {
    $html = '';
    if ($formId) {
      $formSettings['id'] = $formId;
    }
    switch ($block['type']) {
      case FormEntity::HTML_BLOCK_TYPE:
        $html .= $this->html->render($block, $formSettings);
        break;

      case FormEntity::HEADING_BLOCK_TYPE:
        $html .= $this->heading->render($block);
        break;

      case FormEntity::IMAGE_BLOCK_TYPE:
        $html .= $this->image->render($block);
        break;

      case FormEntity::PARAGRAPH_BLOCK_TYPE:
        $html .= $this->paragraph->render($block);
        break;

      case FormEntity::DIVIDER_BLOCK_TYPE:
        $html .= $this->divider->render($block);
        break;

      case FormEntity::CHECKBOX_BLOCK_TYPE:
        $html .= $this->checkbox->render($block, $formSettings, $formId);
        break;

      case FormEntity::RADIO_BLOCK_TYPE:
        $html .= $this->radio->render($block, $formSettings, $formId);
        break;

      case FormEntity::SEGMENT_SELECTION_BLOCK_TYPE:
        $html .= $this->segment->render($block, $formSettings, $formId);
        break;

      case FormEntity::DATE_BLOCK_TYPE:
        $html .= $this->date->render($block, $formSettings, $formId);
        break;

      case FormEntity::SELECT_BLOCK_TYPE:
        $html .= $this->select->render($block, $formSettings);
        break;

      case FormEntity::TEXT_BLOCK_TYPE:
        $html .= $this->text->render($block, $formSettings);
        break;

      case FormEntity::TEXTAREA_BLOCK_TYPE:
        $html .= $this->textarea->render($block, $formSettings);
        break;

      case FormEntity::SUBMIT_BLOCK_TYPE:
        $html .= $this->submit->render($block, $formSettings);
        break;
    }
    return $html;
  }

  public function renderContainerBlock(array $block, string $content) {
    $html = '';
    switch ($block['type']) {
      case FormEntity::COLUMNS_BLOCK_TYPE:
        $html .= $this->columns->render($block, $content);
        break;

      case FormEntity::COLUMN_BLOCK_TYPE:
        $html .= $this->column->render($block, $content);
        break;
    }
    return $html;
  }
}

Directory Contents

Dirs: 4 × Files: 15

Name Size Perms Modified Actions
Block DIR
- drwxr-xr-x 2023-04-04 05:35:40
Edit Download
Listing DIR
- drwxr-xr-x 2023-04-04 05:35:40
Edit Download
Templates DIR
- drwxr-xr-x 2023-04-04 05:35:40
Edit Download
Util DIR
- drwxr-xr-x 2023-04-04 05:35:40
Edit Download
1.91 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
6.09 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
4.18 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
4.04 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
642 B lrw-r--r-- 2023-04-04 05:35:40
Edit Download
10.86 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
1.26 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
1.61 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
1.16 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
2.61 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
0 B lrw-r--r-- 2023-04-04 05:35:40
Edit Download
4.03 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
726 B lrw-r--r-- 2023-04-04 05:35:40
Edit Download
4.19 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download
9.12 KB lrw-r--r-- 2023-04-04 05:35:40
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).