View source
<?php
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,
),
);
}
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;
}
}
function popup_filter_filter_tips($delta, $format, $long = FALSE) {
return '[popup] tags are converted into popup content';
}
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'];
}
}
}