Networking\InitCmsBundle\Twig\Extension\NetworkingHelperExtension::getCurrentAdminLocale PHP Метод

getCurrentAdminLocale() публичный Метод

returns the locale of the current admin user
public getCurrentAdminLocale ( Sonata\AdminBundle\Admin\AdminInterface $admin ) : mixed | string
$admin Sonata\AdminBundle\Admin\AdminInterface
Результат mixed | string
    public function getCurrentAdminLocale(\Sonata\AdminBundle\Admin\AdminInterface $admin)
    {
        $locale = '';
        if (!$admin->hasRequest()) {
            $admin->setRequest($this->getService('request'));
        }
        if ($subject = $admin->getSubject()) {
            return $this->getFieldValue($subject, 'locale');
        } elseif ($filter = $admin->getDatagrid()->getFilter('locale')) {
            /** @var \Sonata\AdminBundle\Filter\Filter $filter */
            $data = $filter->getValue();
            if (!$data || !is_array($data) || !array_key_exists('value', $data)) {
                $locale = $this->getCurrentLocale();
            }
            $data['value'] = trim($data['value']);
            if (strlen($data['value']) > 0) {
                $locale = $data['value'];
            }
            if (!$locale && method_exists($admin, 'getDefaultLocale')) {
                $locale = $admin->getDefaultLocale();
            }
        }
        return $locale;
    }