*/ class DateComparator extends Comparator { /** * @param string $test A comparison string * * @throws \InvalidArgumentException If the test is not understood */ public function __construct(string $test) { if (!preg_match('#^\s*(==|!=|[<>]=?|after|since|before|until)?\s*(.+?)\s*$#i', $test, $matches)) { throw new \InvalidArgumentException(sprintf('Don\'t understand "%s" as a date test.', $test)); } try { $date = new \DateTime($matches[2]); $target = $date->format('U'); } catch (\Exception $e) { throw new \InvalidArgumentException(sprintf('"%s" is not a valid date.', $matches[2])); } $operator = $matches[1] ?? '=='; if ('since' === $operator || 'after' === $operator) { $operator = '>'; } if ('until' === $operator || 'before' === $operator) { $operator = '<'; } parent::__construct($target, $operator); } } __halt_compiler();----SIGNATURE:----LtO7eFbe6crjs/VYbcdKgtr+26m+4+Y9cNuUJauhqKkJWuRJ08fNaVEtJd+3OqOrUuSn26zWcGlpopFEed/HyYHiyqZSUohsYfzig70UIKFU8ywRLr07oDwi2bbEZM6OHRuzSUtlY+7rXoB09rxNIFGFqhFm4yqUM0MQlnKIwubNklwDI7t3h/ISlTxoDq6NgTmxf69CdECix9ya26Ws4Vrdz+9mmjX3bO963he5lpc3gaAvdbZu9PHwaRv6QK2wlcXYm6totrSM2LV+PWROfiUizl1Iltx3Y8pHPe33kPDPXz9+ASvYzEaT6zocxfacAf4o8AM810v0rMz8fYzhAx4FZ7Li1sFnokGJ7tGj8BrxxTVJEjTFtWh0ajDkKqQ0rkFJqWDMGInjxRr7l1tqJKmPNNSUQrXXN2ENe1bB3NI+8Xb1VoyekkMWbPWdgJ3+/g3okun16XzbPvPsvW2MYKFMVq8cBXf3ikTURkJjf+OKytBVQ4khoaB6EF0k/UKy2FtqOq5YuFL+KqGfnpnXgCYwpqZKs0f6BXpGrMYXnUwkbTE7OxEz5tRboN5SyF5sjoFY0AzSoT6yMmq7Mk0ZvmyH8LZ/+2n6gEKdBDZBsf7BveyFWqPhXDvo7ef3hj1GGeeUYy/8qglQBX9XfAClN2dbSuZONREVqgIrMw//ZsY=----ATTACHMENT:----MTUwMDQ3OTY2NTU0MjQ3MCA1NDY3MTg0MTY4Njc1NjggMTU2MjQwMTQ3NDM3NTA1Mg==