dever 5 jaren geleden
bovenliggende
commit
2d3d245fd3
3 gewijzigde bestanden met toevoegingen van 76 en 0 verwijderingen
  1. 17 0
      database/user.php
  2. 12 0
      lib/Base.php
  3. 47 0
      lib/Manage.php

+ 17 - 0
database/user.php

@@ -490,5 +490,22 @@ return array
 			),
 			'type' => 'update',
 		),
+
+		# 后台搜索用到
+		'search' => array
+		(
+			# 匹配的正则或函数 选填项
+			'option' => array
+			(
+				'ids' => array('yes-id', 'in'),
+				'username' => array('yes', 'like'),
+				'id' => 'yes',
+				'state' => 1,
+			),
+			'type' => 'all',
+			'order' => array('id' => 'desc'),
+			'limit' => '0,1000',
+			'col' => 'username as name, id, id as value, "" as selected, "" as disabled|id',
+		),
 	),
 );

+ 12 - 0
lib/Base.php

@@ -66,6 +66,8 @@ class Base
 
         $uid = Dever::db('passport/user')->insert($user);
 
+        $this->invite($uid);
+
         $this->createUsername($uid, $user['username'], true);
 
         return $uid;
@@ -612,6 +614,8 @@ class Base
 
             $user['signature'] = Dever::login($user['id']);
 
+            $this->invite($user['id']);
+
             if (Dever::config('base', 'project')->regAction) {
                 Dever::load(Dever::config('base', 'project')->regAction, $user);
             }
@@ -620,6 +624,14 @@ class Base
         }
     }
 
+    protected function invite($uid)
+    {
+        $invite = Dever::input('invite');
+        if (Dever::project('invite') && $invite) {
+            Dever::load('invite/api')->setRelation($uid, false, $invite);
+        }
+    }
+
     public function createRefer()
     {
         return 'refer=' . Encrypt::encode(Dever::url(false, 'main'));

+ 47 - 0
lib/Manage.php

@@ -73,4 +73,51 @@ class Manage
 
         return Dever::table($table);
     }
+
+    public function search_api()
+    {
+        $table = 'passport/user';
+        $keyword = Dever::input('keyword');
+
+        $yes = Dever::input('yes');
+
+        $where = array();
+
+        $cate = Dever::input('cate');
+        if ($cate) {
+            $where['cate_id'] = $cate;
+        }
+
+        if ($yes) {
+            $yes = Dever::db($table)->search(array('ids' => $yes));
+        }
+        if (!$keyword) {
+            $where['limit'] = '0,10';
+            $data = Dever::db($table)->search($where);
+        } else {
+            $where['username'] = $keyword;
+            $data = Dever::db($table)->search($where);
+        }
+
+        $result = array();
+        if ($yes) {
+            foreach ($yes as $k => $v) {
+                if (isset($data[$k])) {
+                    unset($data[$k]);
+                }
+                $yes[$k]['selected'] = 'selected';
+            }
+            $data = $yes + $data;
+
+            $data = array_merge($data, array());
+        } else {
+            $data = array_merge($data, array());
+        }
+
+        if (!$data) {
+            Dever::alert('暂无数据');
+        }
+
+        return $data;
+    }
 }