<?php
 namespace App\OfferProfileRules; class Criterion_OfferDeparture_CountryZone extends CriterionAbstract { public function checkFields(\App\OfferProfileRules\Fields $fields) { return $this->checkField(\Entity\Country::select($fields->offerDepartureCountryCode)->zone); } public function checkAssignedValues(\App\MessagesCollector $msgs) { $CFG = \Engine\Loader_Cfg::getInstance()->getGlobal(); if (!$this->values and in_array($this->operation, ['equal', 'notEqual'])) { $msgs->addWarning("No departure country zone set."); } else { foreach($this->values as $elem) { if (!in_array($elem, $CFG['countriesZones'])) { $msgs->addWarning("The country zone `{$elem}` is not valid."); } } } } protected function createDescription_getEntityName($code) { $_LANG = \App\Loader_Lang::getInstance()->getGlobal(); return $_LANG['locations']['countriesZones'][$code]; } } 