Merge branch 'master' into 'levi'
# Conflicts: # interface.php
This commit is contained in:
commit
b34faa2aef
15
index.php
15
index.php
@ -52,11 +52,12 @@
|
|||||||
<section class="upload-popup-inner-container" id="infoform">
|
<section class="upload-popup-inner-container" id="infoform">
|
||||||
<section style="margin: 0em 0em;">
|
<section style="margin: 0em 0em;">
|
||||||
<label for="author">Alkotó:*</label><br>
|
<label for="author">Alkotó:*</label><br>
|
||||||
<input type="text" id="author" style="width: 440px;" placeholder="Arthur Dent"><br><br>
|
<input type="text" id="author" style="width: 55%;" placeholder="Arthur Dent">
|
||||||
|
<input type="text" id="author_group" style="margin-left: 0.0em; width: 38.5%;" placeholder="szürke csoport"><br><br>
|
||||||
<label for="imgtitle">Cím:*</label><br>
|
<label for="imgtitle">Cím:*</label><br>
|
||||||
<input type="text" id="imgtitle" style="width: 440px;" placeholder="Negyvenkettő"><br><br>
|
<input type="text" id="imgtitle" style="width: 95%;" placeholder="Negyvenkettő"><br><br>
|
||||||
<label for="description">Leírás:</label><br>
|
<label for="description">Leírás:</label><br>
|
||||||
<textarea id="description" style="width: 440px; height: 5em;"
|
<textarea id="description" style="width: 95%; height: 5em;"
|
||||||
placeholder="A válasz az életet, a világmindenséget, meg mindent érintő kérdésre."></textarea><br><br>
|
placeholder="A válasz az életet, a világmindenséget, meg mindent érintő kérdésre."></textarea><br><br>
|
||||||
<input type="checkbox" id="autocorrchkbox">Kérek automatikus képkorrekciót! (expozíció, élesítés)<br><br>
|
<input type="checkbox" id="autocorrchkbox">Kérek automatikus képkorrekciót! (expozíció, élesítés)<br><br>
|
||||||
<input type="checkbox" id="respchkbox">A feltöltött tartalmamért <i>teljes</i> felelősséget vállalok.<br><br>
|
<input type="checkbox" id="respchkbox">A feltöltött tartalmamért <i>teljes</i> felelősséget vállalok.<br><br>
|
||||||
@ -65,14 +66,6 @@
|
|||||||
<section class="btn" onclick="publish()" id="publishbtn">Mehet!</section>
|
<section class="btn" onclick="publish()" id="publishbtn">Mehet!</section>
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
<section class="upload-popup-inner-container" id="imgcorrection">
|
|
||||||
<section style="margin: 3em 0em;">
|
|
||||||
|
|
||||||
</section>
|
|
||||||
<section style="text-align: right;">
|
|
||||||
<section class="btn" onclick="publish()" id="publishbtn">Mehet!</section>
|
|
||||||
</section>
|
|
||||||
</section>
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
|
@ -21,12 +21,14 @@ function only_alpha_numeric($input)
|
|||||||
|
|
||||||
// felhasználó IP címének meghatározása... nem is olyan triviális
|
// felhasználó IP címének meghatározása... nem is olyan triviális
|
||||||
// https://stackoverflow.com/a/2031935
|
// https://stackoverflow.com/a/2031935
|
||||||
function get_client_ip(){
|
function get_client_ip()
|
||||||
|
{
|
||||||
foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED') as $key) {
|
foreach (array('HTTP_CLIENT_IP', 'HTTP_X_FORWARDED_FOR', 'HTTP_X_FORWARDED', 'HTTP_X_CLUSTER_CLIENT_IP', 'HTTP_FORWARDED_FOR', 'HTTP_FORWARDED') as $key) {
|
||||||
if (array_key_exists($key, $_SERVER) === true) {
|
if (array_key_exists($key, $_SERVER) === true) {
|
||||||
foreach (explode(',', $_SERVER[$key]) as $ip) {
|
foreach (explode(',', $_SERVER[$key]) as $ip) {
|
||||||
$ip = trim($ip); // just to be safe
|
$ip = trim($ip); // just to be safe
|
||||||
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 | FILTER_FLAG_IPV6 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false){
|
if (filter_var($ip, FILTER_VALIDATE_IP, FILTER_FLAG_IPV4 |
|
||||||
|
FILTER_FLAG_IPV6 | FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE) !== false) {
|
||||||
return $ip;
|
return $ip;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -56,7 +58,7 @@ function incoming_from_uid($uid)
|
|||||||
* -1: ismeretlen hiba
|
* -1: ismeretlen hiba
|
||||||
* -2: MIME-hiba
|
* -2: MIME-hiba
|
||||||
* -3: mérethiba
|
* -3: mérethiba
|
||||||
* -3: elérte a feltöltési limitet
|
* -4: elérte a feltöltési limitet
|
||||||
* string: egyedi azonosító, a feltöltés sikerült
|
* string: egyedi azonosító, a feltöltés sikerült
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@ -108,7 +110,25 @@ function process_uploaded_file($file_info)
|
|||||||
return $tmp_uid;
|
return $tmp_uid;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// csoportnév ellenőrzése
|
||||||
|
function verify_group($g)
|
||||||
|
{
|
||||||
|
// EZ ÍGY NEM JÓ!! EZT LE KELLENE TÖLTENI A KÖZI OLDALÁRÓL!!!
|
||||||
|
$groups = ["bíbor", "tejszín", "borostyán", "azúr", "türkiz", "aquamarin", "burgundi", "zafír", "mangó",
|
||||||
|
"levendula", "bambusz", "csipkebogyó", "mustár", "parázs", "áfonya"];
|
||||||
|
|
||||||
|
return in_array($g, $groups);
|
||||||
|
}
|
||||||
|
|
||||||
// kép publikálása
|
// kép publikálása
|
||||||
|
// visszatérési értékek:
|
||||||
|
// 0: OK
|
||||||
|
// -1: a kép már fel van töltve
|
||||||
|
// -2: hibás csoportnév
|
||||||
|
|
||||||
|
define("DUPLICATE_IMAGE", -1);
|
||||||
|
define("NONEXISTENT_GROUP", -2);
|
||||||
|
|
||||||
define("THUMB_LARGEST_SIDE", 400);
|
define("THUMB_LARGEST_SIDE", 400);
|
||||||
function publish_image($artwork_details)
|
function publish_image($artwork_details)
|
||||||
{
|
{
|
||||||
@ -117,6 +137,23 @@ function publish_image($artwork_details)
|
|||||||
$MAX_THUMB_IMAGE_FILESIZE_STR = "100k"; // bélyegkép maximális mérete
|
$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
|
$THUMB_IMAGE_LARGEST_DIM = THUMB_LARGEST_SIDE; // bélyegkép hosszabb oldalának mérete
|
||||||
|
|
||||||
|
// -----------------------------
|
||||||
|
|
||||||
|
// adatbázis...
|
||||||
|
global $dbconn;
|
||||||
|
|
||||||
|
// 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"]);
|
||||||
|
$group = mysqli_real_escape_string($dbconn, $artwork_details["group"]);
|
||||||
|
|
||||||
|
// csoport ellenőrzése
|
||||||
|
if (!verify_group($group)) {
|
||||||
|
return NONEXISTENT_GROUP;
|
||||||
|
}
|
||||||
|
|
||||||
|
// fájlnevek meghatározása
|
||||||
$incoming_filename = incoming_from_uid(only_alpha_numeric($artwork_details["uid"]));
|
$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";
|
$final_filename = date("Y_m_d_H_i_s") . bin2hex(openssl_random_pseudo_bytes(4)) . ".jpg";
|
||||||
|
|
||||||
@ -126,16 +163,17 @@ function publish_image($artwork_details)
|
|||||||
// korrekciós parancs
|
// korrekciós parancs
|
||||||
$autocorrect = $artwork_details["autocorrect"];
|
$autocorrect = $artwork_details["autocorrect"];
|
||||||
$img_autocorrect = $autocorrect ? "-normalize -sharpen 5" : "";
|
$img_autocorrect = $autocorrect ? "-normalize -sharpen 5" : "";
|
||||||
|
$strip_exifdata = "-strip";
|
||||||
|
|
||||||
// ha a fájl nagyobb, mint 2MB, akkor visszatömörítjük
|
// ha a fájl nagyobb, mint 2MB, akkor visszatömörítjük
|
||||||
$filesize = filesize($incoming_filename);
|
$filesize = filesize($incoming_filename);
|
||||||
if ($filesize > $MAX_LARGE_IMAGE_FILESIZE) {
|
if ($filesize > $MAX_LARGE_IMAGE_FILESIZE) {
|
||||||
$cmd = "convert -define jpeg:extent=$MAX_LARGE_IMAGE_FILESIZE_STR $img_autocorrect $incoming_filename $large_filename";
|
$cmd = "convert -define jpeg:extent=$MAX_LARGE_IMAGE_FILESIZE_STR $img_autocorrect $strip_exifdata $incoming_filename $large_filename";
|
||||||
shell_exec($cmd);
|
shell_exec($cmd);
|
||||||
unlink($incoming_filename); // törlés az incoming-ból
|
unlink($incoming_filename); // törlés az incoming-ból
|
||||||
} else { //...ha nem volt túl nagy a fájl
|
} else { //...ha nem volt túl nagy a fájl
|
||||||
if ($autocorrect) {
|
if ($autocorrect) {
|
||||||
$cmd = "convert $img_autocorrect $incoming_filename $large_filename";
|
$cmd = "convert $img_autocorrect $strip_exifdata $incoming_filename $large_filename";
|
||||||
shell_exec($cmd);
|
shell_exec($cmd);
|
||||||
unlink($incoming_filename); // törlés az incoming-ból
|
unlink($incoming_filename); // törlés az incoming-ból
|
||||||
} else {
|
} else {
|
||||||
@ -145,27 +183,21 @@ function publish_image($artwork_details)
|
|||||||
|
|
||||||
// bélyegkép elkészítése
|
// bélyegkép elkészítése
|
||||||
$thumb_filename = THUMBNAIL_DIR . DIRECTORY_SEPARATOR . $final_filename;
|
$thumb_filename = THUMBNAIL_DIR . DIRECTORY_SEPARATOR . $final_filename;
|
||||||
$cmd = "convert -define jpeg:extent=$MAX_THUMB_IMAGE_FILESIZE_STR -resize \"$THUMB_IMAGE_LARGEST_DIM>\" $large_filename $thumb_filename";
|
$cmd = "convert $strip_exifdata -define jpeg:extent=$MAX_THUMB_IMAGE_FILESIZE_STR -thumbnail \"$THUMB_IMAGE_LARGEST_DIM>\" $large_filename $thumb_filename";
|
||||||
shell_exec($cmd);
|
shell_exec($cmd);
|
||||||
|
|
||||||
// átlagszín kiszámítása
|
// átlagszín kiszámítása
|
||||||
$cmd = "convert $thumb_filename -resize 1x1\! -format \"rgb(%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)])\" info:-";
|
$cmd = "convert $thumb_filename -resize 1x1\! -format \"rgb(%[fx:int(255*r+.5)],%[fx:int(255*g+.5)],%[fx:int(255*b+.5)])\" info:-";
|
||||||
$color_mean = shell_exec($cmd);
|
$color_mean = shell_exec($cmd);
|
||||||
|
|
||||||
// beírás az adatbázisba
|
|
||||||
global $dbconn;
|
|
||||||
|
|
||||||
//echo mysqli_error($dbconn);
|
//echo mysqli_error($dbconn);
|
||||||
|
|
||||||
$img_sizes = 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...
|
$uid = md5_file($thumb_filename); // valami random...
|
||||||
$aspect_ratio = $img_sizes[0] / $img_sizes[1];
|
$aspect_ratio = $img_sizes[0] / $img_sizes[1];
|
||||||
$query = "INSERT INTO publish_table (Author,Title,Description,Image_FileName,AspectRatio,ColorMean,Approved,Confirmed,UID,TS) VALUES('$author', '$title', '$desc', '$final_filename', $aspect_ratio, '$color_mean', 1, 0, '$uid', CURRENT_TIMESTAMP);";
|
|
||||||
|
$query = "INSERT INTO publish_table (Author,AuthorGroup,Title,Description,Image_FileName,AspectRatio,ColorMean,Approved,Confirmed,UID,TS) VALUES('$author', '$group', '$title', '$desc', '$final_filename', $aspect_ratio, '$color_mean', 1, 0, '$uid', CURRENT_TIMESTAMP);";
|
||||||
|
|
||||||
$res = mysqli_query($dbconn, $query);
|
$res = mysqli_query($dbconn, $query);
|
||||||
|
|
||||||
@ -173,7 +205,7 @@ function publish_image($artwork_details)
|
|||||||
if ($res === false) {
|
if ($res === false) {
|
||||||
unlink($large_filename);
|
unlink($large_filename);
|
||||||
unlink($thumb_filename);
|
unlink($thumb_filename);
|
||||||
return -1;
|
return DUPLICATE_IMAGE;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
@ -217,7 +249,8 @@ function get_batch($offset, $n)
|
|||||||
$batch = [];
|
$batch = [];
|
||||||
|
|
||||||
// kívánt mennyiségű képinformáció lekérdezése
|
// kívánt mennyiségű képinformáció lekérdezése
|
||||||
$query = "SELECT Image_FileName,AspectRatio,ColorMean,Author,Title,Description,UID FROM publish_table WHERE Approved=1 ORDER BY No DESC Limit $n OFFSET $offset;";
|
$query = "SELECT Image_FileName,AspectRatio,ColorMean,Author,AuthorGroup,Title,Description,UID FROM publish_table WHERE Approved=1 ORDER BY No DESC Limit $n OFFSET $offset;";
|
||||||
|
|
||||||
$ret = mysqli_query($dbconn, $query);
|
$ret = mysqli_query($dbconn, $query);
|
||||||
while (($row = $ret->fetch_assoc()) != NULL) {
|
while (($row = $ret->fetch_assoc()) != NULL) {
|
||||||
$batch[] = $row;
|
$batch[] = $row;
|
||||||
@ -237,7 +270,8 @@ function get_update_batch($last_uid)
|
|||||||
$batch = [];
|
$batch = [];
|
||||||
|
|
||||||
// az utolsó UID óta érkezett sorok kiválogatása
|
// az utolsó UID óta érkezett sorok kiválogatása
|
||||||
$query = "SELECT Image_FileName,AspectRatio,ColorMean,Author,Description,Title,UID FROM publish_table WHERE No > (SELECT No FROM publish_table WHERE UID = '$last_uid') AND Approved=1;";
|
$query = "SELECT Image_FileName,AspectRatio,ColorMean,Author,AuthorGroup,Description,Title,UID FROM publish_table WHERE No > (SELECT No FROM publish_table WHERE UID = '$last_uid') AND Approved=1;";
|
||||||
|
|
||||||
$ret = mysqli_query($dbconn, $query);
|
$ret = mysqli_query($dbconn, $query);
|
||||||
while (($row = $ret->fetch_assoc()) != NULL) {
|
while (($row = $ret->fetch_assoc()) != NULL) {
|
||||||
$batch[] = $row;
|
$batch[] = $row;
|
||||||
|
65
js/phw.js
65
js/phw.js
@ -23,6 +23,7 @@ var upload_popup_id = "uploadpup";
|
|||||||
var publish_btn_id = "publishbtn";
|
var publish_btn_id = "publishbtn";
|
||||||
|
|
||||||
var image_uid = null;
|
var image_uid = null;
|
||||||
|
var processing_busy = false; // feldolgozás folyamatban
|
||||||
|
|
||||||
function determine_sliding_unit() {
|
function determine_sliding_unit() {
|
||||||
if (window.innerWidth > 600) { // számítógépes megjelenítés
|
if (window.innerWidth > 600) { // számítógépes megjelenítés
|
||||||
@ -45,21 +46,24 @@ function pup_reset() {
|
|||||||
|
|
||||||
// mezők törlése
|
// mezők törlése
|
||||||
o("author").value = "";
|
o("author").value = "";
|
||||||
|
o("author_group").value = "";
|
||||||
o("imgtitle").value = "";
|
o("imgtitle").value = "";
|
||||||
o("description").value = "";
|
o("description").value = "";
|
||||||
|
o("fileselector").value = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
// kép publikálása
|
// kép publikálása
|
||||||
function publish() {
|
function publish() {
|
||||||
if (image_uid == null) { // csak, ha érvényes...
|
if (processing_busy || image_uid == null) { // csak, ha érvényes...
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// mezők kinyerése
|
// mezők kinyerése
|
||||||
let author = o("author").value;
|
let author = o("author").value.trim();
|
||||||
let title = o("imgtitle").value;
|
let title = o("imgtitle").value.trim();
|
||||||
let desc = o("description").value;
|
let desc = o("description").value.trim();
|
||||||
let autocorr = o("autocorrchkbox").checked;
|
let autocorr = o("autocorrchkbox").checked;
|
||||||
|
let group = o("author_group").value.trim();
|
||||||
|
|
||||||
// ha a kötelező mezők nincsenek kitöltve, akkor nem lehet beküldeni
|
// ha a kötelező mezők nincsenek kitöltve, akkor nem lehet beküldeni
|
||||||
if (author.trim() === "" || title.trim() === "") {
|
if (author.trim() === "" || title.trim() === "") {
|
||||||
@ -78,7 +82,8 @@ function publish() {
|
|||||||
author: author,
|
author: author,
|
||||||
title: title,
|
title: title,
|
||||||
desc: desc,
|
desc: desc,
|
||||||
autocorrect: autocorr
|
autocorrect: autocorr,
|
||||||
|
group: group
|
||||||
}
|
}
|
||||||
|
|
||||||
// küldés
|
// küldés
|
||||||
@ -90,24 +95,43 @@ function publish() {
|
|||||||
|
|
||||||
req.onreadystatechange = state => {
|
req.onreadystatechange = state => {
|
||||||
if (req.status === 200 && req.readyState === 4) {
|
if (req.status === 200 && req.readyState === 4) {
|
||||||
close_upload_pup(); // popup resetelése
|
let close_if_needed = true;
|
||||||
|
|
||||||
if (Number(req.response) === 0) {
|
if (Number(req.response) === 0) {
|
||||||
alert("Sikeres feltöltés!");
|
alert("Sikeres feltöltés!");
|
||||||
|
|
||||||
|
req_update(); // frissítés kérése
|
||||||
} else if (Number(req.response) === -1) {
|
} else if (Number(req.response) === -1) {
|
||||||
alert("Ugyanezt képet már korábban feltöltötték!");
|
alert("Ugyanezt képet már korábban feltöltötték!");
|
||||||
|
} else if (Number(req.response) === -2) {
|
||||||
|
alert("A megadott csoport nem létezik!");
|
||||||
|
|
||||||
|
close_if_needed = false; // nem kell bezárni, mert valószínűleg csak elírta
|
||||||
|
o("author_group").focus(); // fókuszálás a csoport mezőre
|
||||||
} else {
|
} else {
|
||||||
alert("Valami nem stimmel!\nHa ismételten nem sikerül, kérlek jelezd a hibát!");
|
alert("Valami nem stimmel!\nHa ismételten nem sikerül, kérlek jelezd a hibát!");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// bezárás, ha szükséges
|
||||||
|
if (close_if_needed) {
|
||||||
|
// UID elfelejtése
|
||||||
|
image_uid = null;
|
||||||
|
|
||||||
|
// popup resetelése
|
||||||
|
close_upload_pup();
|
||||||
|
}
|
||||||
|
|
||||||
|
processing_busy = false;
|
||||||
|
o(publish_btn_id).innerText = "Mehet!";
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
req.open("POST", "interface.php");
|
req.open("POST", "interface.php");
|
||||||
req.send(formData);
|
req.send(formData);
|
||||||
|
|
||||||
// UID elfelejtése
|
// feldolgozás folyamatban
|
||||||
image_uid = null;
|
processing_busy = true;
|
||||||
o(publish_btn_id).innerText = "Türelem..."
|
o(publish_btn_id).innerHTML = "Türelem... <img src='media/loading.svg' height='16'>";
|
||||||
}
|
}
|
||||||
|
|
||||||
// feltöltés után kapott válasz feldolgozása
|
// feltöltés után kapott válasz feldolgozása
|
||||||
@ -172,6 +196,8 @@ function open_upload_pup() {
|
|||||||
let display = o("display");
|
let display = o("display");
|
||||||
display.style.filter = "blur(10px)";
|
display.style.filter = "blur(10px)";
|
||||||
scroll_enable(false);
|
scroll_enable(false);
|
||||||
|
|
||||||
|
o("fileselector").value = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
// feltöltőablak bezárása
|
// feltöltőablak bezárása
|
||||||
@ -222,7 +248,6 @@ var wall_height = 0; // a fal magassága, pixelben
|
|||||||
var dynamic_load_distance = 200; // ennyi pixellel a fal alja előtt indítja a dinamikus betöltést
|
var dynamic_load_distance = 200; // ennyi pixellel a fal alja előtt indítja a dinamikus betöltést
|
||||||
var dynamic_loading_under_way = false; // dinamikus töltés folyamatban, ne indítsunk új requestet
|
var dynamic_loading_under_way = false; // dinamikus töltés folyamatban, ne indítsunk új requestet
|
||||||
var update_interval = 10000; // automatikus frissítés 10 másodpercenként
|
var update_interval = 10000; // automatikus frissítés 10 másodpercenként
|
||||||
var max_scaled_size_factor = 1.2; // hányszorosa lehet a nagyított kép az eredetinek
|
|
||||||
|
|
||||||
var thumbnails = [];
|
var thumbnails = [];
|
||||||
|
|
||||||
@ -247,7 +272,7 @@ function init_photowall() {
|
|||||||
// automatikus frissítés
|
// automatikus frissítés
|
||||||
setInterval(() => {
|
setInterval(() => {
|
||||||
req_update();
|
req_update();
|
||||||
}, 10000);
|
}, update_interval);
|
||||||
}
|
}
|
||||||
|
|
||||||
// inicializálási lánc
|
// inicializálási lánc
|
||||||
@ -446,10 +471,15 @@ function compose_wall() {
|
|||||||
window.scrollTo(0, scroll_pos);
|
window.scrollTo(0, scroll_pos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// frissítés folyamatban
|
||||||
|
var update_in_progress = false;
|
||||||
|
|
||||||
// frissítés lekérése
|
// frissítés lekérése
|
||||||
function req_update() {
|
function req_update() {
|
||||||
|
if (!update_in_progress) {
|
||||||
|
update_in_progress = true;
|
||||||
async_req("update", recv_update, {last_uid: last_uid});
|
async_req("update", recv_update, {last_uid: last_uid});
|
||||||
}
|
}}
|
||||||
|
|
||||||
// frissítés fogadása
|
// frissítés fogadása
|
||||||
function recv_update(state, resp) {
|
function recv_update(state, resp) {
|
||||||
@ -475,6 +505,9 @@ function recv_update(state, resp) {
|
|||||||
|
|
||||||
// fal összeállítása
|
// fal összeállítása
|
||||||
compose_wall();
|
compose_wall();
|
||||||
|
|
||||||
|
// update kész
|
||||||
|
update_in_progress = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -633,6 +666,7 @@ function place_artcaptions() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
var viewer_open = false;
|
var viewer_open = false;
|
||||||
|
var group_logo_repository = "https://mkkozi.hu/user/plugins/mkk-groups/logos";
|
||||||
|
|
||||||
// képnézegető megynitása
|
// képnézegető megynitása
|
||||||
function open_viewer(details) {
|
function open_viewer(details) {
|
||||||
@ -652,6 +686,13 @@ function open_viewer(details) {
|
|||||||
captions_bgcolor.a = 0.6;
|
captions_bgcolor.a = 0.6;
|
||||||
o("artcaptions").style.backgroundColor = captions_bgcolor.to_rgba();*/
|
o("artcaptions").style.backgroundColor = captions_bgcolor.to_rgba();*/
|
||||||
|
|
||||||
|
// csoportlogó megjelenítése
|
||||||
|
let glogo = document.createElement("img");
|
||||||
|
glogo.src = `${group_logo_repository}/${details.AuthorGroup}.png`;
|
||||||
|
glogo.alt = `(${details.AuthorGroup})`;
|
||||||
|
glogo.classList.add("art-author-group");
|
||||||
|
o("artauthor").appendChild(glogo);
|
||||||
|
|
||||||
// nézegető visszaállítása
|
// nézegető visszaállítása
|
||||||
change_viewer_magnification(1.0, true);
|
change_viewer_magnification(1.0, true);
|
||||||
change_viewer_offset({x: 0, y: 0}, true);
|
change_viewer_offset({x: 0, y: 0}, true);
|
||||||
|
6
phw.css
6
phw.css
@ -299,6 +299,12 @@ span.art-desc {
|
|||||||
margin-top: 0.5em;
|
margin-top: 0.5em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
img.art-author-group {
|
||||||
|
height: 1.45em;
|
||||||
|
margin-left: 0.5em;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
@keyframes hide-art-caption {
|
@keyframes hide-art-caption {
|
||||||
0% { max-height: 100vh; background-color: rgba(0, 0, 0, 0.6); }
|
0% { max-height: 100vh; background-color: rgba(0, 0, 0, 0.6); }
|
||||||
80% { max-height: 100vh; background-color: rgba(0, 0, 0, 0.6); }
|
80% { max-height: 100vh; background-color: rgba(0, 0, 0, 0.6); }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user