Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/File/Service/Application.php
Строк: 87
<?php

namespace ConcreteCoreFileService;
use 
ConcreteCoreFileStorageLocationStorageLocation;
use 
Config;
use 
Loader;
class 
Application {

    public function 
prefix($prefix$filename)
    {
        
$apr str_split($prefix4);
        return 
sprintf('/%s/%s/%s/%s'$apr[0], $apr[1], $apr[2], $filename);
    }

    public function 
getThumbnailFilePath($prefix$filename$level)
    {
        switch(
$level) {
            case 
2:
                
$base REL_DIR_FILES_THUMBNAILS_LEVEL2;
                break;
            case 
3:
                
$base REL_DIR_FILES_THUMBNAILS_LEVEL3;
                break;
            default: 
// level 1
                
$base REL_DIR_FILES_THUMBNAILS;
                break;
        }

        
$hi Loader::helper('file');
        
$filename $hi->replaceExtension($filename'jpg');
        return 
$base $this->prefix($prefix$filename);
    }

    
/**
     * @return array
     */
    
public function getIncomingDirectoryContents()
    {
        
$incoming_file_information = array();
        
$fs StorageLocation::getDefault()->getFileSystemObject();
        
$items $fs->listContents(REL_DIR_FILES_INCOMING);
        return 
$items;
    }

    
/**
     * Serializes an array of strings into format suitable for multi-uploader
     *
     * example for format:
     * '*.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.avi;*.mp4;*.mp3;*.qt;*.ppt;*.kml'
     * @param array $types
     * @return string
     */
    
public function serializeUploadFileExtensions($types){
        
$serialized '';
        
$types preg_replace('{[^a-z0-9]}i','',$types);
        foreach (
$types as $type) {
            
$serialized .= '*.'.$type.';';
        }
        
//removing trailing ; unclear if multiupload will choke on that or not
        
$serialized substr ($serialized0strlen($serialized)-1);
        return 
$serialized;
    }

    
/**
     * Unserializes an array of strings from format suitable for multi-uploader
     *
     * example for format:
     * '*.flv;*.jpg;*.gif;*.jpeg;*.ico;*.docx;*.xla;*.png;*.psd;*.swf;*.doc;*.txt;*.xls;*.csv;*.pdf;*.tiff;*.rtf;*.m4a;*.mov;*.wmv;*.mpeg;*.mpg;*.wav;*.avi;*.mp4;*.mp3;*.qt;*.ppt;*.kml'
     * @param string $types
     * @return array
     */
    
public function unSerializeUploadFileExtensions($types){
        
//split by semi-colon
        
$types preg_split('{;}',$types,null,PREG_SPLIT_NO_EMPTY);
        
$types preg_replace('{[^a-z0-9]}i','',$types);
        return 
$types;
    }

    
/**
     * Returns an array of all allowed file extensions within the system
     */
    
public function getAllowedFileExtensions() {
        
$arr $this->unserializeUploadFileExtensions(Config::get('concrete.upload.extensions'));
        
sort($arr);
        return 
$arr;
    }
}
Онлайн: 2
Реклама