Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /**
- * Created by PhpStorm.
- * User: Mateusz
- * Date: 2017-06-29
- * Time: 12:05
- */
- namespace Models;
- use Illuminate\Database\Eloquent\Model;
- use Models\AuthModel as Auth;
- class UserModel extends Model
- {
- protected $table = 'account.account';
- protected $fillable = [
- 'login', 'password', 'email', 'social_id', 'pin'
- ];
- static protected $user;
- public $timestamps = false;
- public static function getUserData()
- {
- $user = self::where('id', $_SESSION['user']['id'] ?? null)
- ->first();
- if (!$user) {
- throw new \Exception('User not found');
- }
- $_SESSION['user'] = clone $user;
- $_SESSION['user']['characters'] = $characters = PlayerModel::getUserCharacters($user->id)->toArray();
- $_SESSION['user']['playtime'] = $playtime = array_sum(array_map(function ($character) {
- return $character['playtime'];
- }, $characters));
- return $user;
- }
- public static function grantCoins(int $user_id, int $amountCoins)
- {
- $user = self::find($user_id);
- if($user)
- {
- $user->cash = $user->cash + $amountCoins;
- $user->save();
- }
- }
- public static function refreshUserData(UserModel $user)
- {
- $_SESSION['user'] = $user;
- }
- public static function changePassword($newPassword)
- {
- $user = self::getUserData();
- $user->password = Auth::hashPassword($newPassword);
- $user->save();
- }
- public static function changeMail($newMail)
- {
- $user = self::getUserData();
- $user->email = $newMail;
- $user->save();
- }
- public static function changeCode($code)
- {
- $user = self::getUserData();
- $user->social_id = $code;
- $user->save();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement