function popup_element in Popup 7
Same name and namespace in other branches
- 8 includes/popup.api.inc \popup_element()
- 7.x includes/popup.api.inc \popup_element()
- 6.x includes/popup.api.inc \popup_element()
Renders a popup elements' HTML
Parameters
string $title:
string $body:
array $attributes:
This method should be used to create popups programmatically where the title and body of the popup element is known. It will automatically assign classes and default behaviors. Any additional information should be passed in attributes, eg. array('activate' => 'click')
18 calls to popup_element()
- popup in includes/
popup.api.inc - Renders a popup element using specified attributes. This method should be used to create popups programmatically.
- popup_block_preprocess_block in modules/
popup_block/ popup_block.module - popup_filter_form_alter in modules/
popup_filter/ popup_filter.module - Implementation of hook_form_alter
- popup_test_activation in modules/
popup_test/ includes/ popup_test.pages.inc - Popup test activation page
- popup_test_effects in modules/
popup_test/ includes/ popup_test.pages.inc - Popup test effects page
File
- includes/
popup.api.inc, line 190
Code
function popup_element($title, $body, $attributes = array()) {
module_load_include('inc', 'popup', 'includes/popup.util');
if (!isset($attributes['altered'])) {
drupal_alter('popup_attributes', $attributes);
}
$style = $attributes['style'] ? $attributes['style'] : variable_get('popup-style', 'White');
$attributes['style-class'] = _popup_title_to_key($style);
$style_suffix = $style ? '-' . $attributes['style-class'] : '';
$id = _popup_id($attributes['id']);
$classes = _popup_classes($attributes);
$close = $attributes['close'] && $attributes['activate'] == 'click' ? '<a class="popup-close popup-close-button"><span>[X]</span></a>' : '';
$href = isset($attributes['link']) ? 'href="' . url($attributes['link']) . '"' : '';
$keys = array_keys($attributes);
$intersect = array_intersect(array(
'node',
'block',
'form',
'view',
'php',
), $keys);
$ajax_type = @array_shift($intersect);
$popup_title = theme('popup-element-title' . $style_suffix, array(
'title' => _popup_title($title, $attributes['image']),
'class' => $classes['title'],
'href' => $href,
));
if ($attributes['ajax'] && $ajax_type) {
$body = theme('popup_ahah_placeholder', array(
'type' => $ajax_type,
'attributes' => $attributes,
));
}
else {
unset($attributes['ajax']);
}
$popup_body = strlen(trim($body)) || $attributes['empty-body'] == 'all' ? theme('popup-element-body' . $style_suffix, array(
'body' => $body,
'class' => $classes['body'],
'close' => $close,
)) : '';
return trim($body) || $attributes['empty-body'] != 'none' ? theme('popup-element' . $style_suffix, array(
'title' => $popup_title,
'body' => $popup_body,
'css_id' => $id,
'class' => $classes['element'],
'style' => $style,
)) : '';
}