From 70560ecab711a02a3e0f09bd3990afc2bb3471dc Mon Sep 17 00:00:00 2001 From: daichimarukana Date: Wed, 30 Aug 2023 00:05:18 +0900 Subject: [PATCH] uwuzu version 1.2.13 --- addauthcode.php | 2 +- css/home.css | 139 +++++++- home/ftl.php | 736 +++++++++++++++++++++++++++++++++++++++ home/index.php | 7 +- home/ltl.php | 5 + img/sysimage/reply_1.svg | 2 +- index.php | 12 + login.php | 12 +- new.php | 10 +- nextpage/ftlpage.php | 110 ++++++ nextpage/searchpage.php | 23 +- nextpage/view.php | 19 +- notice/notice.php | 2 +- qr/data/qrv10_0.dat | Bin 0 -> 8340 bytes qr/data/qrv10_1.dat | Bin 0 -> 8339 bytes qr/data/qrv10_2.dat | Bin 0 -> 8343 bytes qr/data/qrv10_3.dat | Bin 0 -> 8343 bytes qr/data/qrv11_0.dat | Bin 0 -> 9732 bytes qr/data/qrv11_1.dat | Bin 0 -> 9731 bytes qr/data/qrv11_2.dat | Bin 0 -> 9738 bytes qr/data/qrv11_3.dat | Bin 0 -> 9735 bytes qr/data/qrv12_0.dat | Bin 0 -> 11223 bytes qr/data/qrv12_1.dat | Bin 0 -> 11219 bytes qr/data/qrv12_2.dat | Bin 0 -> 11226 bytes qr/data/qrv12_3.dat | Bin 0 -> 11225 bytes qr/data/qrv13_0.dat | Bin 0 -> 12808 bytes qr/data/qrv13_1.dat | Bin 0 -> 12803 bytes qr/data/qrv13_2.dat | Bin 0 -> 12815 bytes qr/data/qrv13_3.dat | Bin 0 -> 12811 bytes qr/data/qrv14_0.dat | Bin 0 -> 13993 bytes qr/data/qrv14_1.dat | Bin 0 -> 13988 bytes qr/data/qrv14_2.dat | Bin 0 -> 14000 bytes qr/data/qrv14_3.dat | Bin 0 -> 14000 bytes qr/data/qrv15_0.dat | Bin 0 -> 15770 bytes qr/data/qrv15_1.dat | Bin 0 -> 15766 bytes qr/data/qrv15_2.dat | Bin 0 -> 15778 bytes qr/data/qrv15_3.dat | Bin 0 -> 15772 bytes qr/data/qrv16_0.dat | Bin 0 -> 17642 bytes qr/data/qrv16_1.dat | Bin 0 -> 17638 bytes qr/data/qrv16_2.dat | Bin 0 -> 17648 bytes qr/data/qrv16_3.dat | Bin 0 -> 17649 bytes qr/data/qrv17_0.dat | Bin 0 -> 19611 bytes qr/data/qrv17_1.dat | Bin 0 -> 19606 bytes qr/data/qrv17_2.dat | Bin 0 -> 19619 bytes qr/data/qrv17_3.dat | Bin 0 -> 19616 bytes qr/data/qrv18_0.dat | Bin 0 -> 21677 bytes qr/data/qrv18_1.dat | Bin 0 -> 21670 bytes qr/data/qrv18_2.dat | Bin 0 -> 21685 bytes qr/data/qrv18_3.dat | Bin 0 -> 21682 bytes qr/data/qrv19_0.dat | Bin 0 -> 23838 bytes qr/data/qrv19_1.dat | Bin 0 -> 23831 bytes qr/data/qrv19_2.dat | Bin 0 -> 23849 bytes qr/data/qrv19_3.dat | Bin 0 -> 23845 bytes qr/data/qrv1_0.dat | Bin 0 -> 656 bytes qr/data/qrv1_1.dat | Bin 0 -> 656 bytes qr/data/qrv1_2.dat | Bin 0 -> 656 bytes qr/data/qrv1_3.dat | Bin 0 -> 656 bytes qr/data/qrv20_0.dat | Bin 0 -> 26096 bytes qr/data/qrv20_1.dat | Bin 0 -> 26088 bytes qr/data/qrv20_2.dat | Bin 0 -> 26105 bytes qr/data/qrv20_3.dat | Bin 0 -> 26100 bytes qr/data/qrv21_0.dat | Bin 0 -> 27804 bytes qr/data/qrv21_1.dat | Bin 0 -> 27795 bytes qr/data/qrv21_2.dat | Bin 0 -> 27812 bytes qr/data/qrv21_3.dat | Bin 0 -> 27810 bytes qr/data/qrv22_0.dat | Bin 0 -> 30252 bytes qr/data/qrv22_1.dat | 209 +++++++++++ qr/data/qrv22_2.dat | Bin 0 -> 30269 bytes qr/data/qrv22_3.dat | Bin 0 -> 30258 bytes qr/data/qrv23_0.dat | Bin 0 -> 32797 bytes qr/data/qrv23_1.dat | 217 ++++++++++++ qr/data/qrv23_2.dat | Bin 0 -> 32809 bytes qr/data/qrv23_3.dat | Bin 0 -> 32804 bytes qr/data/qrv24_0.dat | Bin 0 -> 35439 bytes qr/data/qrv24_1.dat | 225 ++++++++++++ qr/data/qrv24_2.dat | Bin 0 -> 35451 bytes qr/data/qrv24_3.dat | Bin 0 -> 35446 bytes qr/data/qrv25_0.dat | 233 +++++++++++++ qr/data/qrv25_1.dat | 233 +++++++++++++ qr/data/qrv25_2.dat | Bin 0 -> 38190 bytes qr/data/qrv25_3.dat | Bin 0 -> 38184 bytes qr/data/qrv26_0.dat | 241 +++++++++++++ qr/data/qrv26_1.dat | 241 +++++++++++++ qr/data/qrv26_2.dat | Bin 0 -> 41024 bytes qr/data/qrv26_3.dat | 241 +++++++++++++ qr/data/qrv27_0.dat | 249 +++++++++++++ qr/data/qrv27_1.dat | 249 +++++++++++++ qr/data/qrv27_2.dat | 249 +++++++++++++ qr/data/qrv27_3.dat | 249 +++++++++++++ qr/data/qrv28_0.dat | 257 ++++++++++++++ qr/data/qrv28_1.dat | 257 ++++++++++++++ qr/data/qrv28_2.dat | 257 ++++++++++++++ qr/data/qrv28_3.dat | 257 ++++++++++++++ qr/data/qrv29_0.dat | 265 ++++++++++++++ qr/data/qrv29_1.dat | 265 ++++++++++++++ qr/data/qrv29_2.dat | 265 ++++++++++++++ qr/data/qrv29_3.dat | 265 ++++++++++++++ qr/data/qrv2_0.dat | Bin 0 -> 1109 bytes qr/data/qrv2_1.dat | Bin 0 -> 1109 bytes qr/data/qrv2_2.dat | Bin 0 -> 1109 bytes qr/data/qrv2_3.dat | Bin 0 -> 1109 bytes qr/data/qrv30_0.dat | 273 +++++++++++++++ qr/data/qrv30_1.dat | 273 +++++++++++++++ qr/data/qrv30_2.dat | 273 +++++++++++++++ qr/data/qrv30_3.dat | 273 +++++++++++++++ qr/data/qrv31_0.dat | 281 +++++++++++++++ qr/data/qrv31_1.dat | 281 +++++++++++++++ qr/data/qrv31_2.dat | 281 +++++++++++++++ qr/data/qrv31_3.dat | 281 +++++++++++++++ qr/data/qrv32_0.dat | 289 +++++++++++++++ qr/data/qrv32_1.dat | 289 +++++++++++++++ qr/data/qrv32_2.dat | 289 +++++++++++++++ qr/data/qrv32_3.dat | 289 +++++++++++++++ qr/data/qrv33_0.dat | 297 ++++++++++++++++ qr/data/qrv33_1.dat | 297 ++++++++++++++++ qr/data/qrv33_2.dat | 297 ++++++++++++++++ qr/data/qrv33_3.dat | 297 ++++++++++++++++ qr/data/qrv34_0.dat | 305 ++++++++++++++++ qr/data/qrv34_1.dat | 305 ++++++++++++++++ qr/data/qrv34_2.dat | 305 ++++++++++++++++ qr/data/qrv34_3.dat | 305 ++++++++++++++++ qr/data/qrv35_0.dat | 313 +++++++++++++++++ qr/data/qrv35_1.dat | 313 +++++++++++++++++ qr/data/qrv35_2.dat | 313 +++++++++++++++++ qr/data/qrv35_3.dat | 313 +++++++++++++++++ qr/data/qrv36_0.dat | 321 +++++++++++++++++ qr/data/qrv36_1.dat | 321 +++++++++++++++++ qr/data/qrv36_2.dat | 321 +++++++++++++++++ qr/data/qrv36_3.dat | 321 +++++++++++++++++ qr/data/qrv37_0.dat | 329 +++++++++++++++++ qr/data/qrv37_1.dat | 329 +++++++++++++++++ qr/data/qrv37_2.dat | 329 +++++++++++++++++ qr/data/qrv37_3.dat | 329 +++++++++++++++++ qr/data/qrv38_0.dat | 337 ++++++++++++++++++ qr/data/qrv38_1.dat | 337 ++++++++++++++++++ qr/data/qrv38_2.dat | 337 ++++++++++++++++++ qr/data/qrv38_3.dat | 337 ++++++++++++++++++ qr/data/qrv39_0.dat | 345 ++++++++++++++++++ qr/data/qrv39_1.dat | 345 ++++++++++++++++++ qr/data/qrv39_2.dat | 345 ++++++++++++++++++ qr/data/qrv39_3.dat | 345 ++++++++++++++++++ qr/data/qrv3_0.dat | Bin 0 -> 1733 bytes qr/data/qrv3_1.dat | Bin 0 -> 1733 bytes qr/data/qrv3_2.dat | Bin 0 -> 1734 bytes qr/data/qrv3_3.dat | Bin 0 -> 1734 bytes qr/data/qrv40_0.dat | 353 +++++++++++++++++++ qr/data/qrv40_1.dat | 353 +++++++++++++++++++ qr/data/qrv40_2.dat | 353 +++++++++++++++++++ qr/data/qrv40_3.dat | 353 +++++++++++++++++++ qr/data/qrv4_0.dat | Bin 0 -> 2454 bytes qr/data/qrv4_1.dat | Bin 0 -> 2453 bytes qr/data/qrv4_2.dat | Bin 0 -> 2456 bytes qr/data/qrv4_3.dat | Bin 0 -> 2454 bytes qr/data/qrv5_0.dat | Bin 0 -> 3270 bytes qr/data/qrv5_1.dat | Bin 0 -> 3269 bytes qr/data/qrv5_2.dat | Bin 0 -> 3272 bytes qr/data/qrv5_3.dat | Bin 0 -> 3272 bytes qr/data/qrv6_0.dat | Bin 0 -> 4184 bytes qr/data/qrv6_1.dat | Bin 0 -> 4182 bytes qr/data/qrv6_2.dat | Bin 0 -> 4184 bytes qr/data/qrv6_3.dat | Bin 0 -> 4184 bytes qr/data/qrv7_0.dat | Bin 0 -> 4739 bytes qr/data/qrv7_1.dat | Bin 0 -> 4737 bytes qr/data/qrv7_2.dat | Bin 0 -> 4740 bytes qr/data/qrv7_3.dat | Bin 0 -> 4741 bytes qr/data/qrv8_0.dat | Bin 0 -> 5843 bytes qr/data/qrv8_1.dat | Bin 0 -> 5841 bytes qr/data/qrv8_2.dat | Bin 0 -> 5845 bytes qr/data/qrv8_3.dat | Bin 0 -> 5845 bytes qr/data/qrv9_0.dat | Bin 0 -> 7044 bytes qr/data/qrv9_1.dat | Bin 0 -> 7041 bytes qr/data/qrv9_2.dat | Bin 0 -> 7047 bytes qr/data/qrv9_3.dat | Bin 0 -> 7047 bytes qr/data/rsc10.dat | 11 + qr/data/rsc13.dat | 14 + qr/data/rsc15.dat | 17 + qr/data/rsc16.dat | 17 + qr/data/rsc17.dat | 18 + qr/data/rsc18.dat | 19 + qr/data/rsc20.dat | 21 ++ qr/data/rsc22.dat | 23 ++ qr/data/rsc24.dat | 25 ++ qr/data/rsc26.dat | 27 ++ qr/data/rsc28.dat | 29 ++ qr/data/rsc30.dat | 31 ++ qr/data/rsc32.dat | 33 ++ qr/data/rsc34.dat | 36 ++ qr/data/rsc36.dat | 73 ++++ qr/data/rsc40.dat | 41 +++ qr/data/rsc42.dat | 43 +++ qr/data/rsc44.dat | 45 +++ qr/data/rsc46.dat | 47 +++ qr/data/rsc48.dat | 49 +++ qr/data/rsc50.dat | 51 +++ qr/data/rsc52.dat | 106 ++++++ qr/data/rsc54.dat | 55 +++ qr/data/rsc56.dat | 57 +++ qr/data/rsc58.dat | 59 ++++ qr/data/rsc60.dat | 61 ++++ qr/data/rsc62.dat | 63 ++++ qr/data/rsc64.dat | 66 ++++ qr/data/rsc66.dat | 68 ++++ qr/data/rsc68.dat | 69 ++++ qr/data/rsc7.dat | 8 + require/leftbox.php | 2 +- require/rightbox.php | 2 +- search/index.php | 14 +- server/uwuzuinfo.txt | 4 +- server/uwuzurelease.txt | 12 + user/index.php | 66 +++- 210 files changed, 21107 insertions(+), 50 deletions(-) create mode 100644 home/ftl.php create mode 100644 home/ltl.php create mode 100644 nextpage/ftlpage.php create mode 100644 qr/data/qrv10_0.dat create mode 100644 qr/data/qrv10_1.dat create mode 100644 qr/data/qrv10_2.dat create mode 100644 qr/data/qrv10_3.dat create mode 100644 qr/data/qrv11_0.dat create mode 100644 qr/data/qrv11_1.dat create mode 100644 qr/data/qrv11_2.dat create mode 100644 qr/data/qrv11_3.dat create mode 100644 qr/data/qrv12_0.dat create mode 100644 qr/data/qrv12_1.dat create mode 100644 qr/data/qrv12_2.dat create mode 100644 qr/data/qrv12_3.dat create mode 100644 qr/data/qrv13_0.dat create mode 100644 qr/data/qrv13_1.dat create mode 100644 qr/data/qrv13_2.dat create mode 100644 qr/data/qrv13_3.dat create mode 100644 qr/data/qrv14_0.dat create mode 100644 qr/data/qrv14_1.dat create mode 100644 qr/data/qrv14_2.dat create mode 100644 qr/data/qrv14_3.dat create mode 100644 qr/data/qrv15_0.dat create mode 100644 qr/data/qrv15_1.dat create mode 100644 qr/data/qrv15_2.dat create mode 100644 qr/data/qrv15_3.dat create mode 100644 qr/data/qrv16_0.dat create mode 100644 qr/data/qrv16_1.dat create mode 100644 qr/data/qrv16_2.dat create mode 100644 qr/data/qrv16_3.dat create mode 100644 qr/data/qrv17_0.dat create mode 100644 qr/data/qrv17_1.dat create mode 100644 qr/data/qrv17_2.dat create mode 100644 qr/data/qrv17_3.dat create mode 100644 qr/data/qrv18_0.dat create mode 100644 qr/data/qrv18_1.dat create mode 100644 qr/data/qrv18_2.dat create mode 100644 qr/data/qrv18_3.dat create mode 100644 qr/data/qrv19_0.dat create mode 100644 qr/data/qrv19_1.dat create mode 100644 qr/data/qrv19_2.dat create mode 100644 qr/data/qrv19_3.dat create mode 100644 qr/data/qrv1_0.dat create mode 100644 qr/data/qrv1_1.dat create mode 100644 qr/data/qrv1_2.dat create mode 100644 qr/data/qrv1_3.dat create mode 100644 qr/data/qrv20_0.dat create mode 100644 qr/data/qrv20_1.dat create mode 100644 qr/data/qrv20_2.dat create mode 100644 qr/data/qrv20_3.dat create mode 100644 qr/data/qrv21_0.dat create mode 100644 qr/data/qrv21_1.dat create mode 100644 qr/data/qrv21_2.dat create mode 100644 qr/data/qrv21_3.dat create mode 100644 qr/data/qrv22_0.dat create mode 100644 qr/data/qrv22_1.dat create mode 100644 qr/data/qrv22_2.dat create mode 100644 qr/data/qrv22_3.dat create mode 100644 qr/data/qrv23_0.dat create mode 100644 qr/data/qrv23_1.dat create mode 100644 qr/data/qrv23_2.dat create mode 100644 qr/data/qrv23_3.dat create mode 100644 qr/data/qrv24_0.dat create mode 100644 qr/data/qrv24_1.dat create mode 100644 qr/data/qrv24_2.dat create mode 100644 qr/data/qrv24_3.dat create mode 100644 qr/data/qrv25_0.dat create mode 100644 qr/data/qrv25_1.dat create mode 100644 qr/data/qrv25_2.dat create mode 100644 qr/data/qrv25_3.dat create mode 100644 qr/data/qrv26_0.dat create mode 100644 qr/data/qrv26_1.dat create mode 100644 qr/data/qrv26_2.dat create mode 100644 qr/data/qrv26_3.dat create mode 100644 qr/data/qrv27_0.dat create mode 100644 qr/data/qrv27_1.dat create mode 100644 qr/data/qrv27_2.dat create mode 100644 qr/data/qrv27_3.dat create mode 100644 qr/data/qrv28_0.dat create mode 100644 qr/data/qrv28_1.dat create mode 100644 qr/data/qrv28_2.dat create mode 100644 qr/data/qrv28_3.dat create mode 100644 qr/data/qrv29_0.dat create mode 100644 qr/data/qrv29_1.dat create mode 100644 qr/data/qrv29_2.dat create mode 100644 qr/data/qrv29_3.dat create mode 100644 qr/data/qrv2_0.dat create mode 100644 qr/data/qrv2_1.dat create mode 100644 qr/data/qrv2_2.dat create mode 100644 qr/data/qrv2_3.dat create mode 100644 qr/data/qrv30_0.dat create mode 100644 qr/data/qrv30_1.dat create mode 100644 qr/data/qrv30_2.dat create mode 100644 qr/data/qrv30_3.dat create mode 100644 qr/data/qrv31_0.dat create mode 100644 qr/data/qrv31_1.dat create mode 100644 qr/data/qrv31_2.dat create mode 100644 qr/data/qrv31_3.dat create mode 100644 qr/data/qrv32_0.dat create mode 100644 qr/data/qrv32_1.dat create mode 100644 qr/data/qrv32_2.dat create mode 100644 qr/data/qrv32_3.dat create mode 100644 qr/data/qrv33_0.dat create mode 100644 qr/data/qrv33_1.dat create mode 100644 qr/data/qrv33_2.dat create mode 100644 qr/data/qrv33_3.dat create mode 100644 qr/data/qrv34_0.dat create mode 100644 qr/data/qrv34_1.dat create mode 100644 qr/data/qrv34_2.dat create mode 100644 qr/data/qrv34_3.dat create mode 100644 qr/data/qrv35_0.dat create mode 100644 qr/data/qrv35_1.dat create mode 100644 qr/data/qrv35_2.dat create mode 100644 qr/data/qrv35_3.dat create mode 100644 qr/data/qrv36_0.dat create mode 100644 qr/data/qrv36_1.dat create mode 100644 qr/data/qrv36_2.dat create mode 100644 qr/data/qrv36_3.dat create mode 100644 qr/data/qrv37_0.dat create mode 100644 qr/data/qrv37_1.dat create mode 100644 qr/data/qrv37_2.dat create mode 100644 qr/data/qrv37_3.dat create mode 100644 qr/data/qrv38_0.dat create mode 100644 qr/data/qrv38_1.dat create mode 100644 qr/data/qrv38_2.dat create mode 100644 qr/data/qrv38_3.dat create mode 100644 qr/data/qrv39_0.dat create mode 100644 qr/data/qrv39_1.dat create mode 100644 qr/data/qrv39_2.dat create mode 100644 qr/data/qrv39_3.dat create mode 100644 qr/data/qrv3_0.dat create mode 100644 qr/data/qrv3_1.dat create mode 100644 qr/data/qrv3_2.dat create mode 100644 qr/data/qrv3_3.dat create mode 100644 qr/data/qrv40_0.dat create mode 100644 qr/data/qrv40_1.dat create mode 100644 qr/data/qrv40_2.dat create mode 100644 qr/data/qrv40_3.dat create mode 100644 qr/data/qrv4_0.dat create mode 100644 qr/data/qrv4_1.dat create mode 100644 qr/data/qrv4_2.dat create mode 100644 qr/data/qrv4_3.dat create mode 100644 qr/data/qrv5_0.dat create mode 100644 qr/data/qrv5_1.dat create mode 100644 qr/data/qrv5_2.dat create mode 100644 qr/data/qrv5_3.dat create mode 100644 qr/data/qrv6_0.dat create mode 100644 qr/data/qrv6_1.dat create mode 100644 qr/data/qrv6_2.dat create mode 100644 qr/data/qrv6_3.dat create mode 100644 qr/data/qrv7_0.dat create mode 100644 qr/data/qrv7_1.dat create mode 100644 qr/data/qrv7_2.dat create mode 100644 qr/data/qrv7_3.dat create mode 100644 qr/data/qrv8_0.dat create mode 100644 qr/data/qrv8_1.dat create mode 100644 qr/data/qrv8_2.dat create mode 100644 qr/data/qrv8_3.dat create mode 100644 qr/data/qrv9_0.dat create mode 100644 qr/data/qrv9_1.dat create mode 100644 qr/data/qrv9_2.dat create mode 100644 qr/data/qrv9_3.dat create mode 100644 qr/data/rsc10.dat create mode 100644 qr/data/rsc13.dat create mode 100644 qr/data/rsc15.dat create mode 100644 qr/data/rsc16.dat create mode 100644 qr/data/rsc17.dat create mode 100644 qr/data/rsc18.dat create mode 100644 qr/data/rsc20.dat create mode 100644 qr/data/rsc22.dat create mode 100644 qr/data/rsc24.dat create mode 100644 qr/data/rsc26.dat create mode 100644 qr/data/rsc28.dat create mode 100644 qr/data/rsc30.dat create mode 100644 qr/data/rsc32.dat create mode 100644 qr/data/rsc34.dat create mode 100644 qr/data/rsc36.dat create mode 100644 qr/data/rsc40.dat create mode 100644 qr/data/rsc42.dat create mode 100644 qr/data/rsc44.dat create mode 100644 qr/data/rsc46.dat create mode 100644 qr/data/rsc48.dat create mode 100644 qr/data/rsc50.dat create mode 100644 qr/data/rsc52.dat create mode 100644 qr/data/rsc54.dat create mode 100644 qr/data/rsc56.dat create mode 100644 qr/data/rsc58.dat create mode 100644 qr/data/rsc60.dat create mode 100644 qr/data/rsc62.dat create mode 100644 qr/data/rsc64.dat create mode 100644 qr/data/rsc66.dat create mode 100644 qr/data/rsc68.dat create mode 100644 qr/data/rsc7.dat diff --git a/addauthcode.php b/addauthcode.php index 7c78001..28dd3ac 100644 --- a/addauthcode.php +++ b/addauthcode.php @@ -11,7 +11,7 @@ function createUniqId(){ function random($length = 32) { - return substr(str_shuffle('1234567890abcdefghijklmnopqrstuvwxyz'), 0, $length); + return substr(str_shuffle('1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ'), 0, $length); } require('db.php'); diff --git a/css/home.css b/css/home.css index 6ea4616..feefccf 100644 --- a/css/home.css +++ b/css/home.css @@ -32,6 +32,12 @@ body{ background-size: cover; } +@media screen and (max-width:1500px) { + body{ + width: 95%; + } +} + .irobutton{ cursor: pointer; border: none; @@ -354,7 +360,7 @@ body{ border: none; display: flex; width:80%; - margin: 16px; + margin: 8px; padding: 8px auto; margin-left: auto; margin-right: auto; @@ -602,6 +608,19 @@ main h1{ } +.userheader .profile .hashtags{ + margin-top: auto; + margin-bottom: auto; + margin-left: 0px; + margin-right: 0px; + font-size: 16px; + color:#FFC832; + text-decoration: none; + font-family: 'BIZ UDGothic', sans-serif; + font-weight: bold; +} + + .fzone{ margin-left: 24px; margin-right: 24px; @@ -1367,7 +1386,17 @@ main h1{ border: 0; border-top: 1px solid #999; } - +.ueuse .hashtags{ + margin-top: auto; + margin-bottom: auto; + margin-left: 0px; + margin-right: 0px; + font-size: 16px; + color:#FFC832; + text-decoration: none; + font-family: 'BIZ UDGothic', sans-serif; + font-weight: normal; +} .tokonone p{ @@ -1838,7 +1867,7 @@ label>input { left: 0; width: 100%; height: 100%; - background-color: rgba(0, 0, 0, 0.5); + background-color: rgba(0, 0, 0, 0.25); backdrop-filter: blur(5px); z-index: 9999; transition: all 250ms ease-out; @@ -1857,7 +1886,7 @@ label>input { left: 40%; right: 40%; transform: translate(-50%, -50%); - box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05); + box-shadow:0 0px 48px 0 rgba(0, 0, 0, .15); } .modal-content textarea{ @@ -2802,6 +2831,45 @@ hr{ } } +.tlchange{ + border-radius: 10px; + margin: 12px; + background-color: #F5F5F5; + border: 1px solid #EEE; + width: auto; + text-align: center; + display: flex; +} +.tlchange .off{ + width: 45%; + line-height: 32px; + margin-left: auto; + margin-right: auto; + overflow-wrap: break-word; + margin-top: 12px; + margin-bottom: 12px; + font-size: 24px; + color:#CCC; + text-decoration: none; + font-family: 'BIZ UDPGothic', sans-serif; + font-weight: bold; +} +.tlchange .on{ + width: 45%; + line-height: 32px; + margin-left: auto; + margin-right: auto; + overflow-wrap: break-word; + margin-top: 12px; + margin-bottom: 12px; + font-size: 24px; + color:#FFC832; + text-decoration: none; + font-family: 'BIZ UDPGothic', sans-serif; + font-weight: bold; + border-bottom: 1px solid #FFC832; +} + /*------------------------------------------------------------------------------------------------------------*/ /*--------------------------------------------------スマホ向け--------------------------------------------------*/ /*--------------------------------------------------ここから--------------------------------------------------*/ @@ -3033,6 +3101,10 @@ hr{ transition: all 250ms ease-out; } + .ueuse .favbox img{ + width: 24px; + height: 24px; + } .ueuse .favbox .tuduki{ @@ -3085,6 +3157,14 @@ hr{ text-decoration:none; text-align: center; } + .ueuse .favbox .tuduki svg { + margin-top: -8px; + margin-right: 4px; + width: 24px; + height: 24px; + fill: currentColor; + transition: all 250ms ease-out; + } .ueuse .favbox .delbtn{ cursor: pointer; @@ -3212,12 +3292,6 @@ hr{ transition: all 250ms ease-out; } - - .ueuse .favbox img{ - margin-left: 0px; - width: 24px; - } - .ueuse{ animation: slideInY 0.5s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards; margin: 12px; @@ -3703,7 +3777,7 @@ hr{ bottom: 0; width: 100%; height: 100dvh; - background-color: rgba(0, 0, 0, 0.2); + background-color: rgba(0, 0, 0, 0.25); backdrop-filter: blur(4px); z-index: 9999; margin-bottom: 0px; @@ -3820,6 +3894,34 @@ hr{ } } + .tlchange{ + border-radius: 10px; + margin: 12px; + margin-bottom: 0px; + width: auto; + text-align: center; + display: flex; + } + .tlchange .off{ + width: 45%; + line-height: 24px; + margin-left: auto; + margin-right: auto; + overflow-wrap: break-word; + margin-top: 12px; + margin-bottom: 12px; + font-size: 20px; + } + .tlchange .on{ + width: 45%; + line-height: 24px; + margin-left: auto; + margin-right: auto; + overflow-wrap: break-word; + margin-top: 12px; + margin-bottom: 12px; + font-size: 20px; + } } /*------------------------------------------------------------------------------------------------------------*/ @@ -3855,11 +3957,9 @@ hr{ background-color: #FFFAE6; color: #0c0c0c; box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2); - width:75%; } .leftbutton:active{ box-shadow:0 0px 48px 0 rgba(0, 0, 0, .05); - width:65%; } main{ @@ -4316,4 +4416,17 @@ hr{ color:#0c0c0c; box-shadow:0 0px 48px 0 rgba(0, 0, 0, .2); } + + .tlchange{ + background-color: #0c0c0c; + border: none; + } + .tlchange .off{ + color:#F5F5F5; + } + .tlchange .on{ + color:#FFC832; + border-bottom: 1px solid #FFC832; + } + } \ No newline at end of file diff --git a/home/ftl.php b/home/ftl.php new file mode 100644 index 0000000..611ad5f --- /dev/null +++ b/home/ftl.php @@ -0,0 +1,736 @@ + PDO::ERRMODE_EXCEPTION, + PDO::MYSQL_ATTR_MULTI_STATEMENTS => false + ); + $pdo = new PDO('mysql:charset=utf8mb4;dbname='.DB_NAME.';host='.DB_HOST , DB_USER, DB_PASS, $option); + +} catch(PDOException $e) { + + // 接続エラーのときエラー内容を取得する + $error_message[] = $e->getMessage(); +} + +if(isset($_SESSION['admin_login']) && $_SESSION['admin_login'] === true) { + + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', $_SESSION['userid']); + $passQuery->execute(); + $res = $passQuery->fetch(); + if(empty($res["userid"])){ + header("Location: ../login.php"); + exit; + }elseif($_SESSION['loginid'] === $res["loginid"]){ + // セッションに値をセット + $userid = $_SESSION['userid']; // セッションに格納されている値をそのままセット + $username = $_SESSION['username']; // セッションに格納されている値をそのままセット + $_SESSION['admin_login'] = true; + $_SESSION['userid'] = $userid; + $_SESSION['username'] = $username; + $_SESSION['loginid'] = $res["loginid"]; + setcookie('userid', $userid, time() + 60 * 60 * 24 * 14); + setcookie('username', $username, time() + 60 * 60 * 24 * 14); + setcookie('loginid', $res["loginid"], time() + 60 * 60 * 24 * 14); + setcookie('admin_login', true, time() + 60 * 60 * 24 * 14); + }else{ + header("Location: ../login.php"); + exit; + } + + +} elseif (isset($_COOKIE['admin_login']) && $_COOKIE['admin_login'] == true) { + + $passQuery = $pdo->prepare("SELECT username,userid,loginid,admin FROM account WHERE userid = :userid"); + $passQuery->bindValue(':userid', $_COOKIE['userid']); + $passQuery->execute(); + $res = $passQuery->fetch(); + if(empty($res["userid"])){ + header("Location: ../login.php"); + exit; + }elseif($_COOKIE['loginid'] === $res["loginid"]){ + // セッションに値をセット + $userid = $_COOKIE['userid']; // クッキーから取得した値をセット + $username = $_COOKIE['username']; // クッキーから取得した値をセット + $_SESSION['admin_login'] = true; + $_SESSION['userid'] = $userid; + $_SESSION['username'] = $username; + $_SESSION['loginid'] = $res["loginid"]; + setcookie('userid', $userid, time() + 60 * 60 * 24 * 14); + setcookie('username', $username, time() + 60 * 60 * 24 * 14); + setcookie('loginid', $res["loginid"], time() + 60 * 60 * 24 * 14); + setcookie('admin_login', true, time() + 60 * 60 * 24 * 14); + }else{ + header("Location: ../login.php"); + exit; + } + + +} else { + // ログインが許可されていない場合、ログインページにリダイレクト + header("Location: ../login.php"); + exit; +} +if(empty($userid)){ + header("Location: ../login.php"); + exit; +} +if(empty($username)){ + header("Location: ../login.php"); + exit; +} + +$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']; + +//------------------------------------------- +function get_mentions_userid($postText) { + // @useridを検出する + $usernamePattern = '/@(\w+)/'; + $mentionedUsers = []; + + preg_replace_callback($usernamePattern, function($matches) use (&$mentionedUsers) { + $mention_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, + )); + + $mention_userQuery = $dbh->prepare("SELECT username, userid FROM account WHERE userid = :userid"); + $mention_userQuery->bindValue(':userid', $mention_username); + $mention_userQuery->execute(); + $mention_userData = $mention_userQuery->fetch(); + + if (!empty($mention_userData)) { + $mentionedUsers[] = $mention_username; + } + }, $postText); + + return $mentionedUsers; +} + +if( !empty($_POST['btn_submit']) ) { + + $ueuse = htmlentities($_POST['ueuse']); + + // メッセージの入力チェック + if( empty($ueuse) ) { + $error_message[] = '内容を入力してください。'; + } else { + // 文字数を確認 + if( 1024 < mb_strlen($ueuse, 'UTF-8') ) { + $error_message[] = '内容は1024文字以内で入力してください。'; + } + } + + + if (empty($_FILES['upload_images']['name'])) { + $photo1 = "none"; + } else { + // アップロードされたファイル情報 + $uploadedFile = $_FILES['upload_images']; + + // アップロードされたファイルの拡張子を取得 + $extension = pathinfo($uploadedFile['name'], PATHINFO_EXTENSION); + + // 新しいファイル名を生成(uniqid + 拡張子) + $newFilename = uniqid() . '-'.$userid.'.' . $extension; + + // 保存先のパスを生成 + $uploadedPath = '../ueuseimages/' . $newFilename; + + // ファイルを移動 + $result = move_uploaded_file($uploadedFile['tmp_name'], $uploadedPath); + + if ($result) { + $photo1 = $uploadedPath; // 保存されたファイルのパスを使用 + } else { + $errnum = $uploadedFile['error']; + if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";} + if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";} + if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";} + if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";} + if($errnum === 6){$errcode = "TMP_FOLDER_NAI";} + if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";} + if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";} + $error_message[] = 'アップロード失敗!(2)エラーコード:' .$errcode.''; + } + } + + if (empty($_FILES['upload_images2']['name'])) { + $photo2 = "none"; + } else { + + if (empty($_FILES['upload_images']['name'])){ + $error_message[] = '画像1から画像を選択してください!!!'; + } + // アップロードされたファイル情報 + $uploadedFile2 = $_FILES['upload_images2']; + + if( 10000000 < $uploadedFile2["size"] ) { + $error_message[] = 'ファイルサイズが大きすぎます!'; + } + // アップロードされたファイルの拡張子を取得 + $extension2 = pathinfo($uploadedFile2['name'], PATHINFO_EXTENSION); + + // 新しいファイル名を生成(uniqid + 拡張子) + $newFilename2 = uniqid() . '-'.$userid.'.' . $extension2; + + // 保存先のパスを生成 + $uploadedPath2 = '../ueuseimages/' . $newFilename2; + + // ファイルを移動 + $result2 = move_uploaded_file($uploadedFile2['tmp_name'], $uploadedPath2); + + if ($result2) { + $photo2 = $uploadedPath2; // 保存されたファイルのパスを使用 + } else { + $errnum = $uploadedFile2['error']; + if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";} + if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";} + if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";} + if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";} + if($errnum === 6){$errcode = "TMP_FOLDER_NAI";} + if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";} + if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";} + $error_message[] = 'アップロード失敗!(2)エラーコード:' .$errcode.''; + } + } + + if (empty($_FILES['upload_videos1']['name'])) { + $video1 = "none"; + } else { + // アップロードされたファイル情報 + $uploadedFile3 = $_FILES['upload_videos1']; + + // アップロードされたファイルの拡張子を取得 + $extension3 = strtolower(pathinfo($uploadedFile3['name'], PATHINFO_EXTENSION)); // 小文字に変換 + + // サポートされている動画フォーマットの拡張子を配列で定義 + $supportedExtensions = array("mp4", "avi", "mov", "webm"); + + if (in_array($extension3, $supportedExtensions)) { + // 正しい拡張子の場合、新しいファイル名を生成 + $newFilename3 = uniqid() . '-'.$userid.'.' . $extension3; + // 保存先のパスを生成 + $uploadedPath3 = '../ueusevideos/' . $newFilename3; + + // ファイルを移動 + $result3 = move_uploaded_file($uploadedFile3['tmp_name'], $uploadedPath3); + + if ($result3) { + $video1 = $uploadedPath3; // 保存されたファイルのパスを使用 + } else { + $errnum = $uploadedFile3['error']; + if($errnum === 1){$errcode = "FILE_DEKASUGUI_PHP_INI_KAKUNIN";} + if($errnum === 2){$errcode = "FILE_DEKASUGUI_HTML_KAKUNIN";} + if($errnum === 3){$errcode = "FILE_SUKOSHIDAKE_UPLOAD";} + if($errnum === 4){$errcode = "FILE_UPLOAD_DEKINAKATTA";} + if($errnum === 6){$errcode = "TMP_FOLDER_NAI";} + if($errnum === 7){$errcode = "FILE_KAKIKOMI_SIPPAI";} + if($errnum === 8){$errcode = "PHPINFO()_KAKUNIN";} + $error_message[] = 'アップロード失敗!(2)エラーコード:' .$errcode.''; + } + } else { + $error_message[] = '対応していないファイル形式です!'; + } + + + } + + if( empty($error_message) ) { + + // 書き込み日時を取得 + $datetime = date("Y-m-d H:i:s"); + $uniqid = createUniqId(); + $abi = "none"; + + // トランザクション開始 + $pdo->beginTransaction(); + + try { + + // SQL作成 + $stmt = $pdo->prepare("INSERT INTO ueuse (username, account, uniqid, ueuse, photo1, photo2, video1, datetime, abi) VALUES (:username, :account, :uniqid, :ueuse, :photo1, :photo2, :video1, :datetime, :abi)"); + + $stmt->bindParam(':username', $username, PDO::PARAM_STR); + $stmt->bindParam(':account', $userid, PDO::PARAM_STR); + $stmt->bindParam(':uniqid', $uniqid, PDO::PARAM_STR); + $stmt->bindParam(':ueuse', $ueuse, PDO::PARAM_STR); + + $stmt->bindParam(':photo1', $photo1, PDO::PARAM_STR); + $stmt->bindParam(':photo2', $photo2, PDO::PARAM_STR); + $stmt->bindParam(':video1', $video1, PDO::PARAM_STR); + $stmt->bindParam(':datetime', $datetime, PDO::PARAM_STR); + + $stmt->bindParam(':abi', $abi, PDO::PARAM_STR); + + // SQLクエリの実行 + $res = $stmt->execute(); + + // コミット + $res = $pdo->commit(); + + $mentionedUsers = get_mentions_userid($ueuse); + + foreach ($mentionedUsers as $mentionedUser) { + + $pdo->beginTransaction(); + + try { + $touserid = $mentionedUser; + $datetime = date("Y-m-d H:i:s"); + $msg = "" . $ueuse . ""; + $title = "" . $username . "さんにメンションされました!"; + $url = "/!" . $uniqid . "~" . $userid . ""; + $userchk = 'none'; + + // 通知用SQL作成 + $stmt = $pdo->prepare("INSERT INTO notification (touserid, msg, url, datetime, userchk, title) VALUES (:touserid, :msg, :url, :datetime, :userchk, :title)"); + + + $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クエリの実行 + $res = $stmt->execute(); + + // コミット + $res = $pdo->commit(); + + } catch(Exception $e) { + + // エラーが発生した時はロールバック + $pdo->rollBack(); + } + + } + + } catch(Exception $e) { + + // エラーが発生した時はロールバック + $pdo->rollBack(); + } + + if( $res ) { + $url = (empty($_SERVER['HTTPS']) ? 'http://' : 'https://') . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; + header("Location:".$url.""); + exit; + } else { + $error_message[] = $e->getMessage(); + } + + // プリペアドステートメントを削除 + $stmt = null; + } +} + + + +require('../logout/logout.php'); + + + +// データベースの接続を閉じる +$pdo = null; + +?> + + + + + + + + + + + +フォロータイムライン - <?php echo file_get_contents($servernamefile);?> + + + + + + + +
+
+ LTL + FTL +
+ + + + +
+
+ +

画像のEXIF情報(位置情報など)は削除されません。
情報漏洩に気をつけてくださいね…

+
+ + + + + +
+
+
+ + +
+
+ + +
+
+ + + +
+ + + + + + + + + + + + + + \ No newline at end of file diff --git a/home/index.php b/home/index.php index 1ce7c0b..86583e6 100644 --- a/home/index.php +++ b/home/index.php @@ -393,7 +393,7 @@ if ("serviceWorker" in navigator) { -ホーム - <?php echo file_get_contents($servernamefile);?> +ローカルタイムライン - <?php echo file_get_contents($servernamefile);?> @@ -402,7 +402,10 @@ if ("serviceWorker" in navigator) {
- +
+ LTL + FTL +