function updateCompo() { global $mysqli; $compo = intval($_POST["which"]); $result = $mysqli->query("SELECT * FROM `compos` WHERE `idcompo` = {$compo}") or die('query failed'); $row = $result->fetch_assoc(); $result->free(); if (!canEditCompo($row)) { redirect(BASEDIR); } if ($_POST["componame"] == "") { $_POST["componame"] = date("Y-m-d", time()); } $active = intval($_POST["active"]) != 0 ? 1 : 0; $downloadable = intval($_POST["active"]) != 0 ? 0 : 1; $stmt = $mysqli->prepare('UPDATE `compos` SET `name` = ?, `active` = ?, `downloadable` = ? WHERE `idcompo` = ?') or die('query failed'); $stmt->bind_param('siii', $_POST["componame"], $active, $downloadable, $compo); $stmt->execute() or die('query failed'); $stmt->close(); if (!$_POST["active"]) { // Can't upload anymore, so get rid of any active pings. $mysqli->query("DELETE FROM `uploading` WHERE `idcompo` = {$compo}") or die('query failed'); } // Recompress compo archive after closing compo if (!intval($row['downloadable']) && !intval($_POST["active"])) { $arc = new ArchiveFile(UPLOAD_DIR . $compo); $arc->Recompress(); $arc->Close(); } redirect(BASEDIR . "admin/compo/{$compo}"); }