Merge branch 'levi' into 'master'

Levi

See merge request epagris/photowall!1
This commit is contained in:
Wiesner András 2021-01-18 19:23:20 +01:00
commit 093c661c9f
6 changed files with 61 additions and 13 deletions

4
ARTWORKS/incoming/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

4
ARTWORKS/published/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

4
ARTWORKS/thumbnails/.gitignore vendored Normal file
View File

@ -0,0 +1,4 @@
# Ignore everything in this directory
*
# Except this file
!.gitignore

22
init.sql Normal file

File diff suppressed because one or more lines are too long

View File

@ -45,16 +45,16 @@ function process_uploaded_file($file_info)
$MINIMUM_SIZE_BY_DIM = 2000; // minimális oldalméret
$tmp_filename = $file_info["tmp_name"];
$img_info = getimagesize($tmp_filename);
$img_sizes = getimagesize($tmp_filename);
// MIME-ellenőrzés
$mime_type = $img_info["mime"];
$mime_type = mime_content_type($tmp_filename);
if (!in_array($mime_type, $ACCEPTED_MIME_TYPES)) { // ha nem megfelelő a fájltípus, akkor visszatérünk -1-gyel
return MIME_ERROR;
}
// méretellenőrzés
if ($img_info[0] < $MINIMUM_SIZE_BY_DIM || $img_info[1] < $MINIMUM_SIZE_BY_DIM) {
if ($img_sizes[0] < $MINIMUM_SIZE_BY_DIM && $img_sizes[1] < $MINIMUM_SIZE_BY_DIM) {
return SIZE_ERROR;
}
@ -70,13 +70,13 @@ function process_uploaded_file($file_info)
define("THUMB_LARGEST_SIDE", 400);
function publish_image($artwork_details)
{
$MAX_LARGE_IMAGE_FILESIZE = 2000000; // nagyméretű kép maximális mérete
$MAX_LARGE_IMAGE_FILESIZE = 2000000; // nagyméretű kép maximális mérete (MB)
$MAX_LARGE_IMAGE_FILESIZE_STR = "2M"; // ...stringként
$MAX_THUMB_IMAGE_FILESIZE_STR = "100k"; // bélyegkép maximális mérete
$THUMB_IMAGE_LARGEST_DIM = THUMB_LARGEST_SIDE; // bélyegkép hosszabb oldalának mérete
$incoming_filename = incoming_from_uid($artwork_details["uid"]);
$final_filename = date("Y_m_d_H_i_s") . random_int(1E6, 1E7 - 1) . ".jpg";
$incoming_filename = incoming_from_uid(only_alpha_numeric($artwork_details["uid"]));
$final_filename = date("Y_m_d_H_i_s") . bin2hex(openssl_random_pseudo_bytes(4)) . ".jpg";
// nagyméretű kép elkészítése
$large_filename = PUBLISHED_DIR . DIRECTORY_SEPARATOR . $final_filename;
@ -105,13 +105,14 @@ function publish_image($artwork_details)
//echo mysqli_error($dbconn);
$img_info = getimagesize($thumb_filename);
$img_sizes = getimagesize($thumb_filename);
// felhasználótól jött adatok, ellenőrizni kell
$author = mysqli_real_escape_string($dbconn, $artwork_details["author"]);
$title = mysqli_real_escape_string($dbconn, $artwork_details["title"]);
$desc = mysqli_real_escape_string($dbconn, $artwork_details["desc"]);
$uid = md5_file($thumb_filename); // valami random...
$aspect_ratio = $img_info[0] / $img_info[1];
$aspect_ratio = $img_sizes[0] / $img_sizes[1];
$query = "INSERT INTO publish_table (Author,Title,Description,Image_FileName,AspectRatio,ColorMean,Approved,UID,TS) VALUES('$author', '$title', '$desc', '$final_filename', $aspect_ratio, '$color_mean', TRUE, '$uid', CURRENT_TIMESTAMP);";
$res = mysqli_query($dbconn, $query);
@ -157,6 +158,10 @@ function get_batch($offset, $n)
{
global $dbconn;
// felhasználótól jött paraméterek, ellenőrizni kell
$offset = intval($offset);
$n = intval($n);
$batch = [];
// kívánt mennyiségű képinformáció lekérdezése
@ -174,6 +179,9 @@ function get_update_batch($last_uid)
{
global $dbconn;
// felhasználótól jött paraméter, ellenőrizni kell
$last_uid = mysqli_real_escape_string($dbconn, $last_uid);
$batch = [];
// az utolsó UID óta érkezett sorok kiválogatása

View File

@ -92,8 +92,10 @@ function publish() {
if (Number(req.response) === 0) {
alert("Sikeres feltöltés!");
close_upload_pup();
} else {
} else if (Number(req.response) === -1) {
alert("Ugyanezt képet már korábban feltöltötték!");
} else {
alert("Valami nem stimmel!\nHa ismételten nem sikerül, kérlek jelezd a hibát!");
}
}
};
@ -108,7 +110,11 @@ function publish() {
// feltöltés után kapott válasz feldolgozása
function process_upload_response(resp) {
if (!isNaN(Number(resp))) { // ha szám a válasz, akkor biztosan hibás az eredmény
if (/^[0-9a-zA-Z]+$/.test(resp)) { // ha random string a válasz, akkor kaptunk UID-t
image_uid = resp;
pup_slide(1); // előrelépés
} else { // ha negatív szám a válasz vagy egyébb szöveg, akkor hibás az eredmény
let resp_num = Number(resp);
switch (resp_num) {
case -1:
@ -120,12 +126,12 @@ function process_upload_response(resp) {
case -3:
alert("Mérethiba: a kép hosszabb oldalának legalább 2000 pixel szélesnek kell lennie!");
break;
default:
alert("Valami nem stimmel!\nHa ismételten nem sikerül, kérlek jelezd a hibát!");
break;
}
pup_slide(-1); // visszalépés
} else { // ha kaptunk UID-t
image_uid = resp;
pup_slide(1); // előrelépés
}
}