dever vor 6 Jahren
Ursprung
Commit
6e3780a2de
1 geänderte Dateien mit 8 neuen und 3 gelöschten Zeilen
  1. 8 3
      lib/Base.php

+ 8 - 3
lib/Base.php

@@ -209,10 +209,11 @@ class Base
                 if (!isset($v['uid'])) {
                     $v['uid'] = $v['id'];
                 }
-                if (isset($v['temp']) && $v['temp'] == 2 && $cur != $v['uid']) {
+                $user = Dever::db('passport/user')->one($v['uid']);
+                if (isset($user['temp']) && $user['temp'] == 2 && $cur != $v['uid']) {
                     $drop[$cur] = $cur;
                     $cur = $v['uid'];
-                } elseif (isset($v['avatar']) && $v['avatar'] && $cur != $v['uid']) {
+                } elseif (isset($user['avatar']) && $user['avatar'] && $cur != $v['uid']) {
                     $drop[$cur] = $cur;
                     $cur = $v['uid'];
                 } else {
@@ -227,6 +228,10 @@ class Base
             }
             if ($drop) {
                 foreach ($drop as $k => $v) {
+                    if ($cur == $v) {
+                        unset($drop[$k]);
+                        continue;
+                    }
                     $insert['new_uid'] = $cur;
                     $insert['old_uid'] = $v;
                     $info = Dever::db('passport/combine')->one($insert);
@@ -262,7 +267,7 @@ class Base
                     
                 }
                 $combine = Dever::project('combine');
-                if ($combine) {
+                if ($combine && $drop) {
                     $drop = implode(',', $drop);
                     Dever::load('combine/lib/core.handle?uid=' . $cur . '&drop=' . $drop);
                     //Dever::daemon('lib/core.handle?uid=' . $cur . '&drop=' . $drop, 'combine');