false, 'message' => 'Text cannot be empty.'], 422); } $id = generateId(); $enc = encryptText($text, $config['app']['master_key']); $password_hash = $password !== '' ? password_hash($password, PASSWORD_DEFAULT) : null; $expire_time = $expire > 0 ? time() + $expire : null; $paste = new Paste($pdo); $paste->save($id, $enc['cipher'], $enc['iv'], $expire_time, $password_hash); $base = rtrim($config['app']['base_url'] ?: ('http' . (isset($_SERVER['HTTPS']) ? 's' : '') . '://' . $_SERVER['HTTP_HOST']), '/'); $url = $base . '/view/' . $id; jsonResponse(['success' => true, 'url' => $url]);