HEX
Server: nginx/1.27.1
System: Linux in-4 5.15.0-131-generic #141-Ubuntu SMP Fri Jan 10 21:18:28 UTC 2025 x86_64
User: ilikadirect (1186)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system,proc_open,popen,parse_ini_file,show_source
Upload Files
File: /storage/v6964/testingff/public_html/fdfctr/wp-content/plugins/connections/includes/Form/Field.php
<?php

namespace Connections_Directory\Form;

use Connections_Directory\Form\Field\Attributes;
use Connections_Directory\Form\Field\Attribute\Classnames;
use Connections_Directory\Form\Field\Attribute\Data;
use Connections_Directory\Form\Field\Attribute\Disabled;
use Connections_Directory\Form\Field\Attribute\Label;
use Connections_Directory\Form\Field\Attribute\Name;
use Connections_Directory\Form\Field\Attribute\Prefix;
use Connections_Directory\Form\Field\Attribute\Read_Only;
use Connections_Directory\Form\Field\Attribute\Required;
use Connections_Directory\Form\Field\Attribute\Style;
use Connections_Directory\Form\Field\Attribute\Id;
use Connections_Directory\Form\Field\Attribute\Value;
use Connections_Directory\Utility\_escape;

/**
 * Class Field
 *
 * @package Connections_Directory\Form
 */
abstract class Field implements Interfaces\Field {

	use Attributes;
	use Classnames;
	use Data;
	use Disabled;
	use Id;
	use Label;
	use Name;
	use Prefix;
	use Read_Only;
	use Required;
	use Style;
	use Value;

	/**
	 * HTML to insert before the field HTML.
	 *
	 * @since 10.4
	 * @var string
	 */
	protected $prepend = '';

	/**
	 * HTML to insert after the field HTML.
	 *
	 * @since 10.4
	 * @var string
	 */
	protected $append = '';

	/**
	 * Field constructor.
	 */
	public function __construct() {
	}

	/**
	 * Create an instance of the Field.
	 *
	 * @since 10.4
	 *
	 * @return static
	 */
	public static function create() {

		return new static();
	}

	/**
	 * HTML to insert before the field HTML.
	 *
	 * @since 10.4
	 *
	 * @param string $string
	 *
	 * @return static
	 */
	public function prepend( $string ) {

		$this->prepend = $string;

		return $this;
	}

	/**
	 * HTML to insert after the field HTML.
	 *
	 * @since 10.4
	 *
	 * @param string $string
	 *
	 * @return static
	 */
	public function append( $string ) {

		$this->append = $string;

		return $this;
	}

	/**
	 * Echo the field HTML.
	 *
	 * @since 10.4
	 *
	 * @return static
	 */
	public function fieldHTML() {

		echo $this->getFieldHTML(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped

		return $this;
	}

	/**
	 * Get the field and field label HTML.
	 *
	 * @since 10.4
	 *
	 * @return string
	 */
	public function getHTML() {

		$prepend = $this->prepend;
		$label   = $this->getLabelHTML();
		$field   = $this->getFieldHTML();
		$append  = $this->append;

		return $prepend . ( 'after' === $this->labelPosition ? "{$field}{$label}" : "{$label}{$field}" ) . $append;
	}

	/**
	 * Echo field and field label HTML.
	 *
	 * @since 10.4
	 */
	public function render() {

		echo $this->getHTML(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped
	}

	/**
	 * @since 10.4
	 *
	 * @return string
	 */
	public function __toString() {

		return $this->getHTML();
	}
}