massEnableAction()   B
last analyzed

Complexity

Conditions 7
Paths 12

Size

Total Lines 27

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 27
rs 8.5546
c 0
b 0
f 0
cc 7
nc 12
nop 0
1
<?php
2
/**
3
 * User: [email protected]
4
 * Date: 08/01/14
5
 */
6
7
require_once Mage::getModuleDir('controllers', 'Mage_Adminhtml').DS.'CacheController.php';
8
9
class Nexcessnet_Turpentine_Adminhtml_CacheController extends Mage_Adminhtml_CacheController
10
{
11
12
    /**
13
     * Mass action for cache enabeling
14
     */
15
    public function massEnableAction()
16
    {
17
        $types = $this->getRequest()->getParam('types');
18
        $allTypes = Mage::app()->useCache();
19
20
        $updatedTypes = 0;
21
        foreach ($types as $code) {
22
            if (empty($allTypes[$code])) {
23
                $allTypes[$code] = 1;
24
                $updatedTypes++;
25
            }
26
        }
27
        if ($updatedTypes > 0) {
28
            // disable FPC when Varnish cache is enabled:
29
            if ($allTypes['turpentine_pages'] == 1 || $allTypes['turpentine_esi_blocks'] == 1)
30
            {
31
                $allTypes['full_page'] = 0;
32
        Mage::getSingleton('core/session')->addSuccess(Mage::helper('adminhtml')->__("Full page cache has been disabled since Varnish cache is enabled."));
33
            } else if ($allTypes['full_page'] == 1) {
34
            Mage::getSingleton('core/session')->addSuccess(Mage::helper('adminhtml')->__("Turpentine cache has been disabled since Full Page cache is enabled."));
35
        }
36
            // disable FPC when Varnish cache is enabled.
37
            Mage::app()->saveUseCache($allTypes);
38
            $this->_getSession()->addSuccess(Mage::helper('adminhtml')->__("%s cache type(s) enabled.", $updatedTypes));
39
        }
40
        $this->_redirect('*/*');
41
    }
42
43
}
44