diff --git a/app/Events/ConfigureAdminMenu.php b/app/Events/ConfigureAdminMenu.php
new file mode 100644
index 00000000..9cbce16c
--- /dev/null
+++ b/app/Events/ConfigureAdminMenu.php
@@ -0,0 +1,19 @@
+menu = &$menu;
+ }
+}
diff --git a/app/Events/UserAuthenticated.php b/app/Events/UserAuthenticated.php
new file mode 100644
index 00000000..396aaceb
--- /dev/null
+++ b/app/Events/UserAuthenticated.php
@@ -0,0 +1,21 @@
+user = $user;
+ }
+
+}
diff --git a/app/Events/UserLoggedIn.php b/app/Events/UserLoggedIn.php
index f738dedf..c5bc3d23 100644
--- a/app/Events/UserLoggedIn.php
+++ b/app/Events/UserLoggedIn.php
@@ -2,12 +2,10 @@
namespace App\Events;
-use Illuminate\Queue\SerializesModels;
+use App\Models\User;
class UserLoggedIn extends Event
{
- use SerializesModels;
-
public $user;
/**
@@ -15,7 +13,7 @@ class UserLoggedIn extends Event
*
* @return void
*/
- public function __construct(\App\Models\User $user)
+ public function __construct(User $user)
{
$this->user = $user;
}
diff --git a/app/Events/UserRegistered.php b/app/Events/UserRegistered.php
new file mode 100644
index 00000000..e8019032
--- /dev/null
+++ b/app/Events/UserRegistered.php
@@ -0,0 +1,21 @@
+user = $user;
+ }
+
+}
diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php
index b392a404..7ed02941 100644
--- a/app/Http/Controllers/AuthController.php
+++ b/app/Http/Controllers/AuthController.php
@@ -9,6 +9,7 @@ use Utils;
use Cookie;
use Option;
use Session;
+use App\Events;
use App\Models\User;
use App\Models\UserModel;
use Illuminate\Http\Request;
@@ -34,7 +35,7 @@ class AuthController extends Controller
// guess type of identification
$auth_type = (validate($identification, 'email')) ? "email" : "username";
- event(new \App\Events\UserTryToLogin($identification, $auth_type));
+ event(new Events\UserTryToLogin($identification, $auth_type));
// Get user instance from repository.
// If the given identification is not registered yet,
@@ -58,7 +59,7 @@ class AuthController extends Controller
// time in minutes
$time = $request->input('keep') == true ? 10080 : 60;
- event(new \App\Events\UserLoggedIn($user));
+ event(new Events\UserLoggedIn($user));
return json(trans('auth.login.success'), 0, [
'token' => $user->getToken()
@@ -140,6 +141,8 @@ class AuthController extends Controller
return json(trans('auth.register.registered'), 5);
}
+ event(new Events\UserRegistered($user));
+
return json([
'errno' => 0,
'msg' => trans('auth.register.success'),
diff --git a/app/Http/Controllers/PlayerController.php b/app/Http/Controllers/PlayerController.php
index 481a74d1..b958839f 100644
--- a/app/Http/Controllers/PlayerController.php
+++ b/app/Http/Controllers/PlayerController.php
@@ -114,8 +114,7 @@ class PlayerController extends Controller
$old_name = $this->player->player_name;
- $this->player->player_name = $new_name;
- $this->player->save();
+ $this->player->rename($new_name);
return json(trans('user.player.rename.success', ['old' => $old_name, 'new' => $new_name]), 0);
}
diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php
index c1bab5e8..e3a88de8 100644
--- a/app/Http/Controllers/UserController.php
+++ b/app/Http/Controllers/UserController.php
@@ -112,7 +112,7 @@ class UserController extends Controller
setcookie('uid', '', time() - 3600, '/');
setcookie('token', '', time() - 3600, '/');
- Session::flush();
+ session()->flush();
return json(trans('user.profile.delete.success'), 0);
}
diff --git a/app/Http/Middleware/CheckAuthenticated.php b/app/Http/Middleware/CheckAuthenticated.php
index 6d35b127..4e9ca710 100644
--- a/app/Http/Middleware/CheckAuthenticated.php
+++ b/app/Http/Middleware/CheckAuthenticated.php
@@ -8,6 +8,7 @@ use Http;
use Cookie;
use Session;
use App\Models\User;
+use App\Events\UserAuthenticated;
use App\Exceptions\PrettyPageException;
class CheckAuthenticated
@@ -53,6 +54,8 @@ class CheckAuthenticated
if ($return_user)
return $user;
+ event(new UserAuthenticated($user));
+
return $next($request);
} else {
return redirect('auth/login')->with('msg', trans('auth.check.anonymous'));
diff --git a/app/Services/Hook.php b/app/Services/Hook.php
index 5e762001..1b9f361c 100644
--- a/app/Services/Hook.php
+++ b/app/Services/Hook.php
@@ -8,6 +8,7 @@ use Illuminate\Support\Arr;
use Illuminate\Support\Str;
use App\Events\ConfigureRoutes;
use App\Events\ConfigureUserMenu;
+use App\Events\ConfigureAdminMenu;
class Hook
{
@@ -26,12 +27,14 @@ class Hook
*/
public static function addMenuItem($category, $position, array $menu)
{
- Event::listen(ConfigureUserMenu::class, function ($event) use ($menu, $position)
+ $class = $category == "user" ? ConfigureUserMenu::class : ConfigureAdminMenu::class;
+
+ Event::listen($class, function ($event) use ($menu, $position, $category)
{
$new = [];
$offset = 0;
- foreach ($event->menu['user'] as $item) {
+ foreach ($event->menu[$category] as $item) {
// push new menu items at the given position
if ($offset == $position) {
$new[] = $menu;
@@ -41,7 +44,7 @@ class Hook
$offset++;
}
- $event->menu['user'] = $new;
+ $event->menu[$category] = $new;
});
}
diff --git a/app/Services/Repositories/UserRepository.php b/app/Services/Repositories/UserRepository.php
index 999af9fb..e417cd82 100644
--- a/app/Services/Repositories/UserRepository.php
+++ b/app/Services/Repositories/UserRepository.php
@@ -20,8 +20,11 @@ class UserRepository extends Repository
if ($type == "uid") {
return Arr::has($this->items, $identification);
} else {
- Arr::where((array) $this->items, function($key, $value) use ($identification, $type) {
- return ($user->$type == $identification);
+ return Arr::where((array) $this->items, function($key, $value) use ($identification, $type) {
+ if (property_exists($value, $type))
+ return false;
+
+ return ($value->$type == $identification);
});
}
}
@@ -57,4 +60,9 @@ class UserRepository extends Repository
return Arr::get($this->items, $identification, null);
}
+
+ public function getCurrentUser()
+ {
+ return $this->get(session('uid'));
+ }
}
diff --git a/app/helpers.php b/app/helpers.php
index 291398b5..9733ec2b 100644
--- a/app/helpers.php
+++ b/app/helpers.php
@@ -143,7 +143,8 @@ if (! function_exists('bs_menu')) {
{
$menu = require BASE_DIR."/config/menu.php";
- event(new App\Events\ConfigureUserMenu($menu));
+ event($type == "user" ? new App\Events\ConfigureUserMenu($menu)
+ : new App\Events\ConfigureAdminMenu($menu));
if (!isset($menu[$type])) {
throw new InvalidArgumentException;
diff --git a/resources/assets/src/sass/admin.scss b/resources/assets/src/sass/admin.scss
index 948ea737..a3aedf43 100644
--- a/resources/assets/src/sass/admin.scss
+++ b/resources/assets/src/sass/admin.scss
@@ -2,7 +2,7 @@
* @Author: printempw
* @Date: 2016-07-22 14:08:41
* @Last Modified by: printempw
- * @Last Modified time: 2016-08-06 18:52:47
+ * @Last Modified time: 2016-11-17 15:06:22
*/
@import "style.scss";
@@ -14,17 +14,6 @@
}
}
-.key {
- vertical-align: middle !important;
-}
-.value {
- width: 70%;
-}
-
-td[class='key'], td[class='value'] {
- border-top: 0 !important;
-}
-
.btn-group {
.btn {
margin-right: 10px;
diff --git a/resources/assets/src/sass/style.scss b/resources/assets/src/sass/style.scss
index 3ae7ba94..849ada28 100644
--- a/resources/assets/src/sass/style.scss
+++ b/resources/assets/src/sass/style.scss
@@ -2,7 +2,7 @@
* @Author: printempw
* @Date: 2016-06-04 20:55:09
* @Last Modified by: printempw
- * @Last Modified time: 2016-09-26 22:09:14
+ * @Last Modified time: 2016-11-17 15:06:31
*/
$font_stack: Ubuntu, 'Segoe UI', 'Microsoft Yahei', 'Microsoft Jhenghei', sans-serif;
@@ -204,3 +204,14 @@ input:-webkit-autofill {
}
}
}
+
+.key {
+ vertical-align: middle !important;
+}
+.value {
+ width: 70%;
+}
+
+td[class='key'], td[class='value'] {
+ border-top: 0 !important;
+}
diff --git a/resources/lang/en/user.yml b/resources/lang/en/user.yml
index 755ad569..d7e19afb 100644
--- a/resources/lang/en/user.yml
+++ b/resources/lang/en/user.yml
@@ -131,7 +131,7 @@ profile:
delete:
title: Delete Account
- notice: Sure to delete your account on :sitename?
+ notice: Sure to delete your account on :site?
admin: Admin account can not be deleted.
button: Delete My Account
diff --git a/resources/lang/en/validation.yml b/resources/lang/en/validation.yml
index 09a1d391..aba499cb 100644
--- a/resources/lang/en/validation.yml
+++ b/resources/lang/en/validation.yml
@@ -92,4 +92,5 @@ attributes:
file: File
name: Name
player_name: 'Player Name'
+ new_player_name: 'Player Name'
identification: Email or player name
diff --git a/resources/lang/zh-CN/user.yml b/resources/lang/zh-CN/user.yml
index d934168f..6c9b94c9 100644
--- a/resources/lang/zh-CN/user.yml
+++ b/resources/lang/zh-CN/user.yml
@@ -137,7 +137,7 @@ profile:
delete:
title: 删除账号
- notice: 确定要删除你在 :sitename 上的账号吗?
+ notice: 确定要删除你在 :site 上的账号吗?
admin: 管理员账号不能被删除哟
button: 删除我的账户
diff --git a/resources/lang/zh-CN/validation.yml b/resources/lang/zh-CN/validation.yml
index cf207a51..b564445c 100644
--- a/resources/lang/zh-CN/validation.yml
+++ b/resources/lang/zh-CN/validation.yml
@@ -83,6 +83,7 @@ attributes:
file: 文件
username: 用户名
identification: 邮箱或角色名
+ new_player_name: 角色名
nickname: 昵称
player_name: 角色名
email: 邮箱
diff --git a/resources/views/vendor/option-form/select.tpl b/resources/views/vendor/option-form/select.tpl
index bb20da8a..ad27a4c6 100644
--- a/resources/views/vendor/option-form/select.tpl
+++ b/resources/views/vendor/option-form/select.tpl
@@ -2,7 +2,7 @@
@foreach ((array) $items as $item)
- ";
+
@endforeach