コード例 #1
0
 }
 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;
     print Loader::helper('json')->encode($obj);
コード例 #2
0
ファイル: set.php プロジェクト: Zyqsempai/amanet
<?php

defined('C5_EXECUTE') or die("Access Denied.");
if ($_REQUEST['task'] == 'copy_permission_set' && Loader::helper("validation/token")->validate('copy_permission_set')) {
    $ps = new PermissionSet();
    $ps->setPermissionKeyCategory($_POST['pkCategoryHandle']);
    foreach ($_POST['pkID'] as $pkID => $paID) {
        $ps->addPermissionAssignment($pkID, $paID);
    }
    $ps->saveToSession();
    $r = new stdClass();
    $r->success = 1;
    print Loader::helper('json')->encode($r);
}
if ($_REQUEST['task'] == 'paste_permission_set' && Loader::helper("validation/token")->validate('paste_permission_set')) {
    $ps = PermissionSet::getSavedPermissionSetFromSession();
    $r = array();
    if (is_object($ps) && $ps->getPermissionKeyCategory() == $_POST['pkCategoryHandle']) {
        $permissions = $ps->getPermissionAssignments();
        foreach ($permissions as $pkID => $paID) {
            $obj = new stdClass();
            $obj->pkID = $pkID;
            $obj->paID = $paID;
            $pk = PermissionKey::getByID($pkID);
            $pa = PermissionAccess::getByID($paID, $pk);
            ob_start();
            Loader::element('permission/labels', array('pk' => $pk, 'pa' => $pa));
            $html = ob_get_contents();
            ob_end_clean();
            $obj->html = $html;
            $r[] = $obj;