ソースを参照

Merge branch 'master' of http://git.dever.cc:3000/dever-package/passport

dever 6 年 前
コミット
92d9832fdf
1 ファイル変更18 行追加16 行削除
  1. 18 16
      lib/Base.php

+ 18 - 16
lib/Base.php

@@ -222,12 +222,14 @@ class Base
                 if (!$new) {
                     if ($user['bind'] == 1 && !strstr($user['username'], '****')) {
                         $new = $v['uid'];
-                    } elseif ($user['temp'] == 2) {
+                    } elseif ($user['temp'] == 2 && $user['source_type'] == 'applet') {
                         $new = $v['uid'];
                     } elseif ($user['avatar']) {
                         $new = $v['uid'];
                     } elseif ($user['mobile']) {
                         $new = $v['uid'];
+                    } elseif ($user['temp'] == 2) {
+                        $new = $v['uid'];
                     } elseif ($v['uid'] < $cur) {
                         $cur = $new = $v['uid'];
                     } else {
@@ -243,27 +245,13 @@ class Base
                 print_r($cur);
                 print_r($drop);die;
             }
+            $new = Dever::db('passport/user')->one($cur);
             if ($drop) {
-                ksort($drop);
-                $combine = array();
-                $combine['status'] = 1;
-                $combine['new_uid'] = $cur;
-                $combine['old_uid'] = implode(',', $drop);
-                $info = Dever::db('passport/combine')->one($combine);
-                if (!$info) {
-                    Dever::db('passport/combine')->insert($combine);
-                }
-
-                Dever::load('passport/user-updates', array('set_state' => 2, 'where_id' => $combine['old_uid']));
-
-                $update = array();
                 foreach ($drop as $k => $v) {
                     if ($cur == $v) {
                         unset($drop[$k]);
                         continue;
                     }
-
-                    $new = Dever::db('passport/user')->one($cur);
                     $old = Dever::db('passport/user')->one($v);
 
                     $update = array();
@@ -292,6 +280,20 @@ class Base
                         Dever::load('passport/user-update', $update);
                     }
                 }
+
+                if ($drop) {
+                    ksort($drop);
+                    $combine = array();
+                    $combine['status'] = 1;
+                    $combine['new_uid'] = $cur;
+                    $combine['old_uid'] = implode(',', $drop);
+                    $info = Dever::db('passport/combine')->one($combine);
+                    if (!$info) {
+                        Dever::db('passport/combine')->insert($combine);
+                    }
+
+                    Dever::load('passport/user-updates', array('set_state' => 2, 'where_id' => $combine['old_uid']));
+                }
             }
         }