Seditio Source
Root |
./othercms/b2evolution_7.2.3/plugins/geoip_plugin/geoip2/src/Record/AbstractPlaceRecord.php
<?php

namespace GeoIp2\Record;

abstract class
AbstractPlaceRecord extends AbstractRecord
{
    private
$locales;

   
/**
     * @ignore
     *
     * @param mixed $record
     * @param mixed $locales
     */
   
public function __construct($record, $locales = ['en'])
    {
       
$this->locales = $locales;
       
parent::__construct($record);
    }

   
/**
     * @ignore
     *
     * @param mixed $attr
     */
   
public function __get($attr)
    {
        if (
$attr === 'name') {
            return
$this->name();
        }

        return
parent::__get($attr);
    }

   
/**
     * @ignore
     *
     * @param mixed $attr
     */
   
public function __isset($attr)
    {
        if (
$attr === 'name') {
            return
$this->firstSetNameLocale() === null ? false : true;
        }

        return
parent::__isset($attr);
    }

    private function
name()
    {
       
$locale = $this->firstSetNameLocale();

        return
$locale === null ? null : $this->names[$locale];
    }

    private function
firstSetNameLocale()
    {
        foreach (
$this->locales as $locale) {
            if (isset(
$this->names[$locale])) {
                return
$locale;
            }
        }

        return
null;
    }
}