diff --git a/app/Http/Controllers/AdminController.php b/app/Http/Controllers/AdminController.php index 536e3b39..547f1517 100644 --- a/app/Http/Controllers/AdminController.php +++ b/app/Http/Controllers/AdminController.php @@ -3,6 +3,7 @@ namespace App\Http\Controllers; use Option; +use Schema; use Datatables; use App\Events; use Carbon\Carbon; @@ -250,9 +251,12 @@ class AdminController extends Controller public function getUserData(Request $request) { - $query = User::select([ - 'uid', 'email', 'nickname', 'score', 'permission', 'verified', 'register_at' - ]); + // Make it still basically functional if new columns are not ready + $columns = array_merge([ + 'uid', 'email', 'nickname', 'score', 'permission', 'register_at' + ], Schema::hasColumn('users', 'verified') ? ['verified'] : []); + + $query = User::select($columns); if ($request->has('uid')) { $query->where('uid', $request->get('uid')); diff --git a/app/Http/Controllers/AuthController.php b/app/Http/Controllers/AuthController.php index 35837542..f9a87d14 100644 --- a/app/Http/Controllers/AuthController.php +++ b/app/Http/Controllers/AuthController.php @@ -8,6 +8,7 @@ use View; use Cache; use Cookie; use Option; +use Schema; use Session; use App\Events; use App\Models\User; @@ -296,14 +297,14 @@ class AuthController extends Controller public function verify(Request $request, UserRepository $users) { - if (! option('require_verification')) { + if (!option('require_verification') || !Schema::hasColumn('users', 'verified')) { throw new PrettyPageException(trans('user.verification.disabled'), 1); } // Get user instance from repository $user = $users->get($request->get('uid')); - if (! $user || $user->verified) { + if (!$user || $user->verified) { throw new PrettyPageException(trans('auth.verify.invalid'), 1); } diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index cb8a2cd6..fad2d161 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -5,6 +5,7 @@ namespace App\Http\Controllers; use App; use Mail; use View; +use Schema; use Session; use App\Models\User; use App\Models\Texture; @@ -26,8 +27,11 @@ class UserController extends Controller { $this->user = $users->get(session('uid')); - // Send email verification link to new users - $this->user->verification_token || $this->sendVerificationEmail(); + // Do nothing if new columns are not ready + if (Schema::hasColumn('users', 'verified') && option('require_verification')) { + // Send email verification link to newly registered users + $this->user->verification_token || $this->sendVerificationEmail(); + } } public function index() @@ -100,7 +104,7 @@ class UserController extends Controller public function sendVerificationEmail() { - if (! option('require_verification')) { + if (!option('require_verification') || !Schema::hasColumn('users', 'verified')) { return json(trans('user.verification.disabled'), 1); }