<?php
namespace Blocks\AlertBlock;
use App\Blocks\AbstractBaseBlock;
class AlertBlock extends AbstractBaseBlock
{
public function getData(array $block): array
{
date_default_timezone_set('Europe/Madrid');
$fields = get_fields($block['id'], false);
if (isset($fields['countdown']) && $fields['countdown'] == 'every_monday_and_friday') {
$hoy = new \DateTime();
$proximoLunes = new \DateTime('next Monday');
$proximoViernes = new \DateTime('next Friday');
$proximoLunes->setTime(23, 59, 59);
$proximoViernes->setTime(23, 59, 59);
if ($proximoLunes > $hoy && $proximoViernes > $hoy) {
$fields['fecha'] = $proximoLunes < $proximoViernes ? $proximoLunes->format('Y-m-d H:i:s') : $proximoViernes->format('Y-m-d H:i:s');
} elseif ($proximoLunes > $hoy) {
$fields['fecha'] = $proximoLunes->format('Y-m-d H:i:s');
} elseif ($proximoViernes > $hoy) {
$fields['fecha'] = $proximoViernes->format('Y-m-d H:i:s');
}
} elseif (isset($fields['countdown']) && $fields['countdown'] == 'every_sunday') {
$hoy = new \DateTime();
$proximoDomingo = new \DateTime('next Sunday');
$proximoDomingo->setTime(23, 59, 59);
if ($proximoDomingo > $hoy) {
$fields['fecha'] = $proximoDomingo->format('Y-m-d H:i:s');
}
} elseif (isset($fields['countdown']) && $fields['countdown'] == 'manual') {
if (new \DateTime($fields['fecha']) < new \DateTime()) {
$fields['activado'] = false;
}
}
$fields['icono'] = get_field('icono', $block['id']);
return $fields ?: [];
}
}