Fixed bug #15092: Ajax loaded items of inline records are encoded twice (Thanks to...
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_svbase.php
old mode 100755 (executable)
new mode 100644 (file)
index 06e046b..46fc274
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 1999-2005 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 1999-2010 Kasper Skaarhoj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the Typo3 project. The Typo3 project is
@@ -30,7 +30,7 @@
  * $Id$
  * TODO: temp files are not removed
  *
- * @author     René Fritz <r.fritz@colorcube.de>
+ * @author     Rene Fritz <r.fritz@colorcube.de>
  */
 /**
  * [CLASS/FUNCTION INDEX of SCRIPT]
@@ -108,7 +108,6 @@ define ('T3_ERR_SV_PROG_FAILED', -41); // passed subtype is not possible with th
 // define ('T3_ERR_SV_serviceType_myerr, -100); // All errors with prefix T3_ERR_SV_[serviceType]_ and lower than -99 are service type dependent error
 
 
-require_once(PATH_t3lib.'class.t3lib_exec.php');
 
 
 
@@ -118,11 +117,11 @@ require_once(PATH_t3lib.'class.t3lib_exec.php');
 /**
  * Parent class for "Services" classes
  *
- * @author     René Fritz <r.fritz@colorcube.de>
+ * @author     Rene Fritz <r.fritz@colorcube.de>
  * @package TYPO3
  * @subpackage t3lib
  */
-class t3lib_svbase {
+abstract class t3lib_svbase {
 
        /**
         * service description array
@@ -222,11 +221,9 @@ class t3lib_svbase {
         * @return      mixed           configuration value for the service
         */
        function getServiceOption($optionName, $defaultValue='', $includeDefaultConfig=TRUE) {
-               global $TYPO3_CONF_VARS;
-
                $config = NULL;
 
-               $svOptions = $TYPO3_CONF_VARS['SVCONF'][$this->info['serviceType']];
+               $svOptions = $GLOBALS['TYPO3_CONF_VARS']['SVCONF'][$this->info['serviceType']];
 
                if(isset($svOptions[$this->info['serviceKey']][$optionName])) {
                        $config = $svOptions[$this->info['serviceKey']][$optionName];
@@ -375,12 +372,8 @@ class t3lib_svbase {
         * @return      boolean         return FALSE if one program was not found
         */
        function checkExec($progList) {
-               global $T3_VAR, $TYPO3_CONF_VARS;
-
                $ret = TRUE;
 
-               require_once(PATH_t3lib.'class.t3lib_exec.php');
-
                $progList = t3lib_div::trimExplode(',', $progList, 1);
                foreach($progList as $prog) {
                        if (!t3lib_exec::checkCommand($prog)) {
@@ -448,14 +441,9 @@ class t3lib_svbase {
        function readFile ($absFile, $length=0) {
                $out = FALSE;
 
-               if ($this->checkInputFile ($absFile)) {
-                       if ($fd = fopen ($absFile, 'rb')) {
-                               $length = intval($length) ? intval($length) : filesize ($absFile);
-                               if ($length > 0) {
-                                       $out = fread ($fd, $length);
-                               }
-                               fclose ($fd);
-                       } else {
+               if ($this->checkInputFile($absFile)) {
+                       $out = file_get_contents($absFile);
+                       if ($out===FALSE)       {
                                $this->errorPush(T3_ERR_SV_FILE_READ, 'Can not read from file: '.$absFile);
                        }
                }
@@ -675,7 +663,7 @@ class t3lib_svbase {
                        }
                }
 
-               return $this->getLastError();
+               return ($this->getLastError() === true);
        }