Test Failed
Push — main ( 8c8b4f...d1ea7b )
by Paul
12:11 queued 05:48
created

SanitizeDate   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 17
Duplicated Lines 0 %

Test Coverage

Coverage 92.31%

Importance

Changes 2
Bugs 1 Features 0
Metric Value
wmc 7
eloc 11
c 2
b 1
f 0
dl 0
loc 17
ccs 12
cts 13
cp 0.9231
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B run() 0 15 7
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules\Sanitizers;
4
5
use GeminiLabs\SiteReviews\Modules\Date;
6
7 34
class SanitizeDate extends StringSanitizer
8
{
9 34
    public function run(): string
10 34
    {
11 34
        $date = $this->value();
12 34
        $format = empty($this->args[0]) ? 'Y-m-d H:i:s' : $this->args[0];
13 24
        if (glsr(Date::class)->isDate($date, $format)) {
14
            return $date;
15 34
        }
16 34
        if (glsr(Date::class)->isTimestamp($date)) {
17 34
            return wp_date($format, (int) $date) ?: '';
18
        }
19 1
        $timestamp = strtotime($date);
20 1
        if (false === $timestamp) {
21
            return '';
22
        }
23 1
        return wp_date($format, $timestamp) ?: '';
24
    }
25
}
26