1
0
mirror of https://github.com/Daichimarukana/uwuzu.git synced 2026-06-04 19:14:41 +00:00

uwuzu v1.4.11 Funium

This commit is contained in:
Daichimarukana
2024-12-29 17:21:14 +09:00
parent b6069366d1
commit 79328e826c
49 changed files with 648 additions and 717 deletions
+1 -2
View File
@@ -5,8 +5,7 @@ $serversettings = parse_ini_file($serversettings_file, true);
require("../../function/function.php"); require("../../function/function.php");
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/xml"); header("Content-Type: application/xml; charset=UTF-8");
header("charset=UTF-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+1 -2
View File
@@ -5,8 +5,7 @@ $serversettings = parse_ini_file($serversettings_file, true);
require("../../function/function.php"); require("../../function/function.php");
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/activity+json"); header("Content-Type: application/activity+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+1 -2
View File
@@ -5,8 +5,7 @@ $serversettings = parse_ini_file($serversettings_file, true);
require("../../function/function.php"); require("../../function/function.php");
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/jrd+json"); header("Content-Type: application/jrd+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+1 -2
View File
@@ -5,8 +5,7 @@ $serversettings = parse_ini_file($serversettings_file, true);
require("../function/function.php"); require("../function/function.php");
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/activity+json"); header("Content-Type: application/activity+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+1 -2
View File
@@ -1,6 +1,5 @@
<?php <?php
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$err = "API_has_been_deleted"; $err = "API_has_been_deleted";
+1 -2
View File
@@ -14,8 +14,7 @@ $banurldomainfile = "../../server/banurldomain.txt";
$banurl_info = file_get_contents($banurldomainfile); $banurl_info = file_get_contents($banurldomainfile);
$banurl = preg_split("/\r\n|\n|\r/", $banurl_info); $banurl = preg_split("/\r\n|\n|\r/", $banurl_info);
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -14,8 +14,7 @@ $banurldomainfile = "../../server/banurldomain.txt";
$banurl_info = file_get_contents($banurldomainfile); $banurl_info = file_get_contents($banurldomainfile);
$banurl = preg_split("/\r\n|\n|\r/", $banurl_info); $banurl = preg_split("/\r\n|\n|\r/", $banurl_info);
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+3 -3
View File
@@ -1,10 +1,8 @@
<?php <?php
require("../function/function.php"); require("../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
function random_iv($length = 16){ function random_iv($length = 16){
return substr(str_shuffle('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'), 0, $length); return substr(str_shuffle('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'), 0, $length);
} }
@@ -60,6 +58,7 @@ if(isset($_GET['migration_code'])) {
$res = $pdo->commit(); $res = $pdo->commit();
} catch(Exception $e) { } catch(Exception $e) {
$pdo->rollBack(); $pdo->rollBack();
actionLog($account, "error", "migration-api", null, $e, 4);
} }
$newrole = "ice"; $newrole = "ice";
$newtoken = "ice"; $newtoken = "ice";
@@ -87,6 +86,7 @@ if(isset($_GET['migration_code'])) {
// エラーが発生した時はロールバック // エラーが発生した時はロールバック
$pdo->rollBack(); $pdo->rollBack();
actionLog($account, "error", "migration-api", null, $e, 4);
} }
//メール送信はナシ //メール送信はナシ
//------------ //------------
+1 -2
View File
@@ -1,8 +1,7 @@
<?php <?php
require("../function/function.php"); require("../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$mojisizefile = "../server/textsize.txt"; $mojisizefile = "../server/textsize.txt";
+1 -2
View File
@@ -14,8 +14,7 @@ $banurldomainfile = "../../server/banurldomain.txt";
$banurl_info = file_get_contents($banurldomainfile); $banurl_info = file_get_contents($banurldomainfile);
$banurl = preg_split("/\r\n|\n|\r/", $banurl_info); $banurl = preg_split("/\r\n|\n|\r/", $banurl_info);
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -14,8 +14,7 @@ $banurldomainfile = "../../server/banurldomain.txt";
$banurl_info = file_get_contents($banurldomainfile); $banurl_info = file_get_contents($banurldomainfile);
$banurl = preg_split("/\r\n|\n|\r/", $banurl_info); $banurl = preg_split("/\r\n|\n|\r/", $banurl_info);
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $domain = $_SERVER['HTTP_HOST'];
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -14,8 +14,7 @@ $banurldomainfile = "../../server/banurldomain.txt";
$banurl_info = file_get_contents($banurldomainfile); $banurl_info = file_get_contents($banurldomainfile);
$banurl = preg_split("/\r\n|\n|\r/", $banurl_info); $banurl = preg_split("/\r\n|\n|\r/", $banurl_info);
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
+1 -2
View File
@@ -4,8 +4,7 @@ $serversettings_file = "../../server/serversettings.ini";
$serversettings = parse_ini_file($serversettings_file, true); $serversettings = parse_ini_file($serversettings_file, true);
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$mojisizefile = "../../server/textsize.txt"; $mojisizefile = "../../server/textsize.txt";
+74 -13
View File
@@ -144,6 +144,57 @@ function base64_mime($Base64,$userid){
return false; return false;
} }
} }
//APIユーズと通常ユーズ統合時に使うのでけさない
function base64_to_files($Base64, $userid) {
// Base64デコード
$decodedData = base64_decode($Base64);
if ($decodedData === false) {
return false;
}
// MIMEタイプの検出
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_buffer($finfo, $decodedData);
finfo_close($finfo);
// 許可されているMIMEタイプと拡張子の対応
$safe_img_mime = [
"image/gif" => 'gif',
"image/jpeg" => 'jpg',
"image/png" => 'png',
"image/svg+xml" => 'svg',
"image/webp" => 'webp',
"image/bmp" => 'bmp',
"image/x-icon" => 'ico',
"image/tiff" => 'tiff'
];
if (!(isset($safe_img_mime[$mime_type]))) {
return false;
}
$extension = $safe_img_mime[$mime_type];
// 一時ファイルを作成
$temp_file = tempnam(sys_get_temp_dir(), 'img');
file_put_contents($temp_file, $decodedData);
// 必要に応じてEXIFデータを削除
delete_exif($extension, $temp_file);
// ファイル名とアップロードパスを生成
$newFilename = createUniqId() . '-' . $userid . '.' . $extension;
// $_FILES形式の配列を作成して返す
return [
'name' => $newFilename,
'type' => $mime_type,
'tmp_name' => $temp_file,
'error' => 0,
'size' => filesize($temp_file),
];
}
function resizeImage($filePath, $maxWidth, $maxHeight) { function resizeImage($filePath, $maxWidth, $maxHeight) {
if (file_exists($filePath)) { if (file_exists($filePath)) {
// 元の画像タイプを取得 // 元の画像タイプを取得
@@ -670,11 +721,13 @@ function send_notification($to,$from,$title,$message,$url,$category){
return true; return true;
}else{ }else{
$pdo->rollBack(); $pdo->rollBack();
actionLog($from, "error", "send_notification", $to, "通知の送信に失敗しました(rollBack)", 3);
return false; return false;
} }
} catch(Exception $e) { } catch(Exception $e) {
$pdo->rollBack(); $pdo->rollBack();
actionLog($from, "error", "send_notification", $to, $e, 4);
return false; return false;
} }
}else{ }else{
@@ -728,13 +781,12 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
} }
if(!(empty($pdo))){ if(!(empty($pdo))){
$userData = getUserData($pdo, $userid);
$result = $pdo->prepare("SELECT username FROM account WHERE userid = :userid"); $username = safetext($userData["username"]);
$result->bindValue(':userid', $userid); $userRoleList = explode(',', safetext($userData["role"]));
$result->execute(); if(in_array("ice", $userRoleList)){
$row = $result->fetch(); $error_message[] = 'アカウントが凍結されています。(ACCOUNT_HAS_BEEN_FROZEN)';
$username = safetext($row["username"]); }
$ueuse = safetext($ueuse); $ueuse = safetext($ueuse);
if(safetext($nsfw) === "true"){ if(safetext($nsfw) === "true"){
$save_nsfw = "true"; $save_nsfw = "true";
@@ -771,6 +823,7 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
$rate_Query->execute(); $rate_Query->execute();
$rate_count = $rate_Query->rowCount(); $rate_count = $rate_Query->rowCount();
if(!($rate_count > $max_ueuse_rate_limit-1)){ if(!($rate_count > $max_ueuse_rate_limit-1)){
if(empty($error_message)) {
if (empty($photo1['name'])) { if (empty($photo1['name'])) {
$save_photo1 = "none"; $save_photo1 = "none";
} else { } else {
@@ -780,7 +833,7 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
if(!(empty($uploadedFile['tmp_name']))){ if(!(empty($uploadedFile['tmp_name']))){
if(check_mime($uploadedFile['tmp_name'])){ if(check_mime($uploadedFile['tmp_name'])){
// アップロードされたファイルの拡張子を取得 // アップロードされたファイルの拡張子を取得
$extension = pathinfo($uploadedFile['name'], PATHINFO_EXTENSION); $extension = strtolower(pathinfo($uploadedFile['name'], PATHINFO_EXTENSION));
// 新しいファイル名を生成(uniqid + 拡張子) // 新しいファイル名を生成(uniqid + 拡張子)
$newFilename = createUniqId() . '-'.$userid.'.' . $extension; $newFilename = createUniqId() . '-'.$userid.'.' . $extension;
// 保存先のパスを生成 // 保存先のパスを生成
@@ -823,13 +876,13 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
if(!(empty($uploadedFile2['tmp_name']))){ if(!(empty($uploadedFile2['tmp_name']))){
if(check_mime($uploadedFile2['tmp_name'])){ if(check_mime($uploadedFile2['tmp_name'])){
// アップロードされたファイルの拡張子を取得 // アップロードされたファイルの拡張子を取得
$extension2 = pathinfo($uploadedFile2['name'], PATHINFO_EXTENSION); $extension2 = strtolower(pathinfo($uploadedFile2['name'], PATHINFO_EXTENSION));
// 新しいファイル名を生成(uniqid + 拡張子) // 新しいファイル名を生成(uniqid + 拡張子)
$newFilename2 = createUniqId() . '-'.$userid.'.' . $extension2; $newFilename2 = createUniqId() . '-'.$userid.'.' . $extension2;
// 保存先のパスを生成 // 保存先のパスを生成
$uploadedPath2 = '../ueuseimages/' . $newFilename2; $uploadedPath2 = '../ueuseimages/' . $newFilename2;
// EXIF削除 // EXIF削除
delete_exif($extension, $uploadedFile2['tmp_name']); delete_exif($extension2, $uploadedFile2['tmp_name']);
// ファイルを移動 // ファイルを移動
$result2 = move_uploaded_file($uploadedFile2['tmp_name'], $uploadedPath2); $result2 = move_uploaded_file($uploadedFile2['tmp_name'], $uploadedPath2);
if ($result2) { if ($result2) {
@@ -865,7 +918,7 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
if(!(empty($uploadedFile3['tmp_name']))){ if(!(empty($uploadedFile3['tmp_name']))){
if(check_mime($uploadedFile3['tmp_name'])){ if(check_mime($uploadedFile3['tmp_name'])){
// アップロードされたファイルの拡張子を取得 // アップロードされたファイルの拡張子を取得
$extension3 = pathinfo($uploadedFile3['name'], PATHINFO_EXTENSION); $extension3 = strtolower(pathinfo($uploadedFile3['name'], PATHINFO_EXTENSION));
// 新しいファイル名を生成(uniqid + 拡張子) // 新しいファイル名を生成(uniqid + 拡張子)
$newFilename3 = createUniqId() . '-'.$userid.'.' . $extension3; $newFilename3 = createUniqId() . '-'.$userid.'.' . $extension3;
// 保存先のパスを生成 // 保存先のパスを生成
@@ -906,7 +959,7 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
if(!(empty($uploadedFile4['tmp_name']))){ if(!(empty($uploadedFile4['tmp_name']))){
if(check_mime($uploadedFile4['tmp_name'])){ if(check_mime($uploadedFile4['tmp_name'])){
// アップロードされたファイルの拡張子を取得 // アップロードされたファイルの拡張子を取得
$extension4 = pathinfo($uploadedFile4['name'], PATHINFO_EXTENSION); $extension4 = strtolower(pathinfo($uploadedFile4['name'], PATHINFO_EXTENSION));
// 新しいファイル名を生成(uniqid + 拡張子) // 新しいファイル名を生成(uniqid + 拡張子)
$newFilename4 = createUniqId() . '-'.$userid.'.' . $extension4; $newFilename4 = createUniqId() . '-'.$userid.'.' . $extension4;
// 保存先のパスを生成 // 保存先のパスを生成
@@ -1146,11 +1199,15 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
$pdo->rollBack(); $pdo->rollBack();
actionLog($userid, "error", "send_ueuse", null, $e, 4); actionLog($userid, "error", "send_ueuse", null, $e, 4);
} }
}else{
$error_message[] = '返信とリユーズを同時に行うことはできません。(ERROR)';
return $error_message;
} }
if( $res ) { if( $res ) {
return null; return null;
} else { } else {
$error_message[] = $e->getMessage(); $error_message[] = "ユーズに失敗しました。(REGISTERED_DAME)";
return $error_message; return $error_message;
} }
@@ -1160,6 +1217,10 @@ function send_ueuse($userid,$rpUniqid,$ruUniqid,$ueuse,$photo1,$photo2,$photo3,$
actionLog($userid, "error", "send_ueuse", null, $error_message, 0); actionLog($userid, "error", "send_ueuse", null, $error_message, 0);
return $error_message; return $error_message;
} }
}else{
actionLog($userid, "error", "send_ueuse", null, $error_message, 0);
return $error_message;
}
}else{ }else{
$error_message[] = "投稿回数のレート制限を超過しています。(OVER_RATE_LIMIT)"; $error_message[] = "投稿回数のレート制限を超過しています。(OVER_RATE_LIMIT)";
actionLog($userid, "error", "send_ueuse", null, $error_message, 0); actionLog($userid, "error", "send_ueuse", null, $error_message, 0);
+2 -15
View File
@@ -23,14 +23,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -58,14 +51,8 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
if (!empty($pdo)) { 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を取得し、カンマで区切る // フォローしているユーザーIDを取得し、カンマで区切る
$bookmarkQuery = $dbh->prepare("SELECT bookmark FROM account WHERE userid = :userid"); $bookmarkQuery = $pdo->prepare("SELECT bookmark FROM account WHERE userid = :userid");
$bookmarkQuery->bindValue(':userid', $userid); $bookmarkQuery->bindValue(':userid', $userid);
$bookmarkQuery->execute(); $bookmarkQuery->execute();
$bookmarkData = $bookmarkQuery->fetch(); $bookmarkData = $bookmarkQuery->fetch();
+1 -8
View File
@@ -29,14 +29,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id']) && isset($_GET['search_
} }
$offset = ($pageNumber - 1) * $itemsPerPage; $offset = ($pageNumber - 1) * $itemsPerPage;
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
+22 -40
View File
@@ -22,14 +22,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -68,9 +61,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$all_stmt->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT); $all_stmt->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT);
$all_stmt->execute(); $all_stmt->execute();
while ($row = $all_stmt->fetch(PDO::FETCH_ASSOC)) { $all_messages = $all_stmt->fetchAll(PDO::FETCH_ASSOC);
$all_messages[] = $row;
}
if(empty($all_messages)){ if(empty($all_messages)){
$all_messages = []; $all_messages = [];
} }
@@ -87,13 +78,14 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$Before7daysPosts = $cnt_stmt->fetchAll(PDO::FETCH_ASSOC); $Before7daysPosts = $cnt_stmt->fetchAll(PDO::FETCH_ASSOC);
// 結果が15件に満たない場合 // 結果が15件に満たない場合
if(count($Before7daysPosts) < 15){ $postCount = count($Before7daysPosts);
if($postCount < 15){
$get_day = 90; $get_day = 90;
}elseif(count($Before7daysPosts) > 15 && count($Before7daysPosts) < 150){ }elseif($postCount > 15 && $postCount < 150){
$get_day = 31; $get_day = 31;
}elseif(count($Before7daysPosts) > 150 && count($Before7daysPosts) < 750){ }elseif($postCount > 150 && $postCount < 750){
$get_day = 7; $get_day = 7;
}elseif(count($Before7daysPosts) > 750){ }elseif($postCount > 750){
$get_day = 5; $get_day = 5;
}else{ }else{
$get_day = 2; $get_day = 2;
@@ -127,10 +119,8 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$pop_stmt->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT); $pop_stmt->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT);
$pop_stmt->execute(); $pop_stmt->execute();
while ($row = $pop_stmt->fetch(PDO::FETCH_ASSOC)) { $pop_messages = $pop_stmt->fetchAll(PDO::FETCH_ASSOC);
$pop_messages[] = $row; if(empty($pop_messages)){
}
if(empty($flw_messages)){
$pop_messages = []; $pop_messages = [];
} }
@@ -175,16 +165,15 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$fav_stmt = $pdo->prepare($fav_sql); $fav_stmt = $pdo->prepare($fav_sql);
$fav_stmt->bindValue(':userid', $userid, PDO::PARAM_STR); $fav_stmt->bindValue(':userid', $userid, PDO::PARAM_STR);
$fav_stmt->execute(); $fav_stmt->execute();
while ($row = $fav_stmt->fetch(PDO::FETCH_ASSOC)) { $fav_ueuse_lists = $fav_stmt->fetchAll(PDO::FETCH_ASSOC);
$fav_ueuse_lists[] = $row;
} if (!empty($fav_ueuse_lists)) {
if(!(empty($fav_ueuse_lists))){
$many_fav_accounts = array_column($fav_ueuse_lists, 'account'); $many_fav_accounts = array_column($fav_ueuse_lists, 'account');
$many_fav_account_counts = array_count_values($many_fav_accounts); $many_fav_account_counts = array_count_values($many_fav_accounts);
arsort($many_fav_account_counts); arsort($many_fav_account_counts);
$top_fav_accounts = array_slice($many_fav_account_counts, 0, 15, true); $top_fav_accounts = array_slice($many_fav_account_counts, 0, 15, true);
foreach ($top_fav_accounts as $favUserId => $count) { $favget_messages = [];
$favget_sql = "SELECT ueuse.* $favget_sql = "SELECT ueuse.*
FROM ueuse FROM ueuse
LEFT JOIN account ON ueuse.account = account.userid LEFT JOIN account ON ueuse.account = account.userid
@@ -196,32 +185,25 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$favget_stmt->bindValue(':getday', $get_day, PDO::PARAM_INT); $favget_stmt->bindValue(':getday', $get_day, PDO::PARAM_INT);
$favget_stmt->bindValue(':offset', $offset, PDO::PARAM_INT); $favget_stmt->bindValue(':offset', $offset, PDO::PARAM_INT);
$favget_stmt->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT); $favget_stmt->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT);
foreach ($top_fav_accounts as $favUserId => $count) {
$favget_stmt->bindValue(':fav_account', $favUserId, PDO::PARAM_STR); $favget_stmt->bindValue(':fav_account', $favUserId, PDO::PARAM_STR);
$favget_stmt->execute(); $favget_stmt->execute();
$favget_messages = array_merge($favget_messages, $favget_stmt->fetchAll(PDO::FETCH_ASSOC));
while ($row = $favget_stmt->fetch(PDO::FETCH_ASSOC)) {
$favget_messages[] = $row;
}
}
if(empty($favget_messages)){
$favget_messages = [];
} }
} else { } else {
$favget_messages = []; $favget_messages = [];
} }
// 基本的には人気・フォロー中・いいねする事が多いユーザーのユーズでTLを構成するけど全部出きったらLTLと同じにする // 基本的には人気・フォロー中・いいねする事が多いユーザーのユーズでTLを構成するけど全部出きったらLTLと同じにする
if(empty($pop_messages) && empty($flw_messages) && empty($favget_messages)){ $messages = array_merge($pop_messages, $flw_messages, $favget_messages);
if (empty($messages)) {
$messages = $all_messages; $messages = $all_messages;
}elseif(count(array_merge($pop_messages, $flw_messages, $favget_messages)) < 15){ } elseif (count($messages) < 15) {
$total_messages = array_unique(array_merge($all_messages, $pop_messages, $flw_messages, $favget_messages), SORT_REGULAR); $messages = array_merge($messages, $all_messages);
shuffle($total_messages);
$messages = array_slice($total_messages, 0, 15);
}else{
$total_messages = array_unique(array_merge($pop_messages, $flw_messages, $favget_messages), SORT_REGULAR);
shuffle($total_messages);
$messages = array_slice($total_messages, 0, 15);
} }
$messages = array_slice(array_unique($messages, SORT_REGULAR), 0, 15);
shuffle($messages);
// ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える // ユーザー情報を取得して、$messages内のusernameをuserDataのusernameに置き換える
foreach ($messages as &$message) { foreach ($messages as &$message) {
+2 -16
View File
@@ -23,14 +23,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -57,15 +50,8 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$messages = array(); $messages = array();
if (!empty($pdo)) { 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を取得し、カンマで区切る // フォローしているユーザーIDを取得し、カンマで区切る
$followQuery = $dbh->prepare("SELECT follow FROM account WHERE userid = :userid"); $followQuery = $pdo->prepare("SELECT follow FROM account WHERE userid = :userid");
$followQuery->bindValue(':userid', $userid); $followQuery->bindValue(':userid', $userid);
$followQuery->execute(); $followQuery->execute();
$followData = $followQuery->fetch(); $followData = $followQuery->fetch();
+1 -8
View File
@@ -20,14 +20,7 @@ if (isset($_POST['userid']) && isset($_POST['account_id'])) {
$userid = safetext($_POST['userid']); $userid = safetext($_POST['userid']);
$loginid = safetext($_POST['account_id']); $loginid = safetext($_POST['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
+1 -8
View File
@@ -22,14 +22,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
+2 -9
View File
@@ -51,14 +51,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$messages = array(); $messages = array();
if (!empty($pdo)) { if (!empty($pdo)) {
$messageQuery = $pdo->prepare("SELECT fromuserid,title,msg,url,datetime,userchk FROM notification WHERE touserid = :userid ORDER BY datetime DESC LIMIT :offset, :itemsPerPage");
$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 fromuserid,title,msg,url,datetime,userchk FROM notification WHERE touserid = :userid ORDER BY datetime DESC LIMIT :offset, :itemsPerPage");
$messageQuery->bindValue(':userid', $userid, PDO::PARAM_STR); $messageQuery->bindValue(':userid', $userid, PDO::PARAM_STR);
$messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT); $messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT);
$messageQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT); $messageQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT);
@@ -81,7 +74,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$value["servericon"] = safetext($serversettings["serverinfo"]["server_icon"]); $value["servericon"] = safetext($serversettings["serverinfo"]["server_icon"]);
if(!(empty($value['fromuserid']))){ if(!(empty($value['fromuserid']))){
if(!($value['fromuserid'] == "uwuzu-fromsys")){ if(!($value['fromuserid'] == "uwuzu-fromsys")){
$userQuery = $dbh->prepare("SELECT username,iconname FROM account WHERE userid = :userid"); $userQuery = $pdo->prepare("SELECT username,iconname FROM account WHERE userid = :userid");
$userQuery->bindValue(':userid', $value['fromuserid']); $userQuery->bindValue(':userid', $value['fromuserid']);
$userQuery->execute(); $userQuery->execute();
$user_array = $userQuery->fetch(); $user_array = $userQuery->fetch();
+4 -17
View File
@@ -24,14 +24,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -60,18 +53,12 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$myblocklist = safetext($res["blocklist"]); $myblocklist = safetext($res["blocklist"]);
$mybookmark = safetext($res["bookmark"]); $mybookmark = safetext($res["bookmark"]);
$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,
));
$keywordPattern = '/from:@(\w+)\s+(.+)/'; $keywordPattern = '/from:@(\w+)\s+(.+)/';
if (preg_match($keywordPattern, $keyword, $matches)) { if (preg_match($keywordPattern, $keyword, $matches)) {
$username = $matches[1]; $username = $matches[1];
$searchKeyword = $matches[2]; $searchKeyword = $matches[2];
$messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE account = :username AND (ueuse LIKE :searchKeyword OR abi LIKE :searchKeyword) ORDER BY datetime DESC LIMIT :offset, :itemsPerPage"); $messageQuery = $pdo->prepare("SELECT * FROM ueuse WHERE account = :username AND (ueuse LIKE :searchKeyword OR abi LIKE :searchKeyword) ORDER BY datetime DESC LIMIT :offset, :itemsPerPage");
$messageQuery->bindValue(':username', $username, PDO::PARAM_STR); $messageQuery->bindValue(':username', $username, PDO::PARAM_STR);
$messageQuery->bindValue(':searchKeyword', '%' . $searchKeyword . '%', PDO::PARAM_STR); $messageQuery->bindValue(':searchKeyword', '%' . $searchKeyword . '%', PDO::PARAM_STR);
$messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT); $messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT);
@@ -79,7 +66,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$messageQuery->execute(); $messageQuery->execute();
$message_array = $messageQuery->fetchAll(); $message_array = $messageQuery->fetchAll();
} else { } else {
$messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE ueuse LIKE :keyword OR abi LIKE :keyword ORDER BY datetime DESC LIMIT :offset, :itemsPerPage"); $messageQuery = $pdo->prepare("SELECT * FROM ueuse WHERE ueuse LIKE :keyword OR abi LIKE :keyword ORDER BY datetime DESC LIMIT :offset, :itemsPerPage");
$messageQuery->bindValue(':keyword', '%' . $keyword . '%', PDO::PARAM_STR); $messageQuery->bindValue(':keyword', '%' . $keyword . '%', PDO::PARAM_STR);
$messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT); $messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT);
$messageQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT); $messageQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT);
@@ -88,7 +75,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
} }
$user_keyword = str_replace('@', '', $keyword); $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 LIMIT :offset, :itemsPerPage"); $usersQuery = $pdo->prepare("SELECT * FROM account WHERE username LIKE :keyword OR userid LIKE :keyword OR profile LIKE :keyword ORDER BY datetime DESC LIMIT :offset, :itemsPerPage");
$usersQuery->bindValue(':offset', $offset, PDO::PARAM_INT); $usersQuery->bindValue(':offset', $offset, PDO::PARAM_INT);
$usersQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT); $usersQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT);
$usersQuery->bindValue(':keyword', '%' . $user_keyword . '%', PDO::PARAM_STR); $usersQuery->bindValue(':keyword', '%' . $user_keyword . '%', PDO::PARAM_STR);
+2 -21
View File
@@ -21,14 +21,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -57,17 +50,8 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$messages = array(); $messages = array();
if (!empty($pdo)) { 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 * FROM ueuse WHERE uniqid = :ueuseid OR rpuniqid = :rpueuseid ORDER BY datetime ASC LIMIT :offset, :itemsPerPage"); $messageQuery = $pdo->prepare("SELECT * FROM ueuse WHERE uniqid = :ueuseid OR rpuniqid = :rpueuseid ORDER BY datetime ASC LIMIT :offset, :itemsPerPage");
$messageQuery->bindValue(':ueuseid', $ueuseid, PDO::PARAM_STR); $messageQuery->bindValue(':ueuseid', $ueuseid, PDO::PARAM_STR);
$messageQuery->bindValue(':rpueuseid', $ueuseid, PDO::PARAM_STR); $messageQuery->bindValue(':rpueuseid', $ueuseid, PDO::PARAM_STR);
$messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT); $messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT);
@@ -77,9 +61,6 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$messages = array(); $messages = array();
foreach ($message_array as $row) { foreach ($message_array as $row) {
if(!(empty($row["rpuniqid"]))){ if(!(empty($row["rpuniqid"]))){
if(!($row["rpuniqid"] == $ueuseid)){ if(!($row["rpuniqid"] == $ueuseid)){
+2 -15
View File
@@ -22,14 +22,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -58,13 +51,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
if (!empty($pdo)) { if (!empty($pdo)) {
$dbh = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST, DB_USER, DB_PASS, array( $userQuery = $pdo->prepare("SELECT username, userid, profile, role, follower FROM account WHERE userid = :userid");
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->bindValue(':userid', $uwuzuid);
$userQuery->execute(); $userQuery->execute();
$userData = $userQuery->fetch(); $userData = $userQuery->fetch();
+3 -17
View File
@@ -21,14 +21,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -56,19 +49,12 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$messages = array(); $messages = array();
if (!empty($pdo)) { if (!empty($pdo)) {
$userQuery = $pdo->prepare("SELECT username, userid, profile, role, follower FROM account WHERE 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,
));
$userQuery = $dbh->prepare("SELECT username, userid, profile, role, follower FROM account WHERE userid = :userid");
$userQuery->bindValue(':userid', $uwuzuid); $userQuery->bindValue(':userid', $uwuzuid);
$userQuery->execute(); $userQuery->execute();
$userData = $userQuery->fetch(); $userData = $userQuery->fetch();
$messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE account = :userid AND rpuniqid = '' AND ( $messageQuery = $pdo->prepare("SELECT * FROM ueuse WHERE account = :userid AND rpuniqid = '' AND (
(photo1 IS NOT NULL AND photo1 != '' AND photo1 != 'none') OR (photo1 IS NOT NULL AND photo1 != '' AND photo1 != 'none') OR
(photo2 IS NOT NULL AND photo2 != '' AND photo2 != 'none') OR (photo2 IS NOT NULL AND photo2 != '' AND photo2 != 'none') OR
(photo3 IS NOT NULL AND photo3 != '' AND photo3 != 'none') OR (photo3 IS NOT NULL AND photo3 != '' AND photo3 != 'none') OR
+3 -17
View File
@@ -22,14 +22,7 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$userid = safetext($_GET['userid']); $userid = safetext($_GET['userid']);
$loginid = safetext($_GET['account_id']); $loginid = safetext($_GET['account_id']);
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $userid)); $query->execute(array(':userid' => $userid));
@@ -57,19 +50,12 @@ if (isset($_GET['userid']) && isset($_GET['account_id'])) {
$messages = array(); $messages = array();
if (!empty($pdo)) { if (!empty($pdo)) {
$userQuery = $pdo->prepare("SELECT username, userid, profile, role, follower FROM account WHERE 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,
));
$userQuery = $dbh->prepare("SELECT username, userid, profile, role, follower FROM account WHERE userid = :userid");
$userQuery->bindValue(':userid', $uwuzuid); $userQuery->bindValue(':userid', $uwuzuid);
$userQuery->execute(); $userQuery->execute();
$userData = $userQuery->fetch(); $userData = $userQuery->fetch();
$messageQuery = $dbh->prepare("SELECT * FROM ueuse WHERE account = :userid AND rpuniqid = ''ORDER BY datetime DESC LIMIT :offset, :itemsPerPage"); $messageQuery = $pdo->prepare("SELECT * FROM ueuse WHERE account = :userid AND rpuniqid = ''ORDER BY datetime DESC LIMIT :offset, :itemsPerPage");
$messageQuery->bindValue(':userid', $uwuzuid); $messageQuery->bindValue(':userid', $uwuzuid);
$messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT); $messageQuery->bindValue(':offset', $offset, PDO::PARAM_INT);
$messageQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT); $messageQuery->bindValue(':itemsPerPage', $itemsPerPage, PDO::PARAM_INT);
-28
View File
@@ -1,28 +0,0 @@
<?php
function getBrowserLanguage() {
$acceptLanguage = $_SERVER['HTTP_ACCEPT_LANGUAGE'] ?? '';
$languages = explode(',', $acceptLanguage);
return $languages[0]; // 最も優先度の高い言語を取得
}
$browserLanguage = getBrowserLanguage();
echo "ブラウザの言語設定: " . $browserLanguage;
function getCountryFromLanguage($language) {
// 言語設定の例: en-US, fr-FR, ja-JP
$parts = explode('-', $language);
if (count($parts) > 1) {
return strtoupper($parts[1]); // 国コード (例: US, FR, JP)
}
return null;
}
$browserLanguage = getBrowserLanguage();
$countryCode = getCountryFromLanguage($browserLanguage);
if ($countryCode) {
echo "推測される国: " . $countryCode;
} else {
echo "国を推測できませんでした";
}
?>
+1 -2
View File
@@ -4,8 +4,7 @@ require("../function/function.php");
$serversettings_file = "../server/serversettings.ini"; $serversettings_file = "../server/serversettings.ini";
$serversettings = parse_ini_file($serversettings_file, true); $serversettings = parse_ini_file($serversettings_file, true);
header("Content-Type: application/xml"); header("Content-Type: application/xml; charset=UTF-8");
header("charset=UTF-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+2 -2
View File
@@ -1,4 +1,4 @@
uwuzu uwuzu
1.4.10 1.4.11
2024/12/27 2024/12/29
daichimarukana,putonfps daichimarukana,putonfps
+11
View File
@@ -1,6 +1,17 @@
## リリースノートだぜぇぇぇぇぇぇい!!!!!!! ## リリースノートだぜぇぇぇぇぇぇい!!!!!!!
ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...) ここにはuwuzuの更新情報を載せてくぜぇ~!(いやまてテンションおかしいだろ...)
## Version 1.4.11 (Funium)
2024/12/29
fix: CGI版のphpでエラーが発生してしまう問題を修正しました。
fix: 凍結されているアカウントがユーズできてしまう恐れのある問題を修正しました。
fix: 凍結されているアカウントが設定を変更できてしまう恐れのある問題を修正しました。
fix: 画像付きのユーズが投稿できない可能性のある問題を修正しました。
fix: 通報時に正常に管理者に通知が届かなくなってしまう可能性のある問題を修正しました。
fix: その他様々な問題を修正しました。
chg: すべてのタイムラインの取得を若干~大幅に効率化しました(APIを除く)
chg: ユーザープロフィールでのフォロー・フォロワー一覧の並びを新しい順にしました!
## Version 1.4.10 (Funium) ## Version 1.4.10 (Funium)
2024/12/27 2024/12/27
fix: serverinfo-apiが使用できない問題を修正しました! fix: serverinfo-apiが使用できない問題を修正しました!
+2 -12
View File
@@ -2,8 +2,7 @@
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
if (safetext(isset($_POST['code'])) && safetext(isset($_POST['userid'])) && safetext(isset($_POST['account_id']))){ if (safetext(isset($_POST['code'])) && safetext(isset($_POST['userid'])) && safetext(isset($_POST['account_id']))){
@@ -22,14 +21,7 @@ if (safetext(isset($_POST['code'])) && safetext(isset($_POST['userid'])) && safe
$error_message[] = $e->getMessage(); $error_message[] = $e->getMessage();
} }
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $postUserid)); $query->execute(array(':userid' => $postUserid));
@@ -38,8 +30,6 @@ if (safetext(isset($_POST['code'])) && safetext(isset($_POST['userid'])) && safe
if($result2["loginid"] === $loginid){ if($result2["loginid"] === $loginid){
if($result2["admin"] === "yes"){ if($result2["admin"] === "yes"){
try { try {
$pdo = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS);
// 削除クエリを実行 // 削除クエリを実行
$deleteQuery = $pdo->prepare("DELETE FROM invitation WHERE code = :code"); $deleteQuery = $pdo->prepare("DELETE FROM invitation WHERE code = :code");
$deleteQuery->bindValue(':code', $postCode, PDO::PARAM_STR); $deleteQuery->bindValue(':code', $postCode, PDO::PARAM_STR);
+2 -10
View File
@@ -2,8 +2,7 @@
require('../../db.php'); require('../../db.php');
require("../../function/function.php"); require("../../function/function.php");
header("Content-Type: application/json"); header("Content-Type: application/json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
if (isset($_FILES['update_zip']) && isset($_POST['userid']) && isset($_POST['account_id'])){ if (isset($_FILES['update_zip']) && isset($_POST['userid']) && isset($_POST['account_id'])){
@@ -22,14 +21,7 @@ if (isset($_FILES['update_zip']) && isset($_POST['userid']) && isset($_POST['acc
$error_message[] = $e->getMessage(); $error_message[] = $e->getMessage();
} }
// データベース接続の設定 $query = $pdo->prepare('SELECT * FROM account WHERE userid = :userid limit 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,
));
$query = $dbh->prepare('SELECT * FROM account WHERE userid = :userid limit 1');
$query->execute(array(':userid' => $postUserid)); $query->execute(array(':userid' => $postUserid));
+44 -9
View File
@@ -217,22 +217,56 @@ if(!empty($pdo)){
//DB_Data //DB_Data
try { try {
$dbname = DB_NAME; $dbname = DB_NAME;
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$query = " // データベース内の全テーブル名を取得
$query = "SELECT table_name FROM information_schema.tables WHERE table_schema = :database";
$stmt = $pdo->prepare($query);
$stmt->bindParam(':database', $dbname);
$stmt->execute();
$tables = $stmt->fetchAll(PDO::FETCH_COLUMN);
// 各テーブルの正確な行数を取得
$db_results = [];
foreach ($tables as $table) {
// 行数を取得
$rowQuery = "SELECT COUNT(*) as count FROM `$table`";
$rowStmt = $pdo->query($rowQuery);
$rowCount = (int)$rowStmt->fetchColumn();
// テーブルサイズを取得
$sizeQuery = "
SELECT SELECT
table_name AS `Table`,
ROUND(((data_length + index_length) / 1024 / 1024), 2) AS `Size` ROUND(((data_length + index_length) / 1024 / 1024), 2) AS `Size`
FROM FROM
information_schema.TABLES information_schema.TABLES
WHERE WHERE
table_schema = :database table_schema = :database AND table_name = :table;
ORDER BY
`Size` DESC;
"; ";
$stmt = $pdo->prepare($query); $sizeStmt = $pdo->prepare($sizeQuery);
$stmt->bindParam(':database', $dbname); $sizeStmt->execute([':database' => $dbname, ':table' => $table]);
$stmt->execute(); $size = (float)$sizeStmt->fetchColumn();
$db_results = $stmt->fetchAll(PDO::FETCH_ASSOC);
// 結果を格納
$db_results[] = [
'Table' => $table,
'Rows' => $rowCount,
'Size' => $size,
];
}
// サイズで並び替え
usort($db_results, function ($a, $b) {
return $b['Size'] <=> $a['Size'];
});
// 行数を最大桁数に揃えて0埋め
$maxRows = max(array_column($db_results, 'Rows'));
foreach ($db_results as &$table) {
$table['Rows'] = str_pad($table['Rows'], strlen($maxRows), '0', STR_PAD_LEFT);
}
unset($table); // 参照を解除
} catch (PDOException $e) { } catch (PDOException $e) {
$db_results = null; $db_results = null;
} }
@@ -405,6 +439,7 @@ require('../logout/logout.php');
echo "<tr>"; echo "<tr>";
echo "<td>".$value['Table']."</td>"; echo "<td>".$value['Table']."</td>";
echo "<td>".$value['Size']." MB</td>"; echo "<td>".$value['Size']." MB</td>";
echo "<td>".$value['Rows']." Records</td>";
echo "</tr>"; echo "</tr>";
} }
} }
+1 -2
View File
@@ -4,8 +4,7 @@ require("../../function/function.php");
$serversettings_file = "../../server/serversettings.ini"; $serversettings_file = "../../server/serversettings.ini";
$serversettings = parse_ini_file($serversettings_file, true); $serversettings = parse_ini_file($serversettings_file, true);
if(safetext($serversettings["serverinfo"]["server_activitypub"]) == "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) == "true"){
header("Content-Type: application/activity+json"); header("Content-Type: application/activity+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+48 -3
View File
@@ -1,12 +1,57 @@
{ {
"software": "uwuzu", "software": "uwuzu",
"version": "1.4.10", "version": "1.4.11",
"release_date": "2024/12/27", "release_date": "2024/12/29",
"release_notes": "このアップデートではserverinfo-apiが使用できない問題の修正が含まれます!", "release_notes": "このアップデートではCGI版のphpで通常想定されないエラーが発生してしまう問題などいくつかの重要なバグの修正が含まれます!",
"notices": "アップデートの前にデータのバックアップを行うことをおすすめします!", "notices": "アップデートの前にデータのバックアップを行うことをおすすめします!",
"files": { "files": {
"overwrite": [ "overwrite": [
"/.well-known/host-meta/index.php",
"/.well-known/nodeinfo/index.php",
"/.well-known/webfinger/index.php",
"/actor/index.php",
"/api/favorite/change.php",
"/api/favorite/get.php",
"/api/me/index.php",
"/api/ueuse/create.php",
"/api/ueuse/delete.php",
"/api/ueuse/get.php",
"/api/ueuse/index.php",
"/api/ueuse/mentions.php",
"/api/ueuse/replies.php",
"/api/ueuse/search.php",
"/api/users/follow.php",
"/api/users/index.php",
"/api/users/unfollow.php",
"/api/v1/instance.php",
"/api/bot-api.php",
"/api/migration-api.php",
"/api/serverinfo-api.php", "/api/serverinfo-api.php",
"/api/bot-api.php",
"/function/function.php",
"/nextpage/bookmark.php",
"/nextpage/emojiview.php",
"/nextpage/foryoupage.php",
"/nextpage/ftlpage.php",
"/nextpage/newueuse_chk.php",
"/nextpage/nextpage.php",
"/nextpage/notification.php",
"/nextpage/searchpage.php",
"/nextpage/ueusepage.php",
"/nextpage/userlikepage.php",
"/nextpage/usermediapage.php",
"/nextpage/userpage.php",
"/search/opensearch.php",
"/settings_admin/api/code_delete.php",
"/settings_admin/api/update_query.php",
"/settings_admin/overview_admin.php",
"/ueuse/activity/index.php",
"/user/followers/index.php",
"/user/following/index.php",
"/user/inbox/index.php",
"/user/outbox/index.php",
"/user/index.php",
"/user/report.php",
"/server/uwuzuabout.txt", "/server/uwuzuabout.txt",
"/server/uwuzuinfo.txt", "/server/uwuzuinfo.txt",
"/server/uwuzurelease.txt" "/server/uwuzurelease.txt"
+1 -2
View File
@@ -4,8 +4,7 @@ require("../../function/function.php");
$serversettings_file = "../../server/serversettings.ini"; $serversettings_file = "../../server/serversettings.ini";
$serversettings = parse_ini_file($serversettings_file, true); $serversettings = parse_ini_file($serversettings_file, true);
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/activity+json"); header("Content-Type: application/activity+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+1 -2
View File
@@ -4,8 +4,7 @@ require("../../function/function.php");
$serversettings_file = "../../server/serversettings.ini"; $serversettings_file = "../../server/serversettings.ini";
$serversettings = parse_ini_file($serversettings_file, true); $serversettings = parse_ini_file($serversettings_file, true);
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/activity+json"); header("Content-Type: application/activity+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+1 -2
View File
@@ -4,8 +4,7 @@ require("../../function/function.php");
$serversettings_file = "../../server/serversettings.ini"; $serversettings_file = "../../server/serversettings.ini";
$serversettings = parse_ini_file($serversettings_file, true); $serversettings = parse_ini_file($serversettings_file, true);
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/activity+json"); header("Content-Type: application/activity+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
+2 -2
View File
@@ -222,7 +222,7 @@ if (!empty($pdo)) {
$follow = $userdata['follow']; // コンマで区切られたユーザーIDを含む変数 $follow = $userdata['follow']; // コンマで区切られたユーザーIDを含む変数
// コンマで区切って配列に分割し、要素数を数える // コンマで区切って配列に分割し、要素数を数える
$followIds = explode(',', $follow); $followIds = array_reverse(explode(',', $follow));
$followCount = count($followIds) - 1; $followCount = count($followIds) - 1;
$follow_on_me = array_search($userid, $followIds); $follow_on_me = array_search($userid, $followIds);
@@ -237,7 +237,7 @@ if (!empty($pdo)) {
$follower = $userdata['follower']; // コンマで区切られたユーザーIDを含む変数 $follower = $userdata['follower']; // コンマで区切られたユーザーIDを含む変数
// コンマで区切って配列に分割し、要素数を数える // コンマで区切って配列に分割し、要素数を数える
$followerIds = explode(',', $follower); $followerIds = array_reverse(explode(',', $follower));
$followerCount = count($followerIds) - 1; $followerCount = count($followerIds) - 1;
$profileText = safetext($userData['profile']); $profileText = safetext($userData['profile']);
+1 -2
View File
@@ -4,8 +4,7 @@ require("../../function/function.php");
$serversettings_file = "../../server/serversettings.ini"; $serversettings_file = "../../server/serversettings.ini";
$serversettings = parse_ini_file($serversettings_file, true); $serversettings = parse_ini_file($serversettings_file, true);
if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){ if(safetext($serversettings["serverinfo"]["server_activitypub"]) === "true"){
header("Content-Type: application/activity+json"); header("Content-Type: application/activity+json; charset=utf-8");
header("charset=utf-8");
header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Origin: *");
$domain = $_SERVER['HTTP_HOST']; $domain = $_SERVER['HTTP_HOST'];
-3
View File
@@ -247,9 +247,6 @@ if (!empty($_POST['report'])) {
$res = $pdo->commit(); $res = $pdo->commit();
foreach ($admin_res as $to_admin) { foreach ($admin_res as $to_admin) {
$pdo->beginTransaction();
$fromuserid = $userid; $fromuserid = $userid;
$touserid2 = $to_admin["userid"];//管理者宛通知 $touserid2 = $to_admin["userid"];//管理者宛通知
$msg = "通報情報をご確認ください!"; $msg = "通報情報をご確認ください!";