/** * * 根据查询出的用户信息组装user对象 * @param int $user_id 用户id * @return mixed $value 返回最终需要执行完的结果 */ public function assembleUser($user_data) { $this->id = $user_data["id"]; $this->user_id = $user_data["id"]; $this->user_uuid = $user_data["user_uuid"]; $this->user_name = $user_data["user_name"]; $this->user_pass = $user_data["user_pass"]; $this->user_status = $user_data["user_status"]; $this->created_at = $user_data["created_at"]; $this->updated_at = $user_data["updated_at"]; //填充用户当前空间,与当前使用空间 $db = MDbManager::getInstance(); $sql = "select * from " . DB_PREFIX . "_user_metas where user_id={$this->user_id} and meta_key in('space','phone','email','nick')"; $items = $db->selectDb($sql); $this->nick = $this->user_name; //用户昵称 $this->phone = ""; //用户电话 $this->email = ""; //用户邮件 $this->space = FALSE; foreach ($items as $index => $item) { $value = $item["meta_value"]; if ($item["meta_key"] == "space") { $this->space = doubleval($value) * 1024 * 1024; } if ($item["meta_key"] == "nick" && strlen(trim($value)) > 0) { $this->nick = $value; } if ($item["meta_key"] == "phone") { $this->phone = $value; } if ($item["meta_key"] == "email") { $this->email = $value; } } //查询用户的默认空间 if ($this->space === FALSE) { $this->space = MUtils::defaultTotalSize(); } $this->usedSpace = $this->getUsedSpaceById($this->user_id); return $this; }
/** * 把db对象转换为array * @param object $item * @return array|null */ private function db2Item($item) { if (isset($item)) { $user = array(); $user["id"] = $item->id; $user["user_id"] = $item->id; $user["user_uuid"] = $item->user_uuid; $user["user_name"] = $item->user_name; $user["user_pass"] = $item->user_pass; $user["user_status"] = $item->user_status == 0 ? false : true; $user["user_pass"] = $item->user_pass; $user["user_status"] = $item->user_status; $user["salt"] = $item->salt; $user["created_at"] = $item->created_at; $user["updated_at"] = $item->updated_at; //查询用户Meta信息 $avatar = Yii::app()->params["defaultAvatar"]; if (!MiniHttp::isConsole()) { $avatar = MiniHttp::getMiniHost() . $avatar; } $user["avatar"] = $avatar; $user["nick"] = $user["user_name"]; $user["phone"] = ""; $user["email"] = ""; $user["space"] = MUtils::defaultTotalSize(); $user["is_admin"] = false; $metas = MiniUserMeta::getInstance()->getUserMetas($user["id"]); foreach ($metas as $key => $value) { if ($key === "nick") { $user["nick"] = $value; } if ($key === "phone") { $user["phone"] = $value; } if ($key === "email") { $user["email"] = $value; } if ($key === "space") { $user["space"] = $value; } if ($key === "is_admin") { $user["is_admin"] = $value === "1" ? true : false; } if ($key === 'file_sort_type') { $user["file_sort_type"] = $value; } if ($key === 'file_sort_order') { $user["file_sort_order"] = $value; } } //获得用户头像,如本地没有图片,则重新下载原始图片 if (array_key_exists("avatar", $metas)) { $value = $metas["avatar"]; if (strpos($value, "http") === 0) { $user["avatar"] = $value; } else { $savePath = THUMBNAIL_TEMP . "avatar"; $path = $savePath . '/' . $value; if (!file_exists($path)) { if (!file_exists($savePath)) { mkdir($savePath); } $url = $metas["avatar_url"]; file_put_contents($path, file_get_contents($url)); } $user["avatar"] = MiniHttp::getMiniHost() . "assets/thumbnails/avatar/" . $value; } } return $user; } return NULL; }