Skip to content

Commit

Permalink
Remove gipfl/format package dependency
Browse files Browse the repository at this point in the history
  • Loading branch information
raviks789 authored and nilmerg committed Feb 7, 2024
1 parent ffe3c5d commit f1e5434
Show file tree
Hide file tree
Showing 8 changed files with 69 additions and 29 deletions.
2 changes: 1 addition & 1 deletion library/Director/Web/Form/CsrfToken.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ public static function isValid($token)
return false;
}

list($seed, $token) = explode('|', $elementValue);
list($seed, $token) = explode('|', $token);

if (!is_numeric($seed)) {
return false;
Expand Down
4 changes: 4 additions & 0 deletions library/Director/Web/Form/QuickForm.php
Original file line number Diff line number Diff line change
Expand Up @@ -620,6 +620,10 @@ public function hasBeenSent()
$this->hasBeenSent = true;
} elseif ($req->isPost()) {
$post = $req->getPost();
if (! CsrfToken::isValid($post[self::CSRF])) {
throw new Exception('Invalid CSRF token provided');
}

$this->hasBeenSent = array_key_exists(self::ID, $post) &&
$post[self::ID] === $this->getName();
} else {
Expand Down
16 changes: 7 additions & 9 deletions library/Director/Web/Table/ActivityLogTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@

namespace Icinga\Module\Director\Web\Table;

use gipfl\Format\LocalTimeFormat;
use DateTime;
use gipfl\IcingaWeb2\Link;
use gipfl\IcingaWeb2\Table\ZfQueryBasedTable;
use Icinga\Module\Director\Util;
use IntlDateFormatter;
use ipl\Html\Html;
use ipl\Html\HtmlElement;

class ActivityLogTable extends ZfQueryBasedTable
class ActivityLogTable extends IntlZfQueryBasedTable
{
protected $filters = [];

Expand All @@ -27,9 +27,6 @@ class ActivityLogTable extends ZfQueryBasedTable
'object_type',
];

/** @var LocalTimeFormat */
protected $timeFormat;

protected $ranges = [];

/** @var ?object */
Expand All @@ -44,7 +41,6 @@ class ActivityLogTable extends ZfQueryBasedTable
public function __construct($db)
{
parent::__construct($db);
$this->timeFormat = new LocalTimeFormat();
}

public function assemble()
Expand Down Expand Up @@ -96,7 +92,9 @@ public function renderRow($row)
if (! $this->hasObjectFilter) {
$columns[] = $this->makeRangeInfo($row->id);
}
$columns[] = $this::td($this->timeFormat->getTime($row->ts_change_time));


$columns[] = $this::td($this->getTime($row->ts_change_time));

return $this::tr($columns)->addAttributes(['class' => $action]);
}
Expand All @@ -107,7 +105,7 @@ public function renderRow($row)
*/
protected function renderDayIfNew($timestamp)
{
$day = $this->getDateFormatter()->getFullDay($timestamp);
$day = $this->getDateFormatter()->format((new DateTime())->setTimestamp($timestamp));

if ($this->lastDay !== $day) {
$this->nextHeader()->add(
Expand Down
3 changes: 1 addition & 2 deletions library/Director/Web/Table/BasketSnapshotTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,12 @@

use ipl\Html\Html;
use gipfl\IcingaWeb2\Link;
use gipfl\IcingaWeb2\Table\ZfQueryBasedTable;
use Icinga\Date\DateFormatter;
use Icinga\Module\Director\Core\Json;
use Icinga\Module\Director\DirectorObject\Automation\Basket;
use RuntimeException;

class BasketSnapshotTable extends ZfQueryBasedTable
class BasketSnapshotTable extends IntlZfQueryBasedTable
{
use DbHelper;

Expand Down
10 changes: 2 additions & 8 deletions library/Director/Web/Table/BranchActivityTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,13 @@

namespace Icinga\Module\Director\Web\Table;

use gipfl\Format\LocalTimeFormat;
use Icinga\Module\Director\Db;
use Icinga\Module\Director\Db\Branch\BranchActivity;
use Icinga\Module\Director\Util;
use gipfl\IcingaWeb2\Link;
use gipfl\IcingaWeb2\Table\ZfQueryBasedTable;
use Ramsey\Uuid\UuidInterface;

class BranchActivityTable extends ZfQueryBasedTable
class BranchActivityTable extends IntlZfQueryBasedTable
{
protected $extraParams = [];

Expand All @@ -20,16 +18,12 @@ class BranchActivityTable extends ZfQueryBasedTable
/** @var ?UuidInterface */
protected $objectUuid;

/** @var LocalTimeFormat */
protected $timeFormat;

protected $linkToObject = true;

public function __construct(UuidInterface $branchUuid, $db, UuidInterface $objectUuid = null)
{
$this->branchUuid = $branchUuid;
$this->objectUuid = $objectUuid;
$this->timeFormat = new LocalTimeFormat();
parent::__construct($db);
}

Expand All @@ -45,7 +39,7 @@ public function renderRow($row)
$activity = BranchActivity::fromDbRow($row);
return $this::tr([
$this::td($this->makeBranchLink($activity))->setSeparator(' '),
$this::td($this->timeFormat->getTime($ts))
$this::td($this->getTime($ts))
])->addAttributes(['class' => ['action-' . $activity->getAction(), 'branched']]);
}

Expand Down
3 changes: 1 addition & 2 deletions library/Director/Web/Table/DeploymentLogTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,9 @@
namespace Icinga\Module\Director\Web\Table;

use gipfl\IcingaWeb2\Link;
use gipfl\IcingaWeb2\Table\ZfQueryBasedTable;
use Icinga\Date\DateFormatter;

class DeploymentLogTable extends ZfQueryBasedTable
class DeploymentLogTable extends IntlZfQueryBasedTable
{
use DbHelper;

Expand Down
51 changes: 51 additions & 0 deletions library/Director/Web/Table/IntlZfQueryBasedTable.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
<?php

namespace Icinga\Module\Director\Web\Table;

use DateTime;
use gipfl\IcingaWeb2\Table\ZfQueryBasedTable;
use IntlDateFormatter;
use Locale;

abstract class IntlZfQueryBasedTable extends ZfQueryBasedTable
{
protected function getDateFormatter()
{
return (new IntlDateFormatter(
Locale::getDefault(),
IntlDateFormatter::FULL,
IntlDateFormatter::NONE
));
}

/**
* @param int $timestamp
*/
protected function renderDayIfNew($timestamp)
{
$day = $this->getDateFormatter()->format((new DateTime())->setTimestamp($timestamp));

if ($this->lastDay !== $day) {
$this->nextHeader()->add(
$this::th($day, [
'colspan' => 2,
'class' => 'table-header-day'
])
);

$this->lastDay = $day;
$this->nextBody();
}
}

protected function getTime(int $timeStamp)
{
$timeFormatter = $this->getDateFormatter();

$timeFormatter->setPattern(
in_array(Locale::getDefault(), ['en_US', 'en_US.UTF-8']) ? 'h:mm:ss a': 'H:mm:ss'
);

return $timeFormatter->format((new DateTime())->setTimestamp($timeStamp));
}
}
9 changes: 2 additions & 7 deletions library/Director/Web/Table/SyncRunTable.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,17 @@

namespace Icinga\Module\Director\Web\Table;

use gipfl\Format\LocalTimeFormat;
use Icinga\Module\Director\Objects\SyncRule;
use gipfl\IcingaWeb2\Link;
use gipfl\IcingaWeb2\Table\ZfQueryBasedTable;

class SyncRunTable extends ZfQueryBasedTable
class SyncRunTable extends IntlZfQueryBasedTable
{
/** @var SyncRule */
protected $rule;

protected $timeFormat;

public function __construct(SyncRule $rule)
{
parent::__construct($rule->getConnection());
$this->timeFormat = new LocalTimeFormat();
$this->getAttributes()
->set('data-base-target', '_self')
->add('class', 'history');
Expand All @@ -31,7 +26,7 @@ public function renderRow($row)
return $this::tr([
$this::td($this->makeSummary($row)),
$this::td(new Link(
$this->timeFormat->getTime($time),
$this->getTime($time),
'director/syncrule/history',
[
'id' => $row->rule_id,
Expand Down

0 comments on commit f1e5434

Please sign in to comment.