Commit 48b60efc authored by Neil Drumm's avatar Neil Drumm 👋
Browse files

Issue #3006207 by drumm: Maintainers block on projects should show maintainers...

Issue #3006207 by drumm: Maintainers block on projects should show maintainers of project, instead of committers
parent a831b780
Loading
Loading
Loading
Loading
+31 −3
Original line number Diff line number Diff line
@@ -1042,6 +1042,10 @@ function drupalorg_block_info() {
      'info' => t('Project star and notifications'),
      'cache' => DRUPAL_NO_CACHE,
    ],
    'project-maintainers' => [
      'info' => t('Project maintainers'),
      'cache' => DRUPAL_CACHE_PER_PAGE,
    ],
    'hosting-filter' => [
      'info' => t('Hosting listing filters'),
      'cache' => DRUPAL_NO_CACHE,
@@ -1357,6 +1361,31 @@ function drupalorg_block_view($delta, $block = NULL) {
      }
      break;

    case 'project-maintainers':
      if (($node = project_get_project_from_menu()) && node_access('view', $node)) {
        $content = [
          '#prefix' => '<div class="drupalorg-inline-collapsible"><div class="maintainers">',
          '#suffix' => '</div></div>',
        ];
        foreach (user_load_multiple(array_keys($node->project['maintainers'])) as $maintainer) {
          if (!$maintainer->status) {
            continue;
          }
          $content[] = [
            '#prefix' => '<div class="maintainer">',
            'picture' => ['#theme' => 'user_picture', '#account' => $maintainer],
            'name' => ['#markup' => '<small>' . l(format_username($maintainer), 'user/' . $maintainer->uid) . '</small>'],
            '#suffix' => '</div>',
            '#weight' => -1 * $maintainer->login,
          ];
        }
        return [
          'subject' => t('Maintainers'),
          'content' => [$content],
        ];
      }
      break;

    case 'hosting-filter':
      $base_path = menu_get_item()['path'];
      $content = [
@@ -4136,15 +4165,14 @@ function drupalorg_node_view($node, $view_mode = 'full') {
        if (isset($org_sidebar_field['terms'])) {
          $term_count = count($org_sidebar_field['terms']);
        }
        $payload = $org_sidebar_field['payload'];
        if ($term_count > 3) {
          $content['intro']['info'][] = array(
            '#markup' => '<div class="for-clicking"><h4>' . $org_sidebar_field['label'] . '</h4><div class="drupalorg-org-collapsed">' . render($payload) . '</div></div>',
            '#markup' => '<div class="drupalorg-inline-collapsible"><h4>' . $org_sidebar_field['label'] . '</h4><div>' . render($org_sidebar_field['payload']) . '</div></div>',
          );
        }
        else {
          $content['intro']['info'][] = array(
            '#markup' => '<div><h4>' . $org_sidebar_field['label'] . '</h4><div>' . render($payload) . '</div></div>',
            '#markup' => '<div><h4>' . $org_sidebar_field['label'] . '</h4><div>' . render($org_sidebar_field['payload']) . '</div></div>',
          );
        }
      }