/
Available.php
49 lines (43 loc) · 1.72 KB
/
Available.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
<?php
namespace Concrete\Core\Page\Search\ColumnSet;
use Concrete\Core\Page\Search\ColumnSet\Column\PageIDColumn;
use Concrete\Core\Page\Search\ColumnSet\Column\SitemapDisplayOrderColumn;
use Concrete\Core\Page\Search\ColumnSet\Column\UrlPathColumn;
use Concrete\Core\Search\Column\Column;
use Concrete\Core\Support\Facade\Application;
class Available extends DefaultSet
{
protected $attributeClass = 'CollectionAttributeKey';
/**
* @see \Concrete\Core\Page\Collection\Version\Version::get()
*
* @param \Concrete\Core\Page\Page $c
*
* @return string
*/
public static function getCollectionVersionStatus($c)
{
$cvStatus = '';
$app = Application::getFacadeApplication();
$now = $app->make('date')->getOverridableNow();
$vObj = $c->getVersionObject();
if ($vObj) {
if ($vObj->isApproved() && (!$vObj->getPublishDate() || $vObj->getPublishDate() <= $now) && (!$vObj->getPublishEndDate() || $vObj->getPublishEndDate() >= $now)) {
$cvStatus = t('Approved');
} elseif ($vObj->isApproved() && ($vObj->getPublishDate() && $vObj->getPublishDate() > $now)) {
$cvStatus = t('Scheduled');
} elseif (!$vObj->isApproved()) {
$cvStatus = t('Unapproved');
}
}
return $cvStatus;
}
public function __construct()
{
$this->addColumn(new SitemapDisplayOrderColumn());
$this->addColumn(new PageIDColumn());
$this->addColumn(new UrlPathColumn());
parent::__construct();
$this->addColumn(new Column('cvStatus', t('Version Status'), ['\Concrete\Core\Page\Search\ColumnSet\Available', 'getCollectionVersionStatus'], false));
}
}