Вход Регистрация
Файл: concrete5.7.5.6/concrete/src/File/Type/Type.php
Строк: 123
<?php
namespace ConcreteCoreFileType;

use 
Loader;
use 
ConcreteCorePackagePackageList;
use 
Core;

class 
Type
{

    
// File Type Constants
    
const T_IMAGE 1;          //!< @javascript-exported
    
const T_VIDEO 2;          //!< @javascript-exported
    
const T_TEXT 3;           //!< @javascript-exported
    
const T_AUDIO 4;          //!< @javascript-exported
    
const T_DOCUMENT 5;       //!< @javascript-exported
    
const T_APPLICATION 6;    //!< @javascript-exported
    
const T_UNKNOWN 99;       //!< @javascript-exported

    
public $pkgHandle false;

    public function 
__construct()
    {
        
$this->type = static::T_UNKNOWN;
        
$this->name $this->mapGenericTypeText($this->type);
    }

    public function 
getPackageHandle()
    {
        return 
$this->pkgHandle;
    }

    public function 
getName()
    {
        return 
$this->name;
    }

    public function 
getExtension()
    {
        return 
$this->extension;
    }

    public function 
getCustomImporter()
    {
        return 
$this->customImporter;
    }

    public function 
getGenericType()
    {
        return 
$this->type;
    }

    public function 
getView()
    {
        return 
$this->view;
    }

    public function 
getEditor()
    {
        return 
$this->editor;
    }

    protected function 
mapGenericTypeText($type)
    {
        switch (
$type) {
            case static::
T_IMAGE:
                return 
t('Image');
                break;
            case static::
T_VIDEO:
                return 
t('Video');
                break;
            case static::
T_TEXT:
                return 
t('Text');
                break;
            case static::
T_AUDIO:
                return 
t('Audio');
                break;
            case static::
T_DOCUMENT:
                return 
t('Document');
                break;
            case static::
T_APPLICATION:
                return 
t('Application');
                break;
            case static::
T_UNKNOWN:
                return 
t('File');
                break;

        }
    }

    public static function 
getGenericTypeText($type)
    {
        if (
$type 0) {
            return static::
mapGenericTypeText($type);
        } else {
            if (!empty(
$this->type)) {
                return static::
mapGenericTypeText($this->type);
            }
        }
    }

    public function 
getCustomInspector()
    {
        
$name camelcase($this->getCustomImporter()) . 'Inspector';
        
$class overrideable_core_class('Core\File\Type\Inspector\' . $name, 'File/Type/Inspector/' . $name . '.php', $this->getPackageHandle());
        $cl = Core::make($class);
        return $cl;
    }

    public static function getUsedExtensionList()
    {
        $db = Loader::db();
        $stm = $db->query('
select distinct fvExtension from FileVersions where fvIsApproved and fvExtension <> ""');
        $extensions = array();
        while ($row = $stm->fetch()) {
            $extensions[] = $row['
fvExtension'];
        }
        return $extensions;
    }

    public static function getUsedTypeList()
    {
        $db = Loader::db();
        $stm = $db->query('
select distinct fvType from FileVersions where fvIsApproved and fvType <> 0');
        $types = array();
        while ($row = $stm->fetch()) {
            $types[] = $row['
fvType'];
        }
        return $types;
    }

    public static function getTypeList()
    {
        return array(
            static::T_DOCUMENT,
            static::T_IMAGE,
            static::T_VIDEO,
            static::T_AUDIO,
            static::T_TEXT,
            static::T_APPLICATION,
            static::T_UNKNOWN
        );
    }

    /**
     * Returns a thumbnail for this type of file
     */
    public function getThumbnail($fullImageTag = true)
    {
        if (file_exists(DIR_AL_ICONS . '
/' . $this->extension . '.png')) {
            $url = REL_DIR_AL_ICONS . '
/' . $this->extension . '.png';
        } else {
            $url = AL_ICON_DEFAULT;
        }
        if ($fullImageTag == true) {
            return '
<img src="' . $url . '" class="img-responsive ccm-generic-thumbnail" />';
        } else {
            return $url;
        }
    }


}
Онлайн: 1
Реклама