Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/files/sets.php
Строк: 81
<?php
namespace ConcreteControllerSinglePageDashboardFiles;

use 
ConcreteCorePageControllerDashboardPageController;
use 
ConcreteCoreFileSetSetList as FileSetList;
use 
FileSet;
use 
Permissions;
use 
PermissionKey;
use 
PermissionAccess;
use 
Loader;
use 
Exception;

class 
Sets extends DashboardPageController
{
    public 
$helpers = array('form''validation/token''concrete/ui');

    public function 
view()
    {

        
$fsl = new FileSetList();
        if (isset(
$_REQUEST['fsKeywords'])) {
            
$fsl->filterByKeywords($_REQUEST['fsKeywords']);
        }
        if (isset(
$_REQUEST['fsType'])) {
            
$fsl->filterByType($_REQUEST['fsType']);
            
$this->set('fsType'$_REQUEST['fsType']);
        } else {
            
$fsl->filterByType(FileSet::TYPE_PUBLIC);
            
$this->set('fsType'FileSet::TYPE_PUBLIC);
        }
        
$fileSets $fsl->getPage();
        
$this->set('fileSets'$fileSets);
        
$this->set('fsl'$fsl);
    }

    public function 
file_set_added()
    {
        
$this->set('message't('New file set added successfully.'));
        
$this->view();
    }

    public function 
file_set_deleted()
    {
        
$this->set('message't('File set deleted successfully.'));
        
$this->view();
    }

    public function 
delete($fsID$token '')
    {

        
$fs FileSet::getByID($fsID);


        
$valt Loader::helper('validation/token');
        if (!
$valt->validate('delete_file_set'$token)) {
            throw new 
Exception($valt->getErrorMessage());
        }

        
$fsp = new Permissions($fs);
        if (
$fsp->canDeleteFileSet()) {
            
$fs->delete();
            
$this->redirect('/dashboard/files/sets''file_set_deleted');
        } else {
            throw new 
Exception(t('You do not have permission to delete this file set.'));
        }
    }

    public function 
view_detail($fsID$action false)
    {

        
$fs FileSet::getByID($fsID);
        
$this->set('fs'$fs);
        if (
$action == 'file_set_updated') {
            
$this->set('message't('File set updated successfully.'));
        }
        
$this->view();
    }

    public function 
file_sets_edit()
    {
        
extract($this->getHelperObjects());

        
//do my editing
        
if (!$validation_token->validate("file_sets_edit")) {
            
$this->error->add($validation_token->getErrorMessage());
        }

        if (!
$this->post('fsID')) {
            
$this->error->add(t('Invalid ID'));
        }
        
$setName trim($this->post('file_set_name'));
        if (!
$setName) {
            
$this->error->add(t('Please Enter a Name'));
        }

        if (!
$this->error->has()) {
            
$file_set FileSet::getByID($this->post('fsID'));

            
$copyPermissionsFromBase false;
            if (
$file_set->fsOverrideGlobalPermissions == && $this->post('fsOverrideGlobalPermissions') == 1) {
                
// we are checking the checkbox for the first time
                
$copyPermissionsFromBase true;
            }
            if (
$file_set->fsOverrideGlobalPermissions) {
                
$permissions PermissionKey::getList('file_set');
                foreach (
$permissions as $pk) {
                    
$pk->setPermissionObject($file_set);
                    
$pt $pk->getPermissionAssignmentObject();
                    
$paID $_POST['pkID'][$pk->getPermissionKeyID()];
                    
$pt->clearPermissionAssignment();
                    if (
$paID 0) {
                        
$pa PermissionAccess::getByID($paID$pk);
                        if (
is_object($pa)) {
                            
$pt->assignPermissionAccess($pa);
                        }
                    }
                }
            }

            
$fsOverrideGlobalPermissions = ($this->post('fsOverrideGlobalPermissions') == 1) ? 0;
            
$file_set->update($setName$fsOverrideGlobalPermissions);
            
$file_set->updateFileSetDisplayOrder($this->post('fsDisplayOrder'));

            if (
$file_set->fsOverrideGlobalPermissions == 0) {
                
$file_set->resetPermissions();
            }
            if (
$copyPermissionsFromBase) {
                
$file_set->acquireBaseFileSetPermissions();
            }

            
$this->redirect("/dashboard/files/sets"'view_detail'$this->post('fsID'), 'file_set_updated');
        } else {
            
$this->view();
        }
    }

}

?>
Онлайн: 3
Реклама