Merge branch 'levi' into 'master'

csoport ellenőrzés javítása

See merge request photowall/photowall-webapp!4
This commit is contained in:
Wiesner András 2021-01-23 17:05:13 +01:00
commit ece2e59644
3 changed files with 35 additions and 20 deletions

View File

@ -55,15 +55,20 @@ function update_details($Image_FileName, $details)
// felhasználótól jött paraméterek ellenőrzése // felhasználótól jött paraméterek ellenőrzése
$Image_FileName = $dbconn->real_escape_string($Image_FileName); $Image_FileName = $dbconn->real_escape_string($Image_FileName);
$author = $dbconn->real_escape_string($details["author"]); $author = $dbconn->real_escape_string($details["author"]);
$group = strtolower($dbconn->real_escape_string($details["group"])); $group = validate_group($details["group"]);
$title = $dbconn->real_escape_string($details["title"]); $title = $dbconn->real_escape_string($details["title"]);
$desc = $dbconn->real_escape_string($details["desc"]); $desc = $dbconn->real_escape_string($details["desc"]);
// jóváhagyás mező beállítása és ellenőrzöttnek jelölés // csoport ellenőrzése
if ($group === false) {
return "Ervenytelen csoport!";
}
// képhez megadott adatok frissítése
$query = "UPDATE publish_table SET Author='$author', AuthorGroup='$group', Title='$title', Description='$desc' WHERE Image_FileName='$Image_FileName';"; $query = "UPDATE publish_table SET Author='$author', AuthorGroup='$group', Title='$title', Description='$desc' WHERE Image_FileName='$Image_FileName';";
$res = $dbconn->query($query); $res = $dbconn->query($query);
return $res; // true ha sikeres, false ha valami hiba történt return ($res === true) ? true : $dbconn->error; // true ha sikeres, egyébként a hiba
} }
// -------------------------------- // --------------------------------
@ -174,13 +179,17 @@ if ($logged_in) {
</script> </script>
<script> <script>
const MAX_TABLE_ROWS = 10; const MAX_TABLE_ROWS = 10;
var table_container; // a sorokat tartalmazó tag
document.addEventListener("DOMContentLoaded", () => { document.addEventListener("DOMContentLoaded", () => {
// elemek megkeresése az oldalon
table_container = o('table_container');
// sorok betöltése
fill_table(); fill_table();
}); });
function fill_table() { function fill_table() {
var table_container = o('table_container');
var max_new_rows = MAX_TABLE_ROWS - table_container.children.length; var max_new_rows = MAX_TABLE_ROWS - table_container.children.length;
var last_No = table_container.children.length ? table_container.children[table_container.children.length - 1].details.No : -1; var last_No = table_container.children.length ? table_container.children[table_container.children.length - 1].details.No : -1;
@ -282,11 +291,12 @@ if ($logged_in) {
} }
) )
.then(data => { .then(data => {
if (data === 'false') { if (data !== 'true') {
alert('Valami nem stimmel, kérlek próbáld újra.'); alert(`Valami nem stimmel ;( \n\n ${data}`);
} }
// újabb elem betöltése, ha van // táblázat újratöltése
table_container.innerHTML = '';
fill_table(); fill_table();
}); });
} }

View File

@ -85,16 +85,6 @@ 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", "MKK Fotókör"];
return in_array(strtolower($g), $groups);
}
// kép publikálása // kép publikálása
// visszatérési értékek: // visszatérési értékek:
// 0: OK // 0: OK
@ -121,10 +111,10 @@ function publish_image($artwork_details)
$author = mysqli_real_escape_string($dbconn, $artwork_details["author"]); $author = mysqli_real_escape_string($dbconn, $artwork_details["author"]);
$title = mysqli_real_escape_string($dbconn, $artwork_details["title"]); $title = mysqli_real_escape_string($dbconn, $artwork_details["title"]);
$desc = mysqli_real_escape_string($dbconn, $artwork_details["desc"]); $desc = mysqli_real_escape_string($dbconn, $artwork_details["desc"]);
$group = mysqli_real_escape_string($dbconn, $artwork_details["group"]); $group = validate_group($artwork_details["group"]);
// csoport ellenőrzése // csoport ellenőrzése
if (!verify_group($group)) { if ($group === false) {
return NONEXISTENT_GROUP; return NONEXISTENT_GROUP;
} }

View File

@ -31,3 +31,18 @@ function open_sql_connection()
{ {
return mysqli_connect(SQL_IP, SQL_USER, SQL_PASS, SQL_DB); return mysqli_connect(SQL_IP, SQL_USER, SQL_PASS, SQL_DB);
} }
// csoportnév ellenőrzése
// visszatérési értékek:
// false: ha érvénytelen a csoport
// string: az eltárolandó csoport neve, ha érvényes
function validate_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"];
$key = array_search(strtolower($g), $groups);
return ($key === false) ? false : $groups[$key];
}