You are here

function page_theme_admin_overview in Page Theme 7.2

Same name and namespace in other branches
  1. 6 page_theme.admin.inc \page_theme_admin_overview()
  2. 7 page_theme.admin.inc \page_theme_admin_overview()

Menu callback; lists all defined rules.

1 string reference to 'page_theme_admin_overview'
page_theme_menu in ./page_theme.module
Implements hook_menu().

File

./page_theme.admin.inc, line 12
Admin page callbacks for the page_theme module.

Code

function page_theme_admin_overview($form, &$form_state) {
  $rules = array();
  $result = db_query('SELECT * FROM {page_theme} ORDER BY weight, rule');
  foreach ($result as $rule) {
    $row['name'] = array(
      '#markup' => check_plain($rule->name) . '<br><small>' . t('(Machine name: @rule)', array(
        '@rule' => $rule->rule,
      )) . '</small>',
    );
    $row['theme'] = array(
      '#markup' => page_theme_get_theme_name($rule->theme, TRUE),
    );
    $row['pages'] = array(
      '#markup' => nl2br(check_plain($rule->pages)),
    );
    $row['roles'] = array(
      '#markup' => theme('item_list', array(
        'items' => array_map('check_plain', page_theme_get_rule_roles($rule)),
      )),
    );
    $row['status'] = array(
      '#type' => 'checkbox',
      '#default_value' => $rule->status,
    );
    $row['weight'] = array(
      '#type' => 'weight',
      '#default_value' => $rule->weight,
      '#delta' => 50,
    );
    $row['configure'] = array(
      '#markup' => l(t('configure'), 'admin/appearance/page-theme/manage/' . strtr($rule->rule, array(
        '_' => '-',
      )) . '/configure'),
    );
    $row['delete'] = array(
      '#markup' => l(t('delete'), 'admin/appearance/page-theme/manage/' . strtr($rule->rule, array(
        '_' => '-',
      )) . '/delete'),
    );
    $rules[$rule->ptid] = $row;
  }
  $form['rules'] = array(
    '#tree' => TRUE,
  );
  $form['rules'] += $rules;
  $form['actions'] = array(
    '#type' => 'actions',
  );
  $form['actions']['submit'] = array(
    '#type' => 'submit',
    '#value' => t('Save configuration'),
  );
  return $form;
}