]> source.dussan.org Git - nextcloud-server.git/commitdiff
added available version names to files dropdown menu via new ajax script
authorSam Tuke <sam@donttravelempty.com>
Thu, 26 Apr 2012 15:48:43 +0000 (16:48 +0100)
committerSam Tuke <sam@donttravelempty.com>
Thu, 26 Apr 2012 15:48:43 +0000 (16:48 +0100)
apps/files_versions/ajax/getVersions.php [new file with mode: 0644]
apps/files_versions/history.php
apps/files_versions/js/versions.js
apps/files_versions/templates/history.php

diff --git a/apps/files_versions/ajax/getVersions.php b/apps/files_versions/ajax/getVersions.php
new file mode 100644 (file)
index 0000000..fbe6514
--- /dev/null
@@ -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);
+// }
index b0aa8fdc9820733a6baeb4f3479ef892b4b42ebd..434feaf35762428a30d8fcfa848b93c76f2f7846 100644 (file)
@@ -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'] ) ) {
index 325ef823a9c152e1ba979dacc4ef0e8e324d9354..5018b75f154a81762a1164ccee3a0567d901f872 100644 (file)
@@ -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();
index d33d2b0f68b7814ccd1f3184aaafbe54ae2f33de..92a3eb9c07e9cf6399cbc6f864ec1fa28ffc4f46 100644 (file)
 
                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 />';
+                       
                }
 
        }