rabin 2 years ago
parent
commit
12a533944c
2 changed files with 26 additions and 0 deletions
  1. 2 0
      service/option/database/member.php
  2. 24 0
      service/option/lib/Manage.php

+ 2 - 0
service/option/database/member.php

@@ -52,6 +52,7 @@ return array
     (
         'insert' => 'option/lib/manage.updateMember',
         'update' => 'option/lib/manage.updateMember',
+        'update_main' => 'option/lib/manage.updateMain',
     ),
     'set' => array
     (
@@ -84,6 +85,7 @@ return array
             'update'    => 'radio',
             'order'     => 'asc',
             'list'      => true,
+            'edit'      => true,
         ),
 
         'key'      => array

+ 24 - 0
service/option/lib/Manage.php

@@ -35,6 +35,30 @@ class Manage
         }
     }
 
+    public function updateMain($id, $name, $data)
+    {
+        Dever::config('base')->hook = true;
+        $main = Dever::param('main', $data);
+
+        if ($main && $main == 1) {
+            $member = Dever::db('option/member')->find($id);
+            if ($member) {
+                $main_member = Dever::db('option/member')->select(array('main' => 1, 'aid' => $member['aid']));
+                if ($main_member) {
+                    foreach ($main_member as $k => $v) {
+                        if ($v['id'] != $id) {
+                            Dever::db('option/member')->update(array('where_id' => $v['id'], 'main' => 2));
+                        }
+                    }
+                }
+                $account = Dever::db('option/account')->find($member['aid']);
+                if ($account) {
+                    Dever::db('option/account')->update(array('where_id' => $account['id'], 'mid' => $member['id']));
+                }
+            }
+        }
+    }
+
     public function updateAccount($id, $name, $data)
     {
         Dever::config('base')->hook = true;