confirm_form
modules/system/system.module, строка 1132
- Версии
- 5 – 6
confirm_form($form, $question, $path, $description = NULL, $yes = NULL, $no = NULL, $name = 'confirm')
Эта функция возвращает форму для подтверждения какого-либо действия. Форма содержит ссылку, по которой пользователь может перейти на другую страницу в случае отказа.
Если была вызвана функция обработки этой формы, это значит, что пользователь успешно подтвердил действие. Не используйте массив $_POST
для проверки факта подтверждения действия.
Параметры
$form
Дополнительные элементы формы, например, скрытые поля.
$question
Вопрос к пользователю (например: 'Вы действительно уверенны в том, что хотите удалить блок foo?'
).
$path
Страница, на которую перейдет пользователь в случае отказа.
Может быть как путь меню, так и ассоциативный массив с ключами 'path'
, 'query'
, 'fragment'
.
$description
Дополнительный текст (по умолчанию 'Это действие не может быть отменено.'
).
$yes
Заголовок кнопки, нажатие которой подтверждает действие (например, 'Удалить'
, 'Заменить'
, ...).
$no
Текст ссылки, отменяющей действие (например, 'Отмена'
).
$name
Внутреннее имя, используемое для обращения к элементу подтверждения.
Возвращаемое значение
Массив, описывающий форму.
Связанные темы
Код
<?php
function confirm_form($form, $question, $path, $description = NULL, $yes = NULL, $no = NULL, $name = 'confirm') {
$description = isset($description) ? $description : t('This action cannot be undone.');
// Prepare cancel link
$query = $fragment = NULL;
if (is_array($path)) {
$query = isset($path['query']) ? $path['query'] : NULL;
$fragment = isset($path['fragment']) ? $path['fragment'] : NULL;
$path = isset($path['path']) ? $path['path'] : NULL;
}
$cancel = l($no ? $no : t('Cancel'), $path, array('query' => $query, 'fragment' => $fragment));
drupal_set_title($question);
// Confirm form fails duplication check, as the form values rarely change -- so skip it.
$form['#skip_duplicate_check'] = TRUE;
$form['#attributes'] = array('class' => 'confirmation');
$form['description'] = array('#value' => $description);
$form[$name] = array('#type' => 'hidden', '#value' => 1);
$form['actions'] = array('#prefix' => '<div class="container-inline">', '#suffix' => '</div>');
$form['actions']['submit'] = array('#type' => 'submit', '#value' => $yes ? $yes : t('Confirm'));
$form['actions']['cancel'] = array('#value' => $cancel);
$form['#theme'] = 'confirm_form';
return $form;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии