uawdijnntqw1x1x1
IP : 216.73.216.26
Hostname : toronto-dev2
Kernel : Linux toronto-dev2 4.15.0-213-generic #224-Ubuntu SMP Mon Jun 19 13:30:12 UTC 2023 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
srv
/
users
/
craft4
/
apps
/
craft4-newsite-space
/
vendor
/
craftcms
/
commerce
/
src
/
base
/
.
/
.
/
.
/
.
/
.
/
Zone.php
/
/
<?php namespace craft\commerce\base; use Craft; use craft\base\conditions\ConditionInterface; use craft\base\Model as BaseModel; use craft\commerce\elements\conditions\addresses\ZoneAddressCondition; use craft\commerce\records\TaxZone as TaxZoneRecord; use craft\elements\Address; use craft\helpers\Json; use craft\validators\UniqueValidator; use DateTime; use yii\base\InvalidConfigException; /** * @property string $cpEditUrl * @property ConditionInterface|string $condition */ abstract class Zone extends BaseModel implements ZoneInterface { /** * @var int|null ID */ public ?int $id = null; /** * @var string|null Name */ public ?string $name = null; /** * @var string|null Description */ public ?string $description = null; /** * @var DateTime|null * @since 3.4 */ public ?DateTime $dateCreated = null; /** * @var DateTime|null * @since 3.4 */ public ?DateTime $dateUpdated = null; /** * @var ?ZoneAddressCondition */ private ?ZoneAddressCondition $_condition; abstract public function getCpEditUrl(): string; /** * @return ZoneAddressCondition */ public function getCondition(): ZoneAddressCondition { return $this->_condition ?? new ZoneAddressCondition(Address::class); } /** * @param ZoneAddressCondition|string|array|null $condition * @return void * @throws InvalidConfigException */ public function setCondition(ZoneAddressCondition|string|array|null $condition): void { if ($condition === null) { $condition = new ZoneAddressCondition(Address::class); } if (is_string($condition)) { $condition = Json::decodeIfJson($condition); } if (!$condition instanceof ZoneAddressCondition) { $condition['class'] = ZoneAddressCondition::class; // @TODO remove at next breaking change. Fix for misconfiguration during 3.x -> 4.x migration $condition['elementType'] = Address::class; /** @var ZoneAddressCondition $condition */ $condition = Craft::$app->getConditions()->createCondition($condition); } $condition->forProjectConfig = false; $this->_condition = $condition; } /** * @inheritdoc */ protected function defineRules(): array { return [ [['name'], 'required'], [['condition'], 'required'], [['name'], UniqueValidator::class, 'targetClass' => TaxZoneRecord::class, 'targetAttribute' => ['name']], ]; } }
/srv/users/craft4/apps/craft4-newsite-space/vendor/craftcms/commerce/src/base/./././././Zone.php