You are here

popup_filter.module in Popup 6.x

File

modules/popup_filter/popup_filter.module
View source
<?php

// $Id:

/* ----- Hook implementation ---- */

/**
 * Implementation of hook_menu
 */
function popup_filter_menu() {
  $path = drupal_get_path('module', 'popup_filter');
  return array(
    'ajax/popup-filter/getnode' => array(
      'access arguments' => array(
        'administer popup elements',
      ),
      'file' => 'popup_filter.admin.inc',
      'file path' => $path . '/includes',
      'page callback' => 'popup_filter_ajax_getnode',
      'type' => MENU_CALLBACK,
    ),
    'ajax/popup-filter/getdeltas' => array(
      'access arguments' => array(
        'administer popup elements',
      ),
      'file' => 'popup_filter.admin.inc',
      'file path' => $path . '/includes',
      'page callback' => 'popup_filter_ajax_getdeltas',
      'type' => MENU_CALLBACK,
    ),
    'ajax/popup-filter/getdisplays' => array(
      'access arguments' => array(
        'administer popup elements',
      ),
      'file' => 'popup_filter.admin.inc',
      'file path' => $path . '/includes',
      'page callback' => 'popup_filter_ajax_getdisplays',
      'type' => MENU_CALLBACK,
    ),
  );
}

/**
 * Implementation of hook_filter
 */
function popup_filter_filter($op, $delta = 0, $format = -1, $text = '') {
  switch ($op) {
    case 'list':
      return array(
        t('Popup content filter'),
      );
    case 'description':
      return t('Replaces [popup] tags with popup content');
    case 'settings':
      break;
    case 'no cache':
      return TRUE;
    case 'prepare':
      return $text;
    case 'process':
      module_load_include('inc', 'popup_filter', 'includes/popup_filter.processing');
      return popup_filter_process_text($text);
    default:
      return $text;
  }
}

/**
 * Implementation of hook_filter_tips
 */
function popup_filter_filter_tips($delta, $format, $long = FALSE) {
  return '[popup] tags are converted into popup content';
}

/**
 * Implementation of hook_form_alter
 *
 * Hooked to ad popup filter form to the bottom of filtered inputs
 *
 * @param $form
 * @param $form_state
 * @param $form_id
 */
function popup_filter_form_alter(&$form, &$form_state, $form_id) {
  if (user_access('administer popup elements') && ($form['#id'] == 'node-form' || $form['#id'] == 'block-add-block-form' || $form['#id'] == 'block-admin-configure')) {
    module_load_include('inc', 'popup', 'includes/popup.api');
    module_load_include('inc', 'popup_filter', 'includes/popup_filter.admin');
    $attributes = array(
      'activate' => 'click',
      'class' => 'popup-filter-admin-form',
      'close' => TRUE,
      'effect' => 'slide-down-fade',
      'expand' => 'top-right',
      'origin' => 'top-left',
      'width' => 650,
    );
    $popup_form = popup_filter_insert_form();
    $popup_form = popup_element(t('Insert popup element'), $popup_form, $attributes);
    if ($form['#id'] == 'node-form') {
      $form['body_field']['body']['#suffix'] = $popup_form . $form['body_field']['body']['#suffix'];
    }
    else {
      $form['block_settings']['body_field']['body']['#suffix'] = $popup_form . $form['block_settings']['body_field']['body']['#suffix'];
    }
  }
}

Functions

Namesort descending Description
popup_filter_filter Implementation of hook_filter
popup_filter_filter_tips Implementation of hook_filter_tips
popup_filter_form_alter Implementation of hook_form_alter
popup_filter_menu Implementation of hook_menu