From e9c85297eb1e5718925f9d49614d228c19b8c7bb Mon Sep 17 00:00:00 2001 From: johnnyq Date: Sat, 3 Feb 2024 14:30:03 -0500 Subject: [PATCH] Feature: Allow to upload custom fav icon under settings > Theme, icon is limited to .ico format only --- post/setting.php | 40 ++++++++++++++++++++++++++++++++++++++++ settings_theme.php | 22 ++++++++++++++++++++++ uploads/favicon.ico | Bin 0 -> 15086 bytes 3 files changed, 62 insertions(+) create mode 100644 uploads/favicon.ico diff --git a/post/setting.php b/post/setting.php index 220a132f..024e28c4 100644 --- a/post/setting.php +++ b/post/setting.php @@ -325,6 +325,46 @@ if (isset($_POST['edit_theme_settings'])) { header("Location: " . $_SERVER["HTTP_REFERER"]); } +if (isset($_POST['edit_favicon_settings'])) { + + validateCSRFToken($_POST['csrf_token']); + + validateAdminRole(); + + // Check to see if a file is attached + if ($_FILES['file']['tmp_name'] != '') { + if ($new_file_name = checkFileUpload($_FILES['file'], array('ico'))) { + $file_tmp_path = $_FILES['file']['tmp_name']; + + // Delete old file + if(file_exists("uploads/favicon.ico")) { + unlink("uploads/favicon.ico"); + } + + // directory in which the uploaded file will be moved + $upload_file_dir = "uploads/"; + //Force File Name + $new_file_name = "favicon.ico"; + $dest_path = $upload_file_dir . $new_file_name; + + move_uploaded_file($file_tmp_path, $dest_path); + + $_SESSION['alert_message'] = 'File successfully uploaded.'; + }else{ + + $_SESSION['alert_message'] = 'There was an error moving the file to upload directory. Please make sure the upload directory is writable by web server.'; + } + } + + //Logging + mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name updated the favicon', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); + + $_SESSION['alert_message'] = "You updated the favicon"; + + header("Location: " . $_SERVER["HTTP_REFERER"]); + +} + if (isset($_POST['edit_notification_settings'])) { validateCSRFToken($_POST['csrf_token']); diff --git a/settings_theme.php b/settings_theme.php index 401cf458..0b2879fb 100644 --- a/settings_theme.php +++ b/settings_theme.php @@ -44,6 +44,28 @@ require_once "inc_all_settings.php"; +
+
+

Favicon

+
+
+
+ + + "> + +
+ +
+ +
+ + + +
+
+
+ zdzsK z?>zV1bI(1_xe8b5nwp%(M)%fj&dqhsH8%QnjdQ1EtI>%6$+6CDSHKL#D8;o1?7gpB z`-bwr%{@lE&eT% zvx-|E>Lkq-vq2DBtS&v!OMQ}Fl1;HI1$j|UzEQlsNt0jr1TlGa>1AcI>OiYv*9@Wt zJslTQ1}gSh@cEd${S&_?O*d{QR)jTv)B02KNx;XN9~Kvd#pdmwTr|)MwW&o-(=E0C z_oX#aj2C?VpiyQ7hJR1Z)1+;kBRfb_9^fALoOOsA;;To8Ih5j*djl65=jT0XV>wi^VjkI`a zaxZHAQ)66OY$3byIBwpn7sQSjFKK;B&_AE2{bHMl#}&Emu{bo)vg-vksAYZ|>51N^ zrX7QPEy8r@bF@KkEmwK}j~3{^PRIAO*e-Zq2g_FF9uoHcF~>GoJ@V*@-g5mGOFPyq zyRT>cZ_kP!DZl!x5Z4L2-Z9pSSA_M?99tMePQ^&|O90f8Daf155Mb( zC5PM*I|kLBCQb|MGw(?5w2^ubRGWKU?iKU)ZSmv|`2BLFjwhjizC*cxp|2$H+4n5R zFxvX(e7H}{72)p@=GgFs=i6xOpU-91{Xa3I_58Wo`#+(*trz1&RSazSh#9T>&*$?C z5k89w=lF;jt^HeH#f~HW`JJV`{5{yuV*9o@a%Wws>wUbAYV$jAx40m-OUm4{o}J0eQRtiQ=VOTFx%4$+vLBz(h`pHl#D=+O<*mQj z`eIc6I)(oNd5wTWsD(Oj0fyX!F&S_>zz3-nR?>w(J4% zrl9^lzs7!t81QTxoA+5RIpm^&7Iw4;3p?7>m=xat**1w^#Lodd2SI~pJE7g?KgkZZ4o7<)ghptm#-^0|9bV6Lxo-R@ z7|muQI=t7w-0U`{!fvr%JW{P?rh${8!> ziigC5;tBDGhdDNU#0>bGs4V>~zciN$o-5hsi;;5!LK`tlv-I-%rD@k+t66Bg?E0Ix zR#JRWpXd1t=0N#{^0Hr1Xk_+CFMj--H(nCYd|O3Rfl?|DrIx&9t0tybCo|JZ@P z=L?tr+ga6CZJh1s*m1^!yC zw~EgN{kR;e8dn-4!M@ULvwPT6X?Ss zkFD_$Lu_xp^%#!w@twI_eCuJpI*du1D~^7+)^k707|t`#V8xUFf!HT_zkoTmV)82$ z_m22WaJ~R@Y?Wz!hjzs+5F5ls5Ay|K%xIZM!86vcwmNrmmvf8<4?6dyjuv