get_categories(); // Display types: $view_fields = Array( '' => 'All', 'categorized' => 'Categorized' ); $filter_fields = Array( 'std-proposal' => 'Standard Proposals', 'std-tr1' => 'TR1 libraries', 'header-only' => '[old]', 'autolink' => '[old]'); $sort_fields = Array( 'name' => 'Name', 'boost-version' => 'First Release', 'std-proposal' => 'STD Proposal', 'std-tr1' => 'STD::TR1', 'key' => 'Key' ); $display_sort_fields = Array( '' => 'Name', 'boost-version' => 'First Release' ); // View $view_value = isset($_GET['view']) ? $_GET['view'] : ''; $category_value = ''; $filter_value = ''; if(strpos($view_value, 'filtered_') === 0) { $filter_value = substr($view_value, strlen('filtered_')); if(!isset($filter_fields[$filter_value])) { echo 'Invalid filter field.'; exit(0); } if ($filter_fields[$filter_value] == '[old]') { echo 'Filter field no longer supported.'; exit(0); } } else if(strpos($view_value, 'category_') === 0) { $category_value = substr($view_value, strlen('category_')); if(!isset($categories[$category_value])) { echo 'Invalid category: '.htmlentities($category_value); exit(0); } } else { $filter_value = ''; if(!isset($view_fields[$view_value])) { echo 'Invalid view value.'; exit(0); } } // Sort $sort_value = isset($_GET['sort']) && $_GET['sort'] ? $_GET['sort'] : 'name'; if(!isset($sort_fields[$sort_value])) { echo 'Invalid sort field.'; exit(0); } // Page title $page_title = boost_title().' Library Documentation'; if($category_value) $page_title.= ' - '. $categories[$category_value]['title']; // Functions function library_filter($lib) { global $filter_value, $category_value; return BoostVersion::page()->compare($lib['boost-version']) >= 0 && (!isset($lib['boost-min-version']) || BoostVersion::page()->compare($lib['boost-min-version']) >= 0) && (!isset($lib['boost-max-version']) || BoostVersion::page()->compare($lib['boost-max-version']) <= 0) && (!$filter_value || ($lib[$filter_value] && $lib[$filter_value] !== 'false')) && (!isset($_GET['filter']) || $lib[$_GET['filter']]) && (!$category_value || $category_value === 'all' || array_search($category_value, $lib['category']) !== FALSE); } // Library display functions: function libref($lib) { if (isset($lib['documentation']) && $lib['documentation'] != '') { if (isset($_SERVER["PATH_INFO"]) && $_SERVER["PATH_INFO"] != '' && $_SERVER["PATH_INFO"] != '/') { $docref = '/doc/libs'.$_SERVER["PATH_INFO"].'/'.$lib['documentation']; } else { $docref = '/doc/libs/release/'.$lib['documentation']; } print ''.($lib['name'] ? $lib['name'] : $lib['key']).''; } else { print ($lib['name'] ? $lib['name'] : $lib['key']); } if (!empty($lib['status'])) { print ' ('.htmlentities($lib['status']).')'; } } function libauthors($lib) { print ($lib['authors'] ? $lib['authors'] : ' '); } function libavailable($lib) { print ($lib['boost-version'] ? "{$lib['boost-version']}" : ' '); } function libstandard($lib) { $p = array(); if ($lib['std-proposal']) { $p[] = 'Proposed'; } if ($lib['std-tr1']) { $p[] = 'TR1'; } print ($p ? implode(', ',$p) : ' '); } function libcategories($lib, $categories) { $first = true; if($lib['category']) { foreach($lib['category'] as $category_name) { if(!$first) echo ', '; $first = false; category_link($category_name, $categories[$category_name]); } } if($first) echo ' '; } function option_link($description, $field, $value) { $base_uri = preg_replace('![#?].*!', '', $_SERVER['REQUEST_URI']); $current_value = isset($_GET[$field]) ? $_GET[$field] : ''; if($current_value == $value) { echo ''; } else { $params = $_GET; $params[$field] = $value; $url_params = ''; foreach($params as $k => $v) { if($v) { $url_params .= $url_params ? '&' : '?'; $url_params .= urlencode($k) . '='. urlencode($v); } } echo ''; } echo htmlentities($description); if($current_value == $value) { echo ''; } else { echo ''; } } function category_link($name, $category) { option_link( isset($category['title']) ? $category['title'] : $name, 'view', 'category_'.$name); } ?> <?php echo htmlentities($page_title); ?>

Sort by:
', htmlentities($categories[$category_value]['title']), ''; ?>
get($sort_value, 'library_filter') as $lib) { ?>

Author(s)
First Release
Standard
Categories

By Category

get_categorized($sort_value, 'library_filter') as $name => $category) { if(count($category['libraries'])) {?>

  • :