|
@@ -42,11 +42,17 @@ class Api
|
|
|
}
|
|
|
|
|
|
# 设置邀请关系
|
|
|
- public function setRelation($uid, $parent, $code = false)
|
|
|
+ public function setRelation($uid, $parent = false, $code = false)
|
|
|
{
|
|
|
if ($code) {
|
|
|
$parent = $this->getCode($code);
|
|
|
}
|
|
|
+ if ($parent <= 0) {
|
|
|
+ $parent = $this->getSourceUid($uid, false);
|
|
|
+ if ($parent <= 0) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ }
|
|
|
$relation = new Relation();
|
|
|
$relation->set($parent, $uid);
|
|
|
return true;
|
|
@@ -63,10 +69,41 @@ class Api
|
|
|
public function getParent($uid, $level = 1)
|
|
|
{
|
|
|
$relation = new Relation();
|
|
|
- $info = $relation->get($uid, $level);
|
|
|
+ $info = $relation->getParent($uid, $level);
|
|
|
if ($info) {
|
|
|
return $info['uid'];
|
|
|
}
|
|
|
return false;
|
|
|
}
|
|
|
+
|
|
|
+ # 获取来源用户uid
|
|
|
+ public function getSourceUid($uid, $error = true)
|
|
|
+ {
|
|
|
+ $source_signature = Dever::input('source_signature');
|
|
|
+
|
|
|
+ if (!$source_signature) {
|
|
|
+ if (!$error) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ Dever::alert('错误的来源uid');
|
|
|
+ }
|
|
|
+ $user = Dever::loginResult($source_signature, false);
|
|
|
+ if (!isset($user['uid'])) {
|
|
|
+ if (!$error) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ Dever::alert('错误的来源uid');
|
|
|
+ }
|
|
|
+
|
|
|
+ $source_uid = $user['uid'];
|
|
|
+
|
|
|
+ if ($uid == $source_uid) {
|
|
|
+ if (!$error) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ Dever::alert('来源uid和当前uid相同');
|
|
|
+ }
|
|
|
+
|
|
|
+ return $source_uid;
|
|
|
+ }
|
|
|
}
|