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 Внутреннее имя, используемое для обращения к элементу подтверждения.

Возвращаемое значение

Массив, описывающий форму.

Связанные темы

▾ 34 функции вызывают confirm_form()

aggregator_admin_remove_feed in modules/aggregator/aggregator.admin.inc
block_box_delete in modules/block/block.admin.inc
Коллбэк меню; подтверждение удаления блока.
book_remove_form in modules/book/book.pages.inc
Menu callback; builds a form to confirm removal of a node from the book. See alsobook_remove_form_submit()
comment_confirm_delete in modules/comment/comment.admin.inc
Конструктор формы. Формирует форму подтверждения удаления единственного комментария.
comment_multiple_delete_confirm in modules/comment/comment.admin.inc
List the selected comments and verify that the admin really wants to delete them.
contact_admin_delete in modules/contact/contact.admin.inc
Коллбэк меню. Страница удаления категорий.
filter_admin_delete in modules/filter/filter.admin.inc
Menu callback; confirm deletion of a format. See alsofilter_admin_delete_submit()
forum_confirm_delete in modules/forum/forum.admin.inc
Returns a confirmation page for deleting a forum taxonomy term.
locale_languages_delete_form in includes/locale.inc
User interface for the language deletion confirmation screen.
locale_translate_delete_form in includes/locale.inc
User interface for the string deletion confirmation screen.
menu_delete_menu_confirm in modules/menu/menu.admin.inc
Build a confirm form for deletion of a custom menu.
menu_item_delete_form in modules/menu/menu.admin.inc
Build a confirm form for deletion of a single menu link.
menu_reset_item_confirm in modules/menu/menu.admin.inc
Menu callback; reset a single modified item.
node_configure_rebuild_confirm in modules/node/node.admin.inc
Menu callback: confirm rebuilding of permissions.
node_delete_confirm in modules/node/node.pages.inc
Menu callback -- ask for confirmation of node deletion
node_multiple_delete_confirm in modules/node/node.admin.inc
node_revision_delete_confirm in modules/node/node.pages.inc
node_revision_revert_confirm in modules/node/node.pages.inc
Ask for confirmation of the reversion to prevent against CSRF attacks.
node_type_delete_confirm in modules/node/content_types.inc
Menu callback; delete a single content type.
openid_user_delete_form in modules/openid/openid.pages.inc
Present a confirmation form to delete the specified OpenID identity from the system. See alsoopenid_user_delete_form_submit()
path_admin_delete_confirm in modules/path/path.admin.inc
Menu callback; confirms deleting an URL alias
profile_field_delete in modules/profile/profile.admin.inc
Menu callback; deletes a field from all user profiles.
search_wipe_confirm in modules/search/search.admin.inc
Menu callback: confirm wiping of the index.
system_actions_delete_form in modules/system/system.module
Create the form for confirmation of deleting an action. See alsosystem_actions_delete_form_submit()
system_modules_confirm_form in modules/system/system.admin.inc
Display confirmation form for dependencies.
system_modules_uninstall_confirm_form in modules/system/system.admin.inc
Confirm uninstall of selected modules.
taxonomy_term_confirm_delete in modules/taxonomy/taxonomy.admin.inc
Form builder for the term delete form. See alsotaxonomy_term_confirm_delete_submit()
taxonomy_term_confirm_parents in modules/taxonomy/taxonomy.admin.inc
Form builder for the confirmation of multiple term parents. See alsotaxonomy_form_term()
taxonomy_vocabulary_confirm_delete in modules/taxonomy/taxonomy.admin.inc
Form builder for the vocabulary delete confirmation form. See alsotaxonomy_vocabulary_confirm_delete_submit()
taxonomy_vocabulary_confirm_reset_alphabetical in modules/taxonomy/taxonomy.admin.inc
Form builder to confirm reseting a vocabulary to alphabetical order. See alsotaxonomy_vocabulary_confirm_reset_alphabetical_submit()
trigger_unassign in modules/trigger/trigger.admin.inc
Confirm removal of an assigned action.
user_admin_access_delete_confirm in modules/user/user.admin.inc
Menu callback: delete an access rule See alsouser_admin_access_delete_confirm_submit()
user_confirm_delete in modules/user/user.pages.inc
Form builder; confirm form for user deletion. See alsouser_confirm_delete_submit()
user_multiple_delete_confirm in modules/user/user.module

Код

<?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;
}
?>
Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии

Вход в систему