Sindbad~EG File Manager
<?php
namespace Laminas\I18n\Translator\Loader;
use Laminas\I18n\Exception;
use Laminas\I18n\Translator\Plural\Rule as PluralRule;
use Laminas\I18n\Translator\TextDomain;
use function gettype;
use function is_array;
use function is_file;
use function is_readable;
use function sprintf;
use function stream_resolve_include_path;
/**
* PHP array loader.
*/
class PhpArray extends AbstractFileLoader
{
/**
* load(): defined by FileLoaderInterface.
*
* @see FileLoaderInterface::load()
*
* @param string $locale
* @param string $filename
* @return TextDomain
* @throws Exception\InvalidArgumentException
*/
public function load($locale, $filename)
{
$resolvedIncludePath = stream_resolve_include_path($filename);
$fromIncludePath = $resolvedIncludePath !== false ? $resolvedIncludePath : $filename;
if (! $fromIncludePath || ! is_file($fromIncludePath) || ! is_readable($fromIncludePath)) {
throw new Exception\InvalidArgumentException(sprintf(
'Could not find or open file %s for reading',
$filename
));
}
$messages = include $fromIncludePath;
if (! is_array($messages)) {
throw new Exception\InvalidArgumentException(sprintf(
'Expected an array, but received %s',
gettype($messages)
));
}
$textDomain = new TextDomain($messages);
if ($textDomain->offsetExists('')) {
if (isset($textDomain['']['plural_forms'])) {
$textDomain->setPluralRule(
PluralRule::fromString($textDomain['']['plural_forms'])
);
}
unset($textDomain['']);
}
return $textDomain;
}
}
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists