fix urls of assets for sub directory

This commit is contained in:
printempw 2016-09-05 22:18:34 +08:00
parent 691f26e736
commit c6bee0727f
7 changed files with 61 additions and 85 deletions

View File

@ -84,53 +84,6 @@ class Utils
return ($user->getNickName() == '') ? $user->email : $user->getNickName();
}
public static function getAvatarFname(\App\Models\User $user)
{
$fname = base64_encode($user->email).".png";
if (\Option::get('avatar_query_string')) {
$fname .= '?v='.$user->getAvatarId();
}
return $fname;
}
/**
* Generate omitted string
*
* @param string $str
* @param int $length
* @param boolean $append
* @return string
*/
public static function getStringOmitted($str, $length, $append = true)
{
$str = trim($str);
$strlength = strlen($str);
if ($length == 0 || $length >= $strlength) {
return $str;
} elseif ($length < 0) {
$length = $strlength + $length;
if ($length < 0) {
$length = $strlength;
}
}
if (function_exists('mb_substr')) {
$newstr = mb_substr($str, 0, $length, 'utf-8');
} elseif (function_exists('iconv_substr')) {
$newstr = iconv_substr($str, 0, $length, 'utf-8');
} else {
$newstr = substr($str, 0, $length);
}
if ($append && $str != $newstr) {
$newstr .= '...';
}
return $newstr;
}
/**
* Replace content of string according to given rules
*

View File

@ -34,3 +34,26 @@ if (! function_exists('get_current_url')) {
return get_base_url().$_SERVER["REQUEST_URI"];
}
}
if (! function_exists('avatar')) {
function avatar(App\Models\User $user, $size)
{
$fname = base64_encode($user->email).".png";
if (Option::get('avatar_query_string') == "1") {
$fname .= '?v='.$user->getAvatarId();
}
return url("avatar/$size/$fname");
}
}
if (! function_exists('assets')) {
function assets($relative_uri)
{
// add query string to fresh cache
return url("assets/$relative_uri")."?v=".config('app.version');
}
}

View File

@ -4,15 +4,15 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>@yield('title') - {{ Option::get('site_name') }}</title>
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<link rel="shortcut icon" href="{{ assets('images/favicon.ico') }}">
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- App Styles -->
<link rel="stylesheet" href="{{ url('assets/css/app.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/app.min.css') }}">
<!-- AdminLTE Skins -->
<link rel="stylesheet" href="{{ url('assets/libs/skins/'.Option::get('color_scheme').'.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('libs/skins/'.Option::get('color_scheme').'.min.css') }}">
<link rel="stylesheet" href="{{ url('assets/css/admin.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/admin.css') }}">
@yield('style')
@ -55,7 +55,7 @@
<ul class="dropdown-menu">
<!-- The user image in the menu -->
<li class="user-header">
<img src="../avatar/128/{{ Utils::getAvatarFname($user) }}" alt="User Image">
<img src="{{ avatar($user, 128) }}" alt="User Image">
<p>{{ $user->email }}</p>
</li>
<!-- Menu Footer-->
@ -82,7 +82,7 @@
<!-- Sidebar user panel (optional) -->
<div class="user-panel">
<div class="pull-left image">
<img src="../avatar/45/{{ Utils::getAvatarFname($user) }}" alt="User Image">
<img src="{{ avatar($user, 45) }}" alt="User Image">
</div>
<div class="pull-left info">
<p class="nickname">{{ Utils::getNameOrEmail($user) }}</p>
@ -127,9 +127,9 @@
</div><!-- ./wrapper -->
<!-- App Scripts -->
<script type="text/javascript" src="{{ url('assets/js/app.min.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/app.min.js') }}"></script>
<script type="text/javascript" src="{{ url('assets/js/admin.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/admin.js') }}"></script>
@if (Option::get('check_update') == '1')
<script>

View File

@ -4,14 +4,14 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>@yield('title') - {{ Option::get('site_name') }}</title>
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<link rel="shortcut icon" href="{{ assets('images/favicon.ico') }}">
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- App Styles -->
<link rel="stylesheet" href="{{ url('assets/css/app.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/app.min.css') }}">
<link rel="stylesheet" href="{{ url('assets/libs/skins/'.Option::get('color_scheme').'.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('libs/skins/'.Option::get('color_scheme').'.min.css') }}">
<link rel="stylesheet" href="{{ url('assets/css/auth.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/auth.css') }}">
<style>{{ Option::get('custom_css') }}</style>
</head>
@ -21,9 +21,9 @@
@yield('content')
<!-- App Scripts -->
<script type="text/javascript" src="{{ url('assets/js/app.min.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/app.min.js') }}"></script>
<script type="text/javascript" src="{{ url('assets/js/auth.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/auth.js') }}"></script>
@if (Session::has('msg'))
<script>

View File

@ -4,15 +4,15 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>{{ Option::get('site_name') }}</title>
<link rel="shortcut icon" href="./assets/images/favicon.ico">
<link rel="shortcut icon" href="{{ assets('images/favicon.ico') }}">
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- App Styles -->
<link rel="stylesheet" href="{{ url('assets/css/app.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/app.min.css') }}">
<!-- AdminLTE Skins -->
<link rel="stylesheet" href="{{ url('assets/libs/skins/'.Option::get('color_scheme').'.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('libs/skins/'.Option::get('color_scheme').'.min.css') }}">
<link rel="stylesheet" href="{{ url('assets/css/index.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/index.css') }}">
<style>
.wrapper {
@ -50,14 +50,14 @@
<!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<!-- The user image in the navbar-->
<img src="./avatar/25/{{ Utils::getAvatarFname($user) }}" class="user-image" alt="User Image">
<img src="{{ avatar($user, 25) }}" class="user-image" alt="User Image">
<!-- hidden-xs hides the username on small devices so only the image appears. -->
<span class="hidden-xs nickname">{{ Utils::getNameOrEmail($user) }}</span>
</a>
<ul class="dropdown-menu">
<!-- The user image in the menu -->
<li class="user-header">
<img src="./avatar/128/{{ Utils::getAvatarFname($user) }}" alt="User Image">
<img src="{{ avatar($user, 128) }}" alt="User Image">
<p>{{ $user->email }}</p>
</li>
<!-- Menu Footer-->
@ -112,7 +112,7 @@
</div><!-- ./wrapper -->
<!-- App Scripts -->
<script type="text/javascript" src="{{ url('assets/js/app.min.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/app.min.js') }}"></script>
<script>{!! Option::get('custom_js') !!}</script>
</body>

View File

@ -4,15 +4,15 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>@yield('title') - {{ Option::get('site_name') }}</title>
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<link rel="shortcut icon" href="{{ assets('images/favicon.ico') }}">
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- App Styles -->
<link rel="stylesheet" href="{{ url('assets/css/app.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/app.min.css') }}">
<!-- AdminLTE Skins -->
<link rel="stylesheet" href="{{ url('assets/libs/skins/'.Option::get('color_scheme').'.min.css') }}">
<link rel="stylesheet" href="{{ url('assets/css/skinlib.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/skinlib.css') }}">
@yield('style')
@ -82,14 +82,14 @@
<!-- Menu Toggle Button -->
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<!-- The user image in the navbar-->
<img src="../avatar/25/{{ Utils::getAvatarFname($user) }}" class="user-image" alt="User Image">
<img src="{{ avatar($user, 25) }}" class="user-image" alt="User Image">
<!-- hidden-xs hides the username on small devices so only the image appears. -->
<span class="hidden-xs nickname">{{ Utils::getNameOrEmail($user) }}</span>
</a>
<ul class="dropdown-menu">
<!-- The user image in the menu -->
<li class="user-header">
<img src="../avatar/128/{{ Utils::getAvatarFname($user) }}" alt="User Image">
<img src="{{ avatar($user, 128) }}" alt="User Image">
<p>{{ $user->email }}</p>
</li>
<!-- Menu Footer-->
@ -139,9 +139,9 @@
</div><!-- ./wrapper -->
<!-- App Scripts -->
<script type="text/javascript" src="{{ url('assets/js/app.min.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/app.min.js') }}"></script>
<script type="text/javascript" src="{{ url('assets/js/skinlib.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/skinlib.js') }}"></script>
@yield('script')

View File

@ -4,15 +4,15 @@
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>@yield('title') - {{ Option::get('site_name') }}</title>
<link rel="shortcut icon" href="../assets/images/favicon.ico">
<link rel="shortcut icon" href="{{ assets('images/favicon.ico') }}">
<!-- Tell the browser to be responsive to screen width -->
<meta content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no" name="viewport">
<!-- App Styles -->
<link rel="stylesheet" href="{{ url('assets/css/app.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/app.min.css') }}">
<!-- AdminLTE Skins -->
<link rel="stylesheet" href="{{ url('assets/libs/skins/'.Option::get('color_scheme').'.min.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('libs/skins/'.Option::get('color_scheme').'.min.css') }}">
<link rel="stylesheet" href="{{ url('assets/css/user.css') }}?v={{ config('app.version') }}">
<link rel="stylesheet" href="{{ assets('css/user.css') }}">
@yield('style')
@ -53,7 +53,7 @@
<ul class="dropdown-menu">
<!-- The user image in the menu -->
<li class="user-header">
<img src="../avatar/128/{{ Utils::getAvatarFname($user) }}" alt="User Image">
<img src="{{ avatar($user, 128) }}" alt="User Image">
<p>{{ $user->email }}</p>
</li>
<!-- Menu Footer-->
@ -80,7 +80,7 @@
<!-- Sidebar user panel (optional) -->
<div class="user-panel">
<div class="pull-left image">
<img src="../avatar/45/{{ Utils::getAvatarFname($user) }}" alt="User Image">
<img src="{{ avatar($user, 45) }}" alt="User Image">
</div>
<div class="pull-left info">
<p class="nickname">{{ Utils::getNameOrEmail($user) }}</p>
@ -128,15 +128,15 @@
</div><!-- ./wrapper -->
<!-- App Scripts -->
<script type="text/javascript" src="{{ url('assets/js/app.min.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/app.min.js') }}"></script>
<script type="text/javascript" src="{{ url('assets/js/user.js') }}?v={{ config('app.version') }}"></script>
<script type="text/javascript" src="{{ assets('js/user.js') }}"></script>
@yield('script')
@if (session()->has('msg'))
@if (Session::has('msg'))
<script>
toastr.info('{{ session('msg') }}'); <?php session()->forget('msg') ?>
toastr.info('{{ Session::pull('msg') }}');
</script>
@endif