/
caching.php
47 lines (41 loc) · 1.46 KB
/
caching.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
<?php
namespace Concrete\Controller\Panel\Detail\Page;
use Concrete\Controller\Backend\UserInterface\Page as BackendInterfacePageController;
use PageEditResponse;
use PageCache;
class Caching extends BackendInterfacePageController
{
protected $viewPath = '/panels/details/page/caching';
protected function canAccess()
{
return $this->permissions->canEditPageSpeedSettings();
}
public function view()
{
}
public function purge()
{
$cache = PageCache::getLibrary();
$cache->purge($this->page);
$r = new PageEditResponse();
$r->setPage($this->page);
$r->setTitle(t('Page Updated'));
$r->setMessage(t('This page has been purged from the full page cache.'));
$r->outputJSON();
}
public function submit()
{
if ($this->validateAction()) {
$data = [];
$data['cCacheFullPageContent'] = $this->request->post('cCacheFullPageContent');
$data['cCacheFullPageContentLifetimeCustom'] = $this->request->post('cCacheFullPageContentLifetimeCustom');
$data['cCacheFullPageContentOverrideLifetime'] = $this->request->post('cCacheFullPageContentOverrideLifetime');
$this->page->update($data);
$r = new PageEditResponse();
$r->setPage($this->page);
$r->setTitle(t('Page Updated'));
$r->setMessage(t('Full page caching settings saved.'));
$r->outputJSON();
}
}
}