[TASK] Change APC cache preset condition
[Packages/TYPO3.CMS.git] / typo3 / sysext / install / Classes / Configuration / ExtbaseObjectCache / ApcPreset.php
index b301460..f138508 100644 (file)
@@ -1,74 +1,67 @@
 <?php
 namespace TYPO3\CMS\Install\Configuration\ExtbaseObjectCache;
 
-/***************************************************************
- *  Copyright notice
+/*
+ * This file is part of the TYPO3 CMS project.
  *
- *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
- *  All rights reserved
+ * It is free software; you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License, either version 2
+ * of the License, or any later version.
  *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
+ * For the full copyright and license information, please read the
+ * LICENSE.txt file that was distributed with this source code.
  *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
+ * The TYPO3 project - inspiring people to share!
+ */
 
 use TYPO3\CMS\Install\Configuration;
 
 /**
  * APC preset
  */
-class ApcPreset extends Configuration\AbstractPreset {
-
-       /**
-        * @var string Name of preset
-        */
-       protected $name = 'Apc';
+class ApcPreset extends Configuration\AbstractPreset
+{
+    /**
+     * @var string Name of preset
+     */
+    protected $name = 'Apc';
 
-       /**
-        * @var integer Priority of preset
-        */
-       protected $priority = 80;
+    /**
+     * @var int Priority of preset
+     */
+    protected $priority = 80;
 
-       /**
-        * @var array Configuration values handled by this preset
-        */
-       protected $configurationValues = array(
-               'SYS/caching/cacheConfigurations/extbase_object' => array(
-                       'backend' => 'TYPO3\CMS\Core\Cache\Backend\ApcBackend',
-               ),
-       );
+    /**
+     * @var array Configuration values handled by this preset
+     */
+    protected $configurationValues = array(
+        'SYS/caching/cacheConfigurations/extbase_object' => array(
+            'frontend' => \TYPO3\CMS\Core\Cache\Frontend\VariableFrontend::class,
+            'backend' => \TYPO3\CMS\Core\Cache\Backend\ApcBackend::class,
+            'options' => array(
+                'defaultLifetime' => 0,
+            ),
+            'groups' => array('system')
+        )
+    );
 
-       /**
-        * APC preset is available if extension is loaded, if APC has ~100MB
-        * memory and if ~5MB are free.
-        *
-        * @return boolean TRUE
-        */
-       public function isAvailable() {
-               $result = FALSE;
-               if (extension_loaded('apc')) {
-                       $memoryInfo = @apc_sma_info();
-                       $totalMemory = $memoryInfo['num_seg'] * $memoryInfo['seg_size'];
-                       $availableMemory = $memoryInfo['avail_mem'];
+    /**
+     * APC preset is available if extension is loaded and at least ~5MB are free.
+     *
+     * @return bool TRUE
+     */
+    public function isAvailable()
+    {
+        $result = false;
+        if (extension_loaded('apc')) {
+            $memoryInfo = @apc_sma_info();
+            $availableMemory = $memoryInfo['avail_mem'];
 
-                       // If more than 99MB in total and more than 5MB free
-                       if ($totalMemory > (99 * 1024 * 1024)
-                               && $availableMemory > (5 * 1024 * 1024)) {
-                               $result = TRUE;
-                       }
-               }
-               return $result;
-       }
+            // If more than 5MB free
+            if ($availableMemory > (5 * 1024 * 1024)) {
+                $result = true;
+            }
+        }
+        return $result;
+    }
 }