diff --git a/nextpage/nextpage.php b/nextpage/nextpage.php deleted file mode 100644 index 02b86d8..0000000 --- a/nextpage/nextpage.php +++ /dev/null @@ -1,124 +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(); -} - -$userid = $_GET['userid']; - -$itemsPerPage = 30; // 1ページあたりのユーズ数 -$pageNumber = isset($_GET['page']) ? intval($_GET['page']) : 1; -$offset = ($pageNumber - 1) * $itemsPerPage; - -$messages = array(); - -if (!empty($pdo)) { - - function customStripTags($html, $allowedTags) { - $allowedTagString = implode('|', $allowedTags); - $pattern = "/<(?!$allowedTagString)[^>]+>/"; - return preg_replace($pattern, '', $html); - } - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); - - // ユーズ内の絵文字を画像に置き換える - 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; - } - - - $sql = "SELECT account, username, uniqid, rpuniqid, ueuse, datetime, photo1, photo2, video1, favorite, abi, abidate FROM ueuse WHERE rpuniqid = '' ORDER BY datetime DESC LIMIT $offset, $itemsPerPage"; - $message_array = $pdo->query($sql); - - while ($row = $message_array->fetch(PDO::FETCH_ASSOC)) { - - $messages[] = $row; - } - - // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える - foreach ($messages as &$message) { - $userQuery = $pdo->prepare("SELECT username, userid, profile, role FROM account WHERE userid = :userid"); - $userQuery->bindValue(':userid', $message["account"]); - $userQuery->execute(); - $userData = $userQuery->fetch(); - - if ($userData) { - $message['username'] = $userData['username']; - } - } - - // ユーズ内のHTMLコードに指定のタグを有効化する関数 - function replaceUnescapedHTMLTags($html) { - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); // 有効化するタグ - return customStripTags($html, $allowedTags); - } - - if(!empty($messages)){ - foreach ($messages as $value) { - - $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数 - - // コンマで区切って配列に分割し、要素数を数える - $favIds = explode(',', $fav); - $value["favcnt"] = count($favIds)-1; - - $messageDisplay = new MessageDisplay($value, $userid); // $userid をコンストラクタに渡す - $messageDisplay->display(); - } - }else{ - echo '

ユーズがありません

'; - } - - $pdo = null; - -} - -?> diff --git a/nextpage/notification.php b/nextpage/notification.php deleted file mode 100644 index 1fe1d77..0000000 --- a/nextpage/notification.php +++ /dev/null @@ -1,63 +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(); -} - -$userid = $_GET['userid']; - -$itemsPerPage = 30; // 1ページあたりの投稿数 -$pageNumber = isset($_GET['page']) ? intval($_GET['page']) : 1; -$offset = ($pageNumber - 1) * $itemsPerPage; - -$messages = array(); - -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, - )); - - $messageQuery = $dbh->prepare("SELECT title,msg,url,datetime,userchk FROM notification WHERE touserid = :userid ORDER BY datetime DESC LIMIT $offset, $itemsPerPage"); - $messageQuery->bindValue(':userid', $userid); - $messageQuery->execute(); - $message_array = $messageQuery->fetchAll(); - - if (!empty($message_array)) { - foreach ($message_array as $value) { - $messageDisplay = new MessageDisplay($value); // userid を渡さない - $messageDisplay->display(); - } - } else { - echo '

通知はありません

'; - } - - - $pdo = null; - -} - -?> diff --git a/nextpage/notificationview.php b/nextpage/notificationview.php deleted file mode 100644 index 1717a4b..0000000 --- a/nextpage/notificationview.php +++ /dev/null @@ -1,32 +0,0 @@ -value = $value; - } - - public function display() { - echo '
'; - echo '
'; - - echo '
'; - $day = date("Ymd", strtotime(htmlspecialchars($this->value['datetime']))); - if ($day == date("Ymd")) { - echo date("今日 H:i", strtotime(htmlspecialchars($this->value['datetime']))); - } else { - echo date("Y年m月d日 H:i", strtotime(htmlspecialchars($this->value['datetime']))); - } - echo '
'; - - echo '
'; - - // 投稿内のHTMLコードを表示する部分 - echo '

' . htmlspecialchars($this->value['title']) . '

'; - echo '

' . htmlspecialchars($this->value['msg']) . '

'; - echo ' 続きをみる'; - - echo '
'; - } -} -?> diff --git a/nextpage/searchpage.php b/nextpage/searchpage.php deleted file mode 100644 index 2c036ef..0000000 --- a/nextpage/searchpage.php +++ /dev/null @@ -1,131 +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(); -} - - -$keyword = isset($_GET['keyword']) ? $_GET['keyword'] : ''; -$userid = $_GET['userid']; - -$messages = array(); - -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, - )); - - $messageQuery = $dbh->prepare("SELECT account,username,ueuse,uniqid,rpuniqid,datetime,photo1,photo2,video1,favorite, abi, abidate FROM ueuse WHERE ueuse LIKE :keyword OR abi LIKE :keyword ORDER BY datetime DESC"); - $messageQuery->bindValue(':keyword', '%' . $keyword . '%', PDO::PARAM_STR); - $messageQuery->execute(); - $message_array = $messageQuery->fetchAll(); - - function customStripTags($html, $allowedTags) { - $allowedTagString = implode('|', $allowedTags); - $pattern = "/<(?!$allowedTagString)[^>]+>/"; - return preg_replace($pattern, '', $html); - } - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); - - // ユーズ内の絵文字を画像に置き換える - 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; - } - - - - - $messages = array(); - foreach ($message_array as $row) { - $messages[] = $row; - } - // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える - foreach ($messages as &$message) { - $userQuery = $pdo->prepare("SELECT username, userid, profile, role FROM account WHERE userid = :userid"); - $userQuery->bindValue(':userid', $message["account"]); - $userQuery->execute(); - $userData = $userQuery->fetch(); - - if ($userData) { - $message['username'] = $userData['username']; - } - } - - // ユーズ内のHTMLコードに指定のタグを有効化する関数 - function replaceUnescapedHTMLTags($html) { - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); // 有効化するタグ - return customStripTags($html, $allowedTags); - } - - if(!empty($messages)){ - foreach ($messages as $value) { - - $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数 - - // コンマで区切って配列に分割し、要素数を数える - $favIds = explode(',', $fav); - $value["favcnt"] = count($favIds)-1; - - $messageDisplay = new MessageDisplay($value, $userid); - $messageDisplay->display(); - } - }else{ - echo '

ユーズがありません

'; - } - - $pdo = null; - -} - -?> diff --git a/nextpage/ueusepage.php b/nextpage/ueusepage.php deleted file mode 100644 index b693ac1..0000000 --- a/nextpage/ueusepage.php +++ /dev/null @@ -1,139 +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(); -} - -$userid = $_GET['userid']; - -$ueuseid = isset($_GET['id']) ? $_GET['id'] : ''; - -$itemsPerPage = 30; // 1ページあたりの投稿数 -$pageNumber = isset($_GET['page']) ? intval($_GET['page']) : 1; -$offset = ($pageNumber - 1) * $itemsPerPage; - -$messages = array(); - -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, - )); - - - - function customStripTags($html, $allowedTags) { - $allowedTagString = implode('|', $allowedTags); - $pattern = "/<(?!$allowedTagString)[^>]+>/"; - return preg_replace($pattern, '', $html); - } - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); - // 投稿内の絵文字を画像に置き換える - 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; - } - - // 投稿内容の取得(新しい順に取得) - $messageQuery = $dbh->prepare("SELECT account, username, ueuse, uniqid, rpuniqid, datetime, photo1, photo2, video1, favorite, abi, abidate FROM ueuse WHERE uniqid = :ueuseid OR rpuniqid = :rpueuseid ORDER BY datetime ASC LIMIT $offset, $itemsPerPage"); - $messageQuery->bindValue(':ueuseid', $ueuseid); - $messageQuery->bindValue(':rpueuseid', $ueuseid); - $messageQuery->execute(); - $message_array = $messageQuery->fetchAll(); - - $messages = array(); - - - - foreach ($message_array as $row) { - $messages[] = $row; - } - // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える - foreach ($messages as &$message) { - $userQuery = $pdo->prepare("SELECT username, userid, profile, role FROM account WHERE userid = :userid"); - $userQuery->bindValue(':userid', $message["account"]); - $userQuery->execute(); - $userData = $userQuery->fetch(); - - if ($userData) { - $message['username'] = $userData['username']; - } - } - - // 投稿内のHTMLコードに指定のタグを有効化する関数 - function replaceUnescapedHTMLTags($html) { - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); // 有効化するタグ - return customStripTags($html, $allowedTags); - } - - if(!empty($messages)){ - foreach ($messages as $value) { - $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数 - - // コンマで区切って配列に分割し、要素数を数える - $favIds = explode(',', $fav); - $value["favcnt"] = count($favIds)-1; - - $messageDisplay = new MessageDisplay($value, $userid); - $messageDisplay->display(); - } - }else{ - echo '

投稿がありません

'; - } - - $pdo = null; - -} - -?> diff --git a/nextpage/userpage.php b/nextpage/userpage.php deleted file mode 100644 index 5ad9f16..0000000 --- a/nextpage/userpage.php +++ /dev/null @@ -1,140 +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(); -} - - -$uwuzuid = isset($_GET['id']) ? $_GET['id'] : ''; -$userid = $_GET['userid']; - -$itemsPerPage = 30; // 1ページあたりのユーズ数 -$pageNumber = isset($_GET['page']) ? intval($_GET['page']) : 1; -$offset = ($pageNumber - 1) * $itemsPerPage; - -$messages = array(); - -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, - )); - - $userQuery = $dbh->prepare("SELECT username, userid, profile, role, follower FROM account WHERE userid = :userid"); - $userQuery->bindValue(':userid', $uwuzuid); - $userQuery->execute(); - $userData = $userQuery->fetch(); - - $messageQuery = $dbh->prepare("SELECT account,username,ueuse,uniqid,rpuniqid,datetime,photo1,photo2,video1,favorite, abi, abidate FROM ueuse WHERE account = :userid AND rpuniqid = ''ORDER BY datetime DESC LIMIT $offset, $itemsPerPage"); - $messageQuery->bindValue(':userid', $uwuzuid); - $messageQuery->execute(); - $message_array = $messageQuery->fetchAll(); - - function customStripTags($html, $allowedTags) { - $allowedTagString = implode('|', $allowedTags); - $pattern = "/<(?!$allowedTagString)[^>]+>/"; - return preg_replace($pattern, '', $html); - } - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); - - // ユーズ内の絵文字を画像に置き換える - 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; - } - - - - - $messages = array(); - foreach ($message_array as $row) { - $messages[] = $row; - } - // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える - foreach ($messages as &$message) { - $userQuery = $pdo->prepare("SELECT username, userid, profile, role FROM account WHERE userid = :userid"); - $userQuery->bindValue(':userid', $message["account"]); - $userQuery->execute(); - $userData = $userQuery->fetch(); - - if ($userData) { - $message['username'] = $userData['username']; - } - } - - // ユーズ内のHTMLコードに指定のタグを有効化する関数 - function replaceUnescapedHTMLTags($html) { - $allowedTags = array('h1', 'h2', 'h3', 'center', 'font'); // 有効化するタグ - return customStripTags($html, $allowedTags); - } - - if(!empty($messages)){ - foreach ($messages as $value) { - - $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数 - - // コンマで区切って配列に分割し、要素数を数える - $favIds = explode(',', $fav); - $value["favcnt"] = count($favIds)-1; - - $messageDisplay = new MessageDisplay($value, $userid); - $messageDisplay->display(); - } - }else{ - echo '

ユーズがありません

'; - } - - $pdo = null; - -} - -?> diff --git a/nextpage/view.php b/nextpage/view.php deleted file mode 100644 index 33f9131..0000000 --- a/nextpage/view.php +++ /dev/null @@ -1,85 +0,0 @@ - -value = $value; - $this->userid = $userid; - } - - public function display() { - if (empty($this->value)) { - echo '

ユーズがありません

'; - } else { - echo '
'; - if(!empty($this->value['rpuniqid'])){ - echo '

┗━ 一番上のユーズに返信

'; - } - echo '
'; - - echo ' '; - echo ' ' . htmlspecialchars($this->value['username']) . ''; - echo ' '; - echo '
'; - $day = date("Ymd", strtotime(htmlspecialchars($this->value['datetime']))); - if ($day == date("Ymd")) { - echo date("今日 H:i", strtotime(htmlspecialchars($this->value['datetime']))); - } else { - echo date("Y年m月d日 H:i", strtotime(htmlspecialchars($this->value['datetime']))); - } - echo '
'; - - echo '
'; - - echo '

' . replaceEmojisWithImages(replaceURLsWithLinks(nl2br(replaceUnescapedHTMLTags($this->value['ueuse'])))) . '

'; - - if (!empty($this->value['photo2']) && $this->value['photo2'] !== 'none') { - echo '
'; - echo ' 画像'; - echo ' 画像'; - echo '
'; - } elseif (!empty($this->value['photo1']) && $this->value['photo1'] !== 'none') { - echo '
'; - echo ' 画像'; - echo '
'; - } - if (!empty($this->value['video1']) && $this->value['video1'] !== 'none') { - echo '
'; - echo ' '; - echo '
'; - } - - if(!($this->value['abi'] == "none")){ - echo '
'; - echo '
'; - echo '

' . htmlspecialchars($this->value['username']) . 'さんが追記しました

'; - echo '
'; - echo '

'. htmlspecialchars($this->value['abi']) . '

'; - echo '

追記日時 : '. date("Y年m月d日 H:i", strtotime(htmlspecialchars($this->value['abidate']))) . '

'; - echo '
'; - } - - echo '
'; - echo '
'; - if (false !== strstr($this->value['favorite'], $this->userid)) { - echo ''; - }else{ - echo ''; - } - echo '返信をみる&する'; - if($this->value['account'] === $this->userid){ - if($this->value['abi'] === "none"){ - echo ''; - } - echo ''; - } - echo '
'; - echo '
'; - } - } -} -?> \ No newline at end of file