PHP 8.2.31
Preview: pipe.php Size: 2.56 KB
/home/nshryvcy/taramarriagebureau.com/wp-content/plugins/contact-form-7/includes/pipe.php

<?php
/**
 * Pipe-related classes.
 *
 * @link https://contactform7.com/selectable-recipient-with-pipes/
 */


/**
 * Class representing a pair of pipe.
 */
class WPCF7_Pipe {

	public $before = '';
	public $after = '';

	public function __construct( $text ) {
		$text = (string) $text;

		$pipe_pos = strpos( $text, '|' );

		if ( false === $pipe_pos ) {
			$this->before = $this->after = trim( $text );
		} else {
			$this->before = trim( substr( $text, 0, $pipe_pos ) );
			$this->after = trim( substr( $text, $pipe_pos + 1 ) );
		}
	}
}


/**
 * Class representing a list of pipes.
 */
class WPCF7_Pipes {

	private $pipes = array();

	public function __construct( $texts = null ) {
		foreach ( (array) $texts as $text ) {
			$this->add_pipe( $text );
		}
	}

	private function add_pipe( $text ) {
		$pipe = new WPCF7_Pipe( $text );
		$this->pipes[] = $pipe;
	}

	public function merge( self $another ) {
		$this->pipes = array_merge( $this->pipes, $another->pipes );
	}

	public function do_pipe( $input ) {
		$input_canonical = wpcf7_canonicalize( $input, array(
			'strto' => 'as-is',
		) );

		foreach ( $this->pipes as $pipe ) {
			$before_canonical = wpcf7_canonicalize( $pipe->before, array(
				'strto' => 'as-is',
			) );

			if ( $input_canonical === $before_canonical ) {
				return $pipe->after;
			}
		}

		return $input;
	}

	public function collect_befores() {
		$befores = array();

		foreach ( $this->pipes as $pipe ) {
			$befores[] = $pipe->before;
		}

		return $befores;
	}

	public function collect_afters() {
		$afters = array();

		foreach ( $this->pipes as $pipe ) {
			$afters[] = $pipe->after;
		}

		return $afters;
	}

	public function zero() {
		return empty( $this->pipes );
	}

	public function random_pipe() {
		if ( $this->zero() ) {
			return null;
		}

		return $this->pipes[array_rand( $this->pipes )];
	}

	public function to_array() {
		return array_map(
			static function ( WPCF7_Pipe $pipe ) {
				return array(
					$pipe->before,
					$pipe->after,
				);
			},
			$this->pipes
		);
	}
}


/**
 * Trait for classes that hold cross-tag WPCF7_Pipes object.
 */
trait WPCF7_PipesHolder {

	protected $pipes;

	public function get_pipes( $field_name ) {
		if ( isset( $this->pipes[$field_name] ) ) {
			return $this->pipes[$field_name];
		}

		$result = new WPCF7_Pipes();

		$tags = $this->scan_form_tags( array(
			'name' => $field_name,
		) );

		foreach ( $tags as $tag ) {
			if ( $tag->pipes instanceof WPCF7_Pipes ) {
				$result->merge( $tag->pipes );
			}
		}

		return $this->pipes[$field_name] = $result;
	}

	public function scan_form_tags() {
		return array();
	}

}

Directory Contents

Dirs: 5 × Files: 24

Name Size Perms Modified Actions
- drwxr-xr-x 2025-04-30 03:16:24
Edit Download
- drwxr-xr-x 2025-04-30 03:16:25
Edit Download
css DIR
- drwxr-xr-x 2025-04-30 03:16:24
Edit Download
js DIR
- drwxr-xr-x 2025-04-30 03:16:25
Edit Download
swv DIR
- drwxr-xr-x 2025-04-30 03:16:24
Edit Download
834 B lrw-r--r-- 2025-04-30 03:16:24
Edit Download
10.25 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
5.69 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
30.65 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download
3.18 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
10.17 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
13.40 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
14.23 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download
13.52 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
15.55 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
16.38 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
8.75 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
3.37 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download
4.10 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download
14.53 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download
2.56 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
325 B lrw-r--r-- 2025-04-30 03:16:24
Edit Download
12.89 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
2.65 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
6.51 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
20.31 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download
3.00 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download
6.66 KB lrw-r--r-- 2025-04-30 03:16:24
Edit Download
3.26 KB lrw-r--r-- 2025-04-30 03:16:25
Edit Download

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