Вход Регистрация
Файл: concrete5.7.5.6/concrete/vendor/mlocati/concrete5-translation-library/src/Options.php
Строк: 34
<?php

namespace C5TL;

/**
 * Holds global options of C5TL.
 */
class Options
{
    
/**
     * Currently configured temporary directory. If empty we'll try to detect it.
     *
     * @var string
     */
    
protected static $temporaryDirectory '';

    
/**
     * Returns the temporary directory.
     *
     * @throws Exception
     *
     * @return string
     */
    
public static function getTemporaryDirectory()
    {
        
$check = function ($s) {
            
$result '';
            if (
is_string($s) && ($s !== '')) {
                
$s = @realpath($s);
                if ((
$s !== false) && is_dir($s) && is_writable(($s))) {
                    
$result $s;
                }
            }

            return 
$result;
        };
        
$result '';
        if (
$result === '') {
            if (static::
$temporaryDirectory !== '') {
                
$result $check(static::$temporaryDirectory);
                if (
$result === '') {
                    throw new 
Exception('The configured temporary directory is not valid');
                }
            }
        }
        if (
$result === '') {
            if (
function_exists('sys_get_temp_dir')) {
                
$result $check(@sys_get_temp_dir());
            }
        }
        if (
$result === '') {
            if (isset(
$_ENV) && is_array($_ENV)) {
                foreach (array(
'TMP''TMPDIR''TEMP') as $k) {
                    if (isset(
$_ENV[$k])) {
                        
$result $check($_ENV[$k]);
                        if (
$result !== '') {
                            break;
                        }
                    }
                }
            }
        }
        if (
$result === '') {
            throw new 
Exception('Unable to determine a temporary directory');
        }

        return 
$result;
    }

    
/**
     * Sets the temporary directory.
     *
     * @param string $value Set to an empty string to detect the temporary directory
     */
    
public static function setTemporaryDirectory($value)
    {
        static::
$temporaryDirectory = (string) $value;
    }
}
Онлайн: 0
Реклама