Merge remote-tracking branch 'upstream/master'
Conflicts: apps/files_external/lib/config.phpremotes/origin/stable5
commit
b1b2eafa50
@ -0,0 +1,37 @@
|
||||
## Submitting issues
|
||||
|
||||
If you have questions about how to use ownCloud, please direct these to the [mailing list][mailinglist] or our [forum][forum]. We are also available on [IRC][irc].
|
||||
|
||||
### Guidelines
|
||||
* Report the issue using our [template][template], it includes all the informations we need to track down the issue.
|
||||
* This repository is *only* for issues within the ownCloud core code. Issues in other compontents should be reported in their own repositores:
|
||||
- [Android client](https://github.com/owncloud/android/issues)
|
||||
- [iOS client](https://github.com/owncloud/ios-issues/issues)
|
||||
- [Desktop client](https://github.com/owncloud/mirall/issues)
|
||||
- [ownCloud apps](https://github.com/owncloud/apps/issues) (e.g. Calendar, Contacts...)
|
||||
* Search the existing issues first, it's likely that your issue was already reported.
|
||||
|
||||
If your issue appears to be a bug, and hasn't been reported, open a new issue.
|
||||
|
||||
Help us to maximize the effort we can spend fixing issues and adding new features, by not reporting duplicate issues.
|
||||
|
||||
[template]: https://raw.github.com/owncloud/core/master/issue_template.md
|
||||
[mailinglist]: https://mail.kde.org/mailman/listinfo/owncloud
|
||||
[forum]: http://forum.owncloud.org/
|
||||
[irc]: http://webchat.freenode.net/?channels=owncloud&uio=d4
|
||||
|
||||
## Contributing to Source Code
|
||||
|
||||
Thanks for wanting to contribute source code to ownCloud. That's great!
|
||||
|
||||
Before we're able to merge your code into the ownCloud core, you need to sign our [Contributor Agreement][agreement].
|
||||
|
||||
Please read the [Developer Manuals][devmanual] to get useful infos like how to create your first application or how to test the ownCloud code with phpunit.
|
||||
|
||||
[agreement]: http://owncloud.org/about/contributor-agreement/
|
||||
[devmanual]: http://owncloud.org/dev/
|
||||
|
||||
## Translations
|
||||
Please submit translations via [Transifex][transifex].
|
||||
|
||||
[transifex]: https://www.transifex.com/projects/p/owncloud/
|
||||
@ -1,54 +0,0 @@
|
||||
<?php
|
||||
//provide auto completion of paths for use with jquer ui autocomplete
|
||||
|
||||
|
||||
// Init owncloud
|
||||
|
||||
|
||||
OCP\JSON::checkLoggedIn();
|
||||
|
||||
// Get data
|
||||
$query = $_GET['term'];
|
||||
$dirOnly=(isset($_GET['dironly']))?($_GET['dironly']=='true'):false;
|
||||
|
||||
if($query[0]!='/') {
|
||||
$query='/'.$query;
|
||||
}
|
||||
|
||||
if(substr($query, -1, 1)=='/') {
|
||||
$base=$query;
|
||||
} else {
|
||||
$base=dirname($query);
|
||||
}
|
||||
|
||||
$query=substr($query, strlen($base));
|
||||
|
||||
if($base!='/') {
|
||||
$query=substr($query, 1);
|
||||
}
|
||||
$queryLen=strlen($query);
|
||||
$query=strtolower($query);
|
||||
|
||||
// echo "$base - $query";
|
||||
|
||||
$files=array();
|
||||
|
||||
if(OC_Filesystem::file_exists($base) and OC_Filesystem::is_dir($base)) {
|
||||
$dh = OC_Filesystem::opendir($base);
|
||||
if($dh) {
|
||||
if(substr($base, -1, 1)!='/') {
|
||||
$base=$base.'/';
|
||||
}
|
||||
while (($file = readdir($dh)) !== false) {
|
||||
if ($file != "." && $file != "..") {
|
||||
if(substr(strtolower($file), 0, $queryLen)==$query) {
|
||||
$item=$base.$file;
|
||||
if((!$dirOnly or OC_Filesystem::is_dir($item))) {
|
||||
$files[]=(object)array('id'=>$item, 'label'=>$item, 'name'=>$item);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
OCP\JSON::encodedPrint($files);
|
||||
@ -0,0 +1,9 @@
|
||||
<?php
|
||||
|
||||
// only need filesystem apps
|
||||
$RUNTIME_APPTYPES = array('filesystem');
|
||||
|
||||
OCP\JSON::checkLoggedIn();
|
||||
|
||||
// send back json
|
||||
OCP\JSON::success(array('data' => \OCA\files\lib\Helper::buildFileStorageStatistics('/')));
|
||||
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) 2013 Lukas Reschke <lukas@statuscode.ch>
|
||||
* This file is licensed under the Affero General Public License version 3 or
|
||||
* later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
// Set the content type to Javascript
|
||||
header("Content-type: text/javascript");
|
||||
|
||||
// Disallow caching
|
||||
header("Cache-Control: no-cache, must-revalidate");
|
||||
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT");
|
||||
|
||||
if ( array_key_exists('disableSharing', $_) && $_['disableSharing'] == true ) {
|
||||
echo "var disableSharing = true;";
|
||||
} else {
|
||||
echo "var disableSharing = false;";
|
||||
}
|
||||
@ -1,42 +1,71 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"There is no error, the file uploaded with success" => "Nincs hiba, a fájl sikeresen feltöltve.",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "A feltöltött fájl meghaladja a MAX_FILE_SIZE direktívát ami meghatározott a HTML form-ban.",
|
||||
"The uploaded file was only partially uploaded" => "Az eredeti fájl csak részlegesen van feltöltve.",
|
||||
"No file was uploaded" => "Nem lett fájl feltöltve.",
|
||||
"Missing a temporary folder" => "Hiányzik az ideiglenes könyvtár",
|
||||
"Failed to write to disk" => "Nem írható lemezre",
|
||||
"Upload" => "Feltöltés",
|
||||
"Could not move %s - File with this name already exists" => "%s áthelyezése nem sikerült - már létezik másik fájl ezzel a névvel",
|
||||
"Could not move %s" => "Nem sikerült %s áthelyezése",
|
||||
"Unable to rename file" => "Nem lehet átnevezni a fájlt",
|
||||
"No file was uploaded. Unknown error" => "Nem történt feltöltés. Ismeretlen hiba",
|
||||
"There is no error, the file uploaded with success" => "A fájlt sikerült feltölteni",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "A feltöltött fájl mérete meghaladja a php.ini állományban megadott upload_max_filesize paraméter értékét.",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "A feltöltött fájl mérete meghaladja a MAX_FILE_SIZE paramétert, ami a HTML formban került megadásra.",
|
||||
"The uploaded file was only partially uploaded" => "Az eredeti fájlt csak részben sikerült feltölteni.",
|
||||
"No file was uploaded" => "Nem töltődött fel semmi",
|
||||
"Missing a temporary folder" => "Hiányzik egy ideiglenes mappa",
|
||||
"Failed to write to disk" => "Nem sikerült a lemezre történő írás",
|
||||
"Not enough space available" => "Nincs elég szabad hely",
|
||||
"Invalid directory." => "Érvénytelen mappa.",
|
||||
"Files" => "Fájlok",
|
||||
"Unshare" => "Nem oszt meg",
|
||||
"Unshare" => "Megosztás visszavonása",
|
||||
"Delete" => "Törlés",
|
||||
"replace" => "cserél",
|
||||
"Rename" => "Átnevezés",
|
||||
"{new_name} already exists" => "{new_name} már létezik",
|
||||
"replace" => "írjuk fölül",
|
||||
"suggest name" => "legyen más neve",
|
||||
"cancel" => "mégse",
|
||||
"undo" => "visszavon",
|
||||
"generating ZIP-file, it may take some time." => "ZIP-fájl generálása, ez eltarthat egy ideig.",
|
||||
"replaced {new_name}" => "a(z) {new_name} állományt kicseréltük",
|
||||
"undo" => "visszavonás",
|
||||
"replaced {new_name} with {old_name}" => "{new_name} fájlt kicseréltük ezzel: {old_name}",
|
||||
"unshared {files}" => "{files} fájl megosztása visszavonva",
|
||||
"deleted {files}" => "{files} fájl törölve",
|
||||
"'.' is an invalid file name." => "'.' fájlnév érvénytelen.",
|
||||
"File name cannot be empty." => "A fájlnév nem lehet semmi.",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Érvénytelen elnevezés. Ezek a karakterek nem használhatók: '\\', '/', '<', '>', ':', '\"', '|', '?' és '*'",
|
||||
"Your download is being prepared. This might take some time if the files are big." => "Készül a letöltendő állomány. Ez eltarthat egy ideig, ha nagyok a fájlok.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Nem tölthető fel, mert mappa volt, vagy 0 byte méretű",
|
||||
"Upload Error" => "Feltöltési hiba",
|
||||
"Close" => "Bezár",
|
||||
"Close" => "Bezárás",
|
||||
"Pending" => "Folyamatban",
|
||||
"Upload cancelled." => "Feltöltés megszakítva",
|
||||
"1 file uploading" => "1 fájl töltődik föl",
|
||||
"{count} files uploading" => "{count} fájl töltődik föl",
|
||||
"Upload cancelled." => "A feltöltést megszakítottuk.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Fájlfeltöltés van folyamatban. Az oldal elhagyása megszakítja a feltöltést.",
|
||||
"URL cannot be empty." => "Az URL nem lehet semmi.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Érvénytelen mappanév. A név használata csak a Owncloud számára lehetséges.",
|
||||
"{count} files scanned" => "{count} fájlt találtunk",
|
||||
"error while scanning" => "Hiba a fájllista-ellenőrzés során",
|
||||
"Name" => "Név",
|
||||
"Size" => "Méret",
|
||||
"Modified" => "Módosítva",
|
||||
"1 folder" => "1 mappa",
|
||||
"{count} folders" => "{count} mappa",
|
||||
"1 file" => "1 fájl",
|
||||
"{count} files" => "{count} fájl",
|
||||
"File handling" => "Fájlkezelés",
|
||||
"Maximum upload size" => "Maximális feltölthető fájlméret",
|
||||
"max. possible: " => "max. lehetséges",
|
||||
"Needed for multi-file and folder downloads." => "Kötegelt file- vagy mappaletöltéshez szükséges",
|
||||
"Enable ZIP-download" => "ZIP-letöltés engedélyezése",
|
||||
"max. possible: " => "max. lehetséges: ",
|
||||
"Needed for multi-file and folder downloads." => "Kötegelt fájl- vagy mappaletöltéshez szükséges",
|
||||
"Enable ZIP-download" => "A ZIP-letöltés engedélyezése",
|
||||
"0 is unlimited" => "0 = korlátlan",
|
||||
"Maximum input size for ZIP files" => "ZIP file-ok maximum mérete",
|
||||
"Maximum input size for ZIP files" => "ZIP-fájlok maximális kiindulási mérete",
|
||||
"Save" => "Mentés",
|
||||
"New" => "Új",
|
||||
"Text file" => "Szövegfájl",
|
||||
"Folder" => "Mappa",
|
||||
"Upload" => "Feltöltés",
|
||||
"Cancel upload" => "Feltöltés megszakítása",
|
||||
"Nothing in here. Upload something!" => "Töltsön fel egy fájlt.",
|
||||
"From link" => "Feltöltés linkről",
|
||||
"Cancel upload" => "A feltöltés megszakítása",
|
||||
"Nothing in here. Upload something!" => "Itt nincs semmi. Töltsön fel valamit!",
|
||||
"Download" => "Letöltés",
|
||||
"Upload too large" => "Feltöltés túl nagy",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "A fájlokat amit próbálsz feltölteni meghaladta a legnagyobb fájlméretet ezen a szerveren.",
|
||||
"Files are being scanned, please wait." => "File-ok vizsgálata, kis türelmet",
|
||||
"Current scanning" => "Aktuális vizsgálat"
|
||||
"Upload too large" => "A feltöltés túl nagy",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "A feltöltendő állományok mérete meghaladja a kiszolgálón megengedett maximális méretet.",
|
||||
"Files are being scanned, please wait." => "A fájllista ellenőrzése zajlik, kis türelmet!",
|
||||
"Current scanning" => "Ellenőrzés alatt"
|
||||
);
|
||||
|
||||
@ -0,0 +1,70 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Upload" => "Senda inn",
|
||||
"Could not move %s - File with this name already exists" => "Gat ekki fært %s - Skrá með þessu nafni er þegar til",
|
||||
"Could not move %s" => "Gat ekki fært %s",
|
||||
"Unable to rename file" => "Gat ekki endurskýrt skrá",
|
||||
"No file was uploaded. Unknown error" => "Engin skrá var send inn. Óþekkt villa.",
|
||||
"There is no error, the file uploaded with success" => "Engin villa, innsending heppnaðist",
|
||||
"The uploaded file exceeds the upload_max_filesize directive in php.ini: " => "Innsend skrá er stærri en upload_max stillingin í php.ini:",
|
||||
"The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" => "Innsenda skráin er stærri en MAX_FILE_SIZE sem skilgreint er í HTML sniðinu.",
|
||||
"The uploaded file was only partially uploaded" => "Einungis hluti af innsendri skrá skilaði sér",
|
||||
"No file was uploaded" => "Engin skrá skilaði sér",
|
||||
"Missing a temporary folder" => "Vantar bráðabirgðamöppu",
|
||||
"Failed to write to disk" => "Tókst ekki að skrifa á disk",
|
||||
"Not enough space available" => "Ekki nægt pláss tiltækt",
|
||||
"Invalid directory." => "Ógild mappa.",
|
||||
"Files" => "Skrár",
|
||||
"Unshare" => "Hætta deilingu",
|
||||
"Delete" => "Eyða",
|
||||
"Rename" => "Endurskýra",
|
||||
"{new_name} already exists" => "{new_name} er þegar til",
|
||||
"replace" => "yfirskrifa",
|
||||
"suggest name" => "stinga upp á nafni",
|
||||
"cancel" => "hætta við",
|
||||
"replaced {new_name}" => "endurskýrði {new_name}",
|
||||
"undo" => "afturkalla",
|
||||
"replaced {new_name} with {old_name}" => "yfirskrifaði {new_name} með {old_name}",
|
||||
"unshared {files}" => "Hætti við deilingu á {files}",
|
||||
"deleted {files}" => "eyddi {files}",
|
||||
"'.' is an invalid file name." => "'.' er ekki leyfilegt nafn.",
|
||||
"File name cannot be empty." => "Nafn skráar má ekki vera tómt",
|
||||
"Invalid name, '\\', '/', '<', '>', ':', '\"', '|', '?' and '*' are not allowed." => "Ógilt nafn, táknin '\\', '/', '<', '>', ':', '\"', '|', '?' og '*' eru ekki leyfð.",
|
||||
"Unable to upload your file as it is a directory or has 0 bytes" => "Innsending á skrá mistókst, hugsanlega sendir þú möppu eða skráin er 0 bæti.",
|
||||
"Upload Error" => "Villa við innsendingu",
|
||||
"Close" => "Loka",
|
||||
"Pending" => "Bíður",
|
||||
"1 file uploading" => "1 skrá innsend",
|
||||
"{count} files uploading" => "{count} skrár innsendar",
|
||||
"Upload cancelled." => "Hætt við innsendingu.",
|
||||
"File upload is in progress. Leaving the page now will cancel the upload." => "Innsending í gangi. Ef þú ferð af þessari síðu mun innsending misheppnast.",
|
||||
"URL cannot be empty." => "Vefslóð má ekki vera tóm.",
|
||||
"Invalid folder name. Usage of 'Shared' is reserved by Owncloud" => "Óleyfilegt nafn á möppu. Nafnið 'Shared' er frátekið fyrir Owncloud",
|
||||
"{count} files scanned" => "{count} skrár skimaðar",
|
||||
"error while scanning" => "villa við skimun",
|
||||
"Name" => "Nafn",
|
||||
"Size" => "Stærð",
|
||||
"Modified" => "Breytt",
|
||||
"1 folder" => "1 mappa",
|
||||
"{count} folders" => "{count} möppur",
|
||||
"1 file" => "1 skrá",
|
||||
"{count} files" => "{count} skrár",
|
||||
"File handling" => "Meðhöndlun skrár",
|
||||
"Maximum upload size" => "Hámarks stærð innsendingar",
|
||||
"max. possible: " => "hámark mögulegt: ",
|
||||
"Needed for multi-file and folder downloads." => "Nauðsynlegt til að sækja margar skrár og möppur í einu.",
|
||||
"Enable ZIP-download" => "Virkja ZIP niðurhal.",
|
||||
"0 is unlimited" => "0 er ótakmarkað",
|
||||
"Maximum input size for ZIP files" => "Hámarks inntaksstærð fyrir ZIP skrár",
|
||||
"Save" => "Vista",
|
||||
"New" => "Nýtt",
|
||||
"Text file" => "Texta skrá",
|
||||
"Folder" => "Mappa",
|
||||
"From link" => "Af tengli",
|
||||
"Cancel upload" => "Hætta við innsendingu",
|
||||
"Nothing in here. Upload something!" => "Ekkert hér. Settu eitthvað inn!",
|
||||
"Download" => "Niðurhal",
|
||||
"Upload too large" => "Innsend skrá er of stór",
|
||||
"The files you are trying to upload exceed the maximum size for file uploads on this server." => "Skrárnar sem þú ert að senda inn eru stærri en hámarks innsendingarstærð á þessum netþjóni.",
|
||||
"Files are being scanned, please wait." => "Verið er að skima skrár, vinsamlegast hinkraðu.",
|
||||
"Current scanning" => "Er að skima"
|
||||
);
|
||||
@ -1,8 +1,9 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Upload" => "بارکردن",
|
||||
"Close" => "داخستن",
|
||||
"URL cannot be empty." => "ناونیشانی بهستهر نابێت بهتاڵ بێت.",
|
||||
"Name" => "ناو",
|
||||
"Save" => "پاشکهوتکردن",
|
||||
"Folder" => "بوخچه",
|
||||
"Upload" => "بارکردن",
|
||||
"Download" => "داگرتن"
|
||||
);
|
||||
|
||||
@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace OCA\files\lib;
|
||||
|
||||
class Helper
|
||||
{
|
||||
public static function buildFileStorageStatistics($dir) {
|
||||
$l = new \OC_L10N('files');
|
||||
$maxUploadFilesize = \OCP\Util::maxUploadFilesize($dir);
|
||||
$maxHumanFilesize = \OCP\Util::humanFileSize($maxUploadFilesize);
|
||||
$maxHumanFilesize = $l->t('Upload') . ' max. ' . $maxHumanFilesize;
|
||||
|
||||
// information about storage capacities
|
||||
$storageInfo = \OC_Helper::getStorageInfo();
|
||||
|
||||
return array('uploadMaxFilesize' => $maxUploadFilesize,
|
||||
'maxHumanFilesize' => $maxHumanFilesize,
|
||||
'usedSpacePercent' => (int)$storageInfo['relative']);
|
||||
}
|
||||
}
|
||||
@ -1,9 +1,10 @@
|
||||
<?php for($i=0; $i<count($_["breadcrumb"]); $i++):
|
||||
<?php for($i=0; $i<count($_["breadcrumb"]); $i++):
|
||||
$crumb = $_["breadcrumb"][$i];
|
||||
$dir = str_replace('+', '%20', urlencode($crumb["dir"])); ?>
|
||||
<div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg"
|
||||
data-dir='<?php echo $dir;?>'
|
||||
style='background-image:url("<?php echo OCP\image_path('core', 'breadcrumb.png');?>")'>
|
||||
<a href="<?php echo $_['baseURL'].$dir; ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
|
||||
</div>
|
||||
<?php endfor;
|
||||
$dir = str_replace('+', '%20', urlencode($crumb["dir"]));
|
||||
$dir = str_replace('%2F', '/', $dir); ?>
|
||||
<div class="crumb <?php if($i == count($_["breadcrumb"])-1) echo 'last';?> svg"
|
||||
data-dir='<?php echo $dir;?>'
|
||||
style='background-image:url("<?php echo OCP\image_path('core', 'breadcrumb.png');?>")'>
|
||||
<a href="<?php echo $_['baseURL'].$dir; ?>"><?php echo OCP\Util::sanitizeHTML($crumb["name"]); ?></a>
|
||||
</div>
|
||||
<?php endfor;
|
||||
@ -1,70 +1,64 @@
|
||||
<script type="text/javascript">
|
||||
<?php if ( array_key_exists('publicListView', $_) && $_['publicListView'] == true ) :?>
|
||||
var publicListView = true;
|
||||
<script type="text/javascript" src="<?php echo OC_Helper::linkToRoute('publicListView');?>"></script>
|
||||
|
||||
<?php foreach($_['files'] as $file):
|
||||
$simple_file_size = OCP\simple_file_size($file['size']);
|
||||
// the bigger the file, the darker the shade of grey; megabytes*2
|
||||
$simple_size_color = intval(200-$file['size']/(1024*1024)*2);
|
||||
if($simple_size_color<0) $simple_size_color = 0;
|
||||
$relative_modified_date = OCP\relative_modified_date($file['mtime']);
|
||||
// the older the file, the brighter the shade of grey; days*14
|
||||
$relative_date_color = round((time()-$file['mtime'])/60/60/24*14);
|
||||
if($relative_date_color>200) $relative_date_color = 200;
|
||||
$name = str_replace('+', '%20', urlencode($file['name']));
|
||||
$name = str_replace('%2F', '/', $name);
|
||||
$directory = str_replace('+', '%20', urlencode($file['directory']));
|
||||
$directory = str_replace('%2F', '/', $directory); ?>
|
||||
<tr data-id="<?php echo $file['id']; ?>"
|
||||
data-file="<?php echo $name;?>"
|
||||
data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>"
|
||||
data-mime="<?php echo $file['mimetype']?>"
|
||||
data-size='<?php echo $file['size'];?>'
|
||||
data-permissions='<?php echo $file['permissions']; ?>'>
|
||||
<td class="filename svg"
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon('dir'); ?>)"
|
||||
<?php else: ?>
|
||||
var publicListView = false;
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon($file['mimetype']); ?>)"
|
||||
<?php endif; ?>
|
||||
</script>
|
||||
|
||||
<?php foreach($_['files'] as $file):
|
||||
$simple_file_size = OCP\simple_file_size($file['size']);
|
||||
// the bigger the file, the darker the shade of grey; megabytes*2
|
||||
$simple_size_color = intval(200-$file['size']/(1024*1024)*2);
|
||||
if($simple_size_color<0) $simple_size_color = 0;
|
||||
$relative_modified_date = OCP\relative_modified_date($file['mtime']);
|
||||
// the older the file, the brighter the shade of grey; days*14
|
||||
$relative_date_color = round((time()-$file['mtime'])/60/60/24*14);
|
||||
if($relative_date_color>200) $relative_date_color = 200;
|
||||
$name = str_replace('+', '%20', urlencode($file['name']));
|
||||
$name = str_replace('%2F', '/', $name);
|
||||
$directory = str_replace('+', '%20', urlencode($file['directory']));
|
||||
$directory = str_replace('%2F', '/', $directory); ?>
|
||||
<tr data-id="<?php echo $file['id']; ?>"
|
||||
data-file="<?php echo $name;?>"
|
||||
data-type="<?php echo ($file['type'] == 'dir')?'dir':'file'?>"
|
||||
data-mime="<?php echo $file['mimetype']?>"
|
||||
data-size='<?php echo $file['size'];?>'
|
||||
data-permissions='<?php echo $file['permissions']; ?>'>
|
||||
<td class="filename svg"
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon('dir'); ?>)"
|
||||
<?php else: ?>
|
||||
style="background-image:url(<?php echo OCP\mimetype_icon($file['mimetype']); ?>)"
|
||||
<?php endif; ?>
|
||||
>
|
||||
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
<a class="name" href="<?php $_['baseURL'].$directory.'/'.$name; ?>)" title="">
|
||||
<?php else: ?>
|
||||
<a class="name" href="<?php echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">
|
||||
<?php endif; ?>
|
||||
<span class="nametext">
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<?php echo htmlspecialchars($file['name']);?>
|
||||
<?php else:?>
|
||||
<?php echo htmlspecialchars($file['basename']);?><span
|
||||
class='extension'><?php echo $file['extension'];?></span>
|
||||
<?php endif;?>
|
||||
</span>
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<span class="uploadtext" currentUploads="0">
|
||||
</span>
|
||||
<?php endif;?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="filesize"
|
||||
title="<?php echo OCP\human_file_size($file['size']); ?>"
|
||||
style="color:rgb(<?php echo $simple_size_color.','.$simple_size_color.','.$simple_size_color ?>)">
|
||||
<?php echo $simple_file_size; ?>
|
||||
</td>
|
||||
<td class="date">
|
||||
<span class="modified"
|
||||
title="<?php echo $file['date']; ?>"
|
||||
style="color:rgb(<?php echo $relative_date_color.','
|
||||
.$relative_date_color.','
|
||||
.$relative_date_color ?>)">
|
||||
<?php echo $relative_modified_date; ?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;
|
||||
>
|
||||
<?php if(!isset($_['readonly']) || !$_['readonly']): ?><input type="checkbox" /><?php endif; ?>
|
||||
<?php if($file['type'] == 'dir'): ?>
|
||||
<a class="name" href="<?php $_['baseURL'].$directory.'/'.$name; ?>)" title="">
|
||||
<?php else: ?>
|
||||
<a class="name" href="<?php echo $_['downloadURL'].$directory.'/'.$name; ?>" title="">
|
||||
<?php endif; ?>
|
||||
<span class="nametext">
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<?php echo htmlspecialchars($file['name']);?>
|
||||
<?php else:?>
|
||||
<?php echo htmlspecialchars($file['basename']);?><span
|
||||
class='extension'><?php echo $file['extension'];?></span>
|
||||
<?php endif;?>
|
||||
</span>
|
||||
<?php if($file['type'] == 'dir'):?>
|
||||
<span class="uploadtext" currentUploads="0">
|
||||
</span>
|
||||
<?php endif;?>
|
||||
</a>
|
||||
</td>
|
||||
<td class="filesize"
|
||||
title="<?php echo OCP\human_file_size($file['size']); ?>"
|
||||
style="color:rgb(<?php echo $simple_size_color.','.$simple_size_color.','.$simple_size_color ?>)">
|
||||
<?php echo $simple_file_size; ?>
|
||||
</td>
|
||||
<td class="date">
|
||||
<span class="modified"
|
||||
title="<?php echo $file['date']; ?>"
|
||||
style="color:rgb(<?php echo $relative_date_color.','
|
||||
.$relative_date_color.','
|
||||
.$relative_date_color ?>)">
|
||||
<?php echo $relative_modified_date; ?>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
<?php endforeach;
|
||||
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright (c) 2012, Bjoern Schiessle <schiessle@owncloud.com>
|
||||
* This file is licensed under the Affero General Public License version 3 or later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
use OCA\Encryption\Keymanager;
|
||||
|
||||
OCP\JSON::checkAppEnabled('files_encryption');
|
||||
OCP\JSON::checkLoggedIn();
|
||||
OCP\JSON::callCheck();
|
||||
|
||||
$mode = $_POST['mode'];
|
||||
$changePasswd = false;
|
||||
$passwdChanged = false;
|
||||
|
||||
if ( isset($_POST['newpasswd']) && isset($_POST['oldpasswd']) ) {
|
||||
$oldpasswd = $_POST['oldpasswd'];
|
||||
$newpasswd = $_POST['newpasswd'];
|
||||
$changePasswd = true;
|
||||
$passwdChanged = Keymanager::changePasswd($oldpasswd, $newpasswd);
|
||||
}
|
||||
|
||||
$query = \OC_DB::prepare( "SELECT mode FROM *PREFIX*encryption WHERE uid = ?" );
|
||||
$result = $query->execute(array(\OCP\User::getUser()));
|
||||
|
||||
if ($result->fetchRow()){
|
||||
$query = OC_DB::prepare( 'UPDATE *PREFIX*encryption SET mode = ? WHERE uid = ?' );
|
||||
} else {
|
||||
$query = OC_DB::prepare( 'INSERT INTO *PREFIX*encryption ( mode, uid ) VALUES( ?, ? )' );
|
||||
}
|
||||
|
||||
if ( (!$changePasswd || $passwdChanged) && $query->execute(array($mode, \OCP\User::getUser())) ) {
|
||||
OCP\JSON::success();
|
||||
} else {
|
||||
OCP\JSON::error();
|
||||
}
|
||||
@ -1,21 +1,37 @@
|
||||
<?php
|
||||
|
||||
OC::$CLASSPATH['OC_Crypt'] = 'apps/files_encryption/lib/crypt.php';
|
||||
OC::$CLASSPATH['OC_CryptStream'] = 'apps/files_encryption/lib/cryptstream.php';
|
||||
OC::$CLASSPATH['OC_FileProxy_Encryption'] = 'apps/files_encryption/lib/proxy.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Crypt'] = 'apps/files_encryption/lib/crypt.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Hooks'] = 'apps/files_encryption/hooks/hooks.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Util'] = 'apps/files_encryption/lib/util.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Keymanager'] = 'apps/files_encryption/lib/keymanager.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Stream'] = 'apps/files_encryption/lib/stream.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Proxy'] = 'apps/files_encryption/lib/proxy.php';
|
||||
OC::$CLASSPATH['OCA\Encryption\Session'] = 'apps/files_encryption/lib/session.php';
|
||||
|
||||
OC_FileProxy::register(new OC_FileProxy_Encryption());
|
||||
OC_FileProxy::register( new OCA\Encryption\Proxy() );
|
||||
|
||||
OCP\Util::connectHook('OC_User', 'post_login', 'OC_Crypt', 'loginListener');
|
||||
OCP\Util::connectHook( 'OC_User','post_login', 'OCA\Encryption\Hooks', 'login' );
|
||||
OCP\Util::connectHook( 'OC_Webdav_Properties', 'update', 'OCA\Encryption\Hooks', 'updateKeyfile' );
|
||||
OCP\Util::connectHook( 'OC_User','post_setPassword','OCA\Encryption\Hooks' ,'setPassphrase' );
|
||||
|
||||
stream_wrapper_register('crypt', 'OC_CryptStream');
|
||||
stream_wrapper_register( 'crypt', 'OCA\Encryption\Stream' );
|
||||
|
||||
// force the user to re-loggin if the encryption key isn't unlocked
|
||||
// (happens when a user is logged in before the encryption app is enabled)
|
||||
if ( ! isset($_SESSION['enckey']) and OCP\User::isLoggedIn()) {
|
||||
$session = new OCA\Encryption\Session();
|
||||
|
||||
if (
|
||||
! $session->getPrivateKey( \OCP\USER::getUser() )
|
||||
&& OCP\User::isLoggedIn()
|
||||
&& OCA\Encryption\Crypt::mode() == 'server'
|
||||
) {
|
||||
|
||||
// Force the user to re-log in if the encryption key isn't unlocked (happens when a user is logged in before the encryption app is enabled)
|
||||
OCP\User::logout();
|
||||
header("Location: ".OC::$WEBROOT.'/');
|
||||
|
||||
header( "Location: " . OC::$WEBROOT.'/' );
|
||||
|
||||
exit();
|
||||
|
||||
}
|
||||
|
||||
OCP\App::registerAdmin('files_encryption', 'settings');
|
||||
OCP\App::registerAdmin( 'files_encryption', 'settings');
|
||||
OCP\App::registerPersonal( 'files_encryption', 'settings-personal' );
|
||||
@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="ISO-8859-1" ?>
|
||||
<database>
|
||||
<name>*dbname*</name>
|
||||
<create>true</create>
|
||||
<overwrite>false</overwrite>
|
||||
<charset>utf8</charset>
|
||||
<table>
|
||||
<name>*dbprefix*encryption</name>
|
||||
<declaration>
|
||||
<field>
|
||||
<name>uid</name>
|
||||
<type>text</type>
|
||||
<notnull>true</notnull>
|
||||
<length>64</length>
|
||||
</field>
|
||||
<field>
|
||||
<name>mode</name>
|
||||
<type>text</type>
|
||||
<notnull>true</notnull>
|
||||
<length>64</length>
|
||||
</field>
|
||||
</declaration>
|
||||
</table>
|
||||
</database>
|
||||
@ -1 +1 @@
|
||||
0.2
|
||||
0.2.1
|
||||
@ -0,0 +1,143 @@
|
||||
<?php
|
||||
/**
|
||||
* ownCloud
|
||||
*
|
||||
* @author Sam Tuke
|
||||
* @copyright 2012 Sam Tuke samtuke@owncloud.org
|
||||
*
|
||||
* 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/>.
|
||||
*
|
||||
*/
|
||||
|
||||
namespace OCA\Encryption;
|
||||
|
||||
/**
|
||||
* Class for hook specific logic
|
||||
*/
|
||||
|
||||
class Hooks {
|
||||
|
||||
# TODO: use passphrase for encrypting private key that is separate to the login password
|
||||
|
||||
/**
|
||||
* @brief Startup encryption backend upon user login
|
||||
* @note This method should never be called for users using client side encryption
|
||||
*/
|
||||
public static function login( $params ) {
|
||||
|
||||
// if ( Crypt::mode( $params['uid'] ) == 'server' ) {
|
||||
|
||||
# TODO: use lots of dependency injection here
|
||||
|
||||
$view = new \OC_FilesystemView( '/' );
|
||||
|
||||
$util = new Util( $view, $params['uid'] );
|
||||
|
||||
if ( ! $util->ready() ) {
|
||||
|
||||
\OC_Log::write( 'Encryption library', 'User account "' . $params['uid'] . '" is not ready for encryption; configuration started' , \OC_Log::DEBUG );
|
||||
|
||||
return $util->setupServerSide( $params['password'] );
|
||||
|
||||
}
|
||||
|
||||
\OC_FileProxy::$enabled = false;
|
||||
|
||||
$encryptedKey = Keymanager::getPrivateKey( $view, $params['uid'] );
|
||||
|
||||
\OC_FileProxy::$enabled = true;
|
||||
|
||||
# TODO: dont manually encrypt the private keyfile - use the config options of openssl_pkey_export instead for better mobile compatibility
|
||||
|
||||
$privateKey = Crypt::symmetricDecryptFileContent( $encryptedKey, $params['password'] );
|
||||
|
||||
$session = new Session();
|
||||
|
||||
$session->setPrivateKey( $privateKey, $params['uid'] );
|
||||
|
||||
$view1 = new \OC_FilesystemView( '/' . $params['uid'] );
|
||||
|
||||
// Set legacy encryption key if it exists, to support
|
||||
// depreciated encryption system
|
||||
if (
|
||||
$view1->file_exists( 'encryption.key' )
|
||||
&& $legacyKey = $view1->file_get_contents( 'encryption.key' )
|
||||
) {
|
||||
|
||||
$_SESSION['legacyenckey'] = Crypt::legacyDecrypt( $legacyKey, $params['password'] );
|
||||
|
||||
}
|
||||
// }
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Change a user's encryption passphrase
|
||||
* @param array $params keys: uid, password
|
||||
*/
|
||||
public static function setPassphrase( $params ) {
|
||||
|
||||
// Only attempt to change passphrase if server-side encryption
|
||||
// is in use (client-side encryption does not have access to
|
||||
// the necessary keys)
|
||||
if ( Crypt::mode() == 'server' ) {
|
||||
|
||||
// Get existing decrypted private key
|
||||
$privateKey = $_SESSION['privateKey'];
|
||||
|
||||
// Encrypt private key with new user pwd as passphrase
|
||||
$encryptedPrivateKey = Crypt::symmetricEncryptFileContent( $privateKey, $params['password'] );
|
||||
|
||||
// Save private key
|
||||
Keymanager::setPrivateKey( $encryptedPrivateKey );
|
||||
|
||||
# NOTE: Session does not need to be updated as the
|
||||
# private key has not changed, only the passphrase
|
||||
# used to decrypt it has changed
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief update the encryption key of the file uploaded by the client
|
||||
*/
|
||||
public static function updateKeyfile( $params ) {
|
||||
|
||||
if ( Crypt::mode() == 'client' ) {
|
||||
|
||||
if ( isset( $params['properties']['key'] ) ) {
|
||||
|
||||
Keymanager::setFileKey( $params['path'], $params['properties']['key'] );
|
||||
|
||||
} else {
|
||||
|
||||
\OC_Log::write(
|
||||
'Encryption library', "Client side encryption is enabled but the client doesn't provide a encryption key for the file!"
|
||||
, \OC_Log::ERROR
|
||||
);
|
||||
|
||||
error_log( "Client side encryption is enabled but the client doesn't provide an encryption key for the file!" );
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
||||
@ -0,0 +1,38 @@
|
||||
/**
|
||||
* Copyright (c) 2012, Bjoern Schiessle <schiessle@owncloud.com>
|
||||
* This file is licensed under the Affero General Public License version 3 or later.
|
||||
* See the COPYING-README file.
|
||||
*/
|
||||
|
||||
$(document).ready(function(){
|
||||
$('input[name=encryption_mode]').change(function(){
|
||||
var prevmode = document.getElementById('prev_encryption_mode').value
|
||||
var client=$('input[value="client"]:checked').val()
|
||||
,server=$('input[value="server"]:checked').val()
|
||||
,user=$('input[value="user"]:checked').val()
|
||||
,none=$('input[value="none"]:checked').val()
|
||||
if (client) {
|
||||
$.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'client' });
|
||||
if (prevmode == 'server') {
|
||||
OC.dialogs.info(t('encryption', 'Please switch to your ownCloud client and change your encryption password to complete the conversion.'), t('encryption', 'switched to client side encryption'));
|
||||
}
|
||||
} else if (server) {
|
||||
if (prevmode == 'client') {
|
||||
OC.dialogs.form([{text:'Login password', name:'newpasswd', type:'password'},{text:'Encryption password used on the client', name:'oldpasswd', type:'password'}],t('encryption', 'Change encryption password to login password'), function(data) {
|
||||
$.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'server', newpasswd: data[0].value, oldpasswd: data[1].value }, function(result) {
|
||||
if (result.status != 'success') {
|
||||
document.getElementById(prevmode+'_encryption').checked = true;
|
||||
OC.dialogs.alert(t('encryption', 'Please check your passwords and try again.'), t('encryption', 'Could not change your file encryption password to your login password'))
|
||||
} else {
|
||||
console.log("alles super");
|
||||
}
|
||||
}, true);
|
||||
});
|
||||
} else {
|
||||
$.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'server' });
|
||||
}
|
||||
} else {
|
||||
$.post(OC.filePath('files_encryption', 'ajax', 'mode.php'), { mode: 'none' });
|
||||
}
|
||||
})
|
||||
})
|
||||
@ -1,6 +1,5 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "التشفير",
|
||||
"Exclude the following file types from encryption" => "استبعد أنواع الملفات التالية من التشفير",
|
||||
"None" => "لا شيء",
|
||||
"Enable Encryption" => "تفعيل التشفير"
|
||||
"None" => "لا شيء"
|
||||
);
|
||||
|
||||
@ -0,0 +1,5 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "Криптиране",
|
||||
"Exclude the following file types from encryption" => "Изключване на следните файлови типове от криптирането",
|
||||
"None" => "Няма"
|
||||
);
|
||||
@ -0,0 +1,5 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "সংকেতায়ন",
|
||||
"Exclude the following file types from encryption" => "সংকেতায়ন থেকে নিম্নোক্ত ধরণসমূহ বাদ দাও",
|
||||
"None" => "কোনটিই নয়"
|
||||
);
|
||||
@ -1,6 +1,16 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Connecteu-vos al client ownCloud i canvieu la contrasenya d'encriptació per completar la conversió.",
|
||||
"switched to client side encryption" => "s'ha commutat a l'encriptació per part del client",
|
||||
"Change encryption password to login password" => "Canvia la contrasenya d'encriptació per la d'accés",
|
||||
"Please check your passwords and try again." => "Comproveu les contrasenyes i proveu-ho de nou.",
|
||||
"Could not change your file encryption password to your login password" => "No s'ha pogut canviar la contrasenya d'encriptació de fitxers per la d'accés",
|
||||
"Choose encryption mode:" => "Escolliu el mode d'encriptació:",
|
||||
"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Encriptació per part del client (més segura però fa impossible l'accés a les dades des de la interfície web)",
|
||||
"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Encriptació per part del servidor (permet accedir als fitxers des de la interfície web i des del client d'escriptori)",
|
||||
"None (no encryption at all)" => "Cap (sense encriptació)",
|
||||
"Important: Once you selected an encryption mode there is no way to change it back" => "Important: quan seleccioneu un mode d'encriptació no hi ha manera de canviar-lo de nou",
|
||||
"User specific (let the user decide)" => "Específic per usuari (permet que l'usuari ho decideixi)",
|
||||
"Encryption" => "Encriptatge",
|
||||
"Exclude the following file types from encryption" => "Exclou els tipus de fitxers següents de l'encriptatge",
|
||||
"None" => "Cap",
|
||||
"Enable Encryption" => "Activa l'encriptatge"
|
||||
"None" => "Cap"
|
||||
);
|
||||
|
||||
@ -1,6 +1,16 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Please switch to your ownCloud client and change your encryption password to complete the conversion." => "Prosím přejděte na svého klienta ownCloud a nastavte šifrovací heslo pro dokončení konverze.",
|
||||
"switched to client side encryption" => "přepnuto na šifrování na straně klienta",
|
||||
"Change encryption password to login password" => "Změnit šifrovací heslo na přihlašovací",
|
||||
"Please check your passwords and try again." => "Zkontrolujte, prosím, své heslo a zkuste to znovu.",
|
||||
"Could not change your file encryption password to your login password" => "Nelze změnit šifrovací heslo na přihlašovací.",
|
||||
"Choose encryption mode:" => "Vyberte režim šifrování:",
|
||||
"Client side encryption (most secure but makes it impossible to access your data from the web interface)" => "Šifrování na straně klienta (nejbezpečnější ale neumožňuje vám přistupovat k souborům z webového rozhraní)",
|
||||
"Server side encryption (allows you to access your files from the web interface and the desktop client)" => "Šifrování na straně serveru (umožňuje vám přistupovat k souborům pomocí webového rozhraní i aplikací)",
|
||||
"None (no encryption at all)" => "Žádný (vůbec žádné šifrování)",
|
||||
"Important: Once you selected an encryption mode there is no way to change it back" => "Důležité: jak si jednou vyberete režim šifrování nelze jej opětovně změnit",
|
||||
"User specific (let the user decide)" => "Definován uživatelem (umožní uživateli si vybrat)",
|
||||
"Encryption" => "Šifrování",
|
||||
"Exclude the following file types from encryption" => "Při šifrování vynechat následující typy souborů",
|
||||
"None" => "Žádné",
|
||||
"Enable Encryption" => "Povolit šifrování"
|
||||
"None" => "Žádné"
|
||||
);
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "Kryptering",
|
||||
"Exclude the following file types from encryption" => "Ekskluder følgende filtyper fra kryptering",
|
||||
"None" => "Ingen",
|
||||
"Enable Encryption" => "Aktivér kryptering"
|
||||
"None" => "Ingen"
|
||||
);
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "Verschlüsselung",
|
||||
"Exclude the following file types from encryption" => "Die folgenden Dateitypen von der Verschlüsselung ausnehmen",
|
||||
"None" => "Keine",
|
||||
"Enable Encryption" => "Verschlüsselung aktivieren"
|
||||
"None" => "Keine"
|
||||
);
|
||||
|
||||
@ -1,6 +1,8 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Choose encryption mode:" => "Wählen Sie die Verschlüsselungsart:",
|
||||
"None (no encryption at all)" => "Keine (ohne Verschlüsselung)",
|
||||
"User specific (let the user decide)" => "Benutzerspezifisch (der Benutzer kann entscheiden)",
|
||||
"Encryption" => "Verschlüsselung",
|
||||
"Exclude the following file types from encryption" => "Die folgenden Dateitypen von der Verschlüsselung ausnehmen",
|
||||
"None" => "Keine",
|
||||
"Enable Encryption" => "Verschlüsselung aktivieren"
|
||||
"None" => "Keine"
|
||||
);
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Change encryption password to login password" => "Αλλαγή συνθηματικού κρυπτογράφησης στο συνθηματικό εισόδου ",
|
||||
"Please check your passwords and try again." => "Παρακαλώ ελέγξτε το συνθηματικό σας και προσπαθήστε ξανά.",
|
||||
"Could not change your file encryption password to your login password" => "Αδυναμία αλλαγής συνθηματικού κρυπτογράφησης αρχείων στο συνθηματικό εισόδου σας",
|
||||
"Choose encryption mode:" => "Επιλογή κατάστασης κρυπτογράφησης:",
|
||||
"Encryption" => "Κρυπτογράφηση",
|
||||
"Exclude the following file types from encryption" => "Εξαίρεση των παρακάτω τύπων αρχείων από την κρυπτογράφηση",
|
||||
"None" => "Καμία",
|
||||
"Enable Encryption" => "Ενεργοποίηση Κρυπτογράφησης"
|
||||
"None" => "Καμία"
|
||||
);
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "Ĉifrado",
|
||||
"Exclude the following file types from encryption" => "Malinkluzivigi la jenajn dosiertipojn el ĉifrado",
|
||||
"None" => "Nenio",
|
||||
"Enable Encryption" => "Kapabligi ĉifradon"
|
||||
"None" => "Nenio"
|
||||
);
|
||||
|
||||
@ -1,6 +1,5 @@
|
||||
<?php $TRANSLATIONS = array(
|
||||
"Encryption" => "Cifrado",
|
||||
"Exclude the following file types from encryption" => "Excluir del cifrado los siguientes tipos de archivo",
|
||||
"None" => "Ninguno",
|
||||
"Enable Encryption" => "Habilitar cifrado"
|
||||
"None" => "Ninguno"
|
||||
);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue