uri() . '/' . $path, $parameters, $secure); } /** * Returns the base backend URL */ public function baseUrl($path = null) { $backendUri = $this->uri(); $baseUrl = Request::getBaseUrl(); if ($path === null) { return $baseUrl . '/' . $backendUri; } $path = RouterHelper::normalizeUrl($path); return $baseUrl . '/' . $backendUri . $path; } /** * Returns a URL in context of the active Backend skin */ public function skinAsset($path = null) { $skinPath = Skin::getActive()->getPath($path, true); return Url::asset($skinPath); } /** * Create a new redirect response to a given backend path. */ public function redirect($path, $status = 302, $headers = [], $secure = null) { return Redirect::to($this->uri() . '/' . $path, $status, $headers, $secure); } /** * Create a new backend redirect response, while putting the current URL in the session. */ public function redirectGuest($path, $status = 302, $headers = [], $secure = null) { return Redirect::guest($this->uri() . '/' . $path, $status, $headers, $secure); } /** * Create a new redirect response to the previously intended backend location. */ public function redirectIntended($path, $status = 302, $headers = [], $secure = null) { return Redirect::intended($this->uri() . '/' . $path, $status, $headers, $secure); } /** * Proxy method for dateTime() using "date" format alias. * @return string */ public function date($dateTime, $options = []) { return $this->dateTime($dateTime, $options + ['formatAlias' => 'date']); } /** * Returns the HTML for a date formatted in the backend. * Supported for formatAlias: * time -> 6:28 AM * timeLong -> 6:28:01 AM * date -> 04/23/2016 * dateMin -> 4/23/2016 * dateLong -> April 23, 2016 * dateLongMin -> Apr 23, 2016 * dateTime -> April 23, 2016 6:28 AM * dateTimeMin -> Apr 23, 2016 6:28 AM * dateTimeLong -> Saturday, April 23, 2016 6:28 AM * dateTimeLongMin -> Sat, Apr 23, 2016 6:29 AM * @return string */ public function dateTime($dateTime, $options = []) { extract(array_merge([ 'defaultValue' => '', 'format' => null, 'formatAlias' => null, 'jsFormat' => null, 'timeTense' => false, 'timeSince' => false, ], $options)); $carbon = DateTimeHelper::makeCarbon($dateTime); if ($jsFormat !== null) { $format = $jsFormat; } else { $format = DateTimeHelper::momentFormat($format); } $attributes = [ 'datetime' => $carbon, 'data-datetime-control' => 1, ]; if ($timeTense) { $attributes['data-time-tense'] = 1; } elseif ($timeSince) { $attributes['data-time-since'] = 1; } elseif ($format) { $attributes['data-format'] = $format; } elseif ($formatAlias) { $attributes['data-format-alias'] = $formatAlias; } return ''.e($defaultValue).''.PHP_EOL; } }