Вход Регистрация
Файл: concrete5.7.5.6/concrete/tools/pages/speed_settings.php
Строк: 298
<?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'));
}

if (
$_POST['task'] == 'edit_speed_settings') {
    
$json['error'] = false;

    if (
is_array($_POST['cID'])) {
        foreach(
$_POST['cID'] as $cID) {
            
$c Page::getByID($cID);
            
$cp = new Permissions($c);
            if (
$cp->canEditPageSpeedSettings()) {
                
$data = array();
                if (
$_POST['cCacheFullPageContent'] > -2) {
                    
$data['cCacheFullPageContent'] = $_POST['cCacheFullPageContent'];
                }
                if (
$_POST['cCacheFullPageContentOverrideLifetime'] > -1) {
                    
$data['cCacheFullPageContentLifetimeCustom'] = $_POST['cCacheFullPageContentLifetimeCustom'];
                    
$data['cCacheFullPageContentOverrideLifetime'] = $_POST['cCacheFullPageContentOverrideLifetime'];
                }
                
$c->update($data);
            } else {
                
$json['error'] = t('Unable to delete one or more pages.');
            }
        }
    }

    
$js Loader::helper('json');
    print 
$js->encode($json);
    exit;
}

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

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

$pcnt 0;
$fullPageCaching = -3;
$cCacheFullPageContentOverrideLifetime = -2;
$cCacheFullPageContentOverrideLifetimeCustomValue = -1;
foreach(
$pages as $c) {
    
$cp = new Permissions($c);
    if (
$cp->canEditPageSpeedSettings()) {
        if (
$c->getCollectionFullPageCaching() != $fullPageCaching && $fullPageCaching != -3) {
            
$fullPageCaching = -2;
        } else {
            
$fullPageCaching $c->getCollectionFullPageCaching();
        }
        if (
$c->getCollectionFullPageCachingLifetime() != $cCacheFullPageContentOverrideLifetime && $cCacheFullPageContentOverrideLifetime != -2) {
            
$cCacheFullPageContentOverrideLifetime = -1;
        } else {
            
$cCacheFullPageContentOverrideLifetime $c->getCollectionFullPageCachingLifetime();
        }
        if (
$c->getCollectionFullPageCachingLifetimeCustomValue() != $cCacheFullPageContentOverrideLifetimeCustomValue && $cCacheFullPageContentOverrideLifetimeCustomValue != -1) {
            
$cCacheFullPageContentOverrideLifetimeCustomValue 0;
        } else {
            
$cCacheFullPageContentOverrideLifetimeCustomValue $c->getCollectionFullPageCachingLifetimeCustomValue();
        }
        
$pcnt++;
    }
}

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

?>
<div class="ccm-ui">

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

    <form id="ccm-<?php echo $searchInstance?>-speed-settings-form" method="post" action="<?php echo REL_DIR_FILES_TOOLS_REQUIRED?>/pages/speed_settings">
    <?php echo $form->hidden('task''edit_speed_settings')?>
    <?php foreach($pages as $c) { ?>
        <?php echo $form->hidden('cID[]'$c->getCollectionID())?>
    <?php ?>
    <div id="ccm-properties-cache-tab">

        <?php $form Loader::helper('form');?>
        <?php
        
switch(Config::get('concrete.cache.pages')) {
            case 
'blocks':
                
$globalSetting t('cache page if all blocks support it.');
                
$enableCache 1;
                break;
            case 
'all':
                
$globalSetting t('enable full page cache.');
                
$enableCache 1;
                break;
            case 
0:
                
$globalSetting t('disable full page cache.');
                
$enableCache 0;
                break;
        }
        switch(
Config::get('concrete.cache.full_page_lifetime')) {
            case 
'default':
                
$globalSettingLifetime t('%s minutes'Config::get('concrete.cache.lifetime') / 60);
                break;
            case 
'custom':
                
$custom Config::get('concrete.cache.full_page_lifetime_value');
                
$globalSettingLifetime t('%s minutes'$custom);
                break;
            case 
'forever':
                
$globalSettingLifetime t('Until manually cleared');
                break;
        }
        
?>

        <div class="clearfix">
        <label><?php echo t('Full Page Caching')?></label>

        <div class="input">
        <ul class="inputs-list">
        <li><label><?php echo $form->radio('cCacheFullPageContent', -2$fullPageCaching)?>
        <span><?php echo t('Multiple values')?></span>
        </label></li>
        <li><label><?php echo $form->radio('cCacheFullPageContent', -1$fullPageCaching, array('enable-cache' => $enableCache))?>
        <span><?php echo t('Use global setting - %s'$globalSetting)?></span>
        </label></li>
        <li><label><?php echo $form->radio('cCacheFullPageContent'0$fullPageCaching, array('enable-cache' => 0))?>
        <span><?php echo t('Do not cache this page.')?></span>
        </label></li>
        <li><label><?php echo $form->radio('cCacheFullPageContent'1$fullPageCaching, array('enable-cache' => 1))?>
        <span><?php echo t('Cache this page.')?></span>
        </label>
        </li>
        </ul>
        </div>

        </div>

        <div class="clearfix">
        <label><?php echo t('Cache for how long?')?></label>

        <div class="ccm-properties-cache-lifetime input">
        <ul class="inputs-list">
            <?php $val = ($cCacheFullPageContentLifetimeCustomValue && $cCacheFullPageContentOverrideLifetime) ? $cCacheFullPageContentLifetimeCustomValue ''?>
            <li><label><?php echo $form->radio('cCacheFullPageContentOverrideLifetime', -1$cCacheFullPageContentOverrideLifetime)?>
            <span><?php echo t('Multiple values')?></span>
            </label></li>
            <li><label><span><?php echo $form->radio('cCacheFullPageContentOverrideLifetime'0$cCacheFullPageContentOverrideLifetime)?>
            <?php echo t('Use global setting - %s'$globalSettingLifetime)?>
            </span></label></li>
            <li><label><span><?php echo $form->radio('cCacheFullPageContentOverrideLifetime''default'$cCacheFullPageContentOverrideLifetime)?>
            <?php echo t('Default - %s minutes'Config::get('concrete.cache.lifetime') / 60)?>
            </span></label></li>
            <li><label><span><?php echo $form->radio('cCacheFullPageContentOverrideLifetime''forever'$cCacheFullPageContentOverrideLifetime)?>
            <?php echo t('Until manually cleared')?>
            </span></label></li>
            <li><label><span><?php echo $form->radio('cCacheFullPageContentOverrideLifetime''custom'$cCacheFullPageContentOverrideLifetime)?>
            <?php echo t('Custom')?>
            </span></label>
            <div style="margin-top: 4px; margin-left: 16px">
                <label><?php echo $form->text('cCacheFullPageContentLifetimeCustom'$val, array('style' => 'width: 40px'))?> <?php echo t('minutes')?></label>
            </div>
            </li>
        </ul>
        </div>
        </div>
    </div>
    </form>
    <div class="dialog-buttons">
    <?php $ih Loader::helper('concrete/ui')?>
    <?php echo $ih->button_js(t('Cancel'), 'jQuery.fn.dialog.closeTop()''left''btn')?>
    <?php echo $ih->button_js(t('Update'), "$('#ccm-" $searchInstance "-speed-settings-form').submit()"'right''btn primary')?>
    </div>

    <?php

}
?>
</div>

    <script type="text/javascript">

        ccm_settingsSetupCacheForm = function() {
            var obj = $('input[name=cCacheFullPageContent]:checked');
            if (obj.attr('enable-cache') == 1) {
                $('div.ccm-properties-cache-lifetime input').attr('disabled', false);
            } else {
                $('div.ccm-properties-cache-lifetime input').attr('disabled', true);
                $('input[name=cCacheFullPageContentOverrideLifetime][value=0]').attr('checked', true);
            }

            var obj2 = $('input[name=cCacheFullPageContentOverrideLifetime]:checked');
            if (obj2.val() == 'custom') {
                $('input[name=cCacheFullPageContentLifetimeCustom]').attr('disabled', false);
            } else {
                $('input[name=cCacheFullPageContentLifetimeCustom]').attr('disabled', true);
                $('input[name=cCacheFullPageContentLifetimeCustom]').val('');
            }

        }

        $(function() {
            $("input[name=cCacheFullPageContent]").click(function() {
                ccm_settingsSetupCacheForm();
            });
            $("input[name=cCacheFullPageContentOverrideLifetime]").click(function() {
                ccm_settingsSetupCacheForm();
            });
            $("input[name=cCacheFullPageContentOverrideLifetime][value=custom]").click(function() {
                $('input[name=cCacheFullPageContentLifetimeCustom]').get(0).focus();
            });
            ccm_settingsSetupCacheForm();
            $("#ccm-<?php echo $searchInstance?>-speed-settings-form").ajaxForm({
                type: 'POST',
                iframe: true,
                beforeSubmit: function() {
                    jQuery.fn.dialog.showLoader();
                },
                success: function(r) {
                    ccm_parseJSON(r, function() {
                        jQuery.fn.dialog.closeTop();
                        jQuery.fn.dialog.hideLoader();
                        ccm_deactivateSearchResults('<?php echo $searchInstance?>');
                        ConcreteAlert.notify({
                        'message': ccmi18n.saveSpeedSettingsMsg,
                        'title': ccmi18n.properties
                        });
                        $("#ccm-<?php echo $searchInstance?>-advanced-search").ajaxSubmit(function(r) {
                            ccm_parseAdvancedSearchResponse(r, '<?php echo $searchInstance?>');
                        });
                    });
                }
            });
        });
    </script>
Онлайн: 1
Реклама