From 1151f61b02ce137e3830a2c80dfcf5e761ddfba9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=A0=E3=81=84=E3=81=A1=E3=81=BE=E3=82=8B?= <98202777+Daichimarukana@users.noreply.github.com> Date: Thu, 17 Aug 2023 19:59:20 +0900 Subject: [PATCH] Delete user directory --- user/headimage.php | 78 ------ user/index.php | 646 --------------------------------------------- 2 files changed, 724 deletions(-) delete mode 100644 user/headimage.php delete mode 100644 user/index.php diff --git a/user/headimage.php b/user/headimage.php deleted file mode 100644 index ec757d1..0000000 --- a/user/headimage.php +++ /dev/null @@ -1,78 +0,0 @@ - PDO::ERRMODE_EXCEPTION, - PDO::MYSQL_ATTR_MULTI_STATEMENTS => false -); -$pdo = new PDO('mysql:charset=UTF8;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); - - -//$row['userid'] = "daichimarukn"; - -$userid = $_GET['account']; - - -$options = array( - // SQL実行失敗時に例外をスルー - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - // デフォルトフェッチモードを連想配列形式に設定 - PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, - // バッファードクエリを使う(一度に結果セットを全て取得し、サーバー負荷を軽減) - // SELECTで得た結果に対してもrowCountメソッドを使えるようにする - PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, -); - -if( empty($userid) ) { - $filePath = 'img/deficon/icon.png'; - $data = file_get_contents($filePath); - header('Content-type: image/png'); - //データを出力 - echo $data; - exit(); -}else{ - $dbh = new PDO('mysql:charset=UTF8;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); - - - $result = $dbh->prepare("SELECT headname, headcontent, headtype, headsize profile FROM account WHERE userid = :userid"); - - $result->bindValue(':userid', $userid); - // SQL実行 - $result->execute(); - - - $row = $result->fetch(); // ここでデータベースから取得した値を $row に代入する - - - - header('Content-type: ' . $row['headtype']); - echo $row['headcontent']; - exit(); -} \ No newline at end of file diff --git a/user/index.php b/user/index.php deleted file mode 100644 index cb1e816..0000000 --- a/user/index.php +++ /dev/null @@ -1,646 +0,0 @@ - PDO::ERRMODE_EXCEPTION, - PDO::MYSQL_ATTR_MULTI_STATEMENTS => false - ); - $pdo = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); - -} catch(PDOException $e) { - - // 接続エラーのときエラー内容を取得する - $error_message[] = $e->getMessage(); -} - -if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { - - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_SESSION['userid']); - $passQuery->execute(); - $res = $passQuery->fetch(); - if(empty($res["userid"])){ - header("Location: ../login.php"); - exit; - }elseif($_SESSION['loginid'] === $res["loginid"]){ - // セッションに値をセット - $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット - $username = $_SESSION['username']; // セッションに格納されている値をそのままセット - $_SESSION['admin_login'] = true; - $_SESSION['userid'] = $userid; - $_SESSION['username'] = $username; - $_SESSION['loginid'] = $res["loginid"]; - setcookie('userid', $userid, time() + 60 * 60 * 24 * 14); - setcookie('username', $username, time() + 60 * 60 * 24 * 14); - setcookie('loginid', $res["loginid"], time() + 60 * 60 * 24 * 14); - setcookie('admin_login', true, time() + 60 * 60 * 24 * 14); - }else{ - header("Location: ../login.php"); - exit; - } - - -} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { - - $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); - $passQuery->bindValue(':userid', $_COOKIE['userid']); - $passQuery->execute(); - $res = $passQuery->fetch(); - if(empty($res["userid"])){ - header("Location: ../login.php"); - exit; - }elseif($_COOKIE['loginid'] === $res["loginid"]){ - // セッションに値をセット - $userid = $_COOKIE['userid']; // クッキーから取得した値をセット - $username = $_COOKIE['username']; // クッキーから取得した値をセット - $_SESSION['admin_login'] = true; - $_SESSION['userid'] = $userid; - $_SESSION['username'] = $username; - $_SESSION['loginid'] = $res["loginid"]; - setcookie('userid', $userid, time() + 60 * 60 * 24 * 14); - setcookie('username', $username, time() + 60 * 60 * 24 * 14); - setcookie('loginid', $res["loginid"], time() + 60 * 60 * 24 * 14); - setcookie('admin_login', true, time() + 60 * 60 * 24 * 14); - }else{ - header("Location: ../login.php"); - exit; - } - - -} else { - // ログインが許可されていない場合、ログインページにリダイレクト - header("Location: ../login.php"); - exit; -} -if(empty($userid)){ - header("Location: ../login.php"); - exit; -} -if(empty($username)){ - header("Location: ../login.php"); - exit; -} - - -function customStripTags($html, $allowedTags) { - $allowedTagsString = '<' . implode('><', $allowedTags) . '>'; - return strip_tags($html, $allowedTagsString); -} - -$allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); - -if( !empty($pdo) ) { - - // データベース接続の設定 - $dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASS, array( - PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, - PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC, - PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true, - )); - - $uwuzuid = str_replace('@', '', $_GET['uwuzuid']); - - // ユーズ内の絵文字を画像に置き換える - function replaceEmojisWithImages($postText) { - // ユーズ内で絵文字名(:emoji:)を検出して画像に置き換える - $pattern = '/:(\w+):/'; - $postTextWithImages = preg_replace_callback($pattern, function($matches) { - $emojiName = $matches[1]; - return "$emojiName"; - }, $postText); - return $postTextWithImages; - } - - function replaceURLsWithLinks($postText) { - // URLを正規表現を使って検出 - $pattern = '/(https?:\/\/[^\s]+)/'; - preg_match_all($pattern, $postText, $matches); - - // 検出したURLごとに処理を行う - foreach ($matches[0] as $url) { - // ドメイン部分を抽出 - $parsedUrl = parse_url($url); - $domain = isset($parsedUrl['host']) ? $parsedUrl['host'] : ''; - - // ドメインのみを表示するaタグを生成 - $link = "$domain"; - - // URLをドメインのみを表示するaタグで置き換え - $postText = str_replace($url, $link, $postText); - } - - return $postText; - } - - $userQuery = $dbh->prepare("SELECT username, userid, profile, role, follower FROM account WHERE userid = :userid"); - $userQuery->bindValue(':userid', $uwuzuid); - $userQuery->execute(); - $userData = $userQuery->fetch(); - - - if(!empty($userData["userid"])){ - - - $roles = explode(',', $userData["role"]); // カンマで区切られたロールを配列に分割 - - $rerole = $dbh->prepare("SELECT follow, follower, username, userid, password, mailadds, profile, iconname, iconcontent, icontype, iconsize, headname, headcontent, headtype, headsize, role, datetime FROM account WHERE userid = :userid"); - - $rerole->bindValue(':userid', $uwuzuid); - // SQL実行 - $rerole->execute(); - - $userdata = $rerole->fetch(); // ここでデータベースから取得した値を $role に代入する - - $roleDataArray = array(); - - foreach ($roles as $roleId) { - $rerole = $dbh->prepare("SELECT rolename, roleauth, rolecolor FROM role WHERE roleidname = :role"); - $rerole->bindValue(':role', $roleId); - $rerole->execute(); - $roleDataArray[$roleId] = $rerole->fetch(); - } - - - //-------フォロー数--------- - $follow = $userdata['follow']; // コンマで区切られたユーザーIDを含む変数 - - // コンマで区切って配列に分割し、要素数を数える - $followIds = explode(',', $follow); - $followCount = count($followIds)-1; - - $follow_on_me = strpos($follow, $userid); - if ($follow_on_me !== false) { - $follow_yes = "フォローされています"; // worldを含む:6 - }else{ - $follow_yes = ""; // worldを含む:6 - } - - //-------フォロワー数--------- - $follower = $userdata['follower']; // コンマで区切られたユーザーIDを含む変数 - - // コンマで区切って配列に分割し、要素数を数える - $followerIds = explode(',', $follower); - $followerCount = count($followerIds)-1; - - $profileText = htmlspecialchars($userData['profile'], ENT_QUOTES, 'UTF-8'); - - }else{ - $userData["userid"] = "none"; - $userData['username'] = "ゆーざーなし"; - } -} - -if (!empty($_POST['follow'])) { - // フォローボタンが押された場合の処理 - $followerList = explode(',', $userdata['follower']); - if (!in_array($userid, $followerList)) { - // 自分が相手をフォローしていない場合、相手のfollowerカラムと自分のfollowカラムを更新 - $followerList[] = $userid; - $newFollowerList = implode(',', $followerList); - - // UPDATE文を実行してフォロー情報を更新 - $updateQuery = $pdo->prepare("UPDATE account SET follower = :follower WHERE userid = :userid"); - $updateQuery->bindValue(':follower', $newFollowerList, PDO::PARAM_STR); - $updateQuery->bindValue(':userid', $userData['userid'], PDO::PARAM_STR); - $res = $updateQuery->execute(); - - // 自分のfollowカラムを更新 - $updateQuery = $pdo->prepare("UPDATE account SET follow = CONCAT_WS(',', follow, :follow) WHERE userid = :userid"); - $updateQuery->bindValue(':follow', $userData["userid"], PDO::PARAM_STR); - $updateQuery->bindValue(':userid', $userid, PDO::PARAM_STR); - $res_follow = $updateQuery->execute(); - - if ($res && $res_follow) { - $url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; - header("Location:" . $url); - exit; - } else { - $error_message[] = '更新に失敗しました。'; - } - - $stmt = null; - } -} elseif (!empty($_POST['unfollow'])) { - // フォロー解除ボタンが押された場合の処理 - $followerList = explode(',', $userdata['follower']); - if (in_array($userid, $followerList)) { - // 自分が相手をフォローしている場合、相手のfollowerカラムと自分のfollowカラムを更新 - $followerList = array_diff($followerList, array($userid)); - $newFollowerList = implode(',', $followerList); - - // UPDATE文を実行してフォロー情報を更新 - $updateQuery = $pdo->prepare("UPDATE account SET follower = :follower WHERE userid = :userid"); - $updateQuery->bindValue(':follower', $newFollowerList, PDO::PARAM_STR); - $updateQuery->bindValue(':userid', $userData['userid'], PDO::PARAM_STR); - $res = $updateQuery->execute(); - - $deluserid = ",".$userdata["userid"]; - // 自分のfollowカラムから相手のユーザーIDを削除 - $updateQuery = $pdo->prepare("UPDATE account SET follow = REPLACE(follow, :follow, '') WHERE userid = :userid"); - $updateQuery->bindValue(':follow', $deluserid, PDO::PARAM_STR); - $updateQuery->bindValue(':userid', $userid, PDO::PARAM_STR); - $res_follow = $updateQuery->execute(); - - if ($res && $res_follow) { - $url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; - header("Location:" . $url); - exit; - } else { - $error_message[] = '更新に失敗しました。'; - } - - $stmt = null; - } -} - - - -if( !empty($_POST['logout']) ) { - if (isset($_SERVER['HTTP_COOKIE'])) { - $cookies = explode(';', $_SERVER['HTTP_COOKIE']); - foreach($cookies as $cookie) { - $parts = explode('=', $cookie); - $name = trim($parts[0]); - setcookie($name, '', time()-1000); - setcookie($name, '', time()-1000, '/'); - } - } - // リダイレクト先のURLへ転送する - $url = '../index.php'; - header('Location: ' . $url, true, 303); - - // すべての出力を終了 - exit; -} - - - -// データベースの接続を閉じる -$pdo = null; - -?> - - - - - - - - - - -<?php echo htmlspecialchars($userData['username'], ENT_QUOTES, 'UTF-8'); ?> さんのプロフィール - <?php echo file_get_contents($servernamefile);?> - - - - - -
- - - - - -
- -

このユーザーは存在しません

- -
- -
-
- -

-

@

-
- -
- - -
;"> -

;"> - -

-
- -
- -
-

-
- -
-
-
-

からuwuzuを利用しています。

-

フォロー数: フォロワー数:

-
- - - - - - -
- -
- - -
- - - - - -
-
-
- -
-
- - - - - - - -
- - - - - - - - - - - \ No newline at end of file