Page History
...
HTML |
---|
<script>
function download_file(data, downloadFileName) {
console.log("Download filename: ", downloadFileName);
var fileName = downloadFileName.replace("+", " ");
console.log("Filename: ", fileName);
var fileData = data;
var byteChars = $.base64('decode', fileData);
var ab = new ArrayBuffer(byteChars.length);
var ia = new Uint8Array(ab);
for (var i = 0; i < byteChars.length; i++) {
ia[i] = byteChars.charCodeAt(i);
}
var blob = new Blob([ab], { type: 'application/pdf' });
if (window.navigator.msSaveOrOpenBlob) { // IE hack; see http://msdn.microsoft.com/en-us/library/ie/hh779016.aspx
window.navigator.msSaveOrOpenBlob(blob, fileName);
} else {
var downloadUrl = URL.createObjectURL(blob);
$("#download").attr({'download': fileName,'href': downloadUrl});
$("#download")
[0].click();
location = "https://www.nspop.dk/display/Web3/Mine+aftaler"
//window.history.back();
}
};
function getQueryParameters() {
var queryParams = {};
var query = window.location.search.substring(1);
var pairs = query.split('&');
for (var i = 0; i < pairs.length; i++) {
var pair = pairs[i].split('=');
var key = decodeURIComponent(pair[0]);
var value = decodeURIComponent(pair[1]);
queryParams[key] = value;
}
return queryParams;
}
function updateMacroOnExistingPage() {
var queryParams = getQueryParameters();
// Page ID of the existing Confluence page
var pageId = '33594461'; // Replace with the actual Page ID
// Make an AJAX request to retrieve the current page content
AJS.$.ajax({
url: '/rest/api/content/' + pageId + '?expand=body.storage,version',
type: 'GET',
success: function(data) {
// Get the current page content
var currentContent = data.body.storage.value;
console.log("CurrentContent: ", currentContent);
var acParms = '<ac:parameter ac:name="REST_HTML_URL">http://foedus01.nsi.netic.dk:8080/NSI_Aftaler-1.1.1-SNAPSHOT/rest/html</ac:parameter>';
acParms = acParms + '<ac:parameter ac:name="REST_DOWNLOAD_URL">http://foedus01.nsi.netic.dk:8080/NSI_Aftaler-1.1.1-SNAPSHOT/rest/base64encodefilebytes</ac:parameter>';
acParms = acParms + '<ac:parameter ac:name="include_user_info">true</ac:parameter>'
for (var key in queryParams) {
if (queryParams.hasOwnProperty(key)) {
acParms = acParms + '<ac:parameter ac:name="' + key + '">' + queryParams[key] + '</ac:parameter>';
}
}
acParms = acParms + '</ac:structured-macro>'
var updatedContent = currentContent.replace(/<ac:parameter.*<\/ac:structured-macro>/g, acParms);
console.log("Updatedcontent: ", updatedContent);
// Create a JSON payload for the REST API request to update the page
var payload = {
version: {
number: data.version.number + 1 // Increment this number if you want to update the page content
},
type: 'page',
title: 'Mine aftaler',
body: {
storage: {
value: updatedContent,
representation: 'storage'
}
}
};
// Make an AJAX request to update the page content
AJS.$.ajax({
url: '/rest/api/content/' + pageId,
type: 'PUT',
contentType: 'application/json',
data: JSON.stringify(payload),
success: function(data) {
console.log('Macro on the page updated successfully.');
},
error: function(error) {
console.error('Error updating macro on the page:', error);
}
});
},
error: function(error) {
console.error('Error retrieving page content:', error);
}
});
}
AJS.toInit(function() {
updateMacroOnExistingPage();
});
</script> |
...