public function verifyAndProcessingTimeinput(XenForo_Controller $controller, $sorttime = '', $datepicker) { $sorttime = array_map('intval', explode(":", $sorttime)); if (count($sorttime) != 2) { throw new XenForo_Exception("Missing agrument for create/edit event."); return false; } $datepicker = XenForo_Locale::date($datepicker, 'd-m-Y'); $datepicker = array_map('intval', explode('-', $datepicker)); $gmmktime = gmmktime($sorttime[0], $sorttime[1], 0, $datepicker[1], $datepicker[0], $datepicker[2]); return $gmmktime - XenForo_Locale::getTimeZoneOffset(); }
/** * Get Unix timestamp in GMT for inputted date values. * * @param int|array $year in user timezone * @param int $month in user timezone * @param int $day in user timezone * @param int $hour in user timezone * @param int $minute in user timezone * @param int $second in user timezone * @param int|null $offset custom offset to override user's * * @return int timestamp in GMT */ public static function gmmktime($year, $month = 0, $day = 0, $hour = 0, $minute = 0, $second = 0, $offset = null) { if (is_array($year)) { $args = func_get_args(); if (count($args) !== 1) { return 0; } $values = $year; $year = 0; foreach (array('year', 'month', 'day', 'hour', 'minute', 'second', 'offset') as $key) { if (isset($values[$key]) && is_int($values[$key])) { ${$key} = intval($values[$key]); } } } $timestamp = gmmktime($hour, $minute, $second, $month, $day, $year); if ($offset === null) { $offset = XenForo_Locale::getTimeZoneOffset(); } return $timestamp - $offset; }
public function prepareEvent(array $event, array $team, array $category, array $viewingUser = null) { $this->standardizeViewingUserReference($viewingUser); $event = $this->prepareEventTypePhrase($event); if (isset($event['team_user_id'])) { $event['teamInfo'] = array('team_id' => $event['team_id'], 'user_id' => $event['team_user_id'], 'username' => $event['team_username'], 'title' => $event['title']); } $begin = max(0, $event['begin_date'] + XenForo_Locale::getTimeZoneOffset()); $event['beginDate'] = date('H:i', $begin); if ($event['end_date']) { $end = max(0, $event['end_date'] + XenForo_Locale::getTimeZoneOffset()); $event['endDate'] = date('H:i', $end); } if ($team) { $category = $category ? $category : $null; $event['canEditEvent'] = $this->canEditEvent($event, $team, $category, $null, $viewingUser); $event['canDeleteEvent'] = $this->canDeleteEvent($event, $team, $category, $null, $viewingUser); $event['canComment'] = $this->canCommentOnEvent($event, $team, $category, $null, $viewingUser); $event['canLikeEvent'] = $this->canLikeEvent($event, $team, $category, $null, $viewingUser); } else { $event['canEditEvent'] = false; $event['canDeleteEvent'] = false; $event['canComment'] = false; $event['canLikeEvent'] = false; } $event['event_title'] = XenForo_Helper_String::censorString($event['event_title']); $event['titleCensored'] = true; $event['likeUsers'] = unserialize($event['like_users']); return $event; }
protected function _getCacheId(array $widget, $positionCode, array $params, array $suffix = array()) { $suffix[] = XenForo_Locale::getTimeZoneOffset(); return parent::_getCacheId($widget, $positionCode, $params, $suffix); }