Added attached files

This commit is contained in:
ivan 2017-10-06 11:50:48 +03:00
parent 68618f974f
commit 14a81c9b26
3 changed files with 58 additions and 23 deletions

View File

@ -43,9 +43,11 @@ function ReadEntries() {
} }
function SaveFile() { function SaveFile() {
$filename = substr(md5(uniqid()), 0, 13).'.'.pathinfo($_FILES["uploadedfile"]["name"], PATHINFO_EXTENSION); $postuploaddir = substr(md5(uniqid()), 0, 13);
$uploaddir = "upload/"; $preuploaddir = "upload/";
$uploadfile = $uploaddir.$filename; $filename = $_FILES["uploadedfile"]["name"];
$uploadfile = $preuploaddir.$postuploaddir."/".$filename;
mkdir($preuploaddir.$postuploaddir, 0755, true);
if (move_uploaded_file($_FILES["uploadedfile"]["tmp_name"], $uploadfile)) { if (move_uploaded_file($_FILES["uploadedfile"]["tmp_name"], $uploadfile)) {
return $uploadfile; return $uploadfile;
} else { } else {
@ -54,11 +56,18 @@ function SaveFile() {
} }
function CheckFile() { function CheckFile() {
global $GBimagesize; global $Titles;
if (getimagesize($_FILES["uploadedfile"]["tmp_name"])) { global $GBfilesize;
if ((filesize($_FILES["uploadedfile"]["tmp_name"]))<($GBimagesize)) return SaveFile(); global $GBupload;
else return false; if ($GBfilesize>$_FILES["uploadedfile"]["size"] && $_FILES["uploadedfile"]["size"]>0) {
if (in_array("images",$GBupload)) if (getimagesize($_FILES["uploadedfile"]["tmp_name"]))
return " <br><img src=\"".SaveFile()."\">";
if ($GBupload===true)
return " <br><a href=\"".SaveFile()."\">"."<strong>📎</strong> ".$Titles["AttachedFile"]."</a>";
if (in_array(mb_strtolower(pathinfo($_FILES["uploadedfile"]["name"], PATHINFO_EXTENSION)),$GBupload))
return " <br><a href=\"".SaveFile()."\">"."<strong>📎</strong> ".$Titles["AttachedFile"]."</a>";
} else return false; } else return false;
return false;
} }
function AddHttp($Link) { function AddHttp($Link) {
@ -91,7 +100,7 @@ function AddEntry() {
$NewEntry["email"]=$_POST["email"]; $NewEntry["email"]=$_POST["email"];
if (!$GBstriptags) $NewEntry["text"]=$_POST["text"]; if (!$GBstriptags) $NewEntry["text"]=$_POST["text"];
else $NewEntry["text"]=strip_tags($_POST["text"]); else $NewEntry["text"]=strip_tags($_POST["text"]);
if ($UploadedFile) $NewEntry["text"]=$NewEntry["text"]." <br><img src=\"$UploadedFile\">"; if ($UploadedFile) $NewEntry["text"]=$NewEntry["text"].$UploadedFile;
$NewEntry["datetime"]=time(); $NewEntry["datetime"]=time();
$NewEntry["response"]=""; $NewEntry["response"]="";
if ($GBsubjectfield) { if ($GBsubjectfield) {
@ -125,6 +134,7 @@ function AddEntryView() {
global $GBlinkfield; global $GBlinkfield;
global $GBsubjectfield; global $GBsubjectfield;
global $GBcategoryfield; global $GBcategoryfield;
global $GBfilesize;
echo "<h2>",$Titles["Page"],"</h2><br>\n"; echo "<h2>",$Titles["Page"],"</h2><br>\n";
if ($PageStatus=="added") echo $Titles["Added"]."<br>\n"; if ($PageStatus=="added") echo $Titles["Added"]."<br>\n";
$captchanumber11=rand(1, 4); $captchanumber11=rand(1, 4);
@ -150,6 +160,7 @@ function AddEntryView() {
echo " ",$Titles["Text"],":<br>\n <textarea name=\"text\" wrap=virtual cols=50 rows=5 maxlength=$GBtextlenght>",$Values["text"],"</textarea><br>\n"; echo " ",$Titles["Text"],":<br>\n <textarea name=\"text\" wrap=virtual cols=50 rows=5 maxlength=$GBtextlenght>",$Values["text"],"</textarea><br>\n";
if ($GBupload) { if ($GBupload) {
echo " <label for=\"file\">".$Titles["FileUpload"]."</label>\n"; echo " <label for=\"file\">".$Titles["FileUpload"]."</label>\n";
echo " <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$GBfilesize."\" />\n";
echo " <input type=\"file\" name=\"uploadedfile\"><br>\n"; echo " <input type=\"file\" name=\"uploadedfile\"><br>\n";
} }
if ($GBcaptcha) echo " ",$Titles["Captcha"],": <font class=\"text\">$captchanumber11</font><font>$captchanumber11</font><font>$captchanumber12</font> ",$Titles["CaptchaPlus"]," <font>$captchanumber21</font><font>$captchanumber22</font><font class=\"text\">$captchanumber21</font> = <input type=text name=\"captcha\" size=2 maxlength=2> ?<br>\n"; if ($GBcaptcha) echo " ",$Titles["Captcha"],": <font class=\"text\">$captchanumber11</font><font>$captchanumber11</font><font>$captchanumber12</font> ",$Titles["CaptchaPlus"]," <font>$captchanumber21</font><font>$captchanumber22</font><font class=\"text\">$captchanumber21</font> = <input type=text name=\"captcha\" size=2 maxlength=2> ?<br>\n";
@ -157,7 +168,7 @@ function AddEntryView() {
echo "</form>\n"; echo "</form>\n";
if ($PageStatus=="emptyname") echo $Titles["EmptyName"],"<br>\n"; if ($PageStatus=="emptyname") echo $Titles["EmptyName"],"<br>\n";
if ($PageStatus=="emptytext") echo $Titles["EmptyText"],"<br>\n"; if ($PageStatus=="emptytext") echo $Titles["EmptyText"],"<br>\n";
if ($PageStatus=="wrongimage") echo $Titles["WrongImage"],"<br>\n"; if ($PageStatus=="wrongfile") echo $Titles["WrongFile"],"<br>\n";
if ($PageStatus=="wrongcaptcha") echo $Titles["WrongCaptcha"],"<br>\n"; if ($PageStatus=="wrongcaptcha") echo $Titles["WrongCaptcha"],"<br>\n";
} }
@ -364,21 +375,21 @@ if(isset($_POST["submit"])) {
if (!$_POST["text"]) $PageStatus="emptytext"; if (!$_POST["text"]) $PageStatus="emptytext";
if (!$_POST["name"]) $PageStatus="emptyname"; if (!$_POST["name"]) $PageStatus="emptyname";
if ($GBupload) { if ($GBupload) {
if ($_FILES["uploadedfile"]["tmp_name"]) { if ($_FILES["uploadedfile"]["name"]) {
$UploadedFile=CheckFile(); $UploadedFile=CheckFile();
if (!$UploadedFile) { if ($UploadedFile==false) {
$PageStatus="wrongimage"; $PageStatus="wrongfile";
} }
} }
} }
if (($_POST["name"])&&($_POST["text"])) if (($_POST["name"])&&($_POST["text"]))
if (isset($_POST["captcha"])&&(md5(base64_encode($_POST["captcha"]))==$_SESSION["captcha"])) { if (isset($_POST["captcha"])&&(md5(base64_encode($_POST["captcha"]))==$_SESSION["captcha"])) {
if (!isset($PageStatus)=="wrongimage") { if (!isset($PageStatus)=="wrongfile") {
AddEntry(); AddEntry();
if ($GBnotificationmailto) SendMail(); if ($GBnotificationmailto) SendMail();
} }
} else if (!$GBcaptcha) { } else if (!$GBcaptcha) {
if (!isset($PageStatus)=="wrongimage") { if (!isset($PageStatus)=="wrongfile") {
AddEntry(); AddEntry();
if ($GBnotificationmailto) SendMail(); if ($GBnotificationmailto) SendMail();
} }

View File

@ -13,9 +13,20 @@ $GBpassword="password";
$GBpagination=10; // pagination for entries, 0 - disabled $GBpagination=10; // pagination for entries, 0 - disabled
$GBreadmore=255; // number of symbols for 'Read More' feature, 0 - shows full entries $GBreadmore=255; // number of symbols for 'Read More' feature, 0 - shows full entries
$GBsearch=true; // enable or disable search bar $GBsearch=true; // enable or disable search bar
$GBcaptcha=false; // enable or disable captcha $GBcaptcha=true; // enable or disable captcha
$GBupload=true; // enable or disable upload image feature $GBupload=array( // enable or disable upload feature
$GBimagesize=1048576; // maximum image size 0=>"images", // $GBupload=false; - disabled
1=>"pdf", // $GBupload=true; - enabled for all files
2=>"odt", // $GBupload=array(); - enabled for file types from this array
3=>"odx",
4=>"doc",
5=>"docx",
6=>"xls",
7=>"xlsx",
8=>"txt",
9=>"zip",
10=>"rar");
$GBfilesize=1048576; // maximum file size
$GBnotificationmailto=""; // leave empty if you don't want send notification $GBnotificationmailto=""; // leave empty if you don't want send notification
$GBnotificationmailfrom=""; $GBnotificationmailfrom="";
$GBtextlenght=7168; // maximum size of entry text $GBtextlenght=7168; // maximum size of entry text
@ -79,8 +90,8 @@ $Titles["Next"]=">>";
$Titles["Search"]="Search"; $Titles["Search"]="Search";
$Titles["NoResult"]="No search result"; $Titles["NoResult"]="No search result";
$Titles["ReadMore"]="Read more"; $Titles["ReadMore"]="Read more";
$Titles["FileUpload"]="Upload image:"; $Titles["FileUpload"]="Upload file:";
$Titles["WrongImage"]="Can't upload image."; $Titles["WrongFile"]="Can't upload file.";
$Titles["Subject"]="Subject"; $Titles["Subject"]="Subject";
$Titles["Category"]="Category"; $Titles["Category"]="Category";
$Titles["About"]="about"; $Titles["About"]="about";
@ -89,4 +100,5 @@ $Titles["Replied"]="replied";
$Titles["Replying"]="Replying to this message:"; $Titles["Replying"]="Replying to this message:";
$Titles["Locked"]="Locked"; $Titles["Locked"]="Locked";
$Titles["Sticky"]="Sticky"; $Titles["Sticky"]="Sticky";
$Titles["AttachedFile"]="Attached file";
?> ?>

View File

@ -15,8 +15,19 @@ $GBpagination=10; // количество записей на странице,
$GBreadmore=0; // количество символов для функции 'Читать далее', 0 - показывать записи полностью $GBreadmore=0; // количество символов для функции 'Читать далее', 0 - показывать записи полностью
$GBsearch=true; // включение или отключение строки поиска $GBsearch=true; // включение или отключение строки поиска
$GBcaptcha=true; // включение или отключение капчи $GBcaptcha=true; // включение или отключение капчи
$GBupload=true; // включение или отключние возможности загрузки картинок $GBupload=array( // включение или отключение функции загрузки файлов
$GBimagesize=1048576; // максимальный размер изображения 0=>"images", // $GBupload=false; - отключено
1=>"pdf", // $GBupload=true; - включено для всех файлов
2=>"odt", // $GBupload=array(); - включено для типов перечисленных в этом массиве
3=>"odx",
4=>"doc",
5=>"docx",
6=>"xls",
7=>"xlsx",
8=>"txt",
9=>"zip",
10=>"rar");
$GBfilesize=1048576; // максимальный размер загружаемого файла
$GBnotificationmailto=""; // оставьте поле пустым, если не хотите отправки уведомлений о новых записях $GBnotificationmailto=""; // оставьте поле пустым, если не хотите отправки уведомлений о новых записях
$GBnotificationmailfrom=""; $GBnotificationmailfrom="";
$GBtextlenght=7168; // максимальное количество символов для текста записи $GBtextlenght=7168; // максимальное количество символов для текста записи
@ -80,8 +91,8 @@ $Titles["Next"]="Вперед";
$Titles["Search"]="Поиск"; $Titles["Search"]="Поиск";
$Titles["NoResult"]="Ничего не найдено"; $Titles["NoResult"]="Ничего не найдено";
$Titles["ReadMore"]="Читать далее"; $Titles["ReadMore"]="Читать далее";
$Titles["FileUpload"]="Загрузить изображение:"; $Titles["FileUpload"]="Загрузить файл:";
$Titles["WrongImage"]="Не могу загрузить изображение."; $Titles["WrongFile"]="Не могу загрузить файл.";
$Titles["Subject"]="Тема"; $Titles["Subject"]="Тема";
$Titles["Category"]="Категория"; $Titles["Category"]="Категория";
$Titles["About"]="о"; $Titles["About"]="о";
@ -90,4 +101,5 @@ $Titles["Replied"]="ответил";
$Titles["Replying"]="Ответ на это сообщение:"; $Titles["Replying"]="Ответ на это сообщение:";
$Titles["Locked"]="Нельзя ответить"; $Titles["Locked"]="Нельзя ответить";
$Titles["Sticky"]="Закрепленное сверху"; $Titles["Sticky"]="Закрепленное сверху";
$Titles["AttachedFile"]="Прикрепленный файл";
?> ?>