<?php

/**

 * Pimcore

 *

 * LICENSE

 *

 * This source file is subject to the new BSD license that is bundled

 * with this package in the file LICENSE.txt.

 * It is also available through the world-wide-web at this URL:

 * http://www.pimcore.org/license

 *

 * @category   Pimcore

 * @package    Object|Class

 * @copyright  Copyright (c) 2009-2014 pimcore GmbH (http://www.pimcore.org)

 * @license    http://www.pimcore.org/license     New BSD License

 */



namespace Pimcore\Model\Object\ClassDefinition\Data;



use Pimcore\Model;



class Country extends Model\Object\ClassDefinition\Data\Select {



    /**

     * Static type of this element

     *

     * @var string

     */

    public $fieldtype = "country";



    /** Restrict selection to comma-separated list of countries.

     * @var null

     */

    public $restrictTo = null;





    public function __construct() {

        $this->buildOptions();

    }



    private function buildOptions() {

        $countries = \Zend_Locale::getTranslationList('territory');

        asort($countries);

        $options = array();



        foreach ($countries as $short => $translation) {

            if (strlen($short) == 2) {

                $options[] = array(

                    "key" => $translation,

                    "value" => $short

                );

            }

        }



        $this->setOptions($options);

    }



    /** True if change is allowed in edit mode.

     * @return bool

     */

    public function isDiffChangeAllowed() {

        return true;

    }



    /**

     * @param string $restrictTo

     */

    public function setRestrictTo($restrictTo)

    {

        $this->restrictTo = $restrictTo;

    }



    /**

     * @return string

     */

    public function getRestrictTo()

    {

        return $this->restrictTo;

    }

}

