|
@@ -117,7 +117,12 @@ class Core
|
|
|
Dever::db('score/user')->update($update);
|
|
|
|
|
|
|
|
|
- $this->setLevel($uid);
|
|
|
+ $level_type = Dever::db('score/level_type')->state();
|
|
|
+ if ($level_type) {
|
|
|
+ foreach ($level_type as $k => $v) {
|
|
|
+ $this->setLevel($uid, $v['id']);
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if ($log['callback']) {
|
|
|
if (strstr($log['callback'], '?')) {
|
|
@@ -208,10 +213,11 @@ class Core
|
|
|
*
|
|
|
* @return mixed
|
|
|
*/
|
|
|
- public function setLevel($uid)
|
|
|
+ public function setLevel($uid, $type_id = 1)
|
|
|
{
|
|
|
|
|
|
$where['uid'] = $uid;
|
|
|
+ $where['level_type_id'] = $type_id;
|
|
|
$user_level = Dever::db('score/user_level')->one($where);
|
|
|
if ($user_level && $user_level['type'] == 2) {
|
|
|
return;
|
|
@@ -222,7 +228,7 @@ class Core
|
|
|
$level = 1;
|
|
|
}
|
|
|
|
|
|
- $config = Dever::db('score/level')->one(array('level' => $level, 'state' => 1));
|
|
|
+ $config = Dever::db('score/level')->one(array('level' => $level, 'level_type_id' => $type_id, 'state' => 1));
|
|
|
|
|
|
if ($config) {
|
|
|
|
|
@@ -246,9 +252,9 @@ class Core
|
|
|
if ($yes) {
|
|
|
|
|
|
if ($user_level) {
|
|
|
- Dever::db('score/user_level')->update(array('where_id' => $user_level['id'], 'level_id' => $yes));
|
|
|
+ Dever::db('score/user_level')->update(array('where_id' => $user_level['id'], 'level_id' => $yes, 'level_type_id' => $type_id));
|
|
|
} else {
|
|
|
- Dever::db('score/user_level')->insert(array('uid' => $uid,'level_id' => $yes, 'type' => 1));
|
|
|
+ Dever::db('score/user_level')->insert(array('uid' => $uid,'level_id' => $yes, 'type' => 1, 'level_type_id' => $type_id));
|
|
|
}
|
|
|
}
|
|
|
}
|