date] = $item->weightedAverage; } $poloniexChart = new NeatCharts\LineChart($chartData, [ 'width'=>800, 'height'=>200, 'lineColor'=>($theme == 'dark' ? '#000' : '#fff'), 'labelColor'=>($theme == 'dark' ? '#000' : '#fff'), 'smoothed'=>false, 'fontSize'=>12 ]); $result = $poloniexChart->render(); if ($format == 'png') { $im = new Imagick(); $im->setBackgroundColor(new ImagickPixel('transparent')); $im->readImageBlob($result); $im->setImageFormat('png32'); $result = $im->getImageBlob(); $im->clear(); $im->destroy(); } CacheManager::set($chartCacheKey, $result); $resultExpires = time() + $dataDuration; } else { $resultExpires = CacheManager::getInfo($chartCacheKey)[ 'expired_time' ]; $startTime = $resultExpires - $dataDuration; } header('Expires: '.gmdate('D, d M Y H:i:s', $resultExpires)); if ($format == 'svg') { header('Content-type: image/svg+xml; charset=utf-8'); header('Content-Disposition: inline; filename="Dash-chart-' . gmdate('Y-m-d\THis+0', $startTime) . '--' . gmdate('Y-m-d\THis+0') . '.svg"'); } else if ($format == 'png') { header('Content-Type: image/png'); header('Content-Disposition: inline; filename="Dash-chart-' . gmdate('Y-m-d\THis+0', $startTime) . '--' . gmdate('Y-m-d\THis+0') . '.png"'); } echo $result; }