FleetCart/Modules/Product/Entities/Concerns/IsNew.php
2023-12-03 14:07:47 +00:00

48 lines
930 B
PHP

<?php
namespace Modules\Product\Entities\Concerns;
trait IsNew
{
public function isNew(): bool
{
if ($this->hasNewFromDate() && $this->hasNewToDate()) {
return $this->newFromDateIsValid() && $this->newToDateIsValid();
}
if ($this->hasNewFromDate()) {
return $this->newFromDateIsValid();
}
if ($this->hasNewToDate()) {
return $this->newToDateIsValid();
}
return false;
}
private function hasNewFromDate(): bool
{
return !is_null($this->new_from);
}
private function hasNewToDate(): bool
{
return !is_null($this->new_to);
}
private function newFromDateIsValid(): bool
{
return today() >= $this->new_from;
}
private function newToDateIsValid(): bool
{
return today() <= $this->new_to;
}
}