Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions releases/.htaccess
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
Options -Multiviews

RewriteEngine On

DirectoryIndex list.php
76 changes: 76 additions & 0 deletions releases/list.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
<?php
ob_start();
session_start();

require_once('../config/constants.php');
require_once('../util/ALD.php');
require_once('../partials/Notice.php');
require_once('../modules/HttpException/HttpException.php');

for ($i = 0; $i < 1; $i++) {
$error = true;
$page_title = 'Stdlib Releases';

$api = new ALD( API_URL );
try {
$releases_versions = $api->getStdlibReleases();
} catch (HttpException $e) {
$error_message = 'Failed to retrieve release list';
$error_description = 'The list of releases could not be read. API error was: "' . $e->getMessage() . '"';
break;
}

$releases = array();
foreach ($releases_versions AS $release) {
try {
$releases[] = $api->describeStdlibRelease($release);
} catch (HttpException $e) {
$error_message = 'Failed to retrieve release details';
$error_description = 'The details on release "' . $release . '" could not be read. API error was: "' . $e->getMessage() . '"';
break;
}
}

$error = false;
}
?>
<!DOCTYPE html>
<html>
<head>
<?php require('../partials/html.head.php'); ?>
<link rel="stylesheet" type="text/css" href="style/releases/list.css"/>

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jqueryui/1.9.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="javascript/default.js"></script>
</head>
<body>
<h1 id="page-title"><?php echo $page_title; ?></h1>
<div id="page-content">
<?php
if ($error) {
error($error_message, $error_description, true);
} else {
echo '<div id="release-list" class="js-ui-accordion">';
foreach ($releases AS $release) {
echo '<div class="release-entry">',
'<h3 class="release-header js-ui-accordion-header">', $release['release'], '</h3>',
'<dl class="release-details">',
'<dt>Date</dt><dd>', $release['date'], '</dd>',
'<dt>Published</dt><dd class="release-', $release['published'] ? 'published' : 'unpublished', '">', $release['published'] ? 'yes' : 'no', '</dd>',
'<dt>Description</dt><dd>', $release['description'] ? $release['description'] : '<em>(none given)</em>', '</dd>',
'<dt>Link</dt><dd>&#9654; <a href="./', $release['release'], '">View details</a> &#9654;</dd>',
'</dl></div>';
}
echo '</div>';
}
?>
</div>
<?php require('../partials/footer.php'); require('../partials/header.php'); ?>
</body>
</html>
<?php
require_once('../util/rewriter.php');
echo rewrite();
ob_end_flush();
?>
17 changes: 17 additions & 0 deletions style/releases/list.scss
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
@import "../imports/item-list.scss";

#release-list {
dd.release-published {
background-color: lightgreen;
}

dd.release-unpublished {
background-color: #FFFF73;
}

@extend %item-list;

.release-entry {
@extend %item-list-entry;
}
}
8 changes: 8 additions & 0 deletions util/ALD.php
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,14 @@ public function loadItem($id)
return $this->_Request( CURLOPT_HTTPGET, "/items/describe/$id", array('Accept: application/x-ald-package') );
}

public function getStdlibReleases() {
return json_decode( $this->_Request( CURLOPT_HTTPGET, '/stdlib/releases/list', array('Accept: application/json') ), true );
}

public function describeStdlibRelease($release) {
return json_decode( $this->_Request( CURLOPT_HTTPGET, '/stdlib/releases/describe/' . $release, array('Accept: application/json') ), true );
}

private function _Request($method, $url, $header, $data = NULL, $user = NULL, $password = NULL)
{
$conn = curl_init();
Expand Down