diff --git a/ARTWORKS/incoming/.gitignore b/ARTWORKS/incoming/.gitignore new file mode 100644 index 0000000..86d0cb2 --- /dev/null +++ b/ARTWORKS/incoming/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore \ No newline at end of file diff --git a/ARTWORKS/published/.gitignore b/ARTWORKS/published/.gitignore new file mode 100644 index 0000000..86d0cb2 --- /dev/null +++ b/ARTWORKS/published/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore \ No newline at end of file diff --git a/ARTWORKS/thumbnails/.gitignore b/ARTWORKS/thumbnails/.gitignore new file mode 100644 index 0000000..86d0cb2 --- /dev/null +++ b/ARTWORKS/thumbnails/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore \ No newline at end of file diff --git a/init.sql b/init.sql new file mode 100644 index 0000000..a9edb4e --- /dev/null +++ b/init.sql @@ -0,0 +1,22 @@ +CREATE DATABASE IF NOT EXISTS `photowall_db`; +USE `photowall_db`; + +/*DROP TABLE IF EXISTS `publish_table`;/**/ +CREATE TABLE IF NOT EXISTS `publish_table` ( + `No` int NOT NULL AUTO_INCREMENT, + `Author` varchar(45) NOT NULL, + `Title` varchar(45) NOT NULL, + `Description` text, + `Image_FileName` varchar(45) NOT NULL, + `AspectRatio` float NOT NULL DEFAULT '1', + `ColorMean` varchar(32) NOT NULL DEFAULT 'cadetblue', + `Approved` tinyint NOT NULL DEFAULT '1', + `UID` varchar(32) NOT NULL, + `TS` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP, + PRIMARY KEY (`No`), + UNIQUE KEY `UID_UNIQUE` (`UID`) +) /*ENGINE=InnoDB CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci*/ ; + +/* +INSERT INTO `publish_table` VALUES (1,' E','K1','','2021_01_16_11_44_165374483.jpg',1.49813,'rgb(112,122,125)',1,'a2713dbfa31e88002d5810bd04440817','2021-01-16 11:44:22'),(2,' E','K2','','2021_01_16_11_44_516933042.jpg',1.49813,'rgb(45,35,31)',1,'b92d77e3331834d9dfa105d9de76be33','2021-01-16 11:44:56'),(3,' E','K3','','2021_01_16_11_53_311307882.jpg',1.49813,'rgb(56,68,28)',1,'a396e00c2eca37103c74992fcdbe2956','2021-01-16 11:53:37'),(4,' E','K4','','2021_01_16_11_53_513439448.jpg',1.49813,'rgb(43,59,21)',1,'33047d37feec1c35c7047e5a99eaceee','2021-01-16 11:53:56'),(5,' E','K5','','2021_01_16_11_54_075252329.jpg',1.49813,'rgb(51,58,48)',1,'c258582e99323bb988f3ce4ec3155e30','2021-01-16 11:54:12'),(6,' E','K6','','2021_01_16_11_54_232818579.jpg',1.50376,'rgb(75,87,75)',1,'d1ba14ebbb18772a97500787779c9ece','2021-01-16 11:54:27'),(7,' E','K7','','2021_01_16_11_54_449587780.jpg',1.50376,'rgb(91,124,79)',1,'2b8ba31ba4803d3671d763c48eec1f2c','2021-01-16 11:54:48'),(8,' E','K8','','2021_01_16_11_55_025586862.jpg',1.50376,'rgb(88,112,45)',1,'87f32a664e754a39f8dde788d082f8f7','2021-01-16 11:55:06'),(9,'E','K8','','2021_01_16_14_22_556671886.jpg',1.50376,'rgb(72,98,66)',1,'cf83ed5de28d87225b5af39c81ba79cf','2021-01-16 14:22:59'),(10,'E','K9','','2021_01_16_14_26_181868235.jpg',1.50376,'rgb(64,94,66)',1,'9bc1a9f7c07d1bcbf020ddf7a996c8dc','2021-01-16 14:26:23'),(11,'E','K10','','2021_01_16_14_27_364879400.jpg',1.50376,'rgb(73,94,64)',1,'ea175be44936bc5e6dd29b8b8e4d4999','2021-01-16 14:27:41'),(12,'E','K11','','2021_01_16_14_30_124630532.jpg',1.50376,'rgb(58,74,46)',1,'10e76a52524028fe1e2f9da1cba14e4d','2021-01-16 14:30:16'),(13,'E','K12','','2021_01_16_14_53_023646101.jpg',1.77778,'rgb(81,88,59)',1,'cfd90b8f303b2f8b90f8e8f2d5324b1e','2021-01-16 14:53:06'),(14,'E','K13','','2021_01_16_14_55_118812097.jpg',1.50376,'rgb(46,84,43)',1,'5d4767ba1edb02f801dd81d686295567','2021-01-16 14:55:16'),(15,'E','K14','','2021_01_16_14_59_262650891.jpg',1.50376,'rgb(58,83,48)',1,'8d1662c3f4994efd087a620482c52d9e','2021-01-16 14:59:30'),(16,'E','K15','','2021_01_16_15_01_127820957.jpg',1.50376,'rgb(114,123,89)',1,'6d3b2de04d53416e4cc3eb00d851ae80','2021-01-16 15:01:16'),(19,'E','K16','','2021_01_16_15_03_241349138.jpg',1.49813,'rgb(49,49,70)',1,'20a2ebc7d66443d52c5aed5594050890','2021-01-16 15:03:29'),(20,'E','K17','','2021_01_16_15_04_432619091.jpg',1.50376,'rgb(134,153,166)',1,'e3dbc5a653f8b702ebf0d633d53daca5','2021-01-16 15:04:47'),(21,'E','K18','','2021_01_16_15_07_273829575.jpg',1.50376,'rgb(93,99,59)',1,'b729bc100b7c9e42ac1927a712af360b','2021-01-16 15:07:31'),(22,'E','K19','','2021_01_16_15_08_284066042.jpg',1.50376,'rgb(116,103,72)',1,'ba2cc94f8db4af0ee994a04975c2b3e8','2021-01-16 15:08:32'),(23,'E','K20','','2021_01_16_15_09_511243265.jpg',1.50376,'rgb(44,41,31)',1,'ebc4194cd35299e8f96c7f9a736a8600','2021-01-16 15:09:55'),(24,'E','K21','','2021_01_16_15_12_495796917.jpg',1.49813,'rgb(80,93,78)',1,'06f10d7fdb11ef2f75992faa90db0927','2021-01-16 15:12:53'),(25,'E','K22','','2021_01_16_15_22_095559399.jpg',1.50376,'rgb(105,106,98)',1,'8cf5e61377fdeb63a2f53b5a8cd42970','2021-01-16 15:22:10'),(26,'E','K23','','2021_01_16_15_23_475545790.jpg',1.49813,'rgb(60,38,21)',1,'7ac8171309123b6b11b476d62ebf2322','2021-01-16 15:23:52'),(27,'E','K24','','2021_01_16_16_18_355585475.jpg',1.50376,'rgb(97,99,100)',1,'d33ba5f35394af2a2fee0d53094e9bcf','2021-01-16 16:19:22'),(28,'E','K25','','2021_01_16_16_22_213923225.jpg',1.50376,'rgb(110,110,106)',1,'d630ae576d10b37362bc3d4677d79f85','2021-01-16 16:22:22'),(29,'E','Sokadik kep','','2021_01_16_20_14_564989940.jpg',1.50376,'rgb(58,61,53)',1,'266b15f1111d1357967d82a3ae0f92b9','2021-01-16 20:14:59'),(30,'Ambrus Betti','Vihar elotti csend','','2021_01_16_20_41_076763902.jpg',1.33333,'rgb(72,80,82)',1,'36d6ec569f615092538d8a12416bca23','2021-01-16 20:41:09'),(31,'Ambrus Betti','Kilatas ','Azur tabor 2020','2021_01_16_20_42_519659309.jpg',1.33333,'rgb(111,131,130)',1,'8da03d581c9d729d4899840e22fce01d','2021-01-16 20:42:54'),(32,'Ambrus Betti','Orszaghaz ','','2021_01_16_20_43_536073109.jpg',1.33333,'rgb(117,119,110)',1,'1f7c9b431608e834be5795d842085d54','2021-01-16 20:43:53'),(33,'Ambrus Betti','orokimadas','','2021_01_16_20_44_293063428.jpg',0.750469,'rgb(69,66,58)',1,'5d019bb83fe755fe592f5bd1cdca2347','2021-01-16 20:44:31'),(34,'Ambrus Betti','osz','','2021_01_16_20_45_144287392.jpg',1.33333,'rgb(162,150,132)',1,'c3ae7fd80a089cddb6398a4b7326e628','2021-01-16 20:45:16'),(35,'Ambrus Betti','Levelek','','2021_01_16_20_45_573344687.jpg',1.33333,'rgb(123,108,85)',1,'6cc5e0b6d345792e31c6d8c5262564fb','2021-01-16 20:46:00'),(36,'47. sz. Szt. Laszlo kiraly cserkeszcsapat','uj horizontok','Reggeli fenyek az ejszakai tura vegallomasan szundito cserkeszekkel','2021_01_16_20_46_362831262.jpg',2.06186,'rgb(86,99,85)',1,'bc5761ac163ae308432dcf111de5f89e','2021-01-16 20:46:38'),(37,'Ambrus Betti','Tel','','2021_01_16_20_47_001903598.jpg',0.750469,'rgb(172,170,147)',1,'f1f8981fcb0c136bb13b0e431ffd0194','2021-01-16 20:47:00'),(38,'Ambrus Betti','Colosseum','','2021_01_16_20_48_255781621.jpg',1.33333,'rgb(92,94,90)',1,'0f3cb6c373345a14f5cab7a5a7526fd9','2021-01-16 20:48:27'),(39,'Ambrus Betti','Szeged - Tisza ','','2021_01_16_20_52_258453589.jpg',1.33333,'rgb(150,136,132)',1,'aa49b7ecf5a3e0e2a74b9523779d0f0b','2021-01-16 20:52:27'),(40,'E','Sokadik tesztkep','','2021_01_17_07_08_165405698.jpg',1.50376,'rgb(95,96,87)',1,'3193ca24ccb2f16c20f08513b73aef8d','2021-01-17 07:08:20'),(41,'Sipos Kinga','Gyemantok','A foto Izlandon, a Gyemant-Part nevezetu helyen keszult, ahol a gleccserrol levalo jeghegyek a tengerbe kerulnek, majd a hullamok a partra sodorjak oket. A fekete homokon pedig ugy ragyognak, akar a gyemantok.','2021_01_17_10_32_084232601.jpg',1.33333,'rgb(134,135,128)',1,'fdbb85540e89dd7cdc5eb5a2dec5f2cc','2021-01-17 10:32:08'),(42,'Sipos Kinga','Kekseg','Izland- Jokulsarlon gleccserlaguna','2021_01_17_10_43_102712925.jpg',1.33333,'rgb(150,171,184)',1,'8227368211f5af848b362970250e6b08','2021-01-17 10:43:13'),(43,'Sipos Kinga','Olumposz- Gorogorszag','','2021_01_17_11_44_363887563.jpg',1.33333,'rgb(94,127,157)',1,'ff6c12b8e76cfb0456bb5d29e4e72c19','2021-01-17 11:44:39'),(44,'Ambrus Betti ','Furcsa ido ','','2021_01_17_15_09_036640725.jpg',1.33333,'rgb(79,60,49)',1,'f4445bdcac57fb90018220f4b99881b9','2021-01-17 15:09:03'); +*/ \ No newline at end of file diff --git a/interface.php b/interface.php index c95e09f..5d8847c 100644 --- a/interface.php +++ b/interface.php @@ -54,7 +54,7 @@ function process_uploaded_file($file_info) } // méretellenőrzés - if ($img_info[0] < $MINIMUM_SIZE_BY_DIM || $img_info[1] < $MINIMUM_SIZE_BY_DIM) { + if ($img_info[0] < $MINIMUM_SIZE_BY_DIM && $img_info[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"; + $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; diff --git a/js/phw.js b/js/phw.js index db80938..53a17bc 100644 --- a/js/phw.js +++ b/js/phw.js @@ -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 } }