<?php
|
namespace JVBase\managers\SEO\render\Traits\_Properties;
|
|
use JVBase\managers\SEO\render\Traits\_Helpers\arrayHelper;
|
|
if (!defined('ABSPATH')) {
|
exit;
|
}
|
trait byMonthWeekTrait {
|
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 $byMonthWeek;
|
|
public function getByMonthWeek():int|array|null
|
{
|
return $this->byMonthWeek??null;
|
}
|
public function setByMonthWeek(int|array $byMonthWeek):void
|
{
|
if (is_array($byMonthWeek)) {
|
$byMonthWeek = $this->intArray('byMonthWeek', $byMonthWeek);
|
} else {
|
$byMonthWeek = [$byMonthWeek];
|
}
|
$byMonthWeek = array_filter($byMonthWeek,
|
function($week) {
|
if ($week === 0 || $week > 6) {
|
error_log('[SEO] Invalid month number: '.$month);
|
return false;
|
}
|
return true;
|
});
|
if (empty($byMonthWeek)){
|
error_log('[SEO]No byMonthWeek values remaining');
|
return;
|
}
|
if (count($byMonthWeek) === 1) {
|
$byMonthWeek = $byMonthWeek[0];
|
}
|
|
if ($byMonthWeek === 0 || $byMonthWeek > 12) {
|
error_log('[SEO] Invalid month number: '.$byMonthWeek);
|
return;
|
}
|
$this->byMonthWeek = $byMonthWeek;
|
}
|
}
|