values ->transform(function($item) { $format = sprintf('%s%s
%s
', $item, static::get($item,'title'), ($x=static::get($item,'ref')) ? sprintf('',$x) : '', static::get($item,'desc'), ); return $format; })->join('
* "SCRAM-SHA-1" => array:3 [▼
* "title" => "Salted Challenge Response Authentication Mechanism (SCRAM) SHA1"
* "ref" => "RFC 5802"
* "desc" => "This specification describes a family of authentication mechanisms called the Salted Challenge Response Authentication Mechanism (SCRAM) which addresses the req ▶"
* ]
*
*
* @param string $string The SASL Mechanism (ie, "SCRAM-SHA-1") of interest.
* @param string $key The title|ref|desc to return
* @return string|NULL
*/
private static function get(string $string,string $key): ?string
{
$array = Cache::remember('saslmechanisms',86400,function() {
try {
$f = fopen(config_path('ldap_supported_saslmechanisms.txt'),'r');
} catch (\Exception $e) {
return NULL;
}
$result = collect();
while (! feof($f)) {
$line = trim(fgets($f));
if (! $line OR preg_match('/^#/',$line))
continue;
$fields = explode(':',$line);
$result->put($x=Arr::get($fields,0),[
'title'=>Arr::get($fields,1,$x),
'ref'=>Arr::get($fields,2),
'desc'=>Arr::get($fields,3,__('No description available, can you help with one?')),
]);
}
fclose($f);
return $result;
});
return Arr::get(($array ? $array->get($string) : []),$key);
}
}