Exemplo n.º 1
0
 function _renewPermissions()
 {
     if (!($setting_values = $this->getSettings())) {
         return false;
     }
     require_once 'AMP/System/Permission/Set.inc.php';
     $settingSet = new PermissionSet($this->dbcon);
     $this->dbcon->StartTrans();
     $settingSet->deleteData('groupid=' . $this->id);
     $this->_savePermissions($setting_values);
     $this->dbcon->CompleteTrans();
 }
<?php

defined('C5_EXECUTE') or die("Access Denied.");
$set = PermissionSet::getSavedPermissionSetFromSession();
?>
<button class="btn btn-mini" type="button" id="ccm-permissions-list-copy-permissions"><?php 
echo t('Copy');
?>
</button>
<?php 
if (is_object($set) && $set->getPermissionKeyCategory() == $pkCategory->getPermissionKeyCategoryHandle()) {
    ?>
	<button class="btn btn-mini" type="button" id="ccm-permissions-list-paste-permissions"><?php 
    echo t('Paste');
    ?>
</button>
<?php 
}
?>
<input type="hidden" name="pkCategoryHandle" value="<?php 
echo $pkCategory->getPermissionKeyCategoryHandle();
?>
" />
<script type="text/javascript">

$(function() {
	$('#ccm-permissions-list-copy-permissions').click(function() {
		var frm = $('#ccm-permission-list-form');
		jQuery.fn.dialog.showLoader();
		var data = '';
		frm.find('.ccm-permission-access-line input[type=hidden]').each(function() {
     exit;
 }
 if ($_REQUEST['task'] == 'display_access_cell' && Loader::helper("validation/token")->validate('display_access_cell')) {
     $pk = PermissionKey::getByID($_REQUEST['pkID']);
     $pk->setPermissionObject($c);
     $pa = PermissionAccess::getByID($_REQUEST['paID'], $pk);
     Loader::element('permission/labels', array('pk' => $pk, 'pa' => $pa));
 }
 if ($_REQUEST['task'] == 'save_permission_assignments' && Loader::helper("validation/token")->validate('save_permission_assignments')) {
     $u = new User();
     $permissions = PermissionKey::getList('page');
     $deferred = false;
     foreach ($pages as $c) {
         $pkr = new ChangePagePermissionsPageWorkflowRequest();
         $pkr->setRequestedPage($c);
         $ps = new PermissionSet();
         $ps->setPermissionKeyCategory('page');
         foreach ($permissions as $pk) {
             $paID = $_POST['pkID'][$pk->getPermissionKeyID()];
             $ps->addPermissionAssignment($pk->getPermissionKeyID(), $paID);
         }
         $pkr->setPagePermissionSet($ps);
         $pkr->setRequesterUserID($u->getUserID());
         $u->unloadCollectionEdit($c);
         $response = $pkr->trigger();
         if (!$response instanceof WorkflowProgressResponse) {
             $deferred = true;
         }
     }
     $obj = new stdClass();
     $obj->deferred = $deferred;
Exemplo n.º 4
0
                if (count($matches) > 0) {
                    $newpa = $pa->duplicate();
                    // remove the associated things.
                    $listItems = $newpa->getAccessListItems(PermissionKey::ACCESS_TYPE_ALL);
                    foreach ($listItems as $li) {
                        foreach ($matches as $as) {
                            $entity = $as->getAccessEntityObject();
                            $pd = $as->getPermissionDurationObject();
                            if ($entity->getAccessEntityID() == $peID && (is_object($pd) && $pd->getPermissionDurationID() == $pdID || !is_object($pd) && $pdID == 0)) {
                                $newpa->removeListItem($entity);
                            }
                        }
                    }
                    $pkr = new ChangePagePermissionsPageWorkflowRequest();
                    $pkr->setRequestedPage($c);
                    $ps = new PermissionSet();
                    $ps->setPermissionKeyCategory('page');
                    $ps->addPermissionAssignment($pk->getPermissionKeyID(), $newpa->getPermissionAccessID());
                    $pkr->setPagePermissionSet($ps);
                    $pkr->setRequesterUserID($u->getUserID());
                    $u->unloadCollectionEdit($c);
                    $response = $pkr->trigger();
                    if (!$response instanceof WorkflowProgressResponse) {
                        $deferred = true;
                    }
                }
            }
        }
        exit;
    }
}