-
-
-
・
- -このユーザーは存在しません
@
-;"> - -
--
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 "";
- }, $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;
-
-?>
-
-
-
・
- -このユーザーは存在しません
@
-;"> - -
-