function panels_skinr_access_handler_display in Skinr 6
Same name and namespace in other branches
- 6.2 modules/panels.skinr.inc \panels_skinr_access_handler_display()
Skinr access handler.
Parameters
$op: What kind of action is being performed. Possible values:
- "access skinr": access to edit skinr's selector
- "access skinr classes": access to edit skinr's additional classes
&$form: Passes in the $form parameter from hook_form_alter().
$form_state: Passes in the $form_state parameter from hook_form_alter().
Return value
TRUE if we get access, FALSE if we don't.
Related topics
1 string reference to 'panels_skinr_access_handler_display'
- panels_skinr_data in modules/panels.skinr.inc 
- Implementation of hook_skinr_data().
File
- modules/panels.skinr.inc, line 93 
- Provide skinr handling for panels.module.
Code
function panels_skinr_access_handler_display($op, &$form, $form_state) {
  // We don't want the skinr settings form to appear on this form. We only want
  // to intercept it so we can save our cached data.
  // Since we're not using the form, we won't get our form submitter, so let's
  // add it manually.
  $form_id = $form['form_id']['#value'];
  switch ($form_id) {
    case 'panels_panel_context_edit_content':
      // Update and save button
      // Only add submit handler once.
      if (!in_array('skinr_form_submit', $form['#submit'])) {
        $form['#submit'][] = 'skinr_form_submit';
      }
      break;
    case 'page_manager_save_page_form':
      // Submitting a panel page.
      // Only add submit handler once.
      if (!in_array('skinr_form_submit', $form['#submit'])) {
        $form['#submit'][] = 'skinr_form_submit';
      }
      if (isset($form['save']['#submit']) && !in_array('skinr_form_submit', $form['save']['#submit'])) {
        $form['save']['#submit'][] = 'skinr_form_submit';
      }
      if (isset($form['cancel']['#submit']) && !in_array('skinr_form_submit', $form['cancel']['#submit'])) {
        $form['cancel']['#submit'][] = 'skinr_form_submit';
      }
      break;
    case 'panels_edit_display_form':
      // Only add submit handler once.
      if (!in_array('skinr_form_submit', $form['#submit'])) {
        $form['#submit'][] = 'skinr_form_submit';
      }
      if (isset($form['buttons']['submit']['#submit']) && !in_array('skinr_form_submit', $form['buttons']['submit']['#submit'])) {
        $form['buttons']['submit']['#submit'][] = 'skinr_form_submit';
      }
      break;
    default:
      // We only want to save or cancel on these other forms if we're dealing with a panel_page.
      if ($form_state['task']['name'] == 'panel_page') {
        // Only add submit handler once
        if (!in_array('skinr_form_submit', $form['#submit'])) {
          $form['#submit'][] = 'skinr_form_submit';
        }
        if (isset($form['buttons']['cancel']['#submit']) && !in_array('skinr_form_submit', $form['buttons']['cancel']['#submit'])) {
          $form['buttons']['cancel']['#submit'][] = 'skinr_form_submit';
        }
      }
      break;
  }
  return FALSE;
}