Вход Регистрация
Файл: concrete5.7.5.6/concrete/single_pages/dashboard/blocks/stacks/view.php
Строк: 411
<?php
defined
('C5_EXECUTE') or die("Access Denied.");
use 
ConcreteCoreWorkflowProgressPageProgress as PageWorkflowProgress;
use 
ConcreteCoreBlockViewBlockView;
if (
$controller->getTask() == 'view_details') {

    
$cpc = new Permissions($stack);
    
$showApprovalButton false;
    
$hasPendingPageApproval false;
    
$workflowList PageWorkflowProgress::getList($stack);
    foreach(
$workflowList as $wl) {
        
$wr $wl->getWorkflowRequestObject();
        
$wrk $wr->getWorkflowRequestPermissionKeyObject();
        if (
$wrk->getPermissionKeyHandle() == 'approve_page_versions') {
            
$hasPendingPageApproval true;
            break;
        }
    }

    if (!
$hasPendingPageApproval) {
        
$vo $stack->getVersionObject();
        if (
$cpc->canApprovePageVersions()) {
            
$publishTitle t('Approve Changes');
            
$pk PermissionKey::getByHandle('approve_page_versions');
            
$pk->setPermissionObject($stack);
            
$pa $pk->getPermissionAccessObject();

            
$workflows = array();
            
$canApproveWorkflow true;
            if (
is_object($pa)) {
                
$workflows $pa->getWorkflows();
            }
            foreach(
$workflows as $wf) {
                if (!
$wf->canApproveWorkflow()) {
                    
$canApproveWorkflow false;
                }
            }

            if (
count($workflows 0) && !$canApproveWorkflow) {
                
$publishTitle t('Submit to Workflow');
            }
            
$showApprovalButton true;
        }
    }

    
$isGlobalArea false;
    if (
$stack->getStackType() == Stack::ST_TYPE_GLOBAL_AREA) {
        
$isGlobalArea true;
    }

    
?>

    <div class="ccm-dashboard-header-buttons">
        <?php if ($isGlobalArea) { ?>
        <a href="<?php echo URL::to('/dashboard/blocks/stacks/view_global_areas')?>" data-dialog="add-stack" class="btn btn-default"><i class="fa fa-angle-double-left"></i> <?php echo t("Back to Global Areas")?></a>
        <?php } else { ?>
        <a href="<?php echo URL::to('/dashboard/blocks/stacks')?>" data-dialog="add-stack" class="btn btn-default"><i class="fa fa-angle-double-left"></i> <?php echo t("Back to Stacks")?></a>
        <?php ?>
    </div>

    <p class="lead"><?php echo $stack->getCollectionName()?></p>

    <nav class="navbar navbar-default">
    <div class="container-fluid">
    <ul class="nav navbar-nav">
        <li class="dropdown">
            <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php echo t('Add Block')?></i></a>
            <ul class="dropdown-menu">
                <li><a class="dialog-launch" dialog-modal="false" dialog-width="550" dialog-height="380" dialog-title="<?php echo t('Add Block')?>" href="<?php echo URL::to('/ccm/system/dialogs/page/add_block_list')?>?cID=<?php echo $stack->getCollectionID()?>&arHandle=<?php echo STACKS_AREA_NAME?>"><?php echo t('Add Block')?></a></li>
                <li><a class="dialog-launch" dialog-modal="false" dialog-width="550" dialog-height="380" dialog-title="<?php echo t('Paste From Clipboard')?>" href="<?php echo URL::to('/ccm/system/dialogs/page/clipboard')?>?cID=<?php echo $stack->getCollectionID()?>&arHandle=<?php echo STACKS_AREA_NAME?>"><?php echo t('Paste From Clipboard')?></a></li>
            </ul>
        </li>

        <li><a dialog-width="640" dialog-height="340" class="dialog-launch" id="stackVersions" dialog-title="<?php echo t('Version History')?>" href="<?php echo URL::to('/ccm/system/panels/page/versions')?>?cID=<?php echo $stack->getCollectionID()?>"><?php echo t('Version History')?></a></li>
        <?php if ($cpc->canEditPageProperties() && $stack->getStackType() != ConcreteCorePageStackStack::ST_TYPE_GLOBAL_AREA) { ?>
            <li><a href="<?php echo $view->action('rename'$stack->getCollectionID())?>"><?php echo t('Rename')?></a></li>
        <?php ?>
        <?php if ($cpc->canEditPagePermissions() && Config::get('concrete.permissions.model') == 'advanced') { ?>
            <li><a dialog-width="580" class="dialog-launch" dialog-append-buttons="true" dialog-height="420" dialog-title="<?php echo t('Stack Permissions')?>" id="stackPermissions" href="<?php echo REL_DIR_FILES_TOOLS_REQUIRED?>/edit_area_popup?cID=<?php echo $stack->getCollectionID()?>&arHandle=<?php echo STACKS_AREA_NAME?>&atask=groups"><?php echo t('Permissions')?></a></li>
        <?php ?>

        <?php if ($cpc->canMoveOrCopyPage() && $stack->getStackType() != ConcreteCorePageStackStack::ST_TYPE_GLOBAL_AREA) { ?>
            <li><a href="<?php echo $view->action('duplicate'$stack->getCollectionID())?>" style="margin-right: 4px;"><?php echo t('Duplicate Stack')?></a></li>
        <?php ?>
        <?php if ($cpc->canDeletePage()) { ?>
            <?php if ($stack->getStackType() == ConcreteCorePageStackStack::ST_TYPE_GLOBAL_AREA) { ?>
                <li><a href="javascript:void(0)" data-dialog="delete-stack"><span class="text-danger"><?php echo t('Clear Global Area')?></span></a></li>
            <?php } else { ?>
                <li><a href="javascript:void(0)" data-dialog="delete-stack"><span class="text-danger"><?php echo t('Delete Stack')?></span></a></li>
            <?php ?>
        <?php ?>
    </ul>
    <?php if ($showApprovalButton) { ?>
    <ul class="nav navbar-nav navbar-right">
        <li id="ccm-stack-list-approve-button" class="navbar-form" <?php if ($vo->isApproved()) { ?> style="display: none;" <?php ?>>
            <button class="btn btn-success" onclick="window.location.href='<?php echo URL::to('/dashboard/blocks/stacks''approve_stack'$stack->getCollectionID(), $token->generate('approve_stack'))?>'"><?php echo $publishTitle?></button>
        </li>
    </ul>
    <?php ?>
    </div>
    </nav>

    <div id="ccm-stack-container">

    <?php
    $a 
Area::get($stackSTACKS_AREA_NAME);
    
$a->forceControlsToDisplay();
    
Loader::element('block_area_header', array('a' => $a));

    foreach(
$blocks as $b) {
        
$bv = new BlockView($b);
        
$bv->setAreaObject($a);
        
$p = new Permissions($b);
        if (
$p->canViewBlock()) {
            
$bv->render('view');
        }
    }
    
?>

    </div>
    </div>
    </div>

    <div style="display: none">
        <div id="ccm-dialog-delete-stack" class="ccm-ui">
            <form method="post" class="form-stacked" style="padding-left: 0px" action="<?php echo $view->action('delete_stack')?>">
                <?php echo Loader::helper("validation/token")->output('delete_stack')?>
                <input type="hidden" name="stackID" value="<?php echo $stack->getCollectionID()?>" />
                <p><?php echo t('Are you sure? This action cannot be undone.')?></p>
            </form>
            <div class="dialog-buttons">
                <button class="btn btn-default pull-left" onclick="jQuery.fn.dialog.closeTop()"><?php echo t('Cancel')?></button>
                <button class="btn btn-danger pull-right" onclick="$('#ccm-dialog-delete-stack form').submit()"><?php echo t('Delete Stack')?></button>
            </div>
        </div>
    </div>

    <script type="text/javascript">
        var showApprovalButton = function() {
            $('#ccm-stack-list-approve-button').show().addClass("animated fadeIn");
        };

        $(function() {
            var editor = new Concrete.EditMode({notify: false}), ConcreteEvent = Concrete.event;


            ConcreteEvent.on('ClipboardAddBlock', function(event, data) {
                var area = editor.getAreaByID(<?php echo $a->getAreaID()?>);
                block = new Concrete.DuplicateBlock(data.$launcher, editor);
                block.addToDragArea(_.last(area.getDragAreas()));
                return false;
            });

            ConcreteEvent.on('AddBlockListAddBlock', function(event, data) {
                var area = editor.getAreaByID(<?php echo $a->getAreaID()?>);
                blockType = new Concrete.BlockType(data.$launcher, editor);
                blockType.addToDragArea(_.last(area.getDragAreas()));
                return false;
            });

            ConcreteEvent.on('EditModeAddClipboardComplete', function(event, data) {
                showApprovalButton();
                Concrete.getEditMode().scanBlocks();
            });

            ConcreteEvent.on('EditModeAddBlockComplete', function(event, data) {
                showApprovalButton();
                Concrete.getEditMode().scanBlocks();
            });

            ConcreteEvent.on('EditModeUpdateBlockComplete', function(event, data) {
                showApprovalButton();
                Concrete.getEditMode().scanBlocks();
            });

            ConcreteEvent.on('EditModeBlockDelete', function(event, data) {
                showApprovalButton();
                _.defer(function() {
                    Concrete.getEditMode().scanBlocks();
                });
            });

            ConcreteEvent.on('EditModeBlockMove', function(event, data) {
                showApprovalButton();
                Concrete.getEditMode().scanBlocks();
            });

            $('a[data-dialog=delete-stack]').on('click', function() {
                jQuery.fn.dialog.open({
                    element: '#ccm-dialog-delete-stack',
                    modal: true,
                    width: 320,
                    title: '<?php echo t("Delete Stack")?>',
                    height: 'auto'
                });
            });
        });
    </script>

<?php } else if ($this->controller->getTask() == 'duplicate') {
    
$sv CollectionVersion::get($stack'ACTIVE');
    
?>

    <form name="duplicate_form" action="<?php echo $view->action('duplicate'$stack->getCollectionID())?>" method="POST">
        <?php echo Loader::helper("validation/token")->output('duplicate_stack')?>
        <legend><?php echo t('Duplicate Stack')?></legend>
        <div class="form-group">
            <?php echo $form->label('stackName't("Name"))?>
            <?php echo $form->text('stackName'$stack->getStackName())?>
        </div>
        <div class="ccm-dashboard-form-actions-wrapper">
            <div class="ccm-dashboard-form-actions">
                <a href="<?php echo $view->action('view_details'$stack->getCollectionID())?>" class="btn btn-default"><?php echo t('Cancel')?></a>
                <button type="submit" class="btn pull-right btn-primary"><?php echo t('Duplicate')?></button>
            </div>
        </div>
    </form>

<?php } else if ($this->controller->getTask() == 'rename') {

    
$sv CollectionVersion::get($stack'ACTIVE');
    
?>

    <form action="<?php echo $view->action('rename'$stack->getCollectionID())?>" method="POST">
        <legend><?php echo t('Rename Stack')?></legend>
        <?php echo Loader::helper("validation/token")->output('rename_stack')?>
        <div class="form-group">
            <?php echo $form->label('stackName't("Name"))?>
            <?php echo $form->text('stackName'$stack->getStackName())?>
        </div>
        <div class="ccm-dashboard-form-actions-wrapper">
            <div class="ccm-dashboard-form-actions">
                <a href="<?php echo $view->action('view_details'$stack->getCollectionID())?>" class="btn btn-default"><?php echo t('Cancel')?></a>
                <button type="submit" class="btn pull-right btn-primary"><?php echo t('Rename')?></button>
            </div>
        </div>
    </form>

<?php } else { ?>

    <?php if (count($stacks) > 0) { ?>
        <ul class="item-select-list" id="ccm-stack-list">
        <?php foreach($stacks as $st) {
            
$sv CollectionVersion::get($st'ACTIVE');
            
?>

            <li id="stID_<?php echo $st->getCollectionID()?>">
                <?php if ($canMoveStacks) { ?><i class="ccm-item-select-list-sort"></i><?php ?>
                <a href="<?php echo $view->url('/dashboard/blocks/stacks''view_details'$st->getCollectionID())?>">
                    <i class="fa fa-bars"></i> <?php echo $sv->getVersionName()?>
                </a>
            </li>
        <?php ?>
        </ul>
        <?php
    
} else {
        print 
'<p>';
        if (
$controller->getTask() == 'view_global_areas') {
            print 
t('No global areas have been added.');
        } else {
            print 
t('No stacks have been added.');
        }
        print 
'</p>';
    }
    
?>


    <div class="ccm-dashboard-header-buttons">
        <?php if (Core::make('multilingual/detector')->isEnabled() && $defaultLanguage) {
            
$ch Core::make('multilingual/interface/flag');
            
?>
        <span class="dropdown">
        <button type="button" class="btn btn-default" data-toggle="dropdown">
            <?php echo $ch->getSectionFlagIcon($defaultLanguage)?> <?php echo $defaultLanguage->getLanguageText()?> <span class="text-muted"><?php echo $defaultLanguage->getLocale();?></span>
            <span class="caret"></span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <?php foreach($multilingualSections as $section) { ?>
                <li><a href="<?php echo $view->action('set_default_language'$section->getCollectionID(), $controller->getTask())?>"><?php echo $ch->getSectionFlagIcon($section)?> <?php echo $section->getLanguageText()?> <span class="text-muted"><?php echo $section->getLocale();?></span></a></li>
            <?php ?>
        </ul>
        <?php ?>
        </span>
        <span class="dropdown">
        <button type="button" class="btn btn-default" data-toggle="dropdown">
            <?php if ($controller->getTask() == 'view_global_areas') { ?>
                <?php echo t('View Global Areas')?>
            <?php } else { ?>
                <?php echo t('View Stacks')?>
            <?php ?>
            <span class="caret"></span>
        </button>
        <ul class="dropdown-menu" role="menu">
            <li><a href="<?php echo $controller->action('view')?>"><?php echo t('View Stacks')?></a></li>
            <li><a href="<?php echo $controller->action('view_global_areas')?>"><?php echo t('View Global Areas')?></a></li>
        </ul>
        </span>
        <?php if ($controller->getTask() != 'view_global_areas') { ?>
            <a href="javascript:void(0)" data-dialog="add-stack" class="btn btn-primary"><?php echo t("Add Stack")?></a>
        <?php ?>
    </div>

    <div style="display: none">
        <div id="ccm-dialog-add-stack" class="ccm-ui">
            <form method="post" class="form-stacked" style="padding-left: 0px" action="<?php echo $view->action('add_stack')?>">
                <?php echo Loader::helper("validation/token")->output('add_stack')?>
                <div class="form-group">
                    <?php echo Loader::helper("form")->label('stackName't('Stack Name'))?>
                    <?php echo Loader::helper('form')->text('stackName')?>
                </div>
            </form>
            <div class="dialog-buttons">
                <button class="btn btn-default pull-left" onclick="jQuery.fn.dialog.closeTop()"><?php echo t('Cancel')?></button>
                <button class="btn btn-primary pull-right" onclick="$('#ccm-dialog-add-stack form').submit()"><?php echo t('Add Stack')?></button>
            </div>
        </div>
    </div>

    <script type="text/javascript">
    $(function() {

        $('a[data-dialog=add-stack]').on('click', function() {
            jQuery.fn.dialog.open({
                element: '#ccm-dialog-add-stack',
                modal: true,
                width: 320,
                title: '<?php echo t("Add Stack")?>',
                height: 'auto'
            });
        });
        <?php if ($canMoveStacks) { ?>
        $("ul#ccm-stack-list").sortable({
            handle: "i.ccm-item-select-list-sort",
            cursor: "move",
            axis: "y",
            opacity: 0.5,
            stop: function() {
                var pagelist = $(this).sortable("serialize");
                $.ajax({
                    dataType: "json",
                    type: "post",
                    url: "<?php echo $sortURL?>",
                    data: pagelist,
                    success: function(r) {

                    }
                });
            }
        });
        <?php ?>

    });
    </script>

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