Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/dialog/file/properties.php
Строк: 88
<?php
namespace ConcreteControllerDialogFile;

use 
ConcreteControllerBackendUserInterfaceFile as BackendInterfaceFileController;
use 
ConcreteCoreHttpResponseAssetGroup;
use 
Permissions;
use 
File;
use 
FileAttributeKey;
use 
ConcreteCoreFileEditResponse as FileEditResponse;
use 
Loader;
use 
Exception;

class 
Properties extends BackendInterfaceFileController
{

    protected 
$viewPath '/dialogs/file/properties';
    protected 
$controllerActionPath '/ccm/system/dialogs/file/properties';

    protected function 
canAccess()
    {
        return 
$this->permissions->canViewFileInFileManager();
    }

    public function 
view()
    {
        
$r ResponseAssetGroup::get();
        
$r->requireAsset('core/app/editable-fields');

        if (isset(
$_REQUEST['fvID'])) {
            
$fv $this->file->getVersion(Loader::helper('security')->sanitizeInt($_REQUEST['fvID']));
            
$this->set('previewMode'true);
        } else {
            
$fv $this->file->getApprovedVersion();
            
$this->set('previewMode'false);
        }

        
$this->set('fv'$fv);
        
$this->set('form'Loader::helper('form'));
        
$this->set('dateHelper'Loader::helper('date'));
    }

    public function 
clear_attribute()
    {
        if (
$this->validateAction()) {
            
$fp = new Permissions($this->file);
            if (
$fp->canEditFileProperties()) {
                
$fv $this->file->getVersionToModify();

                
$ak FileAttributeKey::get($_REQUEST['akID']);
                
$fv->clearAttribute($ak);

                
$sr = new FileEditResponse();
                
$sr->setFile($this->file);
                
$sr->setMessage(t('Attribute cleared successfully.'));
                
$sr->outputJSON();
            }
        }

        throw new 
Exception(t('Access Denied'));

    }

    public function 
update_attribute()
    {
        if (
$this->validateAction()) {
            
$fp = new Permissions($this->file);
            if (
$fp->canEditFileProperties()) {
                
$fv $this->file->getVersionToModify();

                
$ak FileAttributeKey::get($_REQUEST['name']);
                
$ak->saveAttributeForm($fv);

                
$file File::getByID($this->file->getFileID());
                
$val $file->getAttributeValueObject($ak); // ugh this is some kind of race condition or cache issue.

                
$sr = new FileEditResponse();
                
$sr->setFile($this->file);
                
$sr->setMessage(t('Attribute saved successfully.'));
                
$sr->setAdditionalDataAttribute('value'$val->getValue('displaySanitized''display'));
                
$sr->outputJSON();
            }
        }

        throw new 
Exception(t('Access Denied'));

    }

    public function 
save()
    {
        if (
$this->validateAction()) {
            
$fp = new Permissions($this->file);
            if (
$fp->canEditFileProperties()) {
                
$fv $this->file->getVersionToModify();
                
$value $this->request->request->get('value');
                switch (
$this->request->request->get('name')) {
                    case 
'fvTitle':
                        
$fv->updateTitle($value);
                        break;
                    case 
'fvDescription':
                        
$fv->updateDescription($value);
                        break;
                    case 
'fvTags':
                        
$fv->updateTags($value);
                        break;
                }

                
$sr = new FileEditResponse();
                
$sr->setFile($this->file);
                
$sr->setMessage(t('File updated successfully.'));
                
$sr->setAdditionalDataAttribute('value'$value);
                
$sr->outputJSON();


            } else {
                throw new 
Exception(t('Access Denied.'));
            }
        } else {
            throw new 
Exception(t('Access Denied.'));
        }
    }

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