Skip to content
Snippets Groups Projects
Select Git revision
  • 24a9bfa7585f0e9dbd0cecd1a0b71a1d1f037150
  • 8.x-1.x default
  • 7.x-1.x
  • 6.x-1.x
  • 4.7.x-1.x
  • 5.x-1.x
  • 7.x-1.2
  • 7.x-1.1
  • 6.x-1.22
  • 7.x-1.0
  • 7.x-1.0-beta3
  • 6.x-1.21
  • 7.x-1.0-beta2
  • 6.x-1.19-beta1
  • 6.x-1.20
  • 6.x-1.19
  • 7.x-1.0-beta1
  • 6.x-1.18
  • 6.x-1.17
  • 6.x-1.16
  • 6.x-1.15
  • 6.x-1.14
  • 6.x-1.13
  • 6.x-1.12
  • 6.x-1.11
  • 6.x-1.1
26 results

boost.admin.inc

  • Mike Carper's avatar
    #325813: add in 2 expiration settings & rework some functions.
    Mike Carper authored
    24a9bfa7
    History
    Code owners
    Assign users and groups as approvers for specific file changes. Learn more.
    boost.admin.inc 4.78 KiB
    <?php
    // $Id$
    
    /**
     * @file
     * Admin page callbacks for the boost module.
     */
    
    /**
     * Form builder; Configure boost settings.
     *
     * @ingroup forms
     * @see system_settings_form()
     */
    function boost_admin_settings() {
      drupal_add_js(drupal_get_path('module', 'system') . '/system.js');
    
      $form['cacheability'] = array(
        '#type'          => 'fieldset',
        '#title'         => t('Boost cacheability settings'),
      );
      // See http://api.drupal.org/api/function/block_admin_configure/7
      $access = user_access('use PHP for settings');
      $options = array(
        BLOCK_VISIBILITY_NOTLISTED => t('All pages except those listed'),
        BLOCK_VISIBILITY_LISTED => t('Only the listed pages'),
      );
      $description = t("Specify pages by using their paths. Enter one path per line. The '*' character is a wildcard. Example paths are %blog for the blog page and %blog-wildcard for every personal blog. %front is the front page.", array('%blog' => 'blog', '%blog-wildcard' => 'blog/*', '%front' => '<front>'));
      if (module_exists('php') && $access) {
        $options += array(BLOCK_VISIBILITY_PHP => t('Pages on which this PHP code returns <code>TRUE</code> (experts only)'));
        $title = t('Pages or PHP code');
        $description .= ' ' . t('If the PHP option is chosen, enter PHP code between %php. Note that executing incorrect PHP code can break your Drupal site.', array('%php' => '<?php ?>'));
      }
      else {
        $title = t('Pages');
      }
      $form['cacheability']['boost_cacheability_option'] = array(
        '#type' => 'radios',
        '#title' => t('Cache specific pages'),
        '#options' => $options,
        '#default_value' => variable_get('boost_cacheability_option', BLOCK_VISIBILITY_NOTLISTED),
      );
      $form['cacheability']['boost_cacheability_pages'] = array(
        '#type' => 'textarea',
        '#title' => '<span class="element-invisible">' . $title . '</span>',
        '#default_value' => variable_get('boost_cacheability_pages', BOOST_CACHEABILITY_PAGES),
        '#description' => $description,
      );
    
    
      $types = boost_get_storage_types();
      $period = drupal_map_assoc(array(0, 60, 180, 300, 600, 900, 1800, 2700, 3600, 10800, 21600, 32400, 43200, 64800, 86400, 2*86400, 3*86400, 4*86400, 5*86400, 6*86400, 604800, 2*604800, 3*604800, 4*604800, 8*604800, 16*604800, 52*604800), 'format_interval');
    
      $form['cache_types'] = array(
        '#type'          => 'fieldset',
        '#title'         => t('Boost cache type settings'),
      );
      foreach ($types as $title => $content_types) {
        $form['cache_types'][$title] = array(
          '#type'          => 'fieldset',
          '#title'         => t('@title settings', array('@title' => $title)),
          '#collapsible' => TRUE,
        );
        $collapsed = TRUE;
        foreach ($content_types as $type => $values) {
          $form['cache_types'][$title][$type] = array(
            '#type'           => 'fieldset',
            '#title'          => t('@type settings', array('@type' => $type)),
            '#description'    => t('Cache @description of type @type',
              array(
                '@description' => $values['description'],
                '@type' => $type,
              )
            ),
          );
          // This content type enabled?
          $form['cache_types'][$title][$type]['boost_enabled_' . $type] = array(
            '#type'          => 'checkbox',
            '#title'         => t('Cache Enabled'),
            '#default_value' => $values['enabled'],
          );
    
          // Content type extension
          $form['cache_types'][$title][$type]['boost_extension_' . $type] = array(
            '#type'          => 'textfield',
            '#title'         => t('Filename Extension',
              array(
                '@title' => $title,
                '@description' => $values['description'],
                '@type' => $type,
              )
            ),
            '#default_value' => $values['extension'],
          );
    
          // Maximum cache lifetime
          $form['cache_types'][$title][$type]['boost_lifetime_max_' . $type] = array(
            '#type'          => 'select',
            '#options' => $period,
            '#title'         => t('@type - Maximum Cache Lifetime',
              array(
                '@title' => $title,
                '@description' => $values['description'],
                '@type' => $type,
              )
            ),
            '#default_value' => $values['lifetime_max'],
          );
    
          // Minimum cache lifetime
          $form['cache_types'][$title][$type]['boost_lifetime_min_' . $type] = array(
            '#type'          => 'select',
            '#options' => $period,
            '#title'         => t('@type - Minimum Cache Lifetime',
              array(
                '@title' => $title,
                '@description' => $values['description'],
                '@type' => $type,
              )
            ),
            '#default_value' => $values['lifetime_min'],
          );
          if ($values['enabled']) {
            $collapsed = !$values['enabled'];
          }
        }
        $form['cache_types'][$title]['#collapsed'] = $collapsed;
      }
    
      return system_settings_form($form);
    }