diff options
author | Sam Tuke <sam@donttravelempty.com> | 2012-04-26 16:48:43 +0100 |
---|---|---|
committer | Sam Tuke <sam@donttravelempty.com> | 2012-04-26 16:48:43 +0100 |
commit | c693ee2adb1b8b251d7905791eeca0946c31c68b (patch) | |
tree | 10adcf853dff62b6a842728ce023b49c54eba9e2 /apps/files_versions | |
parent | 6312067ab58b3d7121ed8e3211030f77eda699bd (diff) | |
download | nextcloud-server-c693ee2adb1b8b251d7905791eeca0946c31c68b.tar.gz nextcloud-server-c693ee2adb1b8b251d7905791eeca0946c31c68b.zip |
added available version names to files dropdown menu via new ajax script
Diffstat (limited to 'apps/files_versions')
-rw-r--r-- | apps/files_versions/ajax/getVersions.php | 54 | ||||
-rw-r--r-- | apps/files_versions/history.php | 2 | ||||
-rw-r--r-- | apps/files_versions/js/versions.js | 89 | ||||
-rw-r--r-- | apps/files_versions/templates/history.php | 8 |
4 files changed, 122 insertions, 31 deletions
diff --git a/apps/files_versions/ajax/getVersions.php b/apps/files_versions/ajax/getVersions.php new file mode 100644 index 00000000000..fbe65146acc --- /dev/null +++ b/apps/files_versions/ajax/getVersions.php @@ -0,0 +1,54 @@ +<?php + +require_once('../../../lib/base.php'); +OC_JSON::checkAppEnabled('files_versions'); +require_once('../versions.php'); + +$userDirectory = "/".OC_User::getUser()."/files"; +$source = $_GET['source']; +$source = strip_tags( $source ); + +if( OCA_Versions\Storage::isversioned( $source ) ) { + + $count=5; //show the newest revisions + $versions=OCA_Versions\Storage::getversions( $source, $count); + + $versionsSorted = array_reverse( $versions ); + + if ( !empty( $versionsSorted ) ) { + OC_JSON::encodedPrint($versionsSorted); + } + +}else{ + + return; + +} + +// $path = $source; +// $users = array(); +// if ($users = OC_Share::getMySharedItem($source)) { +// for ($i = 0; $i < count($users); $i++) { +// if ($users[$i]['uid_shared_with'] == OC_Share::PUBLICLINK) { +// $users[$i]['token'] = OC_Share::getTokenFromSource($source); +// } +// } +// } +// $source = dirname($source); +// while ($source != "" && $source != "/" && $source != "." && $source != $userDirectory) { +// if ($values = OC_Share::getMySharedItem($source)) { +// $values = array_values($values); +// $parentUsers = array(); +// for ($i = 0; $i < count($values); $i++) { +// if ($values[$i]['uid_shared_with'] == OC_Share::PUBLICLINK) { +// $values[$i]['token'] = OC_Share::getTokenFromSource($source)."&path=".substr($path, strlen($source)); +// } +// $parentUsers[basename($source)."-".$i] = $values[$i]; +// } +// $users = array_merge($users, $parentUsers); +// } +// $source = dirname($source); +// } +// if (!empty($users)) { +// OC_JSON::encodedPrint($users); +// } diff --git a/apps/files_versions/history.php b/apps/files_versions/history.php index b0aa8fdc982..434feaf3576 100644 --- a/apps/files_versions/history.php +++ b/apps/files_versions/history.php @@ -28,7 +28,7 @@ OC_Util::addStyle('files_versions','versions'); if ( isset( $_GET['path'] ) ) { $path = $_GET['path']; - $path = strip_tags( $path); + $path = strip_tags( $path ); // roll back to old version if button clicked if( isset( $_GET['revert'] ) ) { diff --git a/apps/files_versions/js/versions.js b/apps/files_versions/js/versions.js index 325ef823a9c..5018b75f154 100644 --- a/apps/files_versions/js/versions.js +++ b/apps/files_versions/js/versions.js @@ -9,9 +9,28 @@ $(document).ready(function(){ createVersionsDropdown(filename, file) - //window.location='../apps/files_versions/history.php?path='+encodeURIComponent($('#dir').val()).replace(/%2F/g, '/')+'/'+encodeURIComponent(filename); - - + $.ajax({ + type: 'GET', + url: OC.linkTo('files_versions', 'ajax/getVersions.php'), + dataType: 'json', + data: {source: file}, + async: false, + success: function(versions) { + if (versions) { + + // icon = OC.imagePath('core', 'actions/shared'); + // $.each(users, function(index, row) { + // if (row.uid_shared_with == 'public') { + // icon = OC.imagePath('core', 'actions/public'); + // } + // }); + // } else { + // icon = OC.imagePath('core', 'actions/share'); + } + shared_status[file]= { timestamp: new Date().getTime(), icon: icon }; + } + }); + }); }); @@ -21,17 +40,14 @@ function createVersionsDropdown(filename, files) { //alert( historyUrl ); var html = '<div id="dropdown" class="drop" data-file="'+files+'">'; html += '<div id="private">'; - html += '<select data-placeholder="File Version" id="share_with" class="chzen-select">'; - html += '<option value=""></option>'; + html += '<select data-placeholder="File Version" id="found_versions" class="chzen-select">'; + html += '<option value="">Select version</option>'; html += '</select>'; - html += '<ul id="shared_list"></ul>'; html += '</div>'; - html += '<div id="public">'; html += '<input type="button" name="makelink" id="makelink" value="Revert file" />'; html += '<input type="button" onclick="window.location=\''+historyUrl+'\'" name="makelink" id="makelink" value="More..." />'; html += '<br />'; html += '<input id="link" style="display:none; width:90%;" />'; - html += '</div>'; if (filename) { $('tr').filterAttr('data-file',filename).addClass('mouseOver'); @@ -39,27 +55,44 @@ function createVersionsDropdown(filename, files) { } else { $(html).appendTo($('thead .share')); } -// $.getJSON(OC.linkTo('files_sharing', 'ajax/userautocomplete.php'), function(users) { -// if (users) { -// $.each(users, function(index, row) { -// $(row).appendTo('#share_with'); -// }); -// $('#share_with').trigger('liszt:updated'); -// } -// }); -// $.getJSON(OC.linkTo('files_sharing', 'ajax/getitem.php'), { source: files }, function(users) { -// if (users) { -// $.each(users, function(index, row) { -// if (row.uid_shared_with == 'public') { -// showPublicLink(row.token, '/'+filename); -// } else if (isNaN(index)) { -// addUser(row.uid_shared_with, row.permissions, index.substr(0, index.lastIndexOf('-'))); -// } else { -// addUser(row.uid_shared_with, row.permissions, false); -// } -// }); -// } + +// $.getJSON(OC.linkTo('files_sharing', 'ajax/userautocomplete.php'), function(users) { +// if (users) { +// $.each(users, function(index, row) { +// $(row).appendTo('#share_with'); // }); +// $('#share_with').trigger('liszt:updated'); +// } +// }); + $.getJSON(OC.linkTo('files_versions', 'ajax/getVersions.php'), { source: files }, function(versions) { + if (versions) { + + $.each( versions, function(index, row ) { + + addVersion( row ); + }); + + } + + }); + + function addVersion( name ) { + + var version = '<option>'+name+'</option>'; + +// } else { +// var checked = ((permissions > 0) ? 'checked="checked"' : 'style="display:none;"'); +// var style = ((permissions == 0) ? 'style="display:none;"' : ''); +// var user = '<li data-uid_shared_with="'+uid_shared_with+'">'; +// user += '<a href="" class="unshare" style="display:none;"><img class="svg" alt="Unshare" src="'+OC.imagePath('core','actions/delete')+'"/></a>'; +// user += uid_shared_with; +// user += '<input type="checkbox" name="permissions" id="'+uid_shared_with+'" class="permissions" '+checked+' />'; +// user += '<label for="'+uid_shared_with+'" '+style+'>can edit</label>'; +// user += '</li>'; +// } + + $(version).appendTo('#found_versions'); + } $('#dropdown').show('blind'); $('#share_with').chosen(); diff --git a/apps/files_versions/templates/history.php b/apps/files_versions/templates/history.php index d33d2b0f68b..92a3eb9c07e 100644 --- a/apps/files_versions/templates/history.php +++ b/apps/files_versions/templates/history.php @@ -10,8 +10,12 @@ echo('<strong>Versions of '.$_['path']).'</strong><br>'; echo('<p><em>You can click on the revert button to revert to the specific verson.</em></p><br />'); - foreach ($_['versions'] as $v){ - echo(' '.OC_Util::formatDate($v).' <a href="history.php?path='.urlencode($_['path']).'&revert='.$v.'" class="button">Revert</a><br /><br />'); + foreach ( $_['versions'] as $v ){ + + echo ' '; + echo OC_Util::formatDate( $v ); + echo ' <a href="history.php?path='.urlencode( $_['path'] ).'&revert='. $v .'" class="button">Revert</a><br /><br />'; + } } |