public static function generate(array $params) { $message = null; $bracket = self::_getBracket(array_shift($params)); if ($bracket) { $cacheKey = 'Controller::Admin::Advance_bracketAdvanceTime_' . $bracket->id; $lastBracketAdvance = Lib\Cache::Get($cacheKey); if (!$lastBracketAdvance || $lastBracketAdvance + self::BRACKET_ADVANCE_DELAY < time()) { Lib\Cache::Set($cacheKey, time()); $bracket->advance(); $message = new stdClass(); $message->type = 'success'; $message->message = $bracket->name . ' has advanced to the next round'; self::_refreshCaches($bracket); } else { $message = new stdClass(); $message->type = 'error'; $delta = $lastBracketAdvance + self::BRACKET_ADVANCE_DELAY - time(); $time = Lib\Util::relativeTime(time() - $delta); $message->message = $bracket->name . ' was recently advanced. Please wait ' . $time . ' before advancing again.'; } } return self::_main($message, true); }
/** * Adds a set of standard utility helpers to the render engine */ private static function _addStandardHelpers() { self::addHelper('relativeTime', function ($template, $context, $args, $source) { return Util::relativeTime($context->get($args)); }); // Idea lifted right out of dust.js self::addHelper('sep', function ($template, $context, $args, $source) { if (!$context->get('@last')) { return $source; } }); self::addHelper('jsonBlob', function ($template, $context, $args, $source) { return json_encode($context->get($args)); }); }