query_string_exists.inc 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. <?php
  2. /**
  3. * @file
  4. * Plugin for controlling access based on the existence of a query string.
  5. */
  6. $plugin = array(
  7. 'title' => t('Query string exists'),
  8. 'description' => t('Control access by whether or not a query string exists.'),
  9. 'callback' => 'ctools_query_string_exists_ctools_access_check',
  10. 'settings form' => 'ctools_query_string_exists_ctools_access_settings',
  11. 'summary' => 'ctools_query_string_exists_ctools_access_summary',
  12. 'defaults' => array('key' => ''),
  13. );
  14. /**
  15. * Settings form.
  16. */
  17. function ctools_query_string_exists_ctools_access_settings($form, &$form_state, $config) {
  18. $form['settings']['key'] = array(
  19. '#title' => t('Query string key'),
  20. '#description' => t('Enter the key of the query string.'),
  21. '#type' => 'textfield',
  22. '#required' => TRUE,
  23. '#default_value' => $config['key']
  24. );
  25. return $form;
  26. }
  27. /**
  28. * Check for access.
  29. */
  30. function ctools_query_string_exists_ctools_access_check($config, $context) {
  31. return isset($_GET[$config['key']]);
  32. }
  33. /**
  34. * Provide a summary description.
  35. */
  36. function ctools_query_string_exists_ctools_access_summary($config, $context) {
  37. return t('@identifier exists', array('@identifier' => $config['key']));
  38. }