Вход Регистрация
Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/users/groups.php
Строк: 93
<?php
namespace ConcreteControllerSinglePageDashboardUsers;
use 
ConcreteCorePageControllerDashboardPageController;
use 
ConcreteControllerSearchGroups as SearchGroupsController;
use 
Permissions;
use 
Group;
use 
Exception;
use 
User;
use 
Loader;
use 
ConcreteCoreTreeTypeGroup as GroupTree;
use 
Page;
class 
Groups extends DashboardPageController {


    public function 
view() { 
        
$tree GroupTree::get();
        
$this->set('tree'$tree);
        
$this->requireAsset('core/groups');

        
$cnt = new SearchGroupsController();
        
$cnt->search();
        
$this->set('searchController'$cnt);

        
$c Page::getByPath('/dashboard/users/add_group');
        
$cp = new Permissions($c);
        
$this->set('canAddGroup'$cp->canViewPage());
    }    

    public function 
edit($gID false) {
        
$g Group::getByID(intval($gID));
        
$gp = new Permissions($g);
        if (!
is_object($g)) {
            throw new 
Exception(t('Invalid group.'));
        }
        if (!
$gp->canEditGroup()) {
            throw new 
Exception(t('You do not have access to edit this group.'));
        }
        if (
is_object($g)) {         
            
$this->set('group'$g);
        }        
    }

    public function 
bulk_update_complete() {
        
$this->set('success't('Groups moved successfully.'));
        
$this->view();
    }

    public function 
update_group() {
        
$g Group::getByID(intval($_REQUEST['gID']));
        if (
is_object($g)) {
            
$this->set('group'$g);
        }
        
$gp = new Permissions($g);
        if (!
$gp->canEditGroup()) {
            
$this->error->add(t('You do not have access to edit this group.'));
        }

        
$txt Loader::helper('text');
        
$valt Loader::helper('validation/token');
        
$gName $txt->sanitize($_POST['gName']);
        
$gDescription $_POST['gDescription'];
        
        if (!
$gName) {
            
$this->error->add(t("Name required."));
        }
        
        if (!
$valt->validate('add_or_update_group')) {
            
$this->error->add($valt->getErrorMessage());
        }
        
        if (
$_POST['gIsBadge']) {
            if (!
$this->post('gBadgeDescription')) {
                
$this->error->add(t('You must specify a description for this badge. It will be displayed publicly.'));
            }
        }
        
        if (!
$this->error->has()) {
            
$g->update($gName$_POST['gDescription']);
            
$cntp Page::getByPath('/dashboard/users/add_group');
            
$cnta $cntp->getController();
            
$cnta->checkExpirationOptions($g);
            
$cnta->checkBadgeOptions($g);
            
$cnta->checkAutomationOptions($g);
            
$this->redirect('/dashboard/users/groups''group_updated');
        }
    }
    
    public function 
group_added() {
        
$this->set('message't('Group added successfully'));
        
$this->view();
    }
    
    public function 
group_updated() {
        
$this->set('message't('Group update successfully'));
        
$this->view();
    }
    
    public function 
delete($delGroupId$token ''){

        
$u=new User();
        try {
        
            if(!
$u->isSuperUser()) {
                throw new 
Exception(t('You do not have permission to perform this action.'));
            }
            
            
$group Group::getByID($delGroupId);            
            
            if(!(
$group instanceof Group)) {
                throw new 
Exception(t('Invalid group ID.'));
            }
            
            
$valt Loader::helper('validation/token');
            if (!
$valt->validate('delete_group_' $delGroupId$token)) {
                throw new 
Exception($valt->getErrorMessage());
            }
            
            
$group->delete(); 
            
$resultMsg=t('Group deleted successfully.');        
            
$this->set('message'$resultMsg);
        } catch(
Exception $e) {
            
$this->error->add($e);
        }
        
$this->view(); 
    }    
}

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