Drupal 7 Confirm Form

همانطور که میدانید همواره برای جلوگیری از اشتباه هنگام حذف یک داده از سایت در دروپال فرم تاییدی برای تایید عملیات نمایش داده می شود. اما سوال اینجاست که برای ماژول های اختصاصی خود چگونه این فرم تایید را نمایش دهیم؟ آیا سیستم پیش فرضی درون دروپال برای این کار وجود دارد؟

در دروپال تابع تعریف شده ای به نام `confirm_form` وجود دارد که مقدار بازگشتی آن ساختار فرم استاندارد تایید است و می توانیم از آن برای ساخت فرم تایید استفاده کنیم. در نمونه زیر که امروز برای یک ماژول نوشته بودم فرم تایید برای حذف یک داده هنگام کلیک روی لینکی نمایش داده می شود و پس از تایید داده حذف می گردد.

```

function MODULE_partnership_admin_delete_form($form, &$form_state, $id) {
$form['id'] = array(
'#type' => 'value',
'#value' => $id,
);
return confirm_form(
$form,
t('Are you sure to remove?'),
current_path(),
t('Operation can not undon'),
t('Delete'),
t('Cancel'));
}
function MODULE_partnership_admin_delete_form_submit($form, &$form_state) {
if ($form_state['values']['confirm']) {
if(db_query("DELETE FROM {m_partnership_request} WHERE psid = :id"
, array(':id'=> $form_state['values']['id']))) {
drupal_set_message(t('successfully removed'), 'success');
} else {
drupal_set_message(t('Oops! please try again'), 'error');
}
}
$form_state['redirect'] = 'admin/content/partnership';
}
function MODULE_partnership_admin_delete($id = 0) {
return drupal_get_form('MODULE_partnership_admin_delete_form', $id);
}