function __construct($init = NULL, $aliases = NULL, $name = NULL) { $this->key2values = []; $this->value2key = []; $this->all_sub_keys = []; $this->level = []; $this->simple_keys = []; $this->recursive_keys = []; $this->name = $name; if ($aliases === NULL) { $aliases = []; } $this->aliases = $aliases; #echo "\$init:\n"; #var_dump($init); if ($init !== NULL) { foreach ($init as $k => $v) { if (!is_array($v)) { _die("bad type, not array"); } if (is_vec($v)) { $this->simple_keys[] = $k; register2($this, $k, $v); } else { $this->recursive_keys[] = $k; foreach ($v as $_ => &$v_) { register($this, $k, $_); #echo "\$v_:\n"; #var_dump($v_); if (!ISDEPATH($v_)) { $v_ = DEPATH($v_, $aliases); } $this->all_sub_keys = array_merge($this->all_sub_keys, $v_->all_sub_keys); register3($this, $v_->key2values); } } $this->level[$k] = $v; } } # Sort and remove duplicates $this->all_sub_keys = array_values(array_unique($this->all_sub_keys)); foreach (array_keys($this->key2values) as $k) { $this->key2values[$k] = array_unique($this->key2values[$k]); } }
$other = array('sex' => $gender, 'mediaUID' => $mediaUID, 'mediaID' => $userinfo['mediaID']); //判断用户是否已同步, $result = $db->getRow("select * from {$ecs->table($user->user_table)} where mediaUID='{$mediaUID}' and mediaID={$userinfo['mediaID']}"); if ($result) { //已同步 $sdf = $result['user_name']; $password = $result['password']; //设置成登录状态 $GLOBALS['user']->set_session($sdf); $GLOBALS['user']->set_cookie($sdf); update_user_info(); recalculate_price(); $ucdata = isset($user->ucdata) ? $user->ucdata : ''; show_message($_LANG['login_success'] . $ucdata, array($_LANG['back_up_page'], $_LANG['back_home']), array('index.php', 'user.php'), 'info'); } if (register2($sdf, $password, $email, $userbak, $other) !== false) { /*把新注册用户的扩展信息插入数据库*/ $sql = 'SELECT id FROM ' . $ecs->table('reg_fields') . ' WHERE type = 0 AND display = 1 ORDER BY dis_order, id'; //读出所有自定义扩展字段的id $fields_arr = $db->getAll($sql); $extend_field_str = ''; //生成扩展字段的内容字符串 foreach ($fields_arr as $val) { $extend_field_index = 'extend_field' . $val['id']; if (!empty($_POST[$extend_field_index])) { $temp_field_content = strlen($_POST[$extend_field_index]) > 100 ? mb_substr($_POST[$extend_field_index], 0, 99) : $_POST[$extend_field_index]; $extend_field_str .= " ('" . $_SESSION['user_id'] . "', '" . $val['id'] . "', '" . $temp_field_content . "'),"; } } $extend_field_str = substr($extend_field_str, 0, -1); if ($extend_field_str) {