%PDF- %PDF-
Direktori : /data/www_bck/varak.net_bck/suiteshooters.varak.net/www/ |
Current File : //data/www_bck/varak.net_bck/suiteshooters.varak.net/www/calendar.php |
<?php /** * Created by IntelliJ IDEA. * User: mvarak * Date: 4/25/2017 * Time: 9:50 AM */ ob_start(); require_once "../lib/dibi.min.php"; require_once "../lib/smarty/Smarty.class.php"; dibi::connect(array( 'driver' => 'mysql', 'host' => 'localhost', 'username' => 'suiteshooters', 'password' => '6dMEYDjnNR5rjBEp', 'database' => 'suiteshooters', 'charset' => 'utf8', 'profiler' => [ 'run' => TRUE, 'file' => __DIR__ . '/../log/log-' . date('Y-m-d') . '.txt', ], )); $smarty = new Smarty(); $smarty->setTemplateDir( __DIR__ . '/../templates/'); $smarty->setCompileDir( __DIR__ . '/../templates_c/'); $smarty->setConfigDir( __DIR__ . '/../configs/'); $smarty->setCacheDir( __DIR__ . '/../cache/'); $smarty->assign('baseUrl', 'https://' . $_SERVER['SERVER_NAME']); $smarty->debugging = false; $smarty->setCaching(Smarty::CACHING_LIFETIME_CURRENT); header("Content-Type: text/calendar"); if(isset($_GET['token'])) { $token = $_GET['token']; header("Cache-Control: private, max-age=3600"); header("Content-Disposition: inline; filename=\"suiteshooters-$token.ics\""); $eventData = dibi::query("SELECT [events].[id], [startDate], [endDate], [events].[name] FROM [events] JOIN [attendees] ON [attendees].[event] = [events].[id] JOIN [users] ON [users].[id] = [attendees].[user] WHERE [users].[calendarToken]=%s AND [startDate] > %t AND [events].[active]=1 ORDER BY [startDate]", $token, time() - 7200); } else { header("Cache-Control: public, max-age=3600"); header("Content-Disposition: inline; filename=\"suiteshooters.ics\""); $eventData = dibi::query("SELECT [id], [startDate], [endDate], [name] FROM [events] WHERE [startDate] > %t AND [events].[active]=1 ORDER BY [startDate]", time() - 7200); $token = "all"; } $smarty->assign('eventData', $eventData); $smarty->assign('tz', new DateTimeZone("UTC")); $smarty->display("ical.tpl", $token); $ret = ob_get_clean(); header("X-Original-Content-Lenght: " . strlen($ret)); // Gzip/Deflate/Bzip2 compression if(stristr($_SERVER["HTTP_ACCEPT_ENCODING"], "bzip2")) { $ret = bzcompress($ret, 9); header("Content-Encoding: bzip2"); } elseif(stristr($_SERVER["HTTP_ACCEPT_ENCODING"], "gzip")) { $ret = gzencode($ret, 9); header("Content-Encoding: gzip"); } elseif (stristr($_SERVER["HTTP_ACCEPT_ENCODING"], "deflate")) { $ret = gzdeflate($ret, 9); header("Content-Encoding: deflate"); } header("Content-length: " . strlen($ret)); echo $ret;