コード例 #1
0
/**
 * Implements hook_block_view_MODULE_DELTA_alter().
 */
function bootstrap_subtheme_block_view_api_navigation_alter(&$data, $block)
{
    $branch = api_get_active_branch();
    if (user_access('access API reference') && !empty($branch)) {
        // Figure out if this is the default branch for this project, the same
        // way the menu system decides.
        $branches = api_get_branches();
        $projects = _api_make_menu_projects();
        $is_default = $branch->branch_name === $projects[$branch->project]['use branch'];
        $suffix = $is_default ? '' : '/' . $branch->branch_name;
        $types = array('groups' => t('Topics'), 'classes' => t('Classes'), 'functions' => t('Functions'), 'files' => t('Files'), 'namespaces' => t('Namespaces'), 'services' => t('Services'), 'constants' => t('Constants'), 'globals' => t('Globals'), 'deprecated' => t('Deprecated'));
        $links = array('#theme_wrappers' => array('container__api__navigation'), '#attributes' => array('class' => array('list-group')));
        $current_path = current_path();
        $counts = api_listing_counts($branch);
        $item = _db_api_active_item();
        foreach ($types as $type => $title) {
            if ($type === '' || $counts[$type] > 0) {
                $branch_path = 'api/' . $branch->project;
                $path = $branch_path;
                if ($type) {
                    $path .= "/{$type}";
                    $title = '<span class="badge">' . $counts[$type] . '</span>' . $title;
                }
                $path .= $suffix;
                $class = array('list-group-item');
                if ($type || $type === '' && !$counts['groups']) {
                    if ($type === 'groups') {
                        $path = $branch_path . $suffix;
                    }
                    if ($path === $current_path || $item && preg_match('/^' . $item->object_type . '/', $type)) {
                        $class[] = 'active';
                    }
                    $links[] = array('#theme' => 'link__api__navigation_link', '#text' => $title, '#path' => $path, '#options' => array('html' => TRUE, 'attributes' => array('class' => $class)));
                } else {
                    $links[] = array('#theme' => 'html_tag__api__navigation_link', '#tag' => 'div', '#value' => $title, '#attributes' => array('class' => $class));
                }
            }
        }
        $items = array();
        foreach ($branches as $obj) {
            $is_default = $obj->branch_name === $projects[$obj->project]['use branch'];
            $suffix = $is_default ? '' : '/' . $obj->branch_name;
            $items[] = array('#theme' => 'link', '#text' => $obj->title, '#path' => 'api/' . $obj->project . $suffix, '#options' => array('html' => FALSE, 'attributes' => array()), '#active' => $branch->branch_name === $obj->branch_name);
        }
        $data = array('subject' => t('API Navigation'), 'content' => array('links' => $links, 'branches' => array('#theme' => 'bootstrap_dropdown', '#toggle' => array('#theme' => 'button', '#button_type' => 'button', '#value' => t('Projects') . ' <span class="caret"></span>', '#attributes' => array('class' => array('btn-default', 'btn-block'))), '#items' => $items)));
    }
}
コード例 #2
0
 * @file
 * Displays a branch overview page.
 *
 * Available variables:
 * - $branch: Information about the branch to display an overview of.
 *
 * Available variables in the $branch object:
 * - $branch->project: The machine name of the branch.
 * - $branch->title: A proper title for the branch.
 * - $branch->directories: The local included directories.
 * - $branch->excluded_directories: The local excluded directories.
 *
 * @ingroup themeable
 */
if (!empty($branch)) {
    $counts = api_listing_counts($branch);
    if ($counts['groups'] > 0) {
        ?>
  <h3><?php 
        print l(t('Topics'), 'api/' . $branch->project . '/groups/' . $branch->branch_name);
        ?>
</h3>
  <?php 
        $out = api_page_listing($branch, 'group', FALSE);
        print drupal_render($out);
    }
    if ($counts['files'] > 0) {
        ?>
  <h3><?php 
        print l(t('Files'), 'api/' . $branch->project . '/files/' . $branch->branch_name);
        ?>