|
|
@@ -288,9 +288,9 @@ The "call-by-reference" indicator "&" has to be removed from parameters
|
|
|
which are known to be passed as objects (by reference).
|
|
|
|
|
|
Index: sites/all/modules/diff/diff.module
|
|
|
---- sites/all/modules/diff/diff.module.orig 2008-05-22 21:07:11.000000000 +0200
|
|
|
-+++ sites/all/modules/diff/diff.module 2010-03-18 15:17:25.000000000 +0100
|
|
|
-@@ -42,7 +42,7 @@
|
|
|
+--- sites/all/modules/diff/diff.module.orig 2010-08-12 18:34:08.000000000 +0200
|
|
|
++++ sites/all/modules/diff/diff.module 2010-08-13 14:18:26.000000000 +0200
|
|
|
+@@ -87,7 +87,7 @@
|
|
|
/**
|
|
|
* Implementation of hook_menu_alter().
|
|
|
*/
|
|
|
@@ -299,93 +299,40 @@ Index: sites/all/modules/diff/diff.module
|
|
|
// Overwrite the default 'Revisions' page
|
|
|
$callbacks['node/%node/revisions']['page callback'] = 'diff_diffs_overview';
|
|
|
$callbacks['node/%node/revisions']['module'] = 'diff';
|
|
|
-@@ -53,7 +53,7 @@
|
|
|
- * Generate an overview table of older revisions of a node and provide
|
|
|
- * an input form to select two revisions for a comparison.
|
|
|
- */
|
|
|
--function diff_diffs_overview(&$node) {
|
|
|
-+function diff_diffs_overview($node) {
|
|
|
- $output = '';
|
|
|
-
|
|
|
- drupal_set_title(t('Revisions for %title', array('%title' => $node->title)));
|
|
|
-@@ -68,7 +68,7 @@
|
|
|
- * @param $node
|
|
|
- * Node whose revisions are displayed for selection.
|
|
|
- */
|
|
|
--function diff_node_revisions($form_state, &$node) {
|
|
|
-+function diff_node_revisions($form_state, $node) {
|
|
|
- global $form_values;
|
|
|
- $form = array();
|
|
|
-
|
|
|
-@@ -206,7 +206,7 @@
|
|
|
+@@ -133,7 +133,7 @@
|
|
|
/**
|
|
|
- * Submit code for input form to select two revisions.
|
|
|
+ * Implementation of hook_nodeapi().
|
|
|
*/
|
|
|
--function diff_node_revisions_submit($form, &$form_state) {
|
|
|
-+function diff_node_revisions_submit($form, $form_state) {
|
|
|
- // the ids are ordered so the old revision is always on the left
|
|
|
- $old_vid = min($form_state['values']['old'], $form_state['values']['new']);
|
|
|
- $new_vid = max($form_state['values']['old'], $form_state['values']['new']);
|
|
|
-@@ -216,7 +216,7 @@
|
|
|
+-function diff_nodeapi(&$node, $op, $teaser, $page) {
|
|
|
++function diff_nodeapi($node, $op, $teaser, $page) {
|
|
|
+ if ($page && $op == 'view' && user_access('view revisions') && variable_get('show_diff_inline_'. $node->type, FALSE)) {
|
|
|
+ // Ugly but cheap way to check that we are viewing a node's revision page.
|
|
|
+ if (arg(2) === 'revisions' && arg(3) === $node->vid) {
|
|
|
+@@ -149,7 +149,7 @@
|
|
|
/**
|
|
|
- * Validation for input form to select two revisions.
|
|
|
- */
|
|
|
--function diff_node_revisions_validate($form, &$form_state) {
|
|
|
-+function diff_node_revisions_validate($form, $form_state) {
|
|
|
- $old_vid = $form_state['values']['old'];
|
|
|
- $new_vid = $form_state['values']['new'];
|
|
|
- if ($old_vid==$new_vid || !$old_vid || !$new_vid) {
|
|
|
-@@ -235,7 +235,7 @@
|
|
|
- * @param $new_vid
|
|
|
- * Version ID of the new revision.
|
|
|
- */
|
|
|
--function diff_diffs_show(&$node, $old_vid, $new_vid) {
|
|
|
-+function diff_diffs_show($node, $old_vid, $new_vid) {
|
|
|
-
|
|
|
- // Set same title as on the 'Revisions' tab for consistency
|
|
|
- drupal_set_title(t('Revisions for %title', array('%title' => $node->title)));
|
|
|
-@@ -324,7 +324,7 @@
|
|
|
- * @param $new_node
|
|
|
- * Node for comparison which will be displayed on the right side.
|
|
|
- */
|
|
|
--function _diff_body_rows(&$old_node, &$new_node) {
|
|
|
-+function _diff_body_rows($old_node, $new_node) {
|
|
|
- drupal_add_css(drupal_get_path('module', 'diff') .'/diff.css', 'module', 'all', FALSE);
|
|
|
- include_once('DiffEngine.php');
|
|
|
- include_once('node.inc');
|
|
|
-@@ -409,7 +409,7 @@
|
|
|
- * @param $vid
|
|
|
- * Version ID to look for.
|
|
|
- */
|
|
|
--function _diff_get_next_vid(&$node_revisions, $vid) {
|
|
|
-+function _diff_get_next_vid($node_revisions, $vid) {
|
|
|
- $previous = NULL;
|
|
|
- foreach ($node_revisions as $revision) {
|
|
|
- if ($revision->vid == $vid) {
|
|
|
-@@ -429,7 +429,7 @@
|
|
|
- * @param $vid
|
|
|
- * Version ID to look for.
|
|
|
- */
|
|
|
--function _diff_get_previous_vid(&$node_revisions, $vid) {
|
|
|
-+function _diff_get_previous_vid($node_revisions, $vid) {
|
|
|
- $previous = NULL;
|
|
|
- foreach ($node_revisions as $revision) {
|
|
|
- if ($previous && $previous->vid == $vid) {
|
|
|
-@@ -444,7 +444,7 @@
|
|
|
* Implementation of hook_form_alter().
|
|
|
- * Used to add a 'Preview changes' button on the node edit form.
|
|
|
*/
|
|
|
-function diff_form_alter(&$form, $form_state, $form_id) {
|
|
|
+function diff_form_alter($form, $form_state, $form_id) {
|
|
|
if (isset($form['type']['#value']) && $form['type']['#value'] .'_node_form' == $form_id) {
|
|
|
- // Node editing form.
|
|
|
- // Add a 'Preview changes' button.
|
|
|
-@@ -473,7 +473,7 @@
|
|
|
+ // Add a 'View changes' button on the node edit form.
|
|
|
+ if (variable_get('show_preview_changes_'. $form['type']['#value'], TRUE) && $form['nid']['#value'] > 0) {
|
|
|
+@@ -194,7 +194,7 @@
|
|
|
/**
|
|
|
- * Callback if 'Preview changes' is pressed.
|
|
|
+ * Callback if 'View changes' is pressed.
|
|
|
*/
|
|
|
-function diff_node_form_build_preview_changes($form, &$form_state) {
|
|
|
+function diff_node_form_build_preview_changes($form, $form_state) {
|
|
|
+ module_load_include('inc', 'diff', 'diff.pages');
|
|
|
$node = node_form_submit_build_node($form, $form_state);
|
|
|
|
|
|
- // Create diff of old node and edited node
|
|
|
+@@ -323,7 +323,7 @@
|
|
|
+ /**
|
|
|
+ * Form submission handler for diff_inline_form() for JS-disabled clients.
|
|
|
+ */
|
|
|
+-function diff_inline_form_submit(&$form, &$form_state) {
|
|
|
++function diff_inline_form_submit($form, $form_state) {
|
|
|
+ if (isset($form_state['values']['revision'], $form_state['values']['node'])) {
|
|
|
+ $node = $form_state['values']['node'];
|
|
|
+ $vid = $form_state['values']['revision'];
|
|
|
+
|