HEX
Server: nginx/1.18.0
System: Linux iZj6c1ieg2jrpk1z5tzi19Z 6.3.9-1.el7.elrepo.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jun 21 22:18:40 EDT 2023 x86_64
User: www (1001)
PHP: 8.2.4
Disabled: passthru,exec,system,putenv,chroot,chgrp,chown,shell_exec,popen,proc_open,pcntl_exec,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,imap_open,apache_setenv
Upload Files
File: /www/wwwroot/www.cytocare.cn/wp-content/plugins/mailpoet/lib/Form/Block/Divider.php
<?php // phpcs:ignore SlevomatCodingStandard.TypeHints.DeclareStrictTypes.DeclareStrictTypesMissing

namespace MailPoet\Form\Block;

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


use MailPoet\WP\Functions as WPFunctions;

class Divider {
  /** @var WPFunctions */
  private $wp;

  public function __construct(
    WPFunctions $wp
  ) {
    $this->wp = $wp;
  }

  const DEFAULT_ATTRIBUTES = [
    'height' => 1,
    'type' => 'divider',
    'style' => 'solid',
    'dividerHeight' => 1,
    'dividerWidth' => 100,
    'color' => 'black',
  ];

  public function render($block): string {
    $classes = ['mailpoet_spacer'];
    if (isset($block['params']['type']) && $block['params']['type'] === 'divider') {
      $classes[] = 'mailpoet_has_divider';
    }
    if (!empty($block['params']['class_name'])) {
      $classes[] = $block['params']['class_name'];
    }
    $classAttr = $this->wp->escAttr(join(' ', $classes));
    $height = $this->wp->escAttr($block['params']['height'] ?? self::DEFAULT_ATTRIBUTES['height']);
    return "<div class='{$classAttr}' style='height: {$height}px;'>"
    . $this->renderDivider($block)
    . '</div>';
  }

  private function renderDivider(array $block): string {
    if (isset($block['params']['type']) && $block['params']['type'] === 'spacer') {
      return '';
    }
    $width = $block['params']['divider_width'] ?? self::DEFAULT_ATTRIBUTES['dividerWidth'];
    $style = $block['params']['style'] ?? self::DEFAULT_ATTRIBUTES['style'];
    $dividerHeight = $block['params']['divider_height'] ?? self::DEFAULT_ATTRIBUTES['dividerHeight'];
    $color = $block['params']['color'] ?? self::DEFAULT_ATTRIBUTES['color'];

    $dividerStyles = [
      "border-top-style: $style",
      "border-top-width: {$dividerHeight}px",
      "border-top-color: $color",
      "height: {$dividerHeight}px",
      "width: $width%",
    ];
    $style = $this->wp->escAttr(implode(";", $dividerStyles));
    return "<div class='mailpoet_divider' data-automation-id='form_divider' style='$style'></div>";
  }
}