Conflicts: lib/private/contactsmanager.phpremotes/origin/ldap_group_count
commit
bb6fac1102
@ -1 +1 @@ |
||||
Subproject commit da3c9f651a26cf076249ebf25c477e3791e69ca3 |
||||
Subproject commit ef80977061d4bc3a2d8ee0bf23a8287a3222b628 |
||||
@ -1,46 +0,0 @@ |
||||
<?php |
||||
|
||||
// fix webdav properties,add namespace in front of the property, update for OC4.5 |
||||
$installedVersion=OCP\Config::getAppValue('files', 'installed_version'); |
||||
if (version_compare($installedVersion, '1.1.6', '<')) { |
||||
$concat = OC_DB::getConnection()->getDatabasePlatform()-> |
||||
getConcatExpression( '\'{DAV:}\'', '`propertyname`' ); |
||||
$query = OC_DB::prepare(' |
||||
UPDATE `*PREFIX*properties` |
||||
SET `propertyname` = ' . $concat . ' |
||||
WHERE `propertyname` NOT LIKE \'{%\' |
||||
'); |
||||
$query->execute(); |
||||
} |
||||
|
||||
//update from OC 3 |
||||
|
||||
//try to remove remaining files. |
||||
//Give a warning if not possible |
||||
|
||||
$filesToRemove = array( |
||||
'ajax', |
||||
'appinfo', |
||||
'css', |
||||
'js', |
||||
'l10n', |
||||
'templates', |
||||
'admin.php', |
||||
'download.php', |
||||
'index.php', |
||||
'settings.php' |
||||
); |
||||
|
||||
foreach($filesToRemove as $file) { |
||||
$filepath = OC::$SERVERROOT . '/files/' . $file; |
||||
if(!file_exists($filepath)) { |
||||
continue; |
||||
} |
||||
$success = OCP\Files::rmdirr($filepath); |
||||
if($success === false) { |
||||
//probably not sufficient privileges, give up and give a message. |
||||
OCP\Util::writeLog('files', 'Could not clean /files/ directory.' |
||||
.' Please remove everything except webdav.php from ' . OC::$SERVERROOT . '/files/', OCP\Util::ERROR); |
||||
break; |
||||
} |
||||
} |
||||
@ -0,0 +1,147 @@ |
||||
/* |
||||
* Copyright (c) 2014 |
||||
* |
||||
* @author Vincent Petry |
||||
* @copyright 2014 Vincent Petry <pvince81@owncloud.com> |
||||
* |
||||
* This file is licensed under the Affero General Public License version 3 |
||||
* or later. |
||||
* |
||||
* See the COPYING-README file. |
||||
* |
||||
*/ |
||||
|
||||
/* global dragOptions, folderDropOptions */ |
||||
(function() { |
||||
|
||||
if (!OCA.Files) { |
||||
OCA.Files = {}; |
||||
} |
||||
|
||||
var App = { |
||||
navigation: null, |
||||
|
||||
initialize: function() { |
||||
this.navigation = new OCA.Files.Navigation($('#app-navigation')); |
||||
|
||||
// TODO: ideally these should be in a separate class / app (the embedded "all files" app)
|
||||
this.fileActions = OCA.Files.FileActions; |
||||
this.files = OCA.Files.Files; |
||||
|
||||
this.fileList = new OCA.Files.FileList( |
||||
$('#app-content-files'), { |
||||
scrollContainer: $('#app-content'), |
||||
dragOptions: dragOptions, |
||||
folderDropOptions: folderDropOptions |
||||
} |
||||
); |
||||
this.files.initialize(); |
||||
this.fileActions.registerDefaultActions(this.fileList); |
||||
this.fileList.setFileActions(this.fileActions); |
||||
|
||||
// for backward compatibility, the global FileList will
|
||||
// refer to the one of the "files" view
|
||||
window.FileList = this.fileList; |
||||
|
||||
this._setupEvents(); |
||||
// trigger URL change event handlers
|
||||
this._onPopState(OC.Util.History.parseUrlQuery()); |
||||
}, |
||||
|
||||
/** |
||||
* Returns the container of the currently visible app. |
||||
* |
||||
* @return app container |
||||
*/ |
||||
getCurrentAppContainer: function() { |
||||
return this.navigation.getActiveContainer(); |
||||
}, |
||||
|
||||
/** |
||||
* Setup events based on URL changes |
||||
*/ |
||||
_setupEvents: function() { |
||||
OC.Util.History.addOnPopStateHandler(_.bind(this._onPopState, this)); |
||||
|
||||
// detect when app changed their current directory
|
||||
$('#app-content').delegate('>div', 'changeDirectory', _.bind(this._onDirectoryChanged, this)); |
||||
$('#app-content').delegate('>div', 'changeViewerMode', _.bind(this._onChangeViewerMode, this)); |
||||
|
||||
$('#app-navigation').on('itemChanged', _.bind(this._onNavigationChanged, this)); |
||||
}, |
||||
|
||||
/** |
||||
* Event handler for when the current navigation item has changed |
||||
*/ |
||||
_onNavigationChanged: function(e) { |
||||
var params; |
||||
if (e && e.itemId) { |
||||
params = { |
||||
view: e.itemId, |
||||
dir: '/' |
||||
}; |
||||
this._changeUrl(params.view, params.dir); |
||||
this.navigation.getActiveContainer().trigger(new $.Event('urlChanged', params)); |
||||
} |
||||
}, |
||||
|
||||
/** |
||||
* Event handler for when an app notified that its directory changed |
||||
*/ |
||||
_onDirectoryChanged: function(e) { |
||||
if (e.dir) { |
||||
this._changeUrl(this.navigation.getActiveItem(), e.dir); |
||||
} |
||||
}, |
||||
|
||||
/** |
||||
* Event handler for when an app notifies that it needs space |
||||
* for viewer mode. |
||||
*/ |
||||
_onChangeViewerMode: function(e) { |
||||
var state = !!e.viewerModeEnabled; |
||||
$('#app-navigation').toggleClass('hidden', state); |
||||
$('.app-files').toggleClass('viewer-mode no-sidebar', state); |
||||
}, |
||||
|
||||
/** |
||||
* Event handler for when the URL changed |
||||
*/ |
||||
_onPopState: function(params) { |
||||
params = _.extend({ |
||||
dir: '/', |
||||
view: 'files' |
||||
}, params); |
||||
var lastId = this.navigation.getActiveItem(); |
||||
if (!this.navigation.itemExists(params.view)) { |
||||
params.view = 'files'; |
||||
} |
||||
this.navigation.setActiveItem(params.view, {silent: true}); |
||||
if (lastId !== this.navigation.getActiveItem()) { |
||||
this.navigation.getActiveContainer().trigger(new $.Event('show')); |
||||
} |
||||
this.navigation.getActiveContainer().trigger(new $.Event('urlChanged', params)); |
||||
}, |
||||
|
||||
/** |
||||
* Change the URL to point to the given dir and view |
||||
*/ |
||||
_changeUrl: function(view, dir) { |
||||
var params = {dir: dir}; |
||||
if (view !== 'files') { |
||||
params.view = view; |
||||
} |
||||
OC.Util.History.pushState(params); |
||||
} |
||||
}; |
||||
OCA.Files.App = App; |
||||
})(); |
||||
|
||||
$(document).ready(function() { |
||||
// wait for other apps/extensions to register their event handlers
|
||||
// in the "ready" clause
|
||||
_.defer(function() { |
||||
OCA.Files.App.initialize(); |
||||
}); |
||||
}); |
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,195 @@ |
||||
/** |
||||
* ownCloud |
||||
* |
||||
* @author Vincent Petry |
||||
* @copyright 2014 Vincent Petry <pvince81@owncloud.com> |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
||||
* |
||||
*/ |
||||
|
||||
/* global OC, n, t */ |
||||
|
||||
(function() { |
||||
/** |
||||
* The FileSummary class encapsulates the file summary values and |
||||
* the logic to render it in the given container |
||||
* @param $tr table row element |
||||
* $param summary optional initial summary value |
||||
*/ |
||||
var FileSummary = function($tr) { |
||||
this.$el = $tr; |
||||
this.clear(); |
||||
this.render(); |
||||
}; |
||||
|
||||
FileSummary.prototype = { |
||||
summary: { |
||||
totalFiles: 0, |
||||
totalDirs: 0, |
||||
totalSize: 0 |
||||
}, |
||||
|
||||
/** |
||||
* Adds file |
||||
* @param file file to add |
||||
* @param update whether to update the display |
||||
*/ |
||||
add: function(file, update) { |
||||
if (file.type === 'dir' || file.mime === 'httpd/unix-directory') { |
||||
this.summary.totalDirs++; |
||||
} |
||||
else { |
||||
this.summary.totalFiles++; |
||||
} |
||||
this.summary.totalSize += parseInt(file.size, 10) || 0; |
||||
if (!!update) { |
||||
this.update(); |
||||
} |
||||
}, |
||||
/** |
||||
* Removes file |
||||
* @param file file to remove |
||||
* @param update whether to update the display |
||||
*/ |
||||
remove: function(file, update) { |
||||
if (file.type === 'dir' || file.mime === 'httpd/unix-directory') { |
||||
this.summary.totalDirs--; |
||||
} |
||||
else { |
||||
this.summary.totalFiles--; |
||||
} |
||||
this.summary.totalSize -= parseInt(file.size, 10) || 0; |
||||
if (!!update) { |
||||
this.update(); |
||||
} |
||||
}, |
||||
/** |
||||
* Returns the total of files and directories |
||||
*/ |
||||
getTotal: function() { |
||||
return this.summary.totalDirs + this.summary.totalFiles; |
||||
}, |
||||
/** |
||||
* Recalculates the summary based on the given files array |
||||
* @param files array of files |
||||
*/ |
||||
calculate: function(files) { |
||||
var file; |
||||
var summary = { |
||||
totalDirs: 0, |
||||
totalFiles: 0, |
||||
totalSize: 0 |
||||
}; |
||||
|
||||
for (var i = 0; i < files.length; i++) { |
||||
file = files[i]; |
||||
if (file.type === 'dir' || file.mime === 'httpd/unix-directory') { |
||||
summary.totalDirs++; |
||||
} |
||||
else { |
||||
summary.totalFiles++; |
||||
} |
||||
summary.totalSize += parseInt(file.size, 10) || 0; |
||||
} |
||||
this.setSummary(summary); |
||||
}, |
||||
/** |
||||
* Clears the summary |
||||
*/ |
||||
clear: function() { |
||||
this.calculate([]); |
||||
}, |
||||
/** |
||||
* Sets the current summary values |
||||
* @param summary map |
||||
*/ |
||||
setSummary: function(summary) { |
||||
this.summary = summary; |
||||
this.update(); |
||||
}, |
||||
|
||||
/** |
||||
* Renders the file summary element |
||||
*/ |
||||
update: function() { |
||||
if (!this.$el) { |
||||
return; |
||||
} |
||||
if (!this.summary.totalFiles && !this.summary.totalDirs) { |
||||
this.$el.addClass('hidden'); |
||||
return; |
||||
} |
||||
// There's a summary and data -> Update the summary
|
||||
this.$el.removeClass('hidden'); |
||||
var $dirInfo = this.$el.find('.dirinfo'); |
||||
var $fileInfo = this.$el.find('.fileinfo'); |
||||
var $connector = this.$el.find('.connector'); |
||||
|
||||
// Substitute old content with new translations
|
||||
$dirInfo.html(n('files', '%n folder', '%n folders', this.summary.totalDirs)); |
||||
$fileInfo.html(n('files', '%n file', '%n files', this.summary.totalFiles)); |
||||
this.$el.find('.filesize').html(OC.Util.humanFileSize(this.summary.totalSize)); |
||||
|
||||
// Show only what's necessary (may be hidden)
|
||||
if (this.summary.totalDirs === 0) { |
||||
$dirInfo.addClass('hidden'); |
||||
$connector.addClass('hidden'); |
||||
} else { |
||||
$dirInfo.removeClass('hidden'); |
||||
} |
||||
if (this.summary.totalFiles === 0) { |
||||
$fileInfo.addClass('hidden'); |
||||
$connector.addClass('hidden'); |
||||
} else { |
||||
$fileInfo.removeClass('hidden'); |
||||
} |
||||
if (this.summary.totalDirs > 0 && this.summary.totalFiles > 0) { |
||||
$connector.removeClass('hidden'); |
||||
} |
||||
}, |
||||
render: function() { |
||||
if (!this.$el) { |
||||
return; |
||||
} |
||||
// TODO: ideally this should be separate to a template or something
|
||||
var summary = this.summary; |
||||
var directoryInfo = n('files', '%n folder', '%n folders', summary.totalDirs); |
||||
var fileInfo = n('files', '%n file', '%n files', summary.totalFiles); |
||||
|
||||
var infoVars = { |
||||
dirs: '<span class="dirinfo">'+directoryInfo+'</span><span class="connector">', |
||||
files: '</span><span class="fileinfo">'+fileInfo+'</span>' |
||||
}; |
||||
|
||||
// don't show the filesize column, if filesize is NaN (e.g. in trashbin)
|
||||
var fileSize = ''; |
||||
if (!isNaN(summary.totalSize)) { |
||||
fileSize = '<td class="filesize">' + OC.Util.humanFileSize(summary.totalSize) + '</td>'; |
||||
} |
||||
|
||||
var info = t('files', '{dirs} and {files}', infoVars); |
||||
|
||||
var $summary = $('<td><span class="info">'+info+'</span></td>'+fileSize+'<td></td>'); |
||||
|
||||
if (!this.summary.totalFiles && !this.summary.totalDirs) { |
||||
this.$el.addClass('hidden'); |
||||
} |
||||
|
||||
this.$el.append($summary); |
||||
} |
||||
}; |
||||
OCA.Files.FileSummary = FileSummary; |
||||
})(); |
||||
|
||||
@ -0,0 +1,122 @@ |
||||
/* |
||||
* Copyright (c) 2014 |
||||
* |
||||
* @author Vincent Petry |
||||
* @copyright 2014 Vincent Petry <pvince81@owncloud.com> |
||||
* |
||||
* This file is licensed under the Affero General Public License version 3 |
||||
* or later. |
||||
* |
||||
* See the COPYING-README file. |
||||
* |
||||
*/ |
||||
|
||||
(function() { |
||||
|
||||
var Navigation = function($el) { |
||||
this.initialize($el); |
||||
}; |
||||
|
||||
Navigation.prototype = { |
||||
|
||||
/** |
||||
* Currently selected item in the list |
||||
*/ |
||||
_activeItem: null, |
||||
|
||||
/** |
||||
* Currently selected container |
||||
*/ |
||||
$currentContent: null, |
||||
|
||||
/** |
||||
* Initializes the navigation from the given container |
||||
* @param $el element containing the navigation |
||||
*/ |
||||
initialize: function($el) { |
||||
this.$el = $el; |
||||
this._activeItem = null; |
||||
this.$currentContent = null; |
||||
this._setupEvents(); |
||||
}, |
||||
|
||||
/** |
||||
* Setup UI events |
||||
*/ |
||||
_setupEvents: function() { |
||||
this.$el.on('click', 'li a', _.bind(this._onClickItem, this)); |
||||
}, |
||||
|
||||
/** |
||||
* Returns the container of the currently active app. |
||||
* |
||||
* @return app container |
||||
*/ |
||||
getActiveContainer: function() { |
||||
return this.$currentContent; |
||||
}, |
||||
|
||||
/** |
||||
* Returns the currently active item |
||||
*
|
||||
* @return item ID |
||||
*/ |
||||
getActiveItem: function() { |
||||
return this._activeItem; |
||||
}, |
||||
|
||||
/** |
||||
* Switch the currently selected item, mark it as selected and |
||||
* make the content container visible, if any. |
||||
* |
||||
* @param string itemId id of the navigation item to select |
||||
* @param array options "silent" to not trigger event |
||||
*/ |
||||
setActiveItem: function(itemId, options) { |
||||
var oldItemId = this._activeItem; |
||||
if (itemId === this._activeItem) { |
||||
if (!options || !options.silent) { |
||||
this.$el.trigger( |
||||
new $.Event('itemChanged', {itemId: itemId, previousItemId: oldItemId}) |
||||
); |
||||
} |
||||
return; |
||||
} |
||||
this.$el.find('li').removeClass('selected'); |
||||
if (this.$currentContent) { |
||||
this.$currentContent.addClass('hidden'); |
||||
this.$currentContent.trigger(jQuery.Event('hide')); |
||||
} |
||||
this._activeItem = itemId; |
||||
this.$el.find('li[data-id=' + itemId + ']').addClass('selected'); |
||||
this.$currentContent = $('#app-content-' + itemId); |
||||
this.$currentContent.removeClass('hidden'); |
||||
if (!options || !options.silent) { |
||||
this.$currentContent.trigger(jQuery.Event('show')); |
||||
this.$el.trigger( |
||||
new $.Event('itemChanged', {itemId: itemId, previousItemId: oldItemId}) |
||||
); |
||||
} |
||||
}, |
||||
|
||||
/** |
||||
* Returns whether a given item exists |
||||
*/ |
||||
itemExists: function(itemId) { |
||||
return this.$el.find('li[data-id=' + itemId + ']').length; |
||||
}, |
||||
|
||||
/** |
||||
* Event handler for when clicking on an item. |
||||
*/ |
||||
_onClickItem: function(ev) { |
||||
var $target = $(ev.target); |
||||
var itemId = $target.closest('li').attr('data-id'); |
||||
this.setActiveItem(itemId); |
||||
return false; |
||||
} |
||||
}; |
||||
|
||||
OCA.Files.Navigation = Navigation; |
||||
|
||||
})(); |
||||
@ -1,29 +1,67 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"Could not move %s - File with this name already exists" => "Nun pudo movese %s - Yá existe un ficheru con esi nome.", |
||||
"Could not move %s" => "Nun pudo movese %s", |
||||
"File name cannot be empty." => "El nome de ficheru nun pue quedar baleru.", |
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Nome inválidu, los caráuteres \"\\\", \"/\", \"<\", \">\", \":\", \"\", \"|\" \"?\" y \"*\" nun tán permitíos.", |
||||
"Unable to set upload directory." => "Nun se puede afitar la carpeta de xubida.", |
||||
"Invalid Token" => "Token inválidu", |
||||
"No file was uploaded. Unknown error" => "Nun se xubió dengún ficheru. Fallu desconocíu", |
||||
"There is no error, the file uploaded with success" => "Nun hai dengún fallu, el ficheru xubióse ensin problemes", |
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "El ficheru xubíu perpasa la direutiva \"upload_max_filesize\" del ficheru php.ini", |
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "El ficheru xubíu perpasa la direutiva \"MAX_FILE_SIZE\" especificada nel formulariu HTML", |
||||
"The uploaded file was only partially uploaded" => "El ficheru xubióse de mou parcial", |
||||
"No file was uploaded" => "Nun se xubió dengún ficheru", |
||||
"Missing a temporary folder" => "Falta una carpeta temporal", |
||||
"Failed to write to disk" => "Fallu al escribir al discu", |
||||
"Not enough storage available" => "Nun hai abondu espaciu disponible", |
||||
"Upload failed. Could not find uploaded file" => "Xubida fallía. Nun se pudo atopar el ficheru xubíu.", |
||||
"Upload failed. Could not get file info." => "Falló la xubida. Nun se pudo obtener la información del ficheru.", |
||||
"Invalid directory." => "Carpeta non válida.", |
||||
"Files" => "Ficheros", |
||||
"Unable to upload {filename} as it is a directory or has 0 bytes" => "Nun se pudo xubir {filename}, paez que ye un directoriu o tien 0 bytes", |
||||
"Upload cancelled." => "Xubida encaboxada.", |
||||
"Could not get result from server." => "Nun se pudo obtener el resultáu del servidor.", |
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "La xubida del ficheru ta en progresu. Si dexes esta páxina encaboxarase la xubida.", |
||||
"{new_name} already exists" => "{new_name} yá existe", |
||||
"Share" => "Compartir", |
||||
"Delete permanently" => "Desaniciar dafechu", |
||||
"Rename" => "Renomar", |
||||
"Your download is being prepared. This might take some time if the files are big." => "Ta preparándose la descarga. Esto podría llevar dalgún tiempu si los ficheros son grandes.", |
||||
"Error moving file" => "Fallu moviendo'l ficheru", |
||||
"Error" => "Fallu", |
||||
"Name" => "Nome", |
||||
"Size" => "Tamañu", |
||||
"Modified" => "Modificáu", |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""), |
||||
"Name" => "Nome", |
||||
"Size" => "Tamañu", |
||||
"Your storage is full, files can not be updated or synced anymore!" => "L'almacenamientu ta completu, ¡yá nun se pueden anovar o sincronizar ficheros!", |
||||
"Your storage is almost full ({usedSpacePercent}%)" => "L'almacenamientu ta casi completu ({usedSpacePercent}%)", |
||||
"Encryption was disabled but your files are still encrypted. Please go to your personal settings to decrypt your files." => "Deshabilitose'l cifráu pero los tos ficheros tovía tan cifraos. Por favor, vete a los axustes personales pa descrifrar los tos ficheros.", |
||||
"%s could not be renamed" => "Nun se puede renomar %s ", |
||||
"File handling" => "Alministración de ficheros", |
||||
"Maximum upload size" => "Tamañu máximu de xubida", |
||||
"max. possible: " => "máx. posible:", |
||||
"Needed for multi-file and folder downloads." => "Ye necesariu pa descargues multificheru y de carpetes", |
||||
"Enable ZIP-download" => "Activar descarga ZIP", |
||||
"0 is unlimited" => "0 ye illimitao", |
||||
"Maximum input size for ZIP files" => "Tamañu máximu d'entrada pa ficheros ZIP", |
||||
"Save" => "Guardar", |
||||
"WebDAV" => "WebDAV", |
||||
"Use this address to <a href=\"%s\" target=\"_blank\">access your Files via WebDAV</a>" => "Usa esta direición pa <a href=\"%s/server/5.0/user_manual/files/files.html\" target=\"_blank\">acceder a los ficheros a traviés de WebDAV</a>", |
||||
"New" => "Nuevu", |
||||
"Text file" => "Ficheru de testu", |
||||
"New folder" => "Nueva carpeta", |
||||
"Folder" => "Carpeta", |
||||
"From link" => "Dende enllaz", |
||||
"Cancel upload" => "Encaboxar xuba", |
||||
"Nothing in here. Upload something!" => "Nun hai nada equí. ¡Xubi daqué!", |
||||
"Download" => "Descargar", |
||||
"Delete" => "Desaniciar" |
||||
"Delete" => "Desaniciar", |
||||
"Upload too large" => "La xubida ye demasiao grande", |
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Los ficheros que tas intentando xubir perpasen el tamañu máximu pa les xubíes de ficheros nesti servidor.", |
||||
"Files are being scanned, please wait." => "Tan escaniándose los ficheros, espera por favor.", |
||||
"Current scanning" => "Escanéu actual" |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
|
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -0,0 +1,7 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
@ -1,8 +1,12 @@ |
||||
<?php |
||||
$TRANSLATIONS = array( |
||||
"Share" => "تقسیم", |
||||
"Error" => "ایرر", |
||||
"Name" => "اسم", |
||||
"_%n folder_::_%n folders_" => array("",""), |
||||
"_%n file_::_%n files_" => array("",""), |
||||
"_Uploading %n file_::_Uploading %n files_" => array("","") |
||||
"_Uploading %n file_::_Uploading %n files_" => array("",""), |
||||
"Save" => "حفظ", |
||||
"Delete" => "حذف کریں" |
||||
); |
||||
$PLURAL_FORMS = "nplurals=2; plural=(n != 1);"; |
||||
|
||||
@ -0,0 +1,38 @@ |
||||
<?php |
||||
|
||||
/** |
||||
* ownCloud - Files list |
||||
* |
||||
* @author Vincent Petry |
||||
* @copyright 2014 Vincent Petry <pvince81@owncloud.com> |
||||
* |
||||
* This library is free software; you can redistribute it and/or |
||||
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE |
||||
* License as published by the Free Software Foundation; either |
||||
* version 3 of the License, or any later version. |
||||
* |
||||
* This library is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU AFFERO GENERAL PUBLIC LICENSE for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public |
||||
* License along with this library. If not, see <http://www.gnu.org/licenses/>. |
||||
* |
||||
*/ |
||||
|
||||
// Check if we are a user |
||||
OCP\User::checkLoggedIn(); |
||||
|
||||
$config = \OC::$server->getConfig(); |
||||
// TODO: move this to the generated config.js |
||||
$publicUploadEnabled = $config->getAppValue('core', 'shareapi_allow_public_upload', 'yes'); |
||||
$uploadLimit=OCP\Util::uploadLimit(); |
||||
|
||||
// renders the controls and table headers template |
||||
$tmpl = new OCP\Template('files', 'list', ''); |
||||
$tmpl->assign('uploadLimit', $uploadLimit); // PHP upload limit |
||||
$tmpl->assign('publicUploadEnabled', $publicUploadEnabled); |
||||
$tmpl->assign('allowZipDownload', intval(OCP\Config::getSystemValue('allowZipDownload', true))); |
||||
$tmpl->printPage(); |
||||
|
||||
@ -0,0 +1,17 @@ |
||||
<div id="app-navigation"> |
||||
<ul> |
||||
<?php foreach ($_['navigationItems'] as $item) { ?> |
||||
<li data-id="<?php p($item['id']) ?>" class="nav-<?php p($item['id']) ?>"><a href="<?php p(isset($item['href']) ? $item['href'] : '#') ?>"><?php p($item['name']);?></a></li>
|
||||
<?php } ?> |
||||
</ul> |
||||
<div id="app-settings"> |
||||
<div id="app-settings-header"> |
||||
<button class="settings-button"></button> |
||||
</div> |
||||
<div id="app-settings-content"> |
||||
<h2><?php p($l->t('WebDAV'));?></h2>
|
||||
<div><input id="webdavurl" type="text" readonly="readonly" value="<?php p(OC_Helper::linkToRemote('webdav')); ?>"></input></div>
|
||||
<em><?php print_unescaped($l->t('Use this address to <a href="%s" target="_blank">access your Files via WebDAV</a>', array(link_to_docs('user-webdav'))));?></em>
|
||||
</div> |
||||
</div> |
||||
</div> |
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in new issue