0, 'path' => '/', 'domain' => '', 'secure' => true, 'httponly' => true, 'samesite' => 'Lax' ]); session_start(); session_regenerate_id(true); try { $option = array( PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION, PDO::MYSQL_ATTR_MULTI_STATEMENTS => false ); $pdo = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); } catch(PDOException $e) { // 接続エラーのときエラー内容を取得する $error_message[] = $e->getMessage(); } //ログイン認証--------------------------------------------------- blockedIP($_SERVER['REMOTE_ADDR']); $is_login = uwuzuUserLogin($_SESSION, $_COOKIE, $_SERVER['REMOTE_ADDR'], "admin"); if($is_login === false){ header("Location: ../index.php"); exit; }else{ $userid = safetext($is_login['userid']); $username = safetext($is_login['username']); $loginid = safetext($is_login["loginid"]); $role = safetext($is_login["role"]); $sacinfo = safetext($is_login["sacinfo"]); $myblocklist = safetext($is_login["blocklist"]); $myfollowlist = safetext($is_login["follow"]); $is_Admin = safetext($is_login["admin"]); } if(empty($_SESSION["query_userid"])){ header("Location: useradmin"); exit; } $notiQuery = $pdo->prepare("SELECT COUNT(*) as notification_count FROM notification WHERE touserid = :userid AND userchk = 'none'"); $notiQuery->bindValue(':userid', $userid); $notiQuery->execute(); $notiData = $notiQuery->fetch(PDO::FETCH_ASSOC); $notificationcount = $notiData['notification_count']; //phpmailer-------------------------------------------- require('plugin_settings/phpmailer_settings.php'); require('plugin_settings/phpmailer_sender.php'); //------------------------------------------------------ if (!empty($pdo)) { $userQuery = $pdo->prepare("SELECT * FROM account WHERE userid = :userid"); $userQuery->bindValue(':userid', $_SESSION["query_userid"]); $userQuery->execute(); $userdata = $userQuery->fetch(); if(!(empty($userdata["encryption_ivkey"]))){ $view_mailadds = DecryptionUseEncrKey($userdata["mailadds"], GenUserEnckey($userdata["datetime"]), $userdata["encryption_ivkey"]); $view_ip_addr = DecryptionUseEncrKey($userdata["last_ip"], GenUserEnckey($userdata["datetime"]), $userdata["encryption_ivkey"]); }else{ $view_mailadds = $userdata["mailadds"]; $view_ip_addr = $userdata["last_ip"]; } $roles = array_filter(explode(',', $userdata["role"])); $roleDataArray = array(); foreach ($roles as $roleId) { $rerole = $pdo->prepare("SELECT rolename, roleauth, rolecolor, roleeffect FROM role WHERE roleidname = :role"); $rerole->bindValue(':role', $roleId); $rerole->execute(); $roleDataArray[$roleId] = $rerole->fetch(); } $followIds = explode(',', $userdata['follow']); $followCount = count($followIds)-1; $followerIds = explode(',', $userdata['follower']); $followerCount = count($followerIds)-1; $result = $pdo->prepare("SELECT ueuse FROM ueuse WHERE account = :userid ORDER BY datetime"); $result->bindValue(':userid', $userdata["userid"]); $result->execute(); $upload_cnt1 = $result->rowCount(); $userdata['iconname'] = filter_var($userdata['iconname'], FILTER_VALIDATE_URL) ? $userdata['iconname'] : "../" . $userdata['iconname']; } if( !empty($_POST['send_notification_submit']) ) { $notice_title = safetext($_POST['notice_title']); $notice_msg = safetext($_POST['notice_msg']); if(empty($notice_title)){ $error_message[] = "通知のタイトルを空欄にすることはできません。(INPUT_PLEASE)"; }elseif(mb_strlen($notice_title) > 128){ $error_message[] = "通知のタイトルを512文字以上にすることはできません。(INPUT_OVER_MAX_COUNT)"; } if(empty($notice_msg)){ $error_message[] = "通知の本文を空欄にすることはできません。(INPUT_PLEASE)"; }elseif(mb_strlen($notice_msg) > 16777216){ $error_message[] = "通知の本文を16777216文字以上にすることはできません。(INPUT_OVER_MAX_COUNT)"; } if(empty($error_message)){ $url = safetext("/rule/serverabout"); $response = send_notification($userdata['userid'], "uwuzu-fromsys", $notice_title, $notice_msg, $url, "system"); if($response == true){ actionLog($userid, "info", "send_notification_submit", $userdata['userid'], $userdata['userid']."さんに".$userid."さんが通知を送信しました。\n".$notice_msg, 0); header("Location:useradmin"); exit; }else{ actionLog($userid, "error", "send_notification_submit", $userdata['userid'], $userdata['userid']."さんに".$userid."さんが通知を送信できませんでした。\n".$notice_msg, 4); header("Location:useradmin"); exit; } } } if( !empty($_POST['send_ice_submit']) ) { $notice_msg = $_POST['notice_msg']; $newrole = "ice"; $newtoken = "ice"; $newadmin = "none"; // トランザクション開始 $pdo->beginTransaction(); try { $touserid = safetext($userdata['userid']); // SQL作成 $stmt = $pdo->prepare("UPDATE account SET role = :role,token = :newtoken,admin = :newadmin WHERE userid = :userid"); $stmt->bindValue(':role', $newrole, PDO::PARAM_STR); $stmt->bindValue(':newtoken', $newtoken, PDO::PARAM_STR); $stmt->bindValue(':newadmin', $newadmin, PDO::PARAM_STR); $stmt->bindValue(':userid', $touserid, PDO::PARAM_STR); // SQLクエリの実行 $res = $stmt->execute(); // コミット $res = $pdo->commit(); } catch (Exception $e) { // エラーが発生した時はロールバック $pdo->rollBack(); actionLog($userid, "error", "send_ice_submit", $touserid, $e, 4); } //凍結通知メール if(false !== strpos($userdata["mail_settings"], 'important')) { if(!empty(MAIL_CHKS)){ if(MAIL_CHKS == "true"){ if( !empty($view_mailadds) ){ if(filter_var($view_mailadds, FILTER_VALIDATE_EMAIL)){ $mail_title = "お使いの".safetext($serversettings["serverinfo"]["server_name"])."アカウントは凍結されました"; $mail_text = "".$userdata["username"]."(".$userdata["userid"].")さん いつもuwuzuをご利用いただきありがとうございます。 ご利用のアカウント(".$userdata["userid"].")が".safetext($serversettings["serverinfo"]["server_name"])."管理者により凍結されたためお知らせいたします。 サービス管理者からのメッセージは以下のものです。 ". $notice_msg ." 異議申し立てする場合は[".safetext($serversettings["serverinfo"]["server_admin_mailadds"])."]まで異議申し立てをする旨を記載し送信をしてください。"; $error_message[] = send_html_mail($view_mailadds,$mail_title,$mail_text,"../"); } } } } } //------------ $pdo->beginTransaction(); try { $touserid = safetext($userdata['userid']); $datetime = safetext(date("Y-m-d H:i:s")); $msg = safetext("サービス管理者からのメッセージは以下のものです。\n" . $notice_msg . "\n異議申し立てする場合は連絡用メールに異議申し立てをする旨を記載し送信をしてください。"); $title = safetext("🧊お使いのアカウントは凍結されました。🧊"); $url = safetext("/rule/serverabout"); $userchk = 'none'; $fromuserid ="uwuzu-fromsys"; // 通知用SQL作成 $stmt = $pdo->prepare("INSERT INTO notification (fromuserid, touserid, msg, url, datetime, userchk, title) VALUES (:fromuserid, :touserid, :msg, :url, :datetime, :userchk, :title)"); $stmt->bindParam(':fromuserid', $fromuserid, PDO::PARAM_STR); $stmt->bindParam(':touserid', $touserid, PDO::PARAM_STR); $stmt->bindParam(':msg', $msg, PDO::PARAM_STR); $stmt->bindParam(':url', $url, PDO::PARAM_STR); $stmt->bindParam(':userchk', $userchk, PDO::PARAM_STR); $stmt->bindParam(':title', $title, PDO::PARAM_STR); $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR); // SQLクエリの実行 $res2 = $stmt->execute(); // コミット $res2 = $pdo->commit(); } catch(Exception $e) { // エラーが発生した時はロールバック $pdo->rollBack(); actionLog($userid, "error", "send_ice_submit", $touserid, $e, 4); } if ($res) { actionLog($userid, "info", "send_ice_submit", $touserid, $touserid."さんを".$userid."さんが凍結しました", 0); header("Location:useradmin"); exit; } else { $error_message[] = '凍結に失敗しました。(USER_ICE_DAME)'; actionLog($userid, "error", "send_ice_submit", $touserid, $error_message, 4); } } if( !empty($_POST['send_water_submit']) ) { $newrole = "user"; $newtoken = ""; $newadmin = "none"; // トランザクション開始 $pdo->beginTransaction(); try { $touserid = safetext($userdata['userid']); // SQL作成 $stmt = $pdo->prepare("UPDATE account SET role = :role,token = :newtoken,admin = :newadmin WHERE userid = :userid"); $stmt->bindValue(':role', $newrole, PDO::PARAM_STR); $stmt->bindValue(':newtoken', $newtoken, PDO::PARAM_STR); $stmt->bindValue(':newadmin', $newadmin, PDO::PARAM_STR); $stmt->bindValue(':userid', $touserid, PDO::PARAM_STR); // SQLクエリの実行 $res = $stmt->execute(); // コミット $res = $pdo->commit(); } catch (Exception $e) { $error_message[] = "えらー(ERROR)"; // エラーが発生した時はロールバック $pdo->rollBack(); actionLog($userid, "error", "send_water_submit", $touserid, $e, 4); } //凍結通知メール if(false !== strpos($userdata["mail_settings"], 'important')) { if(!empty(MAIL_CHKS)){ if(MAIL_CHKS == "true"){ if( !empty($view_mailadds) ){ if(filter_var($view_mailadds, FILTER_VALIDATE_EMAIL)){ $mail_title = "お使いの".safetext($serversettings["serverinfo"]["server_name"])."アカウントは解凍されました!"; $mail_text = "".$userdata["username"]."(".$userdata["userid"].")さん いつもuwuzuをご利用いただきありがとうございます。 ご利用のアカウント(".$userdata["userid"].")が解凍されたためお知らせいたします。 今後、ご利用のuwuzuアカウントは今まで通りご利用いただけます。 また、APIを使用している方はAPIのトークンがリセットされているため再度トークンを発行してご利用ください。"; $error_message[] = send_html_mail($view_mailadds,$mail_title,$mail_text,"../"); } } } } } //------------ $pdo->beginTransaction(); try { $touserid = safetext($userdata['userid']); $datetime = safetext(date("Y-m-d H:i:s")); $msg = safetext("サービス管理者によりお使いのアカウントは解凍されました!\n今まで通りご利用いただけます。\nなお、APIを使用している方はAPIのトークンがリセットされているため再度トークンを発行してご利用ください。"); $title = safetext("🫗お使いのアカウントが解凍されました!🫗"); $url = safetext("/home"); $userchk = 'none'; $fromuserid ="uwuzu-fromsys"; // 通知用SQL作成 $stmt = $pdo->prepare("INSERT INTO notification (fromuserid, touserid, msg, url, datetime, userchk, title) VALUES (:fromuserid, :touserid, :msg, :url, :datetime, :userchk, :title)"); $stmt->bindParam(':fromuserid', $fromuserid, PDO::PARAM_STR); $stmt->bindParam(':touserid', $touserid, PDO::PARAM_STR); $stmt->bindParam(':msg', $msg, PDO::PARAM_STR); $stmt->bindParam(':url', $url, PDO::PARAM_STR); $stmt->bindParam(':userchk', $userchk, PDO::PARAM_STR); $stmt->bindParam(':title', $title, PDO::PARAM_STR); $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR); // SQLクエリの実行 $res2 = $stmt->execute(); // コミット $res2 = $pdo->commit(); } catch(Exception $e) { $error_message[] = "えらー(ERROR)"; // エラーが発生した時はロールバック $pdo->rollBack(); actionLog($userid, "error", "send_water_submit", $touserid, $e, 4); } if ($res) { actionLog($userid, "info", "send_water_submit", $touserid, $touserid."さんを".$userid."さんが解凍しました", 0); header("Location:useradmin"); exit; } else { $error_message[] = '解凍に失敗しました。(USER_WATER_DAME)'; actionLog($userid, "error", "send_water_submit", $touserid, $error_message, 4); } } if( !empty($_POST['send_ban_submit']) ) { try{ $userId2 = $userdata['userid']; // 削除対象のユーザーID $res = addJob($pdo, $userId2, "deleteUser", "stop_account"); if ($res) { actionLog($userid, "info", "send_ban_submit", $userId2, $userid."さんが".$userId2."さんをBANしました", 4); header("Location:useradmin"); exit; //BAN通知メール if(false !== strpos($userdata["mail_settings"], 'important')) { if(!empty(MAIL_CHKS)){ if(MAIL_CHKS == "true"){ if( !empty($view_mailadds) ){ if(filter_var($view_mailadds, FILTER_VALIDATE_EMAIL)){ $mail_title = "お使いの".safetext($serversettings["serverinfo"]["server_name"])."アカウントはBANされました"; $mail_text = "".$userdata["username"]."(".$userdata["userid"].")さん いつもuwuzuをご利用いただきありがとうございます。 この度、ご利用のアカウント(".$userdata["userid"].")が".safetext($serversettings["serverinfo"]["server_name"])."管理者によりBAN(削除)されたためお知らせいたします。 今後は今までご利用いただいた".safetext($serversettings["serverinfo"]["server_name"])."アカウントは利用できません。 ".safetext($serversettings["serverinfo"]["server_name"])."サーバー上から今までご利用いただいていたアカウントの情報は削除されたためログインなどもできません。 ご理解とご協力のほどよろしくお願いします。"; $error_message[] = send_html_mail($view_mailadds,$mail_title,$mail_text,"../"); } } } } } //------------ } else { $error_message[] = 'アカウント削除に失敗しました。(ACCOUNT_DELETE_DAME)'; actionLog($userid, "error", "send_ban_submit", $userId2, $error_message[], 4); } } catch (Exception $e) { // エラーが発生した時はロールバック $pdo->rollBack(); actionLog($userid, "error", "send_ban_submit", $userId2, $e, 4); } // プリペアドステートメントを削除 $stmt = null; } require('../logout/logout.php'); ?> ユーザー管理 - <?php echo safetext($serversettings["serverinfo"]["server_name"]);?>

@

;">

;">

プロフィール


メールアドレス


二段階認証


管理者権限


フォロー数

0 ){ echo safetext($followCount);}else{echo "なし";} ?>

フォロワー数

0 ){ echo safetext($followerCount);}else{echo "なし";} ?>


投稿数

0 ){ echo $upload_cnt1;}else{echo "なし";} ?>


アカウント登録日時


最終アクセス時のIPアドレス


アカウント操作