Example #1
0
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}");
}