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() {
$filename = substr(md5(uniqid()), 0, 13).'.'.pathinfo($_FILES["uploadedfile"]["name"], PATHINFO_EXTENSION);
$uploaddir = "upload/";
$uploadfile = $uploaddir.$filename;
$postuploaddir = substr(md5(uniqid()), 0, 13);
$preuploaddir = "upload/";
$filename = $_FILES["uploadedfile"]["name"];
$uploadfile = $preuploaddir.$postuploaddir."/".$filename;
mkdir($preuploaddir.$postuploaddir, 0755, true);
if (move_uploaded_file($_FILES["uploadedfile"]["tmp_name"], $uploadfile)) {
return $uploadfile;
} else {
@ -54,11 +56,18 @@ function SaveFile() {
}
function CheckFile() {
global $GBimagesize;
if (getimagesize($_FILES["uploadedfile"]["tmp_name"])) {
if ((filesize($_FILES["uploadedfile"]["tmp_name"]))<($GBimagesize)) return SaveFile();
else return false;
global $Titles;
global $GBfilesize;
global $GBupload;
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;
return false;
}
function AddHttp($Link) {
@ -91,7 +100,7 @@ function AddEntry() {
$NewEntry["email"]=$_POST["email"];
if (!$GBstriptags) $NewEntry["text"]=$_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["response"]="";
if ($GBsubjectfield) {
@ -125,6 +134,7 @@ function AddEntryView() {
global $GBlinkfield;
global $GBsubjectfield;
global $GBcategoryfield;
global $GBfilesize;
echo "<h2>",$Titles["Page"],"</h2><br>\n";
if ($PageStatus=="added") echo $Titles["Added"]."<br>\n";
$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";
if ($GBupload) {
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";
}
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";
if ($PageStatus=="emptyname") echo $Titles["EmptyName"],"<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";
}
@ -364,21 +375,21 @@ if(isset($_POST["submit"])) {
if (!$_POST["text"]) $PageStatus="emptytext";
if (!$_POST["name"]) $PageStatus="emptyname";
if ($GBupload) {
if ($_FILES["uploadedfile"]["tmp_name"]) {
if ($_FILES["uploadedfile"]["name"]) {
$UploadedFile=CheckFile();
if (!$UploadedFile) {
$PageStatus="wrongimage";
if ($UploadedFile==false) {
$PageStatus="wrongfile";
}
}
}
if (($_POST["name"])&&($_POST["text"]))
if (isset($_POST["captcha"])&&(md5(base64_encode($_POST["captcha"]))==$_SESSION["captcha"])) {
if (!isset($PageStatus)=="wrongimage") {
if (!isset($PageStatus)=="wrongfile") {
AddEntry();
if ($GBnotificationmailto) SendMail();
}
} else if (!$GBcaptcha) {
if (!isset($PageStatus)=="wrongimage") {
if (!isset($PageStatus)=="wrongfile") {
AddEntry();
if ($GBnotificationmailto) SendMail();
}

View File

@ -13,9 +13,20 @@ $GBpassword="password";
$GBpagination=10; // pagination for entries, 0 - disabled
$GBreadmore=255; // number of symbols for 'Read More' feature, 0 - shows full entries
$GBsearch=true; // enable or disable search bar
$GBcaptcha=false; // enable or disable captcha
$GBupload=true; // enable or disable upload image feature
$GBimagesize=1048576; // maximum image size
$GBcaptcha=true; // enable or disable captcha
$GBupload=array( // enable or disable upload feature
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
$GBnotificationmailfrom="";
$GBtextlenght=7168; // maximum size of entry text
@ -79,8 +90,8 @@ $Titles["Next"]=">>";
$Titles["Search"]="Search";
$Titles["NoResult"]="No search result";
$Titles["ReadMore"]="Read more";
$Titles["FileUpload"]="Upload image:";
$Titles["WrongImage"]="Can't upload image.";
$Titles["FileUpload"]="Upload file:";
$Titles["WrongFile"]="Can't upload file.";
$Titles["Subject"]="Subject";
$Titles["Category"]="Category";
$Titles["About"]="about";
@ -89,4 +100,5 @@ $Titles["Replied"]="replied";
$Titles["Replying"]="Replying to this message:";
$Titles["Locked"]="Locked";
$Titles["Sticky"]="Sticky";
$Titles["AttachedFile"]="Attached file";
?>

View File

@ -15,8 +15,19 @@ $GBpagination=10; // количество записей на странице,
$GBreadmore=0; // количество символов для функции 'Читать далее', 0 - показывать записи полностью
$GBsearch=true; // включение или отключение строки поиска
$GBcaptcha=true; // включение или отключение капчи
$GBupload=true; // включение или отключние возможности загрузки картинок
$GBimagesize=1048576; // максимальный размер изображения
$GBupload=array( // включение или отключение функции загрузки файлов
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=""; // оставьте поле пустым, если не хотите отправки уведомлений о новых записях
$GBnotificationmailfrom="";
$GBtextlenght=7168; // максимальное количество символов для текста записи
@ -80,8 +91,8 @@ $Titles["Next"]="Вперед";
$Titles["Search"]="Поиск";
$Titles["NoResult"]="Ничего не найдено";
$Titles["ReadMore"]="Читать далее";
$Titles["FileUpload"]="Загрузить изображение:";
$Titles["WrongImage"]="Не могу загрузить изображение.";
$Titles["FileUpload"]="Загрузить файл:";
$Titles["WrongFile"]="Не могу загрузить файл.";
$Titles["Subject"]="Тема";
$Titles["Category"]="Категория";
$Titles["About"]="о";
@ -90,4 +101,5 @@ $Titles["Replied"]="ответил";
$Titles["Replying"]="Ответ на это сообщение:";
$Titles["Locked"]="Нельзя ответить";
$Titles["Sticky"]="Закрепленное сверху";
$Titles["AttachedFile"]="Прикрепленный файл";
?>