<?php
|
namespace JVBase\managers\SEO\render\Traits\_Properties;
|
|
use JVBase\managers\SEO\render\Traits\_Helpers\arrayHelper;
|
|
if (!defined('ABSPATH')) {
|
exit;
|
}
|
trait byMonthDayTrait {
|
use arrayHelper;
|
/**
|
* @var int|array Defines the month(s) of the year on which a recurring Event takes place. Specified as an Integer between 1-12. January is 1.
|
*/
|
protected int|array $byMonthDay;
|
|
public function getByMonthDay():int|array|null
|
{
|
return $this->byMonthDay??null;
|
}
|
public function setByMonthDay(int|array $byMonthDay):void
|
{
|
if (is_array($byMonthDay)) {
|
$byMonthDay = $this->intArray('byMonthDay', $byMonthDay);
|
} else {
|
$byMonthDay = [$byMonthDay];
|
}
|
$byMonthDay = array_filter($byMonthDay,
|
function($day) {
|
if ($day === 0 || $day > 31) {
|
error_log('[SEO] Invalid month day number: '.$day);
|
return false;
|
}
|
return true;
|
});
|
if (empty($byMonthDay)){
|
error_log('[SEO]No byMonthDay values remaining');
|
return;
|
}
|
if (count($byMonthDay) === 1) {
|
$byMonthDay = $byMonthDay[0];
|
}
|
|
$this->byMonthDay = $byMonthDay;
|
}
|
}
|