-
+
@@ -591,12 +586,12 @@ $pdo = null;
@@ -617,7 +612,7 @@ $pdo = null;
登録を押すと利用規約とプライバシーポリシーに同意したこととなります。
未確認の場合は上のボタンよりお読みください。
-
+
招待コード
招待コードがないとこのサーバーには登録できません。
diff --git a/nextpage/ftlpage.php b/nextpage/ftlpage.php
index 2f9b5ac..7d1de7f 100644
--- a/nextpage/ftlpage.php
+++ b/nextpage/ftlpage.php
@@ -25,119 +25,147 @@ try {
$error_message[] = $e->getMessage();
}
-$userid = htmlentities($_GET['userid']);
-$aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
-$aduserinfoQuery->bindValue(':userid', htmlentities($userid));
-$aduserinfoQuery->execute();
-$res = $aduserinfoQuery->fetch();
-$myblocklist = htmlentities($res["blocklist"]);
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
-$itemsPerPage = 15; // 1ページあたりのユーズ数
-$pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(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,
));
- // フォローしているユーザーIDを取得し、カンマで区切る
- $followQuery = $dbh->prepare("SELECT follow FROM account WHERE userid = :userid");
- $followQuery->bindValue(':userid', $userid);
- $followQuery->execute();
- $followData = $followQuery->fetch();
- $follow = $followData['follow'];
- $followList = explode(',', $follow);
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
- // フォローしているユーザーの投稿を取得し、日時順に並び替える
- $messages = array(); // 初期化
+ $query->execute(array(':userid' => $userid));
- foreach ($followList as $followUserId) {
- $sql = "SELECT * FROM ueuse WHERE rpuniqid = '' AND account = :follow_account ORDER BY datetime DESC LIMIT $offset, $itemsPerPage";
+ $result2 = $query->fetch();
- $stmt = $dbh->prepare($sql);
- $stmt->bindValue(':follow_account', $followUserId, PDO::PARAM_STR);
- $stmt->execute();
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
+ $userid = htmlentities($_GET['userid']);
- while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
- $messages[] = $row;
- }
- }
- usort($messages, function($a, $b) {
- return strtotime($b['datetime']) - strtotime($a['datetime']);
- });
- // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える
- foreach ($messages as &$message) {
- $userQuery = $pdo->prepare("SELECT username, userid, profile, role, iconname, headname, sacinfo FROM account WHERE userid = :userid");
- $userQuery->bindValue(':userid', $message["account"]);
- $userQuery->execute();
- $userData = $userQuery->fetch();
+ $aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
+ $aduserinfoQuery->bindValue(':userid', htmlentities($userid));
+ $aduserinfoQuery->execute();
+ $res = $aduserinfoQuery->fetch();
+ $myblocklist = htmlentities($res["blocklist"]);
- if ($userData) {
- $message['iconname'] = $userData['iconname'];
- $message['headname'] = $userData['headname'];
- $message['username'] = $userData['username'];
- $message['sacinfo'] = $userData['sacinfo'];
- $message['role'] = $userData['role'];
- }
+ $itemsPerPage = 15; // 1ページあたりのユーズ数
+ $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
+ $offset = ($pageNumber - 1) * $itemsPerPage;
- $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
- $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
- $rpQuery->execute();
- $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
-
- if ($rpData){
- $message['reply_count'] = $rpData['reply_count'];
- }
- }
- //adsystem------------------
+ $messages = array();
- $message['ads'] = "false";
+ 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,
+ ));
- $today = date("Y-m-d H:i:s");
+ // フォローしているユーザーIDを取得し、カンマで区切る
+ $followQuery = $dbh->prepare("SELECT follow FROM account WHERE userid = :userid");
+ $followQuery->bindValue(':userid', $userid);
+ $followQuery->execute();
+ $followData = $followQuery->fetch();
+ $follow = $followData['follow'];
+ $followList = explode(',', $follow);
- $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
- $adsQuery->bindValue(':today', $today);
- $adsQuery->execute();
- $adsresult = $adsQuery->fetch();
- if(!(empty($adsresult))){
- $message['ads'] = "true";
- $message['ads_url'] = $adsresult["url"];
- $message['ads_img_url'] = $adsresult["image_url"];
- $message['ads_memo'] = $adsresult["memo"];
- }
- //--------------------------
+ // フォローしているユーザーの投稿を取得し、日時順に並び替える
+ $messages = array(); // 初期化
- if(!empty($messages)){
- foreach ($messages as $value) {
- if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
- if(!($value["role"] === "ice")){
- $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
-
- // コンマで区切って配列に分割し、要素数を数える
- $favIds = explode(',', $fav);
- $value["favcnt"] = count($favIds)-1;
-
- $messageDisplay = new MessageDisplay($value, $userid); // $userid をコンストラクタに渡す
- $messageDisplay->display();
+ foreach ($followList as $followUserId) {
+ $sql = "SELECT * FROM ueuse WHERE rpuniqid = '' AND account = :follow_account ORDER BY datetime DESC LIMIT $offset, $itemsPerPage";
+
+ $stmt = $dbh->prepare($sql);
+ $stmt->bindValue(':follow_account', $followUserId, PDO::PARAM_STR);
+ $stmt->execute();
+
+ while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
+ $messages[] = $row;
+ }
}
+ usort($messages, function($a, $b) {
+ return strtotime($b['datetime']) - strtotime($a['datetime']);
+ });
+ // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える
+ foreach ($messages as &$message) {
+ $userQuery = $pdo->prepare("SELECT username, userid, profile, role, iconname, headname, sacinfo FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $message["account"]);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+ if ($userData) {
+ $message['iconname'] = $userData['iconname'];
+ $message['headname'] = $userData['headname'];
+ $message['username'] = $userData['username'];
+ $message['sacinfo'] = $userData['sacinfo'];
+ $message['role'] = $userData['role'];
+ }
+
+ $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
+ $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
+ $rpQuery->execute();
+ $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
+
+ if ($rpData){
+ $message['reply_count'] = $rpData['reply_count'];
+ }
+ }
+ //adsystem------------------
+
+ $message['ads'] = "false";
+
+ $today = date("Y-m-d H:i:s");
+
+ $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
+ $adsQuery->bindValue(':today', $today);
+ $adsQuery->execute();
+ $adsresult = $adsQuery->fetch();
+ if(!(empty($adsresult))){
+ $message['ads'] = "true";
+ $message['ads_url'] = $adsresult["url"];
+ $message['ads_img_url'] = $adsresult["image_url"];
+ $message['ads_memo'] = $adsresult["memo"];
+ }
+ //--------------------------
+
+ if(!empty($messages)){
+ foreach ($messages as $value) {
+ if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
+ if(!($value["role"] === "ice")){
+ $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+
+ // コンマで区切って配列に分割し、要素数を数える
+ $favIds = explode(',', $fav);
+ $value["favcnt"] = count($favIds)-1;
+
+ $messageDisplay = new MessageDisplay($value, $userid); // $userid をコンストラクタに渡す
+ $messageDisplay->display();
+ }
+ }
+ }
+ if($message['ads'] === "true"){
+ echo '
![' . htmlentities($message['ads_memo']) . '](' . htmlentities($message['ads_img_url']) . ')
';
+ }
+ }else{
+ echo '
';
+ }
+
+ $pdo = null;
+
}
- }
- if($message['ads'] === "true"){
- echo '
';
+ }else{
+ echo '
';
}
}else{
- echo '
';
+ echo '
';
}
-
- $pdo = null;
-
+}else{
+echo '
';
}
-
?>
diff --git a/nextpage/nextpage.php b/nextpage/nextpage.php
index dfc4e27..8d96ab8 100644
--- a/nextpage/nextpage.php
+++ b/nextpage/nextpage.php
@@ -25,96 +25,122 @@ try {
$error_message[] = $e->getMessage();
}
-$userid = htmlentities($_GET['userid']);
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
-$aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
-$aduserinfoQuery->bindValue(':userid', htmlentities($userid));
-$aduserinfoQuery->execute();
-$res = $aduserinfoQuery->fetch();
-$myblocklist = htmlentities($res["blocklist"]);
+ // データベース接続の設定
+ $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,
+ ));
-$itemsPerPage = 15; // 1ページあたりのユーズ数
-$pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
-$offset = ($pageNumber - 1) * $itemsPerPage;
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
-$messages = array();
+ $query->execute(array(':userid' => $userid));
-if (!empty($pdo)) {
-
- $sql = "SELECT * FROM ueuse WHERE rpuniqid = '' ORDER BY datetime DESC LIMIT $offset, $itemsPerPage";
- $message_array = $pdo->query($sql);
+ $result2 = $query->fetch();
- while ($row = $message_array->fetch(PDO::FETCH_ASSOC)) {
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
- $messages[] = $row;
- }
+ $aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
+ $aduserinfoQuery->bindValue(':userid', htmlentities($userid));
+ $aduserinfoQuery->execute();
+ $res = $aduserinfoQuery->fetch();
+ $myblocklist = htmlentities($res["blocklist"]);
- // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える
- foreach ($messages as &$message) {
- $userQuery = $pdo->prepare("SELECT username, userid, profile, role, iconname, headname, sacinfo FROM account WHERE userid = :userid");
- $userQuery->bindValue(':userid', $message["account"]);
- $userQuery->execute();
- $userData = $userQuery->fetch();
+ $itemsPerPage = 15; // 1ページあたりのユーズ数
+ $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
+ $offset = ($pageNumber - 1) * $itemsPerPage;
- if ($userData) {
- $message['iconname'] = $userData['iconname'];
- $message['headname'] = $userData['headname'];
- $message['username'] = $userData['username'];
- $message['sacinfo'] = $userData['sacinfo'];
- $message['role'] = $userData['role'];
- }
+ $messages = array();
- $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
- $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
- $rpQuery->execute();
- $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
-
- if ($rpData){
- $message['reply_count'] = $rpData['reply_count'];
- }
- }
- //adsystem------------------
+ if (!empty($pdo)) {
+
+ $sql = "SELECT * FROM ueuse WHERE rpuniqid = '' ORDER BY datetime DESC LIMIT $offset, $itemsPerPage";
+ $message_array = $pdo->query($sql);
- $message['ads'] = "false";
+ while ($row = $message_array->fetch(PDO::FETCH_ASSOC)) {
- $today = date("Y-m-d H:i:s");
-
- $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
- $adsQuery->bindValue(':today', $today);
- $adsQuery->execute();
- $adsresult = $adsQuery->fetch();
- if(!(empty($adsresult))){
- $message['ads'] = "true";
- $message['ads_url'] = $adsresult["url"];
- $message['ads_img_url'] = $adsresult["image_url"];
- $message['ads_memo'] = $adsresult["memo"];
- }
- //--------------------------
-
- if(!empty($messages)){
- foreach ($messages as $value) {
- if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
- if(!($value["role"] === "ice")){
- $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
-
- // コンマで区切って配列に分割し、要素数を数える
- $favIds = explode(',', $fav);
- $value["favcnt"] = count($favIds)-1;
-
- $messageDisplay = new MessageDisplay($value, $userid); // $userid をコンストラクタに渡す
- $messageDisplay->display();
+ $messages[] = $row;
}
+
+ // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える
+ foreach ($messages as &$message) {
+ $userQuery = $pdo->prepare("SELECT username, userid, profile, role, iconname, headname, sacinfo FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $message["account"]);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+ if ($userData) {
+ $message['iconname'] = $userData['iconname'];
+ $message['headname'] = $userData['headname'];
+ $message['username'] = $userData['username'];
+ $message['sacinfo'] = $userData['sacinfo'];
+ $message['role'] = $userData['role'];
+ }
+
+ $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
+ $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
+ $rpQuery->execute();
+ $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
+
+ if ($rpData){
+ $message['reply_count'] = $rpData['reply_count'];
+ }
+ }
+ //adsystem------------------
+
+ $message['ads'] = "false";
+
+ $today = date("Y-m-d H:i:s");
+
+ $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
+ $adsQuery->bindValue(':today', $today);
+ $adsQuery->execute();
+ $adsresult = $adsQuery->fetch();
+ if(!(empty($adsresult))){
+ $message['ads'] = "true";
+ $message['ads_url'] = $adsresult["url"];
+ $message['ads_img_url'] = $adsresult["image_url"];
+ $message['ads_memo'] = $adsresult["memo"];
+ }
+ //--------------------------
+
+ if(!empty($messages)){
+ foreach ($messages as $value) {
+ if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
+ if(!($value["role"] === "ice")){
+ $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+
+ // コンマで区切って配列に分割し、要素数を数える
+ $favIds = explode(',', $fav);
+ $value["favcnt"] = count($favIds)-1;
+
+ $messageDisplay = new MessageDisplay($value, $userid); // $userid をコンストラクタに渡す
+ $messageDisplay->display();
+ }
+ }
+ }
+ if($message['ads'] === "true"){
+ echo '
![' . htmlentities($message['ads_memo']) . '](' . htmlentities($message['ads_img_url']) . ')
';
+ }
+ }else{
+ echo '
';
+ }
+
+ $pdo = null;
+
}
- }
- if($message['ads'] === "true"){
- echo '
';
+ }else{
+ echo '
';
}
}else{
- echo '
';
+ echo '
';
}
-
- $pdo = null;
-
+}else{
+ echo '
';
}
-
?>
diff --git a/nextpage/notification.php b/nextpage/notification.php
index aa62e22..f329bd4 100644
--- a/nextpage/notification.php
+++ b/nextpage/notification.php
@@ -24,51 +24,77 @@ try {
// 接続エラーのときエラー内容を取得する
$error_message[] = $e->getMessage();
}
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
-$userid = htmlentities($_GET['userid']);
-
-$itemsPerPage = 15; // 1ページあたりの投稿数
-$pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(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,
- ));
+ 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();
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
- // トランザクション開始
- $pdo->beginTransaction();
+ $query->execute(array(':userid' => $userid));
- // SQL作成
- $stmt = $pdo->prepare("UPDATE notification SET userchk = 'done' WHERE touserid = :userid;");
+ $result2 = $query->fetch();
- $stmt->bindValue(':userid', $userid, PDO::PARAM_STR);
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
+ $userid = htmlentities($_GET['userid']);
- $res = $stmt->execute();
- $res = $pdo->commit();
+ $itemsPerPage = 15; // 1ページあたりの投稿数
+ $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
+ $offset = ($pageNumber - 1) * $itemsPerPage;
- if (!empty($message_array)) {
- foreach ($message_array as $value) {
- $messageDisplay = new MessageDisplay($value); // userid を渡さない
- $messageDisplay->display();
+ $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();
+
+ // トランザクション開始
+ $pdo->beginTransaction();
+
+ // SQL作成
+ $stmt = $pdo->prepare("UPDATE notification SET userchk = 'done' WHERE touserid = :userid;");
+
+ $stmt->bindValue(':userid', $userid, PDO::PARAM_STR);
+
+ $res = $stmt->execute();
+ $res = $pdo->commit();
+
+ if (!empty($message_array)) {
+ foreach ($message_array as $value) {
+ $messageDisplay = new MessageDisplay($value); // userid を渡さない
+ $messageDisplay->display();
+ }
+ } else {
+ echo '
';
+ }
+
+
+ $pdo = null;
+
+ }
+ }else{
+ echo '
';
}
- } else {
- echo '
';
+ }else{
+ echo '
';
}
-
-
- $pdo = null;
-
+}else{
+ echo '
';
}
-
?>
diff --git a/nextpage/notificationview.php b/nextpage/notificationview.php
index 0619eac..c166949 100644
--- a/nextpage/notificationview.php
+++ b/nextpage/notificationview.php
@@ -1,4 +1,59 @@
PDO::ERRMODE_EXCEPTION,
+ PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
+ PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
+ ));
+ $emoji_Query = $dbh->prepare("SELECT emojifile, emojiname FROM emoji WHERE emojiname = :emojiname");
+ $emoji_Query->bindValue(':emojiname', $emojiName);
+ $emoji_Query->execute();
+ $emoji_row = $emoji_Query->fetch();
+ if(empty($emoji_row["emojifile"])){
+ $emoji_path = "img/sysimage/errorimage/emoji_404.png";
+ }else{
+ $emoji_path = $emoji_row["emojifile"];
+ }
+ return "

";
+ }, $postText);
+
+ // @username を検出してリンクに置き換える
+ $usernamePattern = '/@(\w+)/';
+ $postTextWithImagesAndUsernames = preg_replace_callback($usernamePattern, function($matches) {
+ $username = $matches[1];
+
+ $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,
+ ));
+
+ $mentionsuserQuery = $dbh->prepare("SELECT username, userid FROM account WHERE userid = :userid");
+ $mentionsuserQuery->bindValue(':userid', $username);
+ $mentionsuserQuery->execute();
+ $mentionsuserData = $mentionsuserQuery->fetch();
+
+ if(empty($mentionsuserData)){
+ return "@$username";
+ }else{
+ return "
@".$mentionsuserData["username"]."";
+ }
+ }, $postTextWithImages);
+
+ $hashtagsPattern = '/#([\p{Han}\p{Hiragana}\p{Katakana}A-Za-z0-9ー_]+)/u';
+ $postTextWithHashtags = preg_replace_callback($hashtagsPattern, function($matches) {
+ $hashtags = $matches[1];
+ return "
" . '#' . $hashtags . "";
+ }, $postTextWithImagesAndUsernames);
+
+ return $postTextWithHashtags;
+}
+
class MessageDisplay {
private $value;
@@ -26,8 +81,8 @@ class MessageDisplay {
echo '
';
// 投稿内のHTMLコードを表示する部分
- echo '
' . $this->value['title'] . '
';
- echo '
' . nl2br($this->value['msg']) . '
';
+ echo '
' . replaceEmojisWithImages($this->value['title']) . '
';
+ echo '
' . replaceEmojisWithImages(nl2br($this->value['msg'])) . '
';
echo '
詳細をみる';
echo '
';
diff --git a/nextpage/searchpage.php b/nextpage/searchpage.php
index 38af833..c9e1f6d 100644
--- a/nextpage/searchpage.php
+++ b/nextpage/searchpage.php
@@ -27,112 +27,138 @@ try {
$error_message[] = $e->getMessage();
}
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
-$keyword = htmlentities(isset($_GET['keyword'])) ? htmlentities($_GET['keyword']) : '';
-$userid = htmlentities($_GET['userid']);
+ // データベース接続の設定
+ $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,
+ ));
-$messages = array();
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
-if (!empty($pdo)) {
- if (!empty($keyword)) {
+ $query->execute(array(':userid' => $userid));
- $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,
- ));
+ $result2 = $query->fetch();
- $keywordPattern = '/from:@(\w+)\s+(.+)/';
- if (preg_match($keywordPattern, $keyword, $matches)) {
- $username = $matches[1];
- $searchKeyword = $matches[2];
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
+ $keyword = htmlentities(isset($_GET['keyword'])) ? htmlentities($_GET['keyword']) : '';
+ $userid = htmlentities($_GET['userid']);
- $messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE account = :username AND (ueuse LIKE :searchKeyword OR abi LIKE :searchKeyword) ORDER BY datetime DESC");
- $messageQuery->bindValue(':username', $username, PDO::PARAM_STR);
- $messageQuery->bindValue(':searchKeyword', '%' . $searchKeyword . '%', PDO::PARAM_STR);
- $messageQuery->execute();
- $message_array = $messageQuery->fetchAll();
- } else {
- $messageQuery = $dbh->prepare("SELECT * 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();
- }
+ $messages = array();
- $user_keyword = str_replace('@', '', $keyword);
- $usersQuery = $dbh->prepare("SELECT * FROM account WHERE username LIKE :keyword OR userid LIKE :keyword OR profile LIKE :keyword ORDER BY datetime DESC");
- $usersQuery->bindValue(':keyword', '%' . $user_keyword . '%', PDO::PARAM_STR);
- $usersQuery->execute();
- $users_array = $usersQuery->fetchAll();
+ if (!empty($pdo)) {
+ if (!empty($keyword)) {
- $users = array();
- foreach ($users_array as $row) {
- $users[] = $row;
- }
-
- $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
- $userQuery->bindValue(':userid', $message["account"]);
- $userQuery->execute();
- $userData = $userQuery->fetch();
+ $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,
+ ));
- if ($userData) {
- $message['iconname'] = $userData['iconname'];
- $message['headname'] = $userData['headname'];
- $message['username'] = $userData['username'];
- $message['sacinfo'] = $userData['sacinfo'];
- $message['role'] = $userData['role'];
- }
+ $keywordPattern = '/from:@(\w+)\s+(.+)/';
+ if (preg_match($keywordPattern, $keyword, $matches)) {
+ $username = $matches[1];
+ $searchKeyword = $matches[2];
- $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
- $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
- $rpQuery->execute();
- $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
-
- if ($rpData){
- $message['reply_count'] = $rpData['reply_count'];
- }
- }
+ $messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE account = :username AND (ueuse LIKE :searchKeyword OR abi LIKE :searchKeyword) ORDER BY datetime DESC");
+ $messageQuery->bindValue(':username', $username, PDO::PARAM_STR);
+ $messageQuery->bindValue(':searchKeyword', '%' . $searchKeyword . '%', PDO::PARAM_STR);
+ $messageQuery->execute();
+ $message_array = $messageQuery->fetchAll();
+ } else {
+ $messageQuery = $dbh->prepare("SELECT * 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();
+ }
- if(!empty($users)){
- foreach ($users as $uservalue) {
- $flw = $uservalue['follow'];
- $flwIds = explode(',', $flw);
- $uservalue["follow_cnt"] = count($flwIds)-1;
+ $user_keyword = str_replace('@', '', $keyword);
+ $usersQuery = $dbh->prepare("SELECT * FROM account WHERE username LIKE :keyword OR userid LIKE :keyword OR profile LIKE :keyword ORDER BY datetime DESC");
+ $usersQuery->bindValue(':keyword', '%' . $user_keyword . '%', PDO::PARAM_STR);
+ $usersQuery->execute();
+ $users_array = $usersQuery->fetchAll();
- $flr = $uservalue['follower'];
- $flrIds = explode(',', $flr);
- $uservalue["follower_cnt"] = count($flrIds)-1;
+ $users = array();
+ foreach ($users_array as $row) {
+ $users[] = $row;
+ }
+
+ $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $message["account"]);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
- $messageDisplay = new UserdataDisplay($uservalue, $userid);
- $messageDisplay->display();
- }
- }
- if(!empty($messages)){
- foreach ($messages as $value) {
+ if ($userData) {
+ $message['iconname'] = $userData['iconname'];
+ $message['headname'] = $userData['headname'];
+ $message['username'] = $userData['username'];
+ $message['sacinfo'] = $userData['sacinfo'];
+ $message['role'] = $userData['role'];
+ }
- $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+ $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
+ $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
+ $rpQuery->execute();
+ $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
+
+ if ($rpData){
+ $message['reply_count'] = $rpData['reply_count'];
+ }
+ }
- // コンマで区切って配列に分割し、要素数を数える
- $favIds = explode(',', $fav);
- $value["favcnt"] = count($favIds)-1;
-
- $messageDisplay = new MessageDisplay($value, $userid);
- $messageDisplay->display();
+ if(!empty($users)){
+ foreach ($users as $uservalue) {
+ $flw = $uservalue['follow'];
+ $flwIds = explode(',', $flw);
+ $uservalue["follow_cnt"] = count($flwIds)-1;
+
+ $flr = $uservalue['follower'];
+ $flrIds = explode(',', $flr);
+ $uservalue["follower_cnt"] = count($flrIds)-1;
+
+ $messageDisplay = new UserdataDisplay($uservalue, $userid);
+ $messageDisplay->display();
+ }
+ }
+ 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;
+ }else{
+ echo '
';
+ }
}
}else{
- echo '
';
+ echo '
';
}
-
- $pdo = null;
}else{
- echo '
';
+ echo '
';
}
+}else{
+ echo '
';
}
-
?>
diff --git a/nextpage/ueusepage.php b/nextpage/ueusepage.php
index 5650b75..23b49ca 100644
--- a/nextpage/ueusepage.php
+++ b/nextpage/ueusepage.php
@@ -24,25 +24,9 @@ try {
// 接続エラーのときエラー内容を取得する
$error_message[] = $e->getMessage();
}
-
-$userid = htmlentities($_GET['userid']);
-
-$aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
-$aduserinfoQuery->bindValue(':userid', htmlentities($userid));
-$aduserinfoQuery->execute();
-$res = $aduserinfoQuery->fetch();
-$myblocklist = htmlentities($res["blocklist"]);
-
-$ueuseid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
-
-$itemsPerPage = 15; // 1ページあたりの投稿数
-$pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
-$offset = ($pageNumber - 1) * $itemsPerPage;
-
-$messages = array();
-
-if (!empty($pdo)) {
-
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
// データベース接続の設定
$dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASS, array(
@@ -51,85 +35,143 @@ if (!empty($pdo)) {
PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
));
- // 投稿内容の取得(新しい順に取得)
- $messageQuery = $dbh->prepare("SELECT * 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();
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
-
+ $query->execute(array(':userid' => $userid));
- foreach ($message_array as $row) {
- $messages[] = $row;
- }
- // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える
- foreach ($messages as &$message) {
- $userQuery = $pdo->prepare("SELECT username, userid, profile, role, iconname, headname, sacinfo FROM account WHERE userid = :userid");
- $userQuery->bindValue(':userid', $message["account"]);
- $userQuery->execute();
- $userData = $userQuery->fetch();
+ $result2 = $query->fetch();
- if ($userData) {
- $message['iconname'] = $userData['iconname'];
- $message['headname'] = $userData['headname'];
- $message['username'] = $userData['username'];
- $message['sacinfo'] = $userData['sacinfo'];
- $message['role'] = $userData['role'];
- }
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
+ $userid = htmlentities($_GET['userid']);
- $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
- $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
- $rpQuery->execute();
- $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
-
- if ($rpData){
- $message['reply_count'] = $rpData['reply_count'];
- }
- }
+ $aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
+ $aduserinfoQuery->bindValue(':userid', htmlentities($userid));
+ $aduserinfoQuery->execute();
+ $res = $aduserinfoQuery->fetch();
+ $myblocklist = htmlentities($res["blocklist"]);
- //adsystem------------------
+ $ueuseid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
- $message['ads'] = "false";
+ $itemsPerPage = 15; // 1ページあたりの投稿数
+ $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
+ $offset = ($pageNumber - 1) * $itemsPerPage;
- $today = date("Y-m-d H:i:s");
+ $messages = array();
- $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
- $adsQuery->bindValue(':today', $today);
- $adsQuery->execute();
- $adsresult = $adsQuery->fetch();
- if(!(empty($adsresult))){
- $message['ads'] = "true";
- $message['ads_url'] = $adsresult["url"];
- $message['ads_img_url'] = $adsresult["image_url"];
- $message['ads_memo'] = $adsresult["memo"];
- }
- //--------------------------
+ if (!empty($pdo)) {
- if(!empty($messages)){
- foreach ($messages as $value) {
- if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
- $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
- // コンマで区切って配列に分割し、要素数を数える
- $favIds = explode(',', $fav);
- $value["favcnt"] = count($favIds)-1;
+ // データベース接続の設定
+ $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 * 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) {
+ if(!(empty($row["rpuniqid"]))){
+ if(!($row["rpuniqid"] == $ueuseid)){
+ $up_messageQuery = $pdo->prepare("SELECT * FROM ueuse WHERE uniqid = :ueuseid ORDER BY datetime ASC LIMIT $offset, $itemsPerPage");
+ $up_messageQuery->bindValue(':ueuseid', $row["rpuniqid"]);
+ $up_messageQuery->execute();
+ $up_messageData = $up_messageQuery->fetchAll();
+ if(!(empty($up_messageData))){
+ foreach ($up_messageData as $up_row) {
+ $up_row["up_uniqid"] = $up_row["uniqid"];
+ $messages[] = $up_row;
+ }
+ }
+ }
+ }
+ $messages[] = $row;
+
+ }
+ // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える
+ foreach ($messages as &$message) {
+ $userQuery = $pdo->prepare("SELECT username, userid, profile, role, iconname, headname, sacinfo FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $message["account"]);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+ if ($userData) {
+ $message['iconname'] = $userData['iconname'];
+ $message['headname'] = $userData['headname'];
+ $message['username'] = $userData['username'];
+ $message['sacinfo'] = $userData['sacinfo'];
+ $message['role'] = $userData['role'];
+ }
+
+ $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
+ $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
+ $rpQuery->execute();
+ $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
+
+ if ($rpData){
+ $message['reply_count'] = $rpData['reply_count'];
+ }
+ }
+
+ //adsystem------------------
+
+ $message['ads'] = "false";
+
+ $today = date("Y-m-d H:i:s");
+
+ $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
+ $adsQuery->bindValue(':today', $today);
+ $adsQuery->execute();
+ $adsresult = $adsQuery->fetch();
+ if(!(empty($adsresult))){
+ $message['ads'] = "true";
+ $message['ads_url'] = $adsresult["url"];
+ $message['ads_img_url'] = $adsresult["image_url"];
+ $message['ads_memo'] = $adsresult["memo"];
+ }
+ //--------------------------
+
+ if(!empty($messages)){
+ foreach ($messages as $value) {
+ if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
+ $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+
+ // コンマで区切って配列に分割し、要素数を数える
+ $favIds = explode(',', $fav);
+ $value["favcnt"] = count($favIds)-1;
+
+ $messageDisplay = new MessageDisplay($value, $userid);
+ $messageDisplay->display();
+ }
+ }
+ if($message['ads'] === "true"){
+ echo '
![' . htmlentities($message['ads_memo']) . '](' . htmlentities($message['ads_img_url']) . ')
';
+ }
+ }else{
+ echo '
';
+ }
+
+ $pdo = null;
- $messageDisplay = new MessageDisplay($value, $userid);
- $messageDisplay->display();
}
- }
- if($message['ads'] === "true"){
- echo '
';
+ }else{
+ echo '
';
}
}else{
- echo '
';
+ echo '
';
}
-
- $pdo = null;
-
+}else{
+ echo '
';
}
-
?>
diff --git a/nextpage/userlikepage.php b/nextpage/userlikepage.php
index 808a8aa..2b2009a 100644
--- a/nextpage/userlikepage.php
+++ b/nextpage/userlikepage.php
@@ -25,110 +25,137 @@ try {
$error_message[] = $e->getMessage();
}
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
-$uwuzuid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
-$userid = htmlentities($_GET['userid']);
-
-$aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
-$aduserinfoQuery->bindValue(':userid', htmlentities($userid));
-$aduserinfoQuery->execute();
-$res = $aduserinfoQuery->fetch();
-$myblocklist = htmlentities($res["blocklist"]);
-
-$itemsPerPage = 15; // 1ページあたりのユーズ数
-$pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(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,
- ));
+ 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 * FROM ueuse WHERE favorite LIKE :userid ORDER BY datetime DESC LIMIT $offset, $itemsPerPage");
- $messageQuery->bindValue(':userid', '%,' . $uwuzuid . '%', PDO::PARAM_STR);
-
- $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
- $userQuery->bindValue(':userid', $message["account"]);
- $userQuery->execute();
- $userData = $userQuery->fetch();
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
- if ($userData) {
- $message['iconname'] = $userData['iconname'];
- $message['headname'] = $userData['headname'];
- $message['username'] = $userData['username'];
- $message['sacinfo'] = $userData['sacinfo'];
- $message['role'] = $userData['role'];
- }
+ $query->execute(array(':userid' => $userid));
- $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
- $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
- $rpQuery->execute();
- $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
-
- if ($rpData){
- $message['reply_count'] = $rpData['reply_count'];
- }
- }
- //adsystem------------------
+ $result2 = $query->fetch();
- $message['ads'] = "false";
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
+ $uwuzuid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
+ $userid = htmlentities($_GET['userid']);
- $today = date("Y-m-d H:i:s");
+ $aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
+ $aduserinfoQuery->bindValue(':userid', htmlentities($userid));
+ $aduserinfoQuery->execute();
+ $res = $aduserinfoQuery->fetch();
+ $myblocklist = htmlentities($res["blocklist"]);
- $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
- $adsQuery->bindValue(':today', $today);
- $adsQuery->execute();
- $adsresult = $adsQuery->fetch();
- if(!(empty($adsresult))){
- $message['ads'] = "true";
- $message['ads_url'] = $adsresult["url"];
- $message['ads_img_url'] = $adsresult["image_url"];
- $message['ads_memo'] = $adsresult["memo"];
- }
- //--------------------------
+ $itemsPerPage = 15; // 1ページあたりのユーズ数
+ $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
+ $offset = ($pageNumber - 1) * $itemsPerPage;
- if(!empty($messages)){
- foreach ($messages as $value) {
- if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
+ $messages = array();
- $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+ if (!empty($pdo)) {
- // コンマで区切って配列に分割し、要素数を数える
- $favIds = explode(',', $fav);
- $value["favcnt"] = count($favIds)-1;
+ $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();
- $messageDisplay = new MessageDisplay($value, $userid);
- $messageDisplay->display();
+ $messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE favorite LIKE :userid ORDER BY datetime DESC LIMIT $offset, $itemsPerPage");
+ $messageQuery->bindValue(':userid', '%,' . $uwuzuid . '%', PDO::PARAM_STR);
+
+ $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $message["account"]);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+ if ($userData) {
+ $message['iconname'] = $userData['iconname'];
+ $message['headname'] = $userData['headname'];
+ $message['username'] = $userData['username'];
+ $message['sacinfo'] = $userData['sacinfo'];
+ $message['role'] = $userData['role'];
+ }
+
+ $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
+ $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
+ $rpQuery->execute();
+ $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
+
+ if ($rpData){
+ $message['reply_count'] = $rpData['reply_count'];
+ }
+ }
+ //adsystem------------------
+
+ $message['ads'] = "false";
+
+ $today = date("Y-m-d H:i:s");
+
+ $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
+ $adsQuery->bindValue(':today', $today);
+ $adsQuery->execute();
+ $adsresult = $adsQuery->fetch();
+ if(!(empty($adsresult))){
+ $message['ads'] = "true";
+ $message['ads_url'] = $adsresult["url"];
+ $message['ads_img_url'] = $adsresult["image_url"];
+ $message['ads_memo'] = $adsresult["memo"];
+ }
+ //--------------------------
+
+ if(!empty($messages)){
+ foreach ($messages as $value) {
+ if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
+
+ $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+
+ // コンマで区切って配列に分割し、要素数を数える
+ $favIds = explode(',', $fav);
+ $value["favcnt"] = count($favIds)-1;
+
+ $messageDisplay = new MessageDisplay($value, $userid);
+ $messageDisplay->display();
+ }
+ }
+ if($message['ads'] === "true"){
+ echo '
![' . htmlentities($message['ads_memo']) . '](' . htmlentities($message['ads_img_url']) . ')
';
+ }
+ }else{
+ echo '
';
+ }
+
+ $pdo = null;
+
}
- }
- if($message['ads'] === "true"){
- echo '
';
+ }else{
+ echo '
';
}
}else{
- echo '
';
+ echo '
';
}
-
- $pdo = null;
-
+}else{
+ echo '
';
}
?>
diff --git a/nextpage/usermediapage.php b/nextpage/usermediapage.php
index 881c0cb..1af0a75 100644
--- a/nextpage/usermediapage.php
+++ b/nextpage/usermediapage.php
@@ -25,116 +25,143 @@ try {
$error_message[] = $e->getMessage();
}
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
-$uwuzuid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
-$userid = htmlentities($_GET['userid']);
-
-$aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
-$aduserinfoQuery->bindValue(':userid', htmlentities($userid));
-$aduserinfoQuery->execute();
-$res = $aduserinfoQuery->fetch();
-$myblocklist = htmlentities($res["blocklist"]);
-
-$itemsPerPage = 15; // 1ページあたりのユーズ数
-$pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(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,
- ));
+ 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 * FROM ueuse WHERE account = :userid AND rpuniqid = '' AND (
- (photo1 IS NOT NULL AND photo1 != '' AND photo1 != 'none') OR
- (photo2 IS NOT NULL AND photo2 != '' AND photo2 != 'none') OR
- (photo3 IS NOT NULL AND photo3 != '' AND photo3 != 'none') OR
- (photo4 IS NOT NULL AND photo4 != '' AND photo4 != 'none') OR
- (video1 IS NOT NULL AND video1 != '' AND video1 != 'none')
- ) ORDER BY datetime DESC LIMIT $offset, $itemsPerPage");
-
- $messageQuery->bindValue(':userid', $uwuzuid);
- $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
- $userQuery->bindValue(':userid', $message["account"]);
- $userQuery->execute();
- $userData = $userQuery->fetch();
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
- if ($userData) {
- $message['iconname'] = $userData['iconname'];
- $message['headname'] = $userData['headname'];
- $message['username'] = $userData['username'];
- $message['sacinfo'] = $userData['sacinfo'];
- $message['role'] = $userData['role'];
- }
+ $query->execute(array(':userid' => $userid));
- $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
- $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
- $rpQuery->execute();
- $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
-
- if ($rpData){
- $message['reply_count'] = $rpData['reply_count'];
- }
- }
+ $result2 = $query->fetch();
- //adsystem------------------
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
+ $uwuzuid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
+ $userid = htmlentities($_GET['userid']);
- $message['ads'] = "false";
+ $aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
+ $aduserinfoQuery->bindValue(':userid', htmlentities($userid));
+ $aduserinfoQuery->execute();
+ $res = $aduserinfoQuery->fetch();
+ $myblocklist = htmlentities($res["blocklist"]);
- $today = date("Y-m-d H:i:s");
+ $itemsPerPage = 15; // 1ページあたりのユーズ数
+ $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
+ $offset = ($pageNumber - 1) * $itemsPerPage;
- $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
- $adsQuery->bindValue(':today', $today);
- $adsQuery->execute();
- $adsresult = $adsQuery->fetch();
- if(!(empty($adsresult))){
- $message['ads'] = "true";
- $message['ads_url'] = $adsresult["url"];
- $message['ads_img_url'] = $adsresult["image_url"];
- $message['ads_memo'] = $adsresult["memo"];
- }
- //--------------------------
+ $messages = array();
- if(!empty($messages)){
- foreach ($messages as $value) {
- if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
- $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+ if (!empty($pdo)) {
- // コンマで区切って配列に分割し、要素数を数える
- $favIds = explode(',', $fav);
- $value["favcnt"] = count($favIds)-1;
+ $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();
- $messageDisplay = new MessageDisplay($value, $userid);
- $messageDisplay->display();
+ $messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE account = :userid AND rpuniqid = '' AND (
+ (photo1 IS NOT NULL AND photo1 != '' AND photo1 != 'none') OR
+ (photo2 IS NOT NULL AND photo2 != '' AND photo2 != 'none') OR
+ (photo3 IS NOT NULL AND photo3 != '' AND photo3 != 'none') OR
+ (photo4 IS NOT NULL AND photo4 != '' AND photo4 != 'none') OR
+ (video1 IS NOT NULL AND video1 != '' AND video1 != 'none')
+ ) ORDER BY datetime DESC LIMIT $offset, $itemsPerPage");
+
+ $messageQuery->bindValue(':userid', $uwuzuid);
+ $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $message["account"]);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+ if ($userData) {
+ $message['iconname'] = $userData['iconname'];
+ $message['headname'] = $userData['headname'];
+ $message['username'] = $userData['username'];
+ $message['sacinfo'] = $userData['sacinfo'];
+ $message['role'] = $userData['role'];
+ }
+
+ $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
+ $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
+ $rpQuery->execute();
+ $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
+
+ if ($rpData){
+ $message['reply_count'] = $rpData['reply_count'];
+ }
+ }
+
+ //adsystem------------------
+
+ $message['ads'] = "false";
+
+ $today = date("Y-m-d H:i:s");
+
+ $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
+ $adsQuery->bindValue(':today', $today);
+ $adsQuery->execute();
+ $adsresult = $adsQuery->fetch();
+ if(!(empty($adsresult))){
+ $message['ads'] = "true";
+ $message['ads_url'] = $adsresult["url"];
+ $message['ads_img_url'] = $adsresult["image_url"];
+ $message['ads_memo'] = $adsresult["memo"];
+ }
+ //--------------------------
+
+ if(!empty($messages)){
+ foreach ($messages as $value) {
+ if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
+ $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+
+ // コンマで区切って配列に分割し、要素数を数える
+ $favIds = explode(',', $fav);
+ $value["favcnt"] = count($favIds)-1;
+
+ $messageDisplay = new MessageDisplay($value, $userid);
+ $messageDisplay->display();
+ }
+ }
+ if($message['ads'] === "true"){
+ echo '
![' . htmlentities($message['ads_memo']) . '](' . htmlentities($message['ads_img_url']) . ')
';
+ }
+ }else{
+ echo '
';
+ }
+
+ $pdo = null;
+
}
- }
- if($message['ads'] === "true"){
- echo '
';
+ }else{
+ echo '
';
}
}else{
- echo '
';
+ echo '
';
}
-
- $pdo = null;
-
+}else{
+ echo '
';
}
?>
diff --git a/nextpage/userpage.php b/nextpage/userpage.php
index 360d893..597ae0b 100644
--- a/nextpage/userpage.php
+++ b/nextpage/userpage.php
@@ -25,109 +25,136 @@ try {
$error_message[] = $e->getMessage();
}
+if (isset($_GET['userid']) && isset($_GET['account_id'])) {
+ $userid = htmlentities($_GET['userid']);
+ $loginid = htmlentities($_GET['account_id']);
-$uwuzuid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
-$userid = htmlentities($_GET['userid']);
-
-$aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
-$aduserinfoQuery->bindValue(':userid', htmlentities($userid));
-$aduserinfoQuery->execute();
-$res = $aduserinfoQuery->fetch();
-$myblocklist = htmlentities($res["blocklist"]);
-
-$itemsPerPage = 15; // 1ページあたりのユーズ数
-$pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(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,
- ));
+ 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 * FROM ueuse WHERE account = :userid AND rpuniqid = ''ORDER BY datetime DESC LIMIT $offset, $itemsPerPage");
- $messageQuery->bindValue(':userid', $uwuzuid);
- $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
- $userQuery->bindValue(':userid', $message["account"]);
- $userQuery->execute();
- $userData = $userQuery->fetch();
+ $query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
- if ($userData) {
- $message['iconname'] = $userData['iconname'];
- $message['headname'] = $userData['headname'];
- $message['username'] = $userData['username'];
- $message['sacinfo'] = $userData['sacinfo'];
- $message['role'] = $userData['role'];
- }
+ $query->execute(array(':userid' => $userid));
- $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
- $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
- $rpQuery->execute();
- $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
-
- if ($rpData){
- $message['reply_count'] = $rpData['reply_count'];
- }
- }
+ $result2 = $query->fetch();
- //adsystem------------------
+ if(!(empty($result2["loginid"]))){
+ if($result2["loginid"] === $loginid){
+ $uwuzuid = htmlentities(isset($_GET['id'])) ? htmlentities($_GET['id']) : '';
+ $userid = htmlentities($_GET['userid']);
- $message['ads'] = "false";
+ $aduserinfoQuery = $pdo->prepare("SELECT username,userid,loginid,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
+ $aduserinfoQuery->bindValue(':userid', htmlentities($userid));
+ $aduserinfoQuery->execute();
+ $res = $aduserinfoQuery->fetch();
+ $myblocklist = htmlentities($res["blocklist"]);
- $today = date("Y-m-d H:i:s");
+ $itemsPerPage = 15; // 1ページあたりのユーズ数
+ $pageNumber = htmlentities(isset($_GET['page'])) ? htmlentities(intval($_GET['page'])) : 1;
+ $offset = ($pageNumber - 1) * $itemsPerPage;
- $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
- $adsQuery->bindValue(':today', $today);
- $adsQuery->execute();
- $adsresult = $adsQuery->fetch();
- if(!(empty($adsresult))){
- $message['ads'] = "true";
- $message['ads_url'] = $adsresult["url"];
- $message['ads_img_url'] = $adsresult["image_url"];
- $message['ads_memo'] = $adsresult["memo"];
- }
- //--------------------------
+ $messages = array();
- if(!empty($messages)){
- foreach ($messages as $value) {
- if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
- $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+ if (!empty($pdo)) {
- // コンマで区切って配列に分割し、要素数を数える
- $favIds = explode(',', $fav);
- $value["favcnt"] = count($favIds)-1;
+ $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();
- $messageDisplay = new MessageDisplay($value, $userid);
- $messageDisplay->display();
+ $messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE account = :userid AND rpuniqid = ''ORDER BY datetime DESC LIMIT $offset, $itemsPerPage");
+ $messageQuery->bindValue(':userid', $uwuzuid);
+ $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, iconname, headname, sacinfo FROM account WHERE userid = :userid");
+ $userQuery->bindValue(':userid', $message["account"]);
+ $userQuery->execute();
+ $userData = $userQuery->fetch();
+
+ if ($userData) {
+ $message['iconname'] = $userData['iconname'];
+ $message['headname'] = $userData['headname'];
+ $message['username'] = $userData['username'];
+ $message['sacinfo'] = $userData['sacinfo'];
+ $message['role'] = $userData['role'];
+ }
+
+ $rpQuery = $pdo->prepare("SELECT COUNT(*) as reply_count FROM ueuse WHERE rpuniqid = :rpuniqid");
+ $rpQuery->bindValue(':rpuniqid', $message['uniqid']);
+ $rpQuery->execute();
+ $rpData = $rpQuery->fetch(PDO::FETCH_ASSOC);
+
+ if ($rpData){
+ $message['reply_count'] = $rpData['reply_count'];
+ }
+ }
+
+ //adsystem------------------
+
+ $message['ads'] = "false";
+
+ $today = date("Y-m-d H:i:s");
+
+ $adsQuery = $pdo->prepare("SELECT * FROM ads WHERE start_date < :today AND limit_date > :today ORDER BY rand()");
+ $adsQuery->bindValue(':today', $today);
+ $adsQuery->execute();
+ $adsresult = $adsQuery->fetch();
+ if(!(empty($adsresult))){
+ $message['ads'] = "true";
+ $message['ads_url'] = $adsresult["url"];
+ $message['ads_img_url'] = $adsresult["image_url"];
+ $message['ads_memo'] = $adsresult["memo"];
+ }
+ //--------------------------
+
+ if(!empty($messages)){
+ foreach ($messages as $value) {
+ if (false === strpos($myblocklist, ','.htmlentities($value['account'], ENT_QUOTES, 'UTF-8'))) {
+ $fav = $value['favorite']; // コンマで区切られたユーザーIDを含む変数
+
+ // コンマで区切って配列に分割し、要素数を数える
+ $favIds = explode(',', $fav);
+ $value["favcnt"] = count($favIds)-1;
+
+ $messageDisplay = new MessageDisplay($value, $userid);
+ $messageDisplay->display();
+ }
+ }
+ if($message['ads'] === "true"){
+ echo '
![' . htmlentities($message['ads_memo']) . '](' . htmlentities($message['ads_img_url']) . ')
';
+ }
+ }else{
+ echo '
';
+ }
+
+ $pdo = null;
+
}
- }
- if($message['ads'] === "true"){
- echo '
';
+ }else{
+ echo '
';
}
}else{
- echo '
';
+ echo '
';
}
-
- $pdo = null;
-
+}else{
+ echo '
';
}
?>
diff --git a/nextpage/view.php b/nextpage/view.php
index fc0a34f..8f2c275 100644
--- a/nextpage/view.php
+++ b/nextpage/view.php
@@ -17,14 +17,53 @@ function processMarkdownAndWrapEmptyLines($markdownText){
return $markdownText;
}
-
-// ユーズ内の絵文字を画像に置き換える
+//Profile
+function replaceProfileEmojiImages($postText) {
+ // プロフィール名で絵文字名(:emoji:)を検出して画像に置き換える
+ $emojiPattern = '/:(\w+):/';
+ $postTextWithImages = preg_replace_callback($emojiPattern, function($matches) {
+ $emojiName = $matches[1];
+ //絵文字path取得
+ $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,
+ ));
+ $emoji_Query = $dbh->prepare("SELECT emojifile, emojiname FROM emoji WHERE emojiname = :emojiname");
+ $emoji_Query->bindValue(':emojiname', $emojiName);
+ $emoji_Query->execute();
+ $emoji_row = $emoji_Query->fetch();
+ if(empty($emoji_row["emojifile"])){
+ $emoji_path = "img/sysimage/errorimage/emoji_404.png";
+ }else{
+ $emoji_path = $emoji_row["emojifile"];
+ }
+ return "

";
+ }, $postText);
+ return $postTextWithImages;
+}
+// ユーズ内の絵文字やhashtagを画像に置き換える
function replaceEmojisWithImages($postText) {
// ユーズ内で絵文字名(:emoji:)を検出して画像に置き換える
$emojiPattern = '/:(\w+):/';
$postTextWithImages = preg_replace_callback($emojiPattern, function($matches) {
$emojiName = $matches[1];
- return "
 . ")
";
+ //絵文字path取得
+ $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,
+ ));
+ $emoji_Query = $dbh->prepare("SELECT emojifile, emojiname FROM emoji WHERE emojiname = :emojiname");
+ $emoji_Query->bindValue(':emojiname', $emojiName);
+ $emoji_Query->execute();
+ $emoji_row = $emoji_Query->fetch();
+ if(empty($emoji_row["emojifile"])){
+ $emoji_path = "img/sysimage/errorimage/emoji_404.png";
+ }else{
+ $emoji_path = $emoji_row["emojifile"];
+ }
+ return "

";
}, $postText);
// @username を検出してリンクに置き換える
@@ -73,8 +112,18 @@ function replaceURLsWithLinks($postText) {
if (!isset($parsedUrl['path'])) {
$parsedUrl['path'] = '';
}
- $domain = $parsedUrl['host'].(strlen($parsedUrl['path']) > 24 ? substr($parsedUrl['path'], 0, 24) . '...' : $parsedUrl['path']);
-
+ if (!isset($parsedUrl['query'])) {
+ $parsedUrl['query'] = '';
+ }
+
+ $nochk_domain = $parsedUrl['host'].$parsedUrl['path'].$parsedUrl['query'];
+
+ if(strlen($nochk_domain) > 47){
+ $domain = mb_substr($nochk_domain, 0, 48, "UTF-8")."...";
+ }else{
+ $domain = $nochk_domain;
+ }
+
// 不要な文字を削除してaタグを生成
$urlWithoutSpaces = preg_replace('/\s+/', '', $url);
$link = "
$domain";
@@ -169,7 +218,7 @@ class MessageDisplay {
echo '
';
echo '
 . ')
';
- echo '
' . htmlentities($this->value['username']) . '';
+ echo '
' . replaceProfileEmojiImages(htmlentities($this->value['username'])) . '
';
echo '
';
@@ -219,27 +268,27 @@ class MessageDisplay {
if (!empty($this->value['photo4']) && $this->value['photo4'] !== 'none') {
echo '
';
- echo '
.')
';
- echo '
.')
';
- echo '
.')
';
- echo '
.')
';
+ echo '
.')
';
+ echo '
.')
';
+ echo '
.')
';
+ echo '
.')
';
echo '
';
} elseif (!empty($this->value['photo3']) && $this->value['photo3'] !== 'none') {
echo '
';
- echo '
.')
';
- echo '
.')
';
+ echo '
.')
';
+ echo '
.')
';
echo '
';
- echo '
.')
';
+ echo '
.')
';
echo '
';
echo '
';
} elseif (!empty($this->value['photo2']) && $this->value['photo2'] !== 'none') {
echo '
';
- echo '
.')
';
- echo '
.')
';
+ echo '
.')
';
+ echo '
.')
';
echo '
';
} elseif (!empty($this->value['photo1']) && $this->value['photo1'] !== 'none') {
echo '
';
- echo '
.')
';
+ echo '
.')
';
echo '
';
}
if (!empty($this->value['video1']) && $this->value['video1'] !== 'none') {
diff --git a/nodeinfo/2.1/index.php b/nodeinfo/2.1/index.php
index d23b297..f0d190d 100644
--- a/nodeinfo/2.1/index.php
+++ b/nodeinfo/2.1/index.php
@@ -1,6 +1,7 @@
getMessage();
}
-if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
+if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] == true) {
$passQuery = $pdo->prepare("SELECT username,userid,loginid,follow,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
$passQuery->bindValue(':userid', htmlentities($_SESSION['userid']));
@@ -50,7 +53,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){
+ }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // セッションに格納されている値をそのままセット
$username = htmlentities($res['username']); // セッションに格納されている値をそのままセット
@@ -67,21 +70,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -98,7 +109,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){
+ }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // クッキーから取得した値をセット
$username = htmlentities($res['username']); // クッキーから取得した値をセット
@@ -115,21 +126,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -149,7 +168,7 @@ if(empty($userid)){
if(empty($username)){
header("Location: ../login.php");
exit;
-}
+}
if(!($res["admin"] === "yes")){
header("Location: ../login.php");
@@ -271,14 +290,14 @@ $pdo = null;
-
-
-
+
+
+
-
お知らせ配信 -
+
お知らせ配信 -
diff --git a/notification/index.php b/notification/index.php
index 8568358..a86a364 100644
--- a/notification/index.php
+++ b/notification/index.php
@@ -1,6 +1,8 @@
getMessage();
}
-if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
+if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] == true) {
$passQuery = $pdo->prepare("SELECT username,userid,loginid,follow,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
$passQuery->bindValue(':userid', htmlentities($_SESSION['userid']));
@@ -51,7 +53,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){
+ }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // セッションに格納されている値をそのままセット
$username = htmlentities($res['username']); // セッションに格納されている値をそのままセット
@@ -68,21 +70,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -99,7 +109,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){
+ }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // クッキーから取得した値をセット
$username = htmlentities($res['username']); // クッキーから取得した値をセット
@@ -116,21 +126,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -150,7 +168,7 @@ if(empty($userid)){
if(empty($username)){
header("Location: ../login.php");
exit;
-}
+}
$notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'");
$notiQuery->bindValue(':userid', $userid);
$notiQuery->execute();
@@ -169,13 +187,13 @@ $pdo = null;
-
-
-
+
+
+
-
通知 -
+
通知 -
@@ -223,10 +241,11 @@ $(document).ready(function() {
isLoading = true;
$("#loading").show();
var userid = '';
+ var account_id = '';
$.ajax({
url: '../nextpage/notification.php', // PHPファイルへのパス
method: 'GET',
- data: { page: pageNumber, userid: userid },
+ data: { page: pageNumber, userid: userid , account_id: account_id },
dataType: 'html',
success: function(response) {
$('#postContainer').append(response);
diff --git a/others/index.php b/others/index.php
index 1ab9f80..36a6fde 100644
--- a/others/index.php
+++ b/others/index.php
@@ -4,8 +4,10 @@ function random_token($length = 64)
{
return substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $length);
}
+$domain = $_SERVER['HTTP_HOST'];
+$serversettings_file = "../server/serversettings.ini";
+$serversettings = parse_ini_file($serversettings_file, true);
-$servernamefile = "../server/servername.txt";
function createUniqId(){
list($msec, $sec) = explode(" ", microtime());
$hashCreateTime = $sec.floor($msec*1000000);
@@ -29,17 +31,10 @@ $res = null;
$option = null;
session_name('uwuzu_s_id');
+session_set_cookie_params(0, '', '', true, true);
session_start();
session_regenerate_id(true);
-// 管理者としてログインしているか確認
-if( empty($_SESSION['admin_login']) || $_SESSION['admin_login'] !== true ) {
- // ログインページへリダイレクト
- header("Location: ../login.php");
- exit;
-}
-
-
try {
$option = array(
@@ -54,7 +49,7 @@ try {
$error_message[] = $e->getMessage();
}
-if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
+if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] == true) {
$passQuery = $pdo->prepare("SELECT username,userid,loginid,follow,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
$passQuery->bindValue(':userid', htmlentities($_SESSION['userid']));
@@ -63,7 +58,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){
+ }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // セッションに格納されている値をそのままセット
$username = htmlentities($res['username']); // セッションに格納されている値をそのままセット
@@ -80,21 +75,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -111,7 +114,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){
+ }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // クッキーから取得した値をセット
$username = htmlentities($res['username']); // クッキーから取得した値をセット
@@ -128,21 +131,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -162,7 +173,7 @@ if(empty($userid)){
if(empty($username)){
header("Location: ../login.php");
exit;
-}
+}
$notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'");
$notiQuery->bindValue(':userid', $userid);
$notiQuery->execute();
@@ -476,14 +487,14 @@ require('../logout/logout.php');
-
-
-
+
+
+
-
その他の項目 -
+
その他の項目 -
@@ -521,29 +532,29 @@ require('../logout/logout.php');
APIの簡単な使用法です。
サーバー情報取得API
-
https://[ドメイン名(uwuzu.netなど)]/api/serverinfo-api
+
https:///api/serverinfo-api
これによりサーバーの各種情報を取得できます。
ユーザー情報取得API
-
https://[ドメイン名(uwuzu.netなど)]/api/userdata-api?userid=[ユーザーID]
+
https:///api/userdata-api?userid=[ユーザーID]
これによりユーザーのユーザーネーム(user_name)、プロフィール(profile)、登録日時(registered_date)、フォローしている人一覧(follow)、フォロワー一覧(follower)、フォロー・フォロワー数(follow_cnt,follower_cnt)が取得できます。
単独投稿取得API
-
https://[ドメイン名(uwuzu.netなど)]/api/ueuse-api?ueuseid=[投稿の詳細ページのリンクより投稿のID(!より後、~より手前の文字列)]
+
https:///api/ueuse-api?ueuseid=[投稿の詳細ページのリンクより投稿のID(!より後、~より手前の文字列)]
これにより投稿内容(ueuse)と、ユーザーネーム(user_name)、ユーザーID(userid)、投稿ID(uniqid)、写真・動画URL(photo1,photo2,video1)、いいねした人一覧(favorite)、いいね数(favorite_cnt)、投稿日時(datetime)、追記内容(abi)、追記日時(abidatetime)が取得できます。
ローカルタイムライン投稿取得API
-
https://[ドメイン名(uwuzu.netなど)]/api/ltl-api?limit=[取得件数]&page=[ページ切り替え]
+
https:///api/ltl-api?limit=[取得件数]&page=[ページ切り替え]
これにより投稿内容(ueuse)と、ユーザーネーム(user_name)、ユーザーID(userid)、投稿ID(uniqid)、写真・動画URL(photo1,photo2,video1)、いいねした人一覧(favorite)、いいね数(favorite_cnt)、投稿日時(datetime)、追記内容(abi)、追記日時(abidatetime)が取得できます。
page=は指定しなくても動作します。(https://[ドメイン名(uwuzu.netなど)]/api/ltl-api?limit=[取得件数])
投稿API
-
https://[ドメイン名(uwuzu.netなど)]/api/bot-api?token=[アクセストークン]&type=post&ueuse=[投稿の内容]
+
https:///api/bot-api?token=[アクセストークン]&type=post&ueuse=[投稿の内容]
アクセストークンからユーザー情報取得API
-
https://[ドメイン名(uwuzu.netなど)]/api/bot-api?token=[アクセストークン]&type=getuser
+
https:///api/bot-api?token=[アクセストークン]&type=getuser
返信API
-
https://[ドメイン名(uwuzu.netなど)]/api/bot-api?token=[アクセストークン]&type=reply&uniqid=[返信先のuniqid]&ueuse=[返信の内容]
+
https:///api/bot-api?token=[アクセストークン]&type=reply&uniqid=[返信先のuniqid]&ueuse=[返信の内容]
getMessage();
}
-if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
+if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] == true) {
$passQuery = $pdo->prepare("SELECT username,userid,loginid,follow,admin,role,sacinfo,blocklist FROM account WHERE userid = :userid");
$passQuery->bindValue(':userid', htmlentities($_SESSION['userid']));
@@ -50,7 +48,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] === $res["userid"]){
+ }elseif($_SESSION['loginid'] === $res["loginid"] && $_SESSION['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // セッションに格納されている値をそのままセット
$username = htmlentities($res['username']); // セッションに格納されている値をそのままセット
@@ -67,21 +65,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -98,7 +104,7 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
if(empty($res["userid"])){
header("Location: ../login.php");
exit;
- }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] === $res["userid"]){
+ }elseif($_COOKIE['loginid'] === $res["loginid"] && $_COOKIE['userid'] == $res["userid"]){
// セッションに値をセット
$userid = htmlentities($res['userid']); // クッキーから取得した値をセット
$username = htmlentities($res['username']); // クッキーから取得した値をセット
@@ -115,21 +121,29 @@ if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) {
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('username', $username,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('loginid', $res["loginid"],[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
setcookie('admin_login', true,[
'expires' => time() + 60 * 60 * 24 * 14,
'path' => '/',
'samesite' => 'lax',
+ 'secure' => true,
+ 'httponly' => true,
]);
}else{
header("Location: ../login.php");
@@ -149,7 +163,7 @@ if(empty($userid)){
if(empty($username)){
header("Location: ../login.php");
exit;
-}
+}
$notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'");
$notiQuery->bindValue(':userid', $userid);
$notiQuery->execute();
@@ -165,13 +179,13 @@ require('../logout/logout.php');
-
+
-
-
+
+
-
アクセストークン発行完了 -
+
アクセストークン発行完了 -
diff --git a/passrecovery/badrecovery.php b/passrecovery/badrecovery.php
index 21c7fd7..4249f1c 100644
--- a/passrecovery/badrecovery.php
+++ b/passrecovery/badrecovery.php
@@ -1,13 +1,7 @@
@@ -15,12 +9,12 @@ for( $i=0;$i<$cnt;$i++ ){
-
-
+
+
-
残念なお知らせ -
+
残念なお知らせ -
@@ -29,9 +23,9 @@ for( $i=0;$i<$cnt;$i++ ){
-
+
diff --git a/passrecovery/donerecovery.php b/passrecovery/donerecovery.php
index e78983c..a780855 100644
--- a/passrecovery/donerecovery.php
+++ b/passrecovery/donerecovery.php
@@ -1,13 +1,7 @@
@@ -15,12 +9,12 @@ for( $i=0;$i<$cnt;$i++ ){
-
-
+
+
-
パスワード変更完了 -
+
パスワード変更完了 -
@@ -29,9 +23,9 @@ for( $i=0;$i<$cnt;$i++ ){
-
+
diff --git a/passrecovery/index.php b/passrecovery/index.php
index 9e22d9a..3ac2dda 100644
--- a/passrecovery/index.php
+++ b/passrecovery/index.php
@@ -1,14 +1,8 @@
-
-
+
+
-
パスワードの復元 -
+
パスワードの復元 -
-
+
diff --git a/passrecovery/startrecovery.php b/passrecovery/startrecovery.php
index e0cc72b..5d8d89f 100644
--- a/passrecovery/startrecovery.php
+++ b/passrecovery/startrecovery.php
@@ -1,14 +1,8 @@
-
-
+
+
-
ログイン -
+
ログイン -
-
+
diff --git a/require/botbox.php b/require/botbox.php
index 05b1e92..ebb0546 100644
--- a/require/botbox.php
+++ b/require/botbox.php
@@ -16,7 +16,6 @@