$(document).ready(function(){ if (typeof FileActions !== 'undefined') { // Add versions button to 'files/index.php' FileActions.register( 'file' , t('files_versions', 'Versions') , OC.PERMISSION_UPDATE , function() { // Specify icon for hitory button return OC.imagePath('core','actions/history'); } ,function(filename){ // Action to perform when clicked if (scanFiles.scanning){return;}//workaround to prevent additional http request block scanning feedback var file = $('#dir').val()+'/'+filename; var createDropDown = true; // Check if drop down is already visible for a different file if (($('#dropdown').length > 0) ) { if ( $('#dropdown').hasClass('drop-versions') && file == $('#dropdown').data('file')) { createDropDown = false; } $('#dropdown').remove(); $('tr').removeClass('mouseOver'); } if(createDropDown === true) { createVersionsDropdown(filename, file); } } ); } $(document).on("click", 'span[class="revertVersion"]', function() { var revision = $(this).attr('id'); var file = $(this).attr('value'); revertFile(file, revision); }); }); function revertFile(file, revision) { $.ajax({ type: 'GET', url: OC.linkTo('files_versions', 'ajax/rollbackVersion.php'), dataType: 'json', data: {file: file, revision: revision}, async: false, success: function(response) { if (response.status === 'error') { OC.Notification.show( t('files_version', 'Failed to revert {file} to revision {timestamp}.', {file:file, timestamp:formatDate(revision * 1000)}) ); } else { $('#dropdown').hide('blind', function() { $('#dropdown').remove(); $('tr').removeClass('mouseOver'); // TODO also update the modified time in the web ui }); } } }); } function goToVersionPage(url){ window.location.assign(url); } function createVersionsDropdown(filename, files) { var start = 0; var html = '