From db55c269da3089b1b18d428793143a4786ffe1c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Hojtsy?= Date: Wed, 9 Jan 2008 12:10:04 +0000 Subject: #201667 by theborg, quicksketch, gpk, catch: fix bugs with teaser splitter in JS and no-JS mode --- modules/node/node.pages.inc | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) (limited to 'modules/node/node.pages.inc') diff --git a/modules/node/node.pages.inc b/modules/node/node.pages.inc index 7c667498e..ab0ae912a 100644 --- a/modules/node/node.pages.inc +++ b/modules/node/node.pages.inc @@ -262,7 +262,7 @@ function node_body_field(&$node, $label, $word_count) { $include = !isset($node->teaser) || ($node->teaser == substr($node->body, 0, strlen($node->teaser))); $form = array( - '#after_build' => array('node_teaser_js')); + '#after_build' => array('node_teaser_js', 'node_teaser_include_verify')); $form['#prefix'] = '
'; $form['#suffix'] = '
'; @@ -414,7 +414,22 @@ function node_preview($node) { */ function theme_node_preview($node) { $output = '
'; - if (!empty($node->teaser) && !empty($node->body) && $node->teaser != $node->body) { + + $preview_trimmed_version = FALSE; + // Do we need to preview trimmed version of post as well as full version? + if (isset($node->teaser) && isset($node->body)) { + $teaser = trim($node->teaser); + $body = trim(str_replace('', '', $node->body)); + + // Preview trimmed version if teaser and body will appear different; + // also (edge case) if both teaser and body have been specified by the user + // and are actually the same. + if ($teaser != $body || ($body && strpos($node->body, '') === 0)) { + $preview_trimmed_version = TRUE; + } + } + + if ($preview_trimmed_version) { drupal_set_message(t('The trimmed version of your post shows what your post looks like when promoted to the main page or when exported for syndication. You can insert the delimiter "<!--break-->" (without the quotes) to fine-tune where your post gets split.')); $output .= '

'. t('Preview trimmed version') .'

'; $output .= node_view(drupal_clone($node), 1, FALSE, 0); -- cgit v1.2.3