[BUGFIX] Install Tool: Improper check of PHP session.auto_start
[Packages/TYPO3.CMS.git] / t3lib / utility / class.t3lib_utility_phpoptions.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 2010-2011 Christian Kuhn <lolli@schwarzbu.ch>
6 * All rights reserved
7 *
8 * This script is part of the TYPO3 project. The TYPO3 project is
9 * free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * The GNU General Public License can be found at
15 * http://www.gnu.org/copyleft/gpl.html.
16 * A copy is found in the textfile GPL.txt and important notices to the license
17 * from the author is found in LICENSE.txt distributed with these scripts.
18 *
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27
28 /**
29 * Class to handle php environment specific options / functions
30 *
31 * @author Christian Kuhn <lolli@schwarzbu.ch>
32 * @package TYPO3
33 * @subpackage t3lib
34 */
35 final class t3lib_utility_PhpOptions {
36 /**
37 * Check if php safe_mode is enabled
38 *
39 * @return boolean TRUE if safe_mode is enabled, FALSE if disabled
40 */
41 public static function isSafeModeEnabled() {
42 return self::getIniValueBoolean('safe_mode');
43 }
44
45 /**
46 * Check if php magic_quotes_gpc is enabled
47 *
48 * @return boolean TRUE if magic_quotes_gpc is enabled, FALSE if disabled
49 */
50 public static function isMagicQuotesGpcEnabled() {
51 // TODO: Once PHP 5.4.0 is out, check if magic_quotes_gpc was really removed
52 //if (version_compare(phpversion(), '5.4', '<')) {
53 // return self::getIniValueBoolean('magic_quotes_gpc');
54 //} else {
55 // return FALSE;
56 //}
57 return self::getIniValueBoolean('magic_quotes_gpc');
58 }
59
60 /**
61 * Check if php sql.safe_mode is enabled
62 *
63 * @return boolean TRUE if sql.safe_mode is enabled, FALSE if disabled
64 */
65 public static function isSqlSafeModeEnabled() {
66 return self::getIniValueBoolean('sql.safe_mode');
67 }
68
69 /**
70 * Check if php session.auto_start is enabled
71 *
72 * @return boolean TRUE if session.auto_start is enabled, FALSE if disabled
73 */
74 public static function isSessionAutoStartEnabled() {
75 return self::getIniValueBoolean('session.auto_start');
76 }
77
78 /**
79 * Cast a on/off php ini value to boolean
80 *
81 * @return boolean TRUE if the given option is enabled, FALSE if disabled
82 */
83 public static function getIniValueBoolean($configOption) {
84 return filter_var(ini_get($configOption), FILTER_VALIDATE_BOOLEAN, array(FILTER_REQUIRE_SCALAR, FILTER_NULL_ON_FAILURE));
85 }
86 }
87
88 ?>