alroyso hace 6 meses
padre
commit
f8373fb85a

+ 1 - 0
.idea/dataSources.local.xml

@@ -5,6 +5,7 @@
       <database-info product="MySQL" version="5.7.43-log" jdbc-version="4.2" driver-name="MySQL Connector/J" driver-version="mysql-connector-j-8.2.0 (Revision: 06a1f724497fd81c6a659131fda822c9e5085b6c)" dbms="MYSQL" exact-version="5.7.43" exact-driver-version="8.2">
         <extra-name-characters>#@</extra-name-characters>
         <identifier-quote-string>`</identifier-quote-string>
+        <jdbc-catalog-is-schema>true</jdbc-catalog-is-schema>
       </database-info>
       <case-sensitivity plain-identifiers="exact" quoted-identifiers="exact" />
       <secret-storage>master_key</secret-storage>

+ 18 - 0
app/Components/Helpers.php

@@ -14,6 +14,7 @@ use App\Models\UserBanedLog;
 use App\Models\UserCreditLog;
 use App\Models\UserDataModifyLog;
 use App\Models\UserSubscribe;
+use App\Models\UserEmails;
 use Cache;
 use DateTime;
 use NotificationChannels\BearyChat\BearyChatChannel;
@@ -367,6 +368,23 @@ class Helpers
         return $marketing->save();
     }
 
+
+    /**
+     * @param int $userid
+     * @param string $email
+     * @param string $new_email
+     * @return int
+     */
+    public static function addEmailLog(int $userid,string $email,string $new_email ): int
+    {
+        $marketing = new UserEmails();
+        $marketing->email = $email;
+        $marketing->new_email = $new_email;
+        $marketing->user_id = $userid;
+
+        return $marketing->save();
+    }
+
     //重数组中找到最小的,和最大大
     public static function phpMaxMin($arr = [],$keys = ''){
         $max['key'] = '';

+ 21 - 4
app/Http/Controllers/UserController.php

@@ -190,7 +190,8 @@ class UserController extends Controller
 
             // 修改联系方式
             if ($request->has(['email','username', 'wechat', 'qq'])) {
-                $data = $request->only(['email','username', 'wechat', 'qq']);
+                //ol_emil
+                $data = $request->only(['newemail','email','username', 'wechat', 'qq']);
 //                $ip = IP::getClientIP();
 //                $vercode = Cache::get('send_verify_code_'.md5($ip), $ip);
 //
@@ -198,17 +199,33 @@ class UserController extends Controller
 //                    return Redirect::back()->withErrors(trans('common.update_action', ['action' => trans('common.failed_code')]));
 //                }
 
-                if ( User::where('email', $data['email'])->count() >= 1) {
+                if ( User::where('email', $data['newemail'])->count() >= 1) {
                     return Redirect::back()->withErrors(trans('common.update_action', ['action' => trans('common.failed_email')]));
                 }
-
+//                if (empty($data['qq'])) {
+//                    return Redirect::back()->withErrors(trans('validation.required', ['attribute' => trans('validation.attributes.qq')]));
+//                }
                 if (empty($data['username'])) {
                     return Redirect::back()->withErrors(trans('validation.required', ['attribute' => trans('validation.attributes.username')]));
                 }
 
-                if (! $user->update($data)) {
+                $newData = [
+                    'email' => $data['newemail'],
+                    'wechat' => $data['wechat'],
+                    'qq' => $data['qq'],
+                    'ol_emil' => $data['email'],
+                ];
+//                var_dump($newData); die();
+//                $data['old_email'] = $data['email'];
+//                $data['email'] = $data['newemail'];
+//                var_dump($data);
+//                die();
+                if (! $user->update($newData)) {
                     return Redirect::back()->withErrors(trans('common.update_action', ['action' => trans('common.failed')]));
                 }
+
+                Helpers::addEmailLog($user->id,$data['email'],$data['newemail']);
+
             }
 
 

+ 34 - 0
app/Models/UserEmails.php

@@ -0,0 +1,34 @@
+<?php
+
+namespace App\Models;
+
+use Illuminate\Database\Eloquent\Model;
+
+/**
+ * App\Models\UserEmails
+ *
+ * @property int $id
+ * @property string $email
+ * @property string|null $new_email
+ * @property \Illuminate\Support\Carbon|null $created_at 创建时间
+ * @property int $user_id
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails newModelQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails newQuery()
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails query()
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails whereCreatedAt($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails whereEmail($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails whereId($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails whereNewEmail($value)
+ * @method static \Illuminate\Database\Eloquent\Builder|UserEmails whereUserId($value)
+ * @mixin \Eloquent
+ */
+class UserEmails extends  Model
+{
+    public const UPDATED_AT = null;
+    protected $table = 'user_emails';
+    protected $guarded = [];
+
+
+
+
+}

+ 4 - 0
resources/views/user/profile.blade.php

@@ -69,6 +69,10 @@
                                         <label for="email" class="col-md-2 col-form-label">邮箱</label>
                                         <input type="text" class="form-control col-md-5 round" name="email" id="email" value="{{Auth::getUser()->email}}"/>
                                     </div>
+                                    <div class="form-group row">
+                                        <label for="newemail" class="col-md-2 col-form-label">新邮箱</label>
+                                        <input type="text" class="form-control col-md-5 round" name="newemail" id="newemail" value="" />
+                                    </div>
 {{--                                    <div class="form-group form-material floating" data-plugin="formMaterial">--}}
 {{--                                        <div class="input-group" data-plugin="inputGroupFile">--}}
 {{--                                            <input type="text" class="form-control" name="verify_code" value="{{Request::old('verify_code')}}" required/>--}}