На страницах блога уже рассказывалось о VEL API Фила Тейлора, умеющем отдавать в формате JSON подробный перечень уязвимых расширений Joomla - штуке весьма важной и, несомненно, крайне нужной; при написании же обработки JSON - не было, что называется, убито ни одного дикого животного, т.е. скрипт не содержал ни грана php... что хотя и было весьма познавательно, но, вероятно, содержало в себе как плюсы, так и минусы.
Сегодня, в качестве продолжения рассказа о VEL API by Phil Taylor, - новая иллюстрация, в противоположность первой, написанная уже на php. Демка - в левом сайдбаре, обсуждение - на форуме. Рекомендую.
<?php
//Получаем и декодируем JSON:
$json = file_get_contents('http://vel.myjoomla.io');
$arr = json_decode($json, true);
// Преобразуем даты в метку времени Unix:
function vel_date_parse($str_date){
return strtotime(str_replace('/', '-', $str_date));
}
//Сортируем по [published_date] и реверсируем элементы массива:
function date_compare($a, $b){
$a = vel_date_parse($a);
$b = vel_date_parse($b);
if ($a == $b) {
return 0;
}
return ($a < $b) ? -1 : 1;
}
uasort($arr['data'], function($a, $b){ return -date_compare($a['published_date'], $b['published_date']);} );
//Выводим в HTML:
foreach ($arr['data'] as $arr) {
$html .= $arr['published_date'] . "<br />";
$html .= "<strong>" .$arr['title'] . "</strong>" . "<br />";
$html .= $arr['version_effected'] . "<br />";
$html .= $arr['type'] . "<br />";
$html .= "<br />";
}
echo $html;
Комментарии в блоге