|
1
|
|
|
<?php |
|
2
|
|
|
/** |
|
3
|
|
|
* @param \CloudControl\Cms\storage\entities\Document $document |
|
4
|
|
|
* @param string $path |
|
5
|
|
|
* @param \CloudControl\Cms\cc\Request $request |
|
6
|
|
|
* @param string $cmsPrefix |
|
7
|
|
|
*/ |
|
8
|
|
|
function renderDocument($document, $path, $request, $cmsPrefix) |
|
9
|
|
|
{ ?> |
|
10
|
|
|
<td class="icon" title="<?= $document->type ?>"> |
|
11
|
|
|
<i class="fa fa-file-text-o"></i> |
|
12
|
|
|
</td> |
|
13
|
|
|
<td class="icon" title="<?= $document->state ?>"> |
|
14
|
|
|
<i class="fa <?= $document->state === 'published' ? 'fa-check-circle-o' : 'fa-times-circle-o' ?>"></i> |
|
15
|
|
|
</td> |
|
16
|
|
|
<td> |
|
17
|
|
|
<a href="<?= getEditDocumentLink($request, $cmsPrefix, $path, $document) ?>"><?= $document->title ?></a> |
|
18
|
|
|
<?php if ($document->unpublishedChanges) : ?> |
|
19
|
|
|
<small class="small unpublished-changes">Unpublished Changes</small> |
|
20
|
|
|
<?php endif ?> |
|
21
|
|
|
<small class="small document-type"><?= $document->documentType ?></small> |
|
22
|
|
|
<div class="details"> |
|
23
|
|
|
<table> |
|
24
|
|
|
<tr> |
|
25
|
|
|
<th>Document Type</th> |
|
26
|
|
|
<td><?= $document->documentType ?></td> |
|
27
|
|
|
<th>Last Modified By</th> |
|
28
|
|
|
<td><?= $document->lastModifiedBy ?></td> |
|
29
|
|
|
</tr> |
|
30
|
|
|
<tr> |
|
31
|
|
|
<th>Created</th> |
|
32
|
|
|
<td title="<?= date('d-m-Y H:i:s', |
|
33
|
|
|
$document->creationDate) ?>"><?= \CloudControl\Cms\util\StringUtil::timeElapsedString($document->creationDate) ?></td> |
|
34
|
|
|
<th>Last Modified</th> |
|
35
|
|
|
<td title="<?= date('d-m-Y H:i:s', |
|
36
|
|
|
$document->lastModificationDate) ?>"><?= \CloudControl\Cms\util\StringUtil::timeElapsedString($document->lastModificationDate) ?></td> |
|
37
|
|
|
</tr> |
|
38
|
|
|
<tr> |
|
39
|
|
|
<td colspan="2"> </td> |
|
40
|
|
|
<th>Published</th> |
|
41
|
|
|
<?php if ($document->state === 'published') : ?> |
|
42
|
|
|
<td title="<?= date('d-m-Y H:i:s', |
|
43
|
|
|
$document->publicationDate) ?>"><?= \CloudControl\Cms\util\StringUtil::timeElapsedString($document->publicationDate) ?></td> |
|
44
|
|
|
<?php else : ?> |
|
45
|
|
|
<td>Not yet</td> |
|
46
|
|
|
<?php endif ?> |
|
47
|
|
|
</tr> |
|
48
|
|
|
</table> |
|
49
|
|
|
</div> |
|
50
|
|
|
</td> |
|
51
|
|
|
<td class="icon context-menu-container"> |
|
52
|
|
|
<div class="context-menu"> |
|
53
|
|
|
<i class="fa fa-ellipsis-v"></i> |
|
54
|
|
|
<ul> |
|
55
|
|
|
<li> |
|
56
|
|
|
<a href="<?= getEditDocumentLink($request, $cmsPrefix, $path, $document) ?>"> |
|
57
|
|
|
<i class="fa fa-pencil"></i> |
|
58
|
|
|
Edit |
|
59
|
|
|
</a> |
|
60
|
|
|
</li> |
|
61
|
|
|
<?php if ($document->state === 'unpublished' || $document->unpublishedChanges) : ?> |
|
62
|
|
|
<li> |
|
63
|
|
|
<a href="<?= getPublishDocumentLink($request, $cmsPrefix, $path, $document) ?>"> |
|
64
|
|
|
<i class="fa fa-check"></i> |
|
65
|
|
|
Publish |
|
66
|
|
|
</a> |
|
67
|
|
|
</li> |
|
68
|
|
|
<?php endif ?> |
|
69
|
|
|
<?php if ($document->state === 'published') : ?> |
|
70
|
|
|
<li> |
|
71
|
|
|
<a href="<?= getUnpublishDocumentLink($request, $cmsPrefix, $path, $document) ?>"> |
|
72
|
|
|
<i class="fa fa-times"></i> |
|
73
|
|
|
Unpublish |
|
74
|
|
|
</a> |
|
75
|
|
|
</li> |
|
76
|
|
|
<?php endif ?> |
|
77
|
|
|
<?php if ($document->state === 'unpublished') : ?> |
|
78
|
|
|
<li> |
|
79
|
|
|
<a href="<?= getDeleteDocumentLink($request, $cmsPrefix, $path, $document) ?>" onclick="return confirm('Are you sure you want to delete this document?');"> |
|
80
|
|
|
<i class="fa fa-trash"></i> |
|
81
|
|
|
Delete |
|
82
|
|
|
</a> |
|
83
|
|
|
</li> |
|
84
|
|
|
<?php endif ?> |
|
85
|
|
|
<li> |
|
86
|
|
|
<a href="#" onclick="return showDocumentDetails(this);"> |
|
87
|
|
|
<i class="fa fa-list-alt"></i> |
|
88
|
|
|
Details |
|
89
|
|
|
</a> |
|
90
|
|
|
</li> |
|
91
|
|
|
</ul> |
|
92
|
|
|
</div> |
|
93
|
|
|
</td> |
|
94
|
|
|
<?php } |
|
95
|
|
|
|
|
96
|
|
|
function getDocumentSlug($path, $document) { |
|
97
|
|
|
return substr($path, 1) . ($path === '/' ? '' : '/') . $document->slug; |
|
98
|
|
|
} |
|
99
|
|
|
|
|
100
|
|
|
function getEditDocumentLink($request, $cmsPrefix, $path, $document) { |
|
101
|
|
|
return $request::$subfolders . $cmsPrefix . '/documents/edit-document?slug=' . getDocumentSlug($path, $document); |
|
102
|
|
|
} |
|
103
|
|
|
|
|
104
|
|
|
function getDeleteDocumentLink($request, $cmsPrefix, $path, $document) { |
|
105
|
|
|
return $request::$subfolders . $cmsPrefix . '/documents/delete-document?slug=' . getDocumentSlug($path, $document); |
|
106
|
|
|
} |
|
107
|
|
|
|
|
108
|
|
|
function getPublishDocumentLink($request, $cmsPrefix, $path, $document) { |
|
109
|
|
|
return $request::$subfolders . $cmsPrefix . '/documents/publish-document?slug=' . getDocumentSlug($path, $document); |
|
110
|
|
|
} |
|
111
|
|
|
|
|
112
|
|
|
function getUnpublishDocumentLink($request, $cmsPrefix, $path, $document) { |
|
113
|
|
|
return $request::$subfolders . $cmsPrefix . '/documents/unpublish-document?slug=' . getDocumentSlug($path, $document); |
|
114
|
|
|
}?> |
|
115
|
|
|
|