Commit 1d04e048 authored by Neil Drumm's avatar Neil Drumm 👋
Browse files

Issue #2680023: Update release listing paths to project/{project short name}/releases

parent abd59c13
Loading
Loading
Loading
Loading
+26 −1
Changes for drupalorg/drupalorg.module: 26 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -3194,10 +3194,15 @@ function drupalorg_node_insert($node) {
    }
    node_save($node);
  }
  elseif (project_release_node_is_release($node) && project_release_is_security_update($node)) {
  elseif (project_release_node_is_release($node)) {
    if (project_release_is_security_update($node)) {
      drupal_mail('drupalorg', 'security_release', 'security@drupal.org', language_default(), array('node' => $node));
    }
  }
  elseif (project_node_is_project($node)) {
    _drupalorg_node_update_project($node);
  }
}

/**
 * Implements hook_node_update().
@@ -3224,6 +3229,26 @@ function drupalorg_node_update($node) {
      }
    }
  }
  elseif (project_node_is_project($node)) {
    _drupalorg_node_update_project($node);
  }
}

/**
 * Run when inserting or updating a project node.
 */
function _drupalorg_node_update_project($node) {
  // Alias release listing path for projects with releases and a machine name.
  if (!empty($node->field_project_has_releases[LANGUAGE_NONE][0]['value']) && !empty($node->field_project_machine_name[LANGUAGE_NONE][0]['value'])) {
    $path = [
      'source' => 'node/' . $node->nid . '/release',
      'alias' => 'project/' . drupal_encode_path($node->field_project_machine_name[LANGUAGE_NONE][0]['value']) . '/releases',
    ];
    if ($existing = path_load($path['source'])) {
      $path['pid'] = $existing['pid'];
    }
    path_save($path);
  }
}

/**