list($minAvatarWidth, $minAvatarHeight) = preg_split('/x/', $_config["minAvatarResolution"]); list($maxAvatarWidth, $maxAvatarHeight) = preg_split('/x/', $_config["maxAvatarResolution"]); if ($avatarInfo[0] > $maxAvatarWidth || $avatarInfo[1] > $maxAvatarHeight || $avatarInfo[0] < $minAvatarWidth || $avatarInfo[1] < $minAvatarHeight || $avatarInfo[2] != 1 && $avatarInfo[2] != 2 && $avatarInfo[2] != 3) { $avatarError = sprintf(_SET_AVATAR_TOO_LARGE, $_config["minAvatarResolution"], $_config["maxAvatarResolution"]); } else { // Upload avatar icon to /files/avatars/#/#####/ $avatarFilename = applyIdToPath("files/avatars/", $_auth["useid"]); $oldFiles = glob($avatarFilename . "-*", GLOB_NOESCAPE); if (is_array($oldFiles) && count($oldFiles) > 0) { foreach ($oldFiles as $oldFile) { unlink($oldFile); // Delete old files } } uploadFile("avatar", $avatarFilename . '-' . time(), $extension); updateAvatar($_auth["useid"]); } } } if ($avatarError != "" && $avatarError != _UPL_NO_FILE) { notice($avatarError); } // ID $idError = checkUploadedFile("id"); if (!$idError) { $idImageName = $_FILES["id"]["tmp_name"]; } else { $idImageName = ""; } if ($idError != "" && $idError != _UPL_NO_FILE) { notice($idError);
$basename = preg_replace('/(.*)(\\.[a-zA-Z]+)$/', '\\1_' . nv_genpass(8) . "_" . $user_info['userid'] . '\\2', $basename); $image = new NukeViet\Files\Image($upload_info['name'], NV_MAX_WIDTH, NV_MAX_HEIGHT); // Resize image, crop image $image->resizeXY($array['w'], $array['h']); $image->cropFromLeft($array['x1'], $array['y1'], $array['avatar_width'], $array['avatar_height']); $image->resizeXY($global_config['avatar_width'], $global_config['avatar_height']); // Save new image $image->save(NV_ROOTDIR . '/' . NV_TEMP_DIR, $basename); $image->close(); if (file_exists($image->create_Image_info['src'])) { $array['filename'] = str_replace(NV_ROOTDIR . '/' . NV_TEMP_DIR . '/', '', $image->create_Image_info['src']); if ($array['u'] == "upd") { updateAvatar($array['filename']); $array['success'] = 2; } elseif ($array['u'] == "src") { updateAvatar($array['filename']); $array['filename'] = NV_BASE_SITEURL . SYSTEM_UPLOADS_DIR . '/' . $module_upload . '/' . $array['filename']; $array['success'] = 3; } else { $array['success'] = 1; } } else { $array['error'] = $lang_module['avatar_error_save']; } @nv_deletefile($upload_info['name']); } else { $array['error'] = $upload_info['error']; } } } $contents = nv_avatar($array);
$result->data = $user; } echo json_encode($result); }); $app->post("/changeavatar", function () { global $app; $result = new stdClass(); $result->status = false; $user = getUserByKey($_POST["key"]); if ($user) { $ext = explode('.', $_FILES['file']['name']); $ext = $ext[count($ext) - 1]; $filename = $user["username"] . "_" . uniqid() . "." . $ext; $destination = AVATAR_DIR . $filename; if (move_uploaded_file($_FILES['file']['tmp_name'], $destination)) { updateAvatar($user["id"], $filename); //cropImage($destination); $result->key = $_POST['key']; $result->url = BASE_URL . $destination; $result->status = true; } } echo json_encode($result); }); //route functions function loginUser($username, $password) { global $db; $md5pass = md5($password); $row = $db->get("me_users", "*", ["AND" => ["username" => $username, "password" => $md5pass]]); if ($row) {