<?php


/**
 * Хост по подразбиране за изпращач
 */
defIfNot('SENDER_HOST', 'localhost');


/**
 * Стандартен и-мейл на изпращача
 */
defIfNot('SENDER_EMAIL', 'team@example.com');


/**
 * Стандартен код на държавата
 */
defIfNot('COUNTRY_PHONE_CODE', '359');


/**
 * Избягвани под-стрингове при парсиране на вход. писма
 */
defIfNot('DRDATA_AVOID_IN_EXT_ADDRESS', '');


/**
 * Хипервръзки за телефоните -> Desktop устройства
 */
defIfNot('TEL_LINK_WIDE', 'yes');


/**
 * Хипервръзки за телефоните -> Mobile устройства
 */
defIfNot('TEL_LINK_NARROW', 'yes');


/**
 * Кеширане на информацията за VAT номерата
 */
defIfNot('DRDATA_VAT_TTL', 2 * core_DateTime::SECONDS_IN_MONTH);


/**
 * Кеширане на информацията за EORI номерата
 */
defIfNot('DRDATA_EORI_TTL', 2 * core_DateTime::SECONDS_IN_MONTH);


/**
 * До колко време след последното използване да се проверяват
 */
defIfNot('DRDATA_LAST_USED_EXP', core_DateTime::SECONDS_IN_MONTH);


/**
 * class drdata_Setup
 *
 * Инсталиране/Деинсталиране на
 * доктор за адресни данни
 *
 *
 * @category  vendors
 * @package   drdata
 *
 * @author    Milen Georgiev <milen@download.bg>
 * @copyright 2006 - 2012 Experta OOD
 * @license   GPL 3
 *
 * @since     v 0.1
 */
class drdata_Setup extends core_ProtoSetup
{
    /**
     * Версия на пакета
     */
    public $version = '0.15';
    
    
    /**
     * Мениджър - входна точка в пакета
     */
    public $startCtr = 'drdata_Countries';
    
    
    /**
     * Екшън - входна точка в пакета
     */
    public $startAct = 'default';
    
    
    /**
     * Описание на модула
     */
    public $info = 'Готови данни и типове от различни области';
    
    
    /**
     * Описание на конфигурационните константи
     */
    public $configDescription = array(
        'SENDER_HOST' => array('identifier', 'mandatory, caption=Настройки на проверителя на имейл адреси->Хост'),
        'SENDER_EMAIL' => array('email', 'mandatory, caption=Настройки на проверителя на имейл адреси->`От` имейл'),
        'COUNTRY_PHONE_CODE' => array('int', 'mandatory, caption=Код на държава по подразбиране->Код'),
        'DRDATA_AVOID_IN_EXT_ADDRESS' => array('text', 'caption=Избягвани думи при извличане на адресни данни от текст->Стрингове'),
        'TEL_LINK_WIDE' => array('enum(none=Няма,
                                                   yes=Да,)', 'caption=Хипервръзки за телефоните->Desktop'),
        
        'TEL_LINK_NARROW' => array('enum(none=Няма,
                                                   yes=Да,)', 'caption=Хипервръзки за телефоните->Mobile'),
        'DRDATA_VAT_TTL' => array('time(suggestions=1 месец|2 месеца|3 месеца|4 месеца|6 месеца|12 месеца)', 'mandatory, caption=Кеширане на информацията за VAT номерата->Време'),
        'DRDATA_EORI_TTL' => array('time(suggestions=1 месец|2 месеца|3 месеца|4 месеца|6 месеца|12 месеца)', 'mandatory, caption=Кеширане на информацията за EORI номерата->Време'),
        'DRDATA_LAST_USED_EXP' => array('time(suggestions=1 месец|2 месеца|3 месеца|4 месеца|6 месеца|12 месеца)', 'mandatory, caption=Ограничение за проверка след последно използване->Време'),
    
    );
    
    
    /**
     * Списък с мениджърите, които съдържа пакета
     */
    public $managers = array(
        'drdata_CountryGroups',
        'drdata_Countries',
        'drdata_IpToCountry',
        'drdata_DialCodes',
        'drdata_PhoneCache',
        'drdata_Vats',
        'drdata_Eori',
        'drdata_Domains',
        'drdata_Languages',
        'drdata_bg_Places',
        'drdata_CanonizedStrings',
        'migrate::fixPhoneCache2040'
    );
    
    
    /**
     * Премахва кешнираните телефони за България
     */
    public static function fixPhoneCache2040()
    {
        drdata_PhoneCache::delete("#dCC = '359'");
    }
}
