Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function node_form_add_preview($form) {
- global $form_values;
- $op = isset($form_values['op']) ? $form_values['op'] : '';
- if ($op == t('Preview')) {
- // Invoke full validation for the form, to protect against cross site
- // request forgeries (CSRF) and setting arbitrary values for fields such as
- // the input format. Preview the node only when form validation does not
- // set any errors.
- drupal_validate_form($form['form_id']['#value'], $form);
- if (!form_get_errors()) {
- // Because the node preview may display a form, we must render it
- // outside the node submission form tags using the #prefix property
- // (i.e. to prevent illegally nested forms).
- // If the node form already has a #prefix, we must preserve it.
- // In this case, we put the preview before the #prefix so we keep
- // the #prefix as "close" to the rest of the form as possible,
- // for example, to keep a <div> only around the form, not the
- // preview. We pass the global $form_values here to preserve
- // changes made during form validation.
- $preview = node_preview((object)$form_values);
- $form['#prefix'] = isset($form['#prefix']) ? $preview . $form['#prefix'] : $preview;
- }
- }
- if (variable_get('node_preview', 0) && (form_get_errors() || $op != t('Preview'))) {
- unset($form['submit']);
- }
- return $form;
- }
Add Comment
Please, Sign In to add comment