mirror of
https://github.com/projectsend/projectsend.git
synced 2026-09-17 09:05:08 +00:00
6e47d76ba6
Client file sharing, rebuilt from the ground up: a private area per client, resumable uploads, folders, groups and categories, sharing with expiry dates and download limits, comments, file versions, an activity log, a REST API, and sixteen languages. This repository begins here. ProjectSend 2 was developed privately, and that development history is not published — the previous generation remains available, with its own history, at projectsend/legacy. Free software under the GNU General Public License v2, or (at your option) any later version.
41 lines
1005 B
PHP
41 lines
1005 B
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace App\Modules\Identity\Ldap;
|
|
|
|
/**
|
|
* What the settings screen's test button reports.
|
|
*
|
|
* `stage` is the point the attempt got to, which is the genuinely useful
|
|
* part: "connect" and "service_bind" failing mean very different things to
|
|
* whoever is filling the form in.
|
|
*/
|
|
final readonly class LdapProbeResult
|
|
{
|
|
public const STAGE_CONNECT = 'connect';
|
|
|
|
public const STAGE_SERVICE_BIND = 'service_bind';
|
|
|
|
public const STAGE_SEARCH = 'search';
|
|
|
|
public const STAGE_USER_BIND = 'user_bind';
|
|
|
|
public function __construct(
|
|
public bool $ok,
|
|
public string $stage,
|
|
public string $message,
|
|
public ?string $dn = null,
|
|
) {}
|
|
|
|
public static function ok(string $stage, string $message, ?string $dn = null): self
|
|
{
|
|
return new self(true, $stage, $message, $dn);
|
|
}
|
|
|
|
public static function failed(string $stage, string $message): self
|
|
{
|
|
return new self(false, $stage, $message);
|
|
}
|
|
}
|