Вход Регистрация
Файл: concrete5.7.5.6/concrete/tools/pages/permissions_access.php
Строк: 238
<?php
defined
('C5_EXECUTE') or die("Access Denied.");
$u = new User();
$form Loader::helper('form');
$sh Loader::helper('concrete/dashboard/sitemap');
if (!
$sh->canRead()) {
    die(
t('Access Denied'));
}

$form Loader::helper('form');

$pages = array();
if (
is_array($_REQUEST['cID'])) {
    foreach(
$_REQUEST['cID'] as $cID) {
        
$pages[] = Page::getByID($cID);
    }
} else {
    
$pages[] = Page::getByID($_REQUEST['cID']);
}

$pcnt 0;
$cIDStr '';
$cIDs = array();
foreach(
$pages as $c) { 
    
$cp = new Permissions($c);
    if (
$cp->canEditPagePermissions()) {
        
$cIDs[] = $c->getCollectionID();
        
$cIDStr .= '&cID[]=' $c->getCollectionID();
        
$pcnt++;
    }
}

foreach(
$pages as $_c) {
    
$permissionsInherit[] = $_c->getCollectionInheritance();
}
$permissionsInherit array_unique($permissionsInherit);
if (
count($permissionsInherit) == 1) {
    
$permissionsInherit $permissionsInherit[0];
}

if (
$_REQUEST['task'] == 'get_all_access_entities' && $pcnt && $permissionsInherit == 'OVERRIDE') {
    
$paIDs = array();
    foreach(
$pages as $c) {
        
$pk PermissionKey::getByID($_REQUEST['pkID']);
        
$pk->setPermissionObject($c);
        
$pa $pk->getPermissionAccessObject();
        if (
is_object($pa)) {
            
$listItems $pa->getAccessListItems(PermissionKey::ACCESS_TYPE_ALL);
            foreach(
$listItems as $as) {
                
$entity $as->getAccessEntityObject();
                
$aepdID $entity->getAccessEntityID() . $as->getAccessType();
                
$pd $as->getPermissionDurationObject();
                
$pdID 0;
                if (
is_object($pd)) {
                    
$aepdID .= $pd->getPermissionDurationID();
                    
$pdID $pd->getPermissionDurationID();
                }
                if (
in_array($aepdID$paIDs)) {
                    continue;
                }
                
$paIDs[] = $aepdID;

                
$pdTitle '';
                if (
$as->getAccessType() == PermissionKey::ACCESS_TYPE_EXCLUDE) {
                    if (
is_object($pd)) {
                        
$class 'label-warning';
                        
$pdTitle 'title="' $pd->getTextRepresentation() . '"';
                    } else {
                        
$class 'label-important';
                    }
                } else { 
                    if (
is_object($pd)) {
                        
$class 'label-info';
                        
$pdTitle 'title="' $pd->getTextRepresentation() . '"';
                    }
                }
                print 
'<label class="checkbox"><input type="checkbox" name="listItem[]" value="' $entity->getAccessEntityID() . ':' $as->getAccessType() . ':' $pdID '    " /> <span class="label ' $class '" ' $pdTitle '>' $entity->getAccessEntityLabel() . '</span></label>';
            }
        }
    }
    exit;
}

$searchInstance Loader::helper('text')->entities($_REQUEST['searchInstance']);

if (
$_REQUEST['task'] == 'remove') {
    
$task 'bulk_remove_access';
} else {
    
$task 'bulk_add_access';
}

?>
<div class="ccm-ui" id="ccm-permission-detail">

<?php if ($pcnt == 0) { ?>
    <?php echo t("You do not have permission to change permissions on any of the selected pages."); ?>
<?php 
} else {

    if (
$permissionsInherit == 'OVERRIDE') { 
            
$cat PermissionKeyCategory::getByHandle('page');?>


        <form id="ccm-permissions-bulk-access-form" action="<?php echo $cat->getToolsURL($task)?>">


            <?php foreach($cIDs as $cID) { ?>
                <input type="hidden" name="cID[]" value="<?php echo $cID?>" />
            <?php ?>

            <?php if ($task == 'bulk_remove_access') { ?>
                <div class="alert alert-warning"><strong><?php echo t('Warning:')?></strong> <?php echo t("Any users or groups selected will be removed from the permissions on the selected pages.")?></div>
            <?php ?>

            <div class="<?php if ($task == 'bulk_add_access') { ?>form-inline<?php ?>">

            <table class="ccm-permission-grid table">
                <tr>
                <td class="ccm-permission-grid-name" id="ccm-permission-grid-name-0">
                    <select name="pkID">
                    <?php
                    $permissions 
PermissionKey::getList('page');
                    foreach(
$permissions as $pk) { ?>
                        <option value="<?php echo $pk->getPermissionKeyID()?>"><?php echo $pk->getPermissionKeyDisplayName()?></option>
                    <?php ?>
                    </select>
                </td>
                <td id="ccm-permission-grid-cell-0" class="ccm-permission-grid-cell-value" style="vertical-align: middle">
            <?php if ($task == 'bulk_remove_access') { ?>
                <div id="ccm-permissions-bulk-access-remove"></div>
            <?php } else { ?>
                <div class="ccm-permission-access-line"><button class="btn" type="button" id="ccm-bulk-access-form-add-entity"><?php echo t('Add Access Entity')?></button></div>
            <?php ?>
            </td>
            </tr>
            </table>
        </div>

            <?php if ($task == 'bulk_add_access') { ?>
            <div class="form-horizontal">
            <div class="control-group">
                <label class="control-label"><?php echo t('Permissions Should')?></label>
                <div class="controls">
                <div class="radio"><label><input type="radio" name="paReplaceAll" value="add" checked="checked" /> <span><?php echo t("Add To Existing Permissions")?></span></label></div>
                <div class="radio"><label><input type="radio" name="paReplaceAll" value="replace" /> <span><?php echo t("Replace Permissions")?></span></label></div>
                </div>
            </div>
            </div>
            <?php ?>

                <div id="ccm-permissions-bulk-access-form-buttons" class="dialog-buttons">
                    <button class="btn" type="button" onclick="jQuery.fn.dialog.closeTop()"><?php echo t('Cancel')?></button>
                    <button class="btn primary pull-right" disabled="disabled" type="button" onclick="ccm_bulkPermissionsFormSubmit()"><?php echo t('Save')?></button>
                </div>
            

        </form>

        <script type="text/javascript">
        ccm_submitPermissionsDetailFormPost = function() {
            $('#ccm-permissions-bulk-access-form select').prop('disabled', true);
            $("#ccm-permissions-bulk-access-form-buttons button").prop('disabled', false);
        }

        ccm_bulkPermissionsFormSubmit = function() {
            $('#ccm-permissions-bulk-access-form').ajaxForm({
                beforeSubmit: function() {
                    jQuery.fn.dialog.showLoader();
                },
                success: function(r) {
                    jQuery.fn.dialog.hideLoader();
                    jQuery.fn.dialog.closeTop();
                    if (!r.deferred) {
                        ConcreteAlert.notify({
                        'message': ccmi18n_sitemap.setPagePermissionsMsg,
                        'title': ccmi18n_sitemap.setPagePermissions
                        });
                    } else {
                        jQuery.fn.dialog.closeTop();
                        ConcreteAlert.notify({
                        'message': ccmi18n_sitemap.setPermissionsDeferredMsg,
                        'title': ccmi18n_sitemap.setPagePermissions
                        });
                    }

                }        

            }).submit();
        }

        $('#ccm-bulk-access-form-add-entity').on('click', function() {
            if ($('#ccm-permissions-bulk-access-form select').val() > 0) {
                jQuery.fn.dialog.open({
                    title: '<?php echo t("Add Access Entity")?>',
                    href: '<?php echo REL_DIR_FILES_TOOLS_REQUIRED?>/pages/permissions?subtask=set<?php echo $cIDStr?>&pkID=' + $('#ccm-permissions-bulk-access-form select').val(),
                    modal: false,
                    width: 500,
                    height: 380
                });        
            }
        });


        <?php if ($task == 'bulk_remove_access') { ?>
            $('#ccm-permissions-bulk-access-form select').on('change', function() {
                jQuery.fn.dialog.showLoader();
                $('#ccm-permissions-bulk-access-remove').load('<?php echo REL_DIR_FILES_TOOLS_REQUIRED?>/pages/permissions_access?task=get_all_access_entities<?php echo $cIDStr?>&pkID=' + $(this).val(), function() {
                    $("#ccm-permissions-bulk-access-form-buttons button").prop('disabled', false);
                    jQuery.fn.dialog.hideLoader();
                });
            });

            $('#ccm-permissions-bulk-access-remove').on('hover', 'span.label', function() {
                $(this).tooltip();
            });

            $(function() {
                $('#ccm-permissions-bulk-access-form select').trigger('change');
            });

        <?php } else { ?>
            $('#ccm-permissions-bulk-access-form select').on('change', function() {
                $('.ccm-permission-grid-cell-value').attr('id', 'ccm-permission-grid-cell-' + $(this).val());
            }).trigger('change');
        <?php ?>
        </script>


    <?php } else { ?>
        <br/><br/>

        <p><?php echo t('You may only add access to these selected pages if they have all been set to override parent or page defaults permissions.')?></p>

    <?php 

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