diff --git a/index.php b/index.php
index 1d4df2c..965bd65 100644
--- a/index.php
+++ b/index.php
@@ -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 "
";
+ if ($GBupload===true)
+ return "
"."π ".$Titles["AttachedFile"]."";
+ if (in_array(mb_strtolower(pathinfo($_FILES["uploadedfile"]["name"], PATHINFO_EXTENSION)),$GBupload))
+ return "
"."π ".$Titles["AttachedFile"]."";
} 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"]."
";
+ 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 "
",$Titles["Page"],"
\n";
if ($PageStatus=="added") echo $Titles["Added"]."
\n";
$captchanumber11=rand(1, 4);
@@ -150,6 +160,7 @@ function AddEntryView() {
echo " ",$Titles["Text"],":
\n
\n";
if ($GBupload) {
echo " \n";
+ echo " \n";
echo "
\n";
}
if ($GBcaptcha) echo " ",$Titles["Captcha"],": $captchanumber11$captchanumber11$captchanumber12 ",$Titles["CaptchaPlus"]," $captchanumber21$captchanumber22$captchanumber21 = ?
\n";
@@ -157,7 +168,7 @@ function AddEntryView() {
echo "\n";
if ($PageStatus=="emptyname") echo $Titles["EmptyName"],"
\n";
if ($PageStatus=="emptytext") echo $Titles["EmptyText"],"
\n";
- if ($PageStatus=="wrongimage") echo $Titles["WrongImage"],"
\n";
+ if ($PageStatus=="wrongfile") echo $Titles["WrongFile"],"
\n";
if ($PageStatus=="wrongcaptcha") echo $Titles["WrongCaptcha"],"
\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();
}
diff --git a/settings.php b/settings.php
index a0e0f23..7abb8ef 100644
--- a/settings.php
+++ b/settings.php
@@ -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";
?>
diff --git a/settings_ru.php b/settings_ru.php
index 1d06fd5..3f1e1e4 100644
--- a/settings_ru.php
+++ b/settings_ru.php
@@ -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"]="ΠΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½Π½ΡΠΉ ΡΠ°ΠΉΠ»";
?>