HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/authldap/src/Value/Password.php
<?php

declare(strict_types=1);

namespace Org_Heigl\AuthLdap\Value;

use InvalidArgumentException;

final class Password
{
	private string $password;
	private function __construct(string $password)
	{
		$this->password = $password;
	}

	/**
	 * @param mixed $password
	 */
	public static function fromMixed($password): self
	{
		global $error;
		if (! is_string($password)) {
			throw new InvalidArgumentException('provided password is not a string');
		}
		if ($password === '') {
			$error =  __('<strong>Error</strong>: The password field is empty.');
			throw new InvalidArgumentException('No password provided');
		}

		// Remove slashes as noted on https://github.com/heiglandreas/authLdap/issues/108
		return new self(stripslashes_deep($password));
	}

	public function __toString(): string
	{
		return $this->password;
	}
}